<?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>172957</bug_id>
          
          <creation_ts>2017-06-05 21:48:43 -0700</creation_ts>
          <short_desc>We should not claim that SpecEmpty is filtered out of cell checks on 64 bit platforms</short_desc>
          <delta_ts>2017-06-12 14:01:57 -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>Safari 10</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>macOS 10.12</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>zhunkibatu</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</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>saam</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>1315892</commentid>
    <comment_count>0</comment_count>
    <who name="">zhunkibatu</who>
    <bug_when>2017-06-05 21:48:43 -0700</bug_when>
    <thetext>the following sample can crash safari 10.1.

class A { };

class B extends A {
    constructor(a, b) {
        var f = () =&gt; b ? this : {};
        if (a) {
            var val = f() == super();
        } else {
            super();
            var val = f();
        }
    }
};

for (var i=0; i &lt; 10000; i++) {
    try {
        new B(true, true);
    } catch (e) {
    }
    var a = new B(false, true);
    var c = new B(true, false);
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316328</commentid>
    <comment_count>1</comment_count>
      <attachid>312144</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-06-06 17:25:28 -0700</bug_when>
    <thetext>Created attachment 312144
crash log</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316329</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-06-06 17:26:12 -0700</bug_when>
    <thetext>Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   ???                           	0x00004e19b5e03ca6 0 + 85872332520614
1   com.apple.JavaScriptCore      	0x00007fff9877bca0 llint_entry + 27522
2   com.apple.JavaScriptCore      	0x00007fff98774f3b vmEntryToJavaScript + 299
3   com.apple.JavaScriptCore      	0x00007fff9865017e JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 158
4   com.apple.JavaScriptCore      	0x00007fff9861dd38 JSC::Interpreter::executeProgram(JSC::SourceCode const&amp;, JSC::ExecState*, JSC::JSObject*) + 15192
5   com.apple.JavaScriptCore      	0x00007fff982e3f31 JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 337
6   com.apple.WebCore             	0x00007fff9db351c9 WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&amp;, WebCore::DOMWrapperWorld&amp;, WebCore::ExceptionDetails*) + 313</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316330</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-06-06 17:26:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/32602704&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316604</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-07 13:18:05 -0700</bug_when>
    <thetext>This bug is really interesting. We have code like this:

```
block#1:
n: GetClosureVar(..., |this|) // this will load empty JSValue()
SetLocal(Cell:@n, locFoo) // Cell check succeeds because JSValue() looks like a cell
Branch(#2, #3)

Block#3:
x: GetLocal(locFoo)
y: CheckNotEmpty(@x)
```

However, AI will think that @x is a cell, hence not empty, and we&apos;ll crash because we eliminate node @y</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316606</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-06-07 13:20:41 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #4)
&gt; This bug is really interesting. We have code like this:
&gt; 
&gt; ```
&gt; block#1:
&gt; n: GetClosureVar(..., |this|) // this will load empty JSValue()
&gt; SetLocal(Cell:@n, locFoo) // Cell check succeeds because JSValue() looks
&gt; like a cell
&gt; Branch(#2, #3)
&gt; 
&gt; Block#3:
&gt; x: GetLocal(locFoo)
&gt; y: CheckNotEmpty(@x)
&gt; ```
&gt; 
&gt; However, AI will think that @x is a cell, hence not empty, and we&apos;ll crash
&gt; because we eliminate node @y

Sounds like AI should model cell checks as admitting empty on 64-bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316617</commentid>
    <comment_count>6</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-07 13:46:28 -0700</bug_when>
    <thetext>(In reply to Filip Pizlo from comment #5)
&gt; (In reply to Saam Barati from comment #4)
&gt; &gt; This bug is really interesting. We have code like this:
&gt; &gt; 
&gt; &gt; ```
&gt; &gt; block#1:
&gt; &gt; n: GetClosureVar(..., |this|) // this will load empty JSValue()
&gt; &gt; SetLocal(Cell:@n, locFoo) // Cell check succeeds because JSValue() looks
&gt; &gt; like a cell
&gt; &gt; Branch(#2, #3)
&gt; &gt; 
&gt; &gt; Block#3:
&gt; &gt; x: GetLocal(locFoo)
&gt; &gt; y: CheckNotEmpty(@x)
&gt; &gt; ```
&gt; &gt; 
&gt; &gt; However, AI will think that @x is a cell, hence not empty, and we&apos;ll crash
&gt; &gt; because we eliminate node @y
&gt; 
&gt; Sounds like AI should model cell checks as admitting empty on 64-bit.

I was thinking of either doing this, or we can change the value representation for TDZ sentinel.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316808</commentid>
    <comment_count>7</comment_count>
      <attachid>312274</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-07 20:56:13 -0700</bug_when>
    <thetext>Created attachment 312274
WIP

still a bunch of assertion failures, I need to audit more code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317026</commentid>
    <comment_count>8</comment_count>
      <attachid>312337</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-08 13:22:49 -0700</bug_when>
    <thetext>Created attachment 312337
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317032</commentid>
    <comment_count>9</comment_count>
      <attachid>312338</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-08 13:39:33 -0700</bug_when>
    <thetext>Created attachment 312338
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317038</commentid>
    <comment_count>10</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-08 13:58:25 -0700</bug_when>
    <thetext>Might be all that&apos;s needed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317041</commentid>
    <comment_count>11</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-08 14:05:14 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #10)
&gt; Might be all that&apos;s needed

it passes release JSC tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317064</commentid>
    <comment_count>12</comment_count>
      <attachid>312338</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-08 14:44:47 -0700</bug_when>
    <thetext>Comment on attachment 312338
WIP

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

New failing tests:
jsc-layout-tests.yaml/js/script-tests/arrowfunction-superproperty.js.layout-dfg-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/class-constructor-return.js.layout-no-cjit
jsc-layout-tests.yaml/js/script-tests/arrowfunction-tdz.js.layout-ftl-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/class-syntax-name.js.layout-dfg-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/arrowfunction-tdz.js.layout
jsc-layout-tests.yaml/js/script-tests/class-syntax-super.js.layout-dfg-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/arrowfunction-supercall.js.layout-no-ftl
jsc-layout-tests.yaml/js/script-tests/class-syntax-super.js.layout
jsc-layout-tests.yaml/js/script-tests/arrowfunction-supercall.js.layout-ftl-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/class-syntax-extends.js.layout-dfg-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/class-syntax-super.js.layout-no-ftl
jsc-layout-tests.yaml/js/script-tests/class-syntax-super.js.layout-ftl-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/arrowfunction-superproperty.js.layout-no-ftl
jsc-layout-tests.yaml/js/script-tests/arrowfunction-supercall.js.layout-no-llint
jsc-layout-tests.yaml/js/script-tests/class-syntax-name.js.layout-no-ftl
jsc-layout-tests.yaml/js/script-tests/class-constructor-return.js.layout
jsc-layout-tests.yaml/js/script-tests/class-syntax-name.js.layout-ftl-no-cjit
jsc-layout-tests.yaml/js/script-tests/arrowfunction-tdz.js.layout-ftl-no-cjit
jsc-layout-tests.yaml/js/script-tests/arrowfunction-supercall.js.layout-no-cjit
jsc-layout-tests.yaml/js/script-tests/class-constructor-return.js.layout-ftl-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/class-syntax-name.js.layout-no-cjit
jsc-layout-tests.yaml/js/script-tests/arrowfunction-supercall.js.layout-ftl-no-cjit
jsc-layout-tests.yaml/js/script-tests/arrowfunction-superproperty.js.layout-ftl-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/arrowfunction-superproperty.js.layout
jsc-layout-tests.yaml/js/script-tests/class-syntax-extends.js.layout
jsc-layout-tests.yaml/js/script-tests/arrowfunction-tdz.js.layout-no-llint
jsc-layout-tests.yaml/js/script-tests/arrowfunction-tdz.js.layout-dfg-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/arrowfunction-superproperty.js.layout-no-cjit
jsc-layout-tests.yaml/js/script-tests/arrowfunction-tdz.js.layout-no-ftl
jsc-layout-tests.yaml/js/script-tests/arrowfunction-tdz.js.layout-no-cjit
jsc-layout-tests.yaml/js/script-tests/class-syntax-extends.js.layout-ftl-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/class-constructor-return.js.layout-dfg-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/arrowfunction-superproperty.js.layout-ftl-no-cjit
jsc-layout-tests.yaml/js/script-tests/class-syntax-extends.js.layout-ftl-no-cjit
jsc-layout-tests.yaml/js/script-tests/class-syntax-extends.js.layout-no-llint
jsc-layout-tests.yaml/js/script-tests/class-constructor-return.js.layout-no-ftl
jsc-layout-tests.yaml/js/script-tests/arrowfunction-supercall.js.layout-dfg-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/class-syntax-name.js.layout-no-llint
jsc-layout-tests.yaml/js/script-tests/class-syntax-name.js.layout-ftl-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/arrowfunction-supercall.js.layout
jsc-layout-tests.yaml/js/script-tests/class-syntax-super.js.layout-no-cjit
jsc-layout-tests.yaml/js/script-tests/class-syntax-name.js.layout
jsc-layout-tests.yaml/js/script-tests/class-syntax-super.js.layout-no-llint
jsc-layout-tests.yaml/js/script-tests/class-syntax-extends.js.layout-no-ftl
jsc-layout-tests.yaml/js/script-tests/arrowfunction-superproperty.js.layout-no-llint
jsc-layout-tests.yaml/js/script-tests/class-syntax-extends.js.layout-no-cjit
jsc-layout-tests.yaml/js/script-tests/class-syntax-super.js.layout-ftl-no-cjit
jsc-layout-tests.yaml/js/script-tests/class-constructor-return.js.layout-ftl-no-cjit
jsc-layout-tests.yaml/js/script-tests/class-constructor-return.js.layout-no-llint</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317108</commentid>
    <comment_count>13</comment_count>
      <attachid>312357</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-08 15:44:42 -0700</bug_when>
    <thetext>Created attachment 312357
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317121</commentid>
    <comment_count>14</comment_count>
      <attachid>312357</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-08 16:24:38 -0700</bug_when>
    <thetext>Comment on attachment 312357
patch

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

&gt; Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:134
&gt; +    WTFReportBacktrace();

oops, this should be removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317125</commentid>
    <comment_count>15</comment_count>
      <attachid>312359</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-08 16:30:07 -0700</bug_when>
    <thetext>Created attachment 312359
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317129</commentid>
    <comment_count>16</comment_count>
      <attachid>312361</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-08 16:51:38 -0700</bug_when>
    <thetext>Created attachment 312361
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317140</commentid>
    <comment_count>17</comment_count>
      <attachid>312361</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-08 17:12:31 -0700</bug_when>
    <thetext>Comment on attachment 312361
patch

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

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:13447
&gt; +        FTL_TYPE_CHECK(jsValueValue(cell), edge, SpecSymbol, isNotSymbol(cell));

We can go either way for all these various speculateX functions. They all do lowCell prior to being called, so we&apos;re guaranteed that ~SpecCell is not in the set. However, we could leave this code as is (this is how the DFG writes many of its speculation checks). This would leave these functions open to folks doing their own manual checks that haven&apos;t updated AI state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317142</commentid>
    <comment_count>18</comment_count>
      <attachid>312361</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-08 17:15:33 -0700</bug_when>
    <thetext>Comment on attachment 312361
patch

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

&gt;&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:13447
&gt;&gt; +        FTL_TYPE_CHECK(jsValueValue(cell), edge, SpecSymbol, isNotSymbol(cell));
&gt; 
&gt; We can go either way for all these various speculateX functions. They all do lowCell prior to being called, so we&apos;re guaranteed that ~SpecCell is not in the set. However, we could leave this code as is (this is how the DFG writes many of its speculation checks). This would leave these functions open to folks doing their own manual checks that haven&apos;t updated AI state.

Alternatively, we could assert against the current state of things. So if folks started using this in the way described above, they&apos;d hit the assert, and be forced to write the more general version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317709</commentid>
    <comment_count>19</comment_count>
      <attachid>312361</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-06-09 16:50:36 -0700</bug_when>
    <thetext>Comment on attachment 312361
patch

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

I think it&apos;s correct, but I think there are two style goofs:

- The cellCheckTypePassthrough is not specific to the DFG - it&apos;s just how cell checks work everywhere, including LLInt, Baseline, and JSValue.  I think it should be defined in SpeculatedType.h and follow the same naming convention as everything else (so SpecCellBlahBlah).

- There seem to be places where you don&apos;t use this type constant and instead you introduce #if&apos;s.  You should probably use the constant you introduced.

&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:63
&gt; +// When doing a cell check, this is the type that passes through
&gt; +static constexpr SpeculatedType cellCheckTypePassthrough = is64Bit() ? SpecCellOrEmpty : SpecCell;
&gt; +

I think this should be SpecCellCheck, defined in SpeculatedType.h.  Even JSValue&apos;s isCell() has this issue, so it&apos;s not DFG-specific.

I&apos;d call it SpecCellCheck, but I&apos;m also OK with SpecCellChekTypePassthrough, or whatever.  Shorter names are better IMO, but I don&apos;t care too much.  I care more about this not being DFG-specific, and being named SpecBlah like all the other SpeculatedType constants.

&gt; Source/JavaScriptCore/dfg/DFGUseKind.h:120
&gt; +#if USE(JSVALUE64)
&gt; +        return SpecCellOrEmpty;
&gt; +#else
&gt; +        return SpecCell;
&gt; +#endif

Shouldn&apos;t this use SpecCellCheck, or whatever it ends up being called?

&gt; Source/JavaScriptCore/dfg/DFGUseKind.h:128
&gt; +#if USE(JSVALUE64)
&gt; +        return SpecCellOrEmpty | SpecOther;
&gt; +#else
&gt;          return SpecCell | SpecOther;
&gt; +#endif

Ditto.

&gt; Source/JavaScriptCore/dfg/DFGUseKind.h:171
&gt; +#if USE(JSVALUE64)
&gt; +        return ~SpecCellOrEmpty;
&gt; +#else
&gt;          return ~SpecCell;
&gt; +#endif

Ditto.

&gt;&gt;&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:13447
&gt;&gt;&gt; +        FTL_TYPE_CHECK(jsValueValue(cell), edge, SpecSymbol, isNotSymbol(cell));
&gt;&gt; 
&gt;&gt; We can go either way for all these various speculateX functions. They all do lowCell prior to being called, so we&apos;re guaranteed that ~SpecCell is not in the set. However, we could leave this code as is (this is how the DFG writes many of its speculation checks). This would leave these functions open to folks doing their own manual checks that haven&apos;t updated AI state.
&gt; 
&gt; Alternatively, we could assert against the current state of things. So if folks started using this in the way described above, they&apos;d hit the assert, and be forced to write the more general version.

I guess speculateSymbol was modeled after speculateString.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318044</commentid>
    <comment_count>20</comment_count>
      <attachid>312617</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-11 14:03:07 -0700</bug_when>
    <thetext>Created attachment 312617
patch

Addressed Fil&apos;s comments. I also like the name &quot;SpecCellCheck&quot;, and decided to use that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318358</commentid>
    <comment_count>21</comment_count>
      <attachid>312617</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-12 14:01:55 -0700</bug_when>
    <thetext>Comment on attachment 312617
patch

Clearing flags on attachment: 312617

Committed r218137: &lt;http://trac.webkit.org/changeset/218137&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318359</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-12 14:01:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>312144</attachid>
            <date>2017-06-06 17:25:28 -0700</date>
            <delta_ts>2017-06-06 17:25:28 -0700</delta_ts>
            <desc>crash log</desc>
            <filename>com.apple.WebKit.WebContent_2017-06-06-172418_R13.crash</filename>
            <type>text/plain</type>
            <size>95081</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">UHJvY2VzczogICAgICAgICAgICAgICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgWzE3NTBd
ClBhdGg6ICAgICAgICAgICAgICAgICAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0
LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29u
dGVudC54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50CklkZW50
aWZpZXI6ICAgICAgICAgICAgY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50ClZlcnNpb246ICAg
ICAgICAgICAgICAgMTI2MDMgKDEyNjAzLjIuNCkKQnVpbGQgSW5mbzogICAgICAgICAgICBXZWJL
aXQyLTc2MDMwMDIwMDQwMDAwMDB+NApDb2RlIFR5cGU6ICAgICAgICAgICAgIFg4Ni02NCAoTmF0
aXZlKQpQYXJlbnQgUHJvY2VzczogICAgICAgID8/PyBbMV0KUmVzcG9uc2libGU6ICAgICAgICAg
ICBTYWZhcmkgWzM4MV0KVXNlciBJRDogICAgICAgICAgICAgICA1MDEKCkRhdGUvVGltZTogICAg
ICAgICAgICAgMjAxNy0wNi0wNiAxNzoyNDoxMy4wMDEgLTA3MDAKT1MgVmVyc2lvbjogICAgICAg
ICAgICBNYWMgT1MgWCAxMC4xMi41ICgxNkY3MykKUmVwb3J0IFZlcnNpb246ICAgICAgICAxMgpB
bm9ueW1vdXMgVVVJRDogICAgICAgIEY4RjM0QjZBLTBGNkUtODY0MC0xRjlGLTM1RTg2RUQ5MjIw
QQoKClRpbWUgQXdha2UgU2luY2UgQm9vdDogMjAwMDAgc2Vjb25kcwoKU3lzdGVtIEludGVncml0
eSBQcm90ZWN0aW9uOiBlbmFibGVkCgpDcmFzaGVkIFRocmVhZDogICAgICAgIDAgIERpc3BhdGNo
IHF1ZXVlOiBjb20uYXBwbGUubWFpbi10aHJlYWQKCkV4Y2VwdGlvbiBUeXBlOiAgICAgICAgRVhD
X0JBRF9BQ0NFU1MgKFNJR1NFR1YpCkV4Y2VwdGlvbiBDb2RlczogICAgICAgS0VSTl9JTlZBTElE
X0FERFJFU1MgYXQgMHgwMDAwMDAwMDAwMDAwMDA1CkV4Y2VwdGlvbiBOb3RlOiAgICAgICAgRVhD
X0NPUlBTRV9OT1RJRlkKClRlcm1pbmF0aW9uIFNpZ25hbDogICAgU2VnbWVudGF0aW9uIGZhdWx0
OiAxMQpUZXJtaW5hdGlvbiBSZWFzb246ICAgIE5hbWVzcGFjZSBTSUdOQUwsIENvZGUgMHhiClRl
cm1pbmF0aW5nIFByb2Nlc3M6ICAgZXhjIGhhbmRsZXIgWzBdCgpWTSBSZWdpb25zIE5lYXIgMHg1
OgotLT4gCiAgICBfX1RFWFQgICAgICAgICAgICAgICAgIDAwMDAwMDAxMDQ2MWYwMDAtMDAwMDAw
MDEwNDYyMTAwMCBbICAgIDhLXSByLXgvcnd4IFNNPUNPVyAgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1l
d29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1hQQ1NlcnZpY2VzL2NvbS5hcHBsZS5X
ZWJLaXQuV2ViQ29udGVudC54cGMvQ29udGVudHMvTWFjT1MvY29tLmFwcGxlLldlYktpdC5XZWJD
b250ZW50CgpBcHBsaWNhdGlvbiBTcGVjaWZpYyBJbmZvcm1hdGlvbjoKQnVuZGxlIGNvbnRyb2xs
ZXIgY2xhc3M6CkJyb3dzZXJCdW5kbGVDb250cm9sbGVyCiAKClRocmVhZCAwIENyYXNoZWQ6OiBE
aXNwYXRjaCBxdWV1ZTogY29tLmFwcGxlLm1haW4tdGhyZWFkCjAgICA/Pz8gICAgICAgICAgICAg
ICAgICAgICAgICAgICAJMHgwMDAwNGUxOWI1ZTAzY2E2IDAgKyA4NTg3MjMzMjUyMDYxNAoxICAg
Y29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAwMDdmZmY5ODc3YmNhMCBsbGludF9l
bnRyeSArIDI3NTIyCjIgICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDAwN2Zm
Zjk4Nzc0ZjNiIHZtRW50cnlUb0phdmFTY3JpcHQgKyAyOTkKMyAgIGNvbS5hcHBsZS5KYXZhU2Ny
aXB0Q29yZSAgICAgIAkweDAwMDA3ZmZmOTg2NTAxN2UgSlNDOjpKSVRDb2RlOjpleGVjdXRlKEpT
Qzo6Vk0qLCBKU0M6OlByb3RvQ2FsbEZyYW1lKikgKyAxNTgKNCAgIGNvbS5hcHBsZS5KYXZhU2Ny
aXB0Q29yZSAgICAgIAkweDAwMDA3ZmZmOTg2MWRkMzggSlNDOjpJbnRlcnByZXRlcjo6ZXhlY3V0
ZVByb2dyYW0oSlNDOjpTb3VyY2VDb2RlIGNvbnN0JiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpT
T2JqZWN0KikgKyAxNTE5Mgo1ICAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAw
MDdmZmY5ODJlM2YzMSBKU0M6OmV2YWx1YXRlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpTb3VyY2VD
b2RlIGNvbnN0JiwgSlNDOjpKU1ZhbHVlLCBXVEY6Ok5ha2VkUHRyPEpTQzo6RXhjZXB0aW9uPiYp
ICsgMzM3CjYgICBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAgICAgICAJMHgwMDAwN2ZmZjlkYjM1
MWM5IFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5Xb3JsZChXZWJDb3JlOjpT
Y3JpcHRTb3VyY2VDb2RlIGNvbnN0JiwgV2ViQ29yZTo6RE9NV3JhcHBlcldvcmxkJiwgV2ViQ29y
ZTo6RXhjZXB0aW9uRGV0YWlscyopICsgMzEzCjcgICBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAg
ICAgICAJMHgwMDAwN2ZmZjlkYjNhOGY4IFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OmV4ZWN1dGVD
bGFzc2ljU2NyaXB0KFdlYkNvcmU6OlNjcmlwdFNvdXJjZUNvZGUgY29uc3QmKSArIDU2OAo4ICAg
Y29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4MDAwMDdmZmY5Y2QwNDRlMiBXZWJDb3Jl
OjpTY3JpcHRFbGVtZW50OjpwcmVwYXJlU2NyaXB0KFdURjo6VGV4dFBvc2l0aW9uIGNvbnN0Jiwg
V2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6TGVnYWN5VHlwZVN1cHBvcnQpICsgMTEwNgo5ICAgY29t
LmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4MDAwMDdmZmY5Y2QwM2QzOSBXZWJDb3JlOjpI
VE1MU2NyaXB0UnVubmVyOjpydW5TY3JpcHQoV2ViQ29yZTo6RWxlbWVudCosIFdURjo6VGV4dFBv
c2l0aW9uIGNvbnN0JikgKyAxMDUKMTAgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAgICAgIAkw
eDAwMDA3ZmZmOWNkMDNjMmYgV2ViQ29yZTo6SFRNTFNjcmlwdFJ1bm5lcjo6ZXhlY3V0ZShXVEY6
OlBhc3NSZWZQdHI8V2ViQ29yZTo6RWxlbWVudD4sIFdURjo6VGV4dFBvc2l0aW9uIGNvbnN0Jikg
KyA0NwoxMSAgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4MDAwMDdmZmY5Y2QwM2Iz
OSBXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OnJ1blNjcmlwdHNGb3JQYXVzZWRUcmVlQnVp
bGRlcigpICsgMjE3CjEyICBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAgICAgICAJMHgwMDAwN2Zm
ZjlkMmI5OTRkIFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6cHVtcFRva2VuaXplckxvb3Ao
V2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjpTeW5jaHJvbm91c01vZGUsIGJvb2wsIFdlYkNv
cmU6OlB1bXBTZXNzaW9uJikgKyA2NjkKMTMgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAgICAg
IAkweDAwMDA3ZmZmOWNjYjczMzMgV2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjpwdW1wVG9r
ZW5pemVyKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6U3luY2hyb25vdXNNb2RlKSArIDEx
NQoxNCAgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4MDAwMDdmZmY5ZDJiOWU2MSBX
ZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OmFwcGVuZChXVEY6OlJlZlB0cjxXVEY6OlN0cmlu
Z0ltcGw+JiYpICsgNDgxCjE1ICBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAgICAgICAJMHgwMDAw
N2ZmZjlkMGUxMjRjIFdlYkNvcmU6OkRlY29kZWREYXRhRG9jdW1lbnRQYXJzZXI6OmZsdXNoKFdl
YkNvcmU6OkRvY3VtZW50V3JpdGVyJikgKyA5MgoxNiAgY29tLmFwcGxlLldlYkNvcmUgICAgICAg
ICAgICAgCTB4MDAwMDdmZmY5Y2NiNjQ4YiBXZWJDb3JlOjpEb2N1bWVudFdyaXRlcjo6ZW5kKCkg
KyA0MwoxNyAgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4MDAwMDdmZmY5Y2NhODk4
YyBXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6ZmluaXNoZWRMb2FkaW5nKGRvdWJsZSkgKyAyNjgK
MTggIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAgICAgIAkweDAwMDA3ZmZmOWNkMGRhNWQgV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2U6OmNoZWNrTm90aWZ5KCkgKyAxNTcKMTkgIGNvbS5hcHBsZS5X
ZWJDb3JlICAgICAgICAgICAgIAkweDAwMDA3ZmZmOWNmNmMxMzAgV2ViQ29yZTo6Q2FjaGVkUmF3
UmVzb3VyY2U6OmZpbmlzaExvYWRpbmcoV2ViQ29yZTo6U2hhcmVkQnVmZmVyKikgKyAyMjQKMjAg
IGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAgICAgIAkweDAwMDA3ZmZmOWNkMGQ4MzMgV2ViQ29y
ZTo6U3VicmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcoZG91YmxlKSArIDEyNjcKMjEg
IGNvbS5hcHBsZS5XZWJLaXQgICAgICAgICAgICAgIAkweDAwMDA3ZmZmOWUyMTdmYzggV2ViS2l0
OjpXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSkgKyAyMTIK
MjIgIGNvbS5hcHBsZS5XZWJLaXQgICAgICAgICAgICAgIAkweDAwMDA3ZmZmOWU0ODYxZDIgV2Vi
S2l0OjpXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVdlYlJlc291cmNlTG9hZGVyTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSArIDM2MgoyMyAgY29tLmFwcGxlLldl
YktpdCAgICAgICAgICAgICAgCTB4MDAwMDdmZmY5ZTI5NWEyOSBJUEM6OkNvbm5lY3Rpb246OmRp
c3BhdGNoTWVzc2FnZShzdGQ6Ol9fMTo6dW5pcXVlX3B0cjxJUEM6OkRlY29kZXIsIHN0ZDo6X18x
OjpkZWZhdWx0X2RlbGV0ZTxJUEM6OkRlY29kZXI+ID4pICsgMTE5CjI0ICBjb20uYXBwbGUuV2Vi
S2l0ICAgICAgICAgICAgICAJMHgwMDAwN2ZmZjllMjk4NmJkIElQQzo6Q29ubmVjdGlvbjo6ZGlz
cGF0Y2hPbmVNZXNzYWdlKCkgKyAxNzUKMjUgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAg
IAkweDAwMDA3ZmZmOTg5OWM1NGQgV1RGOjpSdW5Mb29wOjpwZXJmb3JtV29yaygpICsgMzMzCjI2
ICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDAwN2ZmZjk4OTljNzYyIFdURjo6
UnVuTG9vcDo6cGVyZm9ybVdvcmsodm9pZCopICsgMzQKMjcgIGNvbS5hcHBsZS5Db3JlRm91bmRh
dGlvbiAgICAgIAkweDAwMDA3ZmZmOTU5YTUzZTEgX19DRlJVTkxPT1BfSVNfQ0FMTElOR19PVVRf
VE9fQV9TT1VSQ0UwX1BFUkZPUk1fRlVOQ1RJT05fXyArIDE3CjI4ICBjb20uYXBwbGUuQ29yZUZv
dW5kYXRpb24gICAgICAJMHgwMDAwN2ZmZjk1OTg2NjVjIF9fQ0ZSdW5Mb29wRG9Tb3VyY2VzMCAr
IDU1NgoyOSAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uICAgICAgCTB4MDAwMDdmZmY5NTk4NWI0
NiBfX0NGUnVuTG9vcFJ1biArIDkzNAozMCAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uICAgICAg
CTB4MDAwMDdmZmY5NTk4NTU0NCBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDQyMAozMSAgY29tLmFw
cGxlLkhJVG9vbGJveCAgICAgICAgICAgCTB4MDAwMDdmZmY5NGVlNWViYyBSdW5DdXJyZW50RXZl
bnRMb29wSW5Nb2RlICsgMjQwCjMyICBjb20uYXBwbGUuSElUb29sYm94ICAgICAgICAgICAJMHgw
MDAwN2ZmZjk0ZWU1Y2YxIFJlY2VpdmVOZXh0RXZlbnRDb21tb24gKyA0MzIKMzMgIGNvbS5hcHBs
ZS5ISVRvb2xib3ggICAgICAgICAgIAkweDAwMDA3ZmZmOTRlZTViMjYgX0Jsb2NrVW50aWxOZXh0
RXZlbnRNYXRjaGluZ0xpc3RJbk1vZGVXaXRoRmlsdGVyICsgNzEKMzQgIGNvbS5hcHBsZS5BcHBL
aXQgICAgICAgICAgICAgIAkweDAwMDA3ZmZmOTM0N2VhNTQgX0RQU05leHRFdmVudCArIDExMjAK
MzUgIGNvbS5hcHBsZS5BcHBLaXQgICAgICAgICAgICAgIAkweDAwMDA3ZmZmOTNiZmE3ZWUgLVtO
U0FwcGxpY2F0aW9uKE5TRXZlbnQpIF9uZXh0RXZlbnRNYXRjaGluZ0V2ZW50TWFzazp1bnRpbERh
dGU6aW5Nb2RlOmRlcXVldWU6XSArIDI3OTYKMzYgIGNvbS5hcHBsZS5BcHBLaXQgICAgICAgICAg
ICAgIAkweDAwMDA3ZmZmOTM0NzMzZGIgLVtOU0FwcGxpY2F0aW9uIHJ1bl0gKyA5MjYKMzcgIGNv
bS5hcHBsZS5BcHBLaXQgICAgICAgICAgICAgIAkweDAwMDA3ZmZmOTM0M2RlMGUgTlNBcHBsaWNh
dGlvbk1haW4gKyAxMjM3CjM4ICBsaWJ4cGMuZHlsaWIgICAgICAgICAgICAgICAgICAJMHgwMDAw
N2ZmZmFiOTBjOGM3IF94cGNfb2JqY19tYWluICsgNzc1CjM5ICBsaWJ4cGMuZHlsaWIgICAgICAg
ICAgICAgICAgICAJMHgwMDAwN2ZmZmFiOTBiMmU0IHhwY19tYWluICsgNDk0CjQwICBjb20uYXBw
bGUuV2ViS2l0LldlYkNvbnRlbnQgICAJMHgwMDAwMDAwMTA0NjIwN2EyIDB4MTA0NjFmMDAwICsg
NjA1MAo0MSAgbGliZHlsZC5keWxpYiAgICAgICAgICAgICAgICAgCTB4MDAwMDdmZmZhYjZiMzIz
NSBzdGFydCArIDEKClRocmVhZCAxOgowICAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAgICAgICAg
CTB4MDAwMDdmZmZhYjdlMjQ0ZSBfX3dvcmtxX2tlcm5yZXR1cm4gKyAxMAoxICAgbGlic3lzdGVt
X3B0aHJlYWQuZHlsaWIgICAgICAgCTB4MDAwMDdmZmZhYjhjYzQ4ZSBfcHRocmVhZF93cXRocmVh
ZCArIDEwMjMKMiAgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICAgICAgIAkweDAwMDA3ZmZmYWI4
Y2MwN2Qgc3RhcnRfd3F0aHJlYWQgKyAxMwoKVGhyZWFkIDI6CjAgICBsaWJzeXN0ZW1fa2VybmVs
LmR5bGliICAgICAgICAJMHgwMDAwN2ZmZmFiN2UyNDRlIF9fd29ya3Ffa2VybnJldHVybiArIDEw
CjEgICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAgICAgICAJMHgwMDAwN2ZmZmFiOGNjNDhlIF9w
dGhyZWFkX3dxdGhyZWFkICsgMTAyMwoyICAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgICAgICAg
CTB4MDAwMDdmZmZhYjhjYzA3ZCBzdGFydF93cXRocmVhZCArIDEzCgpUaHJlYWQgMzoKMCAgIGxp
YnN5c3RlbV9rZXJuZWwuZHlsaWIgICAgICAgIAkweDAwMDA3ZmZmYWI3ZTI0NGUgX193b3JrcV9r
ZXJucmV0dXJuICsgMTAKMSAgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICAgICAgIAkweDAwMDA3
ZmZmYWI4Y2M0OGUgX3B0aHJlYWRfd3F0aHJlYWQgKyAxMDIzCjIgICBsaWJzeXN0ZW1fcHRocmVh
ZC5keWxpYiAgICAgICAJMHgwMDAwN2ZmZmFiOGNjMDdkIHN0YXJ0X3dxdGhyZWFkICsgMTMKClRo
cmVhZCA0OgowICAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAgICAgICAgCTB4MDAwMDdmZmZhYjdl
MjQ0ZSBfX3dvcmtxX2tlcm5yZXR1cm4gKyAxMAoxICAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIg
ICAgICAgCTB4MDAwMDdmZmZhYjhjYzYyMSBfcHRocmVhZF93cXRocmVhZCArIDE0MjYKMiAgIGxp
YnN5c3RlbV9wdGhyZWFkLmR5bGliICAgICAgIAkweDAwMDA3ZmZmYWI4Y2MwN2Qgc3RhcnRfd3F0
aHJlYWQgKyAxMwoKVGhyZWFkIDU6OiBjb20uYXBwbGUuTlNFdmVudFRocmVhZAowICAgbGlic3lz
dGVtX2tlcm5lbC5keWxpYiAgICAgICAgCTB4MDAwMDdmZmZhYjdkYTM0YSBtYWNoX21zZ190cmFw
ICsgMTAKMSAgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgICAgICAgIAkweDAwMDA3ZmZmYWI3ZDk3
OTcgbWFjaF9tc2cgKyA1NQoyICAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uICAgICAgCTB4MDAw
MDdmZmY5NTk4Njg3NCBfX0NGUnVuTG9vcFNlcnZpY2VNYWNoUG9ydCArIDIxMgozICAgY29tLmFw
cGxlLkNvcmVGb3VuZGF0aW9uICAgICAgCTB4MDAwMDdmZmY5NTk4NWNmMSBfX0NGUnVuTG9vcFJ1
biArIDEzNjEKNCAgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiAgICAgIAkweDAwMDA3ZmZmOTU5
ODU1NDQgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA0MjAKNSAgIGNvbS5hcHBsZS5BcHBLaXQgICAg
ICAgICAgICAgIAkweDAwMDA3ZmZmOTM1Y2JmMDIgX05TRXZlbnRUaHJlYWQgKyAyMDUKNiAgIGxp
YnN5c3RlbV9wdGhyZWFkLmR5bGliICAgICAgIAkweDAwMDA3ZmZmYWI4Y2M5M2IgX3B0aHJlYWRf
Ym9keSArIDE4MAo3ICAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgICAgICAgCTB4MDAwMDdmZmZh
YjhjYzg4NyBfcHRocmVhZF9zdGFydCArIDI4Ngo4ICAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIg
ICAgICAgCTB4MDAwMDdmZmZhYjhjYzA4ZCB0aHJlYWRfc3RhcnQgKyAxMwoKVGhyZWFkIDY6CjAg
ICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICAgICAgICAJMHgwMDAwN2ZmZmFiN2UxZjQ2IF9fc2Vt
d2FpdF9zaWduYWwgKyAxMAoxICAgbGlic3lzdGVtX2MuZHlsaWIgICAgICAgICAgICAgCTB4MDAw
MDdmZmZhYjc2OGI3MiBuYW5vc2xlZXAgKyAxOTkKMiAgIGxpYmMrKy4xLmR5bGliICAgICAgICAg
ICAgICAgIAkweDAwMDA3ZmZmYWEyOTE2NWIgc3RkOjpfXzE6OnRoaXNfdGhyZWFkOjpzbGVlcF9m
b3Ioc3RkOjpfXzE6OmNocm9ubzo6ZHVyYXRpb248bG9uZyBsb25nLCBzdGQ6Ol9fMTo6cmF0aW88
MWwsIDEwMDAwMDAwMDBsPiA+IGNvbnN0JikgKyA4MAozICAgY29tLmFwcGxlLkphdmFTY3JpcHRD
b3JlICAgICAgCTB4MDAwMDdmZmY5ODliMjIzZiB2b2lkIHN0ZDo6X18xOjp0aGlzX3RocmVhZDo6
c2xlZXBfZm9yPGxvbmcgbG9uZywgc3RkOjpfXzE6OnJhdGlvPDFsLCAxMDAwbD4gPihzdGQ6Ol9f
MTo6Y2hyb25vOjpkdXJhdGlvbjxsb25nIGxvbmcsIHN0ZDo6X18xOjpyYXRpbzwxbCwgMTAwMGw+
ID4gY29uc3QmKSArIDYzCjQgICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDAw
N2ZmZjk4OWIxMTIxIGJtYWxsb2M6OndhaXRVbnRpbEZhbHNlKHN0ZDo6X18xOjp1bmlxdWVfbG9j
azxibWFsbG9jOjpTdGF0aWNNdXRleD4mLCBzdGQ6Ol9fMTo6Y2hyb25vOjpkdXJhdGlvbjxsb25n
IGxvbmcsIHN0ZDo6X18xOjpyYXRpbzwxbCwgMTAwMGw+ID4sIGJvb2wmKSArIDExMwo1ICAgY29t
LmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAwMDdmZmY5ODliMGY3MCBibWFsbG9jOjpI
ZWFwOjpzY2F2ZW5nZShzdGQ6Ol9fMTo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6U3RhdGljTXV0ZXg+
Jiwgc3RkOjpfXzE6OmNocm9ubzo6ZHVyYXRpb248bG9uZyBsb25nLCBzdGQ6Ol9fMTo6cmF0aW88
MWwsIDEwMDBsPiA+KSArIDQ4CjYgICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgw
MDAwN2ZmZjk4OWIwZTA2IGJtYWxsb2M6OkhlYXA6OmNvbmN1cnJlbnRTY2F2ZW5nZSgpICsgMTAy
CjcgICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDAwN2ZmZjk4OWIyNDkxIGJt
YWxsb2M6OkFzeW5jVGFzazxibWFsbG9jOjpIZWFwLCB2b2lkIChibWFsbG9jOjpIZWFwOjoqKSgp
Pjo6dGhyZWFkUnVuTG9vcCgpICsgOTcKOCAgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAg
IAkweDAwMDA3ZmZmOTg5YjIzOWQgYm1hbGxvYzo6QXN5bmNUYXNrPGJtYWxsb2M6OkhlYXAsIHZv
aWQgKGJtYWxsb2M6OkhlYXA6OiopKCk+Ojp0aHJlYWRFbnRyeVBvaW50KGJtYWxsb2M6OkFzeW5j
VGFzazxibWFsbG9jOjpIZWFwLCB2b2lkIChibWFsbG9jOjpIZWFwOjoqKSgpPiopICsgMjkKOSAg
IGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMDA3ZmZmOTg5YjI2NGQgdm9pZCog
c3RkOjpfXzE6Ol9fdGhyZWFkX3Byb3h5PHN0ZDo6X18xOjp0dXBsZTx2b2lkICgqKShibWFsbG9j
OjpBc3luY1Rhc2s8Ym1hbGxvYzo6SGVhcCwgdm9pZCAoYm1hbGxvYzo6SGVhcDo6KikoKT4qKSwg
Ym1hbGxvYzo6QXN5bmNUYXNrPGJtYWxsb2M6OkhlYXAsIHZvaWQgKGJtYWxsb2M6OkhlYXA6Oiop
KCk+Kj4gPih2b2lkKikgKyA5MwoxMCAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgICAgICAgCTB4
MDAwMDdmZmZhYjhjYzkzYiBfcHRocmVhZF9ib2R5ICsgMTgwCjExICBsaWJzeXN0ZW1fcHRocmVh
ZC5keWxpYiAgICAgICAJMHgwMDAwN2ZmZmFiOGNjODg3IF9wdGhyZWFkX3N0YXJ0ICsgMjg2CjEy
ICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAgICAgICAJMHgwMDAwN2ZmZmFiOGNjMDhkIHRocmVh
ZF9zdGFydCArIDEzCgpUaHJlYWQgNzo6IGNvbS5hcHBsZS5OU1VSTENvbm5lY3Rpb25Mb2FkZXIK
MCAgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgICAgICAgIAkweDAwMDA3ZmZmYWI3ZGEzNGEgbWFj
aF9tc2dfdHJhcCArIDEwCjEgICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICAgICAgICAJMHgwMDAw
N2ZmZmFiN2Q5Nzk3IG1hY2hfbXNnICsgNTUKMiAgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiAg
ICAgIAkweDAwMDA3ZmZmOTU5ODY4NzQgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAyMTIK
MyAgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiAgICAgIAkweDAwMDA3ZmZmOTU5ODVjZjEgX19D
RlJ1bkxvb3BSdW4gKyAxMzYxCjQgICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gICAgICAJMHgw
MDAwN2ZmZjk1OTg1NTQ0IENGUnVuTG9vcFJ1blNwZWNpZmljICsgNDIwCjUgICBjb20uYXBwbGUu
Q0ZOZXR3b3JrICAgICAgICAgICAJMHgwMDAwN2ZmZjk0YWMyNzM0ICtbTlNVUkxDb25uZWN0aW9u
KExvYWRlcikgX3Jlc291cmNlTG9hZExvb3A6XSArIDMxMwo2ICAgY29tLmFwcGxlLkZvdW5kYXRp
b24gICAgICAgICAgCTB4MDAwMDdmZmY5NzNjNmIzZCBfX05TVGhyZWFkX19zdGFydF9fICsgMTI0
Mwo3ICAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgICAgICAgCTB4MDAwMDdmZmZhYjhjYzkzYiBf
cHRocmVhZF9ib2R5ICsgMTgwCjggICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAgICAgICAJMHgw
MDAwN2ZmZmFiOGNjODg3IF9wdGhyZWFkX3N0YXJ0ICsgMjg2CjkgICBsaWJzeXN0ZW1fcHRocmVh
ZC5keWxpYiAgICAgICAJMHgwMDAwN2ZmZmFiOGNjMDhkIHRocmVhZF9zdGFydCArIDEzCgpUaHJl
YWQgODo6IFdlYkNvcmU6IFNjcm9sbGluZwowICAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAgICAg
ICAgCTB4MDAwMDdmZmZhYjdkYTM0YSBtYWNoX21zZ190cmFwICsgMTAKMSAgIGxpYnN5c3RlbV9r
ZXJuZWwuZHlsaWIgICAgICAgIAkweDAwMDA3ZmZmYWI3ZDk3OTcgbWFjaF9tc2cgKyA1NQoyICAg
Y29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uICAgICAgCTB4MDAwMDdmZmY5NTk4Njg3NCBfX0NGUnVu
TG9vcFNlcnZpY2VNYWNoUG9ydCArIDIxMgozICAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uICAg
ICAgCTB4MDAwMDdmZmY5NTk4NWNmMSBfX0NGUnVuTG9vcFJ1biArIDEzNjEKNCAgIGNvbS5hcHBs
ZS5Db3JlRm91bmRhdGlvbiAgICAgIAkweDAwMDA3ZmZmOTU5ODU1NDQgQ0ZSdW5Mb29wUnVuU3Bl
Y2lmaWMgKyA0MjAKNSAgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiAgICAgIAkweDAwMDA3ZmZm
OTU5YzRkMzEgQ0ZSdW5Mb29wUnVuICsgOTcKNiAgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAg
ICAgIAkweDAwMDA3ZmZmOWNjZDU5ZGQgV2ViQ29yZTo6U2Nyb2xsaW5nVGhyZWFkOjppbml0aWFs
aXplUnVuTG9vcCgpICsgMjUzCjcgICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgw
MDAwN2ZmZjk3ZTQzNjgyIFdURjo6dGhyZWFkRW50cnlQb2ludCh2b2lkKikgKyAxNzgKOCAgIGNv
bS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMDA3ZmZmOTdlNDM1YWYgV1RGOjp3dGZU
aHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDE1CjkgICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAg
ICAgICAJMHgwMDAwN2ZmZmFiOGNjOTNiIF9wdGhyZWFkX2JvZHkgKyAxODAKMTAgIGxpYnN5c3Rl
bV9wdGhyZWFkLmR5bGliICAgICAgIAkweDAwMDA3ZmZmYWI4Y2M4ODcgX3B0aHJlYWRfc3RhcnQg
KyAyODYKMTEgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICAgICAgIAkweDAwMDA3ZmZmYWI4Y2Mw
OGQgdGhyZWFkX3N0YXJ0ICsgMTMKClRocmVhZCA5OjogV1RGOjpBdXRvbWF0aWNUaHJlYWQKMCAg
IGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgICAgICAgIAkweDAwMDA3ZmZmYWI3ZTFiZjIgX19wc3lu
Y2hfY3Z3YWl0ICsgMTAKMSAgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICAgICAgIAkweDAwMDA3
ZmZmYWI4Y2Q3ZmEgX3B0aHJlYWRfY29uZF93YWl0ICsgNzEyCjIgICBjb20uYXBwbGUuSmF2YVNj
cmlwdENvcmUgICAgICAJMHgwMDAwN2ZmZjk3ZTRiNWM3IFdURjo6VGhyZWFkQ29uZGl0aW9uOjp0
aW1lZFdhaXQoV1RGOjpNdXRleCYsIGRvdWJsZSkgKyAxMTkKMyAgIGNvbS5hcHBsZS5KYXZhU2Ny
aXB0Q29yZSAgICAgIAkweDAwMDA3ZmZmOTg5OTlkNTIgV1RGOjpQYXJraW5nTG90OjpwYXJrQ29u
ZGl0aW9uYWxseUltcGwodm9pZCBjb25zdCosIFdURjo6U2NvcGVkTGFtYmRhPGJvb2wgKCk+IGNv
bnN0JiwgV1RGOjpTY29wZWRMYW1iZGE8dm9pZCAoKT4gY29uc3QmLCBXVEY6OlRpbWVXaXRoRHlu
YW1pY0Nsb2NrVHlwZSBjb25zdCYpICsgMjcwNgo0ICAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3Jl
ICAgICAgCTB4MDAwMDdmZmY5ODRlNzM4NiBib29sIFdURjo6Q29uZGl0aW9uQmFzZTo6d2FpdFVu
dGlsPFdURjo6TG9jaz4oV1RGOjpMb2NrJiwgV1RGOjpUaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUg
Y29uc3QmKSArIDE1MAo1ICAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAwMDdm
ZmY5ODk4YThiNyBzdGQ6Ol9fMTo6X19mdW5jdGlvbjo6X19mdW5jPFdURjo6QXV0b21hdGljVGhy
ZWFkOjpzdGFydChXVEY6OkxvY2tlcjxXVEY6OkxvY2tCYXNlPiBjb25zdCYpOjokXzAsIHN0ZDo6
X18xOjphbGxvY2F0b3I8V1RGOjpBdXRvbWF0aWNUaHJlYWQ6OnN0YXJ0KFdURjo6TG9ja2VyPFdU
Rjo6TG9ja0Jhc2U+IGNvbnN0Jik6OiRfMD4sIHZvaWQgKCk+OjpvcGVyYXRvcigpKCkgKyAxOTkK
NiAgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMDA3ZmZmOTdlNDM2ODIgV1RG
Ojp0aHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDE3OAo3ICAgY29tLmFwcGxlLkphdmFTY3JpcHRD
b3JlICAgICAgCTB4MDAwMDdmZmY5N2U0MzVhZiBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9p
ZCopICsgMTUKOCAgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICAgICAgIAkweDAwMDA3ZmZmYWI4
Y2M5M2IgX3B0aHJlYWRfYm9keSArIDE4MAo5ICAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgICAg
ICAgCTB4MDAwMDdmZmZhYjhjYzg4NyBfcHRocmVhZF9zdGFydCArIDI4NgoxMCAgbGlic3lzdGVt
X3B0aHJlYWQuZHlsaWIgICAgICAgCTB4MDAwMDdmZmZhYjhjYzA4ZCB0aHJlYWRfc3RhcnQgKyAx
MwoKVGhyZWFkIDEwOjogV1RGOjpBdXRvbWF0aWNUaHJlYWQKMCAgIGxpYnN5c3RlbV9rZXJuZWwu
ZHlsaWIgICAgICAgIAkweDAwMDA3ZmZmYWI3ZTFiZjIgX19wc3luY2hfY3Z3YWl0ICsgMTAKMSAg
IGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICAgICAgIAkweDAwMDA3ZmZmYWI4Y2Q3ZmEgX3B0aHJl
YWRfY29uZF93YWl0ICsgNzEyCjIgICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgw
MDAwN2ZmZjk3ZTRiNWM3IFdURjo6VGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQoV1RGOjpNdXRl
eCYsIGRvdWJsZSkgKyAxMTkKMyAgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAw
MDA3ZmZmOTg5OTlkNTIgV1RGOjpQYXJraW5nTG90OjpwYXJrQ29uZGl0aW9uYWxseUltcGwodm9p
ZCBjb25zdCosIFdURjo6U2NvcGVkTGFtYmRhPGJvb2wgKCk+IGNvbnN0JiwgV1RGOjpTY29wZWRM
YW1iZGE8dm9pZCAoKT4gY29uc3QmLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25z
dCYpICsgMjcwNgo0ICAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAwMDdmZmY5
ODRlNzM4NiBib29sIFdURjo6Q29uZGl0aW9uQmFzZTo6d2FpdFVudGlsPFdURjo6TG9jaz4oV1RG
OjpMb2NrJiwgV1RGOjpUaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUgY29uc3QmKSArIDE1MAo1ICAg
Y29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAwMDdmZmY5ODk4YThiNyBzdGQ6Ol9f
MTo6X19mdW5jdGlvbjo6X19mdW5jPFdURjo6QXV0b21hdGljVGhyZWFkOjpzdGFydChXVEY6Okxv
Y2tlcjxXVEY6OkxvY2tCYXNlPiBjb25zdCYpOjokXzAsIHN0ZDo6X18xOjphbGxvY2F0b3I8V1RG
OjpBdXRvbWF0aWNUaHJlYWQ6OnN0YXJ0KFdURjo6TG9ja2VyPFdURjo6TG9ja0Jhc2U+IGNvbnN0
Jik6OiRfMD4sIHZvaWQgKCk+OjpvcGVyYXRvcigpKCkgKyAxOTkKNiAgIGNvbS5hcHBsZS5KYXZh
U2NyaXB0Q29yZSAgICAgIAkweDAwMDA3ZmZmOTdlNDM2ODIgV1RGOjp0aHJlYWRFbnRyeVBvaW50
KHZvaWQqKSArIDE3OAo3ICAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAwMDdm
ZmY5N2U0MzVhZiBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICsgMTUKOCAgIGxpYnN5
c3RlbV9wdGhyZWFkLmR5bGliICAgICAgIAkweDAwMDA3ZmZmYWI4Y2M5M2IgX3B0aHJlYWRfYm9k
eSArIDE4MAo5ICAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgICAgICAgCTB4MDAwMDdmZmZhYjhj
Yzg4NyBfcHRocmVhZF9zdGFydCArIDI4NgoxMCAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgICAg
ICAgCTB4MDAwMDdmZmZhYjhjYzA4ZCB0aHJlYWRfc3RhcnQgKyAxMwoKVGhyZWFkIDExOjogV1RG
OjpBdXRvbWF0aWNUaHJlYWQKMCAgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgICAgICAgIAkweDAw
MDA3ZmZmYWI3ZTFiZjIgX19wc3luY2hfY3Z3YWl0ICsgMTAKMSAgIGxpYnN5c3RlbV9wdGhyZWFk
LmR5bGliICAgICAgIAkweDAwMDA3ZmZmYWI4Y2Q3ZmEgX3B0aHJlYWRfY29uZF93YWl0ICsgNzEy
CjIgICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDAwN2ZmZjk3ZTRiNWM3IFdU
Rjo6VGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQoV1RGOjpNdXRleCYsIGRvdWJsZSkgKyAxMTkK
MyAgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMDA3ZmZmOTg5OTlkNTIgV1RG
OjpQYXJraW5nTG90OjpwYXJrQ29uZGl0aW9uYWxseUltcGwodm9pZCBjb25zdCosIFdURjo6U2Nv
cGVkTGFtYmRhPGJvb2wgKCk+IGNvbnN0JiwgV1RGOjpTY29wZWRMYW1iZGE8dm9pZCAoKT4gY29u
c3QmLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpICsgMjcwNgo0ICAgY29t
LmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAwMDdmZmY5ODRlNzM4NiBib29sIFdURjo6
Q29uZGl0aW9uQmFzZTo6d2FpdFVudGlsPFdURjo6TG9jaz4oV1RGOjpMb2NrJiwgV1RGOjpUaW1l
V2l0aER5bmFtaWNDbG9ja1R5cGUgY29uc3QmKSArIDE1MAo1ICAgY29tLmFwcGxlLkphdmFTY3Jp
cHRDb3JlICAgICAgCTB4MDAwMDdmZmY5ODk4YThiNyBzdGQ6Ol9fMTo6X19mdW5jdGlvbjo6X19m
dW5jPFdURjo6QXV0b21hdGljVGhyZWFkOjpzdGFydChXVEY6OkxvY2tlcjxXVEY6OkxvY2tCYXNl
PiBjb25zdCYpOjokXzAsIHN0ZDo6X18xOjphbGxvY2F0b3I8V1RGOjpBdXRvbWF0aWNUaHJlYWQ6
OnN0YXJ0KFdURjo6TG9ja2VyPFdURjo6TG9ja0Jhc2U+IGNvbnN0Jik6OiRfMD4sIHZvaWQgKCk+
OjpvcGVyYXRvcigpKCkgKyAxOTkKNiAgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkw
eDAwMDA3ZmZmOTdlNDM2ODIgV1RGOjp0aHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDE3OAo3ICAg
Y29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAwMDdmZmY5N2U0MzVhZiBXVEY6Ond0
ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICsgMTUKOCAgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGli
ICAgICAgIAkweDAwMDA3ZmZmYWI4Y2M5M2IgX3B0aHJlYWRfYm9keSArIDE4MAo5ICAgbGlic3lz
dGVtX3B0aHJlYWQuZHlsaWIgICAgICAgCTB4MDAwMDdmZmZhYjhjYzg4NyBfcHRocmVhZF9zdGFy
dCArIDI4NgoxMCAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgICAgICAgCTB4MDAwMDdmZmZhYjhj
YzA4ZCB0aHJlYWRfc3RhcnQgKyAxMwoKVGhyZWFkIDEyOjogV1RGOjpBdXRvbWF0aWNUaHJlYWQK
MCAgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgICAgICAgIAkweDAwMDA3ZmZmYWI3ZTFiZjIgX19w
c3luY2hfY3Z3YWl0ICsgMTAKMSAgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICAgICAgIAkweDAw
MDA3ZmZmYWI4Y2Q3ZmEgX3B0aHJlYWRfY29uZF93YWl0ICsgNzEyCjIgICBjb20uYXBwbGUuSmF2
YVNjcmlwdENvcmUgICAgICAJMHgwMDAwN2ZmZjk3ZTRiNWM3IFdURjo6VGhyZWFkQ29uZGl0aW9u
Ojp0aW1lZFdhaXQoV1RGOjpNdXRleCYsIGRvdWJsZSkgKyAxMTkKMyAgIGNvbS5hcHBsZS5KYXZh
U2NyaXB0Q29yZSAgICAgIAkweDAwMDA3ZmZmOTg5OTlkNTIgV1RGOjpQYXJraW5nTG90OjpwYXJr
Q29uZGl0aW9uYWxseUltcGwodm9pZCBjb25zdCosIFdURjo6U2NvcGVkTGFtYmRhPGJvb2wgKCk+
IGNvbnN0JiwgV1RGOjpTY29wZWRMYW1iZGE8dm9pZCAoKT4gY29uc3QmLCBXVEY6OlRpbWVXaXRo
RHluYW1pY0Nsb2NrVHlwZSBjb25zdCYpICsgMjcwNgo0ICAgY29tLmFwcGxlLkphdmFTY3JpcHRD
b3JlICAgICAgCTB4MDAwMDdmZmY5ODRlNzM4NiBib29sIFdURjo6Q29uZGl0aW9uQmFzZTo6d2Fp
dFVudGlsPFdURjo6TG9jaz4oV1RGOjpMb2NrJiwgV1RGOjpUaW1lV2l0aER5bmFtaWNDbG9ja1R5
cGUgY29uc3QmKSArIDE1MAo1ICAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAw
MDdmZmY5ODk4YThiNyBzdGQ6Ol9fMTo6X19mdW5jdGlvbjo6X19mdW5jPFdURjo6QXV0b21hdGlj
VGhyZWFkOjpzdGFydChXVEY6OkxvY2tlcjxXVEY6OkxvY2tCYXNlPiBjb25zdCYpOjokXzAsIHN0
ZDo6X18xOjphbGxvY2F0b3I8V1RGOjpBdXRvbWF0aWNUaHJlYWQ6OnN0YXJ0KFdURjo6TG9ja2Vy
PFdURjo6TG9ja0Jhc2U+IGNvbnN0Jik6OiRfMD4sIHZvaWQgKCk+OjpvcGVyYXRvcigpKCkgKyAx
OTkKNiAgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMDA3ZmZmOTdlNDM2ODIg
V1RGOjp0aHJlYWRFbnRyeVBvaW50KHZvaWQqKSArIDE3OAo3ICAgY29tLmFwcGxlLkphdmFTY3Jp
cHRDb3JlICAgICAgCTB4MDAwMDdmZmY5N2U0MzVhZiBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQo
dm9pZCopICsgMTUKOCAgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICAgICAgIAkweDAwMDA3ZmZm
YWI4Y2M5M2IgX3B0aHJlYWRfYm9keSArIDE4MAo5ICAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIg
ICAgICAgCTB4MDAwMDdmZmZhYjhjYzg4NyBfcHRocmVhZF9zdGFydCArIDI4NgoxMCAgbGlic3lz
dGVtX3B0aHJlYWQuZHlsaWIgICAgICAgCTB4MDAwMDdmZmZhYjhjYzA4ZCB0aHJlYWRfc3RhcnQg
KyAxMwoKVGhyZWFkIDEzOjogV1RGOjpBdXRvbWF0aWNUaHJlYWQKMCAgIGxpYnN5c3RlbV9rZXJu
ZWwuZHlsaWIgICAgICAgIAkweDAwMDA3ZmZmYWI3ZTFiZjIgX19wc3luY2hfY3Z3YWl0ICsgMTAK
MSAgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICAgICAgIAkweDAwMDA3ZmZmYWI4Y2Q3ZmEgX3B0
aHJlYWRfY29uZF93YWl0ICsgNzEyCjIgICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJ
MHgwMDAwN2ZmZjk3ZTRiNWM3IFdURjo6VGhyZWFkQ29uZGl0aW9uOjp0aW1lZFdhaXQoV1RGOjpN
dXRleCYsIGRvdWJsZSkgKyAxMTkKMyAgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkw
eDAwMDA3ZmZmOTg5OTlkNTIgV1RGOjpQYXJraW5nTG90OjpwYXJrQ29uZGl0aW9uYWxseUltcGwo
dm9pZCBjb25zdCosIFdURjo6U2NvcGVkTGFtYmRhPGJvb2wgKCk+IGNvbnN0JiwgV1RGOjpTY29w
ZWRMYW1iZGE8dm9pZCAoKT4gY29uc3QmLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBj
b25zdCYpICsgMjcwNgo0ICAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAwMDdm
ZmY5ODRlNzM4NiBib29sIFdURjo6Q29uZGl0aW9uQmFzZTo6d2FpdFVudGlsPFdURjo6TG9jaz4o
V1RGOjpMb2NrJiwgV1RGOjpUaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUgY29uc3QmKSArIDE1MAo1
ICAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAwMDdmZmY5ODk4YThiNyBzdGQ6
Ol9fMTo6X19mdW5jdGlvbjo6X19mdW5jPFdURjo6QXV0b21hdGljVGhyZWFkOjpzdGFydChXVEY6
OkxvY2tlcjxXVEY6OkxvY2tCYXNlPiBjb25zdCYpOjokXzAsIHN0ZDo6X18xOjphbGxvY2F0b3I8
V1RGOjpBdXRvbWF0aWNUaHJlYWQ6OnN0YXJ0KFdURjo6TG9ja2VyPFdURjo6TG9ja0Jhc2U+IGNv
bnN0Jik6OiRfMD4sIHZvaWQgKCk+OjpvcGVyYXRvcigpKCkgKyAxOTkKNiAgIGNvbS5hcHBsZS5K
YXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMDA3ZmZmOTdlNDM2ODIgV1RGOjp0aHJlYWRFbnRyeVBv
aW50KHZvaWQqKSArIDE3OAo3ICAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAw
MDdmZmY5N2U0MzVhZiBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICsgMTUKOCAgIGxp
YnN5c3RlbV9wdGhyZWFkLmR5bGliICAgICAgIAkweDAwMDA3ZmZmYWI4Y2M5M2IgX3B0aHJlYWRf
Ym9keSArIDE4MAo5ICAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgICAgICAgCTB4MDAwMDdmZmZh
YjhjYzg4NyBfcHRocmVhZF9zdGFydCArIDI4NgoxMCAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIg
ICAgICAgCTB4MDAwMDdmZmZhYjhjYzA4ZCB0aHJlYWRfc3RhcnQgKyAxMwoKVGhyZWFkIDE0Ojog
V1RGOjpBdXRvbWF0aWNUaHJlYWQKMCAgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkw
eDAwMDA3ZmZmOTgzNzRkMGMgdm9pZCBKU0M6OkRGRzo6Y2xvYmJlcml6ZTxKU0M6OkRGRzo6UmVh
ZE1ldGhvZENsb2JiZXJpemU8SlNDOjpERkc6Oihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6TG9jYWxD
U0VQaGFzZTo6QmxvY2tDU0U8SlNDOjpERkc6Oihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6TG9jYWxD
U0VQaGFzZTo6U21hbGxNYXBzPiA+LCBKU0M6OkRGRzo6V3JpdGVNZXRob2RDbG9iYmVyaXplPEpT
Qzo6REZHOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OkxvY2FsQ1NFUGhhc2U6OkJsb2NrQ1NFPEpT
Qzo6REZHOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OkxvY2FsQ1NFUGhhc2U6OlNtYWxsTWFwcz4g
PiwgSlNDOjpERkc6OkRlZk1ldGhvZENsb2JiZXJpemU8SlNDOjpERkc6Oihhbm9ueW1vdXMgbmFt
ZXNwYWNlKTo6TG9jYWxDU0VQaGFzZTo6QmxvY2tDU0U8SlNDOjpERkc6Oihhbm9ueW1vdXMgbmFt
ZXNwYWNlKTo6TG9jYWxDU0VQaGFzZTo6U21hbGxNYXBzPiA+ID4oSlNDOjpERkc6OkdyYXBoJiwg
SlNDOjpERkc6Ok5vZGUqLCBKU0M6OkRGRzo6UmVhZE1ldGhvZENsb2JiZXJpemU8SlNDOjpERkc6
Oihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6TG9jYWxDU0VQaGFzZTo6QmxvY2tDU0U8SlNDOjpERkc6
Oihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6TG9jYWxDU0VQaGFzZTo6U21hbGxNYXBzPiA+IGNvbnN0
JiwgSlNDOjpERkc6OldyaXRlTWV0aG9kQ2xvYmJlcml6ZTxKU0M6OkRGRzo6KGFub255bW91cyBu
YW1lc3BhY2UpOjpMb2NhbENTRVBoYXNlOjpCbG9ja0NTRTxKU0M6OkRGRzo6KGFub255bW91cyBu
YW1lc3BhY2UpOjpMb2NhbENTRVBoYXNlOjpTbWFsbE1hcHM+ID4gY29uc3QmLCBKU0M6OkRGRzo6
RGVmTWV0aG9kQ2xvYmJlcml6ZTxKU0M6OkRGRzo6KGFub255bW91cyBuYW1lc3BhY2UpOjpMb2Nh
bENTRVBoYXNlOjpCbG9ja0NTRTxKU0M6OkRGRzo6KGFub255bW91cyBuYW1lc3BhY2UpOjpMb2Nh
bENTRVBoYXNlOjpTbWFsbE1hcHM+ID4gY29uc3QmKSArIDE0MAoxICAgY29tLmFwcGxlLkphdmFT
Y3JpcHRDb3JlICAgICAgCTB4MDAwMDdmZmY5ODM3NDJiNiBKU0M6OkRGRzo6cGVyZm9ybUxvY2Fs
Q1NFKEpTQzo6REZHOjpHcmFwaCYpICsgMzk3NAoyICAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3Jl
ICAgICAgCTB4MDAwMDdmZmY5ODQ0MjQwMiBKU0M6OkRGRzo6UGxhbjo6Y29tcGlsZUluVGhyZWFk
SW1wbChKU0M6OkRGRzo6TG9uZ0xpdmVkU3RhdGUmKSArIDI3MjIKMyAgIGNvbS5hcHBsZS5KYXZh
U2NyaXB0Q29yZSAgICAgIAkweDAwMDA3ZmZmOTg0NDEzMmUgSlNDOjpERkc6OlBsYW46OmNvbXBp
bGVJblRocmVhZChKU0M6OkRGRzo6TG9uZ0xpdmVkU3RhdGUmLCBKU0M6OkRGRzo6VGhyZWFkRGF0
YSopICsgNjcwCjQgICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDAwN2ZmZjk4
NGU2Mzc1IEpTQzo6REZHOjpXb3JrbGlzdDo6VGhyZWFkQm9keTo6d29yaygpICsgMjYxCjUgICBj
b20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDAwN2ZmZjk4OThhOTJlIHN0ZDo6X18x
OjpfX2Z1bmN0aW9uOjpfX2Z1bmM8V1RGOjpBdXRvbWF0aWNUaHJlYWQ6OnN0YXJ0KFdURjo6TG9j
a2VyPFdURjo6TG9ja0Jhc2U+IGNvbnN0Jik6OiRfMCwgc3RkOjpfXzE6OmFsbG9jYXRvcjxXVEY6
OkF1dG9tYXRpY1RocmVhZDo6c3RhcnQoV1RGOjpMb2NrZXI8V1RGOjpMb2NrQmFzZT4gY29uc3Qm
KTo6JF8wPiwgdm9pZCAoKT46Om9wZXJhdG9yKCkoKSArIDMxOAo2ICAgY29tLmFwcGxlLkphdmFT
Y3JpcHRDb3JlICAgICAgCTB4MDAwMDdmZmY5N2U0MzY4MiBXVEY6OnRocmVhZEVudHJ5UG9pbnQo
dm9pZCopICsgMTc4CjcgICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDAwN2Zm
Zjk3ZTQzNWFmIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikgKyAxNQo4ICAgbGlic3lz
dGVtX3B0aHJlYWQuZHlsaWIgICAgICAgCTB4MDAwMDdmZmZhYjhjYzkzYiBfcHRocmVhZF9ib2R5
ICsgMTgwCjkgICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAgICAgICAJMHgwMDAwN2ZmZmFiOGNj
ODg3IF9wdGhyZWFkX3N0YXJ0ICsgMjg2CjEwICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAgICAg
ICAJMHgwMDAwN2ZmZmFiOGNjMDhkIHRocmVhZF9zdGFydCArIDEzCgpUaHJlYWQgMCBjcmFzaGVk
IHdpdGggWDg2IFRocmVhZCBTdGF0ZSAoNjQtYml0KToKICByYXg6IDB4MDAwMDAwMDAwMDAwMDAw
MCAgcmJ4OiAweDAwMDA3ZmZmNWI1ZGUwYjggIHJjeDogMHgwMDAwMDAwMTA4NWM4ZWEwICByZHg6
IDB4MDAwMDAwMDEwOGQxOTZhMAogIHJkaTogMHgwMDAwMDAwMDAwMDAwMDAxICByc2k6IDB4MDAw
MDAwMDAwMDAwMDAwMSAgcmJwOiAweDAwMDA3ZmZmNWI1ZGRlOTAgIHJzcDogMHgwMDAwN2ZmZjVi
NWRkZGYwCiAgIHI4OiAweDAwMDAwMDAwMDAwMDI5MDAgICByOTogMHgwMDAwMDAwMDAwMDAwMGY1
ICByMTA6IDB4MDAwMDAwMDEwOGQ2MDA5OCAgcjExOiAweDAwMDAwMDAwMDAwMDAwMDAKICByMTI6
IDB4MDAwMDAwMDEwOGRiMDBhMCAgcjEzOiAweDAwMDAwMDAxMDkzZjc0MDggIHIxNDogMHhmZmZm
MDAwMDAwMDAwMDAwICByMTU6IDB4ZmZmZjAwMDAwMDAwMDAwMgogIHJpcDogMHgwMDAwNGUxOWI1
ZTAzY2E2ICByZmw6IDB4MDAwMDAwMDAwMDAxMDI5NyAgY3IyOiAweDAwMDAwMDAwMDAwMDAwMDUK
ICAKTG9naWNhbCBDUFU6ICAgICAzCkVycm9yIENvZGU6ICAgICAgMHgwMDAwMDAwNApUcmFwIE51
bWJlcjogICAgIDE0CgoKQmluYXJ5IEltYWdlczoKICAgICAgIDB4MTA0NjFmMDAwIC0gICAgICAg
IDB4MTA0NjIwZmZmICBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgKDEyNjAzIC0gMTI2MDMu
Mi40KSA8NzdBMzFENUMtNzFGNy0zMjg0LThFODMtRjBEMDU0Njc3RTI0PiAvU3lzdGVtL0xpYnJh
cnkvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvWFBDU2VydmljZXMvY29t
LmFwcGxlLldlYktpdC5XZWJDb250ZW50LnhwYy9Db250ZW50cy9NYWNPUy9jb20uYXBwbGUuV2Vi
S2l0LldlYkNvbnRlbnQKICAgICAgIDB4MTA0NjI3MDAwIC0gICAgICAgIDB4MTA0NjI3ZmZmICBX
ZWJQcm9jZXNzU2hpbS5keWxpYiAoNzYwMy4yLjQpIDw2QjM4NkFGQy1DNTZELTM2MDUtODc1OS0w
NTk5RUI2MTgyRjk+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsv
VmVyc2lvbnMvQS9GcmFtZXdvcmtzL1dlYlByb2Nlc3NTaGltLmR5bGliCiAgICAgICAweDEwNDY2
MTAwMCAtICAgICAgICAweDEwNDY2MmZmYiAgbGliQ3lyaWxsaWNDb252ZXJ0ZXIuZHlsaWIgKDY5
KSA8OTc5NzM5NEEtNTZFMi0zOTNELUIyNjUtRjFDRjA5NTUzRkZGPiAvU3lzdGVtL0xpYnJhcnkv
Q29yZVNlcnZpY2VzL0VuY29kaW5ncy9saWJDeXJpbGxpY0NvbnZlcnRlci5keWxpYgogICAgICAg
MHgxMDQ3ZTUwMDAgLSAgICAgICAgMHgxMDQ3ZTVmZmYgIGNvbS5hcHBsZS5kYXRhZGV0ZWN0b3Jz
LnBsdWdpbnMucGhvbmUgKDcuMCAtIDUzOS4xKSA8N0ZDNzcyRjUtOEVBNS0zOTU5LTk0N0QtODAz
QTZDQzE5RkY0PiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvRGF0YURldGVjdG9y
c0NvcmUuZnJhbWV3b3JrL1BsdWdJbnMvUGhvbmVOdW1iZXJzLnBsdWdpbi9QaG9uZU51bWJlcnMK
ICAgICAgIDB4MTEwMWM3MDAwIC0gICAgICAgIDB4MTEwMjA0ZGM3ICBkeWxkICg0MzMuNSkgPDMy
MkMwNkI3LTg4NzgtMzExRC04ODhDLUM4RkQyQ0E5NkZGMz4gL3Vzci9saWIvZHlsZAogICAgMHg3
ZmZmOTA0NTAwMDAgLSAgICAgMHg3ZmZmOTA3OTVmZjcgIGNvbS5hcHBsZS5SYXdDYW1lcmEuYnVu
ZGxlICg3LjAzIC0gOTEyKSA8MTQ3NkYzNzUtNkM0Qi0zODJBLUFCREItOTlCN0RDQkY0RjZEPiAv
U3lzdGVtL0xpYnJhcnkvQ29yZVNlcnZpY2VzL1Jhd0NhbWVyYS5idW5kbGUvQ29udGVudHMvTWFj
T1MvUmF3Q2FtZXJhCiAgICAweDdmZmY5MWZjYzAwMCAtICAgICAweDdmZmY5MjE4ZGZmZiAgY29t
LmFwcGxlLmF2Zm91bmRhdGlvbiAoMi4wIC0gMTE4Ny4zNikgPDhDNzgxM0JFLUI1NDgtMzNFMy1B
NjFFLUZGMUYxOTg0Mzg2QT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQVZGb3VuZGF0aW9u
LmZyYW1ld29yay9WZXJzaW9ucy9BL0FWRm91bmRhdGlvbgogICAgMHg3ZmZmOTIxOGUwMDAgLSAg
ICAgMHg3ZmZmOTIyMzBmZjcgIGNvbS5hcHBsZS5hdWRpby5BVkZBdWRpbyAoMS4wIC0gPz8/KSA8
Nzk5N0Q1ODgtQjU0Mi0zRUJCLUI4MjItRDcxOUMxMTE0QkI0PiAvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9BVkZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9BVkZB
dWRpby5mcmFtZXdvcmsvVmVyc2lvbnMvQS9BVkZBdWRpbwogICAgMHg3ZmZmOTIyZmIwMDAgLSAg
ICAgMHg3ZmZmOTIyZmJmZmYgIGNvbS5hcHBsZS5BY2NlbGVyYXRlICgxLjExIC0gQWNjZWxlcmF0
ZSAxLjExKSA8RDZBMDhBNzItNzc1OC0zQ0E4LTgxM0QtMTA1RjZFMzEzRTY3PiAvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9BY2NlbGVyYXRlLmZyYW1ld29yay9WZXJzaW9ucy9BL0FjY2VsZXJh
dGUKICAgIDB4N2ZmZjkyMzE0MDAwIC0gICAgIDB4N2ZmZjkyOTU0ZmUzICBjb20uYXBwbGUudklt
YWdlICg4LjEgLSA/Pz8pIDw0QzUzNUMyNS1FRjg3LTM1QkUtOUJFOC1EMDgwQTVDMjQwODQ+IC9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FjY2VsZXJhdGUuZnJhbWV3b3JrL1ZlcnNpb25zL0Ev
RnJhbWV3b3Jrcy92SW1hZ2UuZnJhbWV3b3JrL1ZlcnNpb25zL0EvdkltYWdlCiAgICAweDdmZmY5
Mjk1NTAwMCAtICAgICAweDdmZmY5MmIxY2ZlZiAgbGliQkxBUy5keWxpYiAoMTE4NS41MC40KSA8
N0FGOERCOUEtRTMzQi0zMEVCLTg3NjctODdBRkI5NTFFMjMxPiAvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9BY2NlbGVyYXRlLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvdmVjTGli
LmZyYW1ld29yay9WZXJzaW9ucy9BL2xpYkJMQVMuZHlsaWIKICAgIDB4N2ZmZjkyYjFkMDAwIC0g
ICAgIDB4N2ZmZjkyYjM0ZmZmICBsaWJCTk5TLmR5bGliICgxNSkgPDI2RjMyMjY0LTE0OEUtMzVF
NS1BMjgwLUNBMDM1Q0IzRDZGMD4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQWNjZWxlcmF0
ZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL3ZlY0xpYi5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9saWJCTk5TLmR5bGliCiAgICAweDdmZmY5MmIzNTAwMCAtICAgICAweDdmZmY5MmY0MGZm
ZiAgbGliTEFQQUNLLmR5bGliICgxMTg1LjUwLjQpIDw1MUIyQkFCQS1GNzM2LTM2NjMtODg1QS02
NUE4OTkxRDM1NjA+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FjY2VsZXJhdGUuZnJhbWV3
b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy92ZWNMaWIuZnJhbWV3b3JrL1ZlcnNpb25zL0EvbGli
TEFQQUNLLmR5bGliCiAgICAweDdmZmY5MmY0MTAwMCAtICAgICAweDdmZmY5MmY1N2ZmZiAgbGli
TGluZWFyQWxnZWJyYS5keWxpYiAoMTE4NS41MC40KSA8MEVDMjVFNzAtMDVEQy0zNjE1LTg1QjYt
ODE3MjE1NjZDRjFEPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BY2NlbGVyYXRlLmZyYW1l
d29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvdmVjTGliLmZyYW1ld29yay9WZXJzaW9ucy9BL2xp
YkxpbmVhckFsZ2VicmEuZHlsaWIKICAgIDB4N2ZmZjkyZjU4MDAwIC0gICAgIDB4N2ZmZjkyZjVl
ZmZmICBsaWJRdWFkcmF0dXJlLmR5bGliICgzKSA8RUY1NkM4RTYtREUyMi0zQzY5LUI1NDMtQTg2
NDhGMzM1RkREPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BY2NlbGVyYXRlLmZyYW1ld29y
ay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvdmVjTGliLmZyYW1ld29yay9WZXJzaW9ucy9BL2xpYlF1
YWRyYXR1cmUuZHlsaWIKICAgIDB4N2ZmZjkyZjVmMDAwIC0gICAgIDB4N2ZmZjkyZjcyZmY3ICBs
aWJTcGFyc2VCTEFTLmR5bGliICgxMTg1LjUwLjQpIDwwQkRDRjZBNy0wMjI4LTM3MTktODFDNy1C
NkVCQzc5MTEzMjA+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FjY2VsZXJhdGUuZnJhbWV3
b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy92ZWNMaWIuZnJhbWV3b3JrL1ZlcnNpb25zL0EvbGli
U3BhcnNlQkxBUy5keWxpYgogICAgMHg3ZmZmOTJmNzMwMDAgLSAgICAgMHg3ZmZmOTMwYzBmZjcg
IGxpYnZEU1AuZHlsaWIgKDYwMC42MC4xKSA8RjQ2REY0Q0ItODY0RC0zNTQxLTk5MTMtNjA1MjFG
Q0JCRjRBPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BY2NlbGVyYXRlLmZyYW1ld29yay9W
ZXJzaW9ucy9BL0ZyYW1ld29ya3MvdmVjTGliLmZyYW1ld29yay9WZXJzaW9ucy9BL2xpYnZEU1Au
ZHlsaWIKICAgIDB4N2ZmZjkzMGMxMDAwIC0gICAgIDB4N2ZmZjkzMTc4ZmUzICBsaWJ2TWlzYy5k
eWxpYiAoNjAwLjYwLjEpIDwzQTAwRkRFQi05RkFCLTNGMTAtQkNCMy0zMTZBNkJFM0M4M0E+IC9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FjY2VsZXJhdGUuZnJhbWV3b3JrL1ZlcnNpb25zL0Ev
RnJhbWV3b3Jrcy92ZWNMaWIuZnJhbWV3b3JrL1ZlcnNpb25zL0EvbGlidk1pc2MuZHlsaWIKICAg
IDB4N2ZmZjkzMTc5MDAwIC0gICAgIDB4N2ZmZjkzMTc5ZmZmICBjb20uYXBwbGUuQWNjZWxlcmF0
ZS52ZWNMaWIgKDMuMTEgLSB2ZWNMaWIgMy4xMSkgPEEyRkM4MjQwLUY2MkYtM0EyMy1BQjEwLThD
RTZCNTZBRjQ3Nj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQWNjZWxlcmF0ZS5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL3ZlY0xpYi5mcmFtZXdvcmsvVmVyc2lvbnMvQS92ZWNM
aWIKICAgIDB4N2ZmZjkzMTdhMDAwIC0gICAgIDB4N2ZmZjkzMWI3ZmZiICBjb20uYXBwbGUuQWNj
b3VudHMgKDExMyAtIDExMykgPDg1NTBCRDA4LTdEMDUtM0FDNC1BMENDLUI2N0VDQjJERTk1MD4g
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQWNjb3VudHMuZnJhbWV3b3JrL1ZlcnNpb25zL0Ev
QWNjb3VudHMKICAgIDB4N2ZmZjkzMWI4MDAwIC0gICAgIDB4N2ZmZjkzNDM3ZmY3ICBjb20uYXBw
bGUuQWRkcmVzc0Jvb2suZnJhbWV3b3JrICgxMC4wIC0gMTc1Ni4yMCkgPEVGNzRCOEZGLTNBRkUt
MzMzNi04MkIwLTAyNzkyQjE3NDA2Qz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQWRkcmVz
c0Jvb2suZnJhbWV3b3JrL1ZlcnNpb25zL0EvQWRkcmVzc0Jvb2sKICAgIDB4N2ZmZjkzNDM4MDAw
IC0gICAgIDB4N2ZmZjk0MjExZmYzICBjb20uYXBwbGUuQXBwS2l0ICg2LjkgLSAxNTA0LjgzLjEw
MSkgPEVDN0JEMTk1LUY5RTEtM0U0My04MjBBLTVGREQwQjJCMEI2Nz4gL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9WZXJzaW9ucy9DL0FwcEtpdAogICAgMHg3ZmZm
OTQyMjMwMDAgLSAgICAgMHg3ZmZmOTQyMjNmZmYgIGNvbS5hcHBsZS5BcHBsaWNhdGlvblNlcnZp
Y2VzICg0OCAtIDQ4KSA8NEM3MUNCQTgtNDdFNC0zOEJGLUJFM0ItRjIwREY4NjY3RDVEPiAvU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJz
aW9ucy9BL0FwcGxpY2F0aW9uU2VydmljZXMKICAgIDB4N2ZmZjk0MjI0MDAwIC0gICAgIDB4N2Zm
Zjk0MjkyZmY3ICBjb20uYXBwbGUuQXBwbGljYXRpb25TZXJ2aWNlcy5BVFMgKDM3NyAtIDQyMi4y
KSA8QTMxRDE3QkUtRjc0Ny0zOUZCLTlBODQtNUYyRjg4OTEyMDRDPiAvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1l
d29ya3MvQVRTLmZyYW1ld29yay9WZXJzaW9ucy9BL0FUUwogICAgMHg3ZmZmOTQzMmMwMDAgLSAg
ICAgMHg3ZmZmOTQ0NWJmZjcgIGxpYkZvbnRQYXJzZXIuZHlsaWIgKDE5NC4xMikgPDczQzM5NDZE
LUVGOTItM0FDMS04OUMzLTBFNzVCMkE4NTMyNT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0FUUy5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9SZXNvdXJjZXMvbGliRm9udFBhcnNlci5keWxpYgogICAgMHg3
ZmZmOTQ0NWMwMDAgLSAgICAgMHg3ZmZmOTQ0YTZmZmYgIGxpYkZvbnRSZWdpc3RyeS5keWxpYiAo
MTk2LjQpIDxFQTk2QUU0Ny0zMzY5LTNERUEtQkI4Mi05ODM0OEFEQkQ4NUI+IC9TeXN0ZW0vTGli
cmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0Ev
RnJhbWV3b3Jrcy9BVFMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUmVzb3VyY2VzL2xpYkZvbnRSZWdp
c3RyeS5keWxpYgogICAgMHg3ZmZmOTQ1YTMwMDAgLSAgICAgMHg3ZmZmOTQ2NGRmZjcgIGNvbS5h
cHBsZS5Db2xvclN5bmMgKDQuMTIuMCAtIDUwMi4yKSA8QUNBNDAwMUUtQTBFMy0zM0Y2LTlDRDYt
RUVDMkFBMTVFMzIyPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZp
Y2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvQ29sb3JTeW5jLmZyYW1ld29yay9W
ZXJzaW9ucy9BL0NvbG9yU3luYwogICAgMHg3ZmZmOTQ2NGUwMDAgLSAgICAgMHg3ZmZmOTQ2OWZm
ZmYgIGNvbS5hcHBsZS5ISVNlcnZpY2VzICgxLjIyIC0gNTkyLjEpIDw3MzUzRTc2RS05QTNBLTM2
OTMtODdBRi00MTk1MzU4NUUwMjQ+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0
aW9uU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9ISVNlcnZpY2VzLmZy
YW1ld29yay9WZXJzaW9ucy9BL0hJU2VydmljZXMKICAgIDB4N2ZmZjk0NmEwMDAwIC0gICAgIDB4
N2ZmZjk0NmFmZmYzICBjb20uYXBwbGUuTGFuZ0FuYWx5c2lzICgxLjcuMCAtIDEuNy4wKSA8MkNC
RTdGNjEtMjA1Ni0zRjk2LTk5QTEtMEQ1Mjc3OTZBRkE2PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3Mv
TGFuZ0FuYWx5c2lzLmZyYW1ld29yay9WZXJzaW9ucy9BL0xhbmdBbmFseXNpcwogICAgMHg3ZmZm
OTQ2YjAwMDAgLSAgICAgMHg3ZmZmOTQ2ZmRmZmYgIGNvbS5hcHBsZS5wcmludC5mcmFtZXdvcmsu
UHJpbnRDb3JlICgxMiAtIDQ5MSkgPDUwMjdGRDU4LUYwRUUtMzNFNC04NTc3LTkzNENBMDZDRDJB
Rj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1ByaW50Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Q
cmludENvcmUKICAgIDB4N2ZmZjk0NmZlMDAwIC0gICAgIDB4N2ZmZjk0NzM5ZmZmICBjb20uYXBw
bGUuUUQgKDMuMTIgLSAzMTMpIDxCMzM5QzQxRC04Q0RGLTMzNDItODQxNC1GOTcxN0RDQ0FERDQ+
IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3Jr
L1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9RRAogICAgMHg3
ZmZmOTQ3M2EwMDAgLSAgICAgMHg3ZmZmOTQ3NDVmZmYgIGNvbS5hcHBsZS5zcGVlY2guc3ludGhl
c2lzLmZyYW1ld29yayAoNi42LjIgLSA2LjYuMikgPDc4NTNFRkY0LTYyQjktMzk0RS1CN0I4LTQx
QTY0NTY1NjgyMD4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNl
cy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1NwZWVjaFN5bnRoZXNpcy5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9TcGVlY2hTeW50aGVzaXMKICAgIDB4N2ZmZjk0NzQ2MDAwIC0gICAgIDB4
N2ZmZjk0OTUyZmZmICBjb20uYXBwbGUuYXVkaW8udG9vbGJveC5BdWRpb1Rvb2xib3ggKDEuMTQg
LSAxLjE0KSA8OTFEMkJBMjItQjE2OC0zQTlBLTkwMDgtNkZGQzVBOEZEQzFFPiAvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9BdWRpb1Rvb2xib3guZnJhbWV3b3JrL1ZlcnNpb25zL0EvQXVkaW9U
b29sYm94CiAgICAweDdmZmY5NDk1MzAwMCAtICAgICAweDdmZmY5NDk1M2ZmZiAgY29tLmFwcGxl
LmF1ZGlvLnVuaXRzLkF1ZGlvVW5pdCAoMS4xNCAtIDEuMTQpIDw4QzAxNTNGRC1GRUZGLTMwOUMt
QUFDRC1CRjk2NTdBMzFGOEU+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0F1ZGlvVW5pdC5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9BdWRpb1VuaXQKICAgIDB4N2ZmZjk0YWJjMDAwIC0gICAgIDB4
N2ZmZjk0ZTk2ZmZmICBjb20uYXBwbGUuQ0ZOZXR3b3JrICg4MTEuNS40IC0gODExLjUuNCkgPDRE
QkY4OTMyLTYyODYtM0IyMy04N0Q5LTYzNjE1Qjk5NThEOT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1l
d29ya3MvQ0ZOZXR3b3JrLmZyYW1ld29yay9WZXJzaW9ucy9BL0NGTmV0d29yawogICAgMHg3ZmZm
OTRlYjAwMDAgLSAgICAgMHg3ZmZmOTRlYjBmZmYgIGNvbS5hcHBsZS5DYXJib24gKDE1NCAtIDE1
NykgPDY5RjQwM0M3LUYwQ0ItMzRFNi04OUIwLTIzNUNGNDk3OEMxNz4gL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MvQ2FyYm9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NhcmJvbgogICAgMHg3ZmZm
OTRlYjEwMDAgLSAgICAgMHg3ZmZmOTRlYjRmZmYgIGNvbS5hcHBsZS5Db21tb25QYW5lbHMgKDEu
Mi42IC0gOTgpIDxCRjA0QkIyMi1ENTRDLTMwOUUtOUY1Qy04OTdEOTY5Q0FGNzA+IC9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtz
L0NvbW1vblBhbmVscy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db21tb25QYW5lbHMKICAgIDB4N2Zm
Zjk0ZWI1MDAwIC0gICAgIDB4N2ZmZjk1MWJlZmZmICBjb20uYXBwbGUuSElUb29sYm94ICgyLjEu
MSAtIDg1Ny44KSA8Q0FCMTQzRkUtQUVBRi0zRURFLUFEN0ItQzA0RTFCN0M1NjE1PiAvU3lzdGVt
L0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jr
cy9ISVRvb2xib3guZnJhbWV3b3JrL1ZlcnNpb25zL0EvSElUb29sYm94CiAgICAweDdmZmY5NTFi
ZjAwMCAtICAgICAweDdmZmY5NTFjMmZmNyAgY29tLmFwcGxlLmhlbHAgKDEuMy41IC0gNDkpIDxC
MUE5MzBFMy01OTA3LTM2NzctQkFDRC04NThFRjY4QjE3MkQ+IC9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0hlbHAuZnJhbWV3
b3JrL1ZlcnNpb25zL0EvSGVscAogICAgMHg3ZmZmOTUxYzMwMDAgLSAgICAgMHg3ZmZmOTUxYzhm
ZmYgIGNvbS5hcHBsZS5JbWFnZUNhcHR1cmUgKDkuMCAtIDkuMCkgPDM0MTI1MkI0LUUwODItMzYx
QS1CNzU2LTZBMzMwMjU5Qzc0MT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ2FyYm9uLmZy
YW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvSW1hZ2VDYXB0dXJlLmZyYW1ld29yay9WZXJz
aW9ucy9BL0ltYWdlQ2FwdHVyZQogICAgMHg3ZmZmOTUxYzkwMDAgLSAgICAgMHg3ZmZmOTUyNjBm
ZjMgIGNvbS5hcHBsZS5pbmsuZnJhbWV3b3JrICgxMC45IC0gMjE5KSA8MUJENDBCNDUtRkQzMy0z
MTc3LUE5MzUtNTY1RUU1RkM3OUQ3PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24u
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9JbmsuZnJhbWV3b3JrL1ZlcnNpb25zL0Ev
SW5rCiAgICAweDdmZmY5NTI2MTAwMCAtICAgICAweDdmZmY5NTI3YmZmZiAgY29tLmFwcGxlLm9w
ZW5zY3JpcHRpbmcgKDEuNyAtIDE3MikgPDMxQ0ZCQjM1LTI0QkQtM0UxMi05QjZCLTFGQTg0MkZC
NjA1Qj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ2FyYm9uLmZyYW1ld29yay9WZXJzaW9u
cy9BL0ZyYW1ld29ya3MvT3BlblNjcmlwdGluZy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9PcGVuU2Ny
aXB0aW5nCiAgICAweDdmZmY5NTI3YzAwMCAtICAgICAweDdmZmY5NTI3ZGZmMyAgY29tLmFwcGxl
LnByaW50LmZyYW1ld29yay5QcmludCAoMTIgLSAyNjcpIDxFMkY4MkYxRi1EQzI3LTNFRjAtOUY3
NS1CMzU0RjcwMTQ1MEE+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1ByaW50LmZyYW1ld29yay9WZXJzaW9ucy9BL1ByaW50
CiAgICAweDdmZmY5NTI3ZTAwMCAtICAgICAweDdmZmY5NTI4MGZmNyAgY29tLmFwcGxlLnNlY3Vy
aXR5aGkgKDkuMCAtIDU1MDA2KSA8REJENjU2MjktNTM1RC0zNjY5LTgyMTgtN0YwNzRENjE2MzhD
PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0Ev
RnJhbWV3b3Jrcy9TZWN1cml0eUhJLmZyYW1ld29yay9WZXJzaW9ucy9BL1NlY3VyaXR5SEkKICAg
IDB4N2ZmZjk1MjgxMDAwIC0gICAgIDB4N2ZmZjk1Mjg3ZmY3ICBjb20uYXBwbGUuc3BlZWNoLnJl
Y29nbml0aW9uLmZyYW1ld29yayAoNi4wLjEgLSA2LjAuMSkgPDA4Mjg5NURDLTNBQzctM0RFRi1B
RENBLTVCMDE4QzE5QzlEMz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ2FyYm9uLmZyYW1l
d29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvU3BlZWNoUmVjb2duaXRpb24uZnJhbWV3b3JrL1Zl
cnNpb25zL0EvU3BlZWNoUmVjb2duaXRpb24KICAgIDB4N2ZmZjk1Mjg4MDAwIC0gICAgIDB4N2Zm
Zjk1MzY3ZmZiICBjb20uYXBwbGUuY2xvdWRraXQuQ2xvdWRLaXQgKDY1MS4xNCAtIDY1MS4xNCkg
PDlGOTAxRTQ1LTIzRTMtM0Y0NS1CNjZGLTFCQUIzQUZDNDQ2Mj4gL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvQ2xvdWRLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ2xvdWRLaXQKICAgIDB4N2Zm
Zjk1MzY4MDAwIC0gICAgIDB4N2ZmZjk1MzY4ZmZmICBjb20uYXBwbGUuQ29jb2EgKDYuMTEgLSAy
MikgPDg1RURGQkUxLTc1RjAtMzY5RS04Q0E4LUM2QTYzOUI5OEZBNj4gL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MvQ29jb2EuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29jb2EKICAgIDB4N2ZmZjk1
Mzc2MDAwIC0gICAgIDB4N2ZmZjk1NDE2ZmZmICBjb20uYXBwbGUuY29udGFjdHMuQ29udGFjdHMg
KDEuMCAtIDIyNTAuMTApIDw5MTdFMkU4QS0xRTY3LTMxNjAtQjBGMy02RTRDRkMyMUI0NkM+IC9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvbnRhY3RzLmZyYW1ld29yay9WZXJzaW9ucy9BL0Nv
bnRhY3RzCiAgICAweDdmZmY5NTQxNzAwMCAtICAgICAweDdmZmY5NTRiMWZmYiAgY29tLmFwcGxl
LkNvbnRhY3RzVUkgKDEwLjAgLSAxNzU2LjIwKSA8MUM4RkI0M0EtMTE5Qy0zRTMzLUFGODctN0I3
NTFBRjgzQUI3PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db250YWN0c1VJLmZyYW1ld29y
ay9WZXJzaW9ucy9BL0NvbnRhY3RzVUkKICAgIDB4N2ZmZjk1NGIyMDAwIC0gICAgIDB4N2ZmZjk1
NTNmZmZmICBjb20uYXBwbGUuYXVkaW8uQ29yZUF1ZGlvICg0LjMuMCAtIDQuMy4wKSA8Nzg3NjdG
ODgtOTFENC0zMUNFLUFBQzYtMUY5NDA3RjQ3OUJCPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9Db3JlQXVkaW8uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUF1ZGlvCiAgICAweDdmZmY5NTU0
MDAwMCAtICAgICAweDdmZmY5NTU1M2ZmZiAgY29tLmFwcGxlLkNvcmVCbHVldG9vdGggKDEuMCAt
IDEpIDxCQ0I3ODc3Ny03NkYwLTNDQzEtODQ0My05RTYxQUVGN0VGNjM+IC9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0NvcmVCbHVldG9vdGguZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUJsdWV0
b290aAogICAgMHg3ZmZmOTU1NTQwMDAgLSAgICAgMHg3ZmZmOTU4NTNmZjMgIGNvbS5hcHBsZS5D
b3JlRGF0YSAoMTIwIC0gNzU0LjIpIDwwQzlEOUQ3OC03NThELTMxOEYtOTA0OS1ENDJDQzc5NDQz
NjM+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVEYXRhLmZyYW1ld29yay9WZXJzaW9u
cy9BL0NvcmVEYXRhCiAgICAweDdmZmY5NTg1NDAwMCAtICAgICAweDdmZmY5NTkwMGZmNyAgY29t
LmFwcGxlLkNvcmVEaXNwbGF5ICgxLjAgLSAxKSA8QUFENURGMEItMEQyMi0zMDVFLTg2RkYtQkIx
NDMxMTMwMzYzPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRGlzcGxheS5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9Db3JlRGlzcGxheQogICAgMHg3ZmZmOTU5MDEwMDAgLSAgICAgMHg3ZmZm
OTVkOTRmZmYgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiAoNi45IC0gMTM0OS44KSA8MzYzODVB
M0EtNjBEMy0zMkRCLUJGNTUtQzZEODkzMUE3QUE2PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRm91bmRhdGlvbgogICAg
MHg3ZmZmOTVkOTUwMDAgLSAgICAgMHg3ZmZmOTY0MzhmZjcgIGNvbS5hcHBsZS5Db3JlR3JhcGhp
Y3MgKDIuMCAtIDEwNzAuMjIpIDxDODREQUI5Ni0zMTNELTM5MkMtODE3RS1COEY4MTZBRjUyRTk+
IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVHcmFwaGljcy5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9Db3JlR3JhcGhpY3MKICAgIDB4N2ZmZjk2NDM5MDAwIC0gICAgIDB4N2ZmZjk2NjdjZmZi
ICBjb20uYXBwbGUuQ29yZUltYWdlICgxMi40LjAgLSA0NTEuNC45KSA8QkU0MzAzQzktQzlEOS0z
NjFELUFDOTQtREJFNDBFQjY3MDBFPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlSW1h
Z2UuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUltYWdlCiAgICAweDdmZmY5NjY3ZDAwMCAtICAg
ICAweDdmZmY5NjZlMmZmNyAgY29tLmFwcGxlLmNvcmVsb2NhdGlvbiAoMjEwMS4wLjYzKSA8Qjc2
RTZDMTMtRTEwQi0zRjJGLUFGRDctREIyQzBERUY2NTc5PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9Db3JlTG9jYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUxvY2F0aW9uCiAgICAw
eDdmZmY5NjZlMzAwMCAtICAgICAweDdmZmY5Njc5NGZmZiAgY29tLmFwcGxlLkNvcmVNZWRpYSAo
MS4wIC0gMTkwNy41OS4xLjUpIDw2Q0NERTgxQS02OTkyLTMzRUQtQTFEOS05RDI3QTRDMUUzMUY+
IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVNZWRpYS5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9Db3JlTWVkaWEKICAgIDB4N2ZmZjk2Nzk1MDAwIC0gICAgIDB4N2ZmZjk2N2UwZmY3ICBjb20u
YXBwbGUuQ29yZU1lZGlhSU8gKDgwNS4wIC0gNDkzMikgPEFDRTU0RERFLUM1MjYtMzFDQS05NzU1
LTM5Mzg2MDNFMzc1MT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZU1lZGlhSU8uZnJh
bWV3b3JrL1ZlcnNpb25zL0EvQ29yZU1lZGlhSU8KICAgIDB4N2ZmZjk2N2UxMDAwIC0gICAgIDB4
N2ZmZjk2N2UxZmZmICBjb20uYXBwbGUuQ29yZVNlcnZpY2VzICg3NzUuMTkgLSA3NzUuMTkpIDw3
MjU1OTE3RC1FRkJCLTNCRTItQThGRC1EQUQ2MzFCQzA5NDk+IC9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlU2VydmljZXMKICAg
IDB4N2ZmZjk2N2UyMDAwIC0gICAgIDB4N2ZmZjk2ODMzZmZmICBjb20uYXBwbGUuQUUgKDcxMi41
IC0gNzEyLjUpIDw2MUYyQUUyQy1FMDRFLTNGREYtOUU4OC0yMDEzMjUxMzZDODM+IC9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFt
ZXdvcmtzL0FFLmZyYW1ld29yay9WZXJzaW9ucy9BL0FFCiAgICAweDdmZmY5NjgzNDAwMCAtICAg
ICAweDdmZmY5NmIwZmZmNyAgY29tLmFwcGxlLkNvcmVTZXJ2aWNlcy5DYXJib25Db3JlICgxMTU5
LjYgLSAxMTU5LjYpIDwwOEFDMDc0Qy05NjVCLTNFREYtOEU0NS0wNzA3QzhERTlFQUQ+IC9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9G
cmFtZXdvcmtzL0NhcmJvbkNvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ2FyYm9uQ29yZQogICAg
MHg3ZmZmOTZiMTAwMDAgLSAgICAgMHg3ZmZmOTZiNDNmZmYgIGNvbS5hcHBsZS5EaWN0aW9uYXJ5
U2VydmljZXMgKDEuMiAtIDI3NCkgPEQyMzg2NkUyLUY3QzgtMzk4NC1BOUQ0LTk2NTUyQ0NERTU3
Mz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVNlcnZpY2VzLmZyYW1ld29yay9WZXJz
aW9ucy9BL0ZyYW1ld29ya3MvRGljdGlvbmFyeVNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9B
L0RpY3Rpb25hcnlTZXJ2aWNlcwogICAgMHg3ZmZmOTZiNDQwMDAgLSAgICAgMHg3ZmZmOTZiNGNm
ZjMgIGNvbS5hcHBsZS5Db3JlU2VydmljZXMuRlNFdmVudHMgKDEyMzAuNTAuMSAtIDEyMzAuNTAu
MSkgPDJBRDFCMEU1LTcyMTQtMzdDNC04RDExLUEyN0M5Q0FDMEY3ND4gL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MvQ29yZVNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3Mv
RlNFdmVudHMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRlNFdmVudHMKICAgIDB4N2ZmZjk2YjRkMDAw
IC0gICAgIDB4N2ZmZjk2Y2I5ZmY3ICBjb20uYXBwbGUuTGF1bmNoU2VydmljZXMgKDc3NS4xOSAt
IDc3NS4xOSkgPDk0RDE1QTJBLTg1MkMtM0I0Qi1BNzAxLTQzMDQzQzhGMTUyNz4gL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1l
d29ya3MvTGF1bmNoU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTGF1bmNoU2VydmljZXMK
ICAgIDB4N2ZmZjk2Y2JhMDAwIC0gICAgIDB4N2ZmZjk2ZDZhZmZiICBjb20uYXBwbGUuTWV0YWRh
dGEgKDEwLjcuMCAtIDEwNzUuNDApIDxEQTkxMUUxQi0zOTc3LTM4NkQtOTMwRC05NkJENTA4NUNC
OEU+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsvVmVy
c2lvbnMvQS9GcmFtZXdvcmtzL01ldGFkYXRhLmZyYW1ld29yay9WZXJzaW9ucy9BL01ldGFkYXRh
CiAgICAweDdmZmY5NmQ2YjAwMCAtICAgICAweDdmZmY5NmRjYWZmZiAgY29tLmFwcGxlLkNvcmVT
ZXJ2aWNlcy5PU1NlcnZpY2VzICg3NzUuMTkgLSA3NzUuMTkpIDxDNzA5QTc3My00RkEwLTMzREQt
QjNFMi1GQkE0MUUwMEYxNzc+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNl
cy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL09TU2VydmljZXMuZnJhbWV3b3JrL1Zl
cnNpb25zL0EvT1NTZXJ2aWNlcwogICAgMHg3ZmZmOTZkY2IwMDAgLSAgICAgMHg3ZmZmOTZlM2Jm
ZmYgIGNvbS5hcHBsZS5TZWFyY2hLaXQgKDEuNC4wIC0gMS40LjApIDw3QTZEREEyQi0wM0YxLTMx
MzctQkE5RS0xQ0MyMTE5NzNFMjY+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2
aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1NlYXJjaEtpdC5mcmFtZXdvcmsv
VmVyc2lvbnMvQS9TZWFyY2hLaXQKICAgIDB4N2ZmZjk2ZTNjMDAwIC0gICAgIDB4N2ZmZjk2ZTgx
ZmY3ICBjb20uYXBwbGUuY29yZXNlcnZpY2VzLlNoYXJlZEZpbGVMaXN0ICgzOCAtIDM4KSA8REEw
OTY2NzgtOTNBQi0zMjkxLUJERTItNDgyRjFENTQ0NTg5PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9TaGFyZWRG
aWxlTGlzdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9TaGFyZWRGaWxlTGlzdAogICAgMHg3ZmZmOTZl
ODIwMDAgLSAgICAgMHg3ZmZmOTZmMDlmZmIgIGNvbS5hcHBsZS5Db3JlVGVsZXBob255ICgxMTMg
LSA0OTU5KSA8Nzc0Rjc0RjQtRDc4Qi0zNkE1LTgxREYtMEVERUQ1NTE4OTdBPiAvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9Db3JlVGVsZXBob255LmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVU
ZWxlcGhvbnkKICAgIDB4N2ZmZjk2ZjBhMDAwIC0gICAgIDB4N2ZmZjk3MDU3ZmZiICBjb20uYXBw
bGUuQ29yZVRleHQgKDM1Mi4wIC0gNTQ0LjE1KSA8QkYwRUU1NzUtQkI3RS0zQkY5LTkwMjktMjMy
QjRBREMyNEU0PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlVGV4dC5mcmFtZXdvcmsv
VmVyc2lvbnMvQS9Db3JlVGV4dAogICAgMHg3ZmZmOTcwNTgwMDAgLSAgICAgMHg3ZmZmOTcwOGRm
ZjMgIGNvbS5hcHBsZS5Db3JlVmlkZW8gKDEuOCAtIDIzNS4zKSA8QUMxMUQ1RkItQzc3Qi0zNEY1
LUI5NDItRjY5OEU4NEMyMjlGPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlVmlkZW8u
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZVZpZGVvCiAgICAweDdmZmY5NzA4ZTAwMCAtICAgICAw
eDdmZmY5NzBmZmZmYiAgY29tLmFwcGxlLmZyYW1ld29yay5Db3JlV0xBTiAoMTEuMCAtIDEyMDAu
MzEpIDxFNDdDMDU2OC1FMzdCLTMwNTItOUU3Ny1GMEYzNzFEQ0RFN0Y+IC9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0NvcmVXTEFOLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVXTEFOCiAgICAw
eDdmZmY5NzEzMjAwMCAtICAgICAweDdmZmY5NzEzZGZmMyAgY29tLmFwcGxlLkRpcmVjdG9yeVNl
cnZpY2UuRnJhbWV3b3JrICgxMC4xMiAtIDE5NCkgPDQ1QkVBMjkyLTQ1NTAtMzA4Mi04Q0U3LTVE
NkNFN0UwMDUyQT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRGlyZWN0b3J5U2VydmljZS5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9EaXJlY3RvcnlTZXJ2aWNlCiAgICAweDdmZmY5NzEzZTAwMCAt
ICAgICAweDdmZmY5NzFmY2ZmNyAgY29tLmFwcGxlLkRpc2NSZWNvcmRpbmcgKDkuMC4zIC0gOTAz
MC40LjUpIDw4ODU0NEU5OS0yMTdBLTMzRDktOEFDNy1GNTREMjcxNjY1OEQ+IC9TeXN0ZW0vTGli
cmFyeS9GcmFtZXdvcmtzL0Rpc2NSZWNvcmRpbmcuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRGlzY1Jl
Y29yZGluZwogICAgMHg3ZmZmOTcxZmQwMDAgLSAgICAgMHg3ZmZmOTcyMDJmZmYgIGNvbS5hcHBs
ZS5EaXNrQXJiaXRyYXRpb24gKDIuNyAtIDIuNykgPDhBQzcyMTQzLUQzQzQtM0FBNi04NERGLTcz
NEUzQUZBQzQ5Qj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRGlza0FyYml0cmF0aW9uLmZy
YW1ld29yay9WZXJzaW9ucy9BL0Rpc2tBcmJpdHJhdGlvbgogICAgMHg3ZmZmOTczOTQwMDAgLSAg
ICAgMHg3ZmZmOTc3M2FmZjMgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uICg2LjkgLSAxMzQ5LjgxKSA8
NzMwQjc5NDQtQkI0My0zNUQ1LUE1NDYtOUY2Q0NFRDRCOUYzPiAvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgIDB4
N2ZmZjk3NzY2MDAwIC0gICAgIDB4N2ZmZjk3Nzk3ZmY3ICBjb20uYXBwbGUuR1NTICg0LjAgLSAy
LjApIDw2RkFERUQwQi0wNDI1LTM1NjctQTc1QS0wNDBDNUE0NjM4RUI+IC9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0dTUy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9HU1MKICAgIDB4N2ZmZjk3ODU3
MDAwIC0gICAgIDB4N2ZmZjk3OGZhZmZiICBjb20uYXBwbGUuQmx1ZXRvb3RoICg1LjAuNCAtIDUu
MC40ZjE4KSA8QjNGRUQ3RTctNDVFRS0zMkRELUI1OUUtNzk0MkJDRTk0MjZDPiAvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9JT0JsdWV0b290aC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9JT0JsdWV0
b290aAogICAgMHg3ZmZmOTc4ZmIwMDAgLSAgICAgMHg3ZmZmOTc5OTFmZjcgIGNvbS5hcHBsZS5m
cmFtZXdvcmsuSU9LaXQgKDIuMC4yIC0gMTMyNC42MC4zKSA8N0NFNEM5OEItMTA3Qy0zQUFBLUI0
OUEtRjJBQ0ZDQkJGNTI2PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9JT0tpdC5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9JT0tpdAogICAgMHg3ZmZmOTc5OTIwMDAgLSAgICAgMHg3ZmZmOTc5OThm
ZmIgIGNvbS5hcHBsZS5JT1N1cmZhY2UgKDE1OS43IC0gMTU5LjcpIDw0MDU1MDAxNy1FRjk2LTND
NTItQjQwMC04MDZBRkVFNEIxMzQ+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0lPU3VyZmFj
ZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9JT1N1cmZhY2UKICAgIDB4N2ZmZjk3OTk5MDAwIC0gICAg
IDB4N2ZmZjk3OWVhZmY3ICBjb20uYXBwbGUuSW1hZ2VDYXB0dXJlQ29yZSAoNy4wIC0gNy4wKSA8
QTY0MENBMkYtODA5My0zNEFCLTk0N0MtMjY2NzlFQ0I4QTZEPiAvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9JbWFnZUNhcHR1cmVDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL0ltYWdlQ2FwdHVy
ZUNvcmUKICAgIDB4N2ZmZjk3OWViMDAwIC0gICAgIDB4N2ZmZjk3YjRlZmY3ICBjb20uYXBwbGUu
SW1hZ2VJTy5mcmFtZXdvcmsgKDMuMy4wIC0gMTU5OS4xMC4yKSA8MkM3OTU5RkYtNkVGQi0zRDQz
LUJGRDItNEEzRjc5RjcxNzQ0PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9JbWFnZUlPLmZy
YW1ld29yay9WZXJzaW9ucy9BL0ltYWdlSU8KICAgIDB4N2ZmZjk3YjRmMDAwIC0gICAgIDB4N2Zm
Zjk3YjUzZmZmICBsaWJHSUYuZHlsaWIgKDE1OTkuMTAuMikgPDkwQTMwMzFELUJBQjMtM0FGRi05
RkFFLUJBN0I5NjMyRDYzQz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSW1hZ2VJTy5mcmFt
ZXdvcmsvVmVyc2lvbnMvQS9SZXNvdXJjZXMvbGliR0lGLmR5bGliCiAgICAweDdmZmY5N2I1NDAw
MCAtICAgICAweDdmZmY5N2M0NWZmNyAgbGliSlAyLmR5bGliICgxNTk5LjEwLjIpIDwyMDkwQzNC
Mi02RDVGLTM3MDAtQTMyNy1COTQ3Nzg2NDM5MUQ+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L0ltYWdlSU8uZnJhbWV3b3JrL1ZlcnNpb25zL0EvUmVzb3VyY2VzL2xpYkpQMi5keWxpYgogICAg
MHg3ZmZmOTdjNDYwMDAgLSAgICAgMHg3ZmZmOTdjNjlmZmYgIGxpYkpQRUcuZHlsaWIgKDE1OTku
MTAuMikgPDY4MDI3MTlELTVFM0ItM0MzOS04MkNDLTdEMzhDMjgwNTBGQj4gL1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvSW1hZ2VJTy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9SZXNvdXJjZXMvbGli
SlBFRy5keWxpYgogICAgMHg3ZmZmOTdjNmEwMDAgLSAgICAgMHg3ZmZmOTdjOTBmZmYgIGxpYlBu
Zy5keWxpYiAoMTU5OS4xMC4yKSA8NUREODAzODgtRDY1RC0zMURDLTkzNDQtREIwQzJCNTU4MkI2
PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9JbWFnZUlPLmZyYW1ld29yay9WZXJzaW9ucy9B
L1Jlc291cmNlcy9saWJQbmcuZHlsaWIKICAgIDB4N2ZmZjk3YzkxMDAwIC0gICAgIDB4N2ZmZjk3
YzkzZmYzICBsaWJSYWRpYW5jZS5keWxpYiAoMTU5OS4xMC4yKSA8Q0QwQzM2NkItQzJFQS0zQTRB
LUFGN0YtNzQxMDdBQjg0RDhEPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9JbWFnZUlPLmZy
YW1ld29yay9WZXJzaW9ucy9BL1Jlc291cmNlcy9saWJSYWRpYW5jZS5keWxpYgogICAgMHg3ZmZm
OTdjOTQwMDAgLSAgICAgMHg3ZmZmOTdjZTJmZmIgIGxpYlRJRkYuZHlsaWIgKDE1OTkuMTAuMikg
PEI2RjU1NTg3LTc4QjEtM0EwOS04MTI2LTY2MUFGQzZDRUEwMj4gL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvSW1hZ2VJTy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9SZXNvdXJjZXMvbGliVElGRi5k
eWxpYgogICAgMHg3ZmZmOTdjZTcwMDAgLSAgICAgMHg3ZmZmOTdlM2ZmZmIgIGNvbS5hcHBsZS5J
bnRlbnRzICgxLjAgLSAxKSA8RDZDREU1NkMtNkZDMy0zRDk0LTg1NjctNzNCODdENEFBRDRGPiAv
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9JbnRlbnRzLmZyYW1ld29yay9WZXJzaW9ucy9BL0lu
dGVudHMKICAgIDB4N2ZmZjk3ZTQwMDAwIC0gICAgIDB4N2ZmZjk4YTQ4ZmYzICBjb20uYXBwbGUu
SmF2YVNjcmlwdENvcmUgKDEyNjAzIC0gMTI2MDMuMi40KSA8RkZEMzczODEtMDVGNC0zOTA3LUJE
MzEtNzRDRkMzRDc4NjhGPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29y
ZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogICAgMHg3ZmZmOThhNDkwMDAg
LSAgICAgMHg3ZmZmOThhNjJmZjcgIGNvbS5hcHBsZS5LZXJiZXJvcyAoMy4wIC0gMSkgPEI5RDI0
MkVCLUUzMjUtM0EyMS05ODEyLUM3N0NCQkZCMEQ1MT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvS2VyYmVyb3MuZnJhbWV3b3JrL1ZlcnNpb25zL0EvS2VyYmVyb3MKICAgIDB4N2ZmZjk4YTYz
MDAwIC0gICAgIDB4N2ZmZjk4YTk5ZmZmICBjb20uYXBwbGUuTERBUEZyYW1ld29yayAoMi40LjI4
IC0gMTk0LjUpIDw0OTJBQ0EyMi0zNzNFLTNERDktQkFFQi05RUY2QUE5NjJGRDU+IC9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0xEQVAuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTERBUAogICAgMHg3
ZmZmOThhYmUwMDAgLSAgICAgMHg3ZmZmOThhZTJmZjMgIGNvbS5hcHBsZS5Db3JlQXV0aGVudGlj
YXRpb24uU2hhcmVkVXRpbHMgKDEuMCAtIDI0MC42MS4xKSA8OUE1MURDRkQtNTFCMi0zMEVELUFG
OTItNDY3MzZBOTY4NDU4PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Mb2NhbEF1dGhlbnRp
Y2F0aW9uLmZyYW1ld29yay9TdXBwb3J0L1NoYXJlZFV0aWxzLmZyYW1ld29yay9WZXJzaW9ucy9B
L1NoYXJlZFV0aWxzCiAgICAweDdmZmY5OGFlMzAwMCAtICAgICAweDdmZmY5OGFmNmZmMyAgY29t
LmFwcGxlLkxvY2FsQXV0aGVudGljYXRpb24gKDEuMCAtIDI0MC42MS4xKSA8MTdFMzE2N0ItNkY3
MS0zOUZDLUI1MkYtQTFCOUU1NjUwNDE0PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Mb2Nh
bEF1dGhlbnRpY2F0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0xvY2FsQXV0aGVudGljYXRpb24K
ICAgIDB4N2ZmZjk4YWY3MDAwIC0gICAgIDB4N2ZmZjk4Y2VhZmZmICBjb20uYXBwbGUuTWFwS2l0
ICgxLjAgLSAxNjk2LjI0LjkuMzAuMzMpIDwwRDc3ODFDQy1ERTgzLTMxRUMtOTI4NS1BQTg3ODRD
QThFQjI+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL01hcEtpdC5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9NYXBLaXQKICAgIDB4N2ZmZjk4Y2ViMDAwIC0gICAgIDB4N2ZmZjk4Y2YxZmZmICBjb20u
YXBwbGUuTWVkaWFBY2Nlc3NpYmlsaXR5ICgxLjAgLSA5Ny4xLjEpIDwwQkQ4MjczNS02NjQ0LTM3
Q0UtQjEzRC04RTdDQzU5QTE3NTI+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL01lZGlhQWNj
ZXNzaWJpbGl0eS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9NZWRpYUFjY2Vzc2liaWxpdHkKICAgIDB4
N2ZmZjk4Y2YyMDAwIC0gICAgIDB4N2ZmZjk4ZDA2ZmY3ICBjb20uYXBwbGUuTWVkaWFMaWJyYXJ5
ICgxLjMuMiAtIDczMykgPERBQUUyQ0VELTEzQ0QtMzUzQi1CQURBLTI0MTc4RTlGMzhFNz4gL1N5
c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvTWVkaWFMaWJyYXJ5LmZyYW1ld29yay9WZXJzaW9ucy9B
L01lZGlhTGlicmFyeQogICAgMHg3ZmZmOThkMDcwMDAgLSAgICAgMHg3ZmZmOTkyNDBmZjcgIGNv
bS5hcHBsZS5NZWRpYVRvb2xib3ggKDEuMCAtIDE5MDcuNTkuMS41KSA8MjAyNEEyQTItNTBCNi0z
NkFBLUJDNkQtM0FBRkE3OEVCNzA3PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9NZWRpYVRv
b2xib3guZnJhbWV3b3JrL1ZlcnNpb25zL0EvTWVkaWFUb29sYm94CiAgICAweDdmZmY5OTI0MTAw
MCAtICAgICAweDdmZmY5OTI5Y2ZmZiAgY29tLmFwcGxlLk1ldGFsICg4Ny4xOCAtIDg3LjE4KSA8
NUMyRjEyRkItNDVDMS0zMTAzLUE4MjctM0QyMjVCRjhEMDVBPiAvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9NZXRhbC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9NZXRhbAogICAgMHg3ZmZmOTliODUw
MDAgLSAgICAgMHg3ZmZmOTliOGRmZmYgIGNvbS5hcHBsZS5OZXRGUyAoNi4wIC0gNC4wKSA8MTRB
MjREMDAtNTY3My0zMzBBLTk1OUQtODdGNzIwNDBERUZGPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9OZXRGUy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9OZXRGUwogICAgMHg3ZmZmOTlmMzUwMDAg
LSAgICAgMHg3ZmZmOTlmODNmZjMgIGNvbS5hcHBsZS5vcGVuY2wgKDIuOC42IC0gMi44LjYpIDw1
RkFGNkY0OS0yNjQ4LTM5RTYtOTIyQi01NjMwQTVEN0Y3RTQ+IC9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL09wZW5DTC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9PcGVuQ0wKICAgIDB4N2ZmZjk5Zjg0
MDAwIC0gICAgIDB4N2ZmZjk5ZjlkZmZiICBjb20uYXBwbGUuQ0ZPcGVuRGlyZWN0b3J5ICgxMC4x
MiAtIDE5NCkgPEE2NEU5QTAxLTNGNkUtMzZFQS05QzEwLTg4QzU2NEE2OEM5RD4gL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvT3BlbkRpcmVjdG9yeS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFt
ZXdvcmtzL0NGT3BlbkRpcmVjdG9yeS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9DRk9wZW5EaXJlY3Rv
cnkKICAgIDB4N2ZmZjk5ZjllMDAwIC0gICAgIDB4N2ZmZjk5ZmE5ZmY3ICBjb20uYXBwbGUuT3Bl
bkRpcmVjdG9yeSAoMTAuMTIgLSAxOTQpIDw0Mjk4RkZEMC1CMUE3LTMwNjQtQUY1Qi03MDhCM0ZB
Mzg2NzE+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL09wZW5EaXJlY3RvcnkuZnJhbWV3b3Jr
L1ZlcnNpb25zL0EvT3BlbkRpcmVjdG9yeQogICAgMHg3ZmZmOTlmYWEwMDAgLSAgICAgMHg3ZmZm
OTlmYWNmZmYgIGxpYkNWTVNQbHVnaW5TdXBwb3J0LmR5bGliICgxNC4wLjE2KSA8QTIwRUMzNDgt
MzdDOS0zM0I2LTlBODEtMDYwMDZGMzIxNEExPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9P
cGVuR0wuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTGlicmFyaWVzL2xpYkNWTVNQbHVnaW5TdXBwb3J0
LmR5bGliCiAgICAweDdmZmY5OWZhZDAwMCAtICAgICAweDdmZmY5OWZiMGZmNyAgbGliQ29yZUZT
Q2FjaGUuZHlsaWIgKDE1Ni4zKSA8Njg3QzRDQzMtNjUzNy0zNDRCLThCRTEtNTIzNEM4Q0IyODY0
PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9PcGVuR0wuZnJhbWV3b3JrL1ZlcnNpb25zL0Ev
TGlicmFyaWVzL2xpYkNvcmVGU0NhY2hlLmR5bGliCiAgICAweDdmZmY5OWZiMTAwMCAtICAgICAw
eDdmZmY5OWZiNWZmZiAgbGliQ29yZVZNQ2xpZW50LmR5bGliICgxNTYuMykgPEU3QUVGQ0JFLUI2
QkYtM0M3Qy05QTRFLUU3OENCMDREQjc5ND4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvT3Bl
bkdMLmZyYW1ld29yay9WZXJzaW9ucy9BL0xpYnJhcmllcy9saWJDb3JlVk1DbGllbnQuZHlsaWIK
ICAgIDB4N2ZmZjk5ZmI2MDAwIC0gICAgIDB4N2ZmZjk5ZmJmZmY3ICBsaWJHRlhTaGFyZWQuZHls
aWIgKDE0LjAuMTYpIDw2MzU0MkU2OC1FQjFBLTNFQ0YtQUFGQi1FN0I4QUIzMTNDNzA+IC9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL09wZW5HTC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9MaWJyYXJp
ZXMvbGliR0ZYU2hhcmVkLmR5bGliCiAgICAweDdmZmY5OWZjMDAwMCAtICAgICAweDdmZmY5OWZj
YmZmZiAgbGliR0wuZHlsaWIgKDE0LjAuMTYpIDw4NEJFRUQ5Ny0wQTkzLTM1NkQtQTkyMi05N0VB
MzExRUE0NDY+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL09wZW5HTC5mcmFtZXdvcmsvVmVy
c2lvbnMvQS9MaWJyYXJpZXMvbGliR0wuZHlsaWIKICAgIDB4N2ZmZjk5ZmNjMDAwIC0gICAgIDB4
N2ZmZjlhMDA4ZmY3ICBsaWJHTEltYWdlLmR5bGliICgxNC4wLjE2KSA8MzUxOEE4NUMtNjkwNS0z
NTExLUE2QzktMkY4MkM1MTlEMjhGPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9PcGVuR0wu
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvTGlicmFyaWVzL2xpYkdMSW1hZ2UuZHlsaWIKICAgIDB4N2Zm
ZjlhMmY3MDAwIC0gICAgIDB4N2ZmZjlhMzM4ZmY3ICBsaWJHTFUuZHlsaWIgKDE0LjAuMTYpIDw5
ODYwRENGNy01NkUwLTNBOEYtQTM3Ny01MjYzNUM5RDhCMjc+IC9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL09wZW5HTC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9MaWJyYXJpZXMvbGliR0xVLmR5bGli
CiAgICAweDdmZmY5YWNhMDAwMCAtICAgICAweDdmZmY5YWNhZWZmZiAgY29tLmFwcGxlLm9wZW5n
bCAoMTQuMC4xNiAtIDE0LjAuMTYpIDwyN0U3RDc2RS1BMjZCLTM5RjgtOENGMi1BQjU3OTIwNzc2
QTM+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL09wZW5HTC5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9PcGVuR0wKICAgIDB4N2ZmZjlhZjFkMDAwIC0gICAgIDB4N2ZmZjliMDY0ZmZmICBjb20uYXBw
bGUuUVRLaXQgKDcuNy4zIC0gMjk3OC43KSA8NDlGODg3NzEtNTJGRS0zOTg5LUFBQjctMTBBNzQ5
NEM0NDE5PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9RVEtpdC5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9RVEtpdAogICAgMHg3ZmZmOWIwNjUwMDAgLSAgICAgMHg3ZmZmOWIyY2ZmZjcgIGNvbS5h
cHBsZS5pbWFnZUtpdCAoMy4wIC0gMTAyMykgPDlDNTQ3NTY1LUNCQUEtM0FDQi1BM0Y2LTEzNjZB
MERDRENCND4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvUXVhcnR6LmZyYW1ld29yay9WZXJz
aW9ucy9BL0ZyYW1ld29ya3MvSW1hZ2VLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSW1hZ2VLaXQK
ICAgIDB4N2ZmZjliMmQwMDAwIC0gICAgIDB4N2ZmZjliMzk3ZmZmICBjb20uYXBwbGUuUERGS2l0
ICgxLjAgLSAxKSA8QkU4MkYxNEMtQjIwQy0zNzcxLUIxNkMtRjA3MjNGNjU1MkFEPiAvU3lzdGVt
L0xpYnJhcnkvRnJhbWV3b3Jrcy9RdWFydHouZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jr
cy9QREZLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUERGS2l0CiAgICAweDdmZmY5YjM5ODAwMCAt
ICAgICAweDdmZmY5YjhiZWZmNyAgY29tLmFwcGxlLlF1YXJ0ekNvbXBvc2VyICg1LjEgLSAzNTYp
IDxDNjYyOTNGNi1FRjA1LTNCMzYtODUyNC0wODFDRUI5RkFERDc+IC9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL1F1YXJ0ei5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1F1YXJ0ekNv
bXBvc2VyLmZyYW1ld29yay9WZXJzaW9ucy9BL1F1YXJ0ekNvbXBvc2VyCiAgICAweDdmZmY5Yjhi
ZjAwMCAtICAgICAweDdmZmY5YjhlMmZmYiAgY29tLmFwcGxlLnF1YXJ0emZpbHRlcnMgKDEuMTAu
MCAtIDEuMTAuMCkgPDM2NTM0MkVELTdBMUEtM0M3NS1BRTYwLTkwNzY0RTk2MDM0Qz4gL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvUXVhcnR6LmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29y
a3MvUXVhcnR6RmlsdGVycy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9RdWFydHpGaWx0ZXJzCiAgICAw
eDdmZmY5YjhlMzAwMCAtICAgICAweDdmZmY5YjlkMGZmZiAgY29tLmFwcGxlLlF1aWNrTG9va1VJ
RnJhbWV3b3JrICg1LjAgLSA3MjAuNykgPDMxMzZDMjNFLTM5OUUtMzI5Ni05MjhBLUIxOEVDOUZD
NDIzQz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvUXVhcnR6LmZyYW1ld29yay9WZXJzaW9u
cy9BL0ZyYW1ld29ya3MvUXVpY2tMb29rVUkuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUXVpY2tMb29r
VUkKICAgIDB4N2ZmZjliOWQxMDAwIC0gICAgIDB4N2ZmZjliOWQxZmZmICBjb20uYXBwbGUucXVh
cnR6ZnJhbWV3b3JrICgxLjUgLSAyMSkgPDA5NDU1OTcyLThBMzMtM0Q2MS1CMTkzLUJBN0U3Q0Y5
ODRDQT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvUXVhcnR6LmZyYW1ld29yay9WZXJzaW9u
cy9BL1F1YXJ0egogICAgMHg3ZmZmOWI5ZDIwMDAgLSAgICAgMHg3ZmZmOWJiZDJmZmYgIGNvbS5h
cHBsZS5RdWFydHpDb3JlICgxLjExIC0gNDUzLjM5LjMpIDxBQjQ2RDYwRC0xN0E4LTMxMjItODAw
RS0yQTlEQTYwNEZDQkE+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1F1YXJ0ekNvcmUuZnJh
bWV3b3JrL1ZlcnNpb25zL0EvUXVhcnR6Q29yZQogICAgMHg3ZmZmOWJiZDMwMDAgLSAgICAgMHg3
ZmZmOWJjMjhmZmYgIGNvbS5hcHBsZS5RdWlja0xvb2tGcmFtZXdvcmsgKDUuMCAtIDcyMC43KSA8
M0JEN0JBMkYtOTI0Qy0zRUZGLUIyNkUtM0Y5MzBFNjJFNkI0PiAvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9RdWlja0xvb2suZnJhbWV3b3JrL1ZlcnNpb25zL0EvUXVpY2tMb29rCiAgICAweDdm
ZmY5YmMyOTAwMCAtICAgICAweDdmZmY5YmMzZWZmZiAgY29tLmFwcGxlLlNhZmFyaVNlcnZpY2Vz
LmZyYW1ld29yayAoMTI2MDMgLSAxMjYwMy4yLjQpIDxCRDA3MkUwQS05NzU5LTM0MUQtOUU1OS01
RDg2OTM4MDA3NkI+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NhZmFyaVNlcnZpY2VzLmZy
YW1ld29yay9WZXJzaW9ucy9BL1NhZmFyaVNlcnZpY2VzCiAgICAweDdmZmY5YzEzOTAwMCAtICAg
ICAweDdmZmY5YzQzYmZmNyAgY29tLmFwcGxlLnNlY3VyaXR5ICg3LjAgLSA1Nzc0MC42MC4xOCkg
PDAyMUFBQ0Y2LUQxNUYtMzdFMC04NDBCLTg4ODUzNjg0QkEwMD4gL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrL1ZlcnNpb25zL0EvU2VjdXJpdHkKICAgIDB4N2Zm
ZjljNDNjMDAwIC0gICAgIDB4N2ZmZjljNGIxZmZmICBjb20uYXBwbGUuc2VjdXJpdHlmb3VuZGF0
aW9uICg2LjAgLSA1NTEzMi41MC43KSA8NDQzM0MwQ0MtRkU5MC0zREQzLUJBQzEtQ0MzMUQ1MTVC
NTEwPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TZWN1cml0eUZvdW5kYXRpb24uZnJhbWV3
b3JrL1ZlcnNpb25zL0EvU2VjdXJpdHlGb3VuZGF0aW9uCiAgICAweDdmZmY5YzRiMjAwMCAtICAg
ICAweDdmZmY5YzRkYmZmZiAgY29tLmFwcGxlLnNlY3VyaXR5aW50ZXJmYWNlICgxMC4wIC0gNTUw
NzkuNTAuNCkgPDUwRTNFQUE4LTFBRjAtMzkxMC1BQUZELTU3RDkzRDk1OERGRj4gL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHlJbnRlcmZhY2UuZnJhbWV3b3JrL1ZlcnNpb25zL0Ev
U2VjdXJpdHlJbnRlcmZhY2UKICAgIDB4N2ZmZjljNGRjMDAwIC0gICAgIDB4N2ZmZjljNGRmZmYz
ICBjb20uYXBwbGUueHBjLlNlcnZpY2VNYW5hZ2VtZW50ICgxLjAgLSAxKSA8OUYyODVCMTktQjUz
Qi0zNTAyLTg1QTItNzJDMjZEQjQwRUE3PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TZXJ2
aWNlTWFuYWdlbWVudC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9TZXJ2aWNlTWFuYWdlbWVudAogICAg
MHg3ZmZmOWM0ZTAwMDAgLSAgICAgMHg3ZmZmOWM1MmFmZjcgIGNvbS5hcHBsZS5zb2NpYWxkLlNv
Y2lhbCAoPz8/KSA8NkZBQjA2NEMtRUFBOS0zMkExLTgzN0MtNTdGMURERjQ3RkQ0PiAvU3lzdGVt
L0xpYnJhcnkvRnJhbWV3b3Jrcy9Tb2NpYWwuZnJhbWV3b3JrL1ZlcnNpb25zL0EvU29jaWFsCiAg
ICAweDdmZmY5Yzg2NjAwMCAtICAgICAweDdmZmY5YzhkNWZmNyAgY29tLmFwcGxlLlN5c3RlbUNv
bmZpZ3VyYXRpb24gKDEuMTQgLSAxLjE0KSA8MjQxMkNERTAtQzMxNy0zMUVBLThGNTMtN0E1OEJC
RkNDNzIwPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TeXN0ZW1Db25maWd1cmF0aW9uLmZy
YW1ld29yay9WZXJzaW9ucy9BL1N5c3RlbUNvbmZpZ3VyYXRpb24KICAgIDB4N2ZmZjljOGQ2MDAw
IC0gICAgIDB4N2ZmZjljYzg0ZmZmICBjb20uYXBwbGUuVmlkZW9Ub29sYm94ICgxLjAgLSAxOTA3
LjU5LjEuNSkgPDc1RTJGOTAxLTU3MkYtM0ZDOC1BNTk5LTk2QTA4NUVFQkM4OD4gL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvVmlkZW9Ub29sYm94LmZyYW1ld29yay9WZXJzaW9ucy9BL1ZpZGVv
VG9vbGJveAogICAgMHg3ZmZmOWNjODUwMDAgLSAgICAgMHg3ZmZmOWUwMGJmZjMgIGNvbS5hcHBs
ZS5XZWJDb3JlICgxMjYwMyAtIDEyNjAzLjIuNCkgPEVDOUJDRjRELTRCQzYtM0NDRi1CRjVGLTEz
RkIxMEEyNDMwMz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9W
ZXJzaW9ucy9BL0ZyYW1ld29ya3MvV2ViQ29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9XZWJDb3Jl
CiAgICAweDdmZmY5ZTAwYzAwMCAtICAgICAweDdmZmY5ZTFmOGZmNyAgY29tLmFwcGxlLldlYktp
dExlZ2FjeSAoMTI2MDMgLSAxMjYwMy4yLjQpIDw4NDcxQjJCQi03OUExLTMyMTQtQjE5NS0xNjcw
NjNENUNGRDU+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdvcmsvVmVy
c2lvbnMvQS9GcmFtZXdvcmtzL1dlYktpdExlZ2FjeS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9XZWJL
aXRMZWdhY3kKICAgIDB4N2ZmZjllMWY5MDAwIC0gICAgIDB4N2ZmZjllNWE0ZmZiICBjb20uYXBw
bGUuV2ViS2l0ICgxMjYwMyAtIDEyNjAzLjIuNCkgPDFDRjhCNTQ1LTU5MTAtMzFCQy1BQTI5LUY4
OUFERkQ5MTlGOT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9W
ZXJzaW9ucy9BL1dlYktpdAogICAgMHg3ZmZmOWU1YTUwMDAgLSAgICAgMHg3ZmZmOWU1ZjBmZjcg
IGNvbS5hcHBsZS5BT1NBY2NvdW50cyAoMS4zLjEgLSA2My4wLjYpIDw4NTk3NzU5Qi0wQTg5LTMy
RDAtOEE5RC0yRUFEOTU2RDJBMUU+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9B
T1NBY2NvdW50cy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9BT1NBY2NvdW50cwogICAgMHg3ZmZmOWU1
ZjEwMDAgLSAgICAgMHg3ZmZmOWU4OGRmZjcgIGNvbS5hcHBsZS5BT1NLaXQgKDEuMDcgLSAyNTEp
IDw4RTgzQzU0Mi1FNEZGLTMyNDItOUNGMC1BMDdDMzUyRjE3RjE+IC9TeXN0ZW0vTGlicmFyeS9Q
cml2YXRlRnJhbWV3b3Jrcy9BT1NLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQU9TS2l0CiAgICAw
eDdmZmY5ZTg4ZTAwMCAtICAgICAweDdmZmY5ZTg4ZWZmYiAgY29tLmFwcGxlLkFPU01pZ3JhdGUg
KDEuMCAtIDEpIDxFQTJGMTY1Ny1EOERELTM1Q0EtQkVGMy05ODg0NDZDNUE2NEQ+IC9TeXN0ZW0v
TGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9BT1NNaWdyYXRlLmZyYW1ld29yay9WZXJzaW9ucy9B
L0FPU01pZ3JhdGUKICAgIDB4N2ZmZjllOWFmMDAwIC0gICAgIDB4N2ZmZjllOWI2ZmZiICBjb20u
YXBwbGUuQVBGUyAoMS4wIC0gMSkgPDRDREVGREYwLUE4Q0QtMzk4Mi1CNDI4LTAyQ0JBOEZBQzdD
Nj4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0FQRlMuZnJhbWV3b3JrL1ZlcnNp
b25zL0EvQVBGUwogICAgMHg3ZmZmOWVkZmUwMDAgLSAgICAgMHg3ZmZmOWVlOWNmZjcgIGNvbS5h
cHBsZS5hY2NvdW50cy5BY2NvdW50c0RhZW1vbiAoMTEzIC0gMTEzKSA8MkEzQzQxQkMtNzQwQi0z
RjdCLUFFODYtOEMyQTdCMzY5NTU5PiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3Mv
QWNjb3VudHNEYWVtb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQWNjb3VudHNEYWVtb24KICAgIDB4
N2ZmZjlmMTJhMDAwIC0gICAgIDB4N2ZmZjlmMTQ1ZmYzICBjb20uYXBwbGUuQXBwQ29udGFpbmVy
ICg0LjAgLSAzMDcuNTAuMjEpIDxDMkU2QkEzRC04MUZGLTM5QzMtQjRCRi1EQkI5QTE3REUwNzg+
IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9BcHBDb250YWluZXIuZnJhbWV3b3Jr
L1ZlcnNpb25zL0EvQXBwQ29udGFpbmVyCiAgICAweDdmZmY5ZjE0NjAwMCAtICAgICAweDdmZmY5
ZjE1M2ZmMyAgY29tLmFwcGxlLkFwcFNhbmRib3ggKDQuMCAtIDMwNy41MC4yMSkgPEJGOUZBNDI2
LThDMTEtMzU4Qi05RTFGLUEzOTAxRTNGMkIxND4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFt
ZXdvcmtzL0FwcFNhbmRib3guZnJhbWV3b3JrL1ZlcnNpb25zL0EvQXBwU2FuZGJveAogICAgMHg3
ZmZmOWYxNTQwMDAgLSAgICAgMHg3ZmZmOWYxNzZmZmIgIGNvbS5hcHBsZS5mcmFtZXdvcmsuQXBw
bGU4MDIxMSAoMTIuMCAtIDEyMDAuNDcpIDxCNjkyMDQ4RS0xQjYxLTNEQUYtOUNCQS00RDMxNEU3
NTYyREM+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9BcHBsZTgwMjExLmZyYW1l
d29yay9WZXJzaW9ucy9BL0FwcGxlODAyMTEKICAgIDB4N2ZmZjlmMTc3MDAwIC0gICAgIDB4N2Zm
ZjlmMTg2ZmViICBjb20uYXBwbGUuQXBwbGVGU0NvbXByZXNzaW9uICg4OC41MC4zIC0gMS4wKSA8
NDc4RThCRkYtOEJBMi0zNzVFLUJFMDItQkEyN0YxMTVDMTVBPiAvU3lzdGVtL0xpYnJhcnkvUHJp
dmF0ZUZyYW1ld29ya3MvQXBwbGVGU0NvbXByZXNzaW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0Fw
cGxlRlNDb21wcmVzc2lvbgogICAgMHg3ZmZmOWYyNGYwMDAgLSAgICAgMHg3ZmZmOWYyNWFmZjMg
IGNvbS5hcHBsZS5BcHBsZUlEQXV0aFN1cHBvcnQgKDEuMCAtIDEpIDxFMTdFRDJENC1CQjU5LTMx
NTYtOTlCMC1ENTM2MzFBRDI1NkU+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9B
cHBsZUlEQXV0aFN1cHBvcnQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQXBwbGVJREF1dGhTdXBwb3J0
CiAgICAweDdmZmY5ZjI3ODAwMCAtICAgICAweDdmZmY5ZjMwMzk3ZiAgY29tLmFwcGxlLkFwcGxl
SlBFRyAoMS4wIC0gMSkgPEI5RTk1NzBELTA0QTQtMzRFNC1CNzU2LUQyMDAwNDNCMjVCOD4gL1N5
c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0FwcGxlSlBFRy5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9BcHBsZUpQRUcKICAgIDB4N2ZmZjlmMzA0MDAwIC0gICAgIDB4N2ZmZjlmMzE2ZmZiICBj
b20uYXBwbGUuQXBwbGVMREFQICgxMC4xMiAtIDQxKSA8QUE2QUQ0MDEtNTFBQi0zODY5LUE1RUEt
MDIxNjk3MTFEQTU0PiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQXBwbGVMREFQ
LmZyYW1ld29yay9WZXJzaW9ucy9BL0FwcGxlTERBUAogICAgMHg3ZmZmOWYzMTcwMDAgLSAgICAg
MHg3ZmZmOWYzMzJmZmYgIGNvbS5hcHBsZS5hcHMuZnJhbWV3b3JrICg0LjAgLSA0LjApIDw2Q0Ew
N0NERi0xRTM1LTM0RTktOTVCRi1CRDU2NUZGNDJCQUQ+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRl
RnJhbWV3b3Jrcy9BcHBsZVB1c2hTZXJ2aWNlLmZyYW1ld29yay9WZXJzaW9ucy9BL0FwcGxlUHVz
aFNlcnZpY2UKICAgIDB4N2ZmZjlmMzMzMDAwIC0gICAgIDB4N2ZmZjlmMzNiZmZiICBjb20uYXBw
bGUuQXBwbGVTUlAgKDUuMCAtIDEpIDw2QUFFOTNCNi05ODE2LTM1QjItOUM1OS1ENUMzMjE4MDY1
QUY+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9BcHBsZVNSUC5mcmFtZXdvcmsv
VmVyc2lvbnMvQS9BcHBsZVNSUAogICAgMHg3ZmZmOWYzM2MwMDAgLSAgICAgMHg3ZmZmOWYzM2Zm
ZjMgIGNvbS5hcHBsZS5BcHBsZVN5c3RlbUluZm8gKDMuMS41IC0gMy4xLjUpIDw0MkExNzMxQS1B
NTc2LTMwN0EtQjA3Qy05RjhGNjQ2OTZDQjc+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3
b3Jrcy9BcHBsZVN5c3RlbUluZm8uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQXBwbGVTeXN0ZW1JbmZv
CiAgICAweDdmZmY5ZjM0MDAwMCAtICAgICAweDdmZmY5ZjM5MmZmZiAgY29tLmFwcGxlLkFwcGxl
VkFGcmFtZXdvcmsgKDUuMC4zNiAtIDUuMC4zNikgPDczNTIwNzhELUMyMzAtMzk3Qy04MUE1LTU3
QTQ4Q0YyMThDMD4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0FwcGxlVkEuZnJh
bWV3b3JrL1ZlcnNpb25zL0EvQXBwbGVWQQogICAgMHg3ZmZmOWYzOWMwMDAgLSAgICAgMHg3ZmZm
OWYzYTNmZjcgIGNvbS5hcHBsZS5Bc3NldENhY2hlU2VydmljZXMgKDQ4LjMgLSA0OC4zKSA8QzU5
RjcyOTUtMzZEOC0zMTA5LUE5MTAtQzgzRDg4NENDOTJDPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0
ZUZyYW1ld29ya3MvQXNzZXRDYWNoZVNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0Fzc2V0
Q2FjaGVTZXJ2aWNlcwogICAgMHg3ZmZmOWY0NDAwMDAgLSAgICAgMHg3ZmZmOWY2Y2NmZmYgIGNv
bS5hcHBsZS5BdXRoS2l0ICgxLjAgLSAxKSA8NUUwQzk3ODctNjU1Qy0zNkQ2LThDRUYtQzIyRUVD
RTQyN0VDPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQXV0aEtpdC5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9BdXRoS2l0CiAgICAweDdmZmY5ZjZjZDAwMCAtICAgICAweDdmZmY5Zjcz
NWZmYiAgY29tLmFwcGxlLkF1dGhLaXRVSSAoMS4wIC0gMSkgPEQ2N0YwNTQ3LUQzQ0UtMzU3OC05
Q0M5LTU5QjdCNkUyQURDNj4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0F1dGhL
aXRVSS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9BdXRoS2l0VUkKICAgIDB4N2ZmZjlmNzM2MDAwIC0g
ICAgIDB4N2ZmZjlmN2I0ZmY3ICBjb20uYXBwbGUuYmFja3VwLmZyYW1ld29yayAoMS44LjUgLSAx
LjguNSkgPENDNjc5ODkxLUU4RjUtMzE2Ni04RUI2LUFFQTA2OTU0QTUyRD4gL1N5c3RlbS9MaWJy
YXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0JhY2t1cC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9CYWNrdXAK
ICAgIDB4N2ZmZjlmN2JkMDAwIC0gICAgIDB4N2ZmZjlmN2MzZmZmICBjb20uYXBwbGUuQmV6ZWxT
ZXJ2aWNlc0ZXICgyNzQuMyAtIDI3NC4zKSA8REVDMkJDQjgtODI3RS0zMUI2LTg2OTUtN0Y4RjI3
RDg1MjQ5PiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQmV6ZWxTZXJ2aWNlcy5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9CZXplbFNlcnZpY2VzCiAgICAweDdmZmY5ZjdjNDAwMCAtICAg
ICAweDdmZmY5ZjdjNmZmMyAgY29tLmFwcGxlLkJpb0tpdEFnZ0RMaWJyYXJ5ICgxLjAgLSAxKSA8
Q0VEMzExREQtOTlENy0zNjRDLUFCREMtNjg1REJEMTQ2Njk4PiAvU3lzdGVtL0xpYnJhcnkvUHJp
dmF0ZUZyYW1ld29ya3MvQmlvS2l0QWdnRC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9CaW9LaXRBZ2dE
CiAgICAweDdmZmY5ZjdjNzAwMCAtICAgICAweDdmZmY5ZjdkY2ZmNyAgY29tLmFwcGxlLkJpb21l
dHJpY0tpdCAoMS4wIC0gMTAwLjk5KSA8Q0UyMTFENUYtM0FGNS0zMDMxLUE0RDQtMUY2NzQ1N0NB
RTIyPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQmlvbWV0cmljS2l0LmZyYW1l
d29yay9WZXJzaW9ucy9BL0Jpb21ldHJpY0tpdAogICAgMHg3ZmZmOWY3ZGQwMDAgLSAgICAgMHg3
ZmZmOWY4MWFmZmIgIGNvbS5hcHBsZS5ib20gKDE0LjAgLSAxOTQuMSkgPDBDQkVDQUYxLUI1RTAt
MzAyRi05OUVDLUQ3RUQxNEUxMkI4ND4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtz
L0JvbS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Cb20KICAgIDB4N2ZmZjlmODI0MDAwIC0gICAgIDB4
N2ZmZjlmODI0ZmZmICBjb20uYXBwbGUuU2FmYXJpREFWTm90aWZpZXIgKDEuMS4xIC0gMSkgPDFD
ODY0MjVCLTRGRjgtM0U4Mi1BRjU1LTE5NjQ4MDBEMUI1OT4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZh
dGVGcmFtZXdvcmtzL0Jvb2ttYXJrREFWLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3Mv
U2FmYXJpREFWTm90aWZpZXIuZnJhbWV3b3JrL1ZlcnNpb25zL0EvU2FmYXJpREFWTm90aWZpZXIK
ICAgIDB4N2ZmZjlmYTViMDAwIC0gICAgIDB4N2ZmZjlmYTg0ZmZiICBjb20uYXBwbGUuQ2FjaGVE
ZWxldGUgKDEuMCAtIDEpIDxEOTY3ODI4Mi02RjM0LTNFRTQtOTRFMi00MkIyRjZBMDU1QTU+IC9T
eXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9DYWNoZURlbGV0ZS5mcmFtZXdvcmsvVmVy
c2lvbnMvQS9DYWNoZURlbGV0ZQogICAgMHg3ZmZmOWZlNTAwMDAgLSAgICAgMHg3ZmZmOWZlNzdm
ZmYgIGNvbS5hcHBsZS5DYWxlbmRhckFnZW50TGluayAoOC4wIC0gMjUwKSA8RTUwRTI5RjYtMkJB
Qi0zQjhCLUJCRUEtN0RDMEI4QjA3N0FEPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29y
a3MvQ2FsZW5kYXJBZ2VudExpbmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ2FsZW5kYXJBZ2VudExp
bmsKICAgIDB4N2ZmZmEwNDNmMDAwIC0gICAgIDB4N2ZmZmEwNDY2ZmYzICBjb20uYXBwbGUuQ2h1
bmtpbmdMaWJyYXJ5ICgxNzMgLSAxNzMpIDxGQzIxNjVGOS1GQzkzLTM5QzAtODMyMy1DMkY0M0E1
RTAwQTM+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9DaHVua2luZ0xpYnJhcnku
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ2h1bmtpbmdMaWJyYXJ5CiAgICAweDdmZmZhMDQ2NzAwMCAt
ICAgICAweDdmZmZhMDRmM2ZmNyAgY29tLmFwcGxlLkNsb3VkRG9jcyAoMS4wIC0gNDg2LjI5KSA8
NzUxNTU0QjYtQTA5RS0zMkE4LUE2MDQtOUYxQjFGRDhCODREPiAvU3lzdGVtL0xpYnJhcnkvUHJp
dmF0ZUZyYW1ld29ya3MvQ2xvdWREb2NzLmZyYW1ld29yay9WZXJzaW9ucy9BL0Nsb3VkRG9jcwog
ICAgMHg3ZmZmYTBkMjcwMDAgLSAgICAgMHg3ZmZmYTBkMzlmZmYgIGNvbS5hcHBsZS5DbG91ZFBo
b3RvU2VydmljZXNDb25maWd1cmF0aW9uICgyLjAgLSAzMTUwLjQuMTIwKSA8N0U2NjNEMTAtNTY5
QS0zREYwLUE5N0YtQTVBMkU2MzgzQUQzPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29y
a3MvQ2xvdWRQaG90b1NlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvQ2xv
dWRQaG90b1NlcnZpY2VzQ29uZmlndXJhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9DbG91ZFBo
b3RvU2VydmljZXNDb25maWd1cmF0aW9uCiAgICAweDdmZmZhMGQzYTAwMCAtICAgICAweDdmZmZh
MGQzYWZmNyAgY29tLmFwcGxlLkNsb3VkUGhvdG9zQ29uZmlndXJhdGlvblhQQyAoMi4wIC0gMzE1
MC40LjEyMCkgPDhBRTgwQUQ3LTkwMUMtMzQxMC1CNDA3LTgyRUE5RDQwMkREOT4gL1N5c3RlbS9M
aWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0Nsb3VkUGhvdG9TZXJ2aWNlcy5mcmFtZXdvcmsvVmVy
c2lvbnMvQS9GcmFtZXdvcmtzL0Nsb3VkUGhvdG9zQ29uZmlndXJhdGlvblhQQy5mcmFtZXdvcmsv
VmVyc2lvbnMvQS9DbG91ZFBob3Rvc0NvbmZpZ3VyYXRpb25YUEMKICAgIDB4N2ZmZmEwZDNiMDAw
IC0gICAgIDB4N2ZmZmEwZDQ4ZmZmICBjb20uYXBwbGUuQ2xvdWRTZXJ2aWNlcyAoMS4wIC0gMjIy
LjYwLjEpIDwwQTU1N0RGRS0zMUM3LTNGNUYtQkVGQi1CRUM0MjA4RTM0Qzk+IC9TeXN0ZW0vTGli
cmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9DbG91ZFNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9B
L0Nsb3VkU2VydmljZXMKICAgIDB4N2ZmZmEwZDQ5MDAwIC0gICAgIDB4N2ZmZmEwZDdlZmZiICBj
b20uYXBwbGUuQ29tbWVyY2VLaXQgKDEuMi4wIC0gNTgzLjE3KSA8NTlCNTMwQTYtNjk0Qi0zMjY3
LUFDNzMtQ0I1RTRFMTRDM0JFPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQ29t
bWVyY2VLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29tbWVyY2VLaXQKICAgIDB4N2ZmZmEwZDdm
MDAwIC0gICAgIDB4N2ZmZmEwZDhhZmZiICBjb20uYXBwbGUuQ29tbWVyY2VDb3JlICgxLjAgLSA1
ODMuMTcpIDxFQTM2RDU5My03REZFLTM3NzYtQjY4OC1ERDM3MzZDRTAyNzQ+IC9TeXN0ZW0vTGli
cmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db21tZXJjZUtpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9G
cmFtZXdvcmtzL0NvbW1lcmNlQ29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db21tZXJjZUNvcmUK
ICAgIDB4N2ZmZmEwZDhiMDAwIC0gICAgIDB4N2ZmZmEwZDk0ZmZiICBjb20uYXBwbGUuQ29tbW9u
QXV0aCAoNC4wIC0gMi4wKSA8MjE2OTUwQ0ItMjY5Ri0zNDc2LUJBMTctRDYzNjNBQzQ5RkJDPiAv
U3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQ29tbW9uQXV0aC5mcmFtZXdvcmsvVmVy
c2lvbnMvQS9Db21tb25BdXRoCiAgICAweDdmZmZhMGQ5NTAwMCAtICAgICAweDdmZmZhMGRhMWZm
ZiAgY29tLmFwcGxlLmNvbW1vbnV0aWxpdGllcyAoOC4wIC0gOTAwKSA8QjBDOTZFNkQtMkM2OC0z
NkVGLTg2QkUtQTJFNUYzODBDNzhCPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3Mv
Q29tbW9uVXRpbGl0aWVzLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvbW1vblV0aWxpdGllcwogICAg
MHg3ZmZmYTBkYTIwMDAgLSAgICAgMHg3ZmZmYTBkYTZmZjcgIGNvbS5hcHBsZS5jb21tdW5pY2F0
aW9uc2ZpbHRlciAoMTAuMCAtIDEwMDApIDw0NzQ3RkJDRi1GMkJCLTNDMDYtOUMwNC00QzlGNEE1
Qjc4Njk+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db21tdW5pY2F0aW9uc0Zp
bHRlci5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db21tdW5pY2F0aW9uc0ZpbHRlcgogICAgMHg3ZmZm
YTBlNWIwMDAgLSAgICAgMHg3ZmZmYTBlYWJmZmIgIGNvbS5hcHBsZS5BZGRyZXNzQm9vay5Db250
YWN0c0ZvdW5kYXRpb24gKDguMCAtIDIyNTAuMTApIDwzMDk3REVBQy1FRDZCLTM1OEUtOEU4MS04
QjcwMTFDRUNBOTE+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db250YWN0c0Zv
dW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29udGFjdHNGb3VuZGF0aW9uCiAgICAweDdm
ZmZhMGVhYzAwMCAtICAgICAweDdmZmZhMGVjZWZmZiAgY29tLmFwcGxlLmNvbnRhY3RzLkNvbnRh
Y3RzUGVyc2lzdGVuY2UgKDEuMCAtIDIyNTAuMTApIDw3RUMwMzY2Ri0zMEE2LTM1MzgtOEJDOS04
Q0FCRDU1QzE3OEQ+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db250YWN0c1Bl
cnNpc3RlbmNlLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvbnRhY3RzUGVyc2lzdGVuY2UKICAgIDB4
N2ZmZmEwZWNmMDAwIC0gICAgIDB4N2ZmZmEwZjE3ZmY3ICBjb20uYXBwbGUuQ29udGFjdHMuQ29u
dGFjdHNVSUNvcmUgKDEuMCAtIDk5OS45LjkpIDwwMTUxNENBQS00NjkyLTMxREMtQkEzOS05MDc5
QkREMkJCQjg+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db250YWN0c1VJQ29y
ZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db250YWN0c1VJQ29yZQogICAgMHg3ZmZmYTBmMTgwMDAg
LSAgICAgMHg3ZmZmYTEyZjdmZjcgIGNvbS5hcHBsZS5Db3JlQVVDICgyMjYuMC4wIC0gMjI2LjAu
MCkgPEZCRjZDNUJDLTU5MzctMzk1Ny1CNkJBLUUxMDFERjlCMERGNj4gL1N5c3RlbS9MaWJyYXJ5
L1ByaXZhdGVGcmFtZXdvcmtzL0NvcmVBVUMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUFVQwog
ICAgMHg3ZmZmYTEyZjgwMDAgLSAgICAgMHg3ZmZmYTEzMjhmZmYgIGNvbS5hcHBsZS5Db3JlQVZD
SEQgKDUuOS4wIC0gNTkwMC40LjEpIDwzRjY4NTdEMS1BRTdDLTM1OTMtQjA2NC05MzBGNUJCNzI2
OUU+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db3JlQVZDSEQuZnJhbWV3b3Jr
L1ZlcnNpb25zL0EvQ29yZUFWQ0hECiAgICAweDdmZmZhMTNjMzAwMCAtICAgICAweDdmZmZhMTNj
YmZmYiAgY29tLmFwcGxlLmZyYW1ld29ya3MuQ29yZURhZW1vbiAoMS4zIC0gMS4zKSA8MkFCODZG
QUYtMzdCMy0zMzIzLTlFRjAtQ0E1OTFCNkUzNTdDPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZy
YW1ld29ya3MvQ29yZURhZW1vbi5mcmFtZXdvcmsvVmVyc2lvbnMvQi9Db3JlRGFlbW9uCiAgICAw
eDdmZmZhMTNjYzAwMCAtICAgICAweDdmZmZhMTRhNWZmMyAgY29tLmFwcGxlLkNvcmVEdWV0ICgx
LjAgLSAxKSA8MTQ3NUVDMzItNDE1QS0zMjZBLUEzNEQtQ0U2RjkxQTVDODQ4PiAvU3lzdGVtL0xp
YnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQ29yZUR1ZXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29y
ZUR1ZXQKICAgIDB4N2ZmZmExNGMyMDAwIC0gICAgIDB4N2ZmZmExNGQ0ZmZmICBjb20uYXBwbGUu
Q29yZUR1ZXREYWVtb25Qcm90b2NvbCAoMS4wIC0gMSkgPDBBQUM0NzkxLTJBOTAtM0ExNi1BRjA3
LUFGNTE5MzI5QTJGOT4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0NvcmVEdWV0
RGFlbW9uUHJvdG9jb2wuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUR1ZXREYWVtb25Qcm90b2Nv
bAogICAgMHg3ZmZmYTE0ZDcwMDAgLSAgICAgMHg3ZmZmYTE0ZDlmZmYgIGNvbS5hcHBsZS5Db3Jl
RHVldERlYnVnTG9nZ2luZyAoMS4wIC0gMSkgPDE5REQ4QkQ2LTYzQzUtM0Y0NC1BNEJFLUY3MUU2
NzE1Q0UzMj4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0NvcmVEdWV0RGVidWdM
b2dnaW5nLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVEdWV0RGVidWdMb2dnaW5nCiAgICAweDdm
ZmZhMTRkYzAwMCAtICAgICAweDdmZmZhMTRlY2ZmZiAgY29tLmFwcGxlLkNvcmVFbW9qaSAoMS4w
IC0gNDAuMy4zKSA8RTlBMjgzMDEtMkQ3OS0zQTk3LUEwNDYtMDI4MjU4QTZBQkU1PiAvU3lzdGVt
L0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQ29yZUVtb2ppLmZyYW1ld29yay9WZXJzaW9ucy9B
L0NvcmVFbW9qaQogICAgMHg3ZmZmYTE1OTgwMDAgLSAgICAgMHg3ZmZmYTE1YjBmZjMgIGNvbS5h
cHBsZS5Db3JlSW50ZXJlc3QgKDEuMCAtIDEpIDw0RDE1Mjg4Ri0wNDU3LTMyQUUtOENGNC03OEE0
RUJCMTBDMjY+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db3JlSW50ZXJlc3Qu
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUludGVyZXN0CiAgICAweDdmZmZhMTViMTAwMCAtICAg
ICAweDdmZmZhMTVjN2ZmMyAgY29tLmFwcGxlLkNvcmVNZWRpYUF1dGhvcmluZyAoMi4yIC0gOTU2
KSA8QUVCRkY1NUYtQkYxRS0zQ0E1LUFBOUMtMUNFMjIyMThBNjY1PiAvU3lzdGVtL0xpYnJhcnkv
UHJpdmF0ZUZyYW1ld29ya3MvQ29yZU1lZGlhQXV0aG9yaW5nLmZyYW1ld29yay9WZXJzaW9ucy9B
L0NvcmVNZWRpYUF1dGhvcmluZwogICAgMHg3ZmZmYTE1Y2UwMDAgLSAgICAgMHg3ZmZmYTE2NWVm
ZmIgIGNvbS5hcHBsZS5Db3JlUERGICg0LjAgLSA0KSA8N0Y1MEU0QTYtOTQwQy0zM0Y1LUJFNEUt
N0UwMUFGRTk4QThGPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQ29yZVBERi5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlUERGCiAgICAweDdmZmZhMTY1ZjAwMCAtICAgICAweDdm
ZmZhMTZkYWZmNyAgY29tLmFwcGxlLnNpcmkucGFyc2VjLkNvcmVQYXJzZWMgKDEuMCAtIDEpIDw1
NkVFMUE4Mi0xNTY2LTNEOEEtQjFENS1FRTc4MDU3REFDQkI+IC9TeXN0ZW0vTGlicmFyeS9Qcml2
YXRlRnJhbWV3b3Jrcy9Db3JlUGFyc2VjLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVQYXJzZWMK
ICAgIDB4N2ZmZmExNzYxMDAwIC0gICAgIDB4N2ZmZmExNzZiZmZiICBjb20uYXBwbGUuY29yZXJl
Y2VudHMgKDEuMCAtIDEpIDw5RUREQkJDMS05RDEwLTNEQjctODc2OS0zMDlBNEM5MDY2N0U+IC9T
eXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db3JlUmVjZW50cy5mcmFtZXdvcmsvVmVy
c2lvbnMvQS9Db3JlUmVjZW50cwogICAgMHg3ZmZmYTE4MjcwMDAgLSAgICAgMHg3ZmZmYTE4NTdm
ZjMgIGNvbS5hcHBsZS5Db3JlU2VydmljZXNJbnRlcm5hbCAoMjc2LjIgLSAyNzYuMikgPDA1RUI3
RDQ1LURENEMtM0EwRi1BQzYzLUEwQzJBNjhFNjQ4MT4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVG
cmFtZXdvcmtzL0NvcmVTZXJ2aWNlc0ludGVybmFsLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVT
ZXJ2aWNlc0ludGVybmFsCiAgICAweDdmZmZhMTg1ODAwMCAtICAgICAweDdmZmZhMTg5ZWZmZiAg
Y29tLmFwcGxlLkNvcmVTcG90bGlnaHQgKDEuMCAtIDE0NCkgPEFGRTg0OEM0LTg1MzQtMzk5QS05
NEIxLUU2RkY4M0Q1OTA5NT4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0NvcmVT
cG90bGlnaHQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZVNwb3RsaWdodAogICAgMHg3ZmZmYTFh
ZTgwMDAgLSAgICAgMHg3ZmZmYTFiNzdmZjcgIGNvbS5hcHBsZS5Db3JlU3ltYm9saWNhdGlvbiAo
NjIwNDYpIDw3ODM5Q0Q4RS0wMTFELTM1NjctODhERS0zRDQ3MkM2NjExMzY+IC9TeXN0ZW0vTGli
cmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db3JlU3ltYm9saWNhdGlvbi5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9Db3JlU3ltYm9saWNhdGlvbgogICAgMHg3ZmZmYTFiNzgwMDAgLSAgICAgMHg3ZmZmYTFj
YjdmZTcgIGNvbS5hcHBsZS5jb3JldWkgKDIuMSAtIDQzMS4zKSA8MkU4RkVDMTAtRkM1Qi0zNzgy
LTkyREEtQTg1QzI0QjdCRjdDPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQ29y
ZVVJLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVVSQogICAgMHg3ZmZmYTFjYjgwMDAgLSAgICAg
MHg3ZmZmYTFkODhmZjMgIGNvbS5hcHBsZS5Db3JlVXRpbHMgKDUuMSAtIDUxMC4zMSkgPEU2OEJC
OEVELTg4NzQtMzZFQy1BN0M1LTEwMTdDMEU3MjdDQj4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVG
cmFtZXdvcmtzL0NvcmVVdGlscy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlVXRpbHMKICAgIDB4
N2ZmZmExZGQ4MDAwIC0gICAgIDB4N2ZmZmExZTNkZmYzICBjb20uYXBwbGUuZnJhbWV3b3JrLkNv
cmVXaUZpICgxMi4wIC0gMTIwMC4zMSkgPERGMDk3MkVGLUY4MTctM0ZEMy04QzAwLTJENTdCODcz
OEQ4Qz4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0NvcmVXaUZpLmZyYW1ld29y
ay9WZXJzaW9ucy9BL0NvcmVXaUZpCiAgICAweDdmZmZhMWUzZTAwMCAtICAgICAweDdmZmZhMWU0
Y2ZmNyAgY29tLmFwcGxlLkNyYXNoUmVwb3J0ZXJTdXBwb3J0ICgxMC4xMiAtIDgyNykgPDE0MDM3
QTcxLUVDRkUtMzk0QS04RDZFLTJDRUNFOThGMDJFRT4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVG
cmFtZXdvcmtzL0NyYXNoUmVwb3J0ZXJTdXBwb3J0LmZyYW1ld29yay9WZXJzaW9ucy9BL0NyYXNo
UmVwb3J0ZXJTdXBwb3J0CiAgICAweDdmZmZhMWViZTAwMCAtICAgICAweDdmZmZhMWVjOGZmYiAg
Y29tLmFwcGxlLmZyYW1ld29yay5ERlJGb3VuZGF0aW9uICgxLjAgLSAxMDQuMjUpIDw3Q0ZGODk2
Qy1FRjIyLTM5NDEtQkIzRC1GMzYxNUNFNEM5MDg+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJh
bWV3b3Jrcy9ERlJGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0RGUkZvdW5kYXRpb24K
ICAgIDB4N2ZmZmExZWM5MDAwIC0gICAgIDB4N2ZmZmExZWNkZmYzICBjb20uYXBwbGUuRFNFeHRl
cm5hbERpc3BsYXkgKDMuMSAtIDM4MCkgPEExOTVDMENFLThFNEUtMzg0Qi05NTU2LTgyNzBFMzA2
RkUxRD4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0RTRXh0ZXJuYWxEaXNwbGF5
LmZyYW1ld29yay9WZXJzaW9ucy9BL0RTRXh0ZXJuYWxEaXNwbGF5CiAgICAweDdmZmZhMWVjZTAw
MCAtICAgICAweDdmZmZhMWYwMmZmMyAgY29tLmFwcGxlLmRhdGFkZXRlY3RvcnMgKDUuMCAtIDM0
OC4yLjEpIDxDRkM5NjM0OS03NDMyLTNBNkItQUI3RC01Mjg2N0RBMjI4MDk+IC9TeXN0ZW0vTGli
cmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9EYXRhRGV0ZWN0b3JzLmZyYW1ld29yay9WZXJzaW9ucy9B
L0RhdGFEZXRlY3RvcnMKICAgIDB4N2ZmZmExZjAzMDAwIC0gICAgIDB4N2ZmZmExZjc4ZmZiICBj
b20uYXBwbGUuZGF0YWRldGVjdG9yc2NvcmUgKDcuMCAtIDUzOS4xKSA8OUMzMTJBQUMtOEFFRS0z
QzcyLUJERTUtN0ZCRjYyNDUyNTI1PiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3Mv
RGF0YURldGVjdG9yc0NvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRGF0YURldGVjdG9yc0NvcmUK
ICAgIDB4N2ZmZmExZmI0MDAwIC0gICAgIDB4N2ZmZmExZmYzZmZmICBjb20uYXBwbGUuRGVidWdT
eW1ib2xzICgxMzcgLSAxMzcpIDw1OEE3MEI2Ni0yNjI4LTNDRkUtQjEwMy0yMjAwRDk1RkM1Rjc+
IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9EZWJ1Z1N5bWJvbHMuZnJhbWV3b3Jr
L1ZlcnNpb25zL0EvRGVidWdTeW1ib2xzCiAgICAweDdmZmZhMWZmNDAwMCAtICAgICAweDdmZmZh
MjEwNWZmZiAgY29tLmFwcGxlLmRlc2t0b3BzZXJ2aWNlcyAoMS4xMS41IC0gMS4xMS41KSA8NDZB
OUQ0RjMtMUVGOC0zNzNDLTk4QTQtQUQ0OEQyODVFNDg0PiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0
ZUZyYW1ld29ya3MvRGVza3RvcFNlcnZpY2VzUHJpdi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9EZXNr
dG9wU2VydmljZXNQcml2CiAgICAweDdmZmZhMjEwODAwMCAtICAgICAweDdmZmZhMjEwOWZmMyAg
Y29tLmFwcGxlLmRpYWdub3N0aWNsb2djb2xsZWN0aW9uICgxMC4wIC0gMTAwMCkgPDhGQUU0NkY5
LTc3Q0YtMzY1Mi04MkYwLTg3Mjk3N0M1RjQ1Qz4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFt
ZXdvcmtzL0RpYWdub3N0aWNMb2dDb2xsZWN0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0RpYWdu
b3N0aWNMb2dDb2xsZWN0aW9uCiAgICAweDdmZmZhMjEwYTAwMCAtICAgICAweDdmZmZhMjFkZmZm
ZiAgY29tLmFwcGxlLkRpc2tJbWFnZXNGcmFtZXdvcmsgKDQ0NC41MC4xNiAtIDQ0NC41MC4xNikg
PEY1N0I3NDEzLTY2MDMtMzkwQS1CNUMzLThBRDY4NzA4RTQ5Qj4gL1N5c3RlbS9MaWJyYXJ5L1By
aXZhdGVGcmFtZXdvcmtzL0Rpc2tJbWFnZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRGlza0ltYWdl
cwogICAgMHg3ZmZmYTIxZTAwMDAgLSAgICAgMHg3ZmZmYTIyNDdmZjMgIGNvbS5hcHBsZS5EaXNr
TWFuYWdlbWVudCAoMTAuMSAtIDExMTQpIDxBMENCN0JEQy03NkYzLTMxQTQtQUVDMS00MTQ2MDI3
Qzc4RkY+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9EaXNrTWFuYWdlbWVudC5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9EaXNrTWFuYWdlbWVudAogICAgMHg3ZmZmYTIyNDgwMDAgLSAg
ICAgMHg3ZmZmYTIyNTNmZmYgIGNvbS5hcHBsZS5EaXNwbGF5U2VydmljZXNGVyAoMy4xIC0gMzgw
KSA8ODNCQjdDNzctRjE4RC0zODJELTkwMjMtMjYxMzJEOTI1Rjc1PiAvU3lzdGVtL0xpYnJhcnkv
UHJpdmF0ZUZyYW1ld29ya3MvRGlzcGxheVNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0Rp
c3BsYXlTZXJ2aWNlcwogICAgMHg3ZmZmYTIyOTgwMDAgLSAgICAgMHg3ZmZmYTIyOWFmZmIgIGNv
bS5hcHBsZS5FRklMb2dpbiAoMi4wIC0gMikgPEE3NEIwMDY1LTY0M0YtM0JDMS04RkU5LUU3Q0VB
QTI5QUQ5QT4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0VGSUxvZ2luLmZyYW1l
d29yay9WZXJzaW9ucy9BL0VGSUxvZ2luCiAgICAweDdmZmZhMjJhODAwMCAtICAgICAweDdmZmZh
MjJhZWZmYiAgY29tLmFwcGxlLkVtYmVkZGVkT1NTdXBwb3J0SG9zdCAoMS4wIC0gMSkgPEE5RjU3
NEU0LTA1MDgtMzU4Qi04RTc5LUVEMDNEMDExRTg0NT4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVG
cmFtZXdvcmtzL0VtYmVkZGVkT1NTdXBwb3J0SG9zdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9FbWJl
ZGRlZE9TU3VwcG9ydEhvc3QKICAgIDB4N2ZmZmEyMzFhMDAwIC0gICAgIDB4N2ZmZmEyMzM3ZmYz
ICBjb20uYXBwbGUuaWNsb3VkLkZNQ29yZSAoMS4wIC0gMSkgPDQxQTdCMTlFLTA5MDktMzE0MS04
NzRELUFGQzQ1MUNGODYyQj4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0ZNQ29y
ZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GTUNvcmUKICAgIDB4N2ZmZmEyMzM4MDAwIC0gICAgIDB4
N2ZmZmEyMzRjZmYzICBjb20uYXBwbGUuaWNsb3VkLkZNQ29yZUxpdGUgKDEuMCAtIDEpIDxGQjQ0
OEFEOS01RTZELTNDMEMtQkJCOC0xNjJGRUFFNDhEOTc+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRl
RnJhbWV3b3Jrcy9GTUNvcmVMaXRlLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZNQ29yZUxpdGUKICAg
IDB4N2ZmZmEyMzRkMDAwIC0gICAgIDB4N2ZmZmEyMzUyZmZiICBjb20uYXBwbGUuaWNsb3VkLkZN
Q29yZVVJICgxLjAgLSAxKSA8NUUzNTIyRTgtMUVGMi0zRTc5LTkxMzUtOTkyQTlDNTVDODZCPiAv
U3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvRk1Db3JlVUkuZnJhbWV3b3JrL1ZlcnNp
b25zL0EvRk1Db3JlVUkKICAgIDB4N2ZmZmEyMzUzMDAwIC0gICAgIDB4N2ZmZmEyMzc5ZmZmICBj
b20uYXBwbGUuaWNsb3VkLkZNRiAoMS4wIC0gMSkgPDhEOUM5RUU2LTExNzUtMzEyOC1CQkI2LTY5
NEZCODQ2QTQ4RT4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0ZNRi5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9GTUYKICAgIDB4N2ZmZmEyMzdhMDAwIC0gICAgIDB4N2ZmZmEyMzhjZmYz
ICBjb20uYXBwbGUuaWNsb3VkLkZNRlVJICgxLjAgLSAxKSA8RjlBQjA2NDgtRjg0Ri0zMEZELTk1
NTYtOUUwNDFENjI2ODY2PiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvRk1GVUku
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvRk1GVUkKICAgIDB4N2ZmZmEyM2VkMDAwIC0gICAgIDB4N2Zm
ZmEyODFlZmY3ICBjb20uYXBwbGUudmlzaW9uLkZhY2VDb3JlICgzLjMuMiAtIDMuMy4yKSA8OTM5
MUQ1QTMtNzM4Qy0zMTM2LTlEMDctNTE4Q0I0M0RCQURBPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0
ZUZyYW1ld29ya3MvRmFjZUNvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRmFjZUNvcmUKICAgIDB4
N2ZmZmEyODI3MDAwIC0gICAgIDB4N2ZmZmEyODQ0ZmYzICBjb20uYXBwbGUuZnJhbWV3b3JrLmZh
bWlseWNvbnRyb2xzICg0LjEgLSA0MTApIDw5NEM2RDlERC05MTlCLTM4MjYtOEQxQS0xRUE3MUM5
Mjg1MTY+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9GYW1pbHlDb250cm9scy5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9GYW1pbHlDb250cm9scwogICAgMHg3ZmZmYTI4NGIwMDAgLSAg
ICAgMHg3ZmZmYTI4NTZmZjMgIGNvbS5hcHBsZS5pY2xvdWQuRmluZE15RGV2aWNlICgxLjAgLSAx
KSA8OTVBRkU4QUQtQTBBRC0zRUQ0LUE0QzEtQkQxNDQyNzdGRTdCPiAvU3lzdGVtL0xpYnJhcnkv
UHJpdmF0ZUZyYW1ld29ya3MvRmluZE15RGV2aWNlLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZpbmRN
eURldmljZQogICAgMHg3ZmZmYTNiNzUwMDAgLSAgICAgMHg3ZmZmYTNiNzVmZmYgIGxpYm1ldGFs
X3RpbWVzdGFtcC5keWxpYiAoNjAwLjAuNDkuOSkgPEU1RUVEOTI3LTE2NzEtMzM5MC1CQ0JCLUQ3
NjIwMUQ2M0M3Mz4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0dQVUNvbXBpbGVy
LmZyYW1ld29yay9saWJtZXRhbF90aW1lc3RhbXAuZHlsaWIKICAgIDB4N2ZmZmEzZTQ2MDAwIC0g
ICAgIDB4N2ZmZmEzZTYyZmZmICBjb20uYXBwbGUuR2VuZXJhdGlvbmFsU3RvcmFnZSAoMi4wIC0g
MjY3LjEpIDwzREUxQzU4MC1EMDg5LTM2MkQtODU4Mi04REU2OEEzQzVGMTM+IC9TeXN0ZW0vTGli
cmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9HZW5lcmF0aW9uYWxTdG9yYWdlLmZyYW1ld29yay9WZXJz
aW9ucy9BL0dlbmVyYXRpb25hbFN0b3JhZ2UKICAgIDB4N2ZmZmEzZTdiMDAwIC0gICAgIDB4N2Zm
ZmE0NTJkZmZmICBjb20uYXBwbGUuR2VvU2VydmljZXMgKDEuMCAtIDEyMjguMjQuOS4zMC4zNCkg
PDk2QkY5N0Y2LThGRjItM0ZDNC1BOEMxLTQ5OENCN0IwRDlBMD4gL1N5c3RlbS9MaWJyYXJ5L1By
aXZhdGVGcmFtZXdvcmtzL0dlb1NlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0dlb1NlcnZp
Y2VzCiAgICAweDdmZmZhNDU3MzAwMCAtICAgICAweDdmZmZhNDVlOWZmMyAgY29tLmFwcGxlLkhl
aW1kYWwgKDQuMCAtIDIuMCkgPDhGOUM5MDQxLTY2RDUtMzZDOS04QTRDLTE2NTgwMzVDMzExRD4g
L1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0hlaW1kYWwuZnJhbWV3b3JrL1ZlcnNp
b25zL0EvSGVpbWRhbAogICAgMHg3ZmZmYTQ1ZmMwMDAgLSAgICAgMHg3ZmZmYTQ2MjBmZjcgIGNv
bS5hcHBsZS5JQVNVdGlsaXRpZXMgKDEuMCAtIDQxNSkgPDI3NTYwNUZGLUVBMjItMzg0QS04MDAy
LUM0MjlDODUyNDY1Mz4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0lBU1V0aWxp
dGllcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9JQVNVdGlsaXRpZXMKICAgIDB4N2ZmZmE0NjIxMDAw
IC0gICAgIDB4N2ZmZmE0NmUxZmY3ICBjb20uYXBwbGUuaWRzICgxMC4wIC0gMTAwMCkgPDlGRjMx
MTlBLUQ3QTEtMzFBQy05RDFCLTA1NUIwNkMzODZEOD4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVG
cmFtZXdvcmtzL0lEUy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9JRFMKICAgIDB4N2ZmZmE0NmUyMDAw
IC0gICAgIDB4N2ZmZmE0NzI0ZmZiICBjb20uYXBwbGUuaWRzZm91bmRhdGlvbiAoMTAuMCAtIDEw
MDApIDxGRTEzQ0M4Ny0xNUE4LTMyOTctOTUzNi1DQTFBNzkyMTAyNzQ+IC9TeXN0ZW0vTGlicmFy
eS9Qcml2YXRlRnJhbWV3b3Jrcy9JRFNGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0lE
U0ZvdW5kYXRpb24KICAgIDB4N2ZmZmE0YjUwMDAwIC0gICAgIDB4N2ZmZmE0YmIzZmZiICBjb20u
YXBwbGUuaW1mb3VuZGF0aW9uICgxMC4wIC0gMTAwMCkgPDVEMDZDRDA4LThGOTktMzU3Qi1COTBC
LTNGMkY4QzIyRDRGOD4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0lNRm91bmRh
dGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9JTUZvdW5kYXRpb24KICAgIDB4N2ZmZmE0YzA0MDAw
IC0gICAgIDB4N2ZmZmE0YzBiZmZiICBjb20uYXBwbGUuSU9BY2NlbGVyYXRvciAoMzExLjEzIC0g
MzExLjEzKSA8NDBDMDRDNDEtQTc2QS0zNjg3LThENjQtRjc2RThDNDZBQTgxPiAvU3lzdGVtL0xp
YnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvSU9BY2NlbGVyYXRvci5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9JT0FjY2VsZXJhdG9yCiAgICAweDdmZmZhNGMwYzAwMCAtICAgICAweDdmZmZhNGMwY2ZmZiAg
Y29tLmFwcGxlLklPUGxhdGZvcm1QbHVnaW5GYW1pbHkgKDEuMCAtIDEpIDwyNTg3NUJENC05ODhD
LTM5QUItQUE5NS0yMTM2NENBRjYzQTI+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jr
cy9JT1BsYXRmb3JtUGx1Z2luRmFtaWx5LmZyYW1ld29yay9WZXJzaW9ucy9BL0lPUGxhdGZvcm1Q
bHVnaW5GYW1pbHkKICAgIDB4N2ZmZmE0YzBkMDAwIC0gICAgIDB4N2ZmZmE0YzIxZmY3ICBjb20u
YXBwbGUuSU9QcmVzZW50bWVudCAoMS4wIC0gMjkuMTApIDxBM0Y3QzFGNi1DRTUwLTM4MDQtQUFB
Ri03Qjc1RUJDNDZCRTQ+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9JT1ByZXNl
bnRtZW50LmZyYW1ld29yay9WZXJzaW9ucy9BL0lPUHJlc2VudG1lbnQKICAgIDB4N2ZmZmE0YzIy
MDAwIC0gICAgIDB4N2ZmZmE0YzQ0ZmZmICBjb20uYXBwbGUuSWNvblNlcnZpY2VzICg3NC40IC0g
NzQuNCkgPDIxOERERDA1LTM1RjQtMzgzMy1COThELTQ3MUVEMEVCQzAzMT4gL1N5c3RlbS9MaWJy
YXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0ljb25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9J
Y29uU2VydmljZXMKICAgIDB4N2ZmZmE0YzQ1MDAwIC0gICAgIDB4N2ZmZmE0YzRhZmZiICBjb20u
YXBwbGUuaW5jb21pbmdjYWxsZmlsdGVyICgxMC4wIC0gMTAwMCkgPDRDRUY3NjQ0LUExRTMtMzM5
Ny04QzNDLTQwOURFQzBFNkFCRj4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0lu
Y29taW5nQ2FsbEZpbHRlci5mcmFtZXdvcmsvVmVyc2lvbnMvQS9JbmNvbWluZ0NhbGxGaWx0ZXIK
ICAgIDB4N2ZmZmE0YzRiMDAwIC0gICAgIDB4N2ZmZmE0YzY4ZmY3ICBjb20uYXBwbGUuRGlzdHJp
YnV0aW9uS2l0ICg3MDAgLSAxMDAwKSA8QzVDQzIzNTktOEUzQi0zOTE5LThDODctRTBCMjA4RjEw
QTQ2PiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvSW5zdGFsbC5mcmFtZXdvcmsv
RnJhbWV3b3Jrcy9EaXN0cmlidXRpb25LaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRGlzdHJpYnV0
aW9uS2l0CiAgICAweDdmZmZhNGM2OTAwMCAtICAgICAweDdmZmZhNGM3MGZmYiAgY29tLmFwcGxl
Lkluc3RhbGxlckRpYWdub3N0aWNzICgxLjAgLSAxKSA8NEM3RTg1OTEtQTJCOS0zNDk4LTk2NkUt
RkM4MDQwQjNBQUI4PiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvSW5zdGFsbGVy
RGlhZ25vc3RpY3MuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSW5zdGFsbGVyRGlhZ25vc3RpY3MKICAg
IDB4N2ZmZmE0YzcxMDAwIC0gICAgIDB4N2ZmZmE0YzcxZmZmICBjb20uYXBwbGUuSW50ZW50c0Zv
dW5kYXRpb24gKDEuMCAtIDEpIDxDQkEzOTQyNy1FRkI2LTM4Q0YtOUY2Qi1FNjhENDE2QTI3MkI+
IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9JbnRlbnRzRm91bmRhdGlvbi5mcmFt
ZXdvcmsvVmVyc2lvbnMvQS9JbnRlbnRzRm91bmRhdGlvbgogICAgMHg3ZmZmYTRjZTAwMDAgLSAg
ICAgMHg3ZmZmYTRjZjBmZjMgIGNvbS5hcHBsZS5JbnRsUHJlZmVyZW5jZXMgKDIuMCAtIDIxNikg
PDQ3NjgxQUU4LTQ1MzktMzUyNS04OTBDLTIwNkIzMDFDRUM3Nz4gL1N5c3RlbS9MaWJyYXJ5L1By
aXZhdGVGcmFtZXdvcmtzL0ludGxQcmVmZXJlbmNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9JbnRs
UHJlZmVyZW5jZXMKICAgIDB4N2ZmZmE0ZDFkMDAwIC0gICAgIDB4N2ZmZmE0ZDJhZmZmICBjb20u
YXBwbGUuc2VjdXJpdHkuS2V5Y2hhaW5DaXJjbGUuS2V5Y2hhaW5DaXJjbGUgKDEuMCAtIDEpIDww
RTY0RTREOC04QzJGLTMzNzQtOTU3Qy02RTdEOTc1QzcxRjA+IC9TeXN0ZW0vTGlicmFyeS9Qcml2
YXRlRnJhbWV3b3Jrcy9LZXljaGFpbkNpcmNsZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9LZXljaGFp
bkNpcmNsZQogICAgMHg3ZmZmYTRkMmIwMDAgLSAgICAgMHg3ZmZmYTRlZTJmZmYgIGNvbS5hcHBs
ZS5MYW5ndWFnZU1vZGVsaW5nICgxLjAgLSAxMjMuMi41KSA8QThDQTk2NUYtMDM5OS0zMTBELTkx
QzMtQjkzRERERTlBNDQyPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvTGFuZ3Vh
Z2VNb2RlbGluZy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9MYW5ndWFnZU1vZGVsaW5nCiAgICAweDdm
ZmZhNGVlMzAwMCAtICAgICAweDdmZmZhNGVmMmZmNyAgY29tLmFwcGxlLkxvY2FsQXV0aGVudGlj
YXRpb25VSSAoMS4wIC0gMjQwLjYxLjEpIDwyREUxQzE0Ri04MUM4LTNFNjMtQjIzOS0wQkRDM0M3
RUZEREQ+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Mb2NhbEF1dGhlbnRpY2F0
aW9uVUkuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTG9jYWxBdXRoZW50aWNhdGlvblVJCiAgICAweDdm
ZmZhNGYyZTAwMCAtICAgICAweDdmZmZhNGYzMmZmNyAgY29tLmFwcGxlLkxvZ2luVUlDb3JlICg0
LjAgLSA0LjApIDw3QURBNDBCMS05OTVDLTM5NDctODE2My0yMjU3RTdGQjk0NDA+IC9TeXN0ZW0v
TGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Mb2dpblVJS2l0LmZyYW1ld29yay9WZXJzaW9ucy9B
L0ZyYW1ld29ya3MvTG9naW5VSUNvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTG9naW5VSUNvcmUK
ICAgIDB4N2ZmZmE0ZmRlMDAwIC0gICAgIDB4N2ZmZmE1MGEwZmYzICBjb20uYXBwbGUuTU1DUyAo
MS4zIC0gMzg1LjQpIDxEM0Q3NkNFMC1ERTA1LTM3M0UtQjc1Ny05RTRCNDkyMDU2NUQ+IC9TeXN0
ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9NTUNTLmZyYW1ld29yay9WZXJzaW9ucy9BL01N
Q1MKICAgIDB4N2ZmZmE1NTUyMDAwIC0gICAgIDB4N2ZmZmE1NTU1ZmZmICBjb20uYXBwbGUuTWFu
Z3JvdmUgKDEuMCAtIDEpIDw5ODgxNDk2Ni1GRDY1LTMwMkItQjQ3RS0wMDkyOERDMzRFNUM+IC9T
eXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9NYW5ncm92ZS5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9NYW5ncm92ZQogICAgMHg3ZmZmYTU1OTQwMDAgLSAgICAgMHg3ZmZmYTU1OTZmZmIgIGNv
bS5hcHBsZS5tYXJjbyAoMTAuMCAtIDEwMDApIDxBNEQzNUQ0OC02MDIwLTNGRjctQkI0Ri04MTkz
NTM0QTRCOEY+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9NYXJjby5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9NYXJjbwogICAgMHg3ZmZmYTU2MmUwMDAgLSAgICAgMHg3ZmZmYTU2NjJm
ZjMgIGNvbS5hcHBsZS5NZWRpYUtpdCAoMTYgLSA4NDUpIDw4ODNEQzYzRi1GOTBGLTNGQjktOEMy
My05Q0VDRDcyRUJDREU+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9NZWRpYUtp
dC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9NZWRpYUtpdAogICAgMHg3ZmZmYTU4MDMwMDAgLSAgICAg
MHg3ZmZmYTU4N2NmZjcgIGNvbS5hcHBsZS5NZXRhbFBlcmZvcm1hbmNlU2hhZGVycy5NZXRhbFBl
cmZvcm1hbmNlU2hhZGVycyAoMS4wIC0gMSkgPEMzMjNGQzk0LUZGQTUtM0VFNi1CMkFDLTdFNjFF
QTkyRjMwND4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL01ldGFsUGVyZm9ybWFu
Y2VTaGFkZXJzLmZyYW1ld29yay9WZXJzaW9ucy9BL01ldGFsUGVyZm9ybWFuY2VTaGFkZXJzCiAg
ICAweDdmZmZhNTg4ZTAwMCAtICAgICAweDdmZmZhNTlkN2ZmNyAgY29tLmFwcGxlLm1vYmlsZWRl
dmljZSAoOTA1LjYwLjIgLSA5MDUuNjAuMikgPEFEOTY1Mjk3LTREQjQtM0JCRC05NDlGLTI2QUVG
RUE3Q0UzQz4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL01vYmlsZURldmljZS5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9Nb2JpbGVEZXZpY2UKICAgIDB4N2ZmZmE1OWQ4MDAwIC0gICAg
IDB4N2ZmZmE1OWU1ZmYzICBjb20uYXBwbGUuTW9iaWxlS2V5QmFnICgyLjAgLSAxLjApIDxGNDJF
QjhCMS1CQTY4LTM3NjktOThCRS0yNkExOEFFRDkwMkY+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRl
RnJhbWV3b3Jrcy9Nb2JpbGVLZXlCYWcuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTW9iaWxlS2V5QmFn
CiAgICAweDdmZmZhNTlmNjAwMCAtICAgICAweDdmZmZhNWExZWZmNyAgY29tLmFwcGxlLk11bHRp
dG91Y2hTdXBwb3J0LmZyYW1ld29yayAoMzY4LjE2IC0gMzY4LjE2KSA8NTEyQURFQzYtRDY5NC0z
RDczLUE0OEEtNkJFNzlDRDM5NTM5PiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3Mv
TXVsdGl0b3VjaFN1cHBvcnQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTXVsdGl0b3VjaFN1cHBvcnQK
ICAgIDB4N2ZmZmE1YTFmMDAwIC0gICAgIDB4N2ZmZmE1YWNmZmY3ICBjb20uYXBwbGUuTmF2aWdh
dGlvbiAoMS4wIC0gMSkgPEZGRjU0NzM2LTZDNDgtMzlBOC05MjY4LTFGMjdDNzk0RUYzMz4gL1N5
c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL05hdmlnYXRpb24uZnJhbWV3b3JrL1ZlcnNp
b25zL0EvTmF2aWdhdGlvbgogICAgMHg3ZmZmYTVhZDAwMDAgLSAgICAgMHg3ZmZmYTVhZGJmZmYg
IGNvbS5hcHBsZS5OZXRBdXRoICg2LjIgLSA2LjIpIDw5N0Y0ODdENi04MDg5LTMxQTgtQjY4Qy02
QzFFQUM2RUQxQjU+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9OZXRBdXRoLmZy
YW1ld29yay9WZXJzaW9ucy9BL05ldEF1dGgKICAgIDB4N2ZmZmE1YWU4MDAwIC0gICAgIDB4N2Zm
ZmE1YjY1ZmZmICBjb20uYXBwbGUuTmV0d29yayAoMS4wIC0gMSkgPDFCOTNCQTA2LTM1NDQtMzcw
Ri04MzQ5LTQ3MTgyNkY1QjI0Qz4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL05l
dHdvcmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTmV0d29yawogICAgMHg3ZmZmYTVmMjgwMDAgLSAg
ICAgMHg3ZmZmYTVmMmFmZmYgIGNvbS5hcHBsZS5PQXV0aCAoMjUgLSAyNSkgPEQ2RTVGMzZELTcx
QjgtM0UxMi05NjAxLUNFMkExRDZFRDYwQj4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdv
cmtzL09BdXRoLmZyYW1ld29yay9WZXJzaW9ucy9BL09BdXRoCiAgICAweDdmZmZhNWY0MzAwMCAt
ICAgICAweDdmZmZhNWY0YmZmYiAgY29tLmFwcGxlLlBhY2thZ2VLaXQuUGFja2FnZVVJS2l0ICgz
LjAgLSA2MjkpIDw3MzlENDFFNy0zODdCLTNGOTgtODc2Qi03OTYxREY5OTI0QzA+IC9TeXN0ZW0v
TGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9QYWNrYWdlS2l0LmZyYW1ld29yay9GcmFtZXdvcmtz
L1BhY2thZ2VVSUtpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9QYWNrYWdlVUlLaXQKICAgIDB4N2Zm
ZmE1ZjRjMDAwIC0gICAgIDB4N2ZmZmE2MDRmZmVmICBjb20uYXBwbGUuUGFja2FnZUtpdCAoMy4w
IC0gNjI5KSA8Njg1MkQ4OTAtRjRBOC0zN0ExLUJGOEQtODc3NjM2MTZBMTE3PiAvU3lzdGVtL0xp
YnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvUGFja2FnZUtpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Q
YWNrYWdlS2l0CiAgICAweDdmZmZhNjA5MTAwMCAtICAgICAweDdmZmZhNjA5MmZmZiAgY29tLmFw
cGxlLlBhcnNlY1N1YnNjcmlwdGlvblNlcnZpY2VTdXBwb3J0ICgxLjAgLSA5NzcpIDw5QUQyQUEz
Mi0zNDE4LTM2RkMtOUQ1OC00RDUxMzI1NzE1NkE+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJh
bWV3b3Jrcy9QYXJzZWNTdWJzY3JpcHRpb25TZXJ2aWNlU3VwcG9ydC5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9QYXJzZWNTdWJzY3JpcHRpb25TZXJ2aWNlU3VwcG9ydAogICAgMHg3ZmZmYTYzYjMwMDAg
LSAgICAgMHg3ZmZmYTYzZjRmZjMgIGNvbS5hcHBsZS5QZXJmb3JtYW5jZUFuYWx5c2lzICgxLjE0
OC4zIC0gMTQ4LjMpIDw2QTIxQUI0MS0zQUFBLTMyRjMtOUQ0Ni0yNTU1QTE0M0E4Qjk+IC9TeXN0
ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9QZXJmb3JtYW5jZUFuYWx5c2lzLmZyYW1ld29y
ay9WZXJzaW9ucy9BL1BlcmZvcm1hbmNlQW5hbHlzaXMKICAgIDB4N2ZmZmE2NDE3MDAwIC0gICAg
IDB4N2ZmZmE2NDI4ZmZiICBjb20uYXBwbGUuUGVyc29uYUtpdCAoMS4wIC0gMSkgPEUwNDcwN0RC
LUZBOTctMzQyOS04N0QyLTdERDZCRTk1MThCRT4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFt
ZXdvcmtzL1BlcnNvbmFLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUGVyc29uYUtpdAogICAgMHg3
ZmZmYTY0MjkwMDAgLSAgICAgMHg3ZmZmYTY0MzZmZjMgIGNvbS5hcHBsZS5QZXJzb25hVUkgKDEu
MCAtIDEpIDwxRUI0RkQ0QS1ENTlDLTM4OTctQjM1Qi0zMjkxRjQwNUY4MTY+IC9TeXN0ZW0vTGli
cmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9QZXJzb25hVUkuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUGVy
c29uYVVJCiAgICAweDdmZmZhNjQzNzAwMCAtICAgICAweDdmZmZhNjQzZWZmMyAgY29tLmFwcGxl
LnBob25lbnVtYmVycyAoMS4xLjEgLSAxMDUpIDxCOEVGREREMy1CQTI2LTM5QjgtOUVBMC0zNjQ5
MTg0QkY1Mjc+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9QaG9uZU51bWJlcnMu
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvUGhvbmVOdW1iZXJzCiAgICAweDdmZmZhNmEyYzAwMCAtICAg
ICAweDdmZmZhNmE0ZWZmZiAgY29tLmFwcGxlLnBsdWdpbmtpdC5mcmFtZXdvcmsgKDEuMCAtIDEp
IDw3NzVFMTE2OC05QTI4LTM0RUMtQUFDRC1CNzM4MDNCOURERDQ+IC9TeXN0ZW0vTGlicmFyeS9Q
cml2YXRlRnJhbWV3b3Jrcy9QbHVnSW5LaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUGx1Z0luS2l0
CiAgICAweDdmZmZhNmFhMTAwMCAtICAgICAweDdmZmZhNmFkYmZmNyAgY29tLmFwcGxlLlByb3Rl
Y3RlZENsb3VkU3RvcmFnZSAoMS4wIC0gMSkgPDFDNjA4M0I3LUYwMjAtMzYzNC04RjUzLUNDOUUw
N0YyN0VDNT4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1Byb3RlY3RlZENsb3Vk
U3RvcmFnZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Qcm90ZWN0ZWRDbG91ZFN0b3JhZ2UKICAgIDB4
N2ZmZmE2YWRjMDAwIC0gICAgIDB4N2ZmZmE2YWY2ZmZmICBjb20uYXBwbGUuUHJvdG9jb2xCdWZm
ZXIgKDEgLSAyNDkuMSkgPEExRjFCMEYzLTA3OEYtMzc4Ri1BOUE5LTBERUVBNzBFODE2QT4gL1N5
c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1Byb3RvY29sQnVmZmVyLmZyYW1ld29yay9W
ZXJzaW9ucy9BL1Byb3RvY29sQnVmZmVyCiAgICAweDdmZmZhNmFmNzAwMCAtICAgICAweDdmZmZh
NmIwNmZmNyAgY29tLmFwcGxlLlF1aWNrTG9va1RodW1ibmFpbGluZyAoMS4wIC0gMSkgPDE3M0VF
ODczLTE3MDAtM0ZDQS05NzgyLUMwNjBGQkI1QkNBRD4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVG
cmFtZXdvcmtzL1F1aWNrTG9va1RodW1ibmFpbGluZy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9RdWlj
a0xvb2tUaHVtYm5haWxpbmcKICAgIDB4N2ZmZmE2YjBmMDAwIC0gICAgIDB4N2ZmZmE2YjMyZmYz
ICBjb20uYXBwbGUuUmVtb3RlVmlld1NlcnZpY2VzICgyLjAgLSAxMjQpIDw2Qjk2N0ZEQS02NTkx
LTMwMkMtQkEwQS03NkM0ODU2RTU4NEU+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jr
cy9SZW1vdGVWaWV3U2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUmVtb3RlVmlld1NlcnZp
Y2VzCiAgICAweDdmZmZhNmJmNjAwMCAtICAgICAweDdmZmZhNzQ0ZWZmZiAgY29tLmFwcGxlLlNh
ZmFyaS5mcmFtZXdvcmsgKDEyNjAzIC0gMTI2MDMuMi40KSA8MDg1MkRBNkMtRjM1MS0zNjVBLUEy
ODEtMDE4MjVBNTc2NEU1PiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvU2FmYXJp
LmZyYW1ld29yay9WZXJzaW9ucy9BL1NhZmFyaQogICAgMHg3ZmZmYTc0NGYwMDAgLSAgICAgMHg3
ZmZmYTc0NmFmZjcgIGNvbS5hcHBsZS5TYWZhcmkuQ29yZSAoMTI2MDMgLSAxMjYwMy4yLjQpIDxC
RUI5MzdCQy1ERDk5LTM4NzUtQkIxQS1DMzM4NjUyRDBDQ0Q+IC9TeXN0ZW0vTGlicmFyeS9Qcml2
YXRlRnJhbWV3b3Jrcy9TYWZhcmlDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL1NhZmFyaUNvcmUK
ICAgIDB4N2ZmZmE3NDZiMDAwIC0gICAgIDB4N2ZmZmE3NDlhZmY3ICBjb20uYXBwbGUuU2FmYXJp
LlNhZmVCcm93c2luZyAoMTI2MDMgLSAxMjYwMy4yLjQpIDw2REVGOTNFNC00Nzc5LTNEOTktODNB
Qy01NDYyNTI2NUYwOTM+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9TYWZhcmlT
YWZlQnJvd3NpbmcuZnJhbWV3b3JrL1ZlcnNpb25zL0EvU2FmYXJpU2FmZUJyb3dzaW5nCiAgICAw
eDdmZmZhNzQ5YjAwMCAtICAgICAweDdmZmZhNzdkYmZmNyAgY29tLmFwcGxlLlNhZmFyaS5TaGFy
ZWQgKDEyNjAzIC0gMTI2MDMuMi40KSA8NzczNjU2REItMURBQS0zOTdGLUEwNjMtODU5NjhDRUMx
NUY3PiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvU2FmYXJpU2hhcmVkLmZyYW1l
d29yay9WZXJzaW9ucy9BL1NhZmFyaVNoYXJlZAogICAgMHg3ZmZmYTc3ZGMwMDAgLSAgICAgMHg3
ZmZmYTc3ZjhmZjMgIGNvbS5hcHBsZS5TZWFyY2hGb3VuZGF0aW9uICgxLjAgLSAxKSA8NzQyRUYw
Q0ItMzM2QS0zMDg2LThFNzktOEUzRUU4NDhGMzAyPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZy
YW1ld29ya3MvU2VhcmNoRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9TZWFyY2hGb3Vu
ZGF0aW9uCiAgICAweDdmZmZhNzdmOTAwMCAtICAgICAweDdmZmZhNzdmY2ZmZiAgY29tLmFwcGxl
LlNlY0NvZGVXcmFwcGVyICg0LjAgLSAzMDcuNTAuMjEpIDxGOEU5NTdCMi1EM0YwLTNCNzMtQjM4
Qy1BRTg4NjhGMDA5Mzk+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9TZWNDb2Rl
V3JhcHBlci5mcmFtZXdvcmsvVmVyc2lvbnMvQS9TZWNDb2RlV3JhcHBlcgogICAgMHg3ZmZmYTc3
ZmQwMDAgLSAgICAgMHg3ZmZmYTc4MDJmZmYgIGNvbS5hcHBsZS5TZXJ2ZXJJbmZvcm1hdGlvbiAo
Mi4wIC0gMSkgPEU0MDNBMUVFLTJENjItMzM0MC04MDBDLUM1RkYyNEQ4RjM1Mj4gL1N5c3RlbS9M
aWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1NlcnZlckluZm9ybWF0aW9uLmZyYW1ld29yay9WZXJz
aW9ucy9BL1NlcnZlckluZm9ybWF0aW9uCiAgICAweDdmZmZhNzg4YjAwMCAtICAgICAweDdmZmZh
NzkxOGZmZiAgY29tLmFwcGxlLlNoYXJpbmcgKDY5Ni4yLjY3IC0gNjk2LjIuNjcpIDxGNjgxRUUy
OC0xNTNGLTMyMTYtOTdBNi02RjVFNDE0OEFCMkU+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJh
bWV3b3Jrcy9TaGFyaW5nLmZyYW1ld29yay9WZXJzaW9ucy9BL1NoYXJpbmcKICAgIDB4N2ZmZmE3
OTM5MDAwIC0gICAgIDB4N2ZmZmE3YmFlZmYzICBjb20uYXBwbGUuU2t5TGlnaHQgKDEuNjAwLjAg
LSAxNzAuMykgPEYzNzNBN0RBLUI2ODctMzVBRi05MEUzLTE3ODk0NUE1REFEMT4gL1N5c3RlbS9M
aWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1NreUxpZ2h0LmZyYW1ld29yay9WZXJzaW9ucy9BL1Nr
eUxpZ2h0CiAgICAweDdmZmZhN2NkYTAwMCAtICAgICAweDdmZmZhN2Q4Y2ZmNyAgY29tLmFwcGxl
LlNvZnR3YXJlVXBkYXRlLmZyYW1ld29yayAoNiAtIDk3Ny41KSA8QjgwOUFEMzUtNzQ5OC0zMzAy
LUJFNUEtQkYzQUI3ODcxNTREPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvU29m
dHdhcmVVcGRhdGUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvU29mdHdhcmVVcGRhdGUKICAgIDB4N2Zm
ZmE3ZDhkMDAwIC0gICAgIDB4N2ZmZmE3ZDk5ZmY3ICBjb20uYXBwbGUuU3BlZWNoUmVjb2duaXRp
b25Db3JlICgzLjMuMiAtIDMuMy4yKSA8Njg0QkQxRUEtODI2OC0zMzFDLUE1QTktMDgwRUIzNzVD
NjU4PiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvU3BlZWNoUmVjb2duaXRpb25D
b3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL1NwZWVjaFJlY29nbml0aW9uQ29yZQogICAgMHg3ZmZm
YTgwNGYwMDAgLSAgICAgMHg3ZmZmYTgwNWVmZmIgIGNvbS5hcHBsZS5TdG9yYWdlTWFuYWdlbWVu
dCAoMS4wIC0gMSkgPDQzRDk2NkJFLUMwNTMtM0QxQS05RkQ2LTYzNzM3QTg4QzMyMz4gL1N5c3Rl
bS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1N0b3JhZ2VNYW5hZ2VtZW50LmZyYW1ld29yay9W
ZXJzaW9ucy9BL1N0b3JhZ2VNYW5hZ2VtZW50CiAgICAweDdmZmZhODA1ZjAwMCAtICAgICAweDdm
ZmZhODBjYmZmYiAgY29tLmFwcGxlLlN0b3JlRm91bmRhdGlvbiAoMS4wIC0gNTgzLjE3KSA8NDBF
MUIzRDUtRTMwRi0zNEUzLTg3QkMtODgwMDhBREI3MTRFPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0
ZUZyYW1ld29ya3MvU3RvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL1N0b3JlRm91
bmRhdGlvbgogICAgMHg3ZmZmYTg0ODUwMDAgLSAgICAgMHg3ZmZmYTg0ZjlmZGYgIGNvbS5hcHBs
ZS5TeW1ib2xpY2F0aW9uICg2MjA0OC4xKSA8MUEzMEVEMTktNzUzMi0zRjQ2LTlERDMtOTg3OUE5
NzNEMENGPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvU3ltYm9saWNhdGlvbi5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9TeW1ib2xpY2F0aW9uCiAgICAweDdmZmZhODcxOTAwMCAtICAg
ICAweDdmZmZhODc0NWZmMyAgY29tLmFwcGxlLmZyYW1ld29yay5TeXN0ZW1BZG1pbmlzdHJhdGlv
biAoMS4wIC0gMS4wKSA8Q0Q1Qjc0QjEtMDFFRC0zNjlFLUFCMTEtMURBNTlGMkMyQTI0PiAvU3lz
dGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvU3lzdGVtQWRtaW5pc3RyYXRpb24uZnJhbWV3
b3JrL1ZlcnNpb25zL0EvU3lzdGVtQWRtaW5pc3RyYXRpb24KICAgIDB4N2ZmZmE4OTM4MDAwIC0g
ICAgIDB4N2ZmZmE4OTNlZmY3ICBjb20uYXBwbGUuVENDICgxLjAgLSAxKSA8OTExQjUzNEItNEFD
Ny0zNEU0LTkzNUUtRTQyRUNEMDA4Q0JDPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29y
a3MvVENDLmZyYW1ld29yay9WZXJzaW9ucy9BL1RDQwogICAgMHg3ZmZmYTg5M2YwMDAgLSAgICAg
MHg3ZmZmYTg5YzlmZmIgIGNvbS5hcHBsZS5UZWxlcGhvbnlVdGlsaXRpZXMgKDEuMCAtIDEuMCkg
PEE0NTVGMkVCLTg1QzMtMzYwMS1BODk5LTJGNzU0NEU1RENDNj4gL1N5c3RlbS9MaWJyYXJ5L1By
aXZhdGVGcmFtZXdvcmtzL1RlbGVwaG9ueVV0aWxpdGllcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9U
ZWxlcGhvbnlVdGlsaXRpZXMKICAgIDB4N2ZmZmE4OWNhMDAwIC0gICAgIDB4N2ZmZmE4YTkwZmY3
ICBjb20uYXBwbGUuVGV4dHVyZUlPICgyLjggLSAyLjgpIDwzRDYxRTUzMy00MTU2LTNCMjEtQjdF
RC1DQjgyM0U2ODBERkM+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9UZXh0dXJl
SU8uZnJhbWV3b3JrL1ZlcnNpb25zL0EvVGV4dHVyZUlPCiAgICAweDdmZmZhOGFkOTAwMCAtICAg
ICAweDdmZmZhOGFlZWZmMyAgY29tLmFwcGxlLlRvbmVLaXQgKDEuMCAtIDEpIDxCNzA5MjkzRC0w
QTc5LTM5OEEtOEFBOS01MEY2MzQwQzIyN0M+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3
b3Jrcy9Ub25lS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1RvbmVLaXQKICAgIDB4N2ZmZmE4YWVm
MDAwIC0gICAgIDB4N2ZmZmE4YWZkZmZiICBjb20uYXBwbGUuVG9uZUxpYnJhcnkgKDEuMCAtIDEp
IDxGMkVENURGQy01RjExLTMwMTItQkNENy0xNzc1MzQxMzE0MUY+IC9TeXN0ZW0vTGlicmFyeS9Q
cml2YXRlRnJhbWV3b3Jrcy9Ub25lTGlicmFyeS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Ub25lTGli
cmFyeQogICAgMHg3ZmZmYThiMDQwMDAgLSAgICAgMHg3ZmZmYThiMDVmZmYgIGNvbS5hcHBsZS5U
cnVzdEV2YWx1YXRpb25BZ2VudCAoMi4wIC0gMjguNTAuMSkgPEVCRTY1REQ1LTE3MzItMzc0Ny04
QzZDLTdCRUNFQkYwODlBND4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1RydXN0
RXZhbHVhdGlvbkFnZW50LmZyYW1ld29yay9WZXJzaW9ucy9BL1RydXN0RXZhbHVhdGlvbkFnZW50
CiAgICAweDdmZmZhOGIwNjAwMCAtICAgICAweDdmZmZhOGM5NmZmMyAgY29tLmFwcGxlLlVJRm91
bmRhdGlvbiAoMS4wIC0gNDkwLjcpIDwyQTMwNjNGRS0xNzkwLTM1MTAtOEEwRS1BRUM1ODFENDJC
N0U+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9VSUZvdW5kYXRpb24uZnJhbWV3
b3JrL1ZlcnNpb25zL0EvVUlGb3VuZGF0aW9uCiAgICAweDdmZmZhOGM5NzAwMCAtICAgICAweDdm
ZmZhOGM5YmZmZiAgY29tLmFwcGxlLlVuaW5zdGFsbCAoMS4wLjEgLSAyMTEpIDw1MjgyMTkxMS0y
MzkwLTNBQTMtQjI3MC0zOTE2QTlGQzlBMUM+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3
b3Jrcy9Vbmluc3RhbGwuZnJhbWV3b3JrL1ZlcnNpb25zL0EvVW5pbnN0YWxsCiAgICAweDdmZmZh
OGQxMDAwMCAtICAgICAweDdmZmZhOTNhNGZmMyAgY29tLmFwcGxlLlZlY3RvcktpdCAoMS4wIC0g
MTIzMC4yNC45LjMwLjI2KSA8MEJGODBENTUtNEU4Mi0zRTY0LTg0NjUtNUYyMkU0QkM2OEUyPiAv
U3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvVmVjdG9yS2l0LmZyYW1ld29yay9WZXJz
aW9ucy9BL1ZlY3RvcktpdAogICAgMHg3ZmZmYTk3MDIwMDAgLSAgICAgMHg3ZmZmYTk3NjRmZmYg
IGNvbS5hcHBsZS5WaWRlb1N1YnNjcmliZXJBY2NvdW50LlZpZGVvU3Vic2NyaWJlckFjY291bnRG
cmFtZXdvcmsgKDEuMCAtIDExMC40NSkgPDFDOUM0MUNFLUI3QUYtM0Y4Mi04RUEzLUQ0MkJCMUU4
QTQ2QT4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1ZpZGVvU3Vic2NyaWJlckFj
Y291bnQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvVmlkZW9TdWJzY3JpYmVyQWNjb3VudAogICAgMHg3
ZmZmYTk3NjUwMDAgLSAgICAgMHg3ZmZmYTk4MjVmZmYgIGNvbS5hcHBsZS5WaWV3QnJpZGdlICgy
ODMgLSAyODMpIDwyNUE2MzVCMy1DODdDLTNEM0EtQURGMy01Mzk3MTNGQTEwNDg+IC9TeXN0ZW0v
TGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9WaWV3QnJpZGdlLmZyYW1ld29yay9WZXJzaW9ucy9B
L1ZpZXdCcmlkZ2UKICAgIDB4N2ZmZmE5ODc1MDAwIC0gICAgIDB4N2ZmZmE5OTA4ZmZmICBjb20u
YXBwbGUuV2ViSW5zcGVjdG9yICgxMjYwMyAtIDEyNjAzLjIuNCkgPDcwNjVCNDU0LUZGRDItMzU1
RC1CMEVBLTEyMzAzQzNDRTNGRD4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1dl
Ykluc3BlY3Rvci5mcmFtZXdvcmsvVmVyc2lvbnMvQS9XZWJJbnNwZWN0b3IKICAgIDB4N2ZmZmE5
OWFjMDAwIC0gICAgIDB4N2ZmZmE5YjMwZmY3ICBsaWJBV0RTdXBwb3J0RnJhbWV3b3JrLmR5bGli
ICg2MDAuNDYpIDw0MUY2Qzc3MC1GQjAxLTM5NDgtODRFMC0yNzYzQzRGMTVFRkI+IC9TeXN0ZW0v
TGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9XaXJlbGVzc0RpYWdub3N0aWNzLmZyYW1ld29yay9W
ZXJzaW9ucy9BL0xpYnJhcmllcy9saWJBV0RTdXBwb3J0RnJhbWV3b3JrLmR5bGliCiAgICAweDdm
ZmZhOWIzMTAwMCAtICAgICAweDdmZmZhOWJhMGZmZiAgbGlicHJvdG9idWYuZHlsaWIgKDYwMC40
NikgPDZENzVFQ0M5LTE0NzAtMzA3Ni04QURGLUJBRDA4NTdGQTAwMT4gL1N5c3RlbS9MaWJyYXJ5
L1ByaXZhdGVGcmFtZXdvcmtzL1dpcmVsZXNzRGlhZ25vc3RpY3MuZnJhbWV3b3JrL1ZlcnNpb25z
L0EvTGlicmFyaWVzL2xpYnByb3RvYnVmLmR5bGliCiAgICAweDdmZmZhOWJhMTAwMCAtICAgICAw
eDdmZmZhOWJlMGZmZiAgY29tLmFwcGxlLmF3ZCAoMS4wIC0gODY5KSA8RDdFQTM4REUtRTg3Ni0z
QjFDLUI2NjctQTIxOEQ0MjE1REQ2PiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3Mv
V2lyZWxlc3NEaWFnbm9zdGljcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9XaXJlbGVzc0RpYWdub3N0
aWNzCiAgICAweDdmZmZhOWM3MDAwMCAtICAgICAweDdmZmZhOWM3NmZmZiAgY29tLmFwcGxlLlhQ
Q1NlcnZpY2UgKDIuMCAtIDEpIDw0QjI4QjIyNS0yMTA1LTMzRjQtOUVEMC1GMDQyODhGRjRGQjE+
IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9YUENTZXJ2aWNlLmZyYW1ld29yay9W
ZXJzaW9ucy9BL1hQQ1NlcnZpY2UKICAgIDB4N2ZmZmE5ZDQ3MDAwIC0gICAgIDB4N2ZmZmE5ZDQ5
ZmZiICBjb20uYXBwbGUubG9naW5zdXBwb3J0ICgxLjAgLSAxKSA8RjMxNDBCOTctMTJDMy0zNUE3
LTlEM0QtNDNEQTJEMTNDMTEzPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvbG9n
aW4uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9sb2dpbnN1cHBvcnQuZnJhbWV3b3Jr
L1ZlcnNpb25zL0EvbG9naW5zdXBwb3J0CiAgICAweDdmZmZhOWQ0YTAwMCAtICAgICAweDdmZmZh
OWQ2MmZmYiAgY29tLmFwcGxlLmxvZ2luICgzLjAgLSAzLjApIDw5N0U4QjdFMS02Q0E5LTM0ODYt
QThENi01QkRDRTAxQTY4QzI+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9sb2dp
bi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9sb2dpbgogICAgMHg3ZmZmYTlkNzUwMDAgLSAgICAgMHg3
ZmZmYTlkOWNmZjcgIGNvbS5hcHBsZS5jb250YWN0cy52Q2FyZCAoMS4wIC0gMjI1MC4xMCkgPDE5
RTM3RTY4LUU5NDUtMzUzNC04NjU4LTg3QUE0MTFEMEFEND4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZh
dGVGcmFtZXdvcmtzL3ZDYXJkLmZyYW1ld29yay9WZXJzaW9ucy9BL3ZDYXJkCiAgICAweDdmZmZh
OWQ5ZTAwMCAtICAgICAweDdmZmZhOWRiOWZmNyAgbGliQ1JGU3VpdGUuZHlsaWIgKDM0KSA8Rjc4
QjdGNUYtMEI0Ri0zNUM2LUFBMkYtODRFRTlDQjIyMTM3PiAvdXNyL2xpYi9saWJDUkZTdWl0ZS5k
eWxpYgogICAgMHg3ZmZmYTlkYmEwMDAgLSAgICAgMHg3ZmZmYTlkYzVmZmYgIGxpYkNoaW5lc2VU
b2tlbml6ZXIuZHlsaWIgKDIxKSA8MDg4NkU5MDgtQTgyNS0zNkFGLUI5NEItMjM2MUZEOEJDMkEx
PiAvdXNyL2xpYi9saWJDaGluZXNlVG9rZW5pemVyLmR5bGliCiAgICAweDdmZmZhOWRjNjAwMCAt
ICAgICAweDdmZmZhOWU1NmZmNyAgbGliQ29yZVN0b3JhZ2UuZHlsaWIgKDU0MC4zMC4xKSA8ODVD
MEEzNjYtRjkwMS0zNkUzLTg1NEEtRkU4QTE0QTA0QTcyPiAvdXNyL2xpYi9saWJDb3JlU3RvcmFn
ZS5keWxpYgogICAgMHg3ZmZmYTllNTcwMDAgLSAgICAgMHg3ZmZmYTllNThmZjMgIGxpYkRpYWdu
b3N0aWNNZXNzYWdlc0NsaWVudC5keWxpYiAoMTAyKSA8ODRBMDREMjQtMEU2MC0zODEwLUE4QzAt
OTBBNjVFMkRGNjFBPiAvdXNyL2xpYi9saWJEaWFnbm9zdGljTWVzc2FnZXNDbGllbnQuZHlsaWIK
ICAgIDB4N2ZmZmE5ZTU5MDAwIC0gICAgIDB4N2ZmZmFhMDZjZmZmICBsaWJGb3NsX2R5bmFtaWMu
ZHlsaWIgKDE2LjM5KSA8RTIyQTQyNDMtRDE0OC0zQzc0LUJBMTUtMkQ5MDZBM0QxRjlFPiAvdXNy
L2xpYi9saWJGb3NsX2R5bmFtaWMuZHlsaWIKICAgIDB4N2ZmZmFhMDZkMDAwIC0gICAgIDB4N2Zm
ZmFhMDdlZmZmICBsaWJJQVNBdXRoUmVib290LmR5bGliICgxMTE0KSA8NEQyNTZCRTktNDc1Ny0z
RjE4LThCOUEtQzNBRTQyREI3Mzk1PiAvdXNyL2xpYi9saWJJQVNBdXRoUmVib290LmR5bGliCiAg
ICAweDdmZmZhYTA4ODAwMCAtICAgICAweDdmZmZhYTA4ZmZmZiAgbGliTWF0Y2guMS5keWxpYiAo
MjcpIDw3MEQ0QkQyQS05MzgzLTM3RjItQjBENi05QjU5MkQyMzY2MDE+IC91c3IvbGliL2xpYk1h
dGNoLjEuZHlsaWIKICAgIDB4N2ZmZmFhMDkwMDAwIC0gICAgIDB4N2ZmZmFhMDkwZmZmICBsaWJP
cGVuU2NyaXB0aW5nVXRpbC5keWxpYiAoMTcyKSA8OTA3NDM4ODgtQzFFOC0zNEUzLTkyNEUtMUE3
NTRCMkI2M0I5PiAvdXNyL2xpYi9saWJPcGVuU2NyaXB0aW5nVXRpbC5keWxpYgogICAgMHg3ZmZm
YWEwOTEwMDAgLSAgICAgMHg3ZmZmYWEwOTVmZmIgIGxpYlNjcmVlblJlYWRlci5keWxpYiAoNDc3
LjQwLjYpIDxDQkU2NDIwQy1FRjYwLTNBQ0QtQTBCNi03Q0JFOTM2QkEzQjg+IC91c3IvbGliL2xp
YlNjcmVlblJlYWRlci5keWxpYgogICAgMHg3ZmZmYWEwOTYwMDAgLSAgICAgMHg3ZmZmYWEwOTdm
ZmIgIGxpYlN5c3RlbS5CLmR5bGliICgxMjM4LjYwLjIpIDxGQzlFOUYxMy0zQjE4LTMwNUMtQkUw
QS05N0M3ODQzNjUyQjA+IC91c3IvbGliL2xpYlN5c3RlbS5CLmR5bGliCiAgICAweDdmZmZhYTA5
ODAwMCAtICAgICAweDdmZmZhYTBmZmZmZiAgbGliVGVsZXBob255VXRpbER5bmFtaWMuZHlsaWIg
KDIwMjQpIDwyNzY1NzFFRC01QThCLTNGQTQtQUMwNC00RkE4QTA1OUNDODI+IC91c3IvbGliL2xp
YlRlbGVwaG9ueVV0aWxEeW5hbWljLmR5bGliCiAgICAweDdmZmZhYTEwMzAwMCAtICAgICAweDdm
ZmZhYTEyZWZmMyAgbGliYXJjaGl2ZS4yLmR5bGliICg0MS41MC4yKSA8QjRGNTA3QkMtQjI0RS0z
QkU3LUI2NTgtOTRENzk4RTJDRDgxPiAvdXNyL2xpYi9saWJhcmNoaXZlLjIuZHlsaWIKICAgIDB4
N2ZmZmFhMTJmMDAwIC0gICAgIDB4N2ZmZmFhMjI0ZmVmICBsaWJhdGUuZHlsaWIgKDEuMTIuMTMp
IDxEQjk4ODFDMy1FMjRBLTM5ODQtOTFFMC03N0Y2RjEzRjc5NUM+IC91c3IvbGliL2xpYmF0ZS5k
eWxpYgogICAgMHg3ZmZmYWEyMjgwMDAgLSAgICAgMHg3ZmZmYWEyMjhmZjMgIGxpYmF1dG8uZHls
aWIgKDE4NykgPDM0Mzg4RDBCLUM1MzktM0MxQi05NDA4LTJCQzE1MjE2MkU0Mz4gL3Vzci9saWIv
bGliYXV0by5keWxpYgogICAgMHg3ZmZmYWEyMjkwMDAgLSAgICAgMHg3ZmZmYWEyMzlmZjMgIGxp
YmJzbS4wLmR5bGliICgzNCkgPDIwMDg0Nzk2LUIwNEQtM0IzNS1BMDAzLUVBMTE0NTk1NTdBOT4g
L3Vzci9saWIvbGliYnNtLjAuZHlsaWIKICAgIDB4N2ZmZmFhMjNhMDAwIC0gICAgIDB4N2ZmZmFh
MjQ4ZmY3ICBsaWJiejIuMS4wLmR5bGliICgzOCkgPEFERkEzMjlBLURDRTctMzU2RC04RjA5LUEz
MTY4REZDNjYxMD4gL3Vzci9saWIvbGliYnoyLjEuMC5keWxpYgogICAgMHg3ZmZmYWEyNDkwMDAg
LSAgICAgMHg3ZmZmYWEyOWZmZjcgIGxpYmMrKy4xLmR5bGliICgzMDcuNSkgPDBCNDNCQjVELUU2
RUItMzQ2NC04REU5LUI0MUFDOEVEOUQxQz4gL3Vzci9saWIvbGliYysrLjEuZHlsaWIKICAgIDB4
N2ZmZmFhMmEwMDAwIC0gICAgIDB4N2ZmZmFhMmNhZmZmICBsaWJjKythYmkuZHlsaWIgKDMwNy4z
KSA8MzAxOTkzNTItODhCRi0zMEJELThDRkYtMkE0RkJFMjQ3NTIzPiAvdXNyL2xpYi9saWJjKyth
YmkuZHlsaWIKICAgIDB4N2ZmZmFhMmNiMDAwIC0gICAgIDB4N2ZmZmFhMmRiZmZiICBsaWJjbXBo
LmR5bGliICg2KSA8MkI1RDQwNUUtMkQwQi0zMzIwLUFCRDYtNjIyOTM0Qzg2QUJFPiAvdXNyL2xp
Yi9saWJjbXBoLmR5bGliCiAgICAweDdmZmZhYTJkYzAwMCAtICAgICAweDdmZmZhYTJmMmZmNyAg
bGliY29tcHJlc3Npb24uZHlsaWIgKDM5KSA8QkRBQThDQzctMEJGQy0zNkVDLTlFNzUtNThCREMx
NUFDM0I2PiAvdXNyL2xpYi9saWJjb21wcmVzc2lvbi5keWxpYgogICAgMHg3ZmZmYWEyZjMwMDAg
LSAgICAgMHg3ZmZmYWEyZjNmZjcgIGxpYmNvcmV0bHMuZHlsaWIgKDEyMS41MC40KSA8NjRCMTAw
MUUtMTBGNi0zNTQyLUEzQjItQzRCNDlGNTE4MTdGPiAvdXNyL2xpYi9saWJjb3JldGxzLmR5bGli
CiAgICAweDdmZmZhYTJmNDAwMCAtICAgICAweDdmZmZhYTJmNWZmMyAgbGliY29yZXRsc19jZmhl
bHBlcnMuZHlsaWIgKDEyMS41MC40KSA8MUExMDMwM0UtNUVCMC0zQzdDLTkxNjUtMDIxRkNERkQ5
MzREPiAvdXNyL2xpYi9saWJjb3JldGxzX2NmaGVscGVycy5keWxpYgogICAgMHg3ZmZmYWEzYWYw
MDAgLSAgICAgMHg3ZmZmYWE0OTRmZjcgIGxpYmNyeXB0by4wLjkuOC5keWxpYiAoNjQuNTAuNikg
PEQzNEUxNkE3LTk5MEEtMzdBOS05MzNBLURGQUE0NjU1NEVBQT4gL3Vzci9saWIvbGliY3J5cHRv
LjAuOS44LmR5bGliCiAgICAweDdmZmZhYTYyNjAwMCAtICAgICAweDdmZmZhYTYzMWZmZiAgbGli
Y3NmZGUuZHlsaWIgKDU0MC4zMC4xKSA8MEMyQjE4M0ItMTZEOS0zRDVGLTk2MkQtMEEwOUM3MDYz
MjExPiAvdXNyL2xpYi9saWJjc2ZkZS5keWxpYgogICAgMHg3ZmZmYWE2MzIwMDAgLSAgICAgMHg3
ZmZmYWE2ODVmZjcgIGxpYmN1cHMuMi5keWxpYiAoNDUwKSA8OTk1MEJGQ0ItNzg4Mi0zM0M5LTlF
Q0YtQ0U2Njc3M0M1NjU3PiAvdXNyL2xpYi9saWJjdXBzLjIuZHlsaWIKICAgIDB4N2ZmZmFhNjg2
MDAwIC0gICAgIDB4N2ZmZmFhNmQ2ZmZiICBsaWJjdXJsLjQuZHlsaWIgKDk1LjUwLjIpIDwyRTNF
ODJFRS0zNzEwLTMzNDAtOEIwNy1BMjg1QkRBMzg1QjE+IC91c3IvbGliL2xpYmN1cmwuNC5keWxp
YgogICAgMHg3ZmZmYWE2ZDcwMDAgLSAgICAgMHg3ZmZmYWE2ZGVmZjMgIGxpYmRzY3N5bS5keWxp
YiAoMTQ4LjMpIDw2MzQ5MkJEQS0zM0E4LTMxREUtOTBFOC1BM0Q0NEYwN0VCOUM+IC91c3IvbGli
L2xpYmRzY3N5bS5keWxpYgogICAgMHg3ZmZmYWE3MDAwMDAgLSAgICAgMHg3ZmZmYWE3MDBmZmYg
IGxpYmVuZXJneXRyYWNlLmR5bGliICgxNSkgPEExQjA0MEEyLTc5NzctMzA5Ny05QURGLTM0RkYx
ODFFQjk3MD4gL3Vzci9saWIvbGliZW5lcmd5dHJhY2UuZHlsaWIKICAgIDB4N2ZmZmFhNzEwMDAw
IC0gICAgIDB4N2ZmZmFhNzE1ZmY3ICBsaWJoZWltZGFsLWFzbjEuZHlsaWIgKDQ5OC41MC44KSA8
QTQwRTMxOTYtMjM1RS0zNENFLUFEOUEtOEQxQUZDNURFMDA0PiAvdXNyL2xpYi9saWJoZWltZGFs
LWFzbjEuZHlsaWIKICAgIDB4N2ZmZmFhNzE2MDAwIC0gICAgIDB4N2ZmZmFhODA4ZmY3ICBsaWJp
Y29udi4yLmR5bGliICg1MCkgPDQyMTI1QjM1LTgxRDctM0ZDNC05NDc1LUEyNkRCRTEwODg0RD4g
L3Vzci9saWIvbGliaWNvbnYuMi5keWxpYgogICAgMHg3ZmZmYWE4MDkwMDAgLSAgICAgMHg3ZmZm
YWFhMmVmZmIgIGxpYmljdWNvcmUuQS5keWxpYiAoNTcxNjUuMC4xKSA8MjkzMUI4NDItMjk0Ni0z
NTc2LUFEMUQtMUNEQTIyRkExMzg4PiAvdXNyL2xpYi9saWJpY3Vjb3JlLkEuZHlsaWIKICAgIDB4
N2ZmZmFhYTM0MDAwIC0gICAgIDB4N2ZmZmFhYTM1ZmZmICBsaWJsYW5naWQuZHlsaWIgKDEyNikg
PDIwODVFN0E3LTlBMzQtMzczNS04N0Y0LUYxNzRFRjhFQUJGMD4gL3Vzci9saWIvbGlibGFuZ2lk
LmR5bGliCiAgICAweDdmZmZhYWEzNjAwMCAtICAgICAweDdmZmZhYWE0ZmZmYiAgbGlibHptYS41
LmR5bGliICgxMCkgPDQ0QkQwMjc5LTk5REQtMzZCNS04QTZFLUMxMTQzMkUyMDk4RD4gL3Vzci9s
aWIvbGlibHptYS41LmR5bGliCiAgICAweDdmZmZhYWE1MDAwMCAtICAgICAweDdmZmZhYWE2NmZm
NyAgbGlibWFyaXNhLmR5bGliICg1KSA8OTAzMEQyMTQtNUQwRi0zMENCLUFDMDMtOTAyQzYzOTA5
MzYyPiAvdXNyL2xpYi9saWJtYXJpc2EuZHlsaWIKICAgIDB4N2ZmZmFhYTY3MDAwIC0gICAgIDB4
N2ZmZmFhZDBmZmY3ICBsaWJtZWNhYnJhLmR5bGliICg3NDQuOCkgPEQ0MjlGQ0M5LTQyQTQtMzhC
My04Nzg0LTQ0MDI0QkM4NTlFRj4gL3Vzci9saWIvbGlibWVjYWJyYS5keWxpYgogICAgMHg3ZmZm
YWFkNDIwMDAgLSAgICAgMHg3ZmZmYWFkYmNmZjMgIGxpYm5ldHdvcmsuZHlsaWIgKDg1Ni42MC4x
KSA8MTkxRTk5RjUtNDcyMy0zMTgwLTgwMTMtMDJBRjJGOUFFNEI4PiAvdXNyL2xpYi9saWJuZXR3
b3JrLmR5bGliCiAgICAweDdmZmZhYWRiZDAwMCAtICAgICAweDdmZmZhYjE5MmJjNyAgbGlib2Jq
Yy5BLmR5bGliICg3MDkpIDw1NENEOEQxQS01Qzk4LTM1NTktQjEzQS05MzJCM0QzREQzMzg+IC91
c3IvbGliL2xpYm9iamMuQS5keWxpYgogICAgMHg3ZmZmYWIxOTMwMDAgLSAgICAgMHg3ZmZmYWIx
OTRmZmYgIGxpYm9kZmRlLmR5bGliICgyMy41MC4xKSA8NzQ0RjFFNjYtMTFFQi0zQTRELTg5NDQt
NzIyRjM5QzU1Mjc4PiAvdXNyL2xpYi9saWJvZGZkZS5keWxpYgogICAgMHg3ZmZmYWIxOTUwMDAg
LSAgICAgMHg3ZmZmYWIxOTlmZmYgIGxpYnBhbS4yLmR5bGliICgyMS4zMC4xKSA8NzFFQjBEODgt
REU4NC0zQzhELUEyQzUtNThBQTI4MkJDNUJDPiAvdXNyL2xpYi9saWJwYW0uMi5keWxpYgogICAg
MHg3ZmZmYWIxOWEwMDAgLSAgICAgMHg3ZmZmYWIxY2JmZmYgIGxpYnBjYXAuQS5keWxpYiAoNjcu
NjAuMSkgPEY2QkM2RUQ2LUFFRTQtMzUyMC1CMjQ4LTBDMzQyNjM2RTJCMD4gL3Vzci9saWIvbGli
cGNhcC5BLmR5bGliCiAgICAweDdmZmZhYjFlNjAwMCAtICAgICAweDdmZmZhYjFlN2ZmMyAgbGli
cXVpdC5keWxpYiAoMjMxLjMpIDxDRkIwODExMS04NEQ3LTNCMzMtQkU5MC1DQjJFQjI5NTU5N0M+
IC91c3IvbGliL2xpYnF1aXQuZHlsaWIKICAgIDB4N2ZmZmFiMWU4MDAwIC0gICAgIDB4N2ZmZmFi
MjA0ZmZiICBsaWJyZXNvbHYuOS5keWxpYiAoNjQpIDxBMjQ0QUU0Qy0wMEIwLTM5NkMtOThGRi05
N0ZFNERCM0RBMzA+IC91c3IvbGliL2xpYnJlc29sdi45LmR5bGliCiAgICAweDdmZmZhYjIwNTAw
MCAtICAgICAweDdmZmZhYjIzZWZmZiAgbGlic2FuZGJveC4xLmR5bGliICg1OTIuNjAuMSkgPEIz
QTFDM0JELTA4NEMtMzg5Qi05QUZELTRCQ0ZEQkU5QjVCNj4gL3Vzci9saWIvbGlic2FuZGJveC4x
LmR5bGliCiAgICAweDdmZmZhYjIzZjAwMCAtICAgICAweDdmZmZhYjI1MWZmYiAgbGlic2FzbDIu
Mi5keWxpYiAoMjA5KSA8MzIxMDdDNTktMjJDNi0zMDQ5LUI4NkUtOUMyRjg1RkY1NDlCPiAvdXNy
L2xpYi9saWJzYXNsMi4yLmR5bGliCiAgICAweDdmZmZhYjI1MjAwMCAtICAgICAweDdmZmZhYjI1
M2ZmMyAgbGlic3BpbmR1bXAuZHlsaWIgKDIzMS4zKSA8QzdDRUVCNjQtMDZGNC0zQUNBLUFBQzEt
MzBFQ0E5MDk1MDFBPiAvdXNyL2xpYi9saWJzcGluZHVtcC5keWxpYgogICAgMHg3ZmZmYWIyNTQw
MDAgLSAgICAgMHg3ZmZmYWIzOWFmZmYgIGxpYnNxbGl0ZTMuZHlsaWIgKDI1NC43KSA8NjVFQTZB
MTItREFCOC0zNzI3LTk2REItMTY5MThFQkNDMjQ3PiAvdXNyL2xpYi9saWJzcWxpdGUzLmR5bGli
CiAgICAweDdmZmZhYjNiZDAwMCAtICAgICAweDdmZmZhYjNmNWZmMyAgbGlic3NsLjAuOS44LmR5
bGliICg2NC41MC42KSA8OUE5QzlEOUEtNzk0OC0zNDEyLUFCRTQtMDFGQ0M0QTcyQ0QyPiAvdXNy
L2xpYi9saWJzc2wuMC45LjguZHlsaWIKICAgIDB4N2ZmZmFiM2Y2MDAwIC0gICAgIDB4N2ZmZmFi
NDQ2ZmZmICBsaWJzdGRjKysuNi5keWxpYiAoMTA0LjEpIDxBOTgwRTA4Qy1BNTExLTNEMTktOTg4
MS0xRDc5QjdDRkYyQkE+IC91c3IvbGliL2xpYnN0ZGMrKy42LmR5bGliCiAgICAweDdmZmZhYjQ0
NzAwMCAtICAgICAweDdmZmZhYjQ0OGZmNyAgbGlic3lzbW9uLmR5bGliICg5Mi41MC41KSA8RDZB
QTFGMkEtNzY3NS0zMDAzLUJBQjMtN0JEMkJCMDI3Mzc2PiAvdXNyL2xpYi9saWJzeXNtb24uZHls
aWIKICAgIDB4N2ZmZmFiNDU4MDAwIC0gICAgIDB4N2ZmZmFiNDhhZmZmICBsaWJ0aWR5LkEuZHls
aWIgKDE1LjE4LjEpIDw1MTNCMjY3Ni04RUUwLTNBNEMtODQ1Qy1DQUNERDI1MjgwQ0E+IC91c3Iv
bGliL2xpYnRpZHkuQS5keWxpYgogICAgMHg3ZmZmYWI0OGIwMDAgLSAgICAgMHg3ZmZmYWI0OGVm
ZjcgIGxpYnV0aWwuZHlsaWIgKDQ3LjMwLjEpIDw4OENDNjNCMy0wRURGLTMwNkUtOUFCNS1EODdF
QkUwRjNGMTY+IC91c3IvbGliL2xpYnV0aWwuZHlsaWIKICAgIDB4N2ZmZmFiNDhmMDAwIC0gICAg
IDB4N2ZmZmFiNDljZmZmICBsaWJ4YXIuMS5keWxpYiAoMzU3KSA8Njk1NDdDNjQtRTgxMS0zMjZG
LUJCRUQtNDkwQzYzNjFCRENCPiAvdXNyL2xpYi9saWJ4YXIuMS5keWxpYgogICAgMHg3ZmZmYWI0
OWQwMDAgLSAgICAgMHg3ZmZmYWI1OGNmZmIgIGxpYnhtbDIuMi5keWxpYiAoMzAuMTYpIDxEMkE2
ODYxQi1EOUZBLTNCRkMtQjY2NC04MzBDM0ZDRTYwNjU+IC91c3IvbGliL2xpYnhtbDIuMi5keWxp
YgogICAgMHg3ZmZmYWI1OGQwMDAgLSAgICAgMHg3ZmZmYWI1YjZmZmYgIGxpYnhzbHQuMS5keWxp
YiAoMTUuOSkgPDAwNzM1QUQ1LUI2MkQtM0U4My04NkFDLTU1MzNFNEUyQjEwMj4gL3Vzci9saWIv
bGlieHNsdC4xLmR5bGliCiAgICAweDdmZmZhYjViNzAwMCAtICAgICAweDdmZmZhYjVjOGZmMyAg
bGliei4xLmR5bGliICg2NykgPDQ2RTNGRkEyLTQzMjgtMzI3QS04RDM0LUEwM0UyMEJGRkI4RT4g
L3Vzci9saWIvbGliei4xLmR5bGliCiAgICAweDdmZmZhYjVkNzAwMCAtICAgICAweDdmZmZhYjVk
YmZmNyAgbGliY2FjaGUuZHlsaWIgKDc5KSA8MDkzQTREQUItODM4NS0zRDQ3LUEzNTAtRTIwQ0I3
Q0NGN0JGPiAvdXNyL2xpYi9zeXN0ZW0vbGliY2FjaGUuZHlsaWIKICAgIDB4N2ZmZmFiNWRjMDAw
IC0gICAgIDB4N2ZmZmFiNWU2ZmZmICBsaWJjb21tb25DcnlwdG8uZHlsaWIgKDYwMDkyLjUwLjUp
IDw4QTY0RDFCMC1DNzBFLTM4NUMtOTJGMC1FNjY5MDc5RkRBOTA+IC91c3IvbGliL3N5c3RlbS9s
aWJjb21tb25DcnlwdG8uZHlsaWIKICAgIDB4N2ZmZmFiNWU3MDAwIC0gICAgIDB4N2ZmZmFiNWVl
ZmZmICBsaWJjb21waWxlcl9ydC5keWxpYiAoNjIpIDw1NUQ0NzQyMS03NzJBLTMyQUItQjUyOS0x
QTQ2QzJGNDNCNEQ+IC91c3IvbGliL3N5c3RlbS9saWJjb21waWxlcl9ydC5keWxpYgogICAgMHg3
ZmZmYWI1ZWYwMDAgLSAgICAgMHg3ZmZmYWI1ZjdmZmYgIGxpYmNvcHlmaWxlLmR5bGliICgxMzgp
IDw4MTlCRUEzQy1ERjExLTNFM0QtQTFBMS01QTUxQzVCRjE5NjE+IC91c3IvbGliL3N5c3RlbS9s
aWJjb3B5ZmlsZS5keWxpYgogICAgMHg3ZmZmYWI1ZjgwMDAgLSAgICAgMHg3ZmZmYWI2N2JmZGYg
IGxpYmNvcmVjcnlwdG8uZHlsaWIgKDQ0Mi41MC4xOSkgPDY1RDcxNjVFLTJFNzEtMzM1RC1BMkQ2
LTMzRjc4RTJERjBDMT4gL3Vzci9saWIvc3lzdGVtL2xpYmNvcmVjcnlwdG8uZHlsaWIKICAgIDB4
N2ZmZmFiNjdjMDAwIC0gICAgIDB4N2ZmZmFiNmFkZmZmICBsaWJkaXNwYXRjaC5keWxpYiAoNzAz
LjUwLjM3KSA8NjU4MkJBRDYtRUQyNy0zQjMwLUI2MjAtOTBCMUM1QTRBRTNDPiAvdXNyL2xpYi9z
eXN0ZW0vbGliZGlzcGF0Y2guZHlsaWIKICAgIDB4N2ZmZmFiNmFlMDAwIC0gICAgIDB4N2ZmZmFi
NmIzZmZiICBsaWJkeWxkLmR5bGliICg0MzMuNSkgPEVDM0Q4OEQyLTNENDAtMzI3NC04RTI2LTM2
MkMyRDczNTJDOD4gL3Vzci9saWIvc3lzdGVtL2xpYmR5bGQuZHlsaWIKICAgIDB4N2ZmZmFiNmI0
MDAwIC0gICAgIDB4N2ZmZmFiNmI0ZmZiICBsaWJrZXltZ3IuZHlsaWIgKDI4KSA8N0FBMDExQTkt
REMyMS0zNDg4LUJGNzMtM0I1QjE0RDFGREQ2PiAvdXNyL2xpYi9zeXN0ZW0vbGlia2V5bWdyLmR5
bGliCiAgICAweDdmZmZhYjZiNTAwMCAtICAgICAweDdmZmZhYjZjMWZmYiAgbGlia3hsZC5keWxp
YiAoMzc4OS42MC4yNCkgPDVERkNEQzA1LTZDQkMtMzVBNi04QjkyLURGNjgwMzQ5MkUxMj4gL3Vz
ci9saWIvc3lzdGVtL2xpYmt4bGQuZHlsaWIKICAgIDB4N2ZmZmFiNmMyMDAwIC0gICAgIDB4N2Zm
ZmFiNmMyZmZmICBsaWJsYXVuY2guZHlsaWIgKDk3Mi42MC4yKSA8RDMzMDZDRkYtNThBQS0zQzkw
LUIwNkMtQjcwRTgwRTYwQzVCPiAvdXNyL2xpYi9zeXN0ZW0vbGlibGF1bmNoLmR5bGliCiAgICAw
eDdmZmZhYjZjMzAwMCAtICAgICAweDdmZmZhYjZjOGZmMyAgbGlibWFjaG8uZHlsaWIgKDg5OCkg
PDE3RDVEODU1LUY2QzMtM0IwNC1CNjgwLUU5QkYwMkVGOEFFRD4gL3Vzci9saWIvc3lzdGVtL2xp
Ym1hY2hvLmR5bGliCiAgICAweDdmZmZhYjZjOTAwMCAtICAgICAweDdmZmZhYjZjYmZmMyAgbGli
cXVhcmFudGluZS5keWxpYiAoODUuNTAuMSkgPDEyNDQ4Q0MyLTM3OEUtMzVGMy1CRTMzLTlEQzM5
NUE1Qjk3MD4gL3Vzci9saWIvc3lzdGVtL2xpYnF1YXJhbnRpbmUuZHlsaWIKICAgIDB4N2ZmZmFi
NmNjMDAwIC0gICAgIDB4N2ZmZmFiNmNkZmZiICBsaWJyZW1vdmVmaWxlLmR5bGliICg0NSkgPDM4
RDRDQjlDLTEwQ0QtMzBEMy04QjdCLUE1MTVFQzc1RkU4NT4gL3Vzci9saWIvc3lzdGVtL2xpYnJl
bW92ZWZpbGUuZHlsaWIKICAgIDB4N2ZmZmFiNmNlMDAwIC0gICAgIDB4N2ZmZmFiNmU2ZmY3ICBs
aWJzeXN0ZW1fYXNsLmR5bGliICgzNDkuNTAuNSkgPDA5NkU0MjI4LTNCN0MtMzBBNi04QjEzLUVD
OTA5QTY0NDk5QT4gL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9hc2wuZHlsaWIKICAgIDB4N2Zm
ZmFiNmU3MDAwIC0gICAgIDB4N2ZmZmFiNmU3ZmY3ICBsaWJzeXN0ZW1fYmxvY2tzLmR5bGliICg2
NykgPDEwREM1NDA0LTczQUItMzVCMy1BMjc3LUE4QUZFQ0I0NzZFQj4gL3Vzci9saWIvc3lzdGVt
L2xpYnN5c3RlbV9ibG9ja3MuZHlsaWIKICAgIDB4N2ZmZmFiNmU4MDAwIC0gICAgIDB4N2ZmZmFi
Nzc1ZmVmICBsaWJzeXN0ZW1fYy5keWxpYiAoMTE1OC41MC4yKSA8RTVBRTUyNDQtN0QwQy0zNkFD
LThCQjYtQzdBRTdFQTUyQTRCPiAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2MuZHlsaWIKICAg
IDB4N2ZmZmFiNzc2MDAwIC0gICAgIDB4N2ZmZmFiNzc5ZmZiICBsaWJzeXN0ZW1fY29uZmlndXJh
dGlvbi5keWxpYiAoODg4LjYwLjIpIDxCRUNDMDFBMi1DQThELTMxRTYtQkNERi1ENDUyOTY1RkE5
NzY+IC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fY29uZmlndXJhdGlvbi5keWxpYgogICAgMHg3
ZmZmYWI3N2EwMDAgLSAgICAgMHg3ZmZmYWI3N2RmZmYgIGxpYnN5c3RlbV9jb3Jlc2VydmljZXMu
ZHlsaWIgKDQxLjQpIDw3RDI2REU3OS1CNDI0LTM0NTAtODVFMS1GN0ZBQjMyNzE0QUI+IC91c3Iv
bGliL3N5c3RlbS9saWJzeXN0ZW1fY29yZXNlcnZpY2VzLmR5bGliCiAgICAweDdmZmZhYjc3ZTAw
MCAtICAgICAweDdmZmZhYjc5NmZmZiAgbGlic3lzdGVtX2NvcmV0bHMuZHlsaWIgKDEyMS41MC40
KSA8RUM2RkNGMDctRENGQi0zQTAzLTlDQzktNkREMzcwOTk3NEM2PiAvdXNyL2xpYi9zeXN0ZW0v
bGlic3lzdGVtX2NvcmV0bHMuZHlsaWIKICAgIDB4N2ZmZmFiNzk3MDAwIC0gICAgIDB4N2ZmZmFi
NzlkZmZmICBsaWJzeXN0ZW1fZG5zc2QuZHlsaWIgKDc2NS41MC45KSA8Q0M5NjAyMTUtMEIxQi0z
ODIyLUExM0EtM0RERTk2RkE3OTZGPiAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2Ruc3NkLmR5
bGliCiAgICAweDdmZmZhYjc5ZTAwMCAtICAgICAweDdmZmZhYjdjN2ZmNyAgbGlic3lzdGVtX2lu
Zm8uZHlsaWIgKDUwMy41MC40KSA8NjExREI4NEMtQkY3MC0zRjkyLTg3MDItQjlGMjhBOTAwOTIw
PiAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX2luZm8uZHlsaWIKICAgIDB4N2ZmZmFiN2M4MDAw
IC0gICAgIDB4N2ZmZmFiN2VhZmY3ICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICgzNzg5LjYwLjI0
KSA8NkU5RTQ4NUYtOTFGNi0zNkI3LUExMjUtQUU5MURDOTc4QkNDPiAvdXNyL2xpYi9zeXN0ZW0v
bGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgMHg3ZmZmYWI3ZWIwMDAgLSAgICAgMHg3ZmZmYWI4
MzJmZTcgIGxpYnN5c3RlbV9tLmR5bGliICgzMTIxLjYpIDw4NkQ0OTlCNS1CQkRDLTNEM0ItOEE0
RS05N0FFOEU2NjcyQTQ+IC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fbS5keWxpYgogICAgMHg3
ZmZmYWI4MzMwMDAgLSAgICAgMHg3ZmZmYWI4NTFmZjcgIGxpYnN5c3RlbV9tYWxsb2MuZHlsaWIg
KDExNi41MC44KSA8QTNEMTVGMTctOTlBNi0zMzY3LThDN0UtNDI4MEU4NjE5Qzk1PiAvdXNyL2xp
Yi9zeXN0ZW0vbGlic3lzdGVtX21hbGxvYy5keWxpYgogICAgMHg3ZmZmYWI4NTIwMDAgLSAgICAg
MHg3ZmZmYWI4YWJmZmIgIGxpYnN5c3RlbV9uZXR3b3JrLmR5bGliICg4NTYuNjAuMSkgPDM2OUQw
MjIxLTU2Q0EtM0MzRS05RURFLTk0QjQxQ0FFNzdCNz4gL3Vzci9saWIvc3lzdGVtL2xpYnN5c3Rl
bV9uZXR3b3JrLmR5bGliCiAgICAweDdmZmZhYjhhYzAwMCAtICAgICAweDdmZmZhYjhiNWZmMyAg
bGlic3lzdGVtX25ldHdvcmtleHRlbnNpb24uZHlsaWIgKDU2My42MC4yKSA8QjAyMUYyQjMtOEE3
NS0zNjMzLUFCQjAtRkMwMTJCOEU5QjBDPiAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX25ldHdv
cmtleHRlbnNpb24uZHlsaWIKICAgIDB4N2ZmZmFiOGI2MDAwIC0gICAgIDB4N2ZmZmFiOGJmZmYz
ICBsaWJzeXN0ZW1fbm90aWZ5LmR5bGliICgxNjUuMjAuMSkgPEI4MTYwMTkwLUEwNjktM0IzQS1C
REY2LTJBQTQwODIyMUZBRT4gL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9ub3RpZnkuZHlsaWIK
ICAgIDB4N2ZmZmFiOGMwMDAwIC0gICAgIDB4N2ZmZmFiOGM4ZmU3ICBsaWJzeXN0ZW1fcGxhdGZv
cm0uZHlsaWIgKDEyNi41MC44KSA8ODk3NDYyRkQtQjMxOC0zMjFCLUE1NTQtRTYxOTgyNjMwRjdF
PiAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3BsYXRmb3JtLmR5bGliCiAgICAweDdmZmZhYjhj
OTAwMCAtICAgICAweDdmZmZhYjhkM2ZmNyAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgKDIxOC42
MC4zKSA8QjhGQjVFMjAtMzI5NS0zOUUyLUI1RUItQjQ2NEQxRDRCMTA0PiAvdXNyL2xpYi9zeXN0
ZW0vbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIKICAgIDB4N2ZmZmFiOGQ0MDAwIC0gICAgIDB4N2Zm
ZmFiOGQ3ZmY3ICBsaWJzeXN0ZW1fc2FuZGJveC5keWxpYiAoNTkyLjYwLjEpIDxEQzc4MDYzMS1C
RDIzLTM2QjEtOTM3Ni02Njg2MTlFMThEMjU+IC91c3IvbGliL3N5c3RlbS9saWJzeXN0ZW1fc2Fu
ZGJveC5keWxpYgogICAgMHg3ZmZmYWI4ZDgwMDAgLSAgICAgMHg3ZmZmYWI4ZDlmZjMgIGxpYnN5
c3RlbV9zZWNpbml0LmR5bGliICgyNC41MC40KSA8Rjc4Qjg0N0ItMzU2NS0zRTRCLTk4QTYtRjdB
RDQwMzkyRTJEPiAvdXNyL2xpYi9zeXN0ZW0vbGlic3lzdGVtX3NlY2luaXQuZHlsaWIKICAgIDB4
N2ZmZmFiOGRhMDAwIC0gICAgIDB4N2ZmZmFiOGUxZmZiICBsaWJzeXN0ZW1fc3ltcHRvbXMuZHls
aWIgKDUzMi41MC40NykgPDMzOTBFMDdDLUMxQ0UtMzQ4Ri1BREJELTJDNTQ0MEI0NUVBQT4gL3Vz
ci9saWIvc3lzdGVtL2xpYnN5c3RlbV9zeW1wdG9tcy5keWxpYgogICAgMHg3ZmZmYWI4ZTIwMDAg
LSAgICAgMHg3ZmZmYWI4ZjVmZjcgIGxpYnN5c3RlbV90cmFjZS5keWxpYiAoNTE4LjYwLjIpIDw2
QjE0NUIxMC01ODc0LTNFODktOTBDRC1EMzcwREI0NzVCQTE+IC91c3IvbGliL3N5c3RlbS9saWJz
eXN0ZW1fdHJhY2UuZHlsaWIKICAgIDB4N2ZmZmFiOGY2MDAwIC0gICAgIDB4N2ZmZmFiOGZiZmZi
ICBsaWJ1bndpbmQuZHlsaWIgKDM1LjMpIDwzRDUwRDhBOC1DNDYwLTMzNEQtQTUxOS0yREE4NDEx
MDJDNkI+IC91c3IvbGliL3N5c3RlbS9saWJ1bndpbmQuZHlsaWIKICAgIDB4N2ZmZmFiOGZjMDAw
IC0gICAgIDB4N2ZmZmFiOTI1ZmY3ICBsaWJ4cGMuZHlsaWIgKDk3Mi42MC4yKSA8MUM5QUY3MTYt
NjlERi0zNTlGLTg1RTktN0RGREUzNjJGOUEyPiAvdXNyL2xpYi9zeXN0ZW0vbGlieHBjLmR5bGli
CgpFeHRlcm5hbCBNb2RpZmljYXRpb24gU3VtbWFyeToKICBDYWxscyBtYWRlIGJ5IG90aGVyIHBy
b2Nlc3NlcyB0YXJnZXRpbmcgdGhpcyBwcm9jZXNzOgogICAgdGFza19mb3JfcGlkOiAwCiAgICB0
aHJlYWRfY3JlYXRlOiAwCiAgICB0aHJlYWRfc2V0X3N0YXRlOiAwCiAgQ2FsbHMgbWFkZSBieSB0
aGlzIHByb2Nlc3M6CiAgICB0YXNrX2Zvcl9waWQ6IDAKICAgIHRocmVhZF9jcmVhdGU6IDAKICAg
IHRocmVhZF9zZXRfc3RhdGU6IDAKICBDYWxscyBtYWRlIGJ5IGFsbCBwcm9jZXNzZXMgb24gdGhp
cyBtYWNoaW5lOgogICAgdGFza19mb3JfcGlkOiAxMzUxMwogICAgdGhyZWFkX2NyZWF0ZTogMAog
ICAgdGhyZWFkX3NldF9zdGF0ZTogMAoKVk0gUmVnaW9uIFN1bW1hcnk6ClJlYWRPbmx5IHBvcnRp
b24gb2YgTGlicmFyaWVzOiBUb3RhbD0zNzUuN00gcmVzaWRlbnQ9MEsoMCUpIHN3YXBwZWRfb3V0
X29yX3VuYWxsb2NhdGVkPTM3NS43TSgxMDAlKQpXcml0YWJsZSByZWdpb25zOiBUb3RhbD0xLjFH
IHdyaXR0ZW49MEsoMCUpIHJlc2lkZW50PTBLKDAlKSBzd2FwcGVkX291dD0wSygwJSkgdW5hbGxv
Y2F0ZWQ9MS4xRygxMDAlKQogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWSVJU
VUFMICAgUkVHSU9OIApSRUdJT04gVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgU0laRSAg
ICBDT1VOVCAobm9uLWNvYWxlc2NlZCkgCj09PT09PT09PT09ICAgICAgICAgICAgICAgICAgICAg
ICA9PT09PT09ICA9PT09PT09IApBY3Rpdml0eSBUcmFjaW5nICAgICAgICAgICAgICAgICAgICAg
MjU2SyAgICAgICAgMiAKQ29yZVVJIGltYWdlIGZpbGUgICAgICAgICAgICAgICAgICAgIDE1Mksg
ICAgICAgIDIgCkRpc3BhdGNoIGNvbnRpbnVhdGlvbnMgICAgICAgICAgICAgIDgxOTJLICAgICAg
ICAyIApGb3VuZGF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0SyAgICAgICAgMiAK
SlMgSklUIGdlbmVyYXRlZCBjb2RlICAgICAgICAgICAgICAxMjguME0gICAgICAgIDUgCkpTIEpJ
VCBnZW5lcmF0ZWQgY29kZSAocmVzZXJ2ZWQpICAgODk2LjBNICAgICAgICAyICAgICAgICAgcmVz
ZXJ2ZWQgVk0gYWRkcmVzcyBzcGFjZSAodW5hbGxvY2F0ZWQpCktlcm5lbCBBbGxvYyBPbmNlICAg
ICAgICAgICAgICAgICAgICAgIDhLICAgICAgICAyIApNQUxMT0MgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA1MC43TSAgICAgICAyMyAKTUFMTE9DIGd1YXJkIHBhZ2UgICAgICAgICAgICAg
ICAgICAgICA0OEsgICAgICAgMTEgCk1lbW9yeSBUYWcgMjQyICAgICAgICAgICAgICAgICAgICAg
ICAgMTJLICAgICAgICAyIApTVEFDSyBHVUFSRCAgICAgICAgICAgICAgICAgICAgICAgICA1Ni4x
TSAgICAgICAxNiAKU3RhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTUuMU0gICAg
ICAgMTYgClZNX0FMTE9DQVRFICAgICAgICAgICAgICAgICAgICAgICAgIDEwNDRLICAgICAgICA0
IApXZWJLaXQgTWFsbG9jICAgICAgICAgICAgICAgICAgICAgICAxNi4yTSAgICAgICAzNiAKX19E
QVRBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDEuME0gICAgICAzNzQgCl9fSU1BR0Ug
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MjhLICAgICAgICAyIApfX0xJTktFRElUICAg
ICAgICAgICAgICAgICAgICAgICAgIDExNC42TSAgICAgICAgNyAKX19URVhUICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAyNjEuMU0gICAgICAzODEgCl9fVU5JQ09ERSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA1NTZLICAgICAgICAyIAptYXBwZWQgZmlsZSAgICAgICAgICAgICAgICAg
ICAgICAgICAzOC4wTSAgICAgICAxMCAKc2hhcmVkIG1lbW9yeSAgICAgICAgICAgICAgICAgICAg
ICAgMTYuNE0gICAgICAgMTIgCj09PT09PT09PT09ICAgICAgICAgICAgICAgICAgICAgICA9PT09
PT09ICA9PT09PT09IApUT1RBTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS42RyAg
ICAgIDg5MiAKVE9UQUwsIG1pbnVzIHJlc2VydmVkIFZNIHNwYWNlICAgICA3NDcuN00gICAgICA4
OTIgCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312274</attachid>
            <date>2017-06-07 20:56:13 -0700</date>
            <delta_ts>2017-06-08 13:22:49 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>11948</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQ1BVLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9DUFUuaAkocmV2aXNpb24gMjE3ODk0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9DUFUuaAkod29ya2luZyBjb3B5
KQpAQCAtMjksNyArMjksNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotaW5saW5lIGJvb2wgaXNB
Uk12N0lESVZTdXBwb3J0ZWQoKQorY29uc3RleHByIGJvb2wgaXNBUk12N0lESVZTdXBwb3J0ZWQo
KQogewogI2lmIEhBVkUoQVJNX0lESVZfSU5TVFJVQ1RJT05TKQogICAgIHJldHVybiB0cnVlOwpA
QCAtMzgsNyArMzgsNyBAQCBpbmxpbmUgYm9vbCBpc0FSTXY3SURJVlN1cHBvcnRlZCgpCiAjZW5k
aWYKIH0KIAotaW5saW5lIGJvb2wgaXNBUk02NCgpCitjb25zdGV4cHIgYm9vbCBpc0FSTTY0KCkK
IHsKICNpZiBDUFUoQVJNNjQpCiAgICAgcmV0dXJuIHRydWU7CkBAIC00Nyw3ICs0Nyw3IEBAIGlu
bGluZSBib29sIGlzQVJNNjQoKQogI2VuZGlmCiB9CiAKLWlubGluZSBib29sIGlzWDg2KCkKK2Nv
bnN0ZXhwciBib29sIGlzWDg2KCkKIHsKICNpZiBDUFUoWDg2XzY0KSB8fCBDUFUoWDg2KQogICAg
IHJldHVybiB0cnVlOwpAQCAtNTYsNyArNTYsNyBAQCBpbmxpbmUgYm9vbCBpc1g4NigpCiAjZW5k
aWYKIH0KIAotaW5saW5lIGJvb2wgaXNYODZfNjQoKQorY29uc3RleHByIGJvb2wgaXNYODZfNjQo
KQogewogI2lmIENQVShYODZfNjQpCiAgICAgcmV0dXJuIHRydWU7CkBAIC02NSw3ICs2NSw3IEBA
IGlubGluZSBib29sIGlzWDg2XzY0KCkKICNlbmRpZgogfQogCi1pbmxpbmUgYm9vbCBpczY0Qml0
KCkKK2NvbnN0ZXhwciBib29sIGlzNjRCaXQoKQogewogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAg
cmV0dXJuIHRydWU7CkBAIC03NCwxMiArNzQsMTIgQEAgaW5saW5lIGJvb2wgaXM2NEJpdCgpCiAj
ZW5kaWYKIH0KIAotaW5saW5lIGJvb2wgaXMzMkJpdCgpCitjb25zdGV4cHIgYm9vbCBpczMyQml0
KCkKIHsKICAgICByZXR1cm4gIWlzNjRCaXQoKTsKIH0KIAotaW5saW5lIGJvb2wgaXNNSVBTKCkK
K2NvbnN0ZXhwciBib29sIGlzTUlQUygpCiB7CiAjaWYgQ1BVKE1JUFMpCiAgICAgcmV0dXJuIHRy
dWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRl
ZFR5cGUuaAkocmV2aXNpb24gMjE3ODk0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1NwZWN1bGF0ZWRUeXBlLmgJKHdvcmtpbmcgY29weSkKQEAgLTkyLDYgKzkyLDcgQEAgc3Rh
dGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNQcmltaXRpdgogc3RhdGljIGNvbnN0IFNwZWN1
bGF0ZWRUeXBlIFNwZWNFbXB0eSAgICAgICAgICAgICAgPSAxdWxsIDw8IDM0OyAvLyBJdCdzIGRl
ZmluaXRlbHkgYW4gZW1wdHkgdmFsdWUgbWFya2VyLgogc3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRU
eXBlIFNwZWNCeXRlY29kZVRvcCAgICAgICAgPSBTcGVjSGVhcFRvcCB8IFNwZWNFbXB0eTsgLy8g
SXQgY2FuIGJlIGFueSBvZiB0aGUgYWJvdmUsIGV4Y2VwdCBmb3IgU3BlY0ludDUyT25seSBhbmQg
U3BlY0RvdWJsZUltcHVyZU5hTi4gQ29ycmVzcG9uZHMgdG8gd2hhdCBjb3VsZCBiZSBmb3VuZCBp
biBhIGJ5dGVjb2RlIGxvY2FsLgogc3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNGdWxs
VG9wICAgICAgICAgICAgPSBTcGVjQnl0ZWNvZGVUb3AgfCBTcGVjRnVsbE51bWJlcjsgLy8gSXQg
Y2FuIGJlIGFueXRoaW5nIHRoYXQgYnl0ZWNvZGUgY291bGQgc2VlIHBsdXMgZXhvdGljIGVuY29k
aW5ncyBvZiBudW1iZXJzLgorc3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNDZWxsT3JF
bXB0eSAgICAgICAgPSBTcGVjQ2VsbCB8IFNwZWNFbXB0eTsKIAogdHlwZWRlZiBib29sICgqU3Bl
Y3VsYXRlZFR5cGVDaGVja2VyKShTcGVjdWxhdGVkVHlwZSk7CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3Iu
Y3BwCShyZXZpc2lvbiAyMTc4OTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYwNyw2ICs0NjA3
LDcgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRMb2FkRAogUmVnaXN0ZXJJ
RCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVuc3VyZVRoaXMoKQogewogICAgIGlmIChjb25zdHJ1Y3Rv
cktpbmQoKSA9PSBDb25zdHJ1Y3RvcktpbmQ6OkV4dGVuZHMgfHwgaXNEZXJpdmVkQ29uc3RydWN0
b3JDb250ZXh0KCkpIHsKKyAgICAgICAgZGF0YUxvZ0xuKCJFbWl0dGluZyBURFogY2hlY2sgZm9y
IHRoaXMiKTsKICAgICAgICAgaWYgKChuZWVkc1RvVXBkYXRlQXJyb3dGdW5jdGlvbkNvbnRleHQo
KSAmJiBpc1N1cGVyQ2FsbFVzZWRJbklubmVyQXJyb3dGdW5jdGlvbigpKSB8fCBtX2NvZGVCbG9j
ay0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5
TW9kZSkKICAgICAgICAgICAgIGVtaXRMb2FkVGhpc0Zyb21BcnJvd0Z1bmN0aW9uTGV4aWNhbEVu
dmlyb25tZW50KCk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJh
Y3RJbnRlcnByZXRlcklubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgJKHJldmlzaW9uIDIxNzg5NCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGlu
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTMxLDYgKzEzMSw3IEBAIHZvaWQgQWJzdHJhY3RJbnRl
cnByZXRlcjxBYnN0cmFjdFN0YXRlVHkKICAgICBpZiAoIShmb3JOb2RlKGVkZ2UpLm1fdHlwZSAm
IH50eXBlRmlsdGVyRm9yKGVkZ2UudXNlS2luZCgpKSkpCiAgICAgICAgIHJldHVybjsKICAgICAK
KyAgICBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKICAgICBERkdfQ1JBU0gobV9ncmFwaCwgbm9kZSwg
dG9DU3RyaW5nKCJFZGdlIHZlcmlmaWNhdGlvbiBlcnJvcjogIiwgbm9kZSwgIi0+IiwgZWRnZSwg
IiB3YXMgZXhwZWN0ZWQgdG8gaGF2ZSB0eXBlICIsIFNwZWN1bGF0aW9uRHVtcCh0eXBlRmlsdGVy
Rm9yKGVkZ2UudXNlS2luZCgpKSksICIgYnV0IGhhcyB0eXBlICIsIFNwZWN1bGF0aW9uRHVtcChm
b3JOb2RlKGVkZ2UpLm1fdHlwZSksICIgKCIsIGZvck5vZGUoZWRnZSkubV90eXBlLCAiKSIpLmRh
dGEoKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMjE3ODk0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM3
MSw5ICsxMzcxLDkgQEAgR1BSUmVnIFNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlQ2VsbAog
ewogICAgIEFic3RyYWN0VmFsdWUmIHZhbHVlID0gbV9zdGF0ZS5mb3JOb2RlKGVkZ2UpOwogICAg
IFNwZWN1bGF0ZWRUeXBlIHR5cGUgPSB2YWx1ZS5tX3R5cGU7Ci0gICAgQVNTRVJUKChlZGdlLnVz
ZUtpbmQoKSAhPSBLbm93bkNlbGxVc2UgJiYgZWRnZS51c2VLaW5kKCkgIT0gS25vd25TdHJpbmdV
c2UpIHx8ICEodmFsdWUubV90eXBlICYgflNwZWNDZWxsKSk7CisgICAgQVNTRVJUKChlZGdlLnVz
ZUtpbmQoKSAhPSBLbm93bkNlbGxVc2UgJiYgZWRnZS51c2VLaW5kKCkgIT0gS25vd25TdHJpbmdV
c2UpIHx8ICEodmFsdWUubV90eXBlICYgfmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCkpOwogCi0g
ICAgbV9pbnRlcnByZXRlci5maWx0ZXIodmFsdWUsIFNwZWNDZWxsKTsKKyAgICBtX2ludGVycHJl
dGVyLmZpbHRlcih2YWx1ZSwgY2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKTsKICAgICBpZiAodmFs
dWUuaXNDbGVhcigpKSB7CiAgICAgICAgIHRlcm1pbmF0ZVNwZWN1bGF0aXZlRXhlY3V0aW9uKFVu
Y291bnRhYmxlLCBKU1ZhbHVlUmVncygpLCAwKTsKICAgICAgICAgcmV0dXJuIGFsbG9jYXRlKCk7
CkBAIC0xMzk4LDcgKzEzOTgsNyBAQCBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxh
dGVDZWxsCiAgICAgICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6YWRkcmVzc0Zvcih2aXJ0
dWFsUmVnaXN0ZXIpLCBncHIpOwogCiAgICAgICAgIGluZm8uZmlsbEpTVmFsdWUoKm1fc3RyZWFt
LCBncHIsIERhdGFGb3JtYXRKUyk7Ci0gICAgICAgIGlmICh0eXBlICYgflNwZWNDZWxsKQorICAg
ICAgICBpZiAodHlwZSAmIH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpCiAgICAgICAgICAgICBz
cGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpTVmFsdWVSZWdzKGdwciksIGVkZ2UsIG1faml0LmJy
YW5jaElmTm90Q2VsbChKU1ZhbHVlUmVncyhncHIpKSk7CiAgICAgICAgIGluZm8uZmlsbEpTVmFs
dWUoKm1fc3RyZWFtLCBncHIsIERhdGFGb3JtYXRKU0NlbGwpOwogICAgICAgICByZXR1cm4gZ3By
OwpAQCAtMTQxOSw3ICsxNDE5LDcgQEAgR1BSUmVnIFNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3Vs
YXRlQ2VsbAogICAgIGNhc2UgRGF0YUZvcm1hdEpTOiB7CiAgICAgICAgIEdQUlJlZyBncHIgPSBp
bmZvLmdwcigpOwogICAgICAgICBtX2dwcnMubG9jayhncHIpOwotICAgICAgICBpZiAodHlwZSAm
IH5TcGVjQ2VsbCkKKyAgICAgICAgaWYgKHR5cGUgJiB+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdo
KQogICAgICAgICAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRUeXBlLCBKU1ZhbHVlUmVncyhncHIp
LCBlZGdlLCBtX2ppdC5icmFuY2hJZk5vdENlbGwoSlNWYWx1ZVJlZ3MoZ3ByKSkpOwogICAgICAg
ICBpbmZvLmZpbGxKU1ZhbHVlKCptX3N0cmVhbSwgZ3ByLCBEYXRhRm9ybWF0SlNDZWxsKTsKICAg
ICAgICAgcmV0dXJuIGdwcjsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAyMTc4OTQpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI1
MCw3ICsyMjUwLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVZhbHVlVG9JbnQzMgog
ICAgICAgICAgICAgICAgIEpJVENvbXBpbGVyOjpKdW1wIGlzTnVtYmVyID0gbV9qaXQuYnJhbmNo
VGVzdDY0KE1hY3JvQXNzZW1ibGVyOjpOb25aZXJvLCBncHIsIEdQUkluZm86OnRhZ1R5cGVOdW1i
ZXJSZWdpc3Rlcik7CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgREZHX1RZUEVf
Q0hFQ0soCi0gICAgICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzKGdwciksIG5vZGUtPmNoaWxk
MSgpLCB+U3BlY0NlbGwsIG1faml0LmJyYW5jaElmQ2VsbChKU1ZhbHVlUmVncyhncHIpKSk7Cisg
ICAgICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzKGdwciksIG5vZGUtPmNoaWxkMSgpLCB+Y2Vs
bENoZWNrVHlwZVBhc3N0aHJvdWdoLCBtX2ppdC5icmFuY2hJZkNlbGwoSlNWYWx1ZVJlZ3MoZ3By
KSkpOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIC8vIEl0J3Mgbm90IGEgY2Vs
bDogc28gdHJ1ZSB0dXJucyBpbnRvIDEgYW5kIGFsbCBlbHNlIHR1cm5zIGludG8gMC4KICAgICAg
ICAgICAgICAgICBtX2ppdC5jb21wYXJlNjQoSklUQ29tcGlsZXI6OkVxdWFsLCBncHIsIFRydXN0
ZWRJbW0zMihWYWx1ZVRydWUpLCByZXN1bHRHcHIpOwpAQCAtODQwNiw3ICs4NDA2LDcgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlQm9vbGVhbihFZAogCiB2b2lkIFNwZWN1bGF0aXZl
SklUOjpzcGVjdWxhdGVDZWxsKEVkZ2UgZWRnZSkKIHsKLSAgICBpZiAoIW5lZWRzVHlwZUNoZWNr
KGVkZ2UsIFNwZWNDZWxsKSkKKyAgICBpZiAoIW5lZWRzVHlwZUNoZWNrKGVkZ2UsIGNlbGxDaGVj
a1R5cGVQYXNzdGhyb3VnaCkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICAoU3BlY3VsYXRl
Q2VsbE9wZXJhbmQodGhpcywgZWRnZSkpLmdwcigpOwpAQCAtODQxNCw3ICs4NDE0LDcgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlQ2VsbChFZGdlIAogCiB2b2lkIFNwZWN1bGF0aXZl
SklUOjpzcGVjdWxhdGVDZWxsT3JPdGhlcihFZGdlIGVkZ2UpCiB7Ci0gICAgaWYgKCFuZWVkc1R5
cGVDaGVjayhlZGdlLCBTcGVjQ2VsbCB8IFNwZWNPdGhlcikpCisgICAgaWYgKCFuZWVkc1R5cGVD
aGVjayhlZGdlLCBjZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjT3RoZXIpKQogICAgICAg
ICByZXR1cm47CiAgICAgCiAgICAgSlNWYWx1ZU9wZXJhbmQgb3BlcmFuZCh0aGlzLCBlZGdlLCBN
YW51YWxPcGVyYW5kU3BlY3VsYXRpb24pOwpAQCAtODQyMyw3ICs4NDIzLDcgQEAgdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6c3BlY3VsYXRlQ2VsbE9yT3RoZQogCiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1
bXAgb2sgPSBtX2ppdC5icmFuY2hJZkNlbGwob3BlcmFuZC5qc1ZhbHVlUmVncygpKTsKICAgICBE
RkdfVFlQRV9DSEVDSygKLSAgICAgICAgb3BlcmFuZC5qc1ZhbHVlUmVncygpLCBlZGdlLCBTcGVj
Q2VsbCB8IFNwZWNPdGhlciwKKyAgICAgICAgb3BlcmFuZC5qc1ZhbHVlUmVncygpLCBlZGdlLCBj
ZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjT3RoZXIsCiAgICAgICAgIG1faml0LmJyYW5j
aElmTm90T3RoZXIob3BlcmFuZC5qc1ZhbHVlUmVncygpLCB0ZW1wR1BSKSk7CiAgICAgb2subGlu
aygmbV9qaXQpOwogfQpAQCAtODU2NCw3ICs4NTY0LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
c3BlY3VsYXRlT2JqZWN0T3JPdAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlU3RyaW5n
KEVkZ2UgZWRnZSwgR1BSUmVnIGNlbGwpCiB7CiAgICAgREZHX1RZUEVfQ0hFQ0soCi0gICAgICAg
IEpTVmFsdWVTb3VyY2U6OnVuYm94ZWRDZWxsKGNlbGwpLCBlZGdlLCBTcGVjU3RyaW5nIHwgflNw
ZWNDZWxsLCBtX2ppdC5icmFuY2hJZk5vdFN0cmluZyhjZWxsKSk7CisgICAgICAgIEpTVmFsdWVT
b3VyY2U6OnVuYm94ZWRDZWxsKGNlbGwpLCBlZGdlLCBTcGVjU3RyaW5nIHwgfmNlbGxDaGVja1R5
cGVQYXNzdGhyb3VnaCwgbV9qaXQuYnJhbmNoSWZOb3RTdHJpbmcoY2VsbCkpOwogfQogCiB2b2lk
IFNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVTdHJpbmdPck90aGVyKEVkZ2UgZWRnZSwgSlNWYWx1
ZVJlZ3MgcmVncywgR1BSUmVnIHNjcmF0Y2gpCkBAIC04NzE2LDEyICs4NzE2LDEyIEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZVN5bWJvbChFZGcKIAogdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6c3BlY3VsYXRlTm90Q2VsbChFZGdlIGVkZ2UsIEpTVmFsdWVSZWdzIHJlZ3MpCiB7Ci0gICAg
REZHX1RZUEVfQ0hFQ0socmVncywgZWRnZSwgflNwZWNDZWxsLCBtX2ppdC5icmFuY2hJZkNlbGwo
cmVncykpOworICAgIERGR19UWVBFX0NIRUNLKHJlZ3MsIGVkZ2UsIH5jZWxsQ2hlY2tUeXBlUGFz
c3Rocm91Z2gsIG1faml0LmJyYW5jaElmQ2VsbChyZWdzKSk7CiB9CiAKIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OnNwZWN1bGF0ZU5vdENlbGwoRWRnZSBlZGdlKQogewotICAgIGlmICghbmVlZHNUeXBl
Q2hlY2soZWRnZSwgflNwZWNDZWxsKSkKKyAgICBpZiAoIW5lZWRzVHlwZUNoZWNrKGVkZ2UsIH5j
ZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgSlNW
YWx1ZU9wZXJhbmQgb3BlcmFuZCh0aGlzLCBlZGdlLCBNYW51YWxPcGVyYW5kU3BlY3VsYXRpb24p
OyAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmgJKHJldmlzaW9uIDIxNzg5NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQuaAkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsOSBAQCBjbGFzcyBTcGVj
dWxhdGVCb29sZWFuT3BlcmFuZDsKIAogZW51bSBHZW5lcmF0ZWRPcGVyYW5kVHlwZSB7IEdlbmVy
YXRlZE9wZXJhbmRUeXBlVW5rbm93biwgR2VuZXJhdGVkT3BlcmFuZEludGVnZXIsIEdlbmVyYXRl
ZE9wZXJhbmRKU1ZhbHVlfTsKIAorLy8gV2hlbiBkb2luZyBhIGNlbGwgY2hlY2ssIHRoaXMgaXMg
dGhlIHR5cGUgdGhhdCBwYXNzZXMgdGhyb3VnaAorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVk
VHlwZSBjZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2ggPSBpczY0Qml0KCkgPyBTcGVjQ2VsbE9yRW1w
dHkgOiBTcGVjQ2VsbDsKKwogLy8gPT09IFNwZWN1bGF0aXZlSklUID09PQogLy8KIC8vIFRoZSBT
cGVjdWxhdGl2ZUpJVCBpcyB1c2VkIHRvIGdlbmVyYXRlIGEgZmFzdCwgYnV0IHBvdGVudGlhbGx5
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1VzZUtpbmQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1VzZUtpbmQuaAkocmV2aXNpb24gMjE3
ODk0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdVc2VLaW5kLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTExMyw2ICsxMTMsMTEgQEAgaW5saW5lIFNwZWN1bGF0ZWRUeXBlIHR5cGVGaWx0
ZXJGb3IoVXNlSwogICAgIGNhc2UgS25vd25Cb29sZWFuVXNlOgogICAgICAgICByZXR1cm4gU3Bl
Y0Jvb2xlYW47CiAgICAgY2FzZSBDZWxsVXNlOgorI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgICAg
IHJldHVybiBTcGVjQ2VsbE9yRW1wdHk7CisjZWxzZQorICAgICAgICByZXR1cm4gU3BlY0NlbGw7
CisjZW5kaWYKICAgICBjYXNlIEtub3duQ2VsbFVzZToKICAgICAgICAgcmV0dXJuIFNwZWNDZWxs
OwogICAgIGNhc2UgQ2VsbE9yT3RoZXJVc2U6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCShyZXZpc2lvbiAyMTc4OTQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEyNDQwLDcgKzEyNDQwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgaWYgKGlzVmFsaWQodmFsdWUp
KSB7CiAgICAgICAgICAgICBMVmFsdWUgdW5jaGVja2VkVmFsdWUgPSB2YWx1ZS52YWx1ZSgpOwog
ICAgICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soCi0gICAgICAgICAgICAgICAganNWYWx1ZVZhbHVl
KHVuY2hlY2tlZFZhbHVlKSwgZWRnZSwgU3BlY0NlbGwsIGlzTm90Q2VsbCh1bmNoZWNrZWRWYWx1
ZSkpOworICAgICAgICAgICAgICAgIGpzVmFsdWVWYWx1ZSh1bmNoZWNrZWRWYWx1ZSksIGVkZ2Us
IFNwZWNDZWxsT3JFbXB0eSwgaXNOb3RDZWxsKHVuY2hlY2tlZFZhbHVlKSk7CiAgICAgICAgICAg
ICByZXR1cm4gdW5jaGVja2VkVmFsdWU7CiAgICAgICAgIH0KICAgICAgICAgCkBAIC0xMjU5OSw3
ICsxMjU5OSw3IEBAIHByaXZhdGU6CiAgICAgTFZhbHVlIGxvd05vdENlbGwoRWRnZSBlZGdlKQog
ICAgIHsKICAgICAgICAgTFZhbHVlIHJlc3VsdCA9IGxvd0pTVmFsdWUoZWRnZSwgTWFudWFsT3Bl
cmFuZFNwZWN1bGF0aW9uKTsKLSAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHJl
c3VsdCksIGVkZ2UsIH5TcGVjQ2VsbCwgaXNDZWxsKHJlc3VsdCkpOworICAgICAgICBGVExfVFlQ
RV9DSEVDSyhqc1ZhbHVlVmFsdWUocmVzdWx0KSwgZWRnZSwgflNwZWNDZWxsT3JFbXB0eSwgaXND
ZWxsKHJlc3VsdCkpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAKQEAgLTEy
NzAwLDEzICsxMjcwMCwxMyBAQCBwcml2YXRlOgogICAgIAogICAgIExWYWx1ZSBpc0NlbGxPck1p
c2MoTFZhbHVlIGpzVmFsdWUsIFNwZWN1bGF0ZWRUeXBlIHR5cGUgPSBTcGVjRnVsbFRvcCkKICAg
ICB7Ci0gICAgICAgIGlmIChMVmFsdWUgcHJvdmVuID0gaXNQcm92ZW5WYWx1ZSh0eXBlLCBTcGVj
Q2VsbCB8IFNwZWNNaXNjKSkKKyAgICAgICAgaWYgKExWYWx1ZSBwcm92ZW4gPSBpc1Byb3ZlblZh
bHVlKHR5cGUsIFNwZWNDZWxsT3JFbXB0eSB8IFNwZWNNaXNjKSkKICAgICAgICAgICAgIHJldHVy
biBwcm92ZW47CiAgICAgICAgIHJldHVybiBtX291dC50ZXN0SXNaZXJvNjQoanNWYWx1ZSwgbV90
YWdUeXBlTnVtYmVyKTsKICAgICB9CiAgICAgTFZhbHVlIGlzTm90Q2VsbE9yTWlzYyhMVmFsdWUg
anNWYWx1ZSwgU3BlY3VsYXRlZFR5cGUgdHlwZSA9IFNwZWNGdWxsVG9wKQogICAgIHsKLSAgICAg
ICAgaWYgKExWYWx1ZSBwcm92ZW4gPSBpc1Byb3ZlblZhbHVlKHR5cGUsIH4oU3BlY0NlbGwgfCBT
cGVjTWlzYykpKQorICAgICAgICBpZiAoTFZhbHVlIHByb3ZlbiA9IGlzUHJvdmVuVmFsdWUodHlw
ZSwgfihTcGVjQ2VsbE9yRW1wdHkgfCBTcGVjTWlzYykpKQogICAgICAgICAgICAgcmV0dXJuIHBy
b3ZlbjsKICAgICAgICAgcmV0dXJuIG1fb3V0LnRlc3ROb25aZXJvNjQoanNWYWx1ZSwgbV90YWdU
eXBlTnVtYmVyKTsKICAgICB9CkBAIC0xMjgwNywxNCArMTI4MDcsMTQgQEAgcHJpdmF0ZToKICAg
ICAKICAgICBMVmFsdWUgaXNOb3RDZWxsKExWYWx1ZSBqc1ZhbHVlLCBTcGVjdWxhdGVkVHlwZSB0
eXBlID0gU3BlY0Z1bGxUb3ApCiAgICAgewotICAgICAgICBpZiAoTFZhbHVlIHByb3ZlbiA9IGlz
UHJvdmVuVmFsdWUodHlwZSwgflNwZWNDZWxsKSkKKyAgICAgICAgaWYgKExWYWx1ZSBwcm92ZW4g
PSBpc1Byb3ZlblZhbHVlKHR5cGUsIH5TcGVjQ2VsbE9yRW1wdHkpKQogICAgICAgICAgICAgcmV0
dXJuIHByb3ZlbjsKICAgICAgICAgcmV0dXJuIG1fb3V0LnRlc3ROb25aZXJvNjQoanNWYWx1ZSwg
bV90YWdNYXNrKTsKICAgICB9CiAgICAgCiAgICAgTFZhbHVlIGlzQ2VsbChMVmFsdWUganNWYWx1
ZSwgU3BlY3VsYXRlZFR5cGUgdHlwZSA9IFNwZWNGdWxsVG9wKQogICAgIHsKLSAgICAgICAgaWYg
KExWYWx1ZSBwcm92ZW4gPSBpc1Byb3ZlblZhbHVlKHR5cGUsIFNwZWNDZWxsKSkKKyAgICAgICAg
aWYgKExWYWx1ZSBwcm92ZW4gPSBpc1Byb3ZlblZhbHVlKHR5cGUsIFNwZWNDZWxsT3JFbXB0eSkp
CiAgICAgICAgICAgICByZXR1cm4gcHJvdmVuOwogICAgICAgICByZXR1cm4gbV9vdXQudGVzdElz
WmVybzY0KGpzVmFsdWUsIG1fdGFnTWFzayk7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312337</attachid>
            <date>2017-06-08 13:22:49 -0700</date>
            <delta_ts>2017-06-08 13:39:33 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>24426</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQ1BVLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9DUFUuaAkocmV2aXNpb24gMjE3ODk0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9DUFUuaAkod29ya2luZyBjb3B5
KQpAQCAtMjksNyArMjksNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotaW5saW5lIGJvb2wgaXNB
Uk12N0lESVZTdXBwb3J0ZWQoKQorY29uc3RleHByIGJvb2wgaXNBUk12N0lESVZTdXBwb3J0ZWQo
KQogewogI2lmIEhBVkUoQVJNX0lESVZfSU5TVFJVQ1RJT05TKQogICAgIHJldHVybiB0cnVlOwpA
QCAtMzgsNyArMzgsNyBAQCBpbmxpbmUgYm9vbCBpc0FSTXY3SURJVlN1cHBvcnRlZCgpCiAjZW5k
aWYKIH0KIAotaW5saW5lIGJvb2wgaXNBUk02NCgpCitjb25zdGV4cHIgYm9vbCBpc0FSTTY0KCkK
IHsKICNpZiBDUFUoQVJNNjQpCiAgICAgcmV0dXJuIHRydWU7CkBAIC00Nyw3ICs0Nyw3IEBAIGlu
bGluZSBib29sIGlzQVJNNjQoKQogI2VuZGlmCiB9CiAKLWlubGluZSBib29sIGlzWDg2KCkKK2Nv
bnN0ZXhwciBib29sIGlzWDg2KCkKIHsKICNpZiBDUFUoWDg2XzY0KSB8fCBDUFUoWDg2KQogICAg
IHJldHVybiB0cnVlOwpAQCAtNTYsNyArNTYsNyBAQCBpbmxpbmUgYm9vbCBpc1g4NigpCiAjZW5k
aWYKIH0KIAotaW5saW5lIGJvb2wgaXNYODZfNjQoKQorY29uc3RleHByIGJvb2wgaXNYODZfNjQo
KQogewogI2lmIENQVShYODZfNjQpCiAgICAgcmV0dXJuIHRydWU7CkBAIC02NSw3ICs2NSw3IEBA
IGlubGluZSBib29sIGlzWDg2XzY0KCkKICNlbmRpZgogfQogCi1pbmxpbmUgYm9vbCBpczY0Qml0
KCkKK2NvbnN0ZXhwciBib29sIGlzNjRCaXQoKQogewogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAg
cmV0dXJuIHRydWU7CkBAIC03NCwxMiArNzQsMTIgQEAgaW5saW5lIGJvb2wgaXM2NEJpdCgpCiAj
ZW5kaWYKIH0KIAotaW5saW5lIGJvb2wgaXMzMkJpdCgpCitjb25zdGV4cHIgYm9vbCBpczMyQml0
KCkKIHsKICAgICByZXR1cm4gIWlzNjRCaXQoKTsKIH0KIAotaW5saW5lIGJvb2wgaXNNSVBTKCkK
K2NvbnN0ZXhwciBib29sIGlzTUlQUygpCiB7CiAjaWYgQ1BVKE1JUFMpCiAgICAgcmV0dXJuIHRy
dWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRl
ZFR5cGUuaAkocmV2aXNpb24gMjE3ODk0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1NwZWN1bGF0ZWRUeXBlLmgJKHdvcmtpbmcgY29weSkKQEAgLTkyLDYgKzkyLDcgQEAgc3Rh
dGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNQcmltaXRpdgogc3RhdGljIGNvbnN0IFNwZWN1
bGF0ZWRUeXBlIFNwZWNFbXB0eSAgICAgICAgICAgICAgPSAxdWxsIDw8IDM0OyAvLyBJdCdzIGRl
ZmluaXRlbHkgYW4gZW1wdHkgdmFsdWUgbWFya2VyLgogc3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRU
eXBlIFNwZWNCeXRlY29kZVRvcCAgICAgICAgPSBTcGVjSGVhcFRvcCB8IFNwZWNFbXB0eTsgLy8g
SXQgY2FuIGJlIGFueSBvZiB0aGUgYWJvdmUsIGV4Y2VwdCBmb3IgU3BlY0ludDUyT25seSBhbmQg
U3BlY0RvdWJsZUltcHVyZU5hTi4gQ29ycmVzcG9uZHMgdG8gd2hhdCBjb3VsZCBiZSBmb3VuZCBp
biBhIGJ5dGVjb2RlIGxvY2FsLgogc3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNGdWxs
VG9wICAgICAgICAgICAgPSBTcGVjQnl0ZWNvZGVUb3AgfCBTcGVjRnVsbE51bWJlcjsgLy8gSXQg
Y2FuIGJlIGFueXRoaW5nIHRoYXQgYnl0ZWNvZGUgY291bGQgc2VlIHBsdXMgZXhvdGljIGVuY29k
aW5ncyBvZiBudW1iZXJzLgorc3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNDZWxsT3JF
bXB0eSAgICAgICAgPSBTcGVjQ2VsbCB8IFNwZWNFbXB0eTsKIAogdHlwZWRlZiBib29sICgqU3Bl
Y3VsYXRlZFR5cGVDaGVja2VyKShTcGVjdWxhdGVkVHlwZSk7CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3Iu
Y3BwCShyZXZpc2lvbiAyMTc4OTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYwNyw2ICs0NjA3
LDcgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRMb2FkRAogUmVnaXN0ZXJJ
RCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVuc3VyZVRoaXMoKQogewogICAgIGlmIChjb25zdHJ1Y3Rv
cktpbmQoKSA9PSBDb25zdHJ1Y3RvcktpbmQ6OkV4dGVuZHMgfHwgaXNEZXJpdmVkQ29uc3RydWN0
b3JDb250ZXh0KCkpIHsKKyAgICAgICAgZGF0YUxvZ0xuKCJFbWl0dGluZyBURFogY2hlY2sgZm9y
IHRoaXMiKTsKICAgICAgICAgaWYgKChuZWVkc1RvVXBkYXRlQXJyb3dGdW5jdGlvbkNvbnRleHQo
KSAmJiBpc1N1cGVyQ2FsbFVzZWRJbklubmVyQXJyb3dGdW5jdGlvbigpKSB8fCBtX2NvZGVCbG9j
ay0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5
TW9kZSkKICAgICAgICAgICAgIGVtaXRMb2FkVGhpc0Zyb21BcnJvd0Z1bmN0aW9uTGV4aWNhbEVu
dmlyb25tZW50KCk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJh
Y3RJbnRlcnByZXRlcklubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgJKHJldmlzaW9uIDIxNzg5NCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGlu
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTMxLDYgKzEzMSw3IEBAIHZvaWQgQWJzdHJhY3RJbnRl
cnByZXRlcjxBYnN0cmFjdFN0YXRlVHkKICAgICBpZiAoIShmb3JOb2RlKGVkZ2UpLm1fdHlwZSAm
IH50eXBlRmlsdGVyRm9yKGVkZ2UudXNlS2luZCgpKSkpCiAgICAgICAgIHJldHVybjsKICAgICAK
KyAgICBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKICAgICBERkdfQ1JBU0gobV9ncmFwaCwgbm9kZSwg
dG9DU3RyaW5nKCJFZGdlIHZlcmlmaWNhdGlvbiBlcnJvcjogIiwgbm9kZSwgIi0+IiwgZWRnZSwg
IiB3YXMgZXhwZWN0ZWQgdG8gaGF2ZSB0eXBlICIsIFNwZWN1bGF0aW9uRHVtcCh0eXBlRmlsdGVy
Rm9yKGVkZ2UudXNlS2luZCgpKSksICIgYnV0IGhhcyB0eXBlICIsIFNwZWN1bGF0aW9uRHVtcChm
b3JOb2RlKGVkZ2UpLm1fdHlwZSksICIgKCIsIGZvck5vZGUoZWRnZSkubV90eXBlLCAiKSIpLmRh
dGEoKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMjE3ODk0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM3
MSw5ICsxMzcxLDkgQEAgR1BSUmVnIFNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlQ2VsbAog
ewogICAgIEFic3RyYWN0VmFsdWUmIHZhbHVlID0gbV9zdGF0ZS5mb3JOb2RlKGVkZ2UpOwogICAg
IFNwZWN1bGF0ZWRUeXBlIHR5cGUgPSB2YWx1ZS5tX3R5cGU7Ci0gICAgQVNTRVJUKChlZGdlLnVz
ZUtpbmQoKSAhPSBLbm93bkNlbGxVc2UgJiYgZWRnZS51c2VLaW5kKCkgIT0gS25vd25TdHJpbmdV
c2UpIHx8ICEodmFsdWUubV90eXBlICYgflNwZWNDZWxsKSk7CisgICAgQVNTRVJUKChlZGdlLnVz
ZUtpbmQoKSAhPSBLbm93bkNlbGxVc2UgJiYgZWRnZS51c2VLaW5kKCkgIT0gS25vd25TdHJpbmdV
c2UpIHx8ICEodmFsdWUubV90eXBlICYgfmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCkpOwogCi0g
ICAgbV9pbnRlcnByZXRlci5maWx0ZXIodmFsdWUsIFNwZWNDZWxsKTsKKyAgICBtX2ludGVycHJl
dGVyLmZpbHRlcih2YWx1ZSwgY2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKTsKICAgICBpZiAodmFs
dWUuaXNDbGVhcigpKSB7CiAgICAgICAgIHRlcm1pbmF0ZVNwZWN1bGF0aXZlRXhlY3V0aW9uKFVu
Y291bnRhYmxlLCBKU1ZhbHVlUmVncygpLCAwKTsKICAgICAgICAgcmV0dXJuIGFsbG9jYXRlKCk7
CkBAIC0xMzk4LDcgKzEzOTgsNyBAQCBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxh
dGVDZWxsCiAgICAgICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6YWRkcmVzc0Zvcih2aXJ0
dWFsUmVnaXN0ZXIpLCBncHIpOwogCiAgICAgICAgIGluZm8uZmlsbEpTVmFsdWUoKm1fc3RyZWFt
LCBncHIsIERhdGFGb3JtYXRKUyk7Ci0gICAgICAgIGlmICh0eXBlICYgflNwZWNDZWxsKQorICAg
ICAgICBpZiAodHlwZSAmIH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpCiAgICAgICAgICAgICBz
cGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpTVmFsdWVSZWdzKGdwciksIGVkZ2UsIG1faml0LmJy
YW5jaElmTm90Q2VsbChKU1ZhbHVlUmVncyhncHIpKSk7CiAgICAgICAgIGluZm8uZmlsbEpTVmFs
dWUoKm1fc3RyZWFtLCBncHIsIERhdGFGb3JtYXRKU0NlbGwpOwogICAgICAgICByZXR1cm4gZ3By
OwpAQCAtMTQxOSw3ICsxNDE5LDcgQEAgR1BSUmVnIFNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3Vs
YXRlQ2VsbAogICAgIGNhc2UgRGF0YUZvcm1hdEpTOiB7CiAgICAgICAgIEdQUlJlZyBncHIgPSBp
bmZvLmdwcigpOwogICAgICAgICBtX2dwcnMubG9jayhncHIpOwotICAgICAgICBpZiAodHlwZSAm
IH5TcGVjQ2VsbCkKKyAgICAgICAgaWYgKHR5cGUgJiB+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdo
KQogICAgICAgICAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRUeXBlLCBKU1ZhbHVlUmVncyhncHIp
LCBlZGdlLCBtX2ppdC5icmFuY2hJZk5vdENlbGwoSlNWYWx1ZVJlZ3MoZ3ByKSkpOwogICAgICAg
ICBpbmZvLmZpbGxKU1ZhbHVlKCptX3N0cmVhbSwgZ3ByLCBEYXRhRm9ybWF0SlNDZWxsKTsKICAg
ICAgICAgcmV0dXJuIGdwcjsKQEAgLTE2MzAsMTAgKzE2MzAsMTAgQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZU9iamVjdFRvT2JqZQogICAgIC8vIFdlIGtub3cgdGhhdCB3aXRoaW4gdGhp
cyBicmFuY2gsIHJpZ2h0Q2hpbGQgbXVzdCBiZSBhIGNlbGwuIAogICAgIGlmIChtYXNxdWVyYWRl
c0FzVW5kZWZpbmVkV2F0Y2hwb2ludFZhbGlkKSB7CiAgICAgICAgIERGR19UWVBFX0NIRUNLKAot
ICAgICAgICAgICAgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwgKH5TcGVjQ2VsbCkg
fCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChvcDJHUFIpKTsKKyAgICAgICAg
ICAgIEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQsICh+Y2VsbENoZWNrVHlwZVBhc3N0
aHJvdWdoKSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KG9wMkdQUikpOwog
ICAgIH0gZWxzZSB7CiAgICAgICAgIERGR19UWVBFX0NIRUNLKAotICAgICAgICAgICAgSlNWYWx1
ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwgKH5TcGVjQ2VsbCkgfCBTcGVjT2JqZWN0LCBtX2pp
dC5icmFuY2hJZk5vdE9iamVjdChvcDJHUFIpKTsKKyAgICAgICAgICAgIEpTVmFsdWVSZWdzKG9w
MkdQUiksIHJpZ2h0Q2hpbGQsICh+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKSB8IFNwZWNPYmpl
Y3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KG9wMkdQUikpOwogICAgICAgICBzcGVjdWxhdGlv
bkNoZWNrKEJhZFR5cGUsIEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQsCiAgICAgICAg
ICAgICBtX2ppdC5icmFuY2hUZXN0OCgKICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6
Tm9uWmVybywgCkBAIC0xNjUxLDcgKzE2NTEsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlT2JqZWN0VG9PYmplCiAgICAgCiAgICAgLy8gV2Uga25vdyB0aGF0IHdpdGhpbiB0aGlzIGJy
YW5jaCwgcmlnaHRDaGlsZCBtdXN0IG5vdCBiZSBhIGNlbGwuIENoZWNrIGlmIHRoYXQgaXMgZW5v
dWdoIHRvCiAgICAgLy8gcHJvdmUgdGhhdCBpdCBpcyBlaXRoZXIgbnVsbCBvciB1bmRlZmluZWQu
Ci0gICAgaWYgKG5lZWRzVHlwZUNoZWNrKHJpZ2h0Q2hpbGQsIFNwZWNDZWxsIHwgU3BlY090aGVy
KSkgeworICAgIGlmIChuZWVkc1R5cGVDaGVjayhyaWdodENoaWxkLCBjZWxsQ2hlY2tUeXBlUGFz
c3Rocm91Z2ggfCBTcGVjT3RoZXIpKSB7CiAgICAgICAgIG1faml0Lm1vdmUob3AyR1BSLCByZXN1
bHRHUFIpOwogICAgICAgICBtX2ppdC5hbmQ2NChNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMy
KH5UYWdCaXRVbmRlZmluZWQpLCByZXN1bHRHUFIpOwogICAgICAgICAKQEAgLTE3MDQsMTAgKzE3
MDQsMTAgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVBlZXBIb2xlT2JqZQogICAgIC8v
IFdlIGtub3cgdGhhdCB3aXRoaW4gdGhpcyBicmFuY2gsIHJpZ2h0Q2hpbGQgbXVzdCBiZSBhIGNl
bGwuIAogICAgIGlmIChtYXNxdWVyYWRlc0FzVW5kZWZpbmVkV2F0Y2hwb2ludFZhbGlkKSB7CiAg
ICAgICAgIERGR19UWVBFX0NIRUNLKAotICAgICAgICAgICAgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwg
cmlnaHRDaGlsZCwgKH5TcGVjQ2VsbCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9i
amVjdChvcDJHUFIpKTsKKyAgICAgICAgICAgIEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hp
bGQsICh+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5j
aElmTm90T2JqZWN0KG9wMkdQUikpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIERGR19UWVBFX0NI
RUNLKAotICAgICAgICAgICAgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwgKH5TcGVj
Q2VsbCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChvcDJHUFIpKTsKKyAg
ICAgICAgICAgIEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQsICh+Y2VsbENoZWNrVHlw
ZVBhc3N0aHJvdWdoKSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KG9wMkdQ
UikpOwogICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpTVmFsdWVSZWdzKG9wMkdQ
UiksIHJpZ2h0Q2hpbGQsCiAgICAgICAgICAgICBtX2ppdC5icmFuY2hUZXN0OCgKICAgICAgICAg
ICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Tm9uWmVybywgCkBAIC0xODY2LDEwICsxODY2LDEwIEBA
IHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVPYmplY3RPck90aGUKICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6SnVtcCBub3RDZWxsID0gbV9qaXQuYnJhbmNoSWZOb3RDZWxsKEpTVmFsdWVSZWdzKHZh
bHVlR1BSKSk7CiAgICAgaWYgKG1hc3F1ZXJhZGVzQXNVbmRlZmluZWRXYXRjaHBvaW50VmFsaWQp
IHsKICAgICAgICAgREZHX1RZUEVfQ0hFQ0soCi0gICAgICAgICAgICBKU1ZhbHVlUmVncyh2YWx1
ZUdQUiksIG5vZGVVc2UsICh+U3BlY0NlbGwpIHwgU3BlY09iamVjdCwgbV9qaXQuYnJhbmNoSWZO
b3RPYmplY3QodmFsdWVHUFIpKTsKKyAgICAgICAgICAgIEpTVmFsdWVSZWdzKHZhbHVlR1BSKSwg
bm9kZVVzZSwgKH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpIHwgU3BlY09iamVjdCwgbV9qaXQu
YnJhbmNoSWZOb3RPYmplY3QodmFsdWVHUFIpKTsKICAgICB9IGVsc2UgewogICAgICAgICBERkdf
VFlQRV9DSEVDSygKLSAgICAgICAgICAgIEpTVmFsdWVSZWdzKHZhbHVlR1BSKSwgbm9kZVVzZSwg
KH5TcGVjQ2VsbCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdCh2YWx1ZUdQ
UikpOworICAgICAgICAgICAgSlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBub2RlVXNlLCAofmNlbGxD
aGVja1R5cGVQYXNzdGhyb3VnaCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVj
dCh2YWx1ZUdQUikpOwogCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGlzTm90TWFzcXVl
cmFkZXNBc1VuZGVmaW5lZCA9IAogICAgICAgICAgICAgbV9qaXQuYnJhbmNoVGVzdDgoCkBAIC0x
ODkxLDcgKzE4OTEsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlT2JqZWN0T3JPdGhl
CiAgICAgCiAgICAgbm90Q2VsbC5saW5rKCZtX2ppdCk7CiAKLSAgICBpZiAobmVlZHNUeXBlQ2hl
Y2sobm9kZVVzZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIpKSB7CisgICAgaWYgKG5lZWRzVHlwZUNo
ZWNrKG5vZGVVc2UsIGNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCB8IFNwZWNPdGhlcikpIHsKICAg
ICAgICAgbV9qaXQubW92ZSh2YWx1ZUdQUiwgcmVzdWx0R1BSKTsKICAgICAgICAgbV9qaXQuYW5k
NjQoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMih+VGFnQml0VW5kZWZpbmVkKSwgcmVzdWx0
R1BSKTsKICAgICAgICAgdHlwZUNoZWNrKApAQCAtMjAxOCwxMCArMjAxOCwxMCBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjplbWl0T2JqZWN0T3JPdGhlckJyCiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1
bXAgbm90Q2VsbCA9IG1faml0LmJyYW5jaElmTm90Q2VsbChKU1ZhbHVlUmVncyh2YWx1ZUdQUikp
OwogICAgIGlmIChtYXNxdWVyYWRlc0FzVW5kZWZpbmVkV2F0Y2hwb2ludElzU3RpbGxWYWxpZCgp
KSB7CiAgICAgICAgIERGR19UWVBFX0NIRUNLKAotICAgICAgICAgICAgSlNWYWx1ZVJlZ3ModmFs
dWVHUFIpLCBub2RlVXNlLCAoflNwZWNDZWxsKSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElm
Tm90T2JqZWN0KHZhbHVlR1BSKSk7CisgICAgICAgICAgICBKU1ZhbHVlUmVncyh2YWx1ZUdQUiks
IG5vZGVVc2UsICh+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKSB8IFNwZWNPYmplY3QsIG1faml0
LmJyYW5jaElmTm90T2JqZWN0KHZhbHVlR1BSKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgREZH
X1RZUEVfQ0hFQ0soCi0gICAgICAgICAgICBKU1ZhbHVlUmVncyh2YWx1ZUdQUiksIG5vZGVVc2Us
ICh+U3BlY0NlbGwpIHwgU3BlY09iamVjdCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3QodmFsdWVH
UFIpKTsKKyAgICAgICAgICAgIEpTVmFsdWVSZWdzKHZhbHVlR1BSKSwgbm9kZVVzZSwgKH5jZWxs
Q2hlY2tUeXBlUGFzc3Rocm91Z2gpIHwgU3BlY09iamVjdCwgbV9qaXQuYnJhbmNoSWZOb3RPYmpl
Y3QodmFsdWVHUFIpKTsKIAogICAgICAgICBKSVRDb21waWxlcjo6SnVtcCBpc05vdE1hc3F1ZXJh
ZGVzQXNVbmRlZmluZWQgPSBtX2ppdC5icmFuY2hUZXN0OCgKICAgICAgICAgICAgIEpJVENvbXBp
bGVyOjpaZXJvLCAKQEAgLTIwNDEsNyArMjA0MSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVt
aXRPYmplY3RPck90aGVyQnIKICAgICAKICAgICBub3RDZWxsLmxpbmsoJm1faml0KTsKICAgICAK
LSAgICBpZiAobmVlZHNUeXBlQ2hlY2sobm9kZVVzZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIpKSB7
CisgICAgaWYgKG5lZWRzVHlwZUNoZWNrKG5vZGVVc2UsIGNlbGxDaGVja1R5cGVQYXNzdGhyb3Vn
aCB8IFNwZWNPdGhlcikpIHsKICAgICAgICAgbV9qaXQubW92ZSh2YWx1ZUdQUiwgc2NyYXRjaEdQ
Uik7CiAgICAgICAgIG1faml0LmFuZDY0KE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoflRh
Z0JpdFVuZGVmaW5lZCksIHNjcmF0Y2hHUFIpOwogICAgICAgICB0eXBlQ2hlY2soCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2
aXNpb24gMjE3ODk0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyNTAsNyArMjI1MCw3IEBAIHZvaWQgU3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGVWYWx1ZVRvSW50MzIKICAgICAgICAgICAgICAgICBKSVRDb21waWxl
cjo6SnVtcCBpc051bWJlciA9IG1faml0LmJyYW5jaFRlc3Q2NChNYWNyb0Fzc2VtYmxlcjo6Tm9u
WmVybywgZ3ByLCBHUFJJbmZvOjp0YWdUeXBlTnVtYmVyUmVnaXN0ZXIpOwogICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgIERGR19UWVBFX0NIRUNLKAotICAgICAgICAgICAgICAgICAg
ICBKU1ZhbHVlUmVncyhncHIpLCBub2RlLT5jaGlsZDEoKSwgflNwZWNDZWxsLCBtX2ppdC5icmFu
Y2hJZkNlbGwoSlNWYWx1ZVJlZ3MoZ3ByKSkpOworICAgICAgICAgICAgICAgICAgICBKU1ZhbHVl
UmVncyhncHIpLCBub2RlLT5jaGlsZDEoKSwgfmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCwgbV9q
aXQuYnJhbmNoSWZDZWxsKEpTVmFsdWVSZWdzKGdwcikpKTsKICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICAvLyBJdCdzIG5vdCBhIGNlbGw6IHNvIHRydWUgdHVybnMgaW50byAxIGFu
ZCBhbGwgZWxzZSB0dXJucyBpbnRvIDAuCiAgICAgICAgICAgICAgICAgbV9qaXQuY29tcGFyZTY0
KEpJVENvbXBpbGVyOjpFcXVhbCwgZ3ByLCBUcnVzdGVkSW1tMzIoVmFsdWVUcnVlKSwgcmVzdWx0
R3ByKTsKQEAgLTYwODUsNiArNjA4NSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVM
b2dpY2FsTm90U3QKICAgICBkb25lLmxpbmsoJm1faml0KTsKIAogICAgIHVuYmxlc3NlZEJvb2xl
YW5SZXN1bHQodGVtcEdQUiwgbm9kZSk7CisKIH0KIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1p
dFN0cmluZ0JyYW5jaChFZGdlIG5vZGVVc2UsIEJhc2ljQmxvY2sqIHRha2VuLCBCYXNpY0Jsb2Nr
KiBub3RUYWtlbikKQEAgLTg0MDYsNyArODQwNyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNw
ZWN1bGF0ZUJvb2xlYW4oRWQKIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlQ2VsbChF
ZGdlIGVkZ2UpCiB7Ci0gICAgaWYgKCFuZWVkc1R5cGVDaGVjayhlZGdlLCBTcGVjQ2VsbCkpCisg
ICAgaWYgKCFuZWVkc1R5cGVDaGVjayhlZGdlLCBjZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpKQog
ICAgICAgICByZXR1cm47CiAgICAgCiAgICAgKFNwZWN1bGF0ZUNlbGxPcGVyYW5kKHRoaXMsIGVk
Z2UpKS5ncHIoKTsKQEAgLTg0MTQsNyArODQxNSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNw
ZWN1bGF0ZUNlbGwoRWRnZSAKIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlQ2VsbE9y
T3RoZXIoRWRnZSBlZGdlKQogewotICAgIGlmICghbmVlZHNUeXBlQ2hlY2soZWRnZSwgU3BlY0Nl
bGwgfCBTcGVjT3RoZXIpKQorICAgIGlmICghbmVlZHNUeXBlQ2hlY2soZWRnZSwgY2VsbENoZWNr
VHlwZVBhc3N0aHJvdWdoIHwgU3BlY090aGVyKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAg
IEpTVmFsdWVPcGVyYW5kIG9wZXJhbmQodGhpcywgZWRnZSwgTWFudWFsT3BlcmFuZFNwZWN1bGF0
aW9uKTsKQEAgLTg0MjMsNyArODQyNCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0
ZUNlbGxPck90aGUKIAogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIG9rID0gbV9qaXQuYnJhbmNo
SWZDZWxsKG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSk7CiAgICAgREZHX1RZUEVfQ0hFQ0soCi0gICAg
ICAgIG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSwgZWRnZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIsCisg
ICAgICAgIG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSwgZWRnZSwgY2VsbENoZWNrVHlwZVBhc3N0aHJv
dWdoIHwgU3BlY090aGVyLAogICAgICAgICBtX2ppdC5icmFuY2hJZk5vdE90aGVyKG9wZXJhbmQu
anNWYWx1ZVJlZ3MoKSwgdGVtcEdQUikpOwogICAgIG9rLmxpbmsoJm1faml0KTsKIH0KQEAgLTg1
NjQsMTcgKzg1NjUsMTcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlT2JqZWN0T3JP
dAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlU3RyaW5nKEVkZ2UgZWRnZSwgR1BSUmVn
IGNlbGwpCiB7CiAgICAgREZHX1RZUEVfQ0hFQ0soCi0gICAgICAgIEpTVmFsdWVTb3VyY2U6OnVu
Ym94ZWRDZWxsKGNlbGwpLCBlZGdlLCBTcGVjU3RyaW5nIHwgflNwZWNDZWxsLCBtX2ppdC5icmFu
Y2hJZk5vdFN0cmluZyhjZWxsKSk7CisgICAgICAgIEpTVmFsdWVTb3VyY2U6OnVuYm94ZWRDZWxs
KGNlbGwpLCBlZGdlLCBTcGVjU3RyaW5nIHwgfmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCwgbV9q
aXQuYnJhbmNoSWZOb3RTdHJpbmcoY2VsbCkpOwogfQogCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpz
cGVjdWxhdGVTdHJpbmdPck90aGVyKEVkZ2UgZWRnZSwgSlNWYWx1ZVJlZ3MgcmVncywgR1BSUmVn
IHNjcmF0Y2gpCiB7CiAgICAgSklUQ29tcGlsZXI6Okp1bXAgbm90Q2VsbCA9IG1faml0LmJyYW5j
aElmTm90Q2VsbChyZWdzKTsKICAgICBHUFJSZWcgY2VsbCA9IHJlZ3MucGF5bG9hZEdQUigpOwot
ICAgIERGR19UWVBFX0NIRUNLKHJlZ3MsIGVkZ2UsICh+U3BlY0NlbGwpIHwgU3BlY1N0cmluZywg
bV9qaXQuYnJhbmNoSWZOb3RTdHJpbmcoY2VsbCkpOworICAgIERGR19UWVBFX0NIRUNLKHJlZ3Ms
IGVkZ2UsICh+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKSB8IFNwZWNTdHJpbmcsIG1faml0LmJy
YW5jaElmTm90U3RyaW5nKGNlbGwpKTsKICAgICBKSVRDb21waWxlcjo6SnVtcCBkb25lID0gbV9q
aXQuanVtcCgpOwogICAgIG5vdENlbGwubGluaygmbV9qaXQpOwotICAgIERGR19UWVBFX0NIRUNL
KHJlZ3MsIGVkZ2UsIFNwZWNDZWxsIHwgU3BlY090aGVyLCBtX2ppdC5icmFuY2hJZk5vdE90aGVy
KHJlZ3MsIHNjcmF0Y2gpKTsKKyAgICBERkdfVFlQRV9DSEVDSyhyZWdzLCBlZGdlLCBjZWxsQ2hl
Y2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjT3RoZXIsIG1faml0LmJyYW5jaElmTm90T3RoZXIocmVn
cywgc2NyYXRjaCkpOwogICAgIGRvbmUubGluaygmbV9qaXQpOwogfQogCkBAIC04NzAyLDcgKzg3
MDMsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVOb3RTdHJpbmdWCiAKIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZVN5bWJvbChFZGdlIGVkZ2UsIEdQUlJlZyBjZWxsKQog
ewotICAgIERGR19UWVBFX0NIRUNLKEpTVmFsdWVTb3VyY2U6OnVuYm94ZWRDZWxsKGNlbGwpLCBl
ZGdlLCBTcGVjU3ltYm9sLCBtX2ppdC5icmFuY2hJZk5vdFN5bWJvbChjZWxsKSk7CisgICAgREZH
X1RZUEVfQ0hFQ0soSlNWYWx1ZVNvdXJjZTo6dW5ib3hlZENlbGwoY2VsbCksIGVkZ2UsIH5jZWxs
Q2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjU3ltYm9sLCBtX2ppdC5icmFuY2hJZk5vdFN5bWJv
bChjZWxsKSk7CiB9CiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZVN5bWJvbChFZGdl
IGVkZ2UpCkBAIC04NzE2LDEyICs4NzE3LDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1
bGF0ZVN5bWJvbChFZGcKIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlTm90Q2VsbChF
ZGdlIGVkZ2UsIEpTVmFsdWVSZWdzIHJlZ3MpCiB7Ci0gICAgREZHX1RZUEVfQ0hFQ0socmVncywg
ZWRnZSwgflNwZWNDZWxsLCBtX2ppdC5icmFuY2hJZkNlbGwocmVncykpOworICAgIERGR19UWVBF
X0NIRUNLKHJlZ3MsIGVkZ2UsIH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gsIG1faml0LmJyYW5j
aElmQ2VsbChyZWdzKSk7CiB9CiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZU5vdENl
bGwoRWRnZSBlZGdlKQogewotICAgIGlmICghbmVlZHNUeXBlQ2hlY2soZWRnZSwgflNwZWNDZWxs
KSkKKyAgICBpZiAoIW5lZWRzVHlwZUNoZWNrKGVkZ2UsIH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91
Z2gpKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgSlNWYWx1ZU9wZXJhbmQgb3BlcmFuZCh0
aGlzLCBlZGdlLCBNYW51YWxPcGVyYW5kU3BlY3VsYXRpb24pOyAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHJldmlzaW9uIDIxNzg5NCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTgsNiArNTgsOSBAQCBjbGFzcyBTcGVjdWxhdGVCb29sZWFuT3BlcmFuZDsK
IAogZW51bSBHZW5lcmF0ZWRPcGVyYW5kVHlwZSB7IEdlbmVyYXRlZE9wZXJhbmRUeXBlVW5rbm93
biwgR2VuZXJhdGVkT3BlcmFuZEludGVnZXIsIEdlbmVyYXRlZE9wZXJhbmRKU1ZhbHVlfTsKIAor
Ly8gV2hlbiBkb2luZyBhIGNlbGwgY2hlY2ssIHRoaXMgaXMgdGhlIHR5cGUgdGhhdCBwYXNzZXMg
dGhyb3VnaAorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBjZWxsQ2hlY2tUeXBlUGFz
c3Rocm91Z2ggPSBpczY0Qml0KCkgPyBTcGVjQ2VsbE9yRW1wdHkgOiBTcGVjQ2VsbDsKKwogLy8g
PT09IFNwZWN1bGF0aXZlSklUID09PQogLy8KIC8vIFRoZSBTcGVjdWxhdGl2ZUpJVCBpcyB1c2Vk
IHRvIGdlbmVyYXRlIGEgZmFzdCwgYnV0IHBvdGVudGlhbGx5CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1VzZUtpbmQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1VzZUtpbmQuaAkocmV2aXNpb24gMjE3ODk0KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdVc2VLaW5kLmgJKHdvcmtpbmcgY29weSkKQEAgLTExMywxMCArMTEz
LDE5IEBAIGlubGluZSBTcGVjdWxhdGVkVHlwZSB0eXBlRmlsdGVyRm9yKFVzZUsKICAgICBjYXNl
IEtub3duQm9vbGVhblVzZToKICAgICAgICAgcmV0dXJuIFNwZWNCb29sZWFuOwogICAgIGNhc2Ug
Q2VsbFVzZToKKyNpZiBVU0UoSlNWQUxVRTY0KQorICAgICAgICByZXR1cm4gU3BlY0NlbGxPckVt
cHR5OworI2Vsc2UKKyAgICAgICAgcmV0dXJuIFNwZWNDZWxsOworI2VuZGlmCiAgICAgY2FzZSBL
bm93bkNlbGxVc2U6CiAgICAgICAgIHJldHVybiBTcGVjQ2VsbDsKICAgICBjYXNlIENlbGxPck90
aGVyVXNlOgorI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgICAgIHJldHVybiBTcGVjQ2VsbE9yRW1w
dHkgfCBTcGVjT3RoZXI7CisjZWxzZQogICAgICAgICByZXR1cm4gU3BlY0NlbGwgfCBTcGVjT3Ro
ZXI7CisjZW5kaWYKICAgICBjYXNlIE9iamVjdFVzZToKICAgICAgICAgcmV0dXJuIFNwZWNPYmpl
Y3Q7CiAgICAgY2FzZSBBcnJheVVzZToKQEAgLTE1NSw3ICsxNjQsMTEgQEAgaW5saW5lIFNwZWN1
bGF0ZWRUeXBlIHR5cGVGaWx0ZXJGb3IoVXNlSwogICAgIGNhc2UgTm90U3RyaW5nVmFyVXNlOgog
ICAgICAgICByZXR1cm4gflNwZWNTdHJpbmdWYXI7CiAgICAgY2FzZSBOb3RDZWxsVXNlOgorI2lm
IFVTRShKU1ZBTFVFNjQpCisgICAgICAgIHJldHVybiB+U3BlY0NlbGxPckVtcHR5OworI2Vsc2UK
ICAgICAgICAgcmV0dXJuIH5TcGVjQ2VsbDsKKyNlbmRpZgogICAgIGNhc2UgT3RoZXJVc2U6CiAg
ICAgICAgIHJldHVybiBTcGVjT3RoZXI7CiAgICAgY2FzZSBNaXNjVXNlOgpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkocmV2aXNpb24gMjE3
ODk0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMzMxLDcgKzEzMzEsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAg
ICAgIG1fb3V0LmFwcGVuZFRvKGNvbnZlcnRCb29sZWFuRmFsc2VDYXNlLCBjb250aW51YXRpb24p
OwogCiAgICAgICAgICAgICAgICAgTFZhbHVlIHZhbHVlSXNOb3RCb29sZWFuRmFsc2UgPSBtX291
dC5ub3RFcXVhbCh2YWx1ZSwgbV9vdXQuY29uc3RJbnQ2NChWYWx1ZUZhbHNlKSk7Ci0gICAgICAg
ICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgbV9ub2RlLT5jaGls
ZDEoKSwgflNwZWNDZWxsLCB2YWx1ZUlzTm90Qm9vbGVhbkZhbHNlKTsKKyAgICAgICAgICAgICAg
ICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBtX25vZGUtPmNoaWxkMSgpLCB+
U3BlY0NlbGxPckVtcHR5LCB2YWx1ZUlzTm90Qm9vbGVhbkZhbHNlKTsKICAgICAgICAgICAgICAg
ICBWYWx1ZUZyb21CbG9jayBjb252ZXJ0ZWRGYWxzZSA9IG1fb3V0LmFuY2hvcihtX291dC5jb25z
dERvdWJsZSgwKSk7CiAgICAgICAgICAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOwog
CkBAIC05NTIwLDcgKzk1MjAsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgCiAgICAgICAgICAg
ICBtX291dC5hcHBlbmRUbyhub3ROdW1iZXJDYXNlLCBjb250aW51YXRpb24pOwogICAgICAgICAg
ICAgCi0gICAgICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdl
LCB+U3BlY0NlbGwsIGlzQ2VsbCh2YWx1ZSkpOworICAgICAgICAgICAgRlRMX1RZUEVfQ0hFQ0so
anNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgflNwZWNDZWxsT3JFbXB0eSwgaXNDZWxsKHZhbHVl
KSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIExWYWx1ZSBzcGVjaWFsUmVzdWx0ID0gbV9v
dXQuc2VsZWN0KAogICAgICAgICAgICAgICAgIG1fb3V0LmVxdWFsKHZhbHVlLCBtX291dC5jb25z
dEludDY0KEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4odHJ1ZSkpKSksCkBAIC0xMDQwNSwxMyAr
MTA0MDUsMTMgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIHVuc3VyZShsZWZ0Q2VsbENhc2UpLCB1
bnN1cmUobGVmdE5vdENlbGxDYXNlKSk7CiAgICAgICAgIAogICAgICAgICBMQmFzaWNCbG9jayBs
YXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKGxlZnRDZWxsQ2FzZSwgbGVmdE5vdENlbGxDYXNlKTsK
LSAgICAgICAgc3BlY3VsYXRlVHJ1dGh5T2JqZWN0KGxlZnRDaGlsZCwgbGVmdFZhbHVlLCBTcGVj
T2JqZWN0IHwgKH5TcGVjQ2VsbCkpOworICAgICAgICBzcGVjdWxhdGVUcnV0aHlPYmplY3QobGVm
dENoaWxkLCBsZWZ0VmFsdWUsIFNwZWNPYmplY3QgfCAoflNwZWNDZWxsT3JFbXB0eSkpOwogICAg
ICAgICBWYWx1ZUZyb21CbG9jayBjZWxsUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmVxdWFs
KHJpZ2h0Q2VsbCwgbGVmdFZhbHVlKSk7CiAgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9u
KTsKICAgICAgICAgCiAgICAgICAgIG1fb3V0LmFwcGVuZFRvKGxlZnROb3RDZWxsQ2FzZSwgY29u
dGludWF0aW9uKTsKICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soCi0gICAgICAgICAgICBqc1ZhbHVl
VmFsdWUobGVmdFZhbHVlKSwgbGVmdENoaWxkLCBTcGVjT3RoZXIgfCBTcGVjQ2VsbCwgaXNOb3RP
dGhlcihsZWZ0VmFsdWUpKTsKKyAgICAgICAgICAgIGpzVmFsdWVWYWx1ZShsZWZ0VmFsdWUpLCBs
ZWZ0Q2hpbGQsIFNwZWNPdGhlciB8IFNwZWNDZWxsT3JFbXB0eSwgaXNOb3RPdGhlcihsZWZ0VmFs
dWUpKTsKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgbm90Q2VsbFJlc3VsdCA9IG1fb3V0LmFuY2hv
cihtX291dC5ib29sZWFuRmFsc2UpOwogICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7
CiAgICAgICAgIApAQCAtMTExODEsMTQgKzExMTgxLDE0IEBAIHByaXZhdGU6CiAgICAgICAgICAg
ICAKICAgICAgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuYXBwZW5kVG8oY2Vs
bENhc2UsIG5vdENlbGxDYXNlKTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgRlRMX1RZUEVf
Q0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgKH5TcGVjQ2VsbCkgfCBTcGVjU3RyaW5n
LCBpc05vdFN0cmluZyh2YWx1ZSkpOworICAgICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1
ZVZhbHVlKHZhbHVlKSwgZWRnZSwgKH5TcGVjQ2VsbE9yRW1wdHkpIHwgU3BlY1N0cmluZywgaXNO
b3RTdHJpbmcodmFsdWUpKTsKICAgICAgICAgICAgIExWYWx1ZSBsZW5ndGggPSBtX291dC5sb2Fk
MzJOb25OZWdhdGl2ZSh2YWx1ZSwgbV9oZWFwcy5KU1N0cmluZ19sZW5ndGgpOwogICAgICAgICAg
ICAgVmFsdWVGcm9tQmxvY2sgY2VsbFJlc3VsdCA9IG1fb3V0LmFuY2hvcihtX291dC5ub3RFcXVh
bChsZW5ndGgsIG1fb3V0LmludDMyWmVybykpOwogICAgICAgICAgICAgbV9vdXQuanVtcChjb250
aW51YXRpb24pOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBtX291dC5hcHBlbmRUbyhub3RD
ZWxsQ2FzZSwgY29udGludWF0aW9uKTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgRlRMX1RZ
UEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIs
IGlzTm90T3RoZXIodmFsdWUpKTsKKyAgICAgICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVW
YWx1ZSh2YWx1ZSksIGVkZ2UsIFNwZWNDZWxsT3JFbXB0eSB8IFNwZWNPdGhlciwgaXNOb3RPdGhl
cih2YWx1ZSkpOwogICAgICAgICAgICAgVmFsdWVGcm9tQmxvY2sgbm90Q2VsbFJlc3VsdCA9IG1f
b3V0LmFuY2hvcihtX291dC5ib29sZWFuRmFsc2UpOwogICAgICAgICAgICAgbV9vdXQuanVtcChj
b250aW51YXRpb24pOwogICAgICAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9uLCBs
YXN0TmV4dCk7CkBAIC0xMTMzMSw3ICsxMTMzMSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSBDZWxsQ2FzZVNwZWN1bGF0ZXNPYmplY3Q6CiAgICAgICAgICAg
ICBGVExfVFlQRV9DSEVDSygKLSAgICAgICAgICAgICAgICBqc1ZhbHVlVmFsdWUodmFsdWUpLCBl
ZGdlLCAoflNwZWNDZWxsKSB8IFNwZWNPYmplY3QsIGlzTm90T2JqZWN0KHZhbHVlKSk7CisgICAg
ICAgICAgICAgICAganNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgKH5TcGVjQ2VsbE9yRW1wdHkp
IHwgU3BlY09iamVjdCwgaXNOb3RPYmplY3QodmFsdWUpKTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CiAgICAgICAgIApAQCAtMTEzNzYsNyArMTEzNzYsNyBAQCBwcml2YXRlOgogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgU3BlY3VsYXRlTnVsbE9yVW5kZWZpbmVkOgog
ICAgICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soCi0gICAgICAgICAgICAgICAganNWYWx1ZVZhbHVl
KHZhbHVlKSwgZWRnZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIsIGlzTm90T3RoZXIodmFsdWUpKTsK
KyAgICAgICAgICAgICAgICBqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCBTcGVjQ2VsbE9yRW1w
dHkgfCBTcGVjT3RoZXIsIGlzTm90T3RoZXIodmFsdWUpKTsKICAgICAgICAgICAgIHByaW1pdGl2
ZVJlc3VsdCA9IG1fb3V0LmJvb2xlYW5UcnVlOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KQEAgLTEyNDQwLDcgKzEyNDQwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgaWYgKGlzVmFsaWQo
dmFsdWUpKSB7CiAgICAgICAgICAgICBMVmFsdWUgdW5jaGVja2VkVmFsdWUgPSB2YWx1ZS52YWx1
ZSgpOwogICAgICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soCi0gICAgICAgICAgICAgICAganNWYWx1
ZVZhbHVlKHVuY2hlY2tlZFZhbHVlKSwgZWRnZSwgU3BlY0NlbGwsIGlzTm90Q2VsbCh1bmNoZWNr
ZWRWYWx1ZSkpOworICAgICAgICAgICAgICAgIGpzVmFsdWVWYWx1ZSh1bmNoZWNrZWRWYWx1ZSks
IGVkZ2UsIFNwZWNDZWxsT3JFbXB0eSwgaXNOb3RDZWxsKHVuY2hlY2tlZFZhbHVlKSk7CiAgICAg
ICAgICAgICByZXR1cm4gdW5jaGVja2VkVmFsdWU7CiAgICAgICAgIH0KICAgICAgICAgCkBAIC0x
MjU5OSw3ICsxMjU5OSw3IEBAIHByaXZhdGU6CiAgICAgTFZhbHVlIGxvd05vdENlbGwoRWRnZSBl
ZGdlKQogICAgIHsKICAgICAgICAgTFZhbHVlIHJlc3VsdCA9IGxvd0pTVmFsdWUoZWRnZSwgTWFu
dWFsT3BlcmFuZFNwZWN1bGF0aW9uKTsKLSAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZh
bHVlKHJlc3VsdCksIGVkZ2UsIH5TcGVjQ2VsbCwgaXNDZWxsKHJlc3VsdCkpOworICAgICAgICBG
VExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUocmVzdWx0KSwgZWRnZSwgflNwZWNDZWxsT3JFbXB0
eSwgaXNDZWxsKHJlc3VsdCkpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAK
QEAgLTEyNzAwLDEzICsxMjcwMCwxMyBAQCBwcml2YXRlOgogICAgIAogICAgIExWYWx1ZSBpc0Nl
bGxPck1pc2MoTFZhbHVlIGpzVmFsdWUsIFNwZWN1bGF0ZWRUeXBlIHR5cGUgPSBTcGVjRnVsbFRv
cCkKICAgICB7Ci0gICAgICAgIGlmIChMVmFsdWUgcHJvdmVuID0gaXNQcm92ZW5WYWx1ZSh0eXBl
LCBTcGVjQ2VsbCB8IFNwZWNNaXNjKSkKKyAgICAgICAgaWYgKExWYWx1ZSBwcm92ZW4gPSBpc1By
b3ZlblZhbHVlKHR5cGUsIFNwZWNDZWxsT3JFbXB0eSB8IFNwZWNNaXNjKSkKICAgICAgICAgICAg
IHJldHVybiBwcm92ZW47CiAgICAgICAgIHJldHVybiBtX291dC50ZXN0SXNaZXJvNjQoanNWYWx1
ZSwgbV90YWdUeXBlTnVtYmVyKTsKICAgICB9CiAgICAgTFZhbHVlIGlzTm90Q2VsbE9yTWlzYyhM
VmFsdWUganNWYWx1ZSwgU3BlY3VsYXRlZFR5cGUgdHlwZSA9IFNwZWNGdWxsVG9wKQogICAgIHsK
LSAgICAgICAgaWYgKExWYWx1ZSBwcm92ZW4gPSBpc1Byb3ZlblZhbHVlKHR5cGUsIH4oU3BlY0Nl
bGwgfCBTcGVjTWlzYykpKQorICAgICAgICBpZiAoTFZhbHVlIHByb3ZlbiA9IGlzUHJvdmVuVmFs
dWUodHlwZSwgfihTcGVjQ2VsbE9yRW1wdHkgfCBTcGVjTWlzYykpKQogICAgICAgICAgICAgcmV0
dXJuIHByb3ZlbjsKICAgICAgICAgcmV0dXJuIG1fb3V0LnRlc3ROb25aZXJvNjQoanNWYWx1ZSwg
bV90YWdUeXBlTnVtYmVyKTsKICAgICB9CkBAIC0xMjgwNywxNCArMTI4MDcsMTQgQEAgcHJpdmF0
ZToKICAgICAKICAgICBMVmFsdWUgaXNOb3RDZWxsKExWYWx1ZSBqc1ZhbHVlLCBTcGVjdWxhdGVk
VHlwZSB0eXBlID0gU3BlY0Z1bGxUb3ApCiAgICAgewotICAgICAgICBpZiAoTFZhbHVlIHByb3Zl
biA9IGlzUHJvdmVuVmFsdWUodHlwZSwgflNwZWNDZWxsKSkKKyAgICAgICAgaWYgKExWYWx1ZSBw
cm92ZW4gPSBpc1Byb3ZlblZhbHVlKHR5cGUsIH5TcGVjQ2VsbE9yRW1wdHkpKQogICAgICAgICAg
ICAgcmV0dXJuIHByb3ZlbjsKICAgICAgICAgcmV0dXJuIG1fb3V0LnRlc3ROb25aZXJvNjQoanNW
YWx1ZSwgbV90YWdNYXNrKTsKICAgICB9CiAgICAgCiAgICAgTFZhbHVlIGlzQ2VsbChMVmFsdWUg
anNWYWx1ZSwgU3BlY3VsYXRlZFR5cGUgdHlwZSA9IFNwZWNGdWxsVG9wKQogICAgIHsKLSAgICAg
ICAgaWYgKExWYWx1ZSBwcm92ZW4gPSBpc1Byb3ZlblZhbHVlKHR5cGUsIFNwZWNDZWxsKSkKKyAg
ICAgICAgaWYgKExWYWx1ZSBwcm92ZW4gPSBpc1Byb3ZlblZhbHVlKHR5cGUsIFNwZWNDZWxsT3JF
bXB0eSkpCiAgICAgICAgICAgICByZXR1cm4gcHJvdmVuOwogICAgICAgICByZXR1cm4gbV9vdXQu
dGVzdElzWmVybzY0KGpzVmFsdWUsIG1fdGFnTWFzayk7CiAgICAgfQpAQCAtMTMwMjQsNyArMTMw
MjQsNyBAQCBwcml2YXRlOgogICAgICAgICBtX291dC5icmFuY2goaXNDZWxsKHZhbHVlLCBwcm92
ZW5UeXBlKGVkZ2UpKSwgdW5zdXJlKGNvbnRpbnVhdGlvbiksIHVuc3VyZShpc05vdENlbGwpKTsK
IAogICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKGlzTm90Q2Vs
bCwgY29udGludWF0aW9uKTsKLSAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZh
bHVlKSwgZWRnZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIsIGlzTm90T3RoZXIodmFsdWUpKTsKKyAg
ICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgU3BlY0NlbGxP
ckVtcHR5IHwgU3BlY090aGVyLCBpc05vdE90aGVyKHZhbHVlKSk7CiAgICAgICAgIG1fb3V0Lmp1
bXAoY29udGludWF0aW9uKTsKIAogICAgICAgICBtX291dC5hcHBlbmRUbyhjb250aW51YXRpb24s
IGxhc3ROZXh0KTsKQEAgLTEzMjU4LDE0ICsxMzI1OCwxNCBAQCBwcml2YXRlOgogICAgICAgICBM
QmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKGNlbGxDYXNlLCBwcmltaXRpdmVD
YXNlKTsKICAgICAgICAgCiAgICAgICAgIEZUTF9UWVBFX0NIRUNLKAotICAgICAgICAgICAganNW
YWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgKH5TcGVjQ2VsbCkgfCBTcGVjT2JqZWN0LCBpc05vdE9i
amVjdCh2YWx1ZSkpOworICAgICAgICAgICAganNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgKH5T
cGVjQ2VsbE9yRW1wdHkpIHwgU3BlY09iamVjdCwgaXNOb3RPYmplY3QodmFsdWUpKTsKICAgICAg
ICAgCiAgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKICAgICAgICAgCiAgICAgICAg
IG1fb3V0LmFwcGVuZFRvKHByaW1pdGl2ZUNhc2UsIGNvbnRpbnVhdGlvbik7CiAgICAgICAgIAog
ICAgICAgICBGVExfVFlQRV9DSEVDSygKLSAgICAgICAgICAgIGpzVmFsdWVWYWx1ZSh2YWx1ZSks
IGVkZ2UsIFNwZWNDZWxsIHwgU3BlY090aGVyLCBpc05vdE90aGVyKHZhbHVlKSk7CisgICAgICAg
ICAgICBqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCBTcGVjQ2VsbE9yRW1wdHkgfCBTcGVjT3Ro
ZXIsIGlzTm90T3RoZXIodmFsdWUpKTsKICAgICAgICAgCiAgICAgICAgIG1fb3V0Lmp1bXAoY29u
dGludWF0aW9uKTsKICAgICAgICAgCkBAIC0xMzM0MCw3ICsxMzM0MCw3IEBAIHByaXZhdGU6CiAg
ICAgCiAgICAgdm9pZCBzcGVjdWxhdGVTdHJpbmcoRWRnZSBlZGdlLCBMVmFsdWUgY2VsbCkKICAg
ICB7Ci0gICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZShjZWxsKSwgZWRnZSwgU3Bl
Y1N0cmluZyB8IH5TcGVjQ2VsbCwgaXNOb3RTdHJpbmcoY2VsbCkpOworICAgICAgICBGVExfVFlQ
RV9DSEVDSyhqc1ZhbHVlVmFsdWUoY2VsbCksIGVkZ2UsIFNwZWNTdHJpbmcsIGlzTm90U3RyaW5n
KGNlbGwpKTsKICAgICB9CiAgICAgCiAgICAgdm9pZCBzcGVjdWxhdGVTdHJpbmcoRWRnZSBlZGdl
KQpAQCAtMTMzNTgsMTIgKzEzMzU4LDEyIEBAIHByaXZhdGU6CiAKICAgICAgICAgTEJhc2ljQmxv
Y2sgbGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyhjZWxsQ2FzZSwgbm90Q2VsbENhc2UpOwogCi0g
ICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsICh+U3BlY0Nl
bGwpIHwgU3BlY1N0cmluZywgaXNOb3RTdHJpbmcodmFsdWUpKTsKKyAgICAgICAgRlRMX1RZUEVf
Q0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgKH5TcGVjQ2VsbE9yRW1wdHkpIHwgU3Bl
Y1N0cmluZywgaXNOb3RTdHJpbmcodmFsdWUpKTsKIAogICAgICAgICBtX291dC5qdW1wKGNvbnRp
bnVhdGlvbik7CiAgICAgICAgIG1fb3V0LmFwcGVuZFRvKG5vdENlbGxDYXNlLCBjb250aW51YXRp
b24pOwogCi0gICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2Us
IFNwZWNDZWxsIHwgU3BlY090aGVyLCBpc05vdE90aGVyKHZhbHVlKSk7CisgICAgICAgIEZUTF9U
WVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsIFNwZWNDZWxsT3JFbXB0eSB8IFNw
ZWNPdGhlciwgaXNOb3RPdGhlcih2YWx1ZSkpOwogCiAgICAgICAgIG1fb3V0Lmp1bXAoY29udGlu
dWF0aW9uKTsKICAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7
CkBAIC0xMzQ0NCw3ICsxMzQ0NCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNwZWN1bGF0ZVN5
bWJvbChFZGdlIGVkZ2UsIExWYWx1ZSBjZWxsKQogICAgIHsKLSAgICAgICAgRlRMX1RZUEVfQ0hF
Q0soanNWYWx1ZVZhbHVlKGNlbGwpLCBlZGdlLCBTcGVjU3ltYm9sIHwgflNwZWNDZWxsLCBpc05v
dFN5bWJvbChjZWxsKSk7CisgICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZShjZWxs
KSwgZWRnZSwgU3BlY1N5bWJvbCwgaXNOb3RTeW1ib2woY2VsbCkpOwogICAgIH0KIAogICAgIHZv
aWQgc3BlY3VsYXRlU3ltYm9sKEVkZ2UgZWRnZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312338</attachid>
            <date>2017-06-08 13:39:33 -0700</date>
            <delta_ts>2017-06-08 15:44:42 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>29613</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQ1BVLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9DUFUuaAkocmV2aXNpb24gMjE3ODk0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9DUFUuaAkod29ya2luZyBjb3B5
KQpAQCAtMjksNyArMjksNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotaW5saW5lIGJvb2wgaXNB
Uk12N0lESVZTdXBwb3J0ZWQoKQorY29uc3RleHByIGJvb2wgaXNBUk12N0lESVZTdXBwb3J0ZWQo
KQogewogI2lmIEhBVkUoQVJNX0lESVZfSU5TVFJVQ1RJT05TKQogICAgIHJldHVybiB0cnVlOwpA
QCAtMzgsNyArMzgsNyBAQCBpbmxpbmUgYm9vbCBpc0FSTXY3SURJVlN1cHBvcnRlZCgpCiAjZW5k
aWYKIH0KIAotaW5saW5lIGJvb2wgaXNBUk02NCgpCitjb25zdGV4cHIgYm9vbCBpc0FSTTY0KCkK
IHsKICNpZiBDUFUoQVJNNjQpCiAgICAgcmV0dXJuIHRydWU7CkBAIC00Nyw3ICs0Nyw3IEBAIGlu
bGluZSBib29sIGlzQVJNNjQoKQogI2VuZGlmCiB9CiAKLWlubGluZSBib29sIGlzWDg2KCkKK2Nv
bnN0ZXhwciBib29sIGlzWDg2KCkKIHsKICNpZiBDUFUoWDg2XzY0KSB8fCBDUFUoWDg2KQogICAg
IHJldHVybiB0cnVlOwpAQCAtNTYsNyArNTYsNyBAQCBpbmxpbmUgYm9vbCBpc1g4NigpCiAjZW5k
aWYKIH0KIAotaW5saW5lIGJvb2wgaXNYODZfNjQoKQorY29uc3RleHByIGJvb2wgaXNYODZfNjQo
KQogewogI2lmIENQVShYODZfNjQpCiAgICAgcmV0dXJuIHRydWU7CkBAIC02NSw3ICs2NSw3IEBA
IGlubGluZSBib29sIGlzWDg2XzY0KCkKICNlbmRpZgogfQogCi1pbmxpbmUgYm9vbCBpczY0Qml0
KCkKK2NvbnN0ZXhwciBib29sIGlzNjRCaXQoKQogewogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAg
cmV0dXJuIHRydWU7CkBAIC03NCwxMiArNzQsMTIgQEAgaW5saW5lIGJvb2wgaXM2NEJpdCgpCiAj
ZW5kaWYKIH0KIAotaW5saW5lIGJvb2wgaXMzMkJpdCgpCitjb25zdGV4cHIgYm9vbCBpczMyQml0
KCkKIHsKICAgICByZXR1cm4gIWlzNjRCaXQoKTsKIH0KIAotaW5saW5lIGJvb2wgaXNNSVBTKCkK
K2NvbnN0ZXhwciBib29sIGlzTUlQUygpCiB7CiAjaWYgQ1BVKE1JUFMpCiAgICAgcmV0dXJuIHRy
dWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRl
ZFR5cGUuaAkocmV2aXNpb24gMjE3ODk0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1NwZWN1bGF0ZWRUeXBlLmgJKHdvcmtpbmcgY29weSkKQEAgLTkyLDYgKzkyLDcgQEAgc3Rh
dGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNQcmltaXRpdgogc3RhdGljIGNvbnN0IFNwZWN1
bGF0ZWRUeXBlIFNwZWNFbXB0eSAgICAgICAgICAgICAgPSAxdWxsIDw8IDM0OyAvLyBJdCdzIGRl
ZmluaXRlbHkgYW4gZW1wdHkgdmFsdWUgbWFya2VyLgogc3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRU
eXBlIFNwZWNCeXRlY29kZVRvcCAgICAgICAgPSBTcGVjSGVhcFRvcCB8IFNwZWNFbXB0eTsgLy8g
SXQgY2FuIGJlIGFueSBvZiB0aGUgYWJvdmUsIGV4Y2VwdCBmb3IgU3BlY0ludDUyT25seSBhbmQg
U3BlY0RvdWJsZUltcHVyZU5hTi4gQ29ycmVzcG9uZHMgdG8gd2hhdCBjb3VsZCBiZSBmb3VuZCBp
biBhIGJ5dGVjb2RlIGxvY2FsLgogc3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNGdWxs
VG9wICAgICAgICAgICAgPSBTcGVjQnl0ZWNvZGVUb3AgfCBTcGVjRnVsbE51bWJlcjsgLy8gSXQg
Y2FuIGJlIGFueXRoaW5nIHRoYXQgYnl0ZWNvZGUgY291bGQgc2VlIHBsdXMgZXhvdGljIGVuY29k
aW5ncyBvZiBudW1iZXJzLgorc3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNDZWxsT3JF
bXB0eSAgICAgICAgPSBTcGVjQ2VsbCB8IFNwZWNFbXB0eTsKIAogdHlwZWRlZiBib29sICgqU3Bl
Y3VsYXRlZFR5cGVDaGVja2VyKShTcGVjdWxhdGVkVHlwZSk7CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3Iu
Y3BwCShyZXZpc2lvbiAyMTc4OTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYwNyw2ICs0NjA3
LDcgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRMb2FkRAogUmVnaXN0ZXJJ
RCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVuc3VyZVRoaXMoKQogewogICAgIGlmIChjb25zdHJ1Y3Rv
cktpbmQoKSA9PSBDb25zdHJ1Y3RvcktpbmQ6OkV4dGVuZHMgfHwgaXNEZXJpdmVkQ29uc3RydWN0
b3JDb250ZXh0KCkpIHsKKyAgICAgICAgZGF0YUxvZ0xuKCJFbWl0dGluZyBURFogY2hlY2sgZm9y
IHRoaXMiKTsKICAgICAgICAgaWYgKChuZWVkc1RvVXBkYXRlQXJyb3dGdW5jdGlvbkNvbnRleHQo
KSAmJiBpc1N1cGVyQ2FsbFVzZWRJbklubmVyQXJyb3dGdW5jdGlvbigpKSB8fCBtX2NvZGVCbG9j
ay0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5
TW9kZSkKICAgICAgICAgICAgIGVtaXRMb2FkVGhpc0Zyb21BcnJvd0Z1bmN0aW9uTGV4aWNhbEVu
dmlyb25tZW50KCk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJh
Y3RJbnRlcnByZXRlcklubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgJKHJldmlzaW9uIDIxNzg5NCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGlu
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTMxLDYgKzEzMSw3IEBAIHZvaWQgQWJzdHJhY3RJbnRl
cnByZXRlcjxBYnN0cmFjdFN0YXRlVHkKICAgICBpZiAoIShmb3JOb2RlKGVkZ2UpLm1fdHlwZSAm
IH50eXBlRmlsdGVyRm9yKGVkZ2UudXNlS2luZCgpKSkpCiAgICAgICAgIHJldHVybjsKICAgICAK
KyAgICBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKICAgICBERkdfQ1JBU0gobV9ncmFwaCwgbm9kZSwg
dG9DU3RyaW5nKCJFZGdlIHZlcmlmaWNhdGlvbiBlcnJvcjogIiwgbm9kZSwgIi0+IiwgZWRnZSwg
IiB3YXMgZXhwZWN0ZWQgdG8gaGF2ZSB0eXBlICIsIFNwZWN1bGF0aW9uRHVtcCh0eXBlRmlsdGVy
Rm9yKGVkZ2UudXNlS2luZCgpKSksICIgYnV0IGhhcyB0eXBlICIsIFNwZWN1bGF0aW9uRHVtcChm
b3JOb2RlKGVkZ2UpLm1fdHlwZSksICIgKCIsIGZvck5vZGUoZWRnZSkubV90eXBlLCAiKSIpLmRh
dGEoKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMjE3ODk0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM3
MSw5ICsxMzcxLDkgQEAgR1BSUmVnIFNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlQ2VsbAog
ewogICAgIEFic3RyYWN0VmFsdWUmIHZhbHVlID0gbV9zdGF0ZS5mb3JOb2RlKGVkZ2UpOwogICAg
IFNwZWN1bGF0ZWRUeXBlIHR5cGUgPSB2YWx1ZS5tX3R5cGU7Ci0gICAgQVNTRVJUKChlZGdlLnVz
ZUtpbmQoKSAhPSBLbm93bkNlbGxVc2UgJiYgZWRnZS51c2VLaW5kKCkgIT0gS25vd25TdHJpbmdV
c2UpIHx8ICEodmFsdWUubV90eXBlICYgflNwZWNDZWxsKSk7CisgICAgQVNTRVJUKChlZGdlLnVz
ZUtpbmQoKSAhPSBLbm93bkNlbGxVc2UgJiYgZWRnZS51c2VLaW5kKCkgIT0gS25vd25TdHJpbmdV
c2UpIHx8ICEodmFsdWUubV90eXBlICYgfmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCkpOwogCi0g
ICAgbV9pbnRlcnByZXRlci5maWx0ZXIodmFsdWUsIFNwZWNDZWxsKTsKKyAgICBtX2ludGVycHJl
dGVyLmZpbHRlcih2YWx1ZSwgY2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKTsKICAgICBpZiAodmFs
dWUuaXNDbGVhcigpKSB7CiAgICAgICAgIHRlcm1pbmF0ZVNwZWN1bGF0aXZlRXhlY3V0aW9uKFVu
Y291bnRhYmxlLCBKU1ZhbHVlUmVncygpLCAwKTsKICAgICAgICAgcmV0dXJuIGFsbG9jYXRlKCk7
CkBAIC0xMzk4LDcgKzEzOTgsNyBAQCBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxh
dGVDZWxsCiAgICAgICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6YWRkcmVzc0Zvcih2aXJ0
dWFsUmVnaXN0ZXIpLCBncHIpOwogCiAgICAgICAgIGluZm8uZmlsbEpTVmFsdWUoKm1fc3RyZWFt
LCBncHIsIERhdGFGb3JtYXRKUyk7Ci0gICAgICAgIGlmICh0eXBlICYgflNwZWNDZWxsKQorICAg
ICAgICBpZiAodHlwZSAmIH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpCiAgICAgICAgICAgICBz
cGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpTVmFsdWVSZWdzKGdwciksIGVkZ2UsIG1faml0LmJy
YW5jaElmTm90Q2VsbChKU1ZhbHVlUmVncyhncHIpKSk7CiAgICAgICAgIGluZm8uZmlsbEpTVmFs
dWUoKm1fc3RyZWFtLCBncHIsIERhdGFGb3JtYXRKU0NlbGwpOwogICAgICAgICByZXR1cm4gZ3By
OwpAQCAtMTQxOSw3ICsxNDE5LDcgQEAgR1BSUmVnIFNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3Vs
YXRlQ2VsbAogICAgIGNhc2UgRGF0YUZvcm1hdEpTOiB7CiAgICAgICAgIEdQUlJlZyBncHIgPSBp
bmZvLmdwcigpOwogICAgICAgICBtX2dwcnMubG9jayhncHIpOwotICAgICAgICBpZiAodHlwZSAm
IH5TcGVjQ2VsbCkKKyAgICAgICAgaWYgKHR5cGUgJiB+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdo
KQogICAgICAgICAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRUeXBlLCBKU1ZhbHVlUmVncyhncHIp
LCBlZGdlLCBtX2ppdC5icmFuY2hJZk5vdENlbGwoSlNWYWx1ZVJlZ3MoZ3ByKSkpOwogICAgICAg
ICBpbmZvLmZpbGxKU1ZhbHVlKCptX3N0cmVhbSwgZ3ByLCBEYXRhRm9ybWF0SlNDZWxsKTsKICAg
ICAgICAgcmV0dXJuIGdwcjsKQEAgLTE2MzAsMTAgKzE2MzAsMTAgQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZU9iamVjdFRvT2JqZQogICAgIC8vIFdlIGtub3cgdGhhdCB3aXRoaW4gdGhp
cyBicmFuY2gsIHJpZ2h0Q2hpbGQgbXVzdCBiZSBhIGNlbGwuIAogICAgIGlmIChtYXNxdWVyYWRl
c0FzVW5kZWZpbmVkV2F0Y2hwb2ludFZhbGlkKSB7CiAgICAgICAgIERGR19UWVBFX0NIRUNLKAot
ICAgICAgICAgICAgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwgKH5TcGVjQ2VsbCkg
fCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChvcDJHUFIpKTsKKyAgICAgICAg
ICAgIEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQsICh+Y2VsbENoZWNrVHlwZVBhc3N0
aHJvdWdoKSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KG9wMkdQUikpOwog
ICAgIH0gZWxzZSB7CiAgICAgICAgIERGR19UWVBFX0NIRUNLKAotICAgICAgICAgICAgSlNWYWx1
ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwgKH5TcGVjQ2VsbCkgfCBTcGVjT2JqZWN0LCBtX2pp
dC5icmFuY2hJZk5vdE9iamVjdChvcDJHUFIpKTsKKyAgICAgICAgICAgIEpTVmFsdWVSZWdzKG9w
MkdQUiksIHJpZ2h0Q2hpbGQsICh+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKSB8IFNwZWNPYmpl
Y3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KG9wMkdQUikpOwogICAgICAgICBzcGVjdWxhdGlv
bkNoZWNrKEJhZFR5cGUsIEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQsCiAgICAgICAg
ICAgICBtX2ppdC5icmFuY2hUZXN0OCgKICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6
Tm9uWmVybywgCkBAIC0xNjUxLDEyICsxNjUxLDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVPYmplY3RUb09iamUKICAgICAKICAgICAvLyBXZSBrbm93IHRoYXQgd2l0aGluIHRoaXMg
YnJhbmNoLCByaWdodENoaWxkIG11c3Qgbm90IGJlIGEgY2VsbC4gQ2hlY2sgaWYgdGhhdCBpcyBl
bm91Z2ggdG8KICAgICAvLyBwcm92ZSB0aGF0IGl0IGlzIGVpdGhlciBudWxsIG9yIHVuZGVmaW5l
ZC4KLSAgICBpZiAobmVlZHNUeXBlQ2hlY2socmlnaHRDaGlsZCwgU3BlY0NlbGwgfCBTcGVjT3Ro
ZXIpKSB7CisgICAgaWYgKG5lZWRzVHlwZUNoZWNrKHJpZ2h0Q2hpbGQsIGNlbGxDaGVja1R5cGVQ
YXNzdGhyb3VnaCB8IFNwZWNPdGhlcikpIHsKICAgICAgICAgbV9qaXQubW92ZShvcDJHUFIsIHJl
c3VsdEdQUik7CiAgICAgICAgIG1faml0LmFuZDY0KE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1t
MzIoflRhZ0JpdFVuZGVmaW5lZCksIHJlc3VsdEdQUik7CiAgICAgICAgIAogICAgICAgICB0eXBl
Q2hlY2soCi0gICAgICAgICAgICBKU1ZhbHVlUmVncyhvcDJHUFIpLCByaWdodENoaWxkLCBTcGVj
Q2VsbCB8IFNwZWNPdGhlciwKKyAgICAgICAgICAgIEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0
Q2hpbGQsIGNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCB8IFNwZWNPdGhlciwKICAgICAgICAgICAg
IG1faml0LmJyYW5jaDY0KAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpOb3RFcXVh
bCwgcmVzdWx0R1BSLAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1t
NjQoVmFsdWVOdWxsKSkpOwpAQCAtMTcwNCwxMCArMTcwNCwxMCBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlUGVlcEhvbGVPYmplCiAgICAgLy8gV2Uga25vdyB0aGF0IHdpdGhpbiB0aGlz
IGJyYW5jaCwgcmlnaHRDaGlsZCBtdXN0IGJlIGEgY2VsbC4gCiAgICAgaWYgKG1hc3F1ZXJhZGVz
QXNVbmRlZmluZWRXYXRjaHBvaW50VmFsaWQpIHsKICAgICAgICAgREZHX1RZUEVfQ0hFQ0soCi0g
ICAgICAgICAgICBKU1ZhbHVlUmVncyhvcDJHUFIpLCByaWdodENoaWxkLCAoflNwZWNDZWxsKSB8
IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KG9wMkdQUikpOworICAgICAgICAg
ICAgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwgKH5jZWxsQ2hlY2tUeXBlUGFzc3Ro
cm91Z2gpIHwgU3BlY09iamVjdCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3Qob3AyR1BSKSk7CiAg
ICAgfSBlbHNlIHsKICAgICAgICAgREZHX1RZUEVfQ0hFQ0soCi0gICAgICAgICAgICBKU1ZhbHVl
UmVncyhvcDJHUFIpLCByaWdodENoaWxkLCAoflNwZWNDZWxsKSB8IFNwZWNPYmplY3QsIG1faml0
LmJyYW5jaElmTm90T2JqZWN0KG9wMkdQUikpOworICAgICAgICAgICAgSlNWYWx1ZVJlZ3Mob3Ay
R1BSKSwgcmlnaHRDaGlsZCwgKH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpIHwgU3BlY09iamVj
dCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3Qob3AyR1BSKSk7CiAgICAgICAgIHNwZWN1bGF0aW9u
Q2hlY2soQmFkVHlwZSwgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwKICAgICAgICAg
ICAgIG1faml0LmJyYW5jaFRlc3Q4KAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpO
b25aZXJvLCAKQEAgLTE3MjIsNyArMTcyMiw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVQZWVwSG9sZU9iamUKICAgICAKICAgICAvLyBXZSBrbm93IHRoYXQgd2l0aGluIHRoaXMgYnJh
bmNoLCByaWdodENoaWxkIG11c3Qgbm90IGJlIGEgY2VsbC4gQ2hlY2sgaWYgdGhhdCBpcyBlbm91
Z2ggdG8KICAgICAvLyBwcm92ZSB0aGF0IGl0IGlzIGVpdGhlciBudWxsIG9yIHVuZGVmaW5lZC4K
LSAgICBpZiAoIW5lZWRzVHlwZUNoZWNrKHJpZ2h0Q2hpbGQsIFNwZWNDZWxsIHwgU3BlY090aGVy
KSkKKyAgICBpZiAoIW5lZWRzVHlwZUNoZWNrKHJpZ2h0Q2hpbGQsIGNlbGxDaGVja1R5cGVQYXNz
dGhyb3VnaCB8IFNwZWNPdGhlcikpCiAgICAgICAgIHJpZ2h0Tm90Q2VsbC5saW5rKCZtX2ppdCk7
CiAgICAgZWxzZSB7CiAgICAgICAgIGp1bXAobm90VGFrZW4sIEZvcmNlSnVtcCk7CkBAIC0xNzMy
LDcgKzE3MzIsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUGVlcEhvbGVPYmplCiAg
ICAgICAgIG1faml0LmFuZDY0KE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoflRhZ0JpdFVu
ZGVmaW5lZCksIHJlc3VsdEdQUik7CiAgICAgICAgIAogICAgICAgICB0eXBlQ2hlY2soCi0gICAg
ICAgICAgICBKU1ZhbHVlUmVncyhvcDJHUFIpLCByaWdodENoaWxkLCBTcGVjQ2VsbCB8IFNwZWNP
dGhlciwgbV9qaXQuYnJhbmNoNjQoCisgICAgICAgICAgICBKU1ZhbHVlUmVncyhvcDJHUFIpLCBy
aWdodENoaWxkLCBjZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjT3RoZXIsIG1faml0LmJy
YW5jaDY0KAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpOb3RFcXVhbCwgcmVzdWx0
R1BSLAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tNjQoVmFsdWVO
dWxsKSkpOwogICAgIH0KQEAgLTE4NjYsMTAgKzE4NjYsMTAgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZU9iamVjdE9yT3RoZQogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIG5vdENlbGwg
PSBtX2ppdC5icmFuY2hJZk5vdENlbGwoSlNWYWx1ZVJlZ3ModmFsdWVHUFIpKTsKICAgICBpZiAo
bWFzcXVlcmFkZXNBc1VuZGVmaW5lZFdhdGNocG9pbnRWYWxpZCkgewogICAgICAgICBERkdfVFlQ
RV9DSEVDSygKLSAgICAgICAgICAgIEpTVmFsdWVSZWdzKHZhbHVlR1BSKSwgbm9kZVVzZSwgKH5T
cGVjQ2VsbCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdCh2YWx1ZUdQUikp
OworICAgICAgICAgICAgSlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBub2RlVXNlLCAofmNlbGxDaGVj
a1R5cGVQYXNzdGhyb3VnaCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdCh2
YWx1ZUdQUikpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIERGR19UWVBFX0NIRUNLKAotICAgICAg
ICAgICAgSlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBub2RlVXNlLCAoflNwZWNDZWxsKSB8IFNwZWNP
YmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KHZhbHVlR1BSKSk7CisgICAgICAgICAgICBK
U1ZhbHVlUmVncyh2YWx1ZUdQUiksIG5vZGVVc2UsICh+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdo
KSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KHZhbHVlR1BSKSk7CiAKICAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaXNOb3RNYXNxdWVyYWRlc0FzVW5kZWZpbmVkID0g
CiAgICAgICAgICAgICBtX2ppdC5icmFuY2hUZXN0OCgKQEAgLTE4OTEsMTEgKzE4OTEsMTEgQEAg
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU9iamVjdE9yT3RoZQogICAgIAogICAgIG5vdENl
bGwubGluaygmbV9qaXQpOwogCi0gICAgaWYgKG5lZWRzVHlwZUNoZWNrKG5vZGVVc2UsIFNwZWND
ZWxsIHwgU3BlY090aGVyKSkgeworICAgIGlmIChuZWVkc1R5cGVDaGVjayhub2RlVXNlLCBjZWxs
Q2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjT3RoZXIpKSB7CiAgICAgICAgIG1faml0Lm1vdmUo
dmFsdWVHUFIsIHJlc3VsdEdQUik7CiAgICAgICAgIG1faml0LmFuZDY0KE1hY3JvQXNzZW1ibGVy
OjpUcnVzdGVkSW1tMzIoflRhZ0JpdFVuZGVmaW5lZCksIHJlc3VsdEdQUik7CiAgICAgICAgIHR5
cGVDaGVjaygKLSAgICAgICAgICAgIEpTVmFsdWVSZWdzKHZhbHVlR1BSKSwgbm9kZVVzZSwgU3Bl
Y0NlbGwgfCBTcGVjT3RoZXIsIG1faml0LmJyYW5jaDY0KAorICAgICAgICAgICAgSlNWYWx1ZVJl
Z3ModmFsdWVHUFIpLCBub2RlVXNlLCBjZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjT3Ro
ZXIsIG1faml0LmJyYW5jaDY0KAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpOb3RF
cXVhbCwgCiAgICAgICAgICAgICAgICAgcmVzdWx0R1BSLCAKICAgICAgICAgICAgICAgICBNYWNy
b0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsKQEAgLTIwMTgsMTAgKzIwMTgs
MTAgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdE9iamVjdE9yT3RoZXJCcgogICAgIE1hY3Jv
QXNzZW1ibGVyOjpKdW1wIG5vdENlbGwgPSBtX2ppdC5icmFuY2hJZk5vdENlbGwoSlNWYWx1ZVJl
Z3ModmFsdWVHUFIpKTsKICAgICBpZiAobWFzcXVlcmFkZXNBc1VuZGVmaW5lZFdhdGNocG9pbnRJ
c1N0aWxsVmFsaWQoKSkgewogICAgICAgICBERkdfVFlQRV9DSEVDSygKLSAgICAgICAgICAgIEpT
VmFsdWVSZWdzKHZhbHVlR1BSKSwgbm9kZVVzZSwgKH5TcGVjQ2VsbCkgfCBTcGVjT2JqZWN0LCBt
X2ppdC5icmFuY2hJZk5vdE9iamVjdCh2YWx1ZUdQUikpOworICAgICAgICAgICAgSlNWYWx1ZVJl
Z3ModmFsdWVHUFIpLCBub2RlVXNlLCAofmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCkgfCBTcGVj
T2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdCh2YWx1ZUdQUikpOwogICAgIH0gZWxzZSB7
CiAgICAgICAgIERGR19UWVBFX0NIRUNLKAotICAgICAgICAgICAgSlNWYWx1ZVJlZ3ModmFsdWVH
UFIpLCBub2RlVXNlLCAoflNwZWNDZWxsKSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElmTm90
T2JqZWN0KHZhbHVlR1BSKSk7CisgICAgICAgICAgICBKU1ZhbHVlUmVncyh2YWx1ZUdQUiksIG5v
ZGVVc2UsICh+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKSB8IFNwZWNPYmplY3QsIG1faml0LmJy
YW5jaElmTm90T2JqZWN0KHZhbHVlR1BSKSk7CiAKICAgICAgICAgSklUQ29tcGlsZXI6Okp1bXAg
aXNOb3RNYXNxdWVyYWRlc0FzVW5kZWZpbmVkID0gbV9qaXQuYnJhbmNoVGVzdDgoCiAgICAgICAg
ICAgICBKSVRDb21waWxlcjo6WmVybywgCkBAIC0yMDQxLDExICsyMDQxLDExIEBAIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmVtaXRPYmplY3RPck90aGVyQnIKICAgICAKICAgICBub3RDZWxsLmxpbmso
Jm1faml0KTsKICAgICAKLSAgICBpZiAobmVlZHNUeXBlQ2hlY2sobm9kZVVzZSwgU3BlY0NlbGwg
fCBTcGVjT3RoZXIpKSB7CisgICAgaWYgKG5lZWRzVHlwZUNoZWNrKG5vZGVVc2UsIGNlbGxDaGVj
a1R5cGVQYXNzdGhyb3VnaCB8IFNwZWNPdGhlcikpIHsKICAgICAgICAgbV9qaXQubW92ZSh2YWx1
ZUdQUiwgc2NyYXRjaEdQUik7CiAgICAgICAgIG1faml0LmFuZDY0KE1hY3JvQXNzZW1ibGVyOjpU
cnVzdGVkSW1tMzIoflRhZ0JpdFVuZGVmaW5lZCksIHNjcmF0Y2hHUFIpOwogICAgICAgICB0eXBl
Q2hlY2soCi0gICAgICAgICAgICBKU1ZhbHVlUmVncyh2YWx1ZUdQUiksIG5vZGVVc2UsIFNwZWND
ZWxsIHwgU3BlY090aGVyLCBtX2ppdC5icmFuY2g2NCgKKyAgICAgICAgICAgIEpTVmFsdWVSZWdz
KHZhbHVlR1BSKSwgbm9kZVVzZSwgY2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoIHwgU3BlY090aGVy
LCBtX2ppdC5icmFuY2g2NCgKICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Tm90RXF1
YWwsIHNjcmF0Y2hHUFIsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkp
OwogICAgIH0KICAgICBqdW1wKG5vdFRha2VuKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAyMTc4OTQpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjI1MCw3ICsyMjUwLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVZh
bHVlVG9JbnQzMgogICAgICAgICAgICAgICAgIEpJVENvbXBpbGVyOjpKdW1wIGlzTnVtYmVyID0g
bV9qaXQuYnJhbmNoVGVzdDY0KE1hY3JvQXNzZW1ibGVyOjpOb25aZXJvLCBncHIsIEdQUkluZm86
OnRhZ1R5cGVOdW1iZXJSZWdpc3Rlcik7CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgREZHX1RZUEVfQ0hFQ0soCi0gICAgICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzKGdwciks
IG5vZGUtPmNoaWxkMSgpLCB+U3BlY0NlbGwsIG1faml0LmJyYW5jaElmQ2VsbChKU1ZhbHVlUmVn
cyhncHIpKSk7CisgICAgICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzKGdwciksIG5vZGUtPmNo
aWxkMSgpLCB+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoLCBtX2ppdC5icmFuY2hJZkNlbGwoSlNW
YWx1ZVJlZ3MoZ3ByKSkpOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIC8vIEl0
J3Mgbm90IGEgY2VsbDogc28gdHJ1ZSB0dXJucyBpbnRvIDEgYW5kIGFsbCBlbHNlIHR1cm5zIGlu
dG8gMC4KICAgICAgICAgICAgICAgICBtX2ppdC5jb21wYXJlNjQoSklUQ29tcGlsZXI6OkVxdWFs
LCBncHIsIFRydXN0ZWRJbW0zMihWYWx1ZVRydWUpLCByZXN1bHRHcHIpOwpAQCAtMjQ3OCw3ICsy
NDc4LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZURvdWJsZVJlcChObwogICAgICAg
ICAgICAgSklUQ29tcGlsZXI6Okp1bXAgaXNOdWxsID0gbV9qaXQuYnJhbmNoNjQoSklUQ29tcGls
ZXI6OkVxdWFsLCBvcDFHUFIsIFRydXN0ZWRJbW02NChWYWx1ZU51bGwpKTsKICAgICAgICAgICAg
IGRvbmUuYXBwZW5kKGlzTnVsbCk7CiAKLSAgICAgICAgICAgIERGR19UWVBFX0NIRUNLKEpTVmFs
dWVSZWdzKG9wMUdQUiksIG5vZGUtPmNoaWxkMSgpLCB+U3BlY0NlbGwsCisgICAgICAgICAgICBE
RkdfVFlQRV9DSEVDSyhKU1ZhbHVlUmVncyhvcDFHUFIpLCBub2RlLT5jaGlsZDEoKSwgflNwZWND
ZWxsT3JFbXB0eSwKICAgICAgICAgICAgICAgICBtX2ppdC5icmFuY2hUZXN0NjQoSklUQ29tcGls
ZXI6Olplcm8sIG9wMUdQUiwgVHJ1c3RlZEltbTMyKHN0YXRpY19jYXN0PGludDMyX3Q+KFRhZ0Jp
dEJvb2wpKSkpOwogCiAgICAgICAgICAgICBKSVRDb21waWxlcjo6SnVtcCBpc0ZhbHNlID0gbV9q
aXQuYnJhbmNoNjQoSklUQ29tcGlsZXI6OkVxdWFsLCBvcDFHUFIsIFRydXN0ZWRJbW02NChWYWx1
ZUZhbHNlKSk7CkBAIC02MDczLDE4ICs2MDczLDE5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVMb2dpY2FsTm90U3QKICAgICBKSVRDb21waWxlcjo6SnVtcCBub3RDZWxsID0gbV9qaXQu
YnJhbmNoSWZOb3RDZWxsKHZhbHVlUmVncyk7CiAgICAgR1BSUmVnIGNlbGxHUFIgPSB2YWx1ZVJl
Z3MucGF5bG9hZEdQUigpOwogICAgIERGR19UWVBFX0NIRUNLKAotICAgICAgICB2YWx1ZVJlZ3Ms
IG5vZGUtPmNoaWxkMSgpLCAoflNwZWNDZWxsKSB8IFNwZWNTdHJpbmcsIG1faml0LmJyYW5jaElm
Tm90U3RyaW5nKGNlbGxHUFIpKTsKKyAgICAgICAgdmFsdWVSZWdzLCBub2RlLT5jaGlsZDEoKSwg
KH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpIHwgU3BlY1N0cmluZywgbV9qaXQuYnJhbmNoSWZO
b3RTdHJpbmcoY2VsbEdQUikpOwogICAgIG1faml0LnRlc3QzMigKICAgICAgICAgSklUQ29tcGls
ZXI6Olplcm8sIEpJVENvbXBpbGVyOjpBZGRyZXNzKGNlbGxHUFIsIEpTU3RyaW5nOjpvZmZzZXRP
Zkxlbmd0aCgpKSwKICAgICAgICAgSklUQ29tcGlsZXI6OlRydXN0ZWRJbW0zMigtMSksIHRlbXBH
UFIpOwogICAgIEpJVENvbXBpbGVyOjpKdW1wIGRvbmUgPSBtX2ppdC5qdW1wKCk7CiAgICAgbm90
Q2VsbC5saW5rKCZtX2ppdCk7CiAgICAgREZHX1RZUEVfQ0hFQ0soCi0gICAgICAgIHZhbHVlUmVn
cywgbm9kZS0+Y2hpbGQxKCksIFNwZWNDZWxsIHwgU3BlY090aGVyLCBtX2ppdC5icmFuY2hJZk5v
dE90aGVyKHZhbHVlUmVncywgdGVtcEdQUikpOworICAgICAgICB2YWx1ZVJlZ3MsIG5vZGUtPmNo
aWxkMSgpLCBjZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjT3RoZXIsIG1faml0LmJyYW5j
aElmTm90T3RoZXIodmFsdWVSZWdzLCB0ZW1wR1BSKSk7CiAgICAgbV9qaXQubW92ZShUcnVzdGVk
SW1tMzIoMSksIHRlbXBHUFIpOwogICAgIGRvbmUubGluaygmbV9qaXQpOwogCiAgICAgdW5ibGVz
c2VkQm9vbGVhblJlc3VsdCh0ZW1wR1BSLCBub2RlKTsKKwogfQogCiB2b2lkIFNwZWN1bGF0aXZl
SklUOjplbWl0U3RyaW5nQnJhbmNoKEVkZ2Ugbm9kZVVzZSwgQmFzaWNCbG9jayogdGFrZW4sIEJh
c2ljQmxvY2sqIG5vdFRha2VuKQpAQCAtNjEwNSwxNCArNjEwNiwxNCBAQCB2b2lkIFNwZWN1bGF0
aXZlSklUOjplbWl0U3RyaW5nT3JPdGhlckJyCiAgICAgCiAgICAgSklUQ29tcGlsZXI6Okp1bXAg
bm90Q2VsbCA9IG1faml0LmJyYW5jaElmTm90Q2VsbCh2YWx1ZVJlZ3MpOwogICAgIEdQUlJlZyBj
ZWxsR1BSID0gdmFsdWVSZWdzLnBheWxvYWRHUFIoKTsKLSAgICBERkdfVFlQRV9DSEVDSyh2YWx1
ZVJlZ3MsIG5vZGVVc2UsICh+U3BlY0NlbGwpIHwgU3BlY1N0cmluZywgbV9qaXQuYnJhbmNoSWZO
b3RTdHJpbmcoY2VsbEdQUikpOworICAgIERGR19UWVBFX0NIRUNLKHZhbHVlUmVncywgbm9kZVVz
ZSwgKH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpIHwgU3BlY1N0cmluZywgbV9qaXQuYnJhbmNo
SWZOb3RTdHJpbmcoY2VsbEdQUikpOwogICAgIGJyYW5jaFRlc3QzMigKICAgICAgICAgSklUQ29t
cGlsZXI6Olplcm8sIEpJVENvbXBpbGVyOjpBZGRyZXNzKGNlbGxHUFIsIEpTU3RyaW5nOjpvZmZz
ZXRPZkxlbmd0aCgpKSwKICAgICAgICAgSklUQ29tcGlsZXI6OlRydXN0ZWRJbW0zMigtMSksIG5v
dFRha2VuKTsKICAgICBqdW1wKHRha2VuLCBGb3JjZUp1bXApOwogICAgIG5vdENlbGwubGluaygm
bV9qaXQpOwogICAgIERGR19UWVBFX0NIRUNLKAotICAgICAgICB2YWx1ZVJlZ3MsIG5vZGVVc2Us
IFNwZWNDZWxsIHwgU3BlY090aGVyLCBtX2ppdC5icmFuY2hJZk5vdE90aGVyKHZhbHVlUmVncywg
dGVtcEdQUikpOworICAgICAgICB2YWx1ZVJlZ3MsIG5vZGVVc2UsIGNlbGxDaGVja1R5cGVQYXNz
dGhyb3VnaCB8IFNwZWNPdGhlciwgbV9qaXQuYnJhbmNoSWZOb3RPdGhlcih2YWx1ZVJlZ3MsIHRl
bXBHUFIpKTsKICAgICBqdW1wKG5vdFRha2VuKTsKICAgICBub1Jlc3VsdChtX2N1cnJlbnROb2Rl
KTsKIH0KQEAgLTg0MDYsNyArODQwNyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0
ZUJvb2xlYW4oRWQKIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlQ2VsbChFZGdlIGVk
Z2UpCiB7Ci0gICAgaWYgKCFuZWVkc1R5cGVDaGVjayhlZGdlLCBTcGVjQ2VsbCkpCisgICAgaWYg
KCFuZWVkc1R5cGVDaGVjayhlZGdlLCBjZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpKQogICAgICAg
ICByZXR1cm47CiAgICAgCiAgICAgKFNwZWN1bGF0ZUNlbGxPcGVyYW5kKHRoaXMsIGVkZ2UpKS5n
cHIoKTsKQEAgLTg0MTQsNyArODQxNSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0
ZUNlbGwoRWRnZSAKIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlQ2VsbE9yT3RoZXIo
RWRnZSBlZGdlKQogewotICAgIGlmICghbmVlZHNUeXBlQ2hlY2soZWRnZSwgU3BlY0NlbGwgfCBT
cGVjT3RoZXIpKQorICAgIGlmICghbmVlZHNUeXBlQ2hlY2soZWRnZSwgY2VsbENoZWNrVHlwZVBh
c3N0aHJvdWdoIHwgU3BlY090aGVyKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIEpTVmFs
dWVPcGVyYW5kIG9wZXJhbmQodGhpcywgZWRnZSwgTWFudWFsT3BlcmFuZFNwZWN1bGF0aW9uKTsK
QEAgLTg0MjMsNyArODQyNCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZUNlbGxP
ck90aGUKIAogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIG9rID0gbV9qaXQuYnJhbmNoSWZDZWxs
KG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSk7CiAgICAgREZHX1RZUEVfQ0hFQ0soCi0gICAgICAgIG9w
ZXJhbmQuanNWYWx1ZVJlZ3MoKSwgZWRnZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIsCisgICAgICAg
IG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSwgZWRnZSwgY2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoIHwg
U3BlY090aGVyLAogICAgICAgICBtX2ppdC5icmFuY2hJZk5vdE90aGVyKG9wZXJhbmQuanNWYWx1
ZVJlZ3MoKSwgdGVtcEdQUikpOwogICAgIG9rLmxpbmsoJm1faml0KTsKIH0KQEAgLTg1NTIsMTEg
Kzg1NTMsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlT2JqZWN0T3JPdAogICAg
IE1hY3JvQXNzZW1ibGVyOjpKdW1wIG5vdENlbGwgPSBtX2ppdC5icmFuY2hJZk5vdENlbGwob3Bl
cmFuZC5qc1ZhbHVlUmVncygpKTsKICAgICBHUFJSZWcgZ3ByID0gb3BlcmFuZC5qc1ZhbHVlUmVn
cygpLnBheWxvYWRHUFIoKTsKICAgICBERkdfVFlQRV9DSEVDSygKLSAgICAgICAgb3BlcmFuZC5q
c1ZhbHVlUmVncygpLCBlZGdlLCAoflNwZWNDZWxsKSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5j
aElmTm90T2JqZWN0KGdwcikpOworICAgICAgICBvcGVyYW5kLmpzVmFsdWVSZWdzKCksIGVkZ2Us
ICh+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElm
Tm90T2JqZWN0KGdwcikpOwogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGRvbmUgPSBtX2ppdC5q
dW1wKCk7CiAgICAgbm90Q2VsbC5saW5rKCZtX2ppdCk7CiAgICAgREZHX1RZUEVfQ0hFQ0soCi0g
ICAgICAgIG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSwgZWRnZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIs
CisgICAgICAgIG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSwgZWRnZSwgY2VsbENoZWNrVHlwZVBhc3N0
aHJvdWdoIHwgU3BlY090aGVyLAogICAgICAgICBtX2ppdC5icmFuY2hJZk5vdE90aGVyKG9wZXJh
bmQuanNWYWx1ZVJlZ3MoKSwgdGVtcEdQUikpOwogICAgIGRvbmUubGluaygmbV9qaXQpOwogfQpA
QCAtODU2NCwxNyArODU2NSwxNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVPYmpl
Y3RPck90CiB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVTdHJpbmcoRWRnZSBlZGdlLCBH
UFJSZWcgY2VsbCkKIHsKICAgICBERkdfVFlQRV9DSEVDSygKLSAgICAgICAgSlNWYWx1ZVNvdXJj
ZTo6dW5ib3hlZENlbGwoY2VsbCksIGVkZ2UsIFNwZWNTdHJpbmcgfCB+U3BlY0NlbGwsIG1faml0
LmJyYW5jaElmTm90U3RyaW5nKGNlbGwpKTsKKyAgICAgICAgSlNWYWx1ZVNvdXJjZTo6dW5ib3hl
ZENlbGwoY2VsbCksIGVkZ2UsIFNwZWNTdHJpbmcgfCB+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdo
LCBtX2ppdC5icmFuY2hJZk5vdFN0cmluZyhjZWxsKSk7CiB9CiAKIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OnNwZWN1bGF0ZVN0cmluZ09yT3RoZXIoRWRnZSBlZGdlLCBKU1ZhbHVlUmVncyByZWdzLCBH
UFJSZWcgc2NyYXRjaCkKIHsKICAgICBKSVRDb21waWxlcjo6SnVtcCBub3RDZWxsID0gbV9qaXQu
YnJhbmNoSWZOb3RDZWxsKHJlZ3MpOwogICAgIEdQUlJlZyBjZWxsID0gcmVncy5wYXlsb2FkR1BS
KCk7Ci0gICAgREZHX1RZUEVfQ0hFQ0socmVncywgZWRnZSwgKH5TcGVjQ2VsbCkgfCBTcGVjU3Ry
aW5nLCBtX2ppdC5icmFuY2hJZk5vdFN0cmluZyhjZWxsKSk7CisgICAgREZHX1RZUEVfQ0hFQ0so
cmVncywgZWRnZSwgKH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpIHwgU3BlY1N0cmluZywgbV9q
aXQuYnJhbmNoSWZOb3RTdHJpbmcoY2VsbCkpOwogICAgIEpJVENvbXBpbGVyOjpKdW1wIGRvbmUg
PSBtX2ppdC5qdW1wKCk7CiAgICAgbm90Q2VsbC5saW5rKCZtX2ppdCk7Ci0gICAgREZHX1RZUEVf
Q0hFQ0socmVncywgZWRnZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIsIG1faml0LmJyYW5jaElmTm90
T3RoZXIocmVncywgc2NyYXRjaCkpOworICAgIERGR19UWVBFX0NIRUNLKHJlZ3MsIGVkZ2UsIGNl
bGxDaGVja1R5cGVQYXNzdGhyb3VnaCB8IFNwZWNPdGhlciwgbV9qaXQuYnJhbmNoSWZOb3RPdGhl
cihyZWdzLCBzY3JhdGNoKSk7CiAgICAgZG9uZS5saW5rKCZtX2ppdCk7CiB9CiAKQEAgLTg3MDIs
NyArODcwMyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZU5vdFN0cmluZ1YKIAog
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlU3ltYm9sKEVkZ2UgZWRnZSwgR1BSUmVnIGNl
bGwpCiB7Ci0gICAgREZHX1RZUEVfQ0hFQ0soSlNWYWx1ZVNvdXJjZTo6dW5ib3hlZENlbGwoY2Vs
bCksIGVkZ2UsIFNwZWNTeW1ib2wsIG1faml0LmJyYW5jaElmTm90U3ltYm9sKGNlbGwpKTsKKyAg
ICBERkdfVFlQRV9DSEVDSyhKU1ZhbHVlU291cmNlOjp1bmJveGVkQ2VsbChjZWxsKSwgZWRnZSwg
fmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCB8IFNwZWNTeW1ib2wsIG1faml0LmJyYW5jaElmTm90
U3ltYm9sKGNlbGwpKTsKIH0KIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlU3ltYm9s
KEVkZ2UgZWRnZSkKQEAgLTg3MTYsMTIgKzg3MTcsMTIgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
c3BlY3VsYXRlU3ltYm9sKEVkZwogCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVOb3RD
ZWxsKEVkZ2UgZWRnZSwgSlNWYWx1ZVJlZ3MgcmVncykKIHsKLSAgICBERkdfVFlQRV9DSEVDSyhy
ZWdzLCBlZGdlLCB+U3BlY0NlbGwsIG1faml0LmJyYW5jaElmQ2VsbChyZWdzKSk7CisgICAgREZH
X1RZUEVfQ0hFQ0socmVncywgZWRnZSwgfmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCwgbV9qaXQu
YnJhbmNoSWZDZWxsKHJlZ3MpKTsKIH0KIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRl
Tm90Q2VsbChFZGdlIGVkZ2UpCiB7Ci0gICAgaWYgKCFuZWVkc1R5cGVDaGVjayhlZGdlLCB+U3Bl
Y0NlbGwpKQorICAgIGlmICghbmVlZHNUeXBlQ2hlY2soZWRnZSwgfmNlbGxDaGVja1R5cGVQYXNz
dGhyb3VnaCkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBKU1ZhbHVlT3BlcmFuZCBvcGVy
YW5kKHRoaXMsIGVkZ2UsIE1hbnVhbE9wZXJhbmRTcGVjdWxhdGlvbik7IApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkocmV2aXNpb24gMjE3
ODk0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCSh3
b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCw5IEBAIGNsYXNzIFNwZWN1bGF0ZUJvb2xlYW5PcGVy
YW5kOwogCiBlbnVtIEdlbmVyYXRlZE9wZXJhbmRUeXBlIHsgR2VuZXJhdGVkT3BlcmFuZFR5cGVV
bmtub3duLCBHZW5lcmF0ZWRPcGVyYW5kSW50ZWdlciwgR2VuZXJhdGVkT3BlcmFuZEpTVmFsdWV9
OwogCisvLyBXaGVuIGRvaW5nIGEgY2VsbCBjaGVjaywgdGhpcyBpcyB0aGUgdHlwZSB0aGF0IHBh
c3NlcyB0aHJvdWdoCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIGNlbGxDaGVja1R5
cGVQYXNzdGhyb3VnaCA9IGlzNjRCaXQoKSA/IFNwZWNDZWxsT3JFbXB0eSA6IFNwZWNDZWxsOwor
CiAvLyA9PT0gU3BlY3VsYXRpdmVKSVQgPT09CiAvLwogLy8gVGhlIFNwZWN1bGF0aXZlSklUIGlz
IHVzZWQgdG8gZ2VuZXJhdGUgYSBmYXN0LCBidXQgcG90ZW50aWFsbHkKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHVXNlS2luZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHVXNlS2luZC5oCShyZXZpc2lvbiAyMTc4OTQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1VzZUtpbmQuaAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDEw
ICsxMTMsMTkgQEAgaW5saW5lIFNwZWN1bGF0ZWRUeXBlIHR5cGVGaWx0ZXJGb3IoVXNlSwogICAg
IGNhc2UgS25vd25Cb29sZWFuVXNlOgogICAgICAgICByZXR1cm4gU3BlY0Jvb2xlYW47CiAgICAg
Y2FzZSBDZWxsVXNlOgorI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgICAgIHJldHVybiBTcGVjQ2Vs
bE9yRW1wdHk7CisjZWxzZQorICAgICAgICByZXR1cm4gU3BlY0NlbGw7CisjZW5kaWYKICAgICBj
YXNlIEtub3duQ2VsbFVzZToKICAgICAgICAgcmV0dXJuIFNwZWNDZWxsOwogICAgIGNhc2UgQ2Vs
bE9yT3RoZXJVc2U6CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICAgICAgcmV0dXJuIFNwZWNDZWxs
T3JFbXB0eSB8IFNwZWNPdGhlcjsKKyNlbHNlCiAgICAgICAgIHJldHVybiBTcGVjQ2VsbCB8IFNw
ZWNPdGhlcjsKKyNlbmRpZgogICAgIGNhc2UgT2JqZWN0VXNlOgogICAgICAgICByZXR1cm4gU3Bl
Y09iamVjdDsKICAgICBjYXNlIEFycmF5VXNlOgpAQCAtMTU1LDcgKzE2NCwxMSBAQCBpbmxpbmUg
U3BlY3VsYXRlZFR5cGUgdHlwZUZpbHRlckZvcihVc2VLCiAgICAgY2FzZSBOb3RTdHJpbmdWYXJV
c2U6CiAgICAgICAgIHJldHVybiB+U3BlY1N0cmluZ1ZhcjsKICAgICBjYXNlIE5vdENlbGxVc2U6
CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICAgICAgcmV0dXJuIH5TcGVjQ2VsbE9yRW1wdHk7Cisj
ZWxzZQogICAgICAgICByZXR1cm4gflNwZWNDZWxsOworI2VuZGlmCiAgICAgY2FzZSBPdGhlclVz
ZToKICAgICAgICAgcmV0dXJuIFNwZWNPdGhlcjsKICAgICBjYXNlIE1pc2NVc2U6CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCShyZXZpc2lv
biAyMTc4OTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMzEsNyArMTMzMSw3IEBAIHByaXZhdGU6CiAgICAgICAg
ICAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29udmVydEJvb2xlYW5GYWxzZUNhc2UsIGNvbnRpbnVh
dGlvbik7CiAKICAgICAgICAgICAgICAgICBMVmFsdWUgdmFsdWVJc05vdEJvb2xlYW5GYWxzZSA9
IG1fb3V0Lm5vdEVxdWFsKHZhbHVlLCBtX291dC5jb25zdEludDY0KFZhbHVlRmFsc2UpKTsKLSAg
ICAgICAgICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBtX25vZGUt
PmNoaWxkMSgpLCB+U3BlY0NlbGwsIHZhbHVlSXNOb3RCb29sZWFuRmFsc2UpOworICAgICAgICAg
ICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSksIG1fbm9kZS0+Y2hpbGQx
KCksIH5TcGVjQ2VsbE9yRW1wdHksIHZhbHVlSXNOb3RCb29sZWFuRmFsc2UpOwogICAgICAgICAg
ICAgICAgIFZhbHVlRnJvbUJsb2NrIGNvbnZlcnRlZEZhbHNlID0gbV9vdXQuYW5jaG9yKG1fb3V0
LmNvbnN0RG91YmxlKDApKTsKICAgICAgICAgICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlv
bik7CiAKQEAgLTk1MjAsNyArOTUyMCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAKICAgICAg
ICAgICAgIG1fb3V0LmFwcGVuZFRvKG5vdE51bWJlckNhc2UsIGNvbnRpbnVhdGlvbik7CiAgICAg
ICAgICAgICAKLSAgICAgICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSks
IGVkZ2UsIH5TcGVjQ2VsbCwgaXNDZWxsKHZhbHVlKSk7CisgICAgICAgICAgICBGVExfVFlQRV9D
SEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCB+U3BlY0NlbGxPckVtcHR5LCBpc0NlbGwo
dmFsdWUpKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgTFZhbHVlIHNwZWNpYWxSZXN1bHQg
PSBtX291dC5zZWxlY3QoCiAgICAgICAgICAgICAgICAgbV9vdXQuZXF1YWwodmFsdWUsIG1fb3V0
LmNvbnN0SW50NjQoSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbih0cnVlKSkpKSwKQEAgLTEwNDA1
LDEzICsxMDQwNSwxMyBAQCBwcml2YXRlOgogICAgICAgICAgICAgdW5zdXJlKGxlZnRDZWxsQ2Fz
ZSksIHVuc3VyZShsZWZ0Tm90Q2VsbENhc2UpKTsKICAgICAgICAgCiAgICAgICAgIExCYXNpY0Js
b2NrIGxhc3ROZXh0ID0gbV9vdXQuYXBwZW5kVG8obGVmdENlbGxDYXNlLCBsZWZ0Tm90Q2VsbENh
c2UpOwotICAgICAgICBzcGVjdWxhdGVUcnV0aHlPYmplY3QobGVmdENoaWxkLCBsZWZ0VmFsdWUs
IFNwZWNPYmplY3QgfCAoflNwZWNDZWxsKSk7CisgICAgICAgIHNwZWN1bGF0ZVRydXRoeU9iamVj
dChsZWZ0Q2hpbGQsIGxlZnRWYWx1ZSwgU3BlY09iamVjdCB8ICh+U3BlY0NlbGxPckVtcHR5KSk7
CiAgICAgICAgIFZhbHVlRnJvbUJsb2NrIGNlbGxSZXN1bHQgPSBtX291dC5hbmNob3IobV9vdXQu
ZXF1YWwocmlnaHRDZWxsLCBsZWZ0VmFsdWUpKTsKICAgICAgICAgbV9vdXQuanVtcChjb250aW51
YXRpb24pOwogICAgICAgICAKICAgICAgICAgbV9vdXQuYXBwZW5kVG8obGVmdE5vdENlbGxDYXNl
LCBjb250aW51YXRpb24pOwogICAgICAgICBGVExfVFlQRV9DSEVDSygKLSAgICAgICAgICAgIGpz
VmFsdWVWYWx1ZShsZWZ0VmFsdWUpLCBsZWZ0Q2hpbGQsIFNwZWNPdGhlciB8IFNwZWNDZWxsLCBp
c05vdE90aGVyKGxlZnRWYWx1ZSkpOworICAgICAgICAgICAganNWYWx1ZVZhbHVlKGxlZnRWYWx1
ZSksIGxlZnRDaGlsZCwgU3BlY090aGVyIHwgU3BlY0NlbGxPckVtcHR5LCBpc05vdE90aGVyKGxl
ZnRWYWx1ZSkpOwogICAgICAgICBWYWx1ZUZyb21CbG9jayBub3RDZWxsUmVzdWx0ID0gbV9vdXQu
YW5jaG9yKG1fb3V0LmJvb2xlYW5GYWxzZSk7CiAgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0
aW9uKTsKICAgICAgICAgCkBAIC0xMTE4MSwxNCArMTExODEsMTQgQEAgcHJpdmF0ZToKICAgICAg
ICAgICAgIAogICAgICAgICAgICAgTEJhc2ljQmxvY2sgbGFzdE5leHQgPSBtX291dC5hcHBlbmRU
byhjZWxsQ2FzZSwgbm90Q2VsbENhc2UpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBGVExf
VFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCAoflNwZWNDZWxsKSB8IFNwZWNT
dHJpbmcsIGlzTm90U3RyaW5nKHZhbHVlKSk7CisgICAgICAgICAgICBGVExfVFlQRV9DSEVDSyhq
c1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCAoflNwZWNDZWxsT3JFbXB0eSkgfCBTcGVjU3RyaW5n
LCBpc05vdFN0cmluZyh2YWx1ZSkpOwogICAgICAgICAgICAgTFZhbHVlIGxlbmd0aCA9IG1fb3V0
LmxvYWQzMk5vbk5lZ2F0aXZlKHZhbHVlLCBtX2hlYXBzLkpTU3RyaW5nX2xlbmd0aCk7CiAgICAg
ICAgICAgICBWYWx1ZUZyb21CbG9jayBjZWxsUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1fb3V0Lm5v
dEVxdWFsKGxlbmd0aCwgbV9vdXQuaW50MzJaZXJvKSk7CiAgICAgICAgICAgICBtX291dC5qdW1w
KGNvbnRpbnVhdGlvbik7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRv
KG5vdENlbGxDYXNlLCBjb250aW51YXRpb24pOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBG
VExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCBTcGVjQ2VsbCB8IFNwZWNP
dGhlciwgaXNOb3RPdGhlcih2YWx1ZSkpOworICAgICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNW
YWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgU3BlY0NlbGxPckVtcHR5IHwgU3BlY090aGVyLCBpc05v
dE90aGVyKHZhbHVlKSk7CiAgICAgICAgICAgICBWYWx1ZUZyb21CbG9jayBub3RDZWxsUmVzdWx0
ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmJvb2xlYW5GYWxzZSk7CiAgICAgICAgICAgICBtX291dC5q
dW1wKGNvbnRpbnVhdGlvbik7CiAgICAgICAgICAgICBtX291dC5hcHBlbmRUbyhjb250aW51YXRp
b24sIGxhc3ROZXh0KTsKQEAgLTExMzMxLDcgKzExMzMxLDcgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIENlbGxDYXNlU3BlY3VsYXRlc09iamVjdDoKICAgICAg
ICAgICAgIEZUTF9UWVBFX0NIRUNLKAotICAgICAgICAgICAgICAgIGpzVmFsdWVWYWx1ZSh2YWx1
ZSksIGVkZ2UsICh+U3BlY0NlbGwpIHwgU3BlY09iamVjdCwgaXNOb3RPYmplY3QodmFsdWUpKTsK
KyAgICAgICAgICAgICAgICBqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCAoflNwZWNDZWxsT3JF
bXB0eSkgfCBTcGVjT2JqZWN0LCBpc05vdE9iamVjdCh2YWx1ZSkpOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KICAgICAgICAgCkBAIC0xMTM3Niw3ICsxMTM3Niw3IEBAIHByaXZhdGU6
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBTcGVjdWxhdGVOdWxsT3JVbmRlZmlu
ZWQ6CiAgICAgICAgICAgICBGVExfVFlQRV9DSEVDSygKLSAgICAgICAgICAgICAgICBqc1ZhbHVl
VmFsdWUodmFsdWUpLCBlZGdlLCBTcGVjQ2VsbCB8IFNwZWNPdGhlciwgaXNOb3RPdGhlcih2YWx1
ZSkpOworICAgICAgICAgICAgICAgIGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsIFNwZWNDZWxs
T3JFbXB0eSB8IFNwZWNPdGhlciwgaXNOb3RPdGhlcih2YWx1ZSkpOwogICAgICAgICAgICAgcHJp
bWl0aXZlUmVzdWx0ID0gbV9vdXQuYm9vbGVhblRydWU7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQpAQCAtMTI0NDAsMTEgKzEyNDQwLDExIEBAIHByaXZhdGU6CiAgICAgICAgIGlmIChp
c1ZhbGlkKHZhbHVlKSkgewogICAgICAgICAgICAgTFZhbHVlIHVuY2hlY2tlZFZhbHVlID0gdmFs
dWUudmFsdWUoKTsKICAgICAgICAgICAgIEZUTF9UWVBFX0NIRUNLKAotICAgICAgICAgICAgICAg
IGpzVmFsdWVWYWx1ZSh1bmNoZWNrZWRWYWx1ZSksIGVkZ2UsIFNwZWNDZWxsLCBpc05vdENlbGwo
dW5jaGVja2VkVmFsdWUpKTsKKyAgICAgICAgICAgICAgICBqc1ZhbHVlVmFsdWUodW5jaGVja2Vk
VmFsdWUpLCBlZGdlLCBTcGVjQ2VsbE9yRW1wdHksIGlzTm90Q2VsbCh1bmNoZWNrZWRWYWx1ZSkp
OwogICAgICAgICAgICAgcmV0dXJuIHVuY2hlY2tlZFZhbHVlOwogICAgICAgICB9CiAgICAgICAg
IAotICAgICAgICBERkdfQVNTRVJUKG1fZ3JhcGgsIG1fbm9kZSwgIShwcm92ZW5UeXBlKGVkZ2Up
ICYgU3BlY0NlbGwpKTsKKyAgICAgICAgREZHX0FTU0VSVChtX2dyYXBoLCBtX25vZGUsICEocHJv
dmVuVHlwZShlZGdlKSAmIFNwZWNDZWxsT3JFbXB0eSkpOwogICAgICAgICB0ZXJtaW5hdGUoVW5j
b3VudGFibGUpOwogICAgICAgICByZXR1cm4gbV9vdXQuaW50UHRyWmVybzsKICAgICB9CkBAIC0x
MjU5OSw3ICsxMjU5OSw3IEBAIHByaXZhdGU6CiAgICAgTFZhbHVlIGxvd05vdENlbGwoRWRnZSBl
ZGdlKQogICAgIHsKICAgICAgICAgTFZhbHVlIHJlc3VsdCA9IGxvd0pTVmFsdWUoZWRnZSwgTWFu
dWFsT3BlcmFuZFNwZWN1bGF0aW9uKTsKLSAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZh
bHVlKHJlc3VsdCksIGVkZ2UsIH5TcGVjQ2VsbCwgaXNDZWxsKHJlc3VsdCkpOworICAgICAgICBG
VExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUocmVzdWx0KSwgZWRnZSwgflNwZWNDZWxsT3JFbXB0
eSwgaXNDZWxsKHJlc3VsdCkpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAK
QEAgLTEyNzAwLDEzICsxMjcwMCwxMyBAQCBwcml2YXRlOgogICAgIAogICAgIExWYWx1ZSBpc0Nl
bGxPck1pc2MoTFZhbHVlIGpzVmFsdWUsIFNwZWN1bGF0ZWRUeXBlIHR5cGUgPSBTcGVjRnVsbFRv
cCkKICAgICB7Ci0gICAgICAgIGlmIChMVmFsdWUgcHJvdmVuID0gaXNQcm92ZW5WYWx1ZSh0eXBl
LCBTcGVjQ2VsbCB8IFNwZWNNaXNjKSkKKyAgICAgICAgaWYgKExWYWx1ZSBwcm92ZW4gPSBpc1By
b3ZlblZhbHVlKHR5cGUsIFNwZWNDZWxsT3JFbXB0eSB8IFNwZWNNaXNjKSkKICAgICAgICAgICAg
IHJldHVybiBwcm92ZW47CiAgICAgICAgIHJldHVybiBtX291dC50ZXN0SXNaZXJvNjQoanNWYWx1
ZSwgbV90YWdUeXBlTnVtYmVyKTsKICAgICB9CiAgICAgTFZhbHVlIGlzTm90Q2VsbE9yTWlzYyhM
VmFsdWUganNWYWx1ZSwgU3BlY3VsYXRlZFR5cGUgdHlwZSA9IFNwZWNGdWxsVG9wKQogICAgIHsK
LSAgICAgICAgaWYgKExWYWx1ZSBwcm92ZW4gPSBpc1Byb3ZlblZhbHVlKHR5cGUsIH4oU3BlY0Nl
bGwgfCBTcGVjTWlzYykpKQorICAgICAgICBpZiAoTFZhbHVlIHByb3ZlbiA9IGlzUHJvdmVuVmFs
dWUodHlwZSwgfihTcGVjQ2VsbE9yRW1wdHkgfCBTcGVjTWlzYykpKQogICAgICAgICAgICAgcmV0
dXJuIHByb3ZlbjsKICAgICAgICAgcmV0dXJuIG1fb3V0LnRlc3ROb25aZXJvNjQoanNWYWx1ZSwg
bV90YWdUeXBlTnVtYmVyKTsKICAgICB9CkBAIC0xMjgwNywxNCArMTI4MDcsMTQgQEAgcHJpdmF0
ZToKICAgICAKICAgICBMVmFsdWUgaXNOb3RDZWxsKExWYWx1ZSBqc1ZhbHVlLCBTcGVjdWxhdGVk
VHlwZSB0eXBlID0gU3BlY0Z1bGxUb3ApCiAgICAgewotICAgICAgICBpZiAoTFZhbHVlIHByb3Zl
biA9IGlzUHJvdmVuVmFsdWUodHlwZSwgflNwZWNDZWxsKSkKKyAgICAgICAgaWYgKExWYWx1ZSBw
cm92ZW4gPSBpc1Byb3ZlblZhbHVlKHR5cGUsIH5TcGVjQ2VsbE9yRW1wdHkpKQogICAgICAgICAg
ICAgcmV0dXJuIHByb3ZlbjsKICAgICAgICAgcmV0dXJuIG1fb3V0LnRlc3ROb25aZXJvNjQoanNW
YWx1ZSwgbV90YWdNYXNrKTsKICAgICB9CiAgICAgCiAgICAgTFZhbHVlIGlzQ2VsbChMVmFsdWUg
anNWYWx1ZSwgU3BlY3VsYXRlZFR5cGUgdHlwZSA9IFNwZWNGdWxsVG9wKQogICAgIHsKLSAgICAg
ICAgaWYgKExWYWx1ZSBwcm92ZW4gPSBpc1Byb3ZlblZhbHVlKHR5cGUsIFNwZWNDZWxsKSkKKyAg
ICAgICAgaWYgKExWYWx1ZSBwcm92ZW4gPSBpc1Byb3ZlblZhbHVlKHR5cGUsIFNwZWNDZWxsT3JF
bXB0eSkpCiAgICAgICAgICAgICByZXR1cm4gcHJvdmVuOwogICAgICAgICByZXR1cm4gbV9vdXQu
dGVzdElzWmVybzY0KGpzVmFsdWUsIG1fdGFnTWFzayk7CiAgICAgfQpAQCAtMTMwMjQsNyArMTMw
MjQsNyBAQCBwcml2YXRlOgogICAgICAgICBtX291dC5icmFuY2goaXNDZWxsKHZhbHVlLCBwcm92
ZW5UeXBlKGVkZ2UpKSwgdW5zdXJlKGNvbnRpbnVhdGlvbiksIHVuc3VyZShpc05vdENlbGwpKTsK
IAogICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKGlzTm90Q2Vs
bCwgY29udGludWF0aW9uKTsKLSAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZh
bHVlKSwgZWRnZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIsIGlzTm90T3RoZXIodmFsdWUpKTsKKyAg
ICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgU3BlY0NlbGxP
ckVtcHR5IHwgU3BlY090aGVyLCBpc05vdE90aGVyKHZhbHVlKSk7CiAgICAgICAgIG1fb3V0Lmp1
bXAoY29udGludWF0aW9uKTsKIAogICAgICAgICBtX291dC5hcHBlbmRUbyhjb250aW51YXRpb24s
IGxhc3ROZXh0KTsKQEAgLTEzMjU4LDE0ICsxMzI1OCwxNCBAQCBwcml2YXRlOgogICAgICAgICBM
QmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKGNlbGxDYXNlLCBwcmltaXRpdmVD
YXNlKTsKICAgICAgICAgCiAgICAgICAgIEZUTF9UWVBFX0NIRUNLKAotICAgICAgICAgICAganNW
YWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgKH5TcGVjQ2VsbCkgfCBTcGVjT2JqZWN0LCBpc05vdE9i
amVjdCh2YWx1ZSkpOworICAgICAgICAgICAganNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgKH5T
cGVjQ2VsbE9yRW1wdHkpIHwgU3BlY09iamVjdCwgaXNOb3RPYmplY3QodmFsdWUpKTsKICAgICAg
ICAgCiAgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKICAgICAgICAgCiAgICAgICAg
IG1fb3V0LmFwcGVuZFRvKHByaW1pdGl2ZUNhc2UsIGNvbnRpbnVhdGlvbik7CiAgICAgICAgIAog
ICAgICAgICBGVExfVFlQRV9DSEVDSygKLSAgICAgICAgICAgIGpzVmFsdWVWYWx1ZSh2YWx1ZSks
IGVkZ2UsIFNwZWNDZWxsIHwgU3BlY090aGVyLCBpc05vdE90aGVyKHZhbHVlKSk7CisgICAgICAg
ICAgICBqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCBTcGVjQ2VsbE9yRW1wdHkgfCBTcGVjT3Ro
ZXIsIGlzTm90T3RoZXIodmFsdWUpKTsKICAgICAgICAgCiAgICAgICAgIG1fb3V0Lmp1bXAoY29u
dGludWF0aW9uKTsKICAgICAgICAgCkBAIC0xMzM0MCw3ICsxMzM0MCw3IEBAIHByaXZhdGU6CiAg
ICAgCiAgICAgdm9pZCBzcGVjdWxhdGVTdHJpbmcoRWRnZSBlZGdlLCBMVmFsdWUgY2VsbCkKICAg
ICB7Ci0gICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZShjZWxsKSwgZWRnZSwgU3Bl
Y1N0cmluZyB8IH5TcGVjQ2VsbCwgaXNOb3RTdHJpbmcoY2VsbCkpOworICAgICAgICBGVExfVFlQ
RV9DSEVDSyhqc1ZhbHVlVmFsdWUoY2VsbCksIGVkZ2UsIFNwZWNTdHJpbmcsIGlzTm90U3RyaW5n
KGNlbGwpKTsKICAgICB9CiAgICAgCiAgICAgdm9pZCBzcGVjdWxhdGVTdHJpbmcoRWRnZSBlZGdl
KQpAQCAtMTMzNTgsMTIgKzEzMzU4LDEyIEBAIHByaXZhdGU6CiAKICAgICAgICAgTEJhc2ljQmxv
Y2sgbGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyhjZWxsQ2FzZSwgbm90Q2VsbENhc2UpOwogCi0g
ICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsICh+U3BlY0Nl
bGwpIHwgU3BlY1N0cmluZywgaXNOb3RTdHJpbmcodmFsdWUpKTsKKyAgICAgICAgRlRMX1RZUEVf
Q0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgKH5TcGVjQ2VsbE9yRW1wdHkpIHwgU3Bl
Y1N0cmluZywgaXNOb3RTdHJpbmcodmFsdWUpKTsKIAogICAgICAgICBtX291dC5qdW1wKGNvbnRp
bnVhdGlvbik7CiAgICAgICAgIG1fb3V0LmFwcGVuZFRvKG5vdENlbGxDYXNlLCBjb250aW51YXRp
b24pOwogCi0gICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2Us
IFNwZWNDZWxsIHwgU3BlY090aGVyLCBpc05vdE90aGVyKHZhbHVlKSk7CisgICAgICAgIEZUTF9U
WVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsIFNwZWNDZWxsT3JFbXB0eSB8IFNw
ZWNPdGhlciwgaXNOb3RPdGhlcih2YWx1ZSkpOwogCiAgICAgICAgIG1fb3V0Lmp1bXAoY29udGlu
dWF0aW9uKTsKICAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7
CkBAIC0xMzQ0NCw3ICsxMzQ0NCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNwZWN1bGF0ZVN5
bWJvbChFZGdlIGVkZ2UsIExWYWx1ZSBjZWxsKQogICAgIHsKLSAgICAgICAgRlRMX1RZUEVfQ0hF
Q0soanNWYWx1ZVZhbHVlKGNlbGwpLCBlZGdlLCBTcGVjU3ltYm9sIHwgflNwZWNDZWxsLCBpc05v
dFN5bWJvbChjZWxsKSk7CisgICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZShjZWxs
KSwgZWRnZSwgU3BlY1N5bWJvbCwgaXNOb3RTeW1ib2woY2VsbCkpOwogICAgIH0KIAogICAgIHZv
aWQgc3BlY3VsYXRlU3ltYm9sKEVkZ2UgZWRnZSkK
</data>
<flag name="commit-queue"
          id="333287"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312357</attachid>
            <date>2017-06-08 15:44:42 -0700</date>
            <delta_ts>2017-06-08 16:30:07 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>34243</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTc5NTMpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE2IEBACisyMDE3LTA2LTA4ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFdlIHNob3VsZCBub3QgY2xhaW0gdGhhdCBTcGVjRW1wdHkgaXMgZmls
dGVyZWQgb3V0IG9mIGNlbGwgY2hlY2tzIG9uIDY0IGJpdCBwbGF0Zm9ybXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Mjk1NworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzI2MDI3MDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBzdHJlc3Mvc3BlYy1lbXB0eS1mbG93cy10aHJvdWdoLWNlbGwtY2hl
Y2tzLmpzOiBBZGRlZC4KKyAgICAgICAgKEEpOgorICAgICAgICAoQik6CisgICAgICAgIChpLmNh
dGNoKToKKwogMjAxNy0wNi0wOCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWJBc3NlbWJseTogV2Ugc2hvdWxkIG9ubHkgY3JlYXRlIHdyYXBwZXJz
IGZvciBmdW5jdGlvbnMgdGhhdCBjYW4gYmUgZXhwb3J0ZWQKSW5kZXg6IEpTVGVzdHMvc3RyZXNz
L3NwZWMtZW1wdHktZmxvd3MtdGhyb3VnaC1jZWxsLWNoZWNrcy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3N0cmVzcy9zcGVjLWVtcHR5LWZsb3dzLXRocm91Z2gtY2VsbC1jaGVja3MuanMJKG5v
bmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3Mvc3BlYy1lbXB0eS1mbG93cy10aHJvdWdoLWNl
bGwtY2hlY2tzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjQgQEAKKy8vIFRoaXMgdGVz
dCBzaG91bGRuJ3QgY3Jhc2guCisKK2NsYXNzIEEgeyB9OworCitjbGFzcyBCIGV4dGVuZHMgQSB7
CisgICAgY29uc3RydWN0b3IoYSwgYikgeworICAgICAgICB2YXIgZiA9ICgpID0+IGIgPyB0aGlz
IDoge307CisgICAgICAgIGlmIChhKSB7CisgICAgICAgICAgICB2YXIgdmFsID0gZigpID09IHN1
cGVyKCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzdXBlcigpOworICAgICAgICAg
ICAgdmFyIHZhbCA9IGYoKTsKKyAgICAgICAgfQorICAgIH0KK307CisKK2ZvciAodmFyIGk9MDsg
aSA8IDEwMDAwOyBpKyspIHsKKyAgICB0cnkgeworICAgICAgICBuZXcgQih0cnVlLCB0cnVlKTsK
KyAgICB9IGNhdGNoIChlKSB7CisgICAgfQorICAgIHZhciBhID0gbmV3IEIoZmFsc2UsIHRydWUp
OworICAgIHZhciBjID0gbmV3IEIodHJ1ZSwgZmFsc2UpOworfQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyMTc4OTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsODEgQEAKKzIwMTctMDYtMDggIFNhYW0g
QmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CisKKyAgICAgICAgV2Ugc2hvdWxkIG5vdCBjbGFp
bSB0aGF0IFNwZWNFbXB0eSBpcyBmaWx0ZXJlZCBvdXQgb2YgY2VsbCBjaGVja3Mgb24gNjQgYml0
IHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcyOTU3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMjYwMjcwND4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb25zaWRlciB0aGlzIHByb2dy
YW06CisgICAgICAgIGBgYAorICAgICAgICBibG9jayMxOgorICAgICAgICBuOiBHZXRDbG9zdXJl
VmFyKC4uLiwgfHRoaXN8KSAvLyB0aGlzIHdpbGwgbG9hZCBlbXB0eSBKU1ZhbHVlKCkKKyAgICAg
ICAgU2V0TG9jYWwoQ2VsbDpAbiwgbG9jRm9vKSAvLyBDZWxsIGNoZWNrIHN1Y2NlZWRzIGJlY2F1
c2UgSlNWYWx1ZSgpIGxvb2tzIGxpa2UgYSBjZWxsCisgICAgICAgIEJyYW5jaCgjMiwgIzMpCisg
ICAgICAgIAorICAgICAgICBCbG9jayMzOgorICAgICAgICB4OiBHZXRMb2NhbChsb2NGb28pCisg
ICAgICAgIHk6IENoZWNrTm90RW1wdHkoQHgpCisgICAgICAgIGBgYAorICAgICAgICAKKyAgICAg
ICAgSWYgd2UgY2xhaW0gdGhhdCBhIGNlbGwgY2hlY2sgZmlsdGVycyBvdXQgdGhlIGVtcHR5IHZh
bHVlLCB3ZSB3aWxsCisgICAgICAgIGluY29ycmVjdGx5IGVsaW1pbmF0ZSB0aGUgQ2hlY2tOb3RF
bXB0eSBub2RlIEB5LiBUaGlzIGZpeGVkIEFJLAorICAgICAgICBGVExMb3dlckRGR1RvQjMsIGFu
ZCBERkdTcGVjSklUIHRvIG5vIGxvbmdlciBtYWtlIHRoaXMgY2xhaW0uCisgICAgICAgIAorICAg
ICAgICAtIENlbGwgdXNlIGtpbmQgKm5vdyBhbGxvd3MqIHRoZSBlbXB0eSB2YWx1ZSB0byBwYXNz
IHRocm91Z2gKKyAgICAgICAgLSBDZWxsT3JPdGhlciB1c2Uga2luZCAqbm93IGFsbG93cyogZm9y
IHRoZSBlbXB0eSB2YWx1ZSB0byBwYXNzIHRocm91Z2gKKyAgICAgICAgLSBOb3RDZWxsIHVzZSBr
aW5kICpubyBsb25nZXIgYWxsb3dzKiB0aGUgZW1wdHkgdmFsdWUgdG8gcGFzcyB0aHJvdWdoLgor
CisgICAgICAgICogYXNzZW1ibGVyL0NQVS5oOgorICAgICAgICAoSlNDOjppc0FSTXY3SURJVlN1
cHBvcnRlZCk6CisgICAgICAgIChKU0M6OmlzQVJNNjQpOgorICAgICAgICAoSlNDOjppc1g4Nik6
CisgICAgICAgIChKU0M6OmlzWDg2XzY0KToKKyAgICAgICAgKEpTQzo6aXM2NEJpdCk6CisgICAg
ICAgIChKU0M6OmlzMzJCaXQpOgorICAgICAgICAoSlNDOjppc01JUFMpOgorICAgICAgICAqIGJ5
dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmg6CisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0SW50ZXJw
cmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RJbnRlcnByZXRlcjxB
YnN0cmFjdFN0YXRlVHlwZT46OnZlcmlmeUVkZ2UpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxh
dGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVW
YWx1ZVRvSW50MzIpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxl
RG91YmxlUmVwKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUxv
Z2ljYWxOb3RTdHJpbmdPck90aGVyKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJ
VDo6ZW1pdFN0cmluZ09yT3RoZXJCcmFuY2gpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0
aXZlSklUOjpzcGVjdWxhdGVDZWxsKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJ
VDo6c3BlY3VsYXRlQ2VsbE9yT3RoZXIpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZl
SklUOjpzcGVjdWxhdGVPYmplY3RPck90aGVyKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxh
dGl2ZUpJVDo6c3BlY3VsYXRlU3RyaW5nKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2
ZUpJVDo6c3BlY3VsYXRlU3RyaW5nT3JPdGhlcik6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3Vs
YXRpdmVKSVQ6OnNwZWN1bGF0ZVN5bWJvbCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRp
dmVKSVQ6OnNwZWN1bGF0ZU5vdENlbGwpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5oOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpT
Qzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0ZUNlbGwpOgorICAgICAgICAoSlND
OjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlT2JqZWN0VG9PYmplY3RPck90aGVyRXF1YWxp
dHkpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlUGVlcEhvbGVP
YmplY3RUb09iamVjdE9yT3RoZXJFcXVhbGl0eSk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGVPYmplY3RPck90aGVyTG9naWNhbE5vdCk6CisgICAgICAgIChKU0M6
OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmVtaXRPYmplY3RPck90aGVyQnJhbmNoKToKKyAgICAgICAg
KiBkZmcvREZHVXNlS2luZC5oOgorICAgICAgICAoSlNDOjpERkc6OnR5cGVGaWx0ZXJGb3IpOgor
ICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRG
Rzo6TG93ZXJERkdUb0IzOjpjb21waWxlRG91YmxlUmVwKToKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6bnVtYmVyT3JOb3RDZWxsVG9JbnQzMik6CisgICAgICAgIChKU0M6
OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBhcmVFcU9iamVjdE9yT3RoZXJUb09iamVjdCk6
CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmJvb2xpZnkpOgorICAgICAg
ICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjplcXVhbE51bGxPclVuZGVmaW5lZCk6Cisg
ICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6Omxvd0NlbGwpOgorICAgICAgICAo
SlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpsb3dOb3RDZWxsKToKKyAgICAgICAgKEpTQzo6
RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6aXNDZWxsT3JNaXNjKToKKyAgICAgICAgKEpTQzo6RlRM
OjpERkc6Okxvd2VyREZHVG9CMzo6aXNOb3RDZWxsT3JNaXNjKToKKyAgICAgICAgKEpTQzo6RlRM
OjpERkc6Okxvd2VyREZHVG9CMzo6aXNOb3RDZWxsKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6
Okxvd2VyREZHVG9CMzo6aXNDZWxsKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZH
VG9CMzo6c3BlY3VsYXRlQ2VsbE9yT3RoZXIpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93
ZXJERkdUb0IzOjpzcGVjdWxhdGVPYmplY3RPck90aGVyKToKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6c3BlY3VsYXRlU3RyaW5nKToKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6c3BlY3VsYXRlU3RyaW5nT3JPdGhlcik6CisgICAgICAgIChKU0M6
OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OnNwZWN1bGF0ZVN5bWJvbCk6CisKIDIwMTctMDYtMDcg
IFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgW0pTQ10g
aGFzX2dlbmVyaWNfcHJvcGVydHkgbmV2ZXIgYWNjZXB0cyBub24tU3RyaW5nCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0NQVS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQ1BVLmgJKHJldmlzaW9uIDIxNzg5NCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQ1BVLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcg
KzI5LDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWlubGluZSBib29sIGlzQVJNdjdJRElWU3Vw
cG9ydGVkKCkKK2NvbnN0ZXhwciBib29sIGlzQVJNdjdJRElWU3VwcG9ydGVkKCkKIHsKICNpZiBI
QVZFKEFSTV9JRElWX0lOU1RSVUNUSU9OUykKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTM4LDcgKzM4
LDcgQEAgaW5saW5lIGJvb2wgaXNBUk12N0lESVZTdXBwb3J0ZWQoKQogI2VuZGlmCiB9CiAKLWlu
bGluZSBib29sIGlzQVJNNjQoKQorY29uc3RleHByIGJvb2wgaXNBUk02NCgpCiB7CiAjaWYgQ1BV
KEFSTTY0KQogICAgIHJldHVybiB0cnVlOwpAQCAtNDcsNyArNDcsNyBAQCBpbmxpbmUgYm9vbCBp
c0FSTTY0KCkKICNlbmRpZgogfQogCi1pbmxpbmUgYm9vbCBpc1g4NigpCitjb25zdGV4cHIgYm9v
bCBpc1g4NigpCiB7CiAjaWYgQ1BVKFg4Nl82NCkgfHwgQ1BVKFg4NikKICAgICByZXR1cm4gdHJ1
ZTsKQEAgLTU2LDcgKzU2LDcgQEAgaW5saW5lIGJvb2wgaXNYODYoKQogI2VuZGlmCiB9CiAKLWlu
bGluZSBib29sIGlzWDg2XzY0KCkKK2NvbnN0ZXhwciBib29sIGlzWDg2XzY0KCkKIHsKICNpZiBD
UFUoWDg2XzY0KQogICAgIHJldHVybiB0cnVlOwpAQCAtNjUsNyArNjUsNyBAQCBpbmxpbmUgYm9v
bCBpc1g4Nl82NCgpCiAjZW5kaWYKIH0KIAotaW5saW5lIGJvb2wgaXM2NEJpdCgpCitjb25zdGV4
cHIgYm9vbCBpczY0Qml0KCkKIHsKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgIHJldHVybiB0cnVl
OwpAQCAtNzQsMTIgKzc0LDEyIEBAIGlubGluZSBib29sIGlzNjRCaXQoKQogI2VuZGlmCiB9CiAK
LWlubGluZSBib29sIGlzMzJCaXQoKQorY29uc3RleHByIGJvb2wgaXMzMkJpdCgpCiB7CiAgICAg
cmV0dXJuICFpczY0Qml0KCk7CiB9CiAKLWlubGluZSBib29sIGlzTUlQUygpCitjb25zdGV4cHIg
Ym9vbCBpc01JUFMoKQogewogI2lmIENQVShNSVBTKQogICAgIHJldHVybiB0cnVlOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmgJKHJl
dmlzaW9uIDIxNzg5NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TcGVjdWxh
dGVkVHlwZS5oCSh3b3JraW5nIGNvcHkpCkBAIC05Miw2ICs5Miw3IEBAIHN0YXRpYyBjb25zdCBT
cGVjdWxhdGVkVHlwZSBTcGVjUHJpbWl0aXYKIHN0YXRpYyBjb25zdCBTcGVjdWxhdGVkVHlwZSBT
cGVjRW1wdHkgICAgICAgICAgICAgID0gMXVsbCA8PCAzNDsgLy8gSXQncyBkZWZpbml0ZWx5IGFu
IGVtcHR5IHZhbHVlIG1hcmtlci4KIHN0YXRpYyBjb25zdCBTcGVjdWxhdGVkVHlwZSBTcGVjQnl0
ZWNvZGVUb3AgICAgICAgID0gU3BlY0hlYXBUb3AgfCBTcGVjRW1wdHk7IC8vIEl0IGNhbiBiZSBh
bnkgb2YgdGhlIGFib3ZlLCBleGNlcHQgZm9yIFNwZWNJbnQ1Mk9ubHkgYW5kIFNwZWNEb3VibGVJ
bXB1cmVOYU4uIENvcnJlc3BvbmRzIHRvIHdoYXQgY291bGQgYmUgZm91bmQgaW4gYSBieXRlY29k
ZSBsb2NhbC4KIHN0YXRpYyBjb25zdCBTcGVjdWxhdGVkVHlwZSBTcGVjRnVsbFRvcCAgICAgICAg
ICAgID0gU3BlY0J5dGVjb2RlVG9wIHwgU3BlY0Z1bGxOdW1iZXI7IC8vIEl0IGNhbiBiZSBhbnl0
aGluZyB0aGF0IGJ5dGVjb2RlIGNvdWxkIHNlZSBwbHVzIGV4b3RpYyBlbmNvZGluZ3Mgb2YgbnVt
YmVycy4KK3N0YXRpYyBjb25zdCBTcGVjdWxhdGVkVHlwZSBTcGVjQ2VsbE9yRW1wdHkgICAgICAg
ID0gU3BlY0NlbGwgfCBTcGVjRW1wdHk7CiAKIHR5cGVkZWYgYm9vbCAoKlNwZWN1bGF0ZWRUeXBl
Q2hlY2tlcikoU3BlY3VsYXRlZFR5cGUpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCShyZXZp
c2lvbiAyMTc4OTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50
ZXJwcmV0ZXJJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMSw2ICsxMzEsNyBAQCB2b2lk
IEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5CiAgICAgaWYgKCEoZm9yTm9kZShl
ZGdlKS5tX3R5cGUgJiB+dHlwZUZpbHRlckZvcihlZGdlLnVzZUtpbmQoKSkpKQogICAgICAgICBy
ZXR1cm47CiAgICAgCisgICAgV1RGUmVwb3J0QmFja3RyYWNlKCk7CiAgICAgREZHX0NSQVNIKG1f
Z3JhcGgsIG5vZGUsIHRvQ1N0cmluZygiRWRnZSB2ZXJpZmljYXRpb24gZXJyb3I6ICIsIG5vZGUs
ICItPiIsIGVkZ2UsICIgd2FzIGV4cGVjdGVkIHRvIGhhdmUgdHlwZSAiLCBTcGVjdWxhdGlvbkR1
bXAodHlwZUZpbHRlckZvcihlZGdlLnVzZUtpbmQoKSkpLCAiIGJ1dCBoYXMgdHlwZSAiLCBTcGVj
dWxhdGlvbkR1bXAoZm9yTm9kZShlZGdlKS5tX3R5cGUpLCAiICgiLCBmb3JOb2RlKGVkZ2UpLm1f
dHlwZSwgIikiKS5kYXRhKCkpOwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlzaW9uIDIxNzg5NCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEzNzEsOSArMTM3MSw5IEBAIEdQUlJlZyBTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNw
ZWN1bGF0ZUNlbGwKIHsKICAgICBBYnN0cmFjdFZhbHVlJiB2YWx1ZSA9IG1fc3RhdGUuZm9yTm9k
ZShlZGdlKTsKICAgICBTcGVjdWxhdGVkVHlwZSB0eXBlID0gdmFsdWUubV90eXBlOwotICAgIEFT
U0VSVCgoZWRnZS51c2VLaW5kKCkgIT0gS25vd25DZWxsVXNlICYmIGVkZ2UudXNlS2luZCgpICE9
IEtub3duU3RyaW5nVXNlKSB8fCAhKHZhbHVlLm1fdHlwZSAmIH5TcGVjQ2VsbCkpOworICAgIEFT
U0VSVCgoZWRnZS51c2VLaW5kKCkgIT0gS25vd25DZWxsVXNlICYmIGVkZ2UudXNlS2luZCgpICE9
IEtub3duU3RyaW5nVXNlKSB8fCAhKHZhbHVlLm1fdHlwZSAmIH5jZWxsQ2hlY2tUeXBlUGFzc3Ro
cm91Z2gpKTsKIAotICAgIG1faW50ZXJwcmV0ZXIuZmlsdGVyKHZhbHVlLCBTcGVjQ2VsbCk7Cisg
ICAgbV9pbnRlcnByZXRlci5maWx0ZXIodmFsdWUsIGNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCk7
CiAgICAgaWYgKHZhbHVlLmlzQ2xlYXIoKSkgewogICAgICAgICB0ZXJtaW5hdGVTcGVjdWxhdGl2
ZUV4ZWN1dGlvbihVbmNvdW50YWJsZSwgSlNWYWx1ZVJlZ3MoKSwgMCk7CiAgICAgICAgIHJldHVy
biBhbGxvY2F0ZSgpOwpAQCAtMTM5OCw3ICsxMzk4LDcgQEAgR1BSUmVnIFNwZWN1bGF0aXZlSklU
OjpmaWxsU3BlY3VsYXRlQ2VsbAogICAgICAgICBtX2ppdC5sb2FkNjQoSklUQ29tcGlsZXI6OmFk
ZHJlc3NGb3IodmlydHVhbFJlZ2lzdGVyKSwgZ3ByKTsKIAogICAgICAgICBpbmZvLmZpbGxKU1Zh
bHVlKCptX3N0cmVhbSwgZ3ByLCBEYXRhRm9ybWF0SlMpOwotICAgICAgICBpZiAodHlwZSAmIH5T
cGVjQ2VsbCkKKyAgICAgICAgaWYgKHR5cGUgJiB+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKQog
ICAgICAgICAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRUeXBlLCBKU1ZhbHVlUmVncyhncHIpLCBl
ZGdlLCBtX2ppdC5icmFuY2hJZk5vdENlbGwoSlNWYWx1ZVJlZ3MoZ3ByKSkpOwogICAgICAgICBp
bmZvLmZpbGxKU1ZhbHVlKCptX3N0cmVhbSwgZ3ByLCBEYXRhRm9ybWF0SlNDZWxsKTsKICAgICAg
ICAgcmV0dXJuIGdwcjsKQEAgLTE0MTksNyArMTQxOSw3IEBAIEdQUlJlZyBTcGVjdWxhdGl2ZUpJ
VDo6ZmlsbFNwZWN1bGF0ZUNlbGwKICAgICBjYXNlIERhdGFGb3JtYXRKUzogewogICAgICAgICBH
UFJSZWcgZ3ByID0gaW5mby5ncHIoKTsKICAgICAgICAgbV9ncHJzLmxvY2soZ3ByKTsKLSAgICAg
ICAgaWYgKHR5cGUgJiB+U3BlY0NlbGwpCisgICAgICAgIGlmICh0eXBlICYgfmNlbGxDaGVja1R5
cGVQYXNzdGhyb3VnaCkKICAgICAgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkVHlwZSwgSlNW
YWx1ZVJlZ3MoZ3ByKSwgZWRnZSwgbV9qaXQuYnJhbmNoSWZOb3RDZWxsKEpTVmFsdWVSZWdzKGdw
cikpKTsKICAgICAgICAgaW5mby5maWxsSlNWYWx1ZSgqbV9zdHJlYW0sIGdwciwgRGF0YUZvcm1h
dEpTQ2VsbCk7CiAgICAgICAgIHJldHVybiBncHI7CkBAIC0xNjMwLDEwICsxNjMwLDEwIEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVPYmplY3RUb09iamUKICAgICAvLyBXZSBrbm93IHRo
YXQgd2l0aGluIHRoaXMgYnJhbmNoLCByaWdodENoaWxkIG11c3QgYmUgYSBjZWxsLiAKICAgICBp
ZiAobWFzcXVlcmFkZXNBc1VuZGVmaW5lZFdhdGNocG9pbnRWYWxpZCkgewogICAgICAgICBERkdf
VFlQRV9DSEVDSygKLSAgICAgICAgICAgIEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQs
ICh+U3BlY0NlbGwpIHwgU3BlY09iamVjdCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3Qob3AyR1BS
KSk7CisgICAgICAgICAgICBKU1ZhbHVlUmVncyhvcDJHUFIpLCByaWdodENoaWxkLCAofmNlbGxD
aGVja1R5cGVQYXNzdGhyb3VnaCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVj
dChvcDJHUFIpKTsKICAgICB9IGVsc2UgewogICAgICAgICBERkdfVFlQRV9DSEVDSygKLSAgICAg
ICAgICAgIEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQsICh+U3BlY0NlbGwpIHwgU3Bl
Y09iamVjdCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3Qob3AyR1BSKSk7CisgICAgICAgICAgICBK
U1ZhbHVlUmVncyhvcDJHUFIpLCByaWdodENoaWxkLCAofmNlbGxDaGVja1R5cGVQYXNzdGhyb3Vn
aCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChvcDJHUFIpKTsKICAgICAg
ICAgc3BlY3VsYXRpb25DaGVjayhCYWRUeXBlLCBKU1ZhbHVlUmVncyhvcDJHUFIpLCByaWdodENo
aWxkLAogICAgICAgICAgICAgbV9qaXQuYnJhbmNoVGVzdDgoCiAgICAgICAgICAgICAgICAgTWFj
cm9Bc3NlbWJsZXI6Ok5vblplcm8sIApAQCAtMTY1MSwxMiArMTY1MSwxMiBAQCB2b2lkIFNwZWN1
bGF0aXZlSklUOjpjb21waWxlT2JqZWN0VG9PYmplCiAgICAgCiAgICAgLy8gV2Uga25vdyB0aGF0
IHdpdGhpbiB0aGlzIGJyYW5jaCwgcmlnaHRDaGlsZCBtdXN0IG5vdCBiZSBhIGNlbGwuIENoZWNr
IGlmIHRoYXQgaXMgZW5vdWdoIHRvCiAgICAgLy8gcHJvdmUgdGhhdCBpdCBpcyBlaXRoZXIgbnVs
bCBvciB1bmRlZmluZWQuCi0gICAgaWYgKG5lZWRzVHlwZUNoZWNrKHJpZ2h0Q2hpbGQsIFNwZWND
ZWxsIHwgU3BlY090aGVyKSkgeworICAgIGlmIChuZWVkc1R5cGVDaGVjayhyaWdodENoaWxkLCBj
ZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjT3RoZXIpKSB7CiAgICAgICAgIG1faml0Lm1v
dmUob3AyR1BSLCByZXN1bHRHUFIpOwogICAgICAgICBtX2ppdC5hbmQ2NChNYWNyb0Fzc2VtYmxl
cjo6VHJ1c3RlZEltbTMyKH5UYWdCaXRVbmRlZmluZWQpLCByZXN1bHRHUFIpOwogICAgICAgICAK
ICAgICAgICAgdHlwZUNoZWNrKAotICAgICAgICAgICAgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmln
aHRDaGlsZCwgU3BlY0NlbGwgfCBTcGVjT3RoZXIsCisgICAgICAgICAgICBKU1ZhbHVlUmVncyhv
cDJHUFIpLCByaWdodENoaWxkLCBjZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjT3RoZXIs
CiAgICAgICAgICAgICBtX2ppdC5icmFuY2g2NCgKICAgICAgICAgICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6Tm90RXF1YWwsIHJlc3VsdEdQUiwKICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxl
cjo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsKQEAgLTE3MDQsMTAgKzE3MDQsMTAgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVBlZXBIb2xlT2JqZQogICAgIC8vIFdlIGtub3cgdGhh
dCB3aXRoaW4gdGhpcyBicmFuY2gsIHJpZ2h0Q2hpbGQgbXVzdCBiZSBhIGNlbGwuIAogICAgIGlm
IChtYXNxdWVyYWRlc0FzVW5kZWZpbmVkV2F0Y2hwb2ludFZhbGlkKSB7CiAgICAgICAgIERGR19U
WVBFX0NIRUNLKAotICAgICAgICAgICAgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwg
KH5TcGVjQ2VsbCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChvcDJHUFIp
KTsKKyAgICAgICAgICAgIEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQsICh+Y2VsbENo
ZWNrVHlwZVBhc3N0aHJvdWdoKSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0
KG9wMkdQUikpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIERGR19UWVBFX0NIRUNLKAotICAgICAg
ICAgICAgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwgKH5TcGVjQ2VsbCkgfCBTcGVj
T2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChvcDJHUFIpKTsKKyAgICAgICAgICAgIEpT
VmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQsICh+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdo
KSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KG9wMkdQUikpOwogICAgICAg
ICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hp
bGQsCiAgICAgICAgICAgICBtX2ppdC5icmFuY2hUZXN0OCgKICAgICAgICAgICAgICAgICBNYWNy
b0Fzc2VtYmxlcjo6Tm9uWmVybywgCkBAIC0xNzIyLDcgKzE3MjIsNyBAQCB2b2lkIFNwZWN1bGF0
aXZlSklUOjpjb21waWxlUGVlcEhvbGVPYmplCiAgICAgCiAgICAgLy8gV2Uga25vdyB0aGF0IHdp
dGhpbiB0aGlzIGJyYW5jaCwgcmlnaHRDaGlsZCBtdXN0IG5vdCBiZSBhIGNlbGwuIENoZWNrIGlm
IHRoYXQgaXMgZW5vdWdoIHRvCiAgICAgLy8gcHJvdmUgdGhhdCBpdCBpcyBlaXRoZXIgbnVsbCBv
ciB1bmRlZmluZWQuCi0gICAgaWYgKCFuZWVkc1R5cGVDaGVjayhyaWdodENoaWxkLCBTcGVjQ2Vs
bCB8IFNwZWNPdGhlcikpCisgICAgaWYgKCFuZWVkc1R5cGVDaGVjayhyaWdodENoaWxkLCBjZWxs
Q2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjT3RoZXIpKQogICAgICAgICByaWdodE5vdENlbGwu
bGluaygmbV9qaXQpOwogICAgIGVsc2UgewogICAgICAgICBqdW1wKG5vdFRha2VuLCBGb3JjZUp1
bXApOwpAQCAtMTczMiw3ICsxNzMyLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVBl
ZXBIb2xlT2JqZQogICAgICAgICBtX2ppdC5hbmQ2NChNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZElt
bTMyKH5UYWdCaXRVbmRlZmluZWQpLCByZXN1bHRHUFIpOwogICAgICAgICAKICAgICAgICAgdHlw
ZUNoZWNrKAotICAgICAgICAgICAgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwgU3Bl
Y0NlbGwgfCBTcGVjT3RoZXIsIG1faml0LmJyYW5jaDY0KAorICAgICAgICAgICAgSlNWYWx1ZVJl
Z3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwgY2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoIHwgU3BlY090
aGVyLCBtX2ppdC5icmFuY2g2NCgKICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Tm90
RXF1YWwsIHJlc3VsdEdQUiwKICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3Rl
ZEltbTY0KFZhbHVlTnVsbCkpKTsKICAgICB9CkBAIC0xODY2LDEwICsxODY2LDEwIEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVPYmplY3RPck90aGUKICAgICBNYWNyb0Fzc2VtYmxlcjo6
SnVtcCBub3RDZWxsID0gbV9qaXQuYnJhbmNoSWZOb3RDZWxsKEpTVmFsdWVSZWdzKHZhbHVlR1BS
KSk7CiAgICAgaWYgKG1hc3F1ZXJhZGVzQXNVbmRlZmluZWRXYXRjaHBvaW50VmFsaWQpIHsKICAg
ICAgICAgREZHX1RZUEVfQ0hFQ0soCi0gICAgICAgICAgICBKU1ZhbHVlUmVncyh2YWx1ZUdQUiks
IG5vZGVVc2UsICh+U3BlY0NlbGwpIHwgU3BlY09iamVjdCwgbV9qaXQuYnJhbmNoSWZOb3RPYmpl
Y3QodmFsdWVHUFIpKTsKKyAgICAgICAgICAgIEpTVmFsdWVSZWdzKHZhbHVlR1BSKSwgbm9kZVVz
ZSwgKH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpIHwgU3BlY09iamVjdCwgbV9qaXQuYnJhbmNo
SWZOb3RPYmplY3QodmFsdWVHUFIpKTsKICAgICB9IGVsc2UgewogICAgICAgICBERkdfVFlQRV9D
SEVDSygKLSAgICAgICAgICAgIEpTVmFsdWVSZWdzKHZhbHVlR1BSKSwgbm9kZVVzZSwgKH5TcGVj
Q2VsbCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdCh2YWx1ZUdQUikpOwor
ICAgICAgICAgICAgSlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBub2RlVXNlLCAofmNlbGxDaGVja1R5
cGVQYXNzdGhyb3VnaCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdCh2YWx1
ZUdQUikpOwogCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGlzTm90TWFzcXVlcmFkZXNB
c1VuZGVmaW5lZCA9IAogICAgICAgICAgICAgbV9qaXQuYnJhbmNoVGVzdDgoCkBAIC0xODkxLDEx
ICsxODkxLDExIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVPYmplY3RPck90aGUKICAg
ICAKICAgICBub3RDZWxsLmxpbmsoJm1faml0KTsKIAotICAgIGlmIChuZWVkc1R5cGVDaGVjayhu
b2RlVXNlLCBTcGVjQ2VsbCB8IFNwZWNPdGhlcikpIHsKKyAgICBpZiAobmVlZHNUeXBlQ2hlY2so
bm9kZVVzZSwgY2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoIHwgU3BlY090aGVyKSkgewogICAgICAg
ICBtX2ppdC5tb3ZlKHZhbHVlR1BSLCByZXN1bHRHUFIpOwogICAgICAgICBtX2ppdC5hbmQ2NChN
YWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKH5UYWdCaXRVbmRlZmluZWQpLCByZXN1bHRHUFIp
OwogICAgICAgICB0eXBlQ2hlY2soCi0gICAgICAgICAgICBKU1ZhbHVlUmVncyh2YWx1ZUdQUiks
IG5vZGVVc2UsIFNwZWNDZWxsIHwgU3BlY090aGVyLCBtX2ppdC5icmFuY2g2NCgKKyAgICAgICAg
ICAgIEpTVmFsdWVSZWdzKHZhbHVlR1BSKSwgbm9kZVVzZSwgY2VsbENoZWNrVHlwZVBhc3N0aHJv
dWdoIHwgU3BlY090aGVyLCBtX2ppdC5icmFuY2g2NCgKICAgICAgICAgICAgICAgICBNYWNyb0Fz
c2VtYmxlcjo6Tm90RXF1YWwsIAogICAgICAgICAgICAgICAgIHJlc3VsdEdQUiwgCiAgICAgICAg
ICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW02NChWYWx1ZU51bGwpKSk7CkBAIC0y
MDE4LDEwICsyMDE4LDEwIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRPYmplY3RPck90aGVy
QnIKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBub3RDZWxsID0gbV9qaXQuYnJhbmNoSWZOb3RD
ZWxsKEpTVmFsdWVSZWdzKHZhbHVlR1BSKSk7CiAgICAgaWYgKG1hc3F1ZXJhZGVzQXNVbmRlZmlu
ZWRXYXRjaHBvaW50SXNTdGlsbFZhbGlkKCkpIHsKICAgICAgICAgREZHX1RZUEVfQ0hFQ0soCi0g
ICAgICAgICAgICBKU1ZhbHVlUmVncyh2YWx1ZUdQUiksIG5vZGVVc2UsICh+U3BlY0NlbGwpIHwg
U3BlY09iamVjdCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3QodmFsdWVHUFIpKTsKKyAgICAgICAg
ICAgIEpTVmFsdWVSZWdzKHZhbHVlR1BSKSwgbm9kZVVzZSwgKH5jZWxsQ2hlY2tUeXBlUGFzc3Ro
cm91Z2gpIHwgU3BlY09iamVjdCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3QodmFsdWVHUFIpKTsK
ICAgICB9IGVsc2UgewogICAgICAgICBERkdfVFlQRV9DSEVDSygKLSAgICAgICAgICAgIEpTVmFs
dWVSZWdzKHZhbHVlR1BSKSwgbm9kZVVzZSwgKH5TcGVjQ2VsbCkgfCBTcGVjT2JqZWN0LCBtX2pp
dC5icmFuY2hJZk5vdE9iamVjdCh2YWx1ZUdQUikpOworICAgICAgICAgICAgSlNWYWx1ZVJlZ3Mo
dmFsdWVHUFIpLCBub2RlVXNlLCAofmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCkgfCBTcGVjT2Jq
ZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdCh2YWx1ZUdQUikpOwogCiAgICAgICAgIEpJVENv
bXBpbGVyOjpKdW1wIGlzTm90TWFzcXVlcmFkZXNBc1VuZGVmaW5lZCA9IG1faml0LmJyYW5jaFRl
c3Q4KAogICAgICAgICAgICAgSklUQ29tcGlsZXI6Olplcm8sIApAQCAtMjA0MSwxMSArMjA0MSwx
MSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0T2JqZWN0T3JPdGhlckJyCiAgICAgCiAgICAg
bm90Q2VsbC5saW5rKCZtX2ppdCk7CiAgICAgCi0gICAgaWYgKG5lZWRzVHlwZUNoZWNrKG5vZGVV
c2UsIFNwZWNDZWxsIHwgU3BlY090aGVyKSkgeworICAgIGlmIChuZWVkc1R5cGVDaGVjayhub2Rl
VXNlLCBjZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjT3RoZXIpKSB7CiAgICAgICAgIG1f
aml0Lm1vdmUodmFsdWVHUFIsIHNjcmF0Y2hHUFIpOwogICAgICAgICBtX2ppdC5hbmQ2NChNYWNy
b0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKH5UYWdCaXRVbmRlZmluZWQpLCBzY3JhdGNoR1BSKTsK
ICAgICAgICAgdHlwZUNoZWNrKAotICAgICAgICAgICAgSlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBu
b2RlVXNlLCBTcGVjQ2VsbCB8IFNwZWNPdGhlciwgbV9qaXQuYnJhbmNoNjQoCisgICAgICAgICAg
ICBKU1ZhbHVlUmVncyh2YWx1ZUdQUiksIG5vZGVVc2UsIGNlbGxDaGVja1R5cGVQYXNzdGhyb3Vn
aCB8IFNwZWNPdGhlciwgbV9qaXQuYnJhbmNoNjQoCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3Nl
bWJsZXI6Ok5vdEVxdWFsLCBzY3JhdGNoR1BSLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTY0
KFZhbHVlTnVsbCkpKTsKICAgICB9CiAgICAganVtcChub3RUYWtlbik7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24g
MjE3ODk0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTIyNTAsNyArMjI1MCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVWYWx1ZVRvSW50MzIKICAgICAgICAgICAgICAgICBKSVRDb21waWxlcjo6SnVt
cCBpc051bWJlciA9IG1faml0LmJyYW5jaFRlc3Q2NChNYWNyb0Fzc2VtYmxlcjo6Tm9uWmVybywg
Z3ByLCBHUFJJbmZvOjp0YWdUeXBlTnVtYmVyUmVnaXN0ZXIpOwogICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgIERGR19UWVBFX0NIRUNLKAotICAgICAgICAgICAgICAgICAgICBKU1Zh
bHVlUmVncyhncHIpLCBub2RlLT5jaGlsZDEoKSwgflNwZWNDZWxsLCBtX2ppdC5icmFuY2hJZkNl
bGwoSlNWYWx1ZVJlZ3MoZ3ByKSkpOworICAgICAgICAgICAgICAgICAgICBKU1ZhbHVlUmVncyhn
cHIpLCBub2RlLT5jaGlsZDEoKSwgfmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCwgbV9qaXQuYnJh
bmNoSWZDZWxsKEpTVmFsdWVSZWdzKGdwcikpKTsKICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAvLyBJdCdzIG5vdCBhIGNlbGw6IHNvIHRydWUgdHVybnMgaW50byAxIGFuZCBhbGwg
ZWxzZSB0dXJucyBpbnRvIDAuCiAgICAgICAgICAgICAgICAgbV9qaXQuY29tcGFyZTY0KEpJVENv
bXBpbGVyOjpFcXVhbCwgZ3ByLCBUcnVzdGVkSW1tMzIoVmFsdWVUcnVlKSwgcmVzdWx0R3ByKTsK
QEAgLTI0NzgsNyArMjQ3OCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVEb3VibGVS
ZXAoTm8KICAgICAgICAgICAgIEpJVENvbXBpbGVyOjpKdW1wIGlzTnVsbCA9IG1faml0LmJyYW5j
aDY0KEpJVENvbXBpbGVyOjpFcXVhbCwgb3AxR1BSLCBUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSk7
CiAgICAgICAgICAgICBkb25lLmFwcGVuZChpc051bGwpOwogCi0gICAgICAgICAgICBERkdfVFlQ
RV9DSEVDSyhKU1ZhbHVlUmVncyhvcDFHUFIpLCBub2RlLT5jaGlsZDEoKSwgflNwZWNDZWxsLAor
ICAgICAgICAgICAgREZHX1RZUEVfQ0hFQ0soSlNWYWx1ZVJlZ3Mob3AxR1BSKSwgbm9kZS0+Y2hp
bGQxKCksIH5TcGVjQ2VsbE9yRW1wdHksCiAgICAgICAgICAgICAgICAgbV9qaXQuYnJhbmNoVGVz
dDY0KEpJVENvbXBpbGVyOjpaZXJvLCBvcDFHUFIsIFRydXN0ZWRJbW0zMihzdGF0aWNfY2FzdDxp
bnQzMl90PihUYWdCaXRCb29sKSkpKTsKIAogICAgICAgICAgICAgSklUQ29tcGlsZXI6Okp1bXAg
aXNGYWxzZSA9IG1faml0LmJyYW5jaDY0KEpJVENvbXBpbGVyOjpFcXVhbCwgb3AxR1BSLCBUcnVz
dGVkSW1tNjQoVmFsdWVGYWxzZSkpOwpAQCAtNjA3MywxOCArNjA3MywxOSBAQCB2b2lkIFNwZWN1
bGF0aXZlSklUOjpjb21waWxlTG9naWNhbE5vdFN0CiAgICAgSklUQ29tcGlsZXI6Okp1bXAgbm90
Q2VsbCA9IG1faml0LmJyYW5jaElmTm90Q2VsbCh2YWx1ZVJlZ3MpOwogICAgIEdQUlJlZyBjZWxs
R1BSID0gdmFsdWVSZWdzLnBheWxvYWRHUFIoKTsKICAgICBERkdfVFlQRV9DSEVDSygKLSAgICAg
ICAgdmFsdWVSZWdzLCBub2RlLT5jaGlsZDEoKSwgKH5TcGVjQ2VsbCkgfCBTcGVjU3RyaW5nLCBt
X2ppdC5icmFuY2hJZk5vdFN0cmluZyhjZWxsR1BSKSk7CisgICAgICAgIHZhbHVlUmVncywgbm9k
ZS0+Y2hpbGQxKCksICh+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKSB8IFNwZWNTdHJpbmcsIG1f
aml0LmJyYW5jaElmTm90U3RyaW5nKGNlbGxHUFIpKTsKICAgICBtX2ppdC50ZXN0MzIoCiAgICAg
ICAgIEpJVENvbXBpbGVyOjpaZXJvLCBKSVRDb21waWxlcjo6QWRkcmVzcyhjZWxsR1BSLCBKU1N0
cmluZzo6b2Zmc2V0T2ZMZW5ndGgoKSksCiAgICAgICAgIEpJVENvbXBpbGVyOjpUcnVzdGVkSW1t
MzIoLTEpLCB0ZW1wR1BSKTsKICAgICBKSVRDb21waWxlcjo6SnVtcCBkb25lID0gbV9qaXQuanVt
cCgpOwogICAgIG5vdENlbGwubGluaygmbV9qaXQpOwogICAgIERGR19UWVBFX0NIRUNLKAotICAg
ICAgICB2YWx1ZVJlZ3MsIG5vZGUtPmNoaWxkMSgpLCBTcGVjQ2VsbCB8IFNwZWNPdGhlciwgbV9q
aXQuYnJhbmNoSWZOb3RPdGhlcih2YWx1ZVJlZ3MsIHRlbXBHUFIpKTsKKyAgICAgICAgdmFsdWVS
ZWdzLCBub2RlLT5jaGlsZDEoKSwgY2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoIHwgU3BlY090aGVy
LCBtX2ppdC5icmFuY2hJZk5vdE90aGVyKHZhbHVlUmVncywgdGVtcEdQUikpOwogICAgIG1faml0
Lm1vdmUoVHJ1c3RlZEltbTMyKDEpLCB0ZW1wR1BSKTsKICAgICBkb25lLmxpbmsoJm1faml0KTsK
IAogICAgIHVuYmxlc3NlZEJvb2xlYW5SZXN1bHQodGVtcEdQUiwgbm9kZSk7CisKIH0KIAogdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdFN0cmluZ0JyYW5jaChFZGdlIG5vZGVVc2UsIEJhc2ljQmxv
Y2sqIHRha2VuLCBCYXNpY0Jsb2NrKiBub3RUYWtlbikKQEAgLTYxMDUsMTQgKzYxMDYsMTQgQEAg
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdFN0cmluZ09yT3RoZXJCcgogICAgIAogICAgIEpJVENv
bXBpbGVyOjpKdW1wIG5vdENlbGwgPSBtX2ppdC5icmFuY2hJZk5vdENlbGwodmFsdWVSZWdzKTsK
ICAgICBHUFJSZWcgY2VsbEdQUiA9IHZhbHVlUmVncy5wYXlsb2FkR1BSKCk7Ci0gICAgREZHX1RZ
UEVfQ0hFQ0sodmFsdWVSZWdzLCBub2RlVXNlLCAoflNwZWNDZWxsKSB8IFNwZWNTdHJpbmcsIG1f
aml0LmJyYW5jaElmTm90U3RyaW5nKGNlbGxHUFIpKTsKKyAgICBERkdfVFlQRV9DSEVDSyh2YWx1
ZVJlZ3MsIG5vZGVVc2UsICh+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKSB8IFNwZWNTdHJpbmcs
IG1faml0LmJyYW5jaElmTm90U3RyaW5nKGNlbGxHUFIpKTsKICAgICBicmFuY2hUZXN0MzIoCiAg
ICAgICAgIEpJVENvbXBpbGVyOjpaZXJvLCBKSVRDb21waWxlcjo6QWRkcmVzcyhjZWxsR1BSLCBK
U1N0cmluZzo6b2Zmc2V0T2ZMZW5ndGgoKSksCiAgICAgICAgIEpJVENvbXBpbGVyOjpUcnVzdGVk
SW1tMzIoLTEpLCBub3RUYWtlbik7CiAgICAganVtcCh0YWtlbiwgRm9yY2VKdW1wKTsKICAgICBu
b3RDZWxsLmxpbmsoJm1faml0KTsKICAgICBERkdfVFlQRV9DSEVDSygKLSAgICAgICAgdmFsdWVS
ZWdzLCBub2RlVXNlLCBTcGVjQ2VsbCB8IFNwZWNPdGhlciwgbV9qaXQuYnJhbmNoSWZOb3RPdGhl
cih2YWx1ZVJlZ3MsIHRlbXBHUFIpKTsKKyAgICAgICAgdmFsdWVSZWdzLCBub2RlVXNlLCBjZWxs
Q2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjT3RoZXIsIG1faml0LmJyYW5jaElmTm90T3RoZXIo
dmFsdWVSZWdzLCB0ZW1wR1BSKSk7CiAgICAganVtcChub3RUYWtlbik7CiAgICAgbm9SZXN1bHQo
bV9jdXJyZW50Tm9kZSk7CiB9CkBAIC04NDA2LDcgKzg0MDcsNyBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpzcGVjdWxhdGVCb29sZWFuKEVkCiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0
ZUNlbGwoRWRnZSBlZGdlKQogewotICAgIGlmICghbmVlZHNUeXBlQ2hlY2soZWRnZSwgU3BlY0Nl
bGwpKQorICAgIGlmICghbmVlZHNUeXBlQ2hlY2soZWRnZSwgY2VsbENoZWNrVHlwZVBhc3N0aHJv
dWdoKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIChTcGVjdWxhdGVDZWxsT3BlcmFuZCh0
aGlzLCBlZGdlKSkuZ3ByKCk7CkBAIC04NDE0LDcgKzg0MTUsNyBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpzcGVjdWxhdGVDZWxsKEVkZ2UgCiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0
ZUNlbGxPck90aGVyKEVkZ2UgZWRnZSkKIHsKLSAgICBpZiAoIW5lZWRzVHlwZUNoZWNrKGVkZ2Us
IFNwZWNDZWxsIHwgU3BlY090aGVyKSkKKyAgICBpZiAoIW5lZWRzVHlwZUNoZWNrKGVkZ2UsIGNl
bGxDaGVja1R5cGVQYXNzdGhyb3VnaCB8IFNwZWNPdGhlcikpCiAgICAgICAgIHJldHVybjsKICAg
ICAKICAgICBKU1ZhbHVlT3BlcmFuZCBvcGVyYW5kKHRoaXMsIGVkZ2UsIE1hbnVhbE9wZXJhbmRT
cGVjdWxhdGlvbik7CkBAIC04NDIzLDcgKzg0MjQsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpz
cGVjdWxhdGVDZWxsT3JPdGhlCiAKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBvayA9IG1faml0
LmJyYW5jaElmQ2VsbChvcGVyYW5kLmpzVmFsdWVSZWdzKCkpOwogICAgIERGR19UWVBFX0NIRUNL
KAotICAgICAgICBvcGVyYW5kLmpzVmFsdWVSZWdzKCksIGVkZ2UsIFNwZWNDZWxsIHwgU3BlY090
aGVyLAorICAgICAgICBvcGVyYW5kLmpzVmFsdWVSZWdzKCksIGVkZ2UsIGNlbGxDaGVja1R5cGVQ
YXNzdGhyb3VnaCB8IFNwZWNPdGhlciwKICAgICAgICAgbV9qaXQuYnJhbmNoSWZOb3RPdGhlcihv
cGVyYW5kLmpzVmFsdWVSZWdzKCksIHRlbXBHUFIpKTsKICAgICBvay5saW5rKCZtX2ppdCk7CiB9
CkBAIC04NTUyLDExICs4NTUzLDExIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZU9i
amVjdE9yT3QKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBub3RDZWxsID0gbV9qaXQuYnJhbmNo
SWZOb3RDZWxsKG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSk7CiAgICAgR1BSUmVnIGdwciA9IG9wZXJh
bmQuanNWYWx1ZVJlZ3MoKS5wYXlsb2FkR1BSKCk7CiAgICAgREZHX1RZUEVfQ0hFQ0soCi0gICAg
ICAgIG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSwgZWRnZSwgKH5TcGVjQ2VsbCkgfCBTcGVjT2JqZWN0
LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChncHIpKTsKKyAgICAgICAgb3BlcmFuZC5qc1ZhbHVl
UmVncygpLCBlZGdlLCAofmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCkgfCBTcGVjT2JqZWN0LCBt
X2ppdC5icmFuY2hJZk5vdE9iamVjdChncHIpKTsKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBk
b25lID0gbV9qaXQuanVtcCgpOwogICAgIG5vdENlbGwubGluaygmbV9qaXQpOwogICAgIERGR19U
WVBFX0NIRUNLKAotICAgICAgICBvcGVyYW5kLmpzVmFsdWVSZWdzKCksIGVkZ2UsIFNwZWNDZWxs
IHwgU3BlY090aGVyLAorICAgICAgICBvcGVyYW5kLmpzVmFsdWVSZWdzKCksIGVkZ2UsIGNlbGxD
aGVja1R5cGVQYXNzdGhyb3VnaCB8IFNwZWNPdGhlciwKICAgICAgICAgbV9qaXQuYnJhbmNoSWZO
b3RPdGhlcihvcGVyYW5kLmpzVmFsdWVSZWdzKCksIHRlbXBHUFIpKTsKICAgICBkb25lLmxpbmso
Jm1faml0KTsKIH0KQEAgLTg1NjQsMTcgKzg1NjUsMTcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
c3BlY3VsYXRlT2JqZWN0T3JPdAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlU3RyaW5n
KEVkZ2UgZWRnZSwgR1BSUmVnIGNlbGwpCiB7CiAgICAgREZHX1RZUEVfQ0hFQ0soCi0gICAgICAg
IEpTVmFsdWVTb3VyY2U6OnVuYm94ZWRDZWxsKGNlbGwpLCBlZGdlLCBTcGVjU3RyaW5nIHwgflNw
ZWNDZWxsLCBtX2ppdC5icmFuY2hJZk5vdFN0cmluZyhjZWxsKSk7CisgICAgICAgIEpTVmFsdWVT
b3VyY2U6OnVuYm94ZWRDZWxsKGNlbGwpLCBlZGdlLCBTcGVjU3RyaW5nIHwgfmNlbGxDaGVja1R5
cGVQYXNzdGhyb3VnaCwgbV9qaXQuYnJhbmNoSWZOb3RTdHJpbmcoY2VsbCkpOwogfQogCiB2b2lk
IFNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVTdHJpbmdPck90aGVyKEVkZ2UgZWRnZSwgSlNWYWx1
ZVJlZ3MgcmVncywgR1BSUmVnIHNjcmF0Y2gpCiB7CiAgICAgSklUQ29tcGlsZXI6Okp1bXAgbm90
Q2VsbCA9IG1faml0LmJyYW5jaElmTm90Q2VsbChyZWdzKTsKICAgICBHUFJSZWcgY2VsbCA9IHJl
Z3MucGF5bG9hZEdQUigpOwotICAgIERGR19UWVBFX0NIRUNLKHJlZ3MsIGVkZ2UsICh+U3BlY0Nl
bGwpIHwgU3BlY1N0cmluZywgbV9qaXQuYnJhbmNoSWZOb3RTdHJpbmcoY2VsbCkpOworICAgIERG
R19UWVBFX0NIRUNLKHJlZ3MsIGVkZ2UsICh+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKSB8IFNw
ZWNTdHJpbmcsIG1faml0LmJyYW5jaElmTm90U3RyaW5nKGNlbGwpKTsKICAgICBKSVRDb21waWxl
cjo6SnVtcCBkb25lID0gbV9qaXQuanVtcCgpOwogICAgIG5vdENlbGwubGluaygmbV9qaXQpOwot
ICAgIERGR19UWVBFX0NIRUNLKHJlZ3MsIGVkZ2UsIFNwZWNDZWxsIHwgU3BlY090aGVyLCBtX2pp
dC5icmFuY2hJZk5vdE90aGVyKHJlZ3MsIHNjcmF0Y2gpKTsKKyAgICBERkdfVFlQRV9DSEVDSyhy
ZWdzLCBlZGdlLCBjZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjT3RoZXIsIG1faml0LmJy
YW5jaElmTm90T3RoZXIocmVncywgc2NyYXRjaCkpOwogICAgIGRvbmUubGluaygmbV9qaXQpOwog
fQogCkBAIC04NzAyLDcgKzg3MDMsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVO
b3RTdHJpbmdWCiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZVN5bWJvbChFZGdlIGVk
Z2UsIEdQUlJlZyBjZWxsKQogewotICAgIERGR19UWVBFX0NIRUNLKEpTVmFsdWVTb3VyY2U6OnVu
Ym94ZWRDZWxsKGNlbGwpLCBlZGdlLCBTcGVjU3ltYm9sLCBtX2ppdC5icmFuY2hJZk5vdFN5bWJv
bChjZWxsKSk7CisgICAgREZHX1RZUEVfQ0hFQ0soSlNWYWx1ZVNvdXJjZTo6dW5ib3hlZENlbGwo
Y2VsbCksIGVkZ2UsIH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjU3ltYm9sLCBtX2pp
dC5icmFuY2hJZk5vdFN5bWJvbChjZWxsKSk7CiB9CiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNw
ZWN1bGF0ZVN5bWJvbChFZGdlIGVkZ2UpCkBAIC04NzE2LDEyICs4NzE3LDEyIEBAIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZVN5bWJvbChFZGcKIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
c3BlY3VsYXRlTm90Q2VsbChFZGdlIGVkZ2UsIEpTVmFsdWVSZWdzIHJlZ3MpCiB7Ci0gICAgREZH
X1RZUEVfQ0hFQ0socmVncywgZWRnZSwgflNwZWNDZWxsLCBtX2ppdC5icmFuY2hJZkNlbGwocmVn
cykpOworICAgIERGR19UWVBFX0NIRUNLKHJlZ3MsIGVkZ2UsIH5jZWxsQ2hlY2tUeXBlUGFzc3Ro
cm91Z2gsIG1faml0LmJyYW5jaElmQ2VsbChyZWdzKSk7CiB9CiAKIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OnNwZWN1bGF0ZU5vdENlbGwoRWRnZSBlZGdlKQogewotICAgIGlmICghbmVlZHNUeXBlQ2hl
Y2soZWRnZSwgflNwZWNDZWxsKSkKKyAgICBpZiAoIW5lZWRzVHlwZUNoZWNrKGVkZ2UsIH5jZWxs
Q2hlY2tUeXBlUGFzc3Rocm91Z2gpKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgSlNWYWx1
ZU9wZXJhbmQgb3BlcmFuZCh0aGlzLCBlZGdlLCBNYW51YWxPcGVyYW5kU3BlY3VsYXRpb24pOyAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJ
KHJldmlzaW9uIDIxNzg5NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuaAkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsOSBAQCBjbGFzcyBTcGVjdWxh
dGVCb29sZWFuT3BlcmFuZDsKIAogZW51bSBHZW5lcmF0ZWRPcGVyYW5kVHlwZSB7IEdlbmVyYXRl
ZE9wZXJhbmRUeXBlVW5rbm93biwgR2VuZXJhdGVkT3BlcmFuZEludGVnZXIsIEdlbmVyYXRlZE9w
ZXJhbmRKU1ZhbHVlfTsKIAorLy8gV2hlbiBkb2luZyBhIGNlbGwgY2hlY2ssIHRoaXMgaXMgdGhl
IHR5cGUgdGhhdCBwYXNzZXMgdGhyb3VnaAorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlw
ZSBjZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2ggPSBpczY0Qml0KCkgPyBTcGVjQ2VsbE9yRW1wdHkg
OiBTcGVjQ2VsbDsKKwogLy8gPT09IFNwZWN1bGF0aXZlSklUID09PQogLy8KIC8vIFRoZSBTcGVj
dWxhdGl2ZUpJVCBpcyB1c2VkIHRvIGdlbmVyYXRlIGEgZmFzdCwgYnV0IHBvdGVudGlhbGx5Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1VzZUtpbmQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1VzZUtpbmQuaAkocmV2aXNpb24gMjE3ODk0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdVc2VLaW5kLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTExMywxMCArMTEzLDE5IEBAIGlubGluZSBTcGVjdWxhdGVkVHlwZSB0eXBlRmlsdGVy
Rm9yKFVzZUsKICAgICBjYXNlIEtub3duQm9vbGVhblVzZToKICAgICAgICAgcmV0dXJuIFNwZWNC
b29sZWFuOwogICAgIGNhc2UgQ2VsbFVzZToKKyNpZiBVU0UoSlNWQUxVRTY0KQorICAgICAgICBy
ZXR1cm4gU3BlY0NlbGxPckVtcHR5OworI2Vsc2UKKyAgICAgICAgcmV0dXJuIFNwZWNDZWxsOwor
I2VuZGlmCiAgICAgY2FzZSBLbm93bkNlbGxVc2U6CiAgICAgICAgIHJldHVybiBTcGVjQ2VsbDsK
ICAgICBjYXNlIENlbGxPck90aGVyVXNlOgorI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgICAgIHJl
dHVybiBTcGVjQ2VsbE9yRW1wdHkgfCBTcGVjT3RoZXI7CisjZWxzZQogICAgICAgICByZXR1cm4g
U3BlY0NlbGwgfCBTcGVjT3RoZXI7CisjZW5kaWYKICAgICBjYXNlIE9iamVjdFVzZToKICAgICAg
ICAgcmV0dXJuIFNwZWNPYmplY3Q7CiAgICAgY2FzZSBBcnJheVVzZToKQEAgLTE1NSw3ICsxNjQs
MTEgQEAgaW5saW5lIFNwZWN1bGF0ZWRUeXBlIHR5cGVGaWx0ZXJGb3IoVXNlSwogICAgIGNhc2Ug
Tm90U3RyaW5nVmFyVXNlOgogICAgICAgICByZXR1cm4gflNwZWNTdHJpbmdWYXI7CiAgICAgY2Fz
ZSBOb3RDZWxsVXNlOgorI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgICAgIHJldHVybiB+U3BlY0Nl
bGxPckVtcHR5OworI2Vsc2UKICAgICAgICAgcmV0dXJuIH5TcGVjQ2VsbDsKKyNlbmRpZgogICAg
IGNhc2UgT3RoZXJVc2U6CiAgICAgICAgIHJldHVybiBTcGVjT3RoZXI7CiAgICAgY2FzZSBNaXNj
VXNlOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0Iz
LmNwcAkocmV2aXNpb24gMjE3ODk0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvQjMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzMxLDcgKzEzMzEsNyBAQCBwcml2
YXRlOgogICAgICAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbnZlcnRCb29sZWFuRmFsc2VD
YXNlLCBjb250aW51YXRpb24pOwogCiAgICAgICAgICAgICAgICAgTFZhbHVlIHZhbHVlSXNOb3RC
b29sZWFuRmFsc2UgPSBtX291dC5ub3RFcXVhbCh2YWx1ZSwgbV9vdXQuY29uc3RJbnQ2NChWYWx1
ZUZhbHNlKSk7Ci0gICAgICAgICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZh
bHVlKSwgbV9ub2RlLT5jaGlsZDEoKSwgflNwZWNDZWxsLCB2YWx1ZUlzTm90Qm9vbGVhbkZhbHNl
KTsKKyAgICAgICAgICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBt
X25vZGUtPmNoaWxkMSgpLCB+U3BlY0NlbGxPckVtcHR5LCB2YWx1ZUlzTm90Qm9vbGVhbkZhbHNl
KTsKICAgICAgICAgICAgICAgICBWYWx1ZUZyb21CbG9jayBjb252ZXJ0ZWRGYWxzZSA9IG1fb3V0
LmFuY2hvcihtX291dC5jb25zdERvdWJsZSgwKSk7CiAgICAgICAgICAgICAgICAgbV9vdXQuanVt
cChjb250aW51YXRpb24pOwogCkBAIC05NTIwLDcgKzk1MjAsNyBAQCBwcml2YXRlOgogICAgICAg
ICAgICAgCiAgICAgICAgICAgICBtX291dC5hcHBlbmRUbyhub3ROdW1iZXJDYXNlLCBjb250aW51
YXRpb24pOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVl
VmFsdWUodmFsdWUpLCBlZGdlLCB+U3BlY0NlbGwsIGlzQ2VsbCh2YWx1ZSkpOworICAgICAgICAg
ICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgflNwZWNDZWxsT3JF
bXB0eSwgaXNDZWxsKHZhbHVlKSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIExWYWx1ZSBz
cGVjaWFsUmVzdWx0ID0gbV9vdXQuc2VsZWN0KAogICAgICAgICAgICAgICAgIG1fb3V0LmVxdWFs
KHZhbHVlLCBtX291dC5jb25zdEludDY0KEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4odHJ1ZSkp
KSksCkBAIC0xMDQwNSwxMyArMTA0MDUsMTMgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIHVuc3Vy
ZShsZWZ0Q2VsbENhc2UpLCB1bnN1cmUobGVmdE5vdENlbGxDYXNlKSk7CiAgICAgICAgIAogICAg
ICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKGxlZnRDZWxsQ2FzZSwg
bGVmdE5vdENlbGxDYXNlKTsKLSAgICAgICAgc3BlY3VsYXRlVHJ1dGh5T2JqZWN0KGxlZnRDaGls
ZCwgbGVmdFZhbHVlLCBTcGVjT2JqZWN0IHwgKH5TcGVjQ2VsbCkpOworICAgICAgICBzcGVjdWxh
dGVUcnV0aHlPYmplY3QobGVmdENoaWxkLCBsZWZ0VmFsdWUsIFNwZWNPYmplY3QgfCAoflNwZWND
ZWxsT3JFbXB0eSkpOwogICAgICAgICBWYWx1ZUZyb21CbG9jayBjZWxsUmVzdWx0ID0gbV9vdXQu
YW5jaG9yKG1fb3V0LmVxdWFsKHJpZ2h0Q2VsbCwgbGVmdFZhbHVlKSk7CiAgICAgICAgIG1fb3V0
Lmp1bXAoY29udGludWF0aW9uKTsKICAgICAgICAgCiAgICAgICAgIG1fb3V0LmFwcGVuZFRvKGxl
ZnROb3RDZWxsQ2FzZSwgY29udGludWF0aW9uKTsKICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soCi0g
ICAgICAgICAgICBqc1ZhbHVlVmFsdWUobGVmdFZhbHVlKSwgbGVmdENoaWxkLCBTcGVjT3RoZXIg
fCBTcGVjQ2VsbCwgaXNOb3RPdGhlcihsZWZ0VmFsdWUpKTsKKyAgICAgICAgICAgIGpzVmFsdWVW
YWx1ZShsZWZ0VmFsdWUpLCBsZWZ0Q2hpbGQsIFNwZWNPdGhlciB8IFNwZWNDZWxsT3JFbXB0eSwg
aXNOb3RPdGhlcihsZWZ0VmFsdWUpKTsKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgbm90Q2VsbFJl
c3VsdCA9IG1fb3V0LmFuY2hvcihtX291dC5ib29sZWFuRmFsc2UpOwogICAgICAgICBtX291dC5q
dW1wKGNvbnRpbnVhdGlvbik7CiAgICAgICAgIApAQCAtMTExODEsMTQgKzExMTgxLDE0IEBAIHBy
aXZhdGU6CiAgICAgICAgICAgICAKICAgICAgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0g
bV9vdXQuYXBwZW5kVG8oY2VsbENhc2UsIG5vdENlbGxDYXNlKTsKICAgICAgICAgICAgIAotICAg
ICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgKH5TcGVj
Q2VsbCkgfCBTcGVjU3RyaW5nLCBpc05vdFN0cmluZyh2YWx1ZSkpOworICAgICAgICAgICAgRlRM
X1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgKH5TcGVjQ2VsbE9yRW1wdHkp
IHwgU3BlY1N0cmluZywgaXNOb3RTdHJpbmcodmFsdWUpKTsKICAgICAgICAgICAgIExWYWx1ZSBs
ZW5ndGggPSBtX291dC5sb2FkMzJOb25OZWdhdGl2ZSh2YWx1ZSwgbV9oZWFwcy5KU1N0cmluZ19s
ZW5ndGgpOwogICAgICAgICAgICAgVmFsdWVGcm9tQmxvY2sgY2VsbFJlc3VsdCA9IG1fb3V0LmFu
Y2hvcihtX291dC5ub3RFcXVhbChsZW5ndGgsIG1fb3V0LmludDMyWmVybykpOwogICAgICAgICAg
ICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBt
X291dC5hcHBlbmRUbyhub3RDZWxsQ2FzZSwgY29udGludWF0aW9uKTsKICAgICAgICAgICAgIAot
ICAgICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgU3Bl
Y0NlbGwgfCBTcGVjT3RoZXIsIGlzTm90T3RoZXIodmFsdWUpKTsKKyAgICAgICAgICAgIEZUTF9U
WVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsIFNwZWNDZWxsT3JFbXB0eSB8IFNw
ZWNPdGhlciwgaXNOb3RPdGhlcih2YWx1ZSkpOwogICAgICAgICAgICAgVmFsdWVGcm9tQmxvY2sg
bm90Q2VsbFJlc3VsdCA9IG1fb3V0LmFuY2hvcihtX291dC5ib29sZWFuRmFsc2UpOwogICAgICAg
ICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOwogICAgICAgICAgICAgbV9vdXQuYXBwZW5k
VG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CkBAIC0xMTMzMSw3ICsxMTMzMSw3IEBAIHByaXZh
dGU6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDZWxsQ2FzZVNwZWN1bGF0ZXNP
YmplY3Q6CiAgICAgICAgICAgICBGVExfVFlQRV9DSEVDSygKLSAgICAgICAgICAgICAgICBqc1Zh
bHVlVmFsdWUodmFsdWUpLCBlZGdlLCAoflNwZWNDZWxsKSB8IFNwZWNPYmplY3QsIGlzTm90T2Jq
ZWN0KHZhbHVlKSk7CisgICAgICAgICAgICAgICAganNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwg
KH5TcGVjQ2VsbE9yRW1wdHkpIHwgU3BlY09iamVjdCwgaXNOb3RPYmplY3QodmFsdWUpKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIApAQCAtMTEzNzYsNyArMTEzNzYs
NyBAQCBwcml2YXRlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgU3BlY3VsYXRl
TnVsbE9yVW5kZWZpbmVkOgogICAgICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soCi0gICAgICAgICAg
ICAgICAganNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIsIGlz
Tm90T3RoZXIodmFsdWUpKTsKKyAgICAgICAgICAgICAgICBqc1ZhbHVlVmFsdWUodmFsdWUpLCBl
ZGdlLCBTcGVjQ2VsbE9yRW1wdHkgfCBTcGVjT3RoZXIsIGlzTm90T3RoZXIodmFsdWUpKTsKICAg
ICAgICAgICAgIHByaW1pdGl2ZVJlc3VsdCA9IG1fb3V0LmJvb2xlYW5UcnVlOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTEyNDQwLDExICsxMjQ0MCwxMSBAQCBwcml2YXRlOgog
ICAgICAgICBpZiAoaXNWYWxpZCh2YWx1ZSkpIHsKICAgICAgICAgICAgIExWYWx1ZSB1bmNoZWNr
ZWRWYWx1ZSA9IHZhbHVlLnZhbHVlKCk7CiAgICAgICAgICAgICBGVExfVFlQRV9DSEVDSygKLSAg
ICAgICAgICAgICAgICBqc1ZhbHVlVmFsdWUodW5jaGVja2VkVmFsdWUpLCBlZGdlLCBTcGVjQ2Vs
bCwgaXNOb3RDZWxsKHVuY2hlY2tlZFZhbHVlKSk7CisgICAgICAgICAgICAgICAganNWYWx1ZVZh
bHVlKHVuY2hlY2tlZFZhbHVlKSwgZWRnZSwgU3BlY0NlbGxPckVtcHR5LCBpc05vdENlbGwodW5j
aGVja2VkVmFsdWUpKTsKICAgICAgICAgICAgIHJldHVybiB1bmNoZWNrZWRWYWx1ZTsKICAgICAg
ICAgfQogICAgICAgICAKLSAgICAgICAgREZHX0FTU0VSVChtX2dyYXBoLCBtX25vZGUsICEocHJv
dmVuVHlwZShlZGdlKSAmIFNwZWNDZWxsKSk7CisgICAgICAgIERGR19BU1NFUlQobV9ncmFwaCwg
bV9ub2RlLCAhKHByb3ZlblR5cGUoZWRnZSkgJiBTcGVjQ2VsbE9yRW1wdHkpKTsKICAgICAgICAg
dGVybWluYXRlKFVuY291bnRhYmxlKTsKICAgICAgICAgcmV0dXJuIG1fb3V0LmludFB0clplcm87
CiAgICAgfQpAQCAtMTI1OTksNyArMTI1OTksNyBAQCBwcml2YXRlOgogICAgIExWYWx1ZSBsb3dO
b3RDZWxsKEVkZ2UgZWRnZSkKICAgICB7CiAgICAgICAgIExWYWx1ZSByZXN1bHQgPSBsb3dKU1Zh
bHVlKGVkZ2UsIE1hbnVhbE9wZXJhbmRTcGVjdWxhdGlvbik7Ci0gICAgICAgIEZUTF9UWVBFX0NI
RUNLKGpzVmFsdWVWYWx1ZShyZXN1bHQpLCBlZGdlLCB+U3BlY0NlbGwsIGlzQ2VsbChyZXN1bHQp
KTsKKyAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHJlc3VsdCksIGVkZ2UsIH5T
cGVjQ2VsbE9yRW1wdHksIGlzQ2VsbChyZXN1bHQpKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
ICAgICB9CiAgICAgCkBAIC0xMjcwMCwxMyArMTI3MDAsMTMgQEAgcHJpdmF0ZToKICAgICAKICAg
ICBMVmFsdWUgaXNDZWxsT3JNaXNjKExWYWx1ZSBqc1ZhbHVlLCBTcGVjdWxhdGVkVHlwZSB0eXBl
ID0gU3BlY0Z1bGxUb3ApCiAgICAgewotICAgICAgICBpZiAoTFZhbHVlIHByb3ZlbiA9IGlzUHJv
dmVuVmFsdWUodHlwZSwgU3BlY0NlbGwgfCBTcGVjTWlzYykpCisgICAgICAgIGlmIChMVmFsdWUg
cHJvdmVuID0gaXNQcm92ZW5WYWx1ZSh0eXBlLCBTcGVjQ2VsbE9yRW1wdHkgfCBTcGVjTWlzYykp
CiAgICAgICAgICAgICByZXR1cm4gcHJvdmVuOwogICAgICAgICByZXR1cm4gbV9vdXQudGVzdElz
WmVybzY0KGpzVmFsdWUsIG1fdGFnVHlwZU51bWJlcik7CiAgICAgfQogICAgIExWYWx1ZSBpc05v
dENlbGxPck1pc2MoTFZhbHVlIGpzVmFsdWUsIFNwZWN1bGF0ZWRUeXBlIHR5cGUgPSBTcGVjRnVs
bFRvcCkKICAgICB7Ci0gICAgICAgIGlmIChMVmFsdWUgcHJvdmVuID0gaXNQcm92ZW5WYWx1ZSh0
eXBlLCB+KFNwZWNDZWxsIHwgU3BlY01pc2MpKSkKKyAgICAgICAgaWYgKExWYWx1ZSBwcm92ZW4g
PSBpc1Byb3ZlblZhbHVlKHR5cGUsIH4oU3BlY0NlbGxPckVtcHR5IHwgU3BlY01pc2MpKSkKICAg
ICAgICAgICAgIHJldHVybiBwcm92ZW47CiAgICAgICAgIHJldHVybiBtX291dC50ZXN0Tm9uWmVy
bzY0KGpzVmFsdWUsIG1fdGFnVHlwZU51bWJlcik7CiAgICAgfQpAQCAtMTI4MDcsMTQgKzEyODA3
LDE0IEBAIHByaXZhdGU6CiAgICAgCiAgICAgTFZhbHVlIGlzTm90Q2VsbChMVmFsdWUganNWYWx1
ZSwgU3BlY3VsYXRlZFR5cGUgdHlwZSA9IFNwZWNGdWxsVG9wKQogICAgIHsKLSAgICAgICAgaWYg
KExWYWx1ZSBwcm92ZW4gPSBpc1Byb3ZlblZhbHVlKHR5cGUsIH5TcGVjQ2VsbCkpCisgICAgICAg
IGlmIChMVmFsdWUgcHJvdmVuID0gaXNQcm92ZW5WYWx1ZSh0eXBlLCB+U3BlY0NlbGxPckVtcHR5
KSkKICAgICAgICAgICAgIHJldHVybiBwcm92ZW47CiAgICAgICAgIHJldHVybiBtX291dC50ZXN0
Tm9uWmVybzY0KGpzVmFsdWUsIG1fdGFnTWFzayk7CiAgICAgfQogICAgIAogICAgIExWYWx1ZSBp
c0NlbGwoTFZhbHVlIGpzVmFsdWUsIFNwZWN1bGF0ZWRUeXBlIHR5cGUgPSBTcGVjRnVsbFRvcCkK
ICAgICB7Ci0gICAgICAgIGlmIChMVmFsdWUgcHJvdmVuID0gaXNQcm92ZW5WYWx1ZSh0eXBlLCBT
cGVjQ2VsbCkpCisgICAgICAgIGlmIChMVmFsdWUgcHJvdmVuID0gaXNQcm92ZW5WYWx1ZSh0eXBl
LCBTcGVjQ2VsbE9yRW1wdHkpKQogICAgICAgICAgICAgcmV0dXJuIHByb3ZlbjsKICAgICAgICAg
cmV0dXJuIG1fb3V0LnRlc3RJc1plcm82NChqc1ZhbHVlLCBtX3RhZ01hc2spOwogICAgIH0KQEAg
LTEzMDI0LDcgKzEzMDI0LDcgQEAgcHJpdmF0ZToKICAgICAgICAgbV9vdXQuYnJhbmNoKGlzQ2Vs
bCh2YWx1ZSwgcHJvdmVuVHlwZShlZGdlKSksIHVuc3VyZShjb250aW51YXRpb24pLCB1bnN1cmUo
aXNOb3RDZWxsKSk7CiAKICAgICAgICAgTEJhc2ljQmxvY2sgbGFzdE5leHQgPSBtX291dC5hcHBl
bmRUbyhpc05vdENlbGwsIGNvbnRpbnVhdGlvbik7Ci0gICAgICAgIEZUTF9UWVBFX0NIRUNLKGpz
VmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsIFNwZWNDZWxsIHwgU3BlY090aGVyLCBpc05vdE90aGVy
KHZhbHVlKSk7CisgICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVk
Z2UsIFNwZWNDZWxsT3JFbXB0eSB8IFNwZWNPdGhlciwgaXNOb3RPdGhlcih2YWx1ZSkpOwogICAg
ICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CiAKICAgICAgICAgbV9vdXQuYXBwZW5kVG8o
Y29udGludWF0aW9uLCBsYXN0TmV4dCk7CkBAIC0xMzI1OCwxNCArMTMyNTgsMTQgQEAgcHJpdmF0
ZToKICAgICAgICAgTEJhc2ljQmxvY2sgbGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyhjZWxsQ2Fz
ZSwgcHJpbWl0aXZlQ2FzZSk7CiAgICAgICAgIAogICAgICAgICBGVExfVFlQRV9DSEVDSygKLSAg
ICAgICAgICAgIGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsICh+U3BlY0NlbGwpIHwgU3BlY09i
amVjdCwgaXNOb3RPYmplY3QodmFsdWUpKTsKKyAgICAgICAgICAgIGpzVmFsdWVWYWx1ZSh2YWx1
ZSksIGVkZ2UsICh+U3BlY0NlbGxPckVtcHR5KSB8IFNwZWNPYmplY3QsIGlzTm90T2JqZWN0KHZh
bHVlKSk7CiAgICAgICAgIAogICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CiAgICAg
ICAgIAogICAgICAgICBtX291dC5hcHBlbmRUbyhwcmltaXRpdmVDYXNlLCBjb250aW51YXRpb24p
OwogICAgICAgICAKICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soCi0gICAgICAgICAgICBqc1ZhbHVl
VmFsdWUodmFsdWUpLCBlZGdlLCBTcGVjQ2VsbCB8IFNwZWNPdGhlciwgaXNOb3RPdGhlcih2YWx1
ZSkpOworICAgICAgICAgICAganNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgU3BlY0NlbGxPckVt
cHR5IHwgU3BlY090aGVyLCBpc05vdE90aGVyKHZhbHVlKSk7CiAgICAgICAgIAogICAgICAgICBt
X291dC5qdW1wKGNvbnRpbnVhdGlvbik7CiAgICAgICAgIApAQCAtMTMzNDAsNyArMTMzNDAsNyBA
QCBwcml2YXRlOgogICAgIAogICAgIHZvaWQgc3BlY3VsYXRlU3RyaW5nKEVkZ2UgZWRnZSwgTFZh
bHVlIGNlbGwpCiAgICAgewotICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUoY2Vs
bCksIGVkZ2UsIFNwZWNTdHJpbmcgfCB+U3BlY0NlbGwsIGlzTm90U3RyaW5nKGNlbGwpKTsKKyAg
ICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKGNlbGwpLCBlZGdlLCBTcGVjU3RyaW5n
LCBpc05vdFN0cmluZyhjZWxsKSk7CiAgICAgfQogICAgIAogICAgIHZvaWQgc3BlY3VsYXRlU3Ry
aW5nKEVkZ2UgZWRnZSkKQEAgLTEzMzU4LDEyICsxMzM1OCwxMiBAQCBwcml2YXRlOgogCiAgICAg
ICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuYXBwZW5kVG8oY2VsbENhc2UsIG5vdENl
bGxDYXNlKTsKIAotICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBl
ZGdlLCAoflNwZWNDZWxsKSB8IFNwZWNTdHJpbmcsIGlzTm90U3RyaW5nKHZhbHVlKSk7CisgICAg
ICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsICh+U3BlY0NlbGxP
ckVtcHR5KSB8IFNwZWNTdHJpbmcsIGlzTm90U3RyaW5nKHZhbHVlKSk7CiAKICAgICAgICAgbV9v
dXQuanVtcChjb250aW51YXRpb24pOwogICAgICAgICBtX291dC5hcHBlbmRUbyhub3RDZWxsQ2Fz
ZSwgY29udGludWF0aW9uKTsKIAotICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUo
dmFsdWUpLCBlZGdlLCBTcGVjQ2VsbCB8IFNwZWNPdGhlciwgaXNOb3RPdGhlcih2YWx1ZSkpOwor
ICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCBTcGVjQ2Vs
bE9yRW1wdHkgfCBTcGVjT3RoZXIsIGlzTm90T3RoZXIodmFsdWUpKTsKIAogICAgICAgICBtX291
dC5qdW1wKGNvbnRpbnVhdGlvbik7CiAgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVhdGlv
biwgbGFzdE5leHQpOwpAQCAtMTM0NDQsNyArMTM0NDQsNyBAQCBwcml2YXRlOgogCiAgICAgdm9p
ZCBzcGVjdWxhdGVTeW1ib2woRWRnZSBlZGdlLCBMVmFsdWUgY2VsbCkKICAgICB7Ci0gICAgICAg
IEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZShjZWxsKSwgZWRnZSwgU3BlY1N5bWJvbCB8IH5T
cGVjQ2VsbCwgaXNOb3RTeW1ib2woY2VsbCkpOworICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1Zh
bHVlVmFsdWUoY2VsbCksIGVkZ2UsIFNwZWNTeW1ib2wsIGlzTm90U3ltYm9sKGNlbGwpKTsKICAg
ICB9CiAKICAgICB2b2lkIHNwZWN1bGF0ZVN5bWJvbChFZGdlIGVkZ2UpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312359</attachid>
            <date>2017-06-08 16:30:07 -0700</date>
            <delta_ts>2017-06-08 16:51:38 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>33393</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTc5NTMpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE2IEBACisyMDE3LTA2LTA4ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFdlIHNob3VsZCBub3QgY2xhaW0gdGhhdCBTcGVjRW1wdHkgaXMgZmls
dGVyZWQgb3V0IG9mIGNlbGwgY2hlY2tzIG9uIDY0IGJpdCBwbGF0Zm9ybXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Mjk1NworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzI2MDI3MDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBzdHJlc3Mvc3BlYy1lbXB0eS1mbG93cy10aHJvdWdoLWNlbGwtY2hl
Y2tzLmpzOiBBZGRlZC4KKyAgICAgICAgKEEpOgorICAgICAgICAoQik6CisgICAgICAgIChpLmNh
dGNoKToKKwogMjAxNy0wNi0wOCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWJBc3NlbWJseTogV2Ugc2hvdWxkIG9ubHkgY3JlYXRlIHdyYXBwZXJz
IGZvciBmdW5jdGlvbnMgdGhhdCBjYW4gYmUgZXhwb3J0ZWQKSW5kZXg6IEpTVGVzdHMvc3RyZXNz
L3NwZWMtZW1wdHktZmxvd3MtdGhyb3VnaC1jZWxsLWNoZWNrcy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3N0cmVzcy9zcGVjLWVtcHR5LWZsb3dzLXRocm91Z2gtY2VsbC1jaGVja3MuanMJKG5v
bmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3Mvc3BlYy1lbXB0eS1mbG93cy10aHJvdWdoLWNl
bGwtY2hlY2tzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjQgQEAKKy8vIFRoaXMgdGVz
dCBzaG91bGRuJ3QgY3Jhc2guCisKK2NsYXNzIEEgeyB9OworCitjbGFzcyBCIGV4dGVuZHMgQSB7
CisgICAgY29uc3RydWN0b3IoYSwgYikgeworICAgICAgICB2YXIgZiA9ICgpID0+IGIgPyB0aGlz
IDoge307CisgICAgICAgIGlmIChhKSB7CisgICAgICAgICAgICB2YXIgdmFsID0gZigpID09IHN1
cGVyKCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzdXBlcigpOworICAgICAgICAg
ICAgdmFyIHZhbCA9IGYoKTsKKyAgICAgICAgfQorICAgIH0KK307CisKK2ZvciAodmFyIGk9MDsg
aSA8IDEwMDAwOyBpKyspIHsKKyAgICB0cnkgeworICAgICAgICBuZXcgQih0cnVlLCB0cnVlKTsK
KyAgICB9IGNhdGNoIChlKSB7CisgICAgfQorICAgIHZhciBhID0gbmV3IEIoZmFsc2UsIHRydWUp
OworICAgIHZhciBjID0gbmV3IEIodHJ1ZSwgZmFsc2UpOworfQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyMTc4OTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzkgQEAKKzIwMTctMDYtMDggIFNhYW0g
QmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CisKKyAgICAgICAgV2Ugc2hvdWxkIG5vdCBjbGFp
bSB0aGF0IFNwZWNFbXB0eSBpcyBmaWx0ZXJlZCBvdXQgb2YgY2VsbCBjaGVja3Mgb24gNjQgYml0
IHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcyOTU3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMjYwMjcwND4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb25zaWRlciB0aGlzIHByb2dy
YW06CisgICAgICAgIGBgYAorICAgICAgICBibG9jayMxOgorICAgICAgICBuOiBHZXRDbG9zdXJl
VmFyKC4uLiwgfHRoaXN8KSAvLyB0aGlzIHdpbGwgbG9hZCBlbXB0eSBKU1ZhbHVlKCkKKyAgICAg
ICAgU2V0TG9jYWwoQ2VsbDpAbiwgbG9jRm9vKSAvLyBDZWxsIGNoZWNrIHN1Y2NlZWRzIGJlY2F1
c2UgSlNWYWx1ZSgpIGxvb2tzIGxpa2UgYSBjZWxsCisgICAgICAgIEJyYW5jaCgjMiwgIzMpCisg
ICAgICAgIAorICAgICAgICBCbG9jayMzOgorICAgICAgICB4OiBHZXRMb2NhbChsb2NGb28pCisg
ICAgICAgIHk6IENoZWNrTm90RW1wdHkoQHgpCisgICAgICAgIGBgYAorICAgICAgICAKKyAgICAg
ICAgSWYgd2UgY2xhaW0gdGhhdCBhIGNlbGwgY2hlY2sgZmlsdGVycyBvdXQgdGhlIGVtcHR5IHZh
bHVlLCB3ZSB3aWxsCisgICAgICAgIGluY29ycmVjdGx5IGVsaW1pbmF0ZSB0aGUgQ2hlY2tOb3RF
bXB0eSBub2RlIEB5LiBUaGlzIGZpeGVkIEFJLAorICAgICAgICBGVExMb3dlckRGR1RvQjMsIGFu
ZCBERkdTcGVjSklUIHRvIG5vIGxvbmdlciBtYWtlIHRoaXMgY2xhaW0uCisgICAgICAgIAorICAg
ICAgICAtIENlbGwgdXNlIGtpbmQgKm5vdyBhbGxvd3MqIHRoZSBlbXB0eSB2YWx1ZSB0byBwYXNz
IHRocm91Z2gKKyAgICAgICAgLSBDZWxsT3JPdGhlciB1c2Uga2luZCAqbm93IGFsbG93cyogZm9y
IHRoZSBlbXB0eSB2YWx1ZSB0byBwYXNzIHRocm91Z2gKKyAgICAgICAgLSBOb3RDZWxsIHVzZSBr
aW5kICpubyBsb25nZXIgYWxsb3dzKiB0aGUgZW1wdHkgdmFsdWUgdG8gcGFzcyB0aHJvdWdoLgor
CisgICAgICAgICogYXNzZW1ibGVyL0NQVS5oOgorICAgICAgICAoSlNDOjppc0FSTXY3SURJVlN1
cHBvcnRlZCk6CisgICAgICAgIChKU0M6OmlzQVJNNjQpOgorICAgICAgICAoSlNDOjppc1g4Nik6
CisgICAgICAgIChKU0M6OmlzWDg2XzY0KToKKyAgICAgICAgKEpTQzo6aXM2NEJpdCk6CisgICAg
ICAgIChKU0M6OmlzMzJCaXQpOgorICAgICAgICAoSlNDOjppc01JUFMpOgorICAgICAgICAqIGJ5
dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmg6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVZhbHVlVG9J
bnQzMik6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVEb3VibGVS
ZXApOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlTG9naWNhbE5v
dFN0cmluZ09yT3RoZXIpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjplbWl0
U3RyaW5nT3JPdGhlckJyYW5jaCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6
OnNwZWN1bGF0ZUNlbGwpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpzcGVj
dWxhdGVDZWxsT3JPdGhlcik6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OnNw
ZWN1bGF0ZU9iamVjdE9yT3RoZXIpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklU
OjpzcGVjdWxhdGVTdHJpbmcpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpz
cGVjdWxhdGVTdHJpbmdPck90aGVyKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJ
VDo6c3BlY3VsYXRlU3ltYm9sKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6
c3BlY3VsYXRlTm90Q2VsbCk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6Cisg
ICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6
OlNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlQ2VsbCk6CisgICAgICAgIChKU0M6OkRGRzo6
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVPYmplY3RUb09iamVjdE9yT3RoZXJFcXVhbGl0eSk6Cisg
ICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQZWVwSG9sZU9iamVjdFRv
T2JqZWN0T3JPdGhlckVxdWFsaXR5KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZU9iamVjdE9yT3RoZXJMb2dpY2FsTm90KToKKyAgICAgICAgKEpTQzo6REZHOjpT
cGVjdWxhdGl2ZUpJVDo6ZW1pdE9iamVjdE9yT3RoZXJCcmFuY2gpOgorICAgICAgICAqIGRmZy9E
RkdVc2VLaW5kLmg6CisgICAgICAgIChKU0M6OkRGRzo6dHlwZUZpbHRlckZvcik6CisgICAgICAg
ICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dl
ckRGR1RvQjM6OmNvbXBpbGVEb3VibGVSZXApOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93
ZXJERkdUb0IzOjpudW1iZXJPck5vdENlbGxUb0ludDMyKToKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6Y29tcGFyZUVxT2JqZWN0T3JPdGhlclRvT2JqZWN0KToKKyAgICAg
ICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Ym9vbGlmeSk6CisgICAgICAgIChKU0M6
OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmVxdWFsTnVsbE9yVW5kZWZpbmVkKToKKyAgICAgICAg
KEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6bG93Q2VsbCk6CisgICAgICAgIChKU0M6OkZU
TDo6REZHOjpMb3dlckRGR1RvQjM6Omxvd05vdENlbGwpOgorICAgICAgICAoSlNDOjpGVEw6OkRG
Rzo6TG93ZXJERkdUb0IzOjppc0NlbGxPck1pc2MpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6
TG93ZXJERkdUb0IzOjppc05vdENlbGxPck1pc2MpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6
TG93ZXJERkdUb0IzOjppc05vdENlbGwpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJE
RkdUb0IzOjppc0NlbGwpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpz
cGVjdWxhdGVDZWxsT3JPdGhlcik6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1Rv
QjM6OnNwZWN1bGF0ZU9iamVjdE9yT3RoZXIpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93
ZXJERkdUb0IzOjpzcGVjdWxhdGVTdHJpbmcpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93
ZXJERkdUb0IzOjpzcGVjdWxhdGVTdHJpbmdPck90aGVyKToKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6c3BlY3VsYXRlU3ltYm9sKToKKwogMjAxNy0wNi0wNyAgWXVzdWtl
IFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbSlNDXSBoYXNfZ2Vu
ZXJpY19wcm9wZXJ0eSBuZXZlciBhY2NlcHRzIG5vbi1TdHJpbmcKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvQ1BVLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9DUFUuaAkocmV2aXNpb24gMjE3ODk0KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9DUFUuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBA
QAogCiBuYW1lc3BhY2UgSlNDIHsKIAotaW5saW5lIGJvb2wgaXNBUk12N0lESVZTdXBwb3J0ZWQo
KQorY29uc3RleHByIGJvb2wgaXNBUk12N0lESVZTdXBwb3J0ZWQoKQogewogI2lmIEhBVkUoQVJN
X0lESVZfSU5TVFJVQ1RJT05TKQogICAgIHJldHVybiB0cnVlOwpAQCAtMzgsNyArMzgsNyBAQCBp
bmxpbmUgYm9vbCBpc0FSTXY3SURJVlN1cHBvcnRlZCgpCiAjZW5kaWYKIH0KIAotaW5saW5lIGJv
b2wgaXNBUk02NCgpCitjb25zdGV4cHIgYm9vbCBpc0FSTTY0KCkKIHsKICNpZiBDUFUoQVJNNjQp
CiAgICAgcmV0dXJuIHRydWU7CkBAIC00Nyw3ICs0Nyw3IEBAIGlubGluZSBib29sIGlzQVJNNjQo
KQogI2VuZGlmCiB9CiAKLWlubGluZSBib29sIGlzWDg2KCkKK2NvbnN0ZXhwciBib29sIGlzWDg2
KCkKIHsKICNpZiBDUFUoWDg2XzY0KSB8fCBDUFUoWDg2KQogICAgIHJldHVybiB0cnVlOwpAQCAt
NTYsNyArNTYsNyBAQCBpbmxpbmUgYm9vbCBpc1g4NigpCiAjZW5kaWYKIH0KIAotaW5saW5lIGJv
b2wgaXNYODZfNjQoKQorY29uc3RleHByIGJvb2wgaXNYODZfNjQoKQogewogI2lmIENQVShYODZf
NjQpCiAgICAgcmV0dXJuIHRydWU7CkBAIC02NSw3ICs2NSw3IEBAIGlubGluZSBib29sIGlzWDg2
XzY0KCkKICNlbmRpZgogfQogCi1pbmxpbmUgYm9vbCBpczY0Qml0KCkKK2NvbnN0ZXhwciBib29s
IGlzNjRCaXQoKQogewogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgcmV0dXJuIHRydWU7CkBAIC03
NCwxMiArNzQsMTIgQEAgaW5saW5lIGJvb2wgaXM2NEJpdCgpCiAjZW5kaWYKIH0KIAotaW5saW5l
IGJvb2wgaXMzMkJpdCgpCitjb25zdGV4cHIgYm9vbCBpczMyQml0KCkKIHsKICAgICByZXR1cm4g
IWlzNjRCaXQoKTsKIH0KIAotaW5saW5lIGJvb2wgaXNNSVBTKCkKK2NvbnN0ZXhwciBib29sIGlz
TUlQUygpCiB7CiAjaWYgQ1BVKE1JUFMpCiAgICAgcmV0dXJuIHRydWU7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuaAkocmV2aXNpb24g
MjE3ODk0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTkyLDYgKzkyLDcgQEAgc3RhdGljIGNvbnN0IFNwZWN1bGF0
ZWRUeXBlIFNwZWNQcmltaXRpdgogc3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNFbXB0
eSAgICAgICAgICAgICAgPSAxdWxsIDw8IDM0OyAvLyBJdCdzIGRlZmluaXRlbHkgYW4gZW1wdHkg
dmFsdWUgbWFya2VyLgogc3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNCeXRlY29kZVRv
cCAgICAgICAgPSBTcGVjSGVhcFRvcCB8IFNwZWNFbXB0eTsgLy8gSXQgY2FuIGJlIGFueSBvZiB0
aGUgYWJvdmUsIGV4Y2VwdCBmb3IgU3BlY0ludDUyT25seSBhbmQgU3BlY0RvdWJsZUltcHVyZU5h
Ti4gQ29ycmVzcG9uZHMgdG8gd2hhdCBjb3VsZCBiZSBmb3VuZCBpbiBhIGJ5dGVjb2RlIGxvY2Fs
Lgogc3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNGdWxsVG9wICAgICAgICAgICAgPSBT
cGVjQnl0ZWNvZGVUb3AgfCBTcGVjRnVsbE51bWJlcjsgLy8gSXQgY2FuIGJlIGFueXRoaW5nIHRo
YXQgYnl0ZWNvZGUgY291bGQgc2VlIHBsdXMgZXhvdGljIGVuY29kaW5ncyBvZiBudW1iZXJzLgor
c3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNDZWxsT3JFbXB0eSAgICAgICAgPSBTcGVj
Q2VsbCB8IFNwZWNFbXB0eTsKIAogdHlwZWRlZiBib29sICgqU3BlY3VsYXRlZFR5cGVDaGVja2Vy
KShTcGVjdWxhdGVkVHlwZSk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMjE3ODk0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTM3MSw5ICsxMzcxLDkgQEAgR1BSUmVnIFNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3Vs
YXRlQ2VsbAogewogICAgIEFic3RyYWN0VmFsdWUmIHZhbHVlID0gbV9zdGF0ZS5mb3JOb2RlKGVk
Z2UpOwogICAgIFNwZWN1bGF0ZWRUeXBlIHR5cGUgPSB2YWx1ZS5tX3R5cGU7Ci0gICAgQVNTRVJU
KChlZGdlLnVzZUtpbmQoKSAhPSBLbm93bkNlbGxVc2UgJiYgZWRnZS51c2VLaW5kKCkgIT0gS25v
d25TdHJpbmdVc2UpIHx8ICEodmFsdWUubV90eXBlICYgflNwZWNDZWxsKSk7CisgICAgQVNTRVJU
KChlZGdlLnVzZUtpbmQoKSAhPSBLbm93bkNlbGxVc2UgJiYgZWRnZS51c2VLaW5kKCkgIT0gS25v
d25TdHJpbmdVc2UpIHx8ICEodmFsdWUubV90eXBlICYgfmNlbGxDaGVja1R5cGVQYXNzdGhyb3Vn
aCkpOwogCi0gICAgbV9pbnRlcnByZXRlci5maWx0ZXIodmFsdWUsIFNwZWNDZWxsKTsKKyAgICBt
X2ludGVycHJldGVyLmZpbHRlcih2YWx1ZSwgY2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKTsKICAg
ICBpZiAodmFsdWUuaXNDbGVhcigpKSB7CiAgICAgICAgIHRlcm1pbmF0ZVNwZWN1bGF0aXZlRXhl
Y3V0aW9uKFVuY291bnRhYmxlLCBKU1ZhbHVlUmVncygpLCAwKTsKICAgICAgICAgcmV0dXJuIGFs
bG9jYXRlKCk7CkBAIC0xMzk4LDcgKzEzOTgsNyBAQCBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZp
bGxTcGVjdWxhdGVDZWxsCiAgICAgICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6YWRkcmVz
c0Zvcih2aXJ0dWFsUmVnaXN0ZXIpLCBncHIpOwogCiAgICAgICAgIGluZm8uZmlsbEpTVmFsdWUo
Km1fc3RyZWFtLCBncHIsIERhdGFGb3JtYXRKUyk7Ci0gICAgICAgIGlmICh0eXBlICYgflNwZWND
ZWxsKQorICAgICAgICBpZiAodHlwZSAmIH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpCiAgICAg
ICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpTVmFsdWVSZWdzKGdwciksIGVkZ2Us
IG1faml0LmJyYW5jaElmTm90Q2VsbChKU1ZhbHVlUmVncyhncHIpKSk7CiAgICAgICAgIGluZm8u
ZmlsbEpTVmFsdWUoKm1fc3RyZWFtLCBncHIsIERhdGFGb3JtYXRKU0NlbGwpOwogICAgICAgICBy
ZXR1cm4gZ3ByOwpAQCAtMTQxOSw3ICsxNDE5LDcgQEAgR1BSUmVnIFNwZWN1bGF0aXZlSklUOjpm
aWxsU3BlY3VsYXRlQ2VsbAogICAgIGNhc2UgRGF0YUZvcm1hdEpTOiB7CiAgICAgICAgIEdQUlJl
ZyBncHIgPSBpbmZvLmdwcigpOwogICAgICAgICBtX2dwcnMubG9jayhncHIpOwotICAgICAgICBp
ZiAodHlwZSAmIH5TcGVjQ2VsbCkKKyAgICAgICAgaWYgKHR5cGUgJiB+Y2VsbENoZWNrVHlwZVBh
c3N0aHJvdWdoKQogICAgICAgICAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRUeXBlLCBKU1ZhbHVl
UmVncyhncHIpLCBlZGdlLCBtX2ppdC5icmFuY2hJZk5vdENlbGwoSlNWYWx1ZVJlZ3MoZ3ByKSkp
OwogICAgICAgICBpbmZvLmZpbGxKU1ZhbHVlKCptX3N0cmVhbSwgZ3ByLCBEYXRhRm9ybWF0SlND
ZWxsKTsKICAgICAgICAgcmV0dXJuIGdwcjsKQEAgLTE2MzAsMTAgKzE2MzAsMTAgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU9iamVjdFRvT2JqZQogICAgIC8vIFdlIGtub3cgdGhhdCB3
aXRoaW4gdGhpcyBicmFuY2gsIHJpZ2h0Q2hpbGQgbXVzdCBiZSBhIGNlbGwuIAogICAgIGlmICht
YXNxdWVyYWRlc0FzVW5kZWZpbmVkV2F0Y2hwb2ludFZhbGlkKSB7CiAgICAgICAgIERGR19UWVBF
X0NIRUNLKAotICAgICAgICAgICAgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwgKH5T
cGVjQ2VsbCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChvcDJHUFIpKTsK
KyAgICAgICAgICAgIEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQsICh+Y2VsbENoZWNr
VHlwZVBhc3N0aHJvdWdoKSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KG9w
MkdQUikpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIERGR19UWVBFX0NIRUNLKAotICAgICAgICAg
ICAgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwgKH5TcGVjQ2VsbCkgfCBTcGVjT2Jq
ZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChvcDJHUFIpKTsKKyAgICAgICAgICAgIEpTVmFs
dWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQsICh+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKSB8
IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KG9wMkdQUikpOwogICAgICAgICBz
cGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQs
CiAgICAgICAgICAgICBtX2ppdC5icmFuY2hUZXN0OCgKICAgICAgICAgICAgICAgICBNYWNyb0Fz
c2VtYmxlcjo6Tm9uWmVybywgCkBAIC0xNjUxLDEyICsxNjUxLDEyIEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVPYmplY3RUb09iamUKICAgICAKICAgICAvLyBXZSBrbm93IHRoYXQgd2l0
aGluIHRoaXMgYnJhbmNoLCByaWdodENoaWxkIG11c3Qgbm90IGJlIGEgY2VsbC4gQ2hlY2sgaWYg
dGhhdCBpcyBlbm91Z2ggdG8KICAgICAvLyBwcm92ZSB0aGF0IGl0IGlzIGVpdGhlciBudWxsIG9y
IHVuZGVmaW5lZC4KLSAgICBpZiAobmVlZHNUeXBlQ2hlY2socmlnaHRDaGlsZCwgU3BlY0NlbGwg
fCBTcGVjT3RoZXIpKSB7CisgICAgaWYgKG5lZWRzVHlwZUNoZWNrKHJpZ2h0Q2hpbGQsIGNlbGxD
aGVja1R5cGVQYXNzdGhyb3VnaCB8IFNwZWNPdGhlcikpIHsKICAgICAgICAgbV9qaXQubW92ZShv
cDJHUFIsIHJlc3VsdEdQUik7CiAgICAgICAgIG1faml0LmFuZDY0KE1hY3JvQXNzZW1ibGVyOjpU
cnVzdGVkSW1tMzIoflRhZ0JpdFVuZGVmaW5lZCksIHJlc3VsdEdQUik7CiAgICAgICAgIAogICAg
ICAgICB0eXBlQ2hlY2soCi0gICAgICAgICAgICBKU1ZhbHVlUmVncyhvcDJHUFIpLCByaWdodENo
aWxkLCBTcGVjQ2VsbCB8IFNwZWNPdGhlciwKKyAgICAgICAgICAgIEpTVmFsdWVSZWdzKG9wMkdQ
UiksIHJpZ2h0Q2hpbGQsIGNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCB8IFNwZWNPdGhlciwKICAg
ICAgICAgICAgIG1faml0LmJyYW5jaDY0KAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVy
OjpOb3RFcXVhbCwgcmVzdWx0R1BSLAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpU
cnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkpOwpAQCAtMTcwNCwxMCArMTcwNCwxMCBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlUGVlcEhvbGVPYmplCiAgICAgLy8gV2Uga25vdyB0aGF0IHdp
dGhpbiB0aGlzIGJyYW5jaCwgcmlnaHRDaGlsZCBtdXN0IGJlIGEgY2VsbC4gCiAgICAgaWYgKG1h
c3F1ZXJhZGVzQXNVbmRlZmluZWRXYXRjaHBvaW50VmFsaWQpIHsKICAgICAgICAgREZHX1RZUEVf
Q0hFQ0soCi0gICAgICAgICAgICBKU1ZhbHVlUmVncyhvcDJHUFIpLCByaWdodENoaWxkLCAoflNw
ZWNDZWxsKSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KG9wMkdQUikpOwor
ICAgICAgICAgICAgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwgKH5jZWxsQ2hlY2tU
eXBlUGFzc3Rocm91Z2gpIHwgU3BlY09iamVjdCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3Qob3Ay
R1BSKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgREZHX1RZUEVfQ0hFQ0soCi0gICAgICAgICAg
ICBKU1ZhbHVlUmVncyhvcDJHUFIpLCByaWdodENoaWxkLCAoflNwZWNDZWxsKSB8IFNwZWNPYmpl
Y3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KG9wMkdQUikpOworICAgICAgICAgICAgSlNWYWx1
ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwgKH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpIHwg
U3BlY09iamVjdCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3Qob3AyR1BSKSk7CiAgICAgICAgIHNw
ZWN1bGF0aW9uQ2hlY2soQmFkVHlwZSwgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwK
ICAgICAgICAgICAgIG1faml0LmJyYW5jaFRlc3Q4KAogICAgICAgICAgICAgICAgIE1hY3JvQXNz
ZW1ibGVyOjpOb25aZXJvLCAKQEAgLTE3MjIsNyArMTcyMiw3IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVQZWVwSG9sZU9iamUKICAgICAKICAgICAvLyBXZSBrbm93IHRoYXQgd2l0aGlu
IHRoaXMgYnJhbmNoLCByaWdodENoaWxkIG11c3Qgbm90IGJlIGEgY2VsbC4gQ2hlY2sgaWYgdGhh
dCBpcyBlbm91Z2ggdG8KICAgICAvLyBwcm92ZSB0aGF0IGl0IGlzIGVpdGhlciBudWxsIG9yIHVu
ZGVmaW5lZC4KLSAgICBpZiAoIW5lZWRzVHlwZUNoZWNrKHJpZ2h0Q2hpbGQsIFNwZWNDZWxsIHwg
U3BlY090aGVyKSkKKyAgICBpZiAoIW5lZWRzVHlwZUNoZWNrKHJpZ2h0Q2hpbGQsIGNlbGxDaGVj
a1R5cGVQYXNzdGhyb3VnaCB8IFNwZWNPdGhlcikpCiAgICAgICAgIHJpZ2h0Tm90Q2VsbC5saW5r
KCZtX2ppdCk7CiAgICAgZWxzZSB7CiAgICAgICAgIGp1bXAobm90VGFrZW4sIEZvcmNlSnVtcCk7
CkBAIC0xNzMyLDcgKzE3MzIsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUGVlcEhv
bGVPYmplCiAgICAgICAgIG1faml0LmFuZDY0KE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIo
flRhZ0JpdFVuZGVmaW5lZCksIHJlc3VsdEdQUik7CiAgICAgICAgIAogICAgICAgICB0eXBlQ2hl
Y2soCi0gICAgICAgICAgICBKU1ZhbHVlUmVncyhvcDJHUFIpLCByaWdodENoaWxkLCBTcGVjQ2Vs
bCB8IFNwZWNPdGhlciwgbV9qaXQuYnJhbmNoNjQoCisgICAgICAgICAgICBKU1ZhbHVlUmVncyhv
cDJHUFIpLCByaWdodENoaWxkLCBjZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjT3RoZXIs
IG1faml0LmJyYW5jaDY0KAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpOb3RFcXVh
bCwgcmVzdWx0R1BSLAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1t
NjQoVmFsdWVOdWxsKSkpOwogICAgIH0KQEAgLTE4NjYsMTAgKzE4NjYsMTAgQEAgdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZU9iamVjdE9yT3RoZQogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1w
IG5vdENlbGwgPSBtX2ppdC5icmFuY2hJZk5vdENlbGwoSlNWYWx1ZVJlZ3ModmFsdWVHUFIpKTsK
ICAgICBpZiAobWFzcXVlcmFkZXNBc1VuZGVmaW5lZFdhdGNocG9pbnRWYWxpZCkgewogICAgICAg
ICBERkdfVFlQRV9DSEVDSygKLSAgICAgICAgICAgIEpTVmFsdWVSZWdzKHZhbHVlR1BSKSwgbm9k
ZVVzZSwgKH5TcGVjQ2VsbCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdCh2
YWx1ZUdQUikpOworICAgICAgICAgICAgSlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBub2RlVXNlLCAo
fmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5v
dE9iamVjdCh2YWx1ZUdQUikpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIERGR19UWVBFX0NIRUNL
KAotICAgICAgICAgICAgSlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBub2RlVXNlLCAoflNwZWNDZWxs
KSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KHZhbHVlR1BSKSk7CisgICAg
ICAgICAgICBKU1ZhbHVlUmVncyh2YWx1ZUdQUiksIG5vZGVVc2UsICh+Y2VsbENoZWNrVHlwZVBh
c3N0aHJvdWdoKSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KHZhbHVlR1BS
KSk7CiAKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaXNOb3RNYXNxdWVyYWRlc0FzVW5k
ZWZpbmVkID0gCiAgICAgICAgICAgICBtX2ppdC5icmFuY2hUZXN0OCgKQEAgLTE4OTEsMTEgKzE4
OTEsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU9iamVjdE9yT3RoZQogICAgIAog
ICAgIG5vdENlbGwubGluaygmbV9qaXQpOwogCi0gICAgaWYgKG5lZWRzVHlwZUNoZWNrKG5vZGVV
c2UsIFNwZWNDZWxsIHwgU3BlY090aGVyKSkgeworICAgIGlmIChuZWVkc1R5cGVDaGVjayhub2Rl
VXNlLCBjZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjT3RoZXIpKSB7CiAgICAgICAgIG1f
aml0Lm1vdmUodmFsdWVHUFIsIHJlc3VsdEdQUik7CiAgICAgICAgIG1faml0LmFuZDY0KE1hY3Jv
QXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoflRhZ0JpdFVuZGVmaW5lZCksIHJlc3VsdEdQUik7CiAg
ICAgICAgIHR5cGVDaGVjaygKLSAgICAgICAgICAgIEpTVmFsdWVSZWdzKHZhbHVlR1BSKSwgbm9k
ZVVzZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIsIG1faml0LmJyYW5jaDY0KAorICAgICAgICAgICAg
SlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBub2RlVXNlLCBjZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gg
fCBTcGVjT3RoZXIsIG1faml0LmJyYW5jaDY0KAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1i
bGVyOjpOb3RFcXVhbCwgCiAgICAgICAgICAgICAgICAgcmVzdWx0R1BSLCAKICAgICAgICAgICAg
ICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsKQEAgLTIwMTgs
MTAgKzIwMTgsMTAgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdE9iamVjdE9yT3RoZXJCcgog
ICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIG5vdENlbGwgPSBtX2ppdC5icmFuY2hJZk5vdENlbGwo
SlNWYWx1ZVJlZ3ModmFsdWVHUFIpKTsKICAgICBpZiAobWFzcXVlcmFkZXNBc1VuZGVmaW5lZFdh
dGNocG9pbnRJc1N0aWxsVmFsaWQoKSkgewogICAgICAgICBERkdfVFlQRV9DSEVDSygKLSAgICAg
ICAgICAgIEpTVmFsdWVSZWdzKHZhbHVlR1BSKSwgbm9kZVVzZSwgKH5TcGVjQ2VsbCkgfCBTcGVj
T2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdCh2YWx1ZUdQUikpOworICAgICAgICAgICAg
SlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBub2RlVXNlLCAofmNlbGxDaGVja1R5cGVQYXNzdGhyb3Vn
aCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdCh2YWx1ZUdQUikpOwogICAg
IH0gZWxzZSB7CiAgICAgICAgIERGR19UWVBFX0NIRUNLKAotICAgICAgICAgICAgSlNWYWx1ZVJl
Z3ModmFsdWVHUFIpLCBub2RlVXNlLCAoflNwZWNDZWxsKSB8IFNwZWNPYmplY3QsIG1faml0LmJy
YW5jaElmTm90T2JqZWN0KHZhbHVlR1BSKSk7CisgICAgICAgICAgICBKU1ZhbHVlUmVncyh2YWx1
ZUdQUiksIG5vZGVVc2UsICh+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKSB8IFNwZWNPYmplY3Qs
IG1faml0LmJyYW5jaElmTm90T2JqZWN0KHZhbHVlR1BSKSk7CiAKICAgICAgICAgSklUQ29tcGls
ZXI6Okp1bXAgaXNOb3RNYXNxdWVyYWRlc0FzVW5kZWZpbmVkID0gbV9qaXQuYnJhbmNoVGVzdDgo
CiAgICAgICAgICAgICBKSVRDb21waWxlcjo6WmVybywgCkBAIC0yMDQxLDExICsyMDQxLDExIEBA
IHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRPYmplY3RPck90aGVyQnIKICAgICAKICAgICBub3RD
ZWxsLmxpbmsoJm1faml0KTsKICAgICAKLSAgICBpZiAobmVlZHNUeXBlQ2hlY2sobm9kZVVzZSwg
U3BlY0NlbGwgfCBTcGVjT3RoZXIpKSB7CisgICAgaWYgKG5lZWRzVHlwZUNoZWNrKG5vZGVVc2Us
IGNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCB8IFNwZWNPdGhlcikpIHsKICAgICAgICAgbV9qaXQu
bW92ZSh2YWx1ZUdQUiwgc2NyYXRjaEdQUik7CiAgICAgICAgIG1faml0LmFuZDY0KE1hY3JvQXNz
ZW1ibGVyOjpUcnVzdGVkSW1tMzIoflRhZ0JpdFVuZGVmaW5lZCksIHNjcmF0Y2hHUFIpOwogICAg
ICAgICB0eXBlQ2hlY2soCi0gICAgICAgICAgICBKU1ZhbHVlUmVncyh2YWx1ZUdQUiksIG5vZGVV
c2UsIFNwZWNDZWxsIHwgU3BlY090aGVyLCBtX2ppdC5icmFuY2g2NCgKKyAgICAgICAgICAgIEpT
VmFsdWVSZWdzKHZhbHVlR1BSKSwgbm9kZVVzZSwgY2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoIHwg
U3BlY090aGVyLCBtX2ppdC5icmFuY2g2NCgKICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxl
cjo6Tm90RXF1YWwsIHNjcmF0Y2hHUFIsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tNjQoVmFs
dWVOdWxsKSkpOwogICAgIH0KICAgICBqdW1wKG5vdFRha2VuKTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAyMTc4
OTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjI1MCw3ICsyMjUwLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZVZhbHVlVG9JbnQzMgogICAgICAgICAgICAgICAgIEpJVENvbXBpbGVyOjpKdW1wIGlz
TnVtYmVyID0gbV9qaXQuYnJhbmNoVGVzdDY0KE1hY3JvQXNzZW1ibGVyOjpOb25aZXJvLCBncHIs
IEdQUkluZm86OnRhZ1R5cGVOdW1iZXJSZWdpc3Rlcik7CiAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgREZHX1RZUEVfQ0hFQ0soCi0gICAgICAgICAgICAgICAgICAgIEpTVmFsdWVS
ZWdzKGdwciksIG5vZGUtPmNoaWxkMSgpLCB+U3BlY0NlbGwsIG1faml0LmJyYW5jaElmQ2VsbChK
U1ZhbHVlUmVncyhncHIpKSk7CisgICAgICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzKGdwciks
IG5vZGUtPmNoaWxkMSgpLCB+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoLCBtX2ppdC5icmFuY2hJ
ZkNlbGwoSlNWYWx1ZVJlZ3MoZ3ByKSkpOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgIC8vIEl0J3Mgbm90IGEgY2VsbDogc28gdHJ1ZSB0dXJucyBpbnRvIDEgYW5kIGFsbCBlbHNl
IHR1cm5zIGludG8gMC4KICAgICAgICAgICAgICAgICBtX2ppdC5jb21wYXJlNjQoSklUQ29tcGls
ZXI6OkVxdWFsLCBncHIsIFRydXN0ZWRJbW0zMihWYWx1ZVRydWUpLCByZXN1bHRHcHIpOwpAQCAt
MjQ3OCw3ICsyNDc4LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZURvdWJsZVJlcChO
bwogICAgICAgICAgICAgSklUQ29tcGlsZXI6Okp1bXAgaXNOdWxsID0gbV9qaXQuYnJhbmNoNjQo
SklUQ29tcGlsZXI6OkVxdWFsLCBvcDFHUFIsIFRydXN0ZWRJbW02NChWYWx1ZU51bGwpKTsKICAg
ICAgICAgICAgIGRvbmUuYXBwZW5kKGlzTnVsbCk7CiAKLSAgICAgICAgICAgIERGR19UWVBFX0NI
RUNLKEpTVmFsdWVSZWdzKG9wMUdQUiksIG5vZGUtPmNoaWxkMSgpLCB+U3BlY0NlbGwsCisgICAg
ICAgICAgICBERkdfVFlQRV9DSEVDSyhKU1ZhbHVlUmVncyhvcDFHUFIpLCBub2RlLT5jaGlsZDEo
KSwgfmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCwKICAgICAgICAgICAgICAgICBtX2ppdC5icmFu
Y2hUZXN0NjQoSklUQ29tcGlsZXI6Olplcm8sIG9wMUdQUiwgVHJ1c3RlZEltbTMyKHN0YXRpY19j
YXN0PGludDMyX3Q+KFRhZ0JpdEJvb2wpKSkpOwogCiAgICAgICAgICAgICBKSVRDb21waWxlcjo6
SnVtcCBpc0ZhbHNlID0gbV9qaXQuYnJhbmNoNjQoSklUQ29tcGlsZXI6OkVxdWFsLCBvcDFHUFIs
IFRydXN0ZWRJbW02NChWYWx1ZUZhbHNlKSk7CkBAIC02MDczLDE4ICs2MDczLDE5IEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVMb2dpY2FsTm90U3QKICAgICBKSVRDb21waWxlcjo6SnVt
cCBub3RDZWxsID0gbV9qaXQuYnJhbmNoSWZOb3RDZWxsKHZhbHVlUmVncyk7CiAgICAgR1BSUmVn
IGNlbGxHUFIgPSB2YWx1ZVJlZ3MucGF5bG9hZEdQUigpOwogICAgIERGR19UWVBFX0NIRUNLKAot
ICAgICAgICB2YWx1ZVJlZ3MsIG5vZGUtPmNoaWxkMSgpLCAoflNwZWNDZWxsKSB8IFNwZWNTdHJp
bmcsIG1faml0LmJyYW5jaElmTm90U3RyaW5nKGNlbGxHUFIpKTsKKyAgICAgICAgdmFsdWVSZWdz
LCBub2RlLT5jaGlsZDEoKSwgKH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpIHwgU3BlY1N0cmlu
ZywgbV9qaXQuYnJhbmNoSWZOb3RTdHJpbmcoY2VsbEdQUikpOwogICAgIG1faml0LnRlc3QzMigK
ICAgICAgICAgSklUQ29tcGlsZXI6Olplcm8sIEpJVENvbXBpbGVyOjpBZGRyZXNzKGNlbGxHUFIs
IEpTU3RyaW5nOjpvZmZzZXRPZkxlbmd0aCgpKSwKICAgICAgICAgSklUQ29tcGlsZXI6OlRydXN0
ZWRJbW0zMigtMSksIHRlbXBHUFIpOwogICAgIEpJVENvbXBpbGVyOjpKdW1wIGRvbmUgPSBtX2pp
dC5qdW1wKCk7CiAgICAgbm90Q2VsbC5saW5rKCZtX2ppdCk7CiAgICAgREZHX1RZUEVfQ0hFQ0so
Ci0gICAgICAgIHZhbHVlUmVncywgbm9kZS0+Y2hpbGQxKCksIFNwZWNDZWxsIHwgU3BlY090aGVy
LCBtX2ppdC5icmFuY2hJZk5vdE90aGVyKHZhbHVlUmVncywgdGVtcEdQUikpOworICAgICAgICB2
YWx1ZVJlZ3MsIG5vZGUtPmNoaWxkMSgpLCBjZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVj
T3RoZXIsIG1faml0LmJyYW5jaElmTm90T3RoZXIodmFsdWVSZWdzLCB0ZW1wR1BSKSk7CiAgICAg
bV9qaXQubW92ZShUcnVzdGVkSW1tMzIoMSksIHRlbXBHUFIpOwogICAgIGRvbmUubGluaygmbV9q
aXQpOwogCiAgICAgdW5ibGVzc2VkQm9vbGVhblJlc3VsdCh0ZW1wR1BSLCBub2RlKTsKKwogfQog
CiB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0U3RyaW5nQnJhbmNoKEVkZ2Ugbm9kZVVzZSwgQmFz
aWNCbG9jayogdGFrZW4sIEJhc2ljQmxvY2sqIG5vdFRha2VuKQpAQCAtNjEwNSwxNCArNjEwNiwx
NCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0U3RyaW5nT3JPdGhlckJyCiAgICAgCiAgICAg
SklUQ29tcGlsZXI6Okp1bXAgbm90Q2VsbCA9IG1faml0LmJyYW5jaElmTm90Q2VsbCh2YWx1ZVJl
Z3MpOwogICAgIEdQUlJlZyBjZWxsR1BSID0gdmFsdWVSZWdzLnBheWxvYWRHUFIoKTsKLSAgICBE
RkdfVFlQRV9DSEVDSyh2YWx1ZVJlZ3MsIG5vZGVVc2UsICh+U3BlY0NlbGwpIHwgU3BlY1N0cmlu
ZywgbV9qaXQuYnJhbmNoSWZOb3RTdHJpbmcoY2VsbEdQUikpOworICAgIERGR19UWVBFX0NIRUNL
KHZhbHVlUmVncywgbm9kZVVzZSwgKH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpIHwgU3BlY1N0
cmluZywgbV9qaXQuYnJhbmNoSWZOb3RTdHJpbmcoY2VsbEdQUikpOwogICAgIGJyYW5jaFRlc3Qz
MigKICAgICAgICAgSklUQ29tcGlsZXI6Olplcm8sIEpJVENvbXBpbGVyOjpBZGRyZXNzKGNlbGxH
UFIsIEpTU3RyaW5nOjpvZmZzZXRPZkxlbmd0aCgpKSwKICAgICAgICAgSklUQ29tcGlsZXI6OlRy
dXN0ZWRJbW0zMigtMSksIG5vdFRha2VuKTsKICAgICBqdW1wKHRha2VuLCBGb3JjZUp1bXApOwog
ICAgIG5vdENlbGwubGluaygmbV9qaXQpOwogICAgIERGR19UWVBFX0NIRUNLKAotICAgICAgICB2
YWx1ZVJlZ3MsIG5vZGVVc2UsIFNwZWNDZWxsIHwgU3BlY090aGVyLCBtX2ppdC5icmFuY2hJZk5v
dE90aGVyKHZhbHVlUmVncywgdGVtcEdQUikpOworICAgICAgICB2YWx1ZVJlZ3MsIG5vZGVVc2Us
IGNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCB8IFNwZWNPdGhlciwgbV9qaXQuYnJhbmNoSWZOb3RP
dGhlcih2YWx1ZVJlZ3MsIHRlbXBHUFIpKTsKICAgICBqdW1wKG5vdFRha2VuKTsKICAgICBub1Jl
c3VsdChtX2N1cnJlbnROb2RlKTsKIH0KQEAgLTg0MDYsNyArODQwNyw3IEBAIHZvaWQgU3BlY3Vs
YXRpdmVKSVQ6OnNwZWN1bGF0ZUJvb2xlYW4oRWQKIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3Bl
Y3VsYXRlQ2VsbChFZGdlIGVkZ2UpCiB7Ci0gICAgaWYgKCFuZWVkc1R5cGVDaGVjayhlZGdlLCBT
cGVjQ2VsbCkpCisgICAgaWYgKCFuZWVkc1R5cGVDaGVjayhlZGdlLCBjZWxsQ2hlY2tUeXBlUGFz
c3Rocm91Z2gpKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgKFNwZWN1bGF0ZUNlbGxPcGVy
YW5kKHRoaXMsIGVkZ2UpKS5ncHIoKTsKQEAgLTg0MTQsNyArODQxNSw3IEBAIHZvaWQgU3BlY3Vs
YXRpdmVKSVQ6OnNwZWN1bGF0ZUNlbGwoRWRnZSAKIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3Bl
Y3VsYXRlQ2VsbE9yT3RoZXIoRWRnZSBlZGdlKQogewotICAgIGlmICghbmVlZHNUeXBlQ2hlY2so
ZWRnZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIpKQorICAgIGlmICghbmVlZHNUeXBlQ2hlY2soZWRn
ZSwgY2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoIHwgU3BlY090aGVyKSkKICAgICAgICAgcmV0dXJu
OwogICAgIAogICAgIEpTVmFsdWVPcGVyYW5kIG9wZXJhbmQodGhpcywgZWRnZSwgTWFudWFsT3Bl
cmFuZFNwZWN1bGF0aW9uKTsKQEAgLTg0MjMsNyArODQyNCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OnNwZWN1bGF0ZUNlbGxPck90aGUKIAogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIG9rID0g
bV9qaXQuYnJhbmNoSWZDZWxsKG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSk7CiAgICAgREZHX1RZUEVf
Q0hFQ0soCi0gICAgICAgIG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSwgZWRnZSwgU3BlY0NlbGwgfCBT
cGVjT3RoZXIsCisgICAgICAgIG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSwgZWRnZSwgY2VsbENoZWNr
VHlwZVBhc3N0aHJvdWdoIHwgU3BlY090aGVyLAogICAgICAgICBtX2ppdC5icmFuY2hJZk5vdE90
aGVyKG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSwgdGVtcEdQUikpOwogICAgIG9rLmxpbmsoJm1faml0
KTsKIH0KQEAgLTg1NTIsMTEgKzg1NTMsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3Vs
YXRlT2JqZWN0T3JPdAogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIG5vdENlbGwgPSBtX2ppdC5i
cmFuY2hJZk5vdENlbGwob3BlcmFuZC5qc1ZhbHVlUmVncygpKTsKICAgICBHUFJSZWcgZ3ByID0g
b3BlcmFuZC5qc1ZhbHVlUmVncygpLnBheWxvYWRHUFIoKTsKICAgICBERkdfVFlQRV9DSEVDSygK
LSAgICAgICAgb3BlcmFuZC5qc1ZhbHVlUmVncygpLCBlZGdlLCAoflNwZWNDZWxsKSB8IFNwZWNP
YmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KGdwcikpOworICAgICAgICBvcGVyYW5kLmpz
VmFsdWVSZWdzKCksIGVkZ2UsICh+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKSB8IFNwZWNPYmpl
Y3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KGdwcikpOwogICAgIE1hY3JvQXNzZW1ibGVyOjpK
dW1wIGRvbmUgPSBtX2ppdC5qdW1wKCk7CiAgICAgbm90Q2VsbC5saW5rKCZtX2ppdCk7CiAgICAg
REZHX1RZUEVfQ0hFQ0soCi0gICAgICAgIG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSwgZWRnZSwgU3Bl
Y0NlbGwgfCBTcGVjT3RoZXIsCisgICAgICAgIG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSwgZWRnZSwg
Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoIHwgU3BlY090aGVyLAogICAgICAgICBtX2ppdC5icmFu
Y2hJZk5vdE90aGVyKG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSwgdGVtcEdQUikpOwogICAgIGRvbmUu
bGluaygmbV9qaXQpOwogfQpAQCAtODU2NCwxNyArODU2NSwxNyBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpzcGVjdWxhdGVPYmplY3RPck90CiB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVT
dHJpbmcoRWRnZSBlZGdlLCBHUFJSZWcgY2VsbCkKIHsKICAgICBERkdfVFlQRV9DSEVDSygKLSAg
ICAgICAgSlNWYWx1ZVNvdXJjZTo6dW5ib3hlZENlbGwoY2VsbCksIGVkZ2UsIFNwZWNTdHJpbmcg
fCB+U3BlY0NlbGwsIG1faml0LmJyYW5jaElmTm90U3RyaW5nKGNlbGwpKTsKKyAgICAgICAgSlNW
YWx1ZVNvdXJjZTo6dW5ib3hlZENlbGwoY2VsbCksIGVkZ2UsIFNwZWNTdHJpbmcgfCB+Y2VsbENo
ZWNrVHlwZVBhc3N0aHJvdWdoLCBtX2ppdC5icmFuY2hJZk5vdFN0cmluZyhjZWxsKSk7CiB9CiAK
IHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZVN0cmluZ09yT3RoZXIoRWRnZSBlZGdlLCBK
U1ZhbHVlUmVncyByZWdzLCBHUFJSZWcgc2NyYXRjaCkKIHsKICAgICBKSVRDb21waWxlcjo6SnVt
cCBub3RDZWxsID0gbV9qaXQuYnJhbmNoSWZOb3RDZWxsKHJlZ3MpOwogICAgIEdQUlJlZyBjZWxs
ID0gcmVncy5wYXlsb2FkR1BSKCk7Ci0gICAgREZHX1RZUEVfQ0hFQ0socmVncywgZWRnZSwgKH5T
cGVjQ2VsbCkgfCBTcGVjU3RyaW5nLCBtX2ppdC5icmFuY2hJZk5vdFN0cmluZyhjZWxsKSk7Cisg
ICAgREZHX1RZUEVfQ0hFQ0socmVncywgZWRnZSwgKH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gp
IHwgU3BlY1N0cmluZywgbV9qaXQuYnJhbmNoSWZOb3RTdHJpbmcoY2VsbCkpOwogICAgIEpJVENv
bXBpbGVyOjpKdW1wIGRvbmUgPSBtX2ppdC5qdW1wKCk7CiAgICAgbm90Q2VsbC5saW5rKCZtX2pp
dCk7Ci0gICAgREZHX1RZUEVfQ0hFQ0socmVncywgZWRnZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIs
IG1faml0LmJyYW5jaElmTm90T3RoZXIocmVncywgc2NyYXRjaCkpOworICAgIERGR19UWVBFX0NI
RUNLKHJlZ3MsIGVkZ2UsIGNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCB8IFNwZWNPdGhlciwgbV9q
aXQuYnJhbmNoSWZOb3RPdGhlcihyZWdzLCBzY3JhdGNoKSk7CiAgICAgZG9uZS5saW5rKCZtX2pp
dCk7CiB9CiAKQEAgLTg3MDIsNyArODcwMyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1
bGF0ZU5vdFN0cmluZ1YKIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlU3ltYm9sKEVk
Z2UgZWRnZSwgR1BSUmVnIGNlbGwpCiB7Ci0gICAgREZHX1RZUEVfQ0hFQ0soSlNWYWx1ZVNvdXJj
ZTo6dW5ib3hlZENlbGwoY2VsbCksIGVkZ2UsIFNwZWNTeW1ib2wsIG1faml0LmJyYW5jaElmTm90
U3ltYm9sKGNlbGwpKTsKKyAgICBERkdfVFlQRV9DSEVDSyhKU1ZhbHVlU291cmNlOjp1bmJveGVk
Q2VsbChjZWxsKSwgZWRnZSwgfmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCB8IFNwZWNTeW1ib2ws
IG1faml0LmJyYW5jaElmTm90U3ltYm9sKGNlbGwpKTsKIH0KIAogdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6c3BlY3VsYXRlU3ltYm9sKEVkZ2UgZWRnZSkKQEAgLTg3MTYsMTIgKzg3MTcsMTIgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlU3ltYm9sKEVkZwogCiB2b2lkIFNwZWN1bGF0aXZl
SklUOjpzcGVjdWxhdGVOb3RDZWxsKEVkZ2UgZWRnZSwgSlNWYWx1ZVJlZ3MgcmVncykKIHsKLSAg
ICBERkdfVFlQRV9DSEVDSyhyZWdzLCBlZGdlLCB+U3BlY0NlbGwsIG1faml0LmJyYW5jaElmQ2Vs
bChyZWdzKSk7CisgICAgREZHX1RZUEVfQ0hFQ0socmVncywgZWRnZSwgfmNlbGxDaGVja1R5cGVQ
YXNzdGhyb3VnaCwgbV9qaXQuYnJhbmNoSWZDZWxsKHJlZ3MpKTsKIH0KIAogdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6c3BlY3VsYXRlTm90Q2VsbChFZGdlIGVkZ2UpCiB7Ci0gICAgaWYgKCFuZWVkc1R5
cGVDaGVjayhlZGdlLCB+U3BlY0NlbGwpKQorICAgIGlmICghbmVlZHNUeXBlQ2hlY2soZWRnZSwg
fmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBK
U1ZhbHVlT3BlcmFuZCBvcGVyYW5kKHRoaXMsIGVkZ2UsIE1hbnVhbE9wZXJhbmRTcGVjdWxhdGlv
bik7IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQuaAkocmV2aXNpb24gMjE3ODk0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCw5IEBAIGNsYXNzIFNw
ZWN1bGF0ZUJvb2xlYW5PcGVyYW5kOwogCiBlbnVtIEdlbmVyYXRlZE9wZXJhbmRUeXBlIHsgR2Vu
ZXJhdGVkT3BlcmFuZFR5cGVVbmtub3duLCBHZW5lcmF0ZWRPcGVyYW5kSW50ZWdlciwgR2VuZXJh
dGVkT3BlcmFuZEpTVmFsdWV9OwogCisvLyBXaGVuIGRvaW5nIGEgY2VsbCBjaGVjaywgdGhpcyBp
cyB0aGUgdHlwZSB0aGF0IHBhc3NlcyB0aHJvdWdoCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0
ZWRUeXBlIGNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCA9IGlzNjRCaXQoKSA/IFNwZWNDZWxsT3JF
bXB0eSA6IFNwZWNDZWxsOworCiAvLyA9PT0gU3BlY3VsYXRpdmVKSVQgPT09CiAvLwogLy8gVGhl
IFNwZWN1bGF0aXZlSklUIGlzIHVzZWQgdG8gZ2VuZXJhdGUgYSBmYXN0LCBidXQgcG90ZW50aWFs
bHkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVXNlS2luZC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVXNlS2luZC5oCShyZXZpc2lvbiAy
MTc4OTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1VzZUtpbmQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTEzLDEwICsxMTMsMTkgQEAgaW5saW5lIFNwZWN1bGF0ZWRUeXBlIHR5cGVG
aWx0ZXJGb3IoVXNlSwogICAgIGNhc2UgS25vd25Cb29sZWFuVXNlOgogICAgICAgICByZXR1cm4g
U3BlY0Jvb2xlYW47CiAgICAgY2FzZSBDZWxsVXNlOgorI2lmIFVTRShKU1ZBTFVFNjQpCisgICAg
ICAgIHJldHVybiBTcGVjQ2VsbE9yRW1wdHk7CisjZWxzZQorICAgICAgICByZXR1cm4gU3BlY0Nl
bGw7CisjZW5kaWYKICAgICBjYXNlIEtub3duQ2VsbFVzZToKICAgICAgICAgcmV0dXJuIFNwZWND
ZWxsOwogICAgIGNhc2UgQ2VsbE9yT3RoZXJVc2U6CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICAg
ICAgcmV0dXJuIFNwZWNDZWxsT3JFbXB0eSB8IFNwZWNPdGhlcjsKKyNlbHNlCiAgICAgICAgIHJl
dHVybiBTcGVjQ2VsbCB8IFNwZWNPdGhlcjsKKyNlbmRpZgogICAgIGNhc2UgT2JqZWN0VXNlOgog
ICAgICAgICByZXR1cm4gU3BlY09iamVjdDsKICAgICBjYXNlIEFycmF5VXNlOgpAQCAtMTU1LDcg
KzE2NCwxMSBAQCBpbmxpbmUgU3BlY3VsYXRlZFR5cGUgdHlwZUZpbHRlckZvcihVc2VLCiAgICAg
Y2FzZSBOb3RTdHJpbmdWYXJVc2U6CiAgICAgICAgIHJldHVybiB+U3BlY1N0cmluZ1ZhcjsKICAg
ICBjYXNlIE5vdENlbGxVc2U6CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICAgICAgcmV0dXJuIH5T
cGVjQ2VsbE9yRW1wdHk7CisjZWxzZQogICAgICAgICByZXR1cm4gflNwZWNDZWxsOworI2VuZGlm
CiAgICAgY2FzZSBPdGhlclVzZToKICAgICAgICAgcmV0dXJuIFNwZWNPdGhlcjsKICAgICBjYXNl
IE1pc2NVc2U6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9C
My5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRG
R1RvQjMuY3BwCShyZXZpc2lvbiAyMTc4OTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTExvd2VyREZHVG9CMy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMzEsNyArMTMzMSw3IEBA
IHByaXZhdGU6CiAgICAgICAgICAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29udmVydEJvb2xlYW5G
YWxzZUNhc2UsIGNvbnRpbnVhdGlvbik7CiAKICAgICAgICAgICAgICAgICBMVmFsdWUgdmFsdWVJ
c05vdEJvb2xlYW5GYWxzZSA9IG1fb3V0Lm5vdEVxdWFsKHZhbHVlLCBtX291dC5jb25zdEludDY0
KFZhbHVlRmFsc2UpKTsKLSAgICAgICAgICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFs
dWUodmFsdWUpLCBtX25vZGUtPmNoaWxkMSgpLCB+U3BlY0NlbGwsIHZhbHVlSXNOb3RCb29sZWFu
RmFsc2UpOworICAgICAgICAgICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1
ZSksIG1fbm9kZS0+Y2hpbGQxKCksIH5TcGVjQ2VsbE9yRW1wdHksIHZhbHVlSXNOb3RCb29sZWFu
RmFsc2UpOwogICAgICAgICAgICAgICAgIFZhbHVlRnJvbUJsb2NrIGNvbnZlcnRlZEZhbHNlID0g
bV9vdXQuYW5jaG9yKG1fb3V0LmNvbnN0RG91YmxlKDApKTsKICAgICAgICAgICAgICAgICBtX291
dC5qdW1wKGNvbnRpbnVhdGlvbik7CiAKQEAgLTk1MjAsNyArOTUyMCw3IEBAIHByaXZhdGU6CiAg
ICAgICAgICAgICAKICAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRvKG5vdE51bWJlckNhc2UsIGNv
bnRpbnVhdGlvbik7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIEZUTF9UWVBFX0NIRUNLKGpz
VmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsIH5TcGVjQ2VsbCwgaXNDZWxsKHZhbHVlKSk7CisgICAg
ICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCB+U3BlY0Nl
bGxPckVtcHR5LCBpc0NlbGwodmFsdWUpKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgTFZh
bHVlIHNwZWNpYWxSZXN1bHQgPSBtX291dC5zZWxlY3QoCiAgICAgICAgICAgICAgICAgbV9vdXQu
ZXF1YWwodmFsdWUsIG1fb3V0LmNvbnN0SW50NjQoSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbih0
cnVlKSkpKSwKQEAgLTEwNDA1LDEzICsxMDQwNSwxMyBAQCBwcml2YXRlOgogICAgICAgICAgICAg
dW5zdXJlKGxlZnRDZWxsQ2FzZSksIHVuc3VyZShsZWZ0Tm90Q2VsbENhc2UpKTsKICAgICAgICAg
CiAgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuYXBwZW5kVG8obGVmdENlbGxD
YXNlLCBsZWZ0Tm90Q2VsbENhc2UpOwotICAgICAgICBzcGVjdWxhdGVUcnV0aHlPYmplY3QobGVm
dENoaWxkLCBsZWZ0VmFsdWUsIFNwZWNPYmplY3QgfCAoflNwZWNDZWxsKSk7CisgICAgICAgIHNw
ZWN1bGF0ZVRydXRoeU9iamVjdChsZWZ0Q2hpbGQsIGxlZnRWYWx1ZSwgU3BlY09iamVjdCB8ICh+
U3BlY0NlbGxPckVtcHR5KSk7CiAgICAgICAgIFZhbHVlRnJvbUJsb2NrIGNlbGxSZXN1bHQgPSBt
X291dC5hbmNob3IobV9vdXQuZXF1YWwocmlnaHRDZWxsLCBsZWZ0VmFsdWUpKTsKICAgICAgICAg
bV9vdXQuanVtcChjb250aW51YXRpb24pOwogICAgICAgICAKICAgICAgICAgbV9vdXQuYXBwZW5k
VG8obGVmdE5vdENlbGxDYXNlLCBjb250aW51YXRpb24pOwogICAgICAgICBGVExfVFlQRV9DSEVD
SygKLSAgICAgICAgICAgIGpzVmFsdWVWYWx1ZShsZWZ0VmFsdWUpLCBsZWZ0Q2hpbGQsIFNwZWNP
dGhlciB8IFNwZWNDZWxsLCBpc05vdE90aGVyKGxlZnRWYWx1ZSkpOworICAgICAgICAgICAganNW
YWx1ZVZhbHVlKGxlZnRWYWx1ZSksIGxlZnRDaGlsZCwgU3BlY090aGVyIHwgU3BlY0NlbGxPckVt
cHR5LCBpc05vdE90aGVyKGxlZnRWYWx1ZSkpOwogICAgICAgICBWYWx1ZUZyb21CbG9jayBub3RD
ZWxsUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmJvb2xlYW5GYWxzZSk7CiAgICAgICAgIG1f
b3V0Lmp1bXAoY29udGludWF0aW9uKTsKICAgICAgICAgCkBAIC0xMTE4MSwxNCArMTExODEsMTQg
QEAgcHJpdmF0ZToKICAgICAgICAgICAgIAogICAgICAgICAgICAgTEJhc2ljQmxvY2sgbGFzdE5l
eHQgPSBtX291dC5hcHBlbmRUbyhjZWxsQ2FzZSwgbm90Q2VsbENhc2UpOwogICAgICAgICAgICAg
Ci0gICAgICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCAo
flNwZWNDZWxsKSB8IFNwZWNTdHJpbmcsIGlzTm90U3RyaW5nKHZhbHVlKSk7CisgICAgICAgICAg
ICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCAoflNwZWNDZWxsT3JF
bXB0eSkgfCBTcGVjU3RyaW5nLCBpc05vdFN0cmluZyh2YWx1ZSkpOwogICAgICAgICAgICAgTFZh
bHVlIGxlbmd0aCA9IG1fb3V0LmxvYWQzMk5vbk5lZ2F0aXZlKHZhbHVlLCBtX2hlYXBzLkpTU3Ry
aW5nX2xlbmd0aCk7CiAgICAgICAgICAgICBWYWx1ZUZyb21CbG9jayBjZWxsUmVzdWx0ID0gbV9v
dXQuYW5jaG9yKG1fb3V0Lm5vdEVxdWFsKGxlbmd0aCwgbV9vdXQuaW50MzJaZXJvKSk7CiAgICAg
ICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CiAgICAgICAgICAgICAKICAgICAgICAg
ICAgIG1fb3V0LmFwcGVuZFRvKG5vdENlbGxDYXNlLCBjb250aW51YXRpb24pOwogICAgICAgICAg
ICAgCi0gICAgICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdl
LCBTcGVjQ2VsbCB8IFNwZWNPdGhlciwgaXNOb3RPdGhlcih2YWx1ZSkpOworICAgICAgICAgICAg
RlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgU3BlY0NlbGxPckVtcHR5
IHwgU3BlY090aGVyLCBpc05vdE90aGVyKHZhbHVlKSk7CiAgICAgICAgICAgICBWYWx1ZUZyb21C
bG9jayBub3RDZWxsUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmJvb2xlYW5GYWxzZSk7CiAg
ICAgICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CiAgICAgICAgICAgICBtX291dC5h
cHBlbmRUbyhjb250aW51YXRpb24sIGxhc3ROZXh0KTsKQEAgLTExMzMxLDcgKzExMzMxLDcgQEAg
cHJpdmF0ZToKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENlbGxDYXNlU3BlY3Vs
YXRlc09iamVjdDoKICAgICAgICAgICAgIEZUTF9UWVBFX0NIRUNLKAotICAgICAgICAgICAgICAg
IGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsICh+U3BlY0NlbGwpIHwgU3BlY09iamVjdCwgaXNO
b3RPYmplY3QodmFsdWUpKTsKKyAgICAgICAgICAgICAgICBqc1ZhbHVlVmFsdWUodmFsdWUpLCBl
ZGdlLCAoflNwZWNDZWxsT3JFbXB0eSkgfCBTcGVjT2JqZWN0LCBpc05vdE9iamVjdCh2YWx1ZSkp
OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgCkBAIC0xMTM3Niw3ICsx
MTM3Niw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBTcGVj
dWxhdGVOdWxsT3JVbmRlZmluZWQ6CiAgICAgICAgICAgICBGVExfVFlQRV9DSEVDSygKLSAgICAg
ICAgICAgICAgICBqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCBTcGVjQ2VsbCB8IFNwZWNPdGhl
ciwgaXNOb3RPdGhlcih2YWx1ZSkpOworICAgICAgICAgICAgICAgIGpzVmFsdWVWYWx1ZSh2YWx1
ZSksIGVkZ2UsIFNwZWNDZWxsT3JFbXB0eSB8IFNwZWNPdGhlciwgaXNOb3RPdGhlcih2YWx1ZSkp
OwogICAgICAgICAgICAgcHJpbWl0aXZlUmVzdWx0ID0gbV9vdXQuYm9vbGVhblRydWU7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMTI0NDAsMTEgKzEyNDQwLDExIEBAIHByaXZh
dGU6CiAgICAgICAgIGlmIChpc1ZhbGlkKHZhbHVlKSkgewogICAgICAgICAgICAgTFZhbHVlIHVu
Y2hlY2tlZFZhbHVlID0gdmFsdWUudmFsdWUoKTsKICAgICAgICAgICAgIEZUTF9UWVBFX0NIRUNL
KAotICAgICAgICAgICAgICAgIGpzVmFsdWVWYWx1ZSh1bmNoZWNrZWRWYWx1ZSksIGVkZ2UsIFNw
ZWNDZWxsLCBpc05vdENlbGwodW5jaGVja2VkVmFsdWUpKTsKKyAgICAgICAgICAgICAgICBqc1Zh
bHVlVmFsdWUodW5jaGVja2VkVmFsdWUpLCBlZGdlLCBTcGVjQ2VsbE9yRW1wdHksIGlzTm90Q2Vs
bCh1bmNoZWNrZWRWYWx1ZSkpOwogICAgICAgICAgICAgcmV0dXJuIHVuY2hlY2tlZFZhbHVlOwog
ICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBERkdfQVNTRVJUKG1fZ3JhcGgsIG1fbm9kZSwg
IShwcm92ZW5UeXBlKGVkZ2UpICYgU3BlY0NlbGwpKTsKKyAgICAgICAgREZHX0FTU0VSVChtX2dy
YXBoLCBtX25vZGUsICEocHJvdmVuVHlwZShlZGdlKSAmIFNwZWNDZWxsT3JFbXB0eSkpOwogICAg
ICAgICB0ZXJtaW5hdGUoVW5jb3VudGFibGUpOwogICAgICAgICByZXR1cm4gbV9vdXQuaW50UHRy
WmVybzsKICAgICB9CkBAIC0xMjU5OSw3ICsxMjU5OSw3IEBAIHByaXZhdGU6CiAgICAgTFZhbHVl
IGxvd05vdENlbGwoRWRnZSBlZGdlKQogICAgIHsKICAgICAgICAgTFZhbHVlIHJlc3VsdCA9IGxv
d0pTVmFsdWUoZWRnZSwgTWFudWFsT3BlcmFuZFNwZWN1bGF0aW9uKTsKLSAgICAgICAgRlRMX1RZ
UEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHJlc3VsdCksIGVkZ2UsIH5TcGVjQ2VsbCwgaXNDZWxsKHJl
c3VsdCkpOworICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUocmVzdWx0KSwgZWRn
ZSwgflNwZWNDZWxsT3JFbXB0eSwgaXNDZWxsKHJlc3VsdCkpOwogICAgICAgICByZXR1cm4gcmVz
dWx0OwogICAgIH0KICAgICAKQEAgLTEyNzAwLDEzICsxMjcwMCwxMyBAQCBwcml2YXRlOgogICAg
IAogICAgIExWYWx1ZSBpc0NlbGxPck1pc2MoTFZhbHVlIGpzVmFsdWUsIFNwZWN1bGF0ZWRUeXBl
IHR5cGUgPSBTcGVjRnVsbFRvcCkKICAgICB7Ci0gICAgICAgIGlmIChMVmFsdWUgcHJvdmVuID0g
aXNQcm92ZW5WYWx1ZSh0eXBlLCBTcGVjQ2VsbCB8IFNwZWNNaXNjKSkKKyAgICAgICAgaWYgKExW
YWx1ZSBwcm92ZW4gPSBpc1Byb3ZlblZhbHVlKHR5cGUsIFNwZWNDZWxsT3JFbXB0eSB8IFNwZWNN
aXNjKSkKICAgICAgICAgICAgIHJldHVybiBwcm92ZW47CiAgICAgICAgIHJldHVybiBtX291dC50
ZXN0SXNaZXJvNjQoanNWYWx1ZSwgbV90YWdUeXBlTnVtYmVyKTsKICAgICB9CiAgICAgTFZhbHVl
IGlzTm90Q2VsbE9yTWlzYyhMVmFsdWUganNWYWx1ZSwgU3BlY3VsYXRlZFR5cGUgdHlwZSA9IFNw
ZWNGdWxsVG9wKQogICAgIHsKLSAgICAgICAgaWYgKExWYWx1ZSBwcm92ZW4gPSBpc1Byb3ZlblZh
bHVlKHR5cGUsIH4oU3BlY0NlbGwgfCBTcGVjTWlzYykpKQorICAgICAgICBpZiAoTFZhbHVlIHBy
b3ZlbiA9IGlzUHJvdmVuVmFsdWUodHlwZSwgfihTcGVjQ2VsbE9yRW1wdHkgfCBTcGVjTWlzYykp
KQogICAgICAgICAgICAgcmV0dXJuIHByb3ZlbjsKICAgICAgICAgcmV0dXJuIG1fb3V0LnRlc3RO
b25aZXJvNjQoanNWYWx1ZSwgbV90YWdUeXBlTnVtYmVyKTsKICAgICB9CkBAIC0xMjgwNywxNCAr
MTI4MDcsMTQgQEAgcHJpdmF0ZToKICAgICAKICAgICBMVmFsdWUgaXNOb3RDZWxsKExWYWx1ZSBq
c1ZhbHVlLCBTcGVjdWxhdGVkVHlwZSB0eXBlID0gU3BlY0Z1bGxUb3ApCiAgICAgewotICAgICAg
ICBpZiAoTFZhbHVlIHByb3ZlbiA9IGlzUHJvdmVuVmFsdWUodHlwZSwgflNwZWNDZWxsKSkKKyAg
ICAgICAgaWYgKExWYWx1ZSBwcm92ZW4gPSBpc1Byb3ZlblZhbHVlKHR5cGUsIH5TcGVjQ2VsbE9y
RW1wdHkpKQogICAgICAgICAgICAgcmV0dXJuIHByb3ZlbjsKICAgICAgICAgcmV0dXJuIG1fb3V0
LnRlc3ROb25aZXJvNjQoanNWYWx1ZSwgbV90YWdNYXNrKTsKICAgICB9CiAgICAgCiAgICAgTFZh
bHVlIGlzQ2VsbChMVmFsdWUganNWYWx1ZSwgU3BlY3VsYXRlZFR5cGUgdHlwZSA9IFNwZWNGdWxs
VG9wKQogICAgIHsKLSAgICAgICAgaWYgKExWYWx1ZSBwcm92ZW4gPSBpc1Byb3ZlblZhbHVlKHR5
cGUsIFNwZWNDZWxsKSkKKyAgICAgICAgaWYgKExWYWx1ZSBwcm92ZW4gPSBpc1Byb3ZlblZhbHVl
KHR5cGUsIFNwZWNDZWxsT3JFbXB0eSkpCiAgICAgICAgICAgICByZXR1cm4gcHJvdmVuOwogICAg
ICAgICByZXR1cm4gbV9vdXQudGVzdElzWmVybzY0KGpzVmFsdWUsIG1fdGFnTWFzayk7CiAgICAg
fQpAQCAtMTMwMjQsNyArMTMwMjQsNyBAQCBwcml2YXRlOgogICAgICAgICBtX291dC5icmFuY2go
aXNDZWxsKHZhbHVlLCBwcm92ZW5UeXBlKGVkZ2UpKSwgdW5zdXJlKGNvbnRpbnVhdGlvbiksIHVu
c3VyZShpc05vdENlbGwpKTsKIAogICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0
LmFwcGVuZFRvKGlzTm90Q2VsbCwgY29udGludWF0aW9uKTsKLSAgICAgICAgRlRMX1RZUEVfQ0hF
Q0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIsIGlzTm90
T3RoZXIodmFsdWUpKTsKKyAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVl
KSwgZWRnZSwgU3BlY0NlbGxPckVtcHR5IHwgU3BlY090aGVyLCBpc05vdE90aGVyKHZhbHVlKSk7
CiAgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKIAogICAgICAgICBtX291dC5hcHBl
bmRUbyhjb250aW51YXRpb24sIGxhc3ROZXh0KTsKQEAgLTEzMjU4LDE0ICsxMzI1OCwxNCBAQCBw
cml2YXRlOgogICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKGNl
bGxDYXNlLCBwcmltaXRpdmVDYXNlKTsKICAgICAgICAgCiAgICAgICAgIEZUTF9UWVBFX0NIRUNL
KAotICAgICAgICAgICAganNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgKH5TcGVjQ2VsbCkgfCBT
cGVjT2JqZWN0LCBpc05vdE9iamVjdCh2YWx1ZSkpOworICAgICAgICAgICAganNWYWx1ZVZhbHVl
KHZhbHVlKSwgZWRnZSwgKH5TcGVjQ2VsbE9yRW1wdHkpIHwgU3BlY09iamVjdCwgaXNOb3RPYmpl
Y3QodmFsdWUpKTsKICAgICAgICAgCiAgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsK
ICAgICAgICAgCiAgICAgICAgIG1fb3V0LmFwcGVuZFRvKHByaW1pdGl2ZUNhc2UsIGNvbnRpbnVh
dGlvbik7CiAgICAgICAgIAogICAgICAgICBGVExfVFlQRV9DSEVDSygKLSAgICAgICAgICAgIGpz
VmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsIFNwZWNDZWxsIHwgU3BlY090aGVyLCBpc05vdE90aGVy
KHZhbHVlKSk7CisgICAgICAgICAgICBqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCBTcGVjQ2Vs
bE9yRW1wdHkgfCBTcGVjT3RoZXIsIGlzTm90T3RoZXIodmFsdWUpKTsKICAgICAgICAgCiAgICAg
ICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKICAgICAgICAgCkBAIC0xMzM0MCw3ICsxMzM0
MCw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgdm9pZCBzcGVjdWxhdGVTdHJpbmcoRWRnZSBlZGdl
LCBMVmFsdWUgY2VsbCkKICAgICB7Ci0gICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1
ZShjZWxsKSwgZWRnZSwgU3BlY1N0cmluZyB8IH5TcGVjQ2VsbCwgaXNOb3RTdHJpbmcoY2VsbCkp
OworICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUoY2VsbCksIGVkZ2UsIFNwZWNT
dHJpbmcsIGlzTm90U3RyaW5nKGNlbGwpKTsKICAgICB9CiAgICAgCiAgICAgdm9pZCBzcGVjdWxh
dGVTdHJpbmcoRWRnZSBlZGdlKQpAQCAtMTMzNTgsMTIgKzEzMzU4LDEyIEBAIHByaXZhdGU6CiAK
ICAgICAgICAgTEJhc2ljQmxvY2sgbGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyhjZWxsQ2FzZSwg
bm90Q2VsbENhc2UpOwogCi0gICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1
ZSksIGVkZ2UsICh+U3BlY0NlbGwpIHwgU3BlY1N0cmluZywgaXNOb3RTdHJpbmcodmFsdWUpKTsK
KyAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgKH5TcGVj
Q2VsbE9yRW1wdHkpIHwgU3BlY1N0cmluZywgaXNOb3RTdHJpbmcodmFsdWUpKTsKIAogICAgICAg
ICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CiAgICAgICAgIG1fb3V0LmFwcGVuZFRvKG5vdENl
bGxDYXNlLCBjb250aW51YXRpb24pOwogCi0gICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVW
YWx1ZSh2YWx1ZSksIGVkZ2UsIFNwZWNDZWxsIHwgU3BlY090aGVyLCBpc05vdE90aGVyKHZhbHVl
KSk7CisgICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsIFNw
ZWNDZWxsT3JFbXB0eSB8IFNwZWNPdGhlciwgaXNOb3RPdGhlcih2YWx1ZSkpOwogCiAgICAgICAg
IG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKICAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29udGlu
dWF0aW9uLCBsYXN0TmV4dCk7CkBAIC0xMzQ0NCw3ICsxMzQ0NCw3IEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIHNwZWN1bGF0ZVN5bWJvbChFZGdlIGVkZ2UsIExWYWx1ZSBjZWxsKQogICAgIHsKLSAg
ICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKGNlbGwpLCBlZGdlLCBTcGVjU3ltYm9s
IHwgflNwZWNDZWxsLCBpc05vdFN5bWJvbChjZWxsKSk7CisgICAgICAgIEZUTF9UWVBFX0NIRUNL
KGpzVmFsdWVWYWx1ZShjZWxsKSwgZWRnZSwgU3BlY1N5bWJvbCwgaXNOb3RTeW1ib2woY2VsbCkp
OwogICAgIH0KIAogICAgIHZvaWQgc3BlY3VsYXRlU3ltYm9sKEVkZ2UgZWRnZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312361</attachid>
            <date>2017-06-08 16:51:38 -0700</date>
            <delta_ts>2017-06-11 14:03:07 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>33386</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTc5NTQpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE2IEBACisyMDE3LTA2LTA4ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFdlIHNob3VsZCBub3QgY2xhaW0gdGhhdCBTcGVjRW1wdHkgaXMgZmls
dGVyZWQgb3V0IG9mIGNlbGwgY2hlY2tzIG9uIDY0IGJpdCBwbGF0Zm9ybXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Mjk1NworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzI2MDI3MDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBzdHJlc3Mvc3BlYy1lbXB0eS1mbG93cy10aHJvdWdoLWNlbGwtY2hl
Y2tzLmpzOiBBZGRlZC4KKyAgICAgICAgKEEpOgorICAgICAgICAoQik6CisgICAgICAgIChpLmNh
dGNoKToKKwogMjAxNy0wNi0wOCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWJBc3NlbWJseTogV2Ugc2hvdWxkIG9ubHkgY3JlYXRlIHdyYXBwZXJz
IGZvciBmdW5jdGlvbnMgdGhhdCBjYW4gYmUgZXhwb3J0ZWQKSW5kZXg6IEpTVGVzdHMvc3RyZXNz
L3NwZWMtZW1wdHktZmxvd3MtdGhyb3VnaC1jZWxsLWNoZWNrcy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3N0cmVzcy9zcGVjLWVtcHR5LWZsb3dzLXRocm91Z2gtY2VsbC1jaGVja3MuanMJKG5v
bmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3Mvc3BlYy1lbXB0eS1mbG93cy10aHJvdWdoLWNl
bGwtY2hlY2tzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjQgQEAKKy8vIFRoaXMgdGVz
dCBzaG91bGRuJ3QgY3Jhc2guCisKK2NsYXNzIEEgeyB9OworCitjbGFzcyBCIGV4dGVuZHMgQSB7
CisgICAgY29uc3RydWN0b3IoYSwgYikgeworICAgICAgICB2YXIgZiA9ICgpID0+IGIgPyB0aGlz
IDoge307CisgICAgICAgIGlmIChhKSB7CisgICAgICAgICAgICB2YXIgdmFsID0gZigpID09IHN1
cGVyKCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzdXBlcigpOworICAgICAgICAg
ICAgdmFyIHZhbCA9IGYoKTsKKyAgICAgICAgfQorICAgIH0KK307CisKK2ZvciAodmFyIGk9MDsg
aSA8IDEwMDAwOyBpKyspIHsKKyAgICB0cnkgeworICAgICAgICBuZXcgQih0cnVlLCB0cnVlKTsK
KyAgICB9IGNhdGNoIChlKSB7CisgICAgfQorICAgIHZhciBhID0gbmV3IEIoZmFsc2UsIHRydWUp
OworICAgIHZhciBjID0gbmV3IEIodHJ1ZSwgZmFsc2UpOworfQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyMTc5NTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzkgQEAKKzIwMTctMDYtMDggIFNhYW0g
QmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CisKKyAgICAgICAgV2Ugc2hvdWxkIG5vdCBjbGFp
bSB0aGF0IFNwZWNFbXB0eSBpcyBmaWx0ZXJlZCBvdXQgb2YgY2VsbCBjaGVja3Mgb24gNjQgYml0
IHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcyOTU3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMjYwMjcwND4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb25zaWRlciB0aGlzIHByb2dy
YW06CisgICAgICAgIGBgYAorICAgICAgICBibG9jayMxOgorICAgICAgICBuOiBHZXRDbG9zdXJl
VmFyKC4uLiwgfHRoaXN8KSAvLyB0aGlzIHdpbGwgbG9hZCBlbXB0eSBKU1ZhbHVlKCkKKyAgICAg
ICAgU2V0TG9jYWwoQ2VsbDpAbiwgbG9jRm9vKSAvLyBDZWxsIGNoZWNrIHN1Y2NlZWRzIGJlY2F1
c2UgSlNWYWx1ZSgpIGxvb2tzIGxpa2UgYSBjZWxsCisgICAgICAgIEJyYW5jaCgjMiwgIzMpCisg
ICAgICAgIAorICAgICAgICBCbG9jayMzOgorICAgICAgICB4OiBHZXRMb2NhbChsb2NGb28pCisg
ICAgICAgIHk6IENoZWNrTm90RW1wdHkoQHgpCisgICAgICAgIGBgYAorICAgICAgICAKKyAgICAg
ICAgSWYgd2UgY2xhaW0gdGhhdCBhIGNlbGwgY2hlY2sgZmlsdGVycyBvdXQgdGhlIGVtcHR5IHZh
bHVlLCB3ZSB3aWxsCisgICAgICAgIGluY29ycmVjdGx5IGVsaW1pbmF0ZSB0aGUgQ2hlY2tOb3RF
bXB0eSBub2RlIEB5LiBUaGlzIGZpeGVkIEFJLAorICAgICAgICBGVExMb3dlckRGR1RvQjMsIGFu
ZCBERkdTcGVjSklUIHRvIG5vIGxvbmdlciBtYWtlIHRoaXMgY2xhaW0uCisgICAgICAgIAorICAg
ICAgICAtIENlbGwgdXNlIGtpbmQgKm5vdyBhbGxvd3MqIHRoZSBlbXB0eSB2YWx1ZSB0byBwYXNz
IHRocm91Z2gKKyAgICAgICAgLSBDZWxsT3JPdGhlciB1c2Uga2luZCAqbm93IGFsbG93cyogZm9y
IHRoZSBlbXB0eSB2YWx1ZSB0byBwYXNzIHRocm91Z2gKKyAgICAgICAgLSBOb3RDZWxsIHVzZSBr
aW5kICpubyBsb25nZXIgYWxsb3dzKiB0aGUgZW1wdHkgdmFsdWUgdG8gcGFzcyB0aHJvdWdoLgor
CisgICAgICAgICogYXNzZW1ibGVyL0NQVS5oOgorICAgICAgICAoSlNDOjppc0FSTXY3SURJVlN1
cHBvcnRlZCk6CisgICAgICAgIChKU0M6OmlzQVJNNjQpOgorICAgICAgICAoSlNDOjppc1g4Nik6
CisgICAgICAgIChKU0M6OmlzWDg2XzY0KToKKyAgICAgICAgKEpTQzo6aXM2NEJpdCk6CisgICAg
ICAgIChKU0M6OmlzMzJCaXQpOgorICAgICAgICAoSlNDOjppc01JUFMpOgorICAgICAgICAqIGJ5
dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmg6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVZhbHVlVG9J
bnQzMik6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVEb3VibGVS
ZXApOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlTG9naWNhbE5v
dFN0cmluZ09yT3RoZXIpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjplbWl0
U3RyaW5nT3JPdGhlckJyYW5jaCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6
OnNwZWN1bGF0ZUNlbGwpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpzcGVj
dWxhdGVDZWxsT3JPdGhlcik6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OnNw
ZWN1bGF0ZU9iamVjdE9yT3RoZXIpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklU
OjpzcGVjdWxhdGVTdHJpbmcpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpz
cGVjdWxhdGVTdHJpbmdPck90aGVyKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJ
VDo6c3BlY3VsYXRlU3ltYm9sKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6
c3BlY3VsYXRlTm90Q2VsbCk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6Cisg
ICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6
OlNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlQ2VsbCk6CisgICAgICAgIChKU0M6OkRGRzo6
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVPYmplY3RUb09iamVjdE9yT3RoZXJFcXVhbGl0eSk6Cisg
ICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQZWVwSG9sZU9iamVjdFRv
T2JqZWN0T3JPdGhlckVxdWFsaXR5KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZU9iamVjdE9yT3RoZXJMb2dpY2FsTm90KToKKyAgICAgICAgKEpTQzo6REZHOjpT
cGVjdWxhdGl2ZUpJVDo6ZW1pdE9iamVjdE9yT3RoZXJCcmFuY2gpOgorICAgICAgICAqIGRmZy9E
RkdVc2VLaW5kLmg6CisgICAgICAgIChKU0M6OkRGRzo6dHlwZUZpbHRlckZvcik6CisgICAgICAg
ICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dl
ckRGR1RvQjM6OmNvbXBpbGVEb3VibGVSZXApOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93
ZXJERkdUb0IzOjpudW1iZXJPck5vdENlbGxUb0ludDMyKToKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6Y29tcGFyZUVxT2JqZWN0T3JPdGhlclRvT2JqZWN0KToKKyAgICAg
ICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Ym9vbGlmeSk6CisgICAgICAgIChKU0M6
OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmVxdWFsTnVsbE9yVW5kZWZpbmVkKToKKyAgICAgICAg
KEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6bG93Q2VsbCk6CisgICAgICAgIChKU0M6OkZU
TDo6REZHOjpMb3dlckRGR1RvQjM6Omxvd05vdENlbGwpOgorICAgICAgICAoSlNDOjpGVEw6OkRG
Rzo6TG93ZXJERkdUb0IzOjppc0NlbGxPck1pc2MpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6
TG93ZXJERkdUb0IzOjppc05vdENlbGxPck1pc2MpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6
TG93ZXJERkdUb0IzOjppc05vdENlbGwpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJE
RkdUb0IzOjppc0NlbGwpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpz
cGVjdWxhdGVDZWxsT3JPdGhlcik6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1Rv
QjM6OnNwZWN1bGF0ZU9iamVjdE9yT3RoZXIpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93
ZXJERkdUb0IzOjpzcGVjdWxhdGVTdHJpbmcpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93
ZXJERkdUb0IzOjpzcGVjdWxhdGVTdHJpbmdPck90aGVyKToKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6c3BlY3VsYXRlU3ltYm9sKToKKwogMjAxNy0wNi0wOCAgSm9zZXBo
IFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gSlNXcmFw
cGVyTWFwIGxlYWtzIGZvciBhbGwgSlNDb250ZXh0cwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9DUFUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL0NQVS5oCShyZXZpc2lvbiAyMTc5NTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0NQVS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAKIG5h
bWVzcGFjZSBKU0MgewogCi1pbmxpbmUgYm9vbCBpc0FSTXY3SURJVlN1cHBvcnRlZCgpCitjb25z
dGV4cHIgYm9vbCBpc0FSTXY3SURJVlN1cHBvcnRlZCgpCiB7CiAjaWYgSEFWRShBUk1fSURJVl9J
TlNUUlVDVElPTlMpCiAgICAgcmV0dXJuIHRydWU7CkBAIC0zOCw3ICszOCw3IEBAIGlubGluZSBi
b29sIGlzQVJNdjdJRElWU3VwcG9ydGVkKCkKICNlbmRpZgogfQogCi1pbmxpbmUgYm9vbCBpc0FS
TTY0KCkKK2NvbnN0ZXhwciBib29sIGlzQVJNNjQoKQogewogI2lmIENQVShBUk02NCkKICAgICBy
ZXR1cm4gdHJ1ZTsKQEAgLTQ3LDcgKzQ3LDcgQEAgaW5saW5lIGJvb2wgaXNBUk02NCgpCiAjZW5k
aWYKIH0KIAotaW5saW5lIGJvb2wgaXNYODYoKQorY29uc3RleHByIGJvb2wgaXNYODYoKQogewog
I2lmIENQVShYODZfNjQpIHx8IENQVShYODYpCiAgICAgcmV0dXJuIHRydWU7CkBAIC01Niw3ICs1
Niw3IEBAIGlubGluZSBib29sIGlzWDg2KCkKICNlbmRpZgogfQogCi1pbmxpbmUgYm9vbCBpc1g4
Nl82NCgpCitjb25zdGV4cHIgYm9vbCBpc1g4Nl82NCgpCiB7CiAjaWYgQ1BVKFg4Nl82NCkKICAg
ICByZXR1cm4gdHJ1ZTsKQEAgLTY1LDcgKzY1LDcgQEAgaW5saW5lIGJvb2wgaXNYODZfNjQoKQog
I2VuZGlmCiB9CiAKLWlubGluZSBib29sIGlzNjRCaXQoKQorY29uc3RleHByIGJvb2wgaXM2NEJp
dCgpCiB7CiAjaWYgVVNFKEpTVkFMVUU2NCkKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTc0LDEyICs3
NCwxMiBAQCBpbmxpbmUgYm9vbCBpczY0Qml0KCkKICNlbmRpZgogfQogCi1pbmxpbmUgYm9vbCBp
czMyQml0KCkKK2NvbnN0ZXhwciBib29sIGlzMzJCaXQoKQogewogICAgIHJldHVybiAhaXM2NEJp
dCgpOwogfQogCi1pbmxpbmUgYm9vbCBpc01JUFMoKQorY29uc3RleHByIGJvb2wgaXNNSVBTKCkK
IHsKICNpZiBDUFUoTUlQUykKICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5oCShyZXZpc2lvbiAyMTc5NTQp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuaAkod29y
a2luZyBjb3B5KQpAQCAtOTIsNiArOTIsNyBAQCBzdGF0aWMgY29uc3QgU3BlY3VsYXRlZFR5cGUg
U3BlY1ByaW1pdGl2CiBzdGF0aWMgY29uc3QgU3BlY3VsYXRlZFR5cGUgU3BlY0VtcHR5ICAgICAg
ICAgICAgICA9IDF1bGwgPDwgMzQ7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBlbXB0eSB2YWx1ZSBt
YXJrZXIuCiBzdGF0aWMgY29uc3QgU3BlY3VsYXRlZFR5cGUgU3BlY0J5dGVjb2RlVG9wICAgICAg
ICA9IFNwZWNIZWFwVG9wIHwgU3BlY0VtcHR5OyAvLyBJdCBjYW4gYmUgYW55IG9mIHRoZSBhYm92
ZSwgZXhjZXB0IGZvciBTcGVjSW50NTJPbmx5IGFuZCBTcGVjRG91YmxlSW1wdXJlTmFOLiBDb3Jy
ZXNwb25kcyB0byB3aGF0IGNvdWxkIGJlIGZvdW5kIGluIGEgYnl0ZWNvZGUgbG9jYWwuCiBzdGF0
aWMgY29uc3QgU3BlY3VsYXRlZFR5cGUgU3BlY0Z1bGxUb3AgICAgICAgICAgICA9IFNwZWNCeXRl
Y29kZVRvcCB8IFNwZWNGdWxsTnVtYmVyOyAvLyBJdCBjYW4gYmUgYW55dGhpbmcgdGhhdCBieXRl
Y29kZSBjb3VsZCBzZWUgcGx1cyBleG90aWMgZW5jb2RpbmdzIG9mIG51bWJlcnMuCitzdGF0aWMg
Y29uc3QgU3BlY3VsYXRlZFR5cGUgU3BlY0NlbGxPckVtcHR5ICAgICAgICA9IFNwZWNDZWxsIHwg
U3BlY0VtcHR5OwogCiB0eXBlZGVmIGJvb2wgKCpTcGVjdWxhdGVkVHlwZUNoZWNrZXIpKFNwZWN1
bGF0ZWRUeXBlKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAyMTc5NTQpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MzY5LDkgKzEzNjksOSBAQCBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVDZWxs
CiB7CiAgICAgQWJzdHJhY3RWYWx1ZSYgdmFsdWUgPSBtX3N0YXRlLmZvck5vZGUoZWRnZSk7CiAg
ICAgU3BlY3VsYXRlZFR5cGUgdHlwZSA9IHZhbHVlLm1fdHlwZTsKLSAgICBBU1NFUlQoKGVkZ2Uu
dXNlS2luZCgpICE9IEtub3duQ2VsbFVzZSAmJiBlZGdlLnVzZUtpbmQoKSAhPSBLbm93blN0cmlu
Z1VzZSkgfHwgISh2YWx1ZS5tX3R5cGUgJiB+U3BlY0NlbGwpKTsKKyAgICBBU1NFUlQoKGVkZ2Uu
dXNlS2luZCgpICE9IEtub3duQ2VsbFVzZSAmJiBlZGdlLnVzZUtpbmQoKSAhPSBLbm93blN0cmlu
Z1VzZSkgfHwgISh2YWx1ZS5tX3R5cGUgJiB+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKSk7CiAK
LSAgICBtX2ludGVycHJldGVyLmZpbHRlcih2YWx1ZSwgU3BlY0NlbGwpOworICAgIG1faW50ZXJw
cmV0ZXIuZmlsdGVyKHZhbHVlLCBjZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpOwogICAgIGlmICh2
YWx1ZS5pc0NsZWFyKCkpIHsKICAgICAgICAgdGVybWluYXRlU3BlY3VsYXRpdmVFeGVjdXRpb24o
VW5jb3VudGFibGUsIEpTVmFsdWVSZWdzKCksIDApOwogICAgICAgICByZXR1cm4gYWxsb2NhdGUo
KTsKQEAgLTEzOTYsNyArMTM5Niw3IEBAIEdQUlJlZyBTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1
bGF0ZUNlbGwKICAgICAgICAgbV9qaXQubG9hZDY0KEpJVENvbXBpbGVyOjphZGRyZXNzRm9yKHZp
cnR1YWxSZWdpc3RlciksIGdwcik7CiAKICAgICAgICAgaW5mby5maWxsSlNWYWx1ZSgqbV9zdHJl
YW0sIGdwciwgRGF0YUZvcm1hdEpTKTsKLSAgICAgICAgaWYgKHR5cGUgJiB+U3BlY0NlbGwpCisg
ICAgICAgIGlmICh0eXBlICYgfmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCkKICAgICAgICAgICAg
IHNwZWN1bGF0aW9uQ2hlY2soQmFkVHlwZSwgSlNWYWx1ZVJlZ3MoZ3ByKSwgZWRnZSwgbV9qaXQu
YnJhbmNoSWZOb3RDZWxsKEpTVmFsdWVSZWdzKGdwcikpKTsKICAgICAgICAgaW5mby5maWxsSlNW
YWx1ZSgqbV9zdHJlYW0sIGdwciwgRGF0YUZvcm1hdEpTQ2VsbCk7CiAgICAgICAgIHJldHVybiBn
cHI7CkBAIC0xNDE3LDcgKzE0MTcsNyBAQCBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVj
dWxhdGVDZWxsCiAgICAgY2FzZSBEYXRhRm9ybWF0SlM6IHsKICAgICAgICAgR1BSUmVnIGdwciA9
IGluZm8uZ3ByKCk7CiAgICAgICAgIG1fZ3Bycy5sb2NrKGdwcik7Ci0gICAgICAgIGlmICh0eXBl
ICYgflNwZWNDZWxsKQorICAgICAgICBpZiAodHlwZSAmIH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91
Z2gpCiAgICAgICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpTVmFsdWVSZWdzKGdw
ciksIGVkZ2UsIG1faml0LmJyYW5jaElmTm90Q2VsbChKU1ZhbHVlUmVncyhncHIpKSk7CiAgICAg
ICAgIGluZm8uZmlsbEpTVmFsdWUoKm1fc3RyZWFtLCBncHIsIERhdGFGb3JtYXRKU0NlbGwpOwog
ICAgICAgICByZXR1cm4gZ3ByOwpAQCAtMTYyOCwxMCArMTYyOCwxMCBAQCB2b2lkIFNwZWN1bGF0
aXZlSklUOjpjb21waWxlT2JqZWN0VG9PYmplCiAgICAgLy8gV2Uga25vdyB0aGF0IHdpdGhpbiB0
aGlzIGJyYW5jaCwgcmlnaHRDaGlsZCBtdXN0IGJlIGEgY2VsbC4gCiAgICAgaWYgKG1hc3F1ZXJh
ZGVzQXNVbmRlZmluZWRXYXRjaHBvaW50VmFsaWQpIHsKICAgICAgICAgREZHX1RZUEVfQ0hFQ0so
Ci0gICAgICAgICAgICBKU1ZhbHVlUmVncyhvcDJHUFIpLCByaWdodENoaWxkLCAoflNwZWNDZWxs
KSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KG9wMkdQUikpOworICAgICAg
ICAgICAgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwgKH5jZWxsQ2hlY2tUeXBlUGFz
c3Rocm91Z2gpIHwgU3BlY09iamVjdCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3Qob3AyR1BSKSk7
CiAgICAgfSBlbHNlIHsKICAgICAgICAgREZHX1RZUEVfQ0hFQ0soCi0gICAgICAgICAgICBKU1Zh
bHVlUmVncyhvcDJHUFIpLCByaWdodENoaWxkLCAoflNwZWNDZWxsKSB8IFNwZWNPYmplY3QsIG1f
aml0LmJyYW5jaElmTm90T2JqZWN0KG9wMkdQUikpOworICAgICAgICAgICAgSlNWYWx1ZVJlZ3Mo
b3AyR1BSKSwgcmlnaHRDaGlsZCwgKH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpIHwgU3BlY09i
amVjdCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3Qob3AyR1BSKSk7CiAgICAgICAgIHNwZWN1bGF0
aW9uQ2hlY2soQmFkVHlwZSwgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwKICAgICAg
ICAgICAgIG1faml0LmJyYW5jaFRlc3Q4KAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVy
OjpOb25aZXJvLCAKQEAgLTE2NDksMTIgKzE2NDksMTIgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZU9iamVjdFRvT2JqZQogICAgIAogICAgIC8vIFdlIGtub3cgdGhhdCB3aXRoaW4gdGhp
cyBicmFuY2gsIHJpZ2h0Q2hpbGQgbXVzdCBub3QgYmUgYSBjZWxsLiBDaGVjayBpZiB0aGF0IGlz
IGVub3VnaCB0bwogICAgIC8vIHByb3ZlIHRoYXQgaXQgaXMgZWl0aGVyIG51bGwgb3IgdW5kZWZp
bmVkLgotICAgIGlmIChuZWVkc1R5cGVDaGVjayhyaWdodENoaWxkLCBTcGVjQ2VsbCB8IFNwZWNP
dGhlcikpIHsKKyAgICBpZiAobmVlZHNUeXBlQ2hlY2socmlnaHRDaGlsZCwgY2VsbENoZWNrVHlw
ZVBhc3N0aHJvdWdoIHwgU3BlY090aGVyKSkgewogICAgICAgICBtX2ppdC5tb3ZlKG9wMkdQUiwg
cmVzdWx0R1BSKTsKICAgICAgICAgbV9qaXQuYW5kNjQoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJ
bW0zMih+VGFnQml0VW5kZWZpbmVkKSwgcmVzdWx0R1BSKTsKICAgICAgICAgCiAgICAgICAgIHR5
cGVDaGVjaygKLSAgICAgICAgICAgIEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQsIFNw
ZWNDZWxsIHwgU3BlY090aGVyLAorICAgICAgICAgICAgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmln
aHRDaGlsZCwgY2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoIHwgU3BlY090aGVyLAogICAgICAgICAg
ICAgbV9qaXQuYnJhbmNoNjQoCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Ok5vdEVx
dWFsLCByZXN1bHRHUFIsCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJ
bW02NChWYWx1ZU51bGwpKSk7CkBAIC0xNzAyLDEwICsxNzAyLDEwIEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVQZWVwSG9sZU9iamUKICAgICAvLyBXZSBrbm93IHRoYXQgd2l0aGluIHRo
aXMgYnJhbmNoLCByaWdodENoaWxkIG11c3QgYmUgYSBjZWxsLiAKICAgICBpZiAobWFzcXVlcmFk
ZXNBc1VuZGVmaW5lZFdhdGNocG9pbnRWYWxpZCkgewogICAgICAgICBERkdfVFlQRV9DSEVDSygK
LSAgICAgICAgICAgIEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQsICh+U3BlY0NlbGwp
IHwgU3BlY09iamVjdCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3Qob3AyR1BSKSk7CisgICAgICAg
ICAgICBKU1ZhbHVlUmVncyhvcDJHUFIpLCByaWdodENoaWxkLCAofmNlbGxDaGVja1R5cGVQYXNz
dGhyb3VnaCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChvcDJHUFIpKTsK
ICAgICB9IGVsc2UgewogICAgICAgICBERkdfVFlQRV9DSEVDSygKLSAgICAgICAgICAgIEpTVmFs
dWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQsICh+U3BlY0NlbGwpIHwgU3BlY09iamVjdCwgbV9q
aXQuYnJhbmNoSWZOb3RPYmplY3Qob3AyR1BSKSk7CisgICAgICAgICAgICBKU1ZhbHVlUmVncyhv
cDJHUFIpLCByaWdodENoaWxkLCAofmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCkgfCBTcGVjT2Jq
ZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChvcDJHUFIpKTsKICAgICAgICAgc3BlY3VsYXRp
b25DaGVjayhCYWRUeXBlLCBKU1ZhbHVlUmVncyhvcDJHUFIpLCByaWdodENoaWxkLAogICAgICAg
ICAgICAgbV9qaXQuYnJhbmNoVGVzdDgoCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
Ok5vblplcm8sIApAQCAtMTcyMCw3ICsxNzIwLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZVBlZXBIb2xlT2JqZQogICAgIAogICAgIC8vIFdlIGtub3cgdGhhdCB3aXRoaW4gdGhpcyBi
cmFuY2gsIHJpZ2h0Q2hpbGQgbXVzdCBub3QgYmUgYSBjZWxsLiBDaGVjayBpZiB0aGF0IGlzIGVu
b3VnaCB0bwogICAgIC8vIHByb3ZlIHRoYXQgaXQgaXMgZWl0aGVyIG51bGwgb3IgdW5kZWZpbmVk
LgotICAgIGlmICghbmVlZHNUeXBlQ2hlY2socmlnaHRDaGlsZCwgU3BlY0NlbGwgfCBTcGVjT3Ro
ZXIpKQorICAgIGlmICghbmVlZHNUeXBlQ2hlY2socmlnaHRDaGlsZCwgY2VsbENoZWNrVHlwZVBh
c3N0aHJvdWdoIHwgU3BlY090aGVyKSkKICAgICAgICAgcmlnaHROb3RDZWxsLmxpbmsoJm1faml0
KTsKICAgICBlbHNlIHsKICAgICAgICAganVtcChub3RUYWtlbiwgRm9yY2VKdW1wKTsKQEAgLTE3
MzAsNyArMTczMCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQZWVwSG9sZU9iamUK
ICAgICAgICAgbV9qaXQuYW5kNjQoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMih+VGFnQml0
VW5kZWZpbmVkKSwgcmVzdWx0R1BSKTsKICAgICAgICAgCiAgICAgICAgIHR5cGVDaGVjaygKLSAg
ICAgICAgICAgIEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQsIFNwZWNDZWxsIHwgU3Bl
Y090aGVyLCBtX2ppdC5icmFuY2g2NCgKKyAgICAgICAgICAgIEpTVmFsdWVSZWdzKG9wMkdQUiks
IHJpZ2h0Q2hpbGQsIGNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCB8IFNwZWNPdGhlciwgbV9qaXQu
YnJhbmNoNjQoCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Ok5vdEVxdWFsLCByZXN1
bHRHUFIsCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW02NChWYWx1
ZU51bGwpKSk7CiAgICAgfQpAQCAtMTg2NCwxMCArMTg2NCwxMCBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlT2JqZWN0T3JPdGhlCiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgbm90Q2Vs
bCA9IG1faml0LmJyYW5jaElmTm90Q2VsbChKU1ZhbHVlUmVncyh2YWx1ZUdQUikpOwogICAgIGlm
IChtYXNxdWVyYWRlc0FzVW5kZWZpbmVkV2F0Y2hwb2ludFZhbGlkKSB7CiAgICAgICAgIERGR19U
WVBFX0NIRUNLKAotICAgICAgICAgICAgSlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBub2RlVXNlLCAo
flNwZWNDZWxsKSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KHZhbHVlR1BS
KSk7CisgICAgICAgICAgICBKU1ZhbHVlUmVncyh2YWx1ZUdQUiksIG5vZGVVc2UsICh+Y2VsbENo
ZWNrVHlwZVBhc3N0aHJvdWdoKSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0
KHZhbHVlR1BSKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgREZHX1RZUEVfQ0hFQ0soCi0gICAg
ICAgICAgICBKU1ZhbHVlUmVncyh2YWx1ZUdQUiksIG5vZGVVc2UsICh+U3BlY0NlbGwpIHwgU3Bl
Y09iamVjdCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3QodmFsdWVHUFIpKTsKKyAgICAgICAgICAg
IEpTVmFsdWVSZWdzKHZhbHVlR1BSKSwgbm9kZVVzZSwgKH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91
Z2gpIHwgU3BlY09iamVjdCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3QodmFsdWVHUFIpKTsKIAog
ICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc05vdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQg
PSAKICAgICAgICAgICAgIG1faml0LmJyYW5jaFRlc3Q4KApAQCAtMTg4OSwxMSArMTg4OSwxMSBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlT2JqZWN0T3JPdGhlCiAgICAgCiAgICAgbm90
Q2VsbC5saW5rKCZtX2ppdCk7CiAKLSAgICBpZiAobmVlZHNUeXBlQ2hlY2sobm9kZVVzZSwgU3Bl
Y0NlbGwgfCBTcGVjT3RoZXIpKSB7CisgICAgaWYgKG5lZWRzVHlwZUNoZWNrKG5vZGVVc2UsIGNl
bGxDaGVja1R5cGVQYXNzdGhyb3VnaCB8IFNwZWNPdGhlcikpIHsKICAgICAgICAgbV9qaXQubW92
ZSh2YWx1ZUdQUiwgcmVzdWx0R1BSKTsKICAgICAgICAgbV9qaXQuYW5kNjQoTWFjcm9Bc3NlbWJs
ZXI6OlRydXN0ZWRJbW0zMih+VGFnQml0VW5kZWZpbmVkKSwgcmVzdWx0R1BSKTsKICAgICAgICAg
dHlwZUNoZWNrKAotICAgICAgICAgICAgSlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBub2RlVXNlLCBT
cGVjQ2VsbCB8IFNwZWNPdGhlciwgbV9qaXQuYnJhbmNoNjQoCisgICAgICAgICAgICBKU1ZhbHVl
UmVncyh2YWx1ZUdQUiksIG5vZGVVc2UsIGNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCB8IFNwZWNP
dGhlciwgbV9qaXQuYnJhbmNoNjQoCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Ok5v
dEVxdWFsLCAKICAgICAgICAgICAgICAgICByZXN1bHRHUFIsIAogICAgICAgICAgICAgICAgIE1h
Y3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkpOwpAQCAtMjAxNiwxMCArMjAx
NiwxMCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0T2JqZWN0T3JPdGhlckJyCiAgICAgTWFj
cm9Bc3NlbWJsZXI6Okp1bXAgbm90Q2VsbCA9IG1faml0LmJyYW5jaElmTm90Q2VsbChKU1ZhbHVl
UmVncyh2YWx1ZUdQUikpOwogICAgIGlmIChtYXNxdWVyYWRlc0FzVW5kZWZpbmVkV2F0Y2hwb2lu
dElzU3RpbGxWYWxpZCgpKSB7CiAgICAgICAgIERGR19UWVBFX0NIRUNLKAotICAgICAgICAgICAg
SlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBub2RlVXNlLCAoflNwZWNDZWxsKSB8IFNwZWNPYmplY3Qs
IG1faml0LmJyYW5jaElmTm90T2JqZWN0KHZhbHVlR1BSKSk7CisgICAgICAgICAgICBKU1ZhbHVl
UmVncyh2YWx1ZUdQUiksIG5vZGVVc2UsICh+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoKSB8IFNw
ZWNPYmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KHZhbHVlR1BSKSk7CiAgICAgfSBlbHNl
IHsKICAgICAgICAgREZHX1RZUEVfQ0hFQ0soCi0gICAgICAgICAgICBKU1ZhbHVlUmVncyh2YWx1
ZUdQUiksIG5vZGVVc2UsICh+U3BlY0NlbGwpIHwgU3BlY09iamVjdCwgbV9qaXQuYnJhbmNoSWZO
b3RPYmplY3QodmFsdWVHUFIpKTsKKyAgICAgICAgICAgIEpTVmFsdWVSZWdzKHZhbHVlR1BSKSwg
bm9kZVVzZSwgKH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpIHwgU3BlY09iamVjdCwgbV9qaXQu
YnJhbmNoSWZOb3RPYmplY3QodmFsdWVHUFIpKTsKIAogICAgICAgICBKSVRDb21waWxlcjo6SnVt
cCBpc05vdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQgPSBtX2ppdC5icmFuY2hUZXN0OCgKICAgICAg
ICAgICAgIEpJVENvbXBpbGVyOjpaZXJvLCAKQEAgLTIwMzksMTEgKzIwMzksMTEgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6ZW1pdE9iamVjdE9yT3RoZXJCcgogICAgIAogICAgIG5vdENlbGwubGlu
aygmbV9qaXQpOwogICAgIAotICAgIGlmIChuZWVkc1R5cGVDaGVjayhub2RlVXNlLCBTcGVjQ2Vs
bCB8IFNwZWNPdGhlcikpIHsKKyAgICBpZiAobmVlZHNUeXBlQ2hlY2sobm9kZVVzZSwgY2VsbENo
ZWNrVHlwZVBhc3N0aHJvdWdoIHwgU3BlY090aGVyKSkgewogICAgICAgICBtX2ppdC5tb3ZlKHZh
bHVlR1BSLCBzY3JhdGNoR1BSKTsKICAgICAgICAgbV9qaXQuYW5kNjQoTWFjcm9Bc3NlbWJsZXI6
OlRydXN0ZWRJbW0zMih+VGFnQml0VW5kZWZpbmVkKSwgc2NyYXRjaEdQUik7CiAgICAgICAgIHR5
cGVDaGVjaygKLSAgICAgICAgICAgIEpTVmFsdWVSZWdzKHZhbHVlR1BSKSwgbm9kZVVzZSwgU3Bl
Y0NlbGwgfCBTcGVjT3RoZXIsIG1faml0LmJyYW5jaDY0KAorICAgICAgICAgICAgSlNWYWx1ZVJl
Z3ModmFsdWVHUFIpLCBub2RlVXNlLCBjZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjT3Ro
ZXIsIG1faml0LmJyYW5jaDY0KAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpOb3RF
cXVhbCwgc2NyYXRjaEdQUiwgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW02NChWYWx1ZU51bGwp
KSk7CiAgICAgfQogICAgIGp1bXAobm90VGFrZW4pOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDIxNzk1NCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yMjUwLDcgKzIyNTAsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
VmFsdWVUb0ludDMyCiAgICAgICAgICAgICAgICAgSklUQ29tcGlsZXI6Okp1bXAgaXNOdW1iZXIg
PSBtX2ppdC5icmFuY2hUZXN0NjQoTWFjcm9Bc3NlbWJsZXI6Ok5vblplcm8sIGdwciwgR1BSSW5m
bzo6dGFnVHlwZU51bWJlclJlZ2lzdGVyKTsKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICBERkdfVFlQRV9DSEVDSygKLSAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZVJlZ3MoZ3By
KSwgbm9kZS0+Y2hpbGQxKCksIH5TcGVjQ2VsbCwgbV9qaXQuYnJhbmNoSWZDZWxsKEpTVmFsdWVS
ZWdzKGdwcikpKTsKKyAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZVJlZ3MoZ3ByKSwgbm9kZS0+
Y2hpbGQxKCksIH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gsIG1faml0LmJyYW5jaElmQ2VsbChK
U1ZhbHVlUmVncyhncHIpKSk7CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgLy8g
SXQncyBub3QgYSBjZWxsOiBzbyB0cnVlIHR1cm5zIGludG8gMSBhbmQgYWxsIGVsc2UgdHVybnMg
aW50byAwLgogICAgICAgICAgICAgICAgIG1faml0LmNvbXBhcmU2NChKSVRDb21waWxlcjo6RXF1
YWwsIGdwciwgVHJ1c3RlZEltbTMyKFZhbHVlVHJ1ZSksIHJlc3VsdEdwcik7CkBAIC0yNDc4LDcg
KzI0NzgsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlRG91YmxlUmVwKE5vCiAgICAg
ICAgICAgICBKSVRDb21waWxlcjo6SnVtcCBpc051bGwgPSBtX2ppdC5icmFuY2g2NChKSVRDb21w
aWxlcjo6RXF1YWwsIG9wMUdQUiwgVHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpOwogICAgICAgICAg
ICAgZG9uZS5hcHBlbmQoaXNOdWxsKTsKIAotICAgICAgICAgICAgREZHX1RZUEVfQ0hFQ0soSlNW
YWx1ZVJlZ3Mob3AxR1BSKSwgbm9kZS0+Y2hpbGQxKCksIH5TcGVjQ2VsbCwKKyAgICAgICAgICAg
IERGR19UWVBFX0NIRUNLKEpTVmFsdWVSZWdzKG9wMUdQUiksIG5vZGUtPmNoaWxkMSgpLCB+Y2Vs
bENoZWNrVHlwZVBhc3N0aHJvdWdoLAogICAgICAgICAgICAgICAgIG1faml0LmJyYW5jaFRlc3Q2
NChKSVRDb21waWxlcjo6WmVybywgb3AxR1BSLCBUcnVzdGVkSW1tMzIoc3RhdGljX2Nhc3Q8aW50
MzJfdD4oVGFnQml0Qm9vbCkpKSk7CiAKICAgICAgICAgICAgIEpJVENvbXBpbGVyOjpKdW1wIGlz
RmFsc2UgPSBtX2ppdC5icmFuY2g2NChKSVRDb21waWxlcjo6RXF1YWwsIG9wMUdQUiwgVHJ1c3Rl
ZEltbTY0KFZhbHVlRmFsc2UpKTsKQEAgLTYwNzMsMTggKzYwNzMsMTkgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZUxvZ2ljYWxOb3RTdAogICAgIEpJVENvbXBpbGVyOjpKdW1wIG5vdENl
bGwgPSBtX2ppdC5icmFuY2hJZk5vdENlbGwodmFsdWVSZWdzKTsKICAgICBHUFJSZWcgY2VsbEdQ
UiA9IHZhbHVlUmVncy5wYXlsb2FkR1BSKCk7CiAgICAgREZHX1RZUEVfQ0hFQ0soCi0gICAgICAg
IHZhbHVlUmVncywgbm9kZS0+Y2hpbGQxKCksICh+U3BlY0NlbGwpIHwgU3BlY1N0cmluZywgbV9q
aXQuYnJhbmNoSWZOb3RTdHJpbmcoY2VsbEdQUikpOworICAgICAgICB2YWx1ZVJlZ3MsIG5vZGUt
PmNoaWxkMSgpLCAofmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCkgfCBTcGVjU3RyaW5nLCBtX2pp
dC5icmFuY2hJZk5vdFN0cmluZyhjZWxsR1BSKSk7CiAgICAgbV9qaXQudGVzdDMyKAogICAgICAg
ICBKSVRDb21waWxlcjo6WmVybywgSklUQ29tcGlsZXI6OkFkZHJlc3MoY2VsbEdQUiwgSlNTdHJp
bmc6Om9mZnNldE9mTGVuZ3RoKCkpLAogICAgICAgICBKSVRDb21waWxlcjo6VHJ1c3RlZEltbTMy
KC0xKSwgdGVtcEdQUik7CiAgICAgSklUQ29tcGlsZXI6Okp1bXAgZG9uZSA9IG1faml0Lmp1bXAo
KTsKICAgICBub3RDZWxsLmxpbmsoJm1faml0KTsKICAgICBERkdfVFlQRV9DSEVDSygKLSAgICAg
ICAgdmFsdWVSZWdzLCBub2RlLT5jaGlsZDEoKSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIsIG1faml0
LmJyYW5jaElmTm90T3RoZXIodmFsdWVSZWdzLCB0ZW1wR1BSKSk7CisgICAgICAgIHZhbHVlUmVn
cywgbm9kZS0+Y2hpbGQxKCksIGNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCB8IFNwZWNPdGhlciwg
bV9qaXQuYnJhbmNoSWZOb3RPdGhlcih2YWx1ZVJlZ3MsIHRlbXBHUFIpKTsKICAgICBtX2ppdC5t
b3ZlKFRydXN0ZWRJbW0zMigxKSwgdGVtcEdQUik7CiAgICAgZG9uZS5saW5rKCZtX2ppdCk7CiAK
ICAgICB1bmJsZXNzZWRCb29sZWFuUmVzdWx0KHRlbXBHUFIsIG5vZGUpOworCiB9CiAKIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmVtaXRTdHJpbmdCcmFuY2goRWRnZSBub2RlVXNlLCBCYXNpY0Jsb2Nr
KiB0YWtlbiwgQmFzaWNCbG9jayogbm90VGFrZW4pCkBAIC02MTA1LDE0ICs2MTA2LDE0IEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRTdHJpbmdPck90aGVyQnIKICAgICAKICAgICBKSVRDb21w
aWxlcjo6SnVtcCBub3RDZWxsID0gbV9qaXQuYnJhbmNoSWZOb3RDZWxsKHZhbHVlUmVncyk7CiAg
ICAgR1BSUmVnIGNlbGxHUFIgPSB2YWx1ZVJlZ3MucGF5bG9hZEdQUigpOwotICAgIERGR19UWVBF
X0NIRUNLKHZhbHVlUmVncywgbm9kZVVzZSwgKH5TcGVjQ2VsbCkgfCBTcGVjU3RyaW5nLCBtX2pp
dC5icmFuY2hJZk5vdFN0cmluZyhjZWxsR1BSKSk7CisgICAgREZHX1RZUEVfQ0hFQ0sodmFsdWVS
ZWdzLCBub2RlVXNlLCAofmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCkgfCBTcGVjU3RyaW5nLCBt
X2ppdC5icmFuY2hJZk5vdFN0cmluZyhjZWxsR1BSKSk7CiAgICAgYnJhbmNoVGVzdDMyKAogICAg
ICAgICBKSVRDb21waWxlcjo6WmVybywgSklUQ29tcGlsZXI6OkFkZHJlc3MoY2VsbEdQUiwgSlNT
dHJpbmc6Om9mZnNldE9mTGVuZ3RoKCkpLAogICAgICAgICBKSVRDb21waWxlcjo6VHJ1c3RlZElt
bTMyKC0xKSwgbm90VGFrZW4pOwogICAgIGp1bXAodGFrZW4sIEZvcmNlSnVtcCk7CiAgICAgbm90
Q2VsbC5saW5rKCZtX2ppdCk7CiAgICAgREZHX1RZUEVfQ0hFQ0soCi0gICAgICAgIHZhbHVlUmVn
cywgbm9kZVVzZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIsIG1faml0LmJyYW5jaElmTm90T3RoZXIo
dmFsdWVSZWdzLCB0ZW1wR1BSKSk7CisgICAgICAgIHZhbHVlUmVncywgbm9kZVVzZSwgY2VsbENo
ZWNrVHlwZVBhc3N0aHJvdWdoIHwgU3BlY090aGVyLCBtX2ppdC5icmFuY2hJZk5vdE90aGVyKHZh
bHVlUmVncywgdGVtcEdQUikpOwogICAgIGp1bXAobm90VGFrZW4pOwogICAgIG5vUmVzdWx0KG1f
Y3VycmVudE5vZGUpOwogfQpAQCAtODQwNiw3ICs4NDA3LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6c3BlY3VsYXRlQm9vbGVhbihFZAogCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVD
ZWxsKEVkZ2UgZWRnZSkKIHsKLSAgICBpZiAoIW5lZWRzVHlwZUNoZWNrKGVkZ2UsIFNwZWNDZWxs
KSkKKyAgICBpZiAoIW5lZWRzVHlwZUNoZWNrKGVkZ2UsIGNlbGxDaGVja1R5cGVQYXNzdGhyb3Vn
aCkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICAoU3BlY3VsYXRlQ2VsbE9wZXJhbmQodGhp
cywgZWRnZSkpLmdwcigpOwpAQCAtODQxNCw3ICs4NDE1LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6c3BlY3VsYXRlQ2VsbChFZGdlIAogCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVD
ZWxsT3JPdGhlcihFZGdlIGVkZ2UpCiB7Ci0gICAgaWYgKCFuZWVkc1R5cGVDaGVjayhlZGdlLCBT
cGVjQ2VsbCB8IFNwZWNPdGhlcikpCisgICAgaWYgKCFuZWVkc1R5cGVDaGVjayhlZGdlLCBjZWxs
Q2hlY2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjT3RoZXIpKQogICAgICAgICByZXR1cm47CiAgICAg
CiAgICAgSlNWYWx1ZU9wZXJhbmQgb3BlcmFuZCh0aGlzLCBlZGdlLCBNYW51YWxPcGVyYW5kU3Bl
Y3VsYXRpb24pOwpAQCAtODQyMyw3ICs4NDI0LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3Bl
Y3VsYXRlQ2VsbE9yT3RoZQogCiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgb2sgPSBtX2ppdC5i
cmFuY2hJZkNlbGwob3BlcmFuZC5qc1ZhbHVlUmVncygpKTsKICAgICBERkdfVFlQRV9DSEVDSygK
LSAgICAgICAgb3BlcmFuZC5qc1ZhbHVlUmVncygpLCBlZGdlLCBTcGVjQ2VsbCB8IFNwZWNPdGhl
ciwKKyAgICAgICAgb3BlcmFuZC5qc1ZhbHVlUmVncygpLCBlZGdlLCBjZWxsQ2hlY2tUeXBlUGFz
c3Rocm91Z2ggfCBTcGVjT3RoZXIsCiAgICAgICAgIG1faml0LmJyYW5jaElmTm90T3RoZXIob3Bl
cmFuZC5qc1ZhbHVlUmVncygpLCB0ZW1wR1BSKSk7CiAgICAgb2subGluaygmbV9qaXQpOwogfQpA
QCAtODU1MiwxMSArODU1MywxMSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVPYmpl
Y3RPck90CiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgbm90Q2VsbCA9IG1faml0LmJyYW5jaElm
Tm90Q2VsbChvcGVyYW5kLmpzVmFsdWVSZWdzKCkpOwogICAgIEdQUlJlZyBncHIgPSBvcGVyYW5k
LmpzVmFsdWVSZWdzKCkucGF5bG9hZEdQUigpOwogICAgIERGR19UWVBFX0NIRUNLKAotICAgICAg
ICBvcGVyYW5kLmpzVmFsdWVSZWdzKCksIGVkZ2UsICh+U3BlY0NlbGwpIHwgU3BlY09iamVjdCwg
bV9qaXQuYnJhbmNoSWZOb3RPYmplY3QoZ3ByKSk7CisgICAgICAgIG9wZXJhbmQuanNWYWx1ZVJl
Z3MoKSwgZWRnZSwgKH5jZWxsQ2hlY2tUeXBlUGFzc3Rocm91Z2gpIHwgU3BlY09iamVjdCwgbV9q
aXQuYnJhbmNoSWZOb3RPYmplY3QoZ3ByKSk7CiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgZG9u
ZSA9IG1faml0Lmp1bXAoKTsKICAgICBub3RDZWxsLmxpbmsoJm1faml0KTsKICAgICBERkdfVFlQ
RV9DSEVDSygKLSAgICAgICAgb3BlcmFuZC5qc1ZhbHVlUmVncygpLCBlZGdlLCBTcGVjQ2VsbCB8
IFNwZWNPdGhlciwKKyAgICAgICAgb3BlcmFuZC5qc1ZhbHVlUmVncygpLCBlZGdlLCBjZWxsQ2hl
Y2tUeXBlUGFzc3Rocm91Z2ggfCBTcGVjT3RoZXIsCiAgICAgICAgIG1faml0LmJyYW5jaElmTm90
T3RoZXIob3BlcmFuZC5qc1ZhbHVlUmVncygpLCB0ZW1wR1BSKSk7CiAgICAgZG9uZS5saW5rKCZt
X2ppdCk7CiB9CkBAIC04NTY0LDE3ICs4NTY1LDE3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNw
ZWN1bGF0ZU9iamVjdE9yT3QKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZVN0cmluZyhF
ZGdlIGVkZ2UsIEdQUlJlZyBjZWxsKQogewogICAgIERGR19UWVBFX0NIRUNLKAotICAgICAgICBK
U1ZhbHVlU291cmNlOjp1bmJveGVkQ2VsbChjZWxsKSwgZWRnZSwgU3BlY1N0cmluZyB8IH5TcGVj
Q2VsbCwgbV9qaXQuYnJhbmNoSWZOb3RTdHJpbmcoY2VsbCkpOworICAgICAgICBKU1ZhbHVlU291
cmNlOjp1bmJveGVkQ2VsbChjZWxsKSwgZWRnZSwgU3BlY1N0cmluZyB8IH5jZWxsQ2hlY2tUeXBl
UGFzc3Rocm91Z2gsIG1faml0LmJyYW5jaElmTm90U3RyaW5nKGNlbGwpKTsKIH0KIAogdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlU3RyaW5nT3JPdGhlcihFZGdlIGVkZ2UsIEpTVmFsdWVS
ZWdzIHJlZ3MsIEdQUlJlZyBzY3JhdGNoKQogewogICAgIEpJVENvbXBpbGVyOjpKdW1wIG5vdENl
bGwgPSBtX2ppdC5icmFuY2hJZk5vdENlbGwocmVncyk7CiAgICAgR1BSUmVnIGNlbGwgPSByZWdz
LnBheWxvYWRHUFIoKTsKLSAgICBERkdfVFlQRV9DSEVDSyhyZWdzLCBlZGdlLCAoflNwZWNDZWxs
KSB8IFNwZWNTdHJpbmcsIG1faml0LmJyYW5jaElmTm90U3RyaW5nKGNlbGwpKTsKKyAgICBERkdf
VFlQRV9DSEVDSyhyZWdzLCBlZGdlLCAofmNlbGxDaGVja1R5cGVQYXNzdGhyb3VnaCkgfCBTcGVj
U3RyaW5nLCBtX2ppdC5icmFuY2hJZk5vdFN0cmluZyhjZWxsKSk7CiAgICAgSklUQ29tcGlsZXI6
Okp1bXAgZG9uZSA9IG1faml0Lmp1bXAoKTsKICAgICBub3RDZWxsLmxpbmsoJm1faml0KTsKLSAg
ICBERkdfVFlQRV9DSEVDSyhyZWdzLCBlZGdlLCBTcGVjQ2VsbCB8IFNwZWNPdGhlciwgbV9qaXQu
YnJhbmNoSWZOb3RPdGhlcihyZWdzLCBzY3JhdGNoKSk7CisgICAgREZHX1RZUEVfQ0hFQ0socmVn
cywgZWRnZSwgY2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoIHwgU3BlY090aGVyLCBtX2ppdC5icmFu
Y2hJZk5vdE90aGVyKHJlZ3MsIHNjcmF0Y2gpKTsKICAgICBkb25lLmxpbmsoJm1faml0KTsKIH0K
IApAQCAtODcwMiw3ICs4NzAzLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlTm90
U3RyaW5nVgogCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVTeW1ib2woRWRnZSBlZGdl
LCBHUFJSZWcgY2VsbCkKIHsKLSAgICBERkdfVFlQRV9DSEVDSyhKU1ZhbHVlU291cmNlOjp1bmJv
eGVkQ2VsbChjZWxsKSwgZWRnZSwgU3BlY1N5bWJvbCwgbV9qaXQuYnJhbmNoSWZOb3RTeW1ib2wo
Y2VsbCkpOworICAgIERGR19UWVBFX0NIRUNLKEpTVmFsdWVTb3VyY2U6OnVuYm94ZWRDZWxsKGNl
bGwpLCBlZGdlLCB+Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoIHwgU3BlY1N5bWJvbCwgbV9qaXQu
YnJhbmNoSWZOb3RTeW1ib2woY2VsbCkpOwogfQogCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVj
dWxhdGVTeW1ib2woRWRnZSBlZGdlKQpAQCAtODcxNiwxMiArODcxNywxMiBAQCB2b2lkIFNwZWN1
bGF0aXZlSklUOjpzcGVjdWxhdGVTeW1ib2woRWRnCiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNw
ZWN1bGF0ZU5vdENlbGwoRWRnZSBlZGdlLCBKU1ZhbHVlUmVncyByZWdzKQogewotICAgIERGR19U
WVBFX0NIRUNLKHJlZ3MsIGVkZ2UsIH5TcGVjQ2VsbCwgbV9qaXQuYnJhbmNoSWZDZWxsKHJlZ3Mp
KTsKKyAgICBERkdfVFlQRV9DSEVDSyhyZWdzLCBlZGdlLCB+Y2VsbENoZWNrVHlwZVBhc3N0aHJv
dWdoLCBtX2ppdC5icmFuY2hJZkNlbGwocmVncykpOwogfQogCiB2b2lkIFNwZWN1bGF0aXZlSklU
OjpzcGVjdWxhdGVOb3RDZWxsKEVkZ2UgZWRnZSkKIHsKLSAgICBpZiAoIW5lZWRzVHlwZUNoZWNr
KGVkZ2UsIH5TcGVjQ2VsbCkpCisgICAgaWYgKCFuZWVkc1R5cGVDaGVjayhlZGdlLCB+Y2VsbENo
ZWNrVHlwZVBhc3N0aHJvdWdoKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIEpTVmFsdWVP
cGVyYW5kIG9wZXJhbmQodGhpcywgZWRnZSwgTWFudWFsT3BlcmFuZFNwZWN1bGF0aW9uKTsgCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCShy
ZXZpc2lvbiAyMTc5NTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDkgQEAgY2xhc3MgU3BlY3VsYXRl
Qm9vbGVhbk9wZXJhbmQ7CiAKIGVudW0gR2VuZXJhdGVkT3BlcmFuZFR5cGUgeyBHZW5lcmF0ZWRP
cGVyYW5kVHlwZVVua25vd24sIEdlbmVyYXRlZE9wZXJhbmRJbnRlZ2VyLCBHZW5lcmF0ZWRPcGVy
YW5kSlNWYWx1ZX07CiAKKy8vIFdoZW4gZG9pbmcgYSBjZWxsIGNoZWNrLCB0aGlzIGlzIHRoZSB0
eXBlIHRoYXQgcGFzc2VzIHRocm91Z2gKK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUg
Y2VsbENoZWNrVHlwZVBhc3N0aHJvdWdoID0gaXM2NEJpdCgpID8gU3BlY0NlbGxPckVtcHR5IDog
U3BlY0NlbGw7CisKIC8vID09PSBTcGVjdWxhdGl2ZUpJVCA9PT0KIC8vCiAvLyBUaGUgU3BlY3Vs
YXRpdmVKSVQgaXMgdXNlZCB0byBnZW5lcmF0ZSBhIGZhc3QsIGJ1dCBwb3RlbnRpYWxseQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdVc2VLaW5kLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdVc2VLaW5kLmgJKHJldmlzaW9uIDIxNzk1NCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVXNlS2luZC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTMsMTAgKzExMywxOSBAQCBpbmxpbmUgU3BlY3VsYXRlZFR5cGUgdHlwZUZpbHRlckZv
cihVc2VLCiAgICAgY2FzZSBLbm93bkJvb2xlYW5Vc2U6CiAgICAgICAgIHJldHVybiBTcGVjQm9v
bGVhbjsKICAgICBjYXNlIENlbGxVc2U6CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICAgICAgcmV0
dXJuIFNwZWNDZWxsT3JFbXB0eTsKKyNlbHNlCisgICAgICAgIHJldHVybiBTcGVjQ2VsbDsKKyNl
bmRpZgogICAgIGNhc2UgS25vd25DZWxsVXNlOgogICAgICAgICByZXR1cm4gU3BlY0NlbGw7CiAg
ICAgY2FzZSBDZWxsT3JPdGhlclVzZToKKyNpZiBVU0UoSlNWQUxVRTY0KQorICAgICAgICByZXR1
cm4gU3BlY0NlbGxPckVtcHR5IHwgU3BlY090aGVyOworI2Vsc2UKICAgICAgICAgcmV0dXJuIFNw
ZWNDZWxsIHwgU3BlY090aGVyOworI2VuZGlmCiAgICAgY2FzZSBPYmplY3RVc2U6CiAgICAgICAg
IHJldHVybiBTcGVjT2JqZWN0OwogICAgIGNhc2UgQXJyYXlVc2U6CkBAIC0xNTUsNyArMTY0LDEx
IEBAIGlubGluZSBTcGVjdWxhdGVkVHlwZSB0eXBlRmlsdGVyRm9yKFVzZUsKICAgICBjYXNlIE5v
dFN0cmluZ1ZhclVzZToKICAgICAgICAgcmV0dXJuIH5TcGVjU3RyaW5nVmFyOwogICAgIGNhc2Ug
Tm90Q2VsbFVzZToKKyNpZiBVU0UoSlNWQUxVRTY0KQorICAgICAgICByZXR1cm4gflNwZWNDZWxs
T3JFbXB0eTsKKyNlbHNlCiAgICAgICAgIHJldHVybiB+U3BlY0NlbGw7CisjZW5kaWYKICAgICBj
YXNlIE90aGVyVXNlOgogICAgICAgICByZXR1cm4gU3BlY090aGVyOwogICAgIGNhc2UgTWlzY1Vz
ZToKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5j
cHAJKHJldmlzaW9uIDIxNzk1NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93
ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMzMSw3ICsxMzMxLDcgQEAgcHJpdmF0
ZToKICAgICAgICAgICAgICAgICBtX291dC5hcHBlbmRUbyhjb252ZXJ0Qm9vbGVhbkZhbHNlQ2Fz
ZSwgY29udGludWF0aW9uKTsKIAogICAgICAgICAgICAgICAgIExWYWx1ZSB2YWx1ZUlzTm90Qm9v
bGVhbkZhbHNlID0gbV9vdXQubm90RXF1YWwodmFsdWUsIG1fb3V0LmNvbnN0SW50NjQoVmFsdWVG
YWxzZSkpOwotICAgICAgICAgICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1
ZSksIG1fbm9kZS0+Y2hpbGQxKCksIH5TcGVjQ2VsbCwgdmFsdWVJc05vdEJvb2xlYW5GYWxzZSk7
CisgICAgICAgICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgbV9u
b2RlLT5jaGlsZDEoKSwgflNwZWNDZWxsT3JFbXB0eSwgdmFsdWVJc05vdEJvb2xlYW5GYWxzZSk7
CiAgICAgICAgICAgICAgICAgVmFsdWVGcm9tQmxvY2sgY29udmVydGVkRmFsc2UgPSBtX291dC5h
bmNob3IobV9vdXQuY29uc3REb3VibGUoMCkpOwogICAgICAgICAgICAgICAgIG1fb3V0Lmp1bXAo
Y29udGludWF0aW9uKTsKIApAQCAtOTUyMCw3ICs5NTIwLDcgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgIAogICAgICAgICAgICAgbV9vdXQuYXBwZW5kVG8obm90TnVtYmVyQ2FzZSwgY29udGludWF0
aW9uKTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZh
bHVlKHZhbHVlKSwgZWRnZSwgflNwZWNDZWxsLCBpc0NlbGwodmFsdWUpKTsKKyAgICAgICAgICAg
IEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsIH5TcGVjQ2VsbE9yRW1w
dHksIGlzQ2VsbCh2YWx1ZSkpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBMVmFsdWUgc3Bl
Y2lhbFJlc3VsdCA9IG1fb3V0LnNlbGVjdCgKICAgICAgICAgICAgICAgICBtX291dC5lcXVhbCh2
YWx1ZSwgbV9vdXQuY29uc3RJbnQ2NChKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKHRydWUpKSkp
LApAQCAtMTA0MDUsMTMgKzEwNDA1LDEzIEBAIHByaXZhdGU6CiAgICAgICAgICAgICB1bnN1cmUo
bGVmdENlbGxDYXNlKSwgdW5zdXJlKGxlZnROb3RDZWxsQ2FzZSkpOwogICAgICAgICAKICAgICAg
ICAgTEJhc2ljQmxvY2sgbGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyhsZWZ0Q2VsbENhc2UsIGxl
ZnROb3RDZWxsQ2FzZSk7Ci0gICAgICAgIHNwZWN1bGF0ZVRydXRoeU9iamVjdChsZWZ0Q2hpbGQs
IGxlZnRWYWx1ZSwgU3BlY09iamVjdCB8ICh+U3BlY0NlbGwpKTsKKyAgICAgICAgc3BlY3VsYXRl
VHJ1dGh5T2JqZWN0KGxlZnRDaGlsZCwgbGVmdFZhbHVlLCBTcGVjT2JqZWN0IHwgKH5TcGVjQ2Vs
bE9yRW1wdHkpKTsKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgY2VsbFJlc3VsdCA9IG1fb3V0LmFu
Y2hvcihtX291dC5lcXVhbChyaWdodENlbGwsIGxlZnRWYWx1ZSkpOwogICAgICAgICBtX291dC5q
dW1wKGNvbnRpbnVhdGlvbik7CiAgICAgICAgIAogICAgICAgICBtX291dC5hcHBlbmRUbyhsZWZ0
Tm90Q2VsbENhc2UsIGNvbnRpbnVhdGlvbik7CiAgICAgICAgIEZUTF9UWVBFX0NIRUNLKAotICAg
ICAgICAgICAganNWYWx1ZVZhbHVlKGxlZnRWYWx1ZSksIGxlZnRDaGlsZCwgU3BlY090aGVyIHwg
U3BlY0NlbGwsIGlzTm90T3RoZXIobGVmdFZhbHVlKSk7CisgICAgICAgICAgICBqc1ZhbHVlVmFs
dWUobGVmdFZhbHVlKSwgbGVmdENoaWxkLCBTcGVjT3RoZXIgfCBTcGVjQ2VsbE9yRW1wdHksIGlz
Tm90T3RoZXIobGVmdFZhbHVlKSk7CiAgICAgICAgIFZhbHVlRnJvbUJsb2NrIG5vdENlbGxSZXN1
bHQgPSBtX291dC5hbmNob3IobV9vdXQuYm9vbGVhbkZhbHNlKTsKICAgICAgICAgbV9vdXQuanVt
cChjb250aW51YXRpb24pOwogICAgICAgICAKQEAgLTExMTgxLDE0ICsxMTE4MSwxNCBAQCBwcml2
YXRlOgogICAgICAgICAgICAgCiAgICAgICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1f
b3V0LmFwcGVuZFRvKGNlbGxDYXNlLCBub3RDZWxsQ2FzZSk7CiAgICAgICAgICAgICAKLSAgICAg
ICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsICh+U3BlY0Nl
bGwpIHwgU3BlY1N0cmluZywgaXNOb3RTdHJpbmcodmFsdWUpKTsKKyAgICAgICAgICAgIEZUTF9U
WVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsICh+U3BlY0NlbGxPckVtcHR5KSB8
IFNwZWNTdHJpbmcsIGlzTm90U3RyaW5nKHZhbHVlKSk7CiAgICAgICAgICAgICBMVmFsdWUgbGVu
Z3RoID0gbV9vdXQubG9hZDMyTm9uTmVnYXRpdmUodmFsdWUsIG1faGVhcHMuSlNTdHJpbmdfbGVu
Z3RoKTsKICAgICAgICAgICAgIFZhbHVlRnJvbUJsb2NrIGNlbGxSZXN1bHQgPSBtX291dC5hbmNo
b3IobV9vdXQubm90RXF1YWwobGVuZ3RoLCBtX291dC5pbnQzMlplcm8pKTsKICAgICAgICAgICAg
IG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgbV9v
dXQuYXBwZW5kVG8obm90Q2VsbENhc2UsIGNvbnRpbnVhdGlvbik7CiAgICAgICAgICAgICAKLSAg
ICAgICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsIFNwZWND
ZWxsIHwgU3BlY090aGVyLCBpc05vdE90aGVyKHZhbHVlKSk7CisgICAgICAgICAgICBGVExfVFlQ
RV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCBTcGVjQ2VsbE9yRW1wdHkgfCBTcGVj
T3RoZXIsIGlzTm90T3RoZXIodmFsdWUpKTsKICAgICAgICAgICAgIFZhbHVlRnJvbUJsb2NrIG5v
dENlbGxSZXN1bHQgPSBtX291dC5hbmNob3IobV9vdXQuYm9vbGVhbkZhbHNlKTsKICAgICAgICAg
ICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKICAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRv
KGNvbnRpbnVhdGlvbiwgbGFzdE5leHQpOwpAQCAtMTEzMzEsNyArMTEzMzEsNyBAQCBwcml2YXRl
OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ2VsbENhc2VTcGVjdWxhdGVzT2Jq
ZWN0OgogICAgICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soCi0gICAgICAgICAgICAgICAganNWYWx1
ZVZhbHVlKHZhbHVlKSwgZWRnZSwgKH5TcGVjQ2VsbCkgfCBTcGVjT2JqZWN0LCBpc05vdE9iamVj
dCh2YWx1ZSkpOworICAgICAgICAgICAgICAgIGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsICh+
U3BlY0NlbGxPckVtcHR5KSB8IFNwZWNPYmplY3QsIGlzTm90T2JqZWN0KHZhbHVlKSk7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICAKQEAgLTExMzc2LDcgKzExMzc2LDcg
QEAgcHJpdmF0ZToKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFNwZWN1bGF0ZU51
bGxPclVuZGVmaW5lZDoKICAgICAgICAgICAgIEZUTF9UWVBFX0NIRUNLKAotICAgICAgICAgICAg
ICAgIGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsIFNwZWNDZWxsIHwgU3BlY090aGVyLCBpc05v
dE90aGVyKHZhbHVlKSk7CisgICAgICAgICAgICAgICAganNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRn
ZSwgU3BlY0NlbGxPckVtcHR5IHwgU3BlY090aGVyLCBpc05vdE90aGVyKHZhbHVlKSk7CiAgICAg
ICAgICAgICBwcmltaXRpdmVSZXN1bHQgPSBtX291dC5ib29sZWFuVHJ1ZTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CkBAIC0xMjQ0MCwxMSArMTI0NDAsMTEgQEAgcHJpdmF0ZToKICAg
ICAgICAgaWYgKGlzVmFsaWQodmFsdWUpKSB7CiAgICAgICAgICAgICBMVmFsdWUgdW5jaGVja2Vk
VmFsdWUgPSB2YWx1ZS52YWx1ZSgpOwogICAgICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soCi0gICAg
ICAgICAgICAgICAganNWYWx1ZVZhbHVlKHVuY2hlY2tlZFZhbHVlKSwgZWRnZSwgU3BlY0NlbGws
IGlzTm90Q2VsbCh1bmNoZWNrZWRWYWx1ZSkpOworICAgICAgICAgICAgICAgIGpzVmFsdWVWYWx1
ZSh1bmNoZWNrZWRWYWx1ZSksIGVkZ2UsIFNwZWNDZWxsT3JFbXB0eSwgaXNOb3RDZWxsKHVuY2hl
Y2tlZFZhbHVlKSk7CiAgICAgICAgICAgICByZXR1cm4gdW5jaGVja2VkVmFsdWU7CiAgICAgICAg
IH0KICAgICAgICAgCi0gICAgICAgIERGR19BU1NFUlQobV9ncmFwaCwgbV9ub2RlLCAhKHByb3Zl
blR5cGUoZWRnZSkgJiBTcGVjQ2VsbCkpOworICAgICAgICBERkdfQVNTRVJUKG1fZ3JhcGgsIG1f
bm9kZSwgIShwcm92ZW5UeXBlKGVkZ2UpICYgU3BlY0NlbGxPckVtcHR5KSk7CiAgICAgICAgIHRl
cm1pbmF0ZShVbmNvdW50YWJsZSk7CiAgICAgICAgIHJldHVybiBtX291dC5pbnRQdHJaZXJvOwog
ICAgIH0KQEAgLTEyNTk5LDcgKzEyNTk5LDcgQEAgcHJpdmF0ZToKICAgICBMVmFsdWUgbG93Tm90
Q2VsbChFZGdlIGVkZ2UpCiAgICAgewogICAgICAgICBMVmFsdWUgcmVzdWx0ID0gbG93SlNWYWx1
ZShlZGdlLCBNYW51YWxPcGVyYW5kU3BlY3VsYXRpb24pOwotICAgICAgICBGVExfVFlQRV9DSEVD
Syhqc1ZhbHVlVmFsdWUocmVzdWx0KSwgZWRnZSwgflNwZWNDZWxsLCBpc0NlbGwocmVzdWx0KSk7
CisgICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZShyZXN1bHQpLCBlZGdlLCB+U3Bl
Y0NlbGxPckVtcHR5LCBpc0NlbGwocmVzdWx0KSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAg
ICAgfQogICAgIApAQCAtMTI3MDAsMTMgKzEyNzAwLDEzIEBAIHByaXZhdGU6CiAgICAgCiAgICAg
TFZhbHVlIGlzQ2VsbE9yTWlzYyhMVmFsdWUganNWYWx1ZSwgU3BlY3VsYXRlZFR5cGUgdHlwZSA9
IFNwZWNGdWxsVG9wKQogICAgIHsKLSAgICAgICAgaWYgKExWYWx1ZSBwcm92ZW4gPSBpc1Byb3Zl
blZhbHVlKHR5cGUsIFNwZWNDZWxsIHwgU3BlY01pc2MpKQorICAgICAgICBpZiAoTFZhbHVlIHBy
b3ZlbiA9IGlzUHJvdmVuVmFsdWUodHlwZSwgU3BlY0NlbGxPckVtcHR5IHwgU3BlY01pc2MpKQog
ICAgICAgICAgICAgcmV0dXJuIHByb3ZlbjsKICAgICAgICAgcmV0dXJuIG1fb3V0LnRlc3RJc1pl
cm82NChqc1ZhbHVlLCBtX3RhZ1R5cGVOdW1iZXIpOwogICAgIH0KICAgICBMVmFsdWUgaXNOb3RD
ZWxsT3JNaXNjKExWYWx1ZSBqc1ZhbHVlLCBTcGVjdWxhdGVkVHlwZSB0eXBlID0gU3BlY0Z1bGxU
b3ApCiAgICAgewotICAgICAgICBpZiAoTFZhbHVlIHByb3ZlbiA9IGlzUHJvdmVuVmFsdWUodHlw
ZSwgfihTcGVjQ2VsbCB8IFNwZWNNaXNjKSkpCisgICAgICAgIGlmIChMVmFsdWUgcHJvdmVuID0g
aXNQcm92ZW5WYWx1ZSh0eXBlLCB+KFNwZWNDZWxsT3JFbXB0eSB8IFNwZWNNaXNjKSkpCiAgICAg
ICAgICAgICByZXR1cm4gcHJvdmVuOwogICAgICAgICByZXR1cm4gbV9vdXQudGVzdE5vblplcm82
NChqc1ZhbHVlLCBtX3RhZ1R5cGVOdW1iZXIpOwogICAgIH0KQEAgLTEyODA3LDE0ICsxMjgwNywx
NCBAQCBwcml2YXRlOgogICAgIAogICAgIExWYWx1ZSBpc05vdENlbGwoTFZhbHVlIGpzVmFsdWUs
IFNwZWN1bGF0ZWRUeXBlIHR5cGUgPSBTcGVjRnVsbFRvcCkKICAgICB7Ci0gICAgICAgIGlmIChM
VmFsdWUgcHJvdmVuID0gaXNQcm92ZW5WYWx1ZSh0eXBlLCB+U3BlY0NlbGwpKQorICAgICAgICBp
ZiAoTFZhbHVlIHByb3ZlbiA9IGlzUHJvdmVuVmFsdWUodHlwZSwgflNwZWNDZWxsT3JFbXB0eSkp
CiAgICAgICAgICAgICByZXR1cm4gcHJvdmVuOwogICAgICAgICByZXR1cm4gbV9vdXQudGVzdE5v
blplcm82NChqc1ZhbHVlLCBtX3RhZ01hc2spOwogICAgIH0KICAgICAKICAgICBMVmFsdWUgaXND
ZWxsKExWYWx1ZSBqc1ZhbHVlLCBTcGVjdWxhdGVkVHlwZSB0eXBlID0gU3BlY0Z1bGxUb3ApCiAg
ICAgewotICAgICAgICBpZiAoTFZhbHVlIHByb3ZlbiA9IGlzUHJvdmVuVmFsdWUodHlwZSwgU3Bl
Y0NlbGwpKQorICAgICAgICBpZiAoTFZhbHVlIHByb3ZlbiA9IGlzUHJvdmVuVmFsdWUodHlwZSwg
U3BlY0NlbGxPckVtcHR5KSkKICAgICAgICAgICAgIHJldHVybiBwcm92ZW47CiAgICAgICAgIHJl
dHVybiBtX291dC50ZXN0SXNaZXJvNjQoanNWYWx1ZSwgbV90YWdNYXNrKTsKICAgICB9CkBAIC0x
MzAyNCw3ICsxMzAyNCw3IEBAIHByaXZhdGU6CiAgICAgICAgIG1fb3V0LmJyYW5jaChpc0NlbGwo
dmFsdWUsIHByb3ZlblR5cGUoZWRnZSkpLCB1bnN1cmUoY29udGludWF0aW9uKSwgdW5zdXJlKGlz
Tm90Q2VsbCkpOwogCiAgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuYXBwZW5k
VG8oaXNOb3RDZWxsLCBjb250aW51YXRpb24pOwotICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1Zh
bHVlVmFsdWUodmFsdWUpLCBlZGdlLCBTcGVjQ2VsbCB8IFNwZWNPdGhlciwgaXNOb3RPdGhlcih2
YWx1ZSkpOworICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdl
LCBTcGVjQ2VsbE9yRW1wdHkgfCBTcGVjT3RoZXIsIGlzTm90T3RoZXIodmFsdWUpKTsKICAgICAg
ICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOwogCiAgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNv
bnRpbnVhdGlvbiwgbGFzdE5leHQpOwpAQCAtMTMyNTgsMTQgKzEzMjU4LDE0IEBAIHByaXZhdGU6
CiAgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuYXBwZW5kVG8oY2VsbENhc2Us
IHByaW1pdGl2ZUNhc2UpOwogICAgICAgICAKICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soCi0gICAg
ICAgICAgICBqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCAoflNwZWNDZWxsKSB8IFNwZWNPYmpl
Y3QsIGlzTm90T2JqZWN0KHZhbHVlKSk7CisgICAgICAgICAgICBqc1ZhbHVlVmFsdWUodmFsdWUp
LCBlZGdlLCAoflNwZWNDZWxsT3JFbXB0eSkgfCBTcGVjT2JqZWN0LCBpc05vdE9iamVjdCh2YWx1
ZSkpOwogICAgICAgICAKICAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOwogICAgICAg
ICAKICAgICAgICAgbV9vdXQuYXBwZW5kVG8ocHJpbWl0aXZlQ2FzZSwgY29udGludWF0aW9uKTsK
ICAgICAgICAgCiAgICAgICAgIEZUTF9UWVBFX0NIRUNLKAotICAgICAgICAgICAganNWYWx1ZVZh
bHVlKHZhbHVlKSwgZWRnZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIsIGlzTm90T3RoZXIodmFsdWUp
KTsKKyAgICAgICAgICAgIGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsIFNwZWNDZWxsT3JFbXB0
eSB8IFNwZWNPdGhlciwgaXNOb3RPdGhlcih2YWx1ZSkpOwogICAgICAgICAKICAgICAgICAgbV9v
dXQuanVtcChjb250aW51YXRpb24pOwogICAgICAgICAKQEAgLTEzMzQwLDcgKzEzMzQwLDcgQEAg
cHJpdmF0ZToKICAgICAKICAgICB2b2lkIHNwZWN1bGF0ZVN0cmluZyhFZGdlIGVkZ2UsIExWYWx1
ZSBjZWxsKQogICAgIHsKLSAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKGNlbGwp
LCBlZGdlLCBTcGVjU3RyaW5nIHwgflNwZWNDZWxsLCBpc05vdFN0cmluZyhjZWxsKSk7CisgICAg
ICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZShjZWxsKSwgZWRnZSwgU3BlY1N0cmluZywg
aXNOb3RTdHJpbmcoY2VsbCkpOwogICAgIH0KICAgICAKICAgICB2b2lkIHNwZWN1bGF0ZVN0cmlu
ZyhFZGdlIGVkZ2UpCkBAIC0xMzM1OCwxMiArMTMzNTgsMTIgQEAgcHJpdmF0ZToKIAogICAgICAg
ICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKGNlbGxDYXNlLCBub3RDZWxs
Q2FzZSk7CiAKLSAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRn
ZSwgKH5TcGVjQ2VsbCkgfCBTcGVjU3RyaW5nLCBpc05vdFN0cmluZyh2YWx1ZSkpOworICAgICAg
ICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCAoflNwZWNDZWxsT3JF
bXB0eSkgfCBTcGVjU3RyaW5nLCBpc05vdFN0cmluZyh2YWx1ZSkpOwogCiAgICAgICAgIG1fb3V0
Lmp1bXAoY29udGludWF0aW9uKTsKICAgICAgICAgbV9vdXQuYXBwZW5kVG8obm90Q2VsbENhc2Us
IGNvbnRpbnVhdGlvbik7CiAKLSAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZh
bHVlKSwgZWRnZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIsIGlzTm90T3RoZXIodmFsdWUpKTsKKyAg
ICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgU3BlY0NlbGxP
ckVtcHR5IHwgU3BlY090aGVyLCBpc05vdE90aGVyKHZhbHVlKSk7CiAKICAgICAgICAgbV9vdXQu
anVtcChjb250aW51YXRpb24pOwogICAgICAgICBtX291dC5hcHBlbmRUbyhjb250aW51YXRpb24s
IGxhc3ROZXh0KTsKQEAgLTEzNDQ0LDcgKzEzNDQ0LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQg
c3BlY3VsYXRlU3ltYm9sKEVkZ2UgZWRnZSwgTFZhbHVlIGNlbGwpCiAgICAgewotICAgICAgICBG
VExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUoY2VsbCksIGVkZ2UsIFNwZWNTeW1ib2wgfCB+U3Bl
Y0NlbGwsIGlzTm90U3ltYm9sKGNlbGwpKTsKKyAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1
ZVZhbHVlKGNlbGwpLCBlZGdlLCBTcGVjU3ltYm9sLCBpc05vdFN5bWJvbChjZWxsKSk7CiAgICAg
fQogCiAgICAgdm9pZCBzcGVjdWxhdGVTeW1ib2woRWRnZSBlZGdlKQo=
</data>
<flag name="review"
          id="333300"
          type_id="1"
          status="-"
          setter="fpizlo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312617</attachid>
            <date>2017-06-11 14:03:07 -0700</date>
            <delta_ts>2017-06-12 14:01:55 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>33247</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTgwNzApCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE2IEBACisyMDE3LTA2LTExICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFdlIHNob3VsZCBub3QgY2xhaW0gdGhhdCBTcGVjRW1wdHkgaXMgZmls
dGVyZWQgb3V0IG9mIGNlbGwgY2hlY2tzIG9uIDY0IGJpdCBwbGF0Zm9ybXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Mjk1NworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzI2MDI3MDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBzdHJlc3Mvc3BlYy1lbXB0eS1mbG93cy10aHJvdWdoLWNlbGwtY2hl
Y2tzLmpzOiBBZGRlZC4KKyAgICAgICAgKEEpOgorICAgICAgICAoQik6CisgICAgICAgIChpLmNh
dGNoKToKKwogMjAxNy0wNi0xMSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLCB1cGRhdGUgdGVzdCByZXN1bHRzIHBhcnQgMwpJbmRl
eDogSlNUZXN0cy9zdHJlc3Mvc3BlYy1lbXB0eS1mbG93cy10aHJvdWdoLWNlbGwtY2hlY2tzLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3NwZWMtZW1wdHktZmxvd3MtdGhyb3VnaC1j
ZWxsLWNoZWNrcy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9zcGVjLWVtcHR5
LWZsb3dzLXRocm91Z2gtY2VsbC1jaGVja3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
NCBAQAorLy8gVGhpcyB0ZXN0IHNob3VsZG4ndCBjcmFzaC4KKworY2xhc3MgQSB7IH07CisKK2Ns
YXNzIEIgZXh0ZW5kcyBBIHsKKyAgICBjb25zdHJ1Y3RvcihhLCBiKSB7CisgICAgICAgIHZhciBm
ID0gKCkgPT4gYiA/IHRoaXMgOiB7fTsKKyAgICAgICAgaWYgKGEpIHsKKyAgICAgICAgICAgIHZh
ciB2YWwgPSBmKCkgPT0gc3VwZXIoKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHN1
cGVyKCk7CisgICAgICAgICAgICB2YXIgdmFsID0gZigpOworICAgICAgICB9CisgICAgfQorfTsK
KworZm9yICh2YXIgaT0wOyBpIDwgMTAwMDA7IGkrKykgeworICAgIHRyeSB7CisgICAgICAgIG5l
dyBCKHRydWUsIHRydWUpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICB9CisgICAgdmFyIGEgPSBu
ZXcgQihmYWxzZSwgdHJ1ZSk7CisgICAgdmFyIGMgPSBuZXcgQih0cnVlLCBmYWxzZSk7Cit9Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxODA3MCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw4MiBAQAor
MjAxNy0wNi0xMSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBX
ZSBzaG91bGQgbm90IGNsYWltIHRoYXQgU3BlY0VtcHR5IGlzIGZpbHRlcmVkIG91dCBvZiBjZWxs
IGNoZWNrcyBvbiA2NCBiaXQgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI5NTcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMyNjAy
NzA0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENv
bnNpZGVyIHRoaXMgcHJvZ3JhbToKKyAgICAgICAgYGBgCisgICAgICAgIGJsb2NrIzE6CisgICAg
ICAgIG46IEdldENsb3N1cmVWYXIoLi4uLCB8dGhpc3wpIC8vIHRoaXMgd2lsbCBsb2FkIGVtcHR5
IEpTVmFsdWUoKQorICAgICAgICBTZXRMb2NhbChDZWxsOkBuLCBsb2NGb28pIC8vIENlbGwgY2hl
Y2sgc3VjY2VlZHMgYmVjYXVzZSBKU1ZhbHVlKCkgbG9va3MgbGlrZSBhIGNlbGwKKyAgICAgICAg
QnJhbmNoKCMyLCAjMykKKyAgICAgICAgCisgICAgICAgIEJsb2NrIzM6CisgICAgICAgIHg6IEdl
dExvY2FsKGxvY0ZvbykKKyAgICAgICAgeTogQ2hlY2tOb3RFbXB0eShAeCkKKyAgICAgICAgYGBg
CisgICAgICAgIAorICAgICAgICBJZiB3ZSBjbGFpbSB0aGF0IGEgY2VsbCBjaGVjayBmaWx0ZXJz
IG91dCB0aGUgZW1wdHkgdmFsdWUsIHdlIHdpbGwKKyAgICAgICAgaW5jb3JyZWN0bHkgZWxpbWlu
YXRlIHRoZSBDaGVja05vdEVtcHR5IG5vZGUgQHkuIFRoaXMgcGF0Y2ggZml4ZXMgQUksCisgICAg
ICAgIEZUTExvd2VyREZHVG9CMywgYW5kIERGR1NwZWN1bGF0aXZlSklUIHRvIG5vIGxvbmdlciBt
YWtlIHRoaXMgY2xhaW0uCisgICAgICAgIAorICAgICAgICBPbiA2NCBiaXQgcGxhdGZvcm1zOgor
ICAgICAgICAtIENlbGwgdXNlIGtpbmQgKm5vdyBhbGxvd3MqIHRoZSBlbXB0eSB2YWx1ZSB0byBw
YXNzIHRocm91Z2guCisgICAgICAgIC0gQ2VsbE9yT3RoZXIgdXNlIGtpbmQgKm5vdyBhbGxvd3Mq
IGZvciB0aGUgZW1wdHkgdmFsdWUgdG8gcGFzcyB0aHJvdWdoCisgICAgICAgIC0gTm90Q2VsbCB1
c2Uga2luZCAqbm8gbG9uZ2VyIGFsbG93cyogdGhlIGVtcHR5IHZhbHVlIHRvIHBhc3MgdGhyb3Vn
aC4KKworICAgICAgICAqIGFzc2VtYmxlci9DUFUuaDoKKyAgICAgICAgKEpTQzo6aXNBUk12N0lE
SVZTdXBwb3J0ZWQpOgorICAgICAgICAoSlNDOjppc0FSTTY0KToKKyAgICAgICAgKEpTQzo6aXNY
ODYpOgorICAgICAgICAoSlNDOjppc1g4Nl82NCk6CisgICAgICAgIChKU0M6OmlzNjRCaXQpOgor
ICAgICAgICAoSlNDOjppczMyQml0KToKKyAgICAgICAgKEpTQzo6aXNNSVBTKToKKyAgICAgICAg
TWFrZSB0aGVzZSBmdW5jdGlvbnMgY29uc3RleHByIHNvIHdlIGNhbiB1c2UgdGhlbSBpbiBzdGF0
aWMgdmFyaWFibGUgYXNzaWdubWVudC4KKworICAgICAgICAqIGJ5dGVjb2RlL1NwZWN1bGF0ZWRU
eXBlLmg6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpT
Qzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVZhbHVlVG9JbnQzMik6CisgICAgICAgIChK
U0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVEb3VibGVSZXApOgorICAgICAgICAoSlND
OjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlTG9naWNhbE5vdFN0cmluZ09yT3RoZXIpOgor
ICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjplbWl0U3RyaW5nT3JPdGhlckJyYW5j
aCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZUNlbGwpOgor
ICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVDZWxsT3JPdGhlcik6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZU9iamVjdE9yT3Ro
ZXIpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVTdHJpbmcp
OgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVTdHJpbmdPck90
aGVyKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlU3ltYm9s
KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlTm90Q2VsbCk6
CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAqIGRm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2
ZUpJVDo6ZmlsbFNwZWN1bGF0ZUNlbGwpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZl
SklUOjpjb21waWxlT2JqZWN0VG9PYmplY3RPck90aGVyRXF1YWxpdHkpOgorICAgICAgICAoSlND
OjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlUGVlcEhvbGVPYmplY3RUb09iamVjdE9yT3Ro
ZXJFcXVhbGl0eSk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVP
YmplY3RPck90aGVyTG9naWNhbE5vdCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVK
SVQ6OmVtaXRPYmplY3RPck90aGVyQnJhbmNoKToKKyAgICAgICAgKiBkZmcvREZHVXNlS2luZC5o
OgorICAgICAgICAoSlNDOjpERkc6OnR5cGVGaWx0ZXJGb3IpOgorICAgICAgICAqIGZ0bC9GVExM
b3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpj
b21waWxlRG91YmxlUmVwKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6
bnVtYmVyT3JOb3RDZWxsVG9JbnQzMik6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRG
R1RvQjM6OmNvbXBhcmVFcU9iamVjdE9yT3RoZXJUb09iamVjdCk6CisgICAgICAgIChKU0M6OkZU
TDo6REZHOjpMb3dlckRGR1RvQjM6OmJvb2xpZnkpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6
TG93ZXJERkdUb0IzOjplcXVhbE51bGxPclVuZGVmaW5lZCk6CisgICAgICAgIChKU0M6OkZUTDo6
REZHOjpMb3dlckRGR1RvQjM6Omxvd0NlbGwpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93
ZXJERkdUb0IzOjpsb3dOb3RDZWxsKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZH
VG9CMzo6aXNDZWxsT3JNaXNjKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9C
Mzo6aXNOb3RDZWxsT3JNaXNjKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9C
Mzo6aXNOb3RDZWxsKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6aXND
ZWxsKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6c3BlY3VsYXRlQ2Vs
bE9yT3RoZXIpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpzcGVjdWxh
dGVPYmplY3RPck90aGVyKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6
c3BlY3VsYXRlU3RyaW5nKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6
c3BlY3VsYXRlU3RyaW5nT3JPdGhlcik6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRG
R1RvQjM6OnNwZWN1bGF0ZVN5bWJvbCk6CisKIDIwMTctMDYtMTEgIFl1c3VrZSBTdXp1a2kgIDx1
dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgW0pTQ10gU2hyaW5rIFN0cnVjdHVyZSBz
aXplCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0NQVS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQ1BVLmgJKHJldmlzaW9uIDIx
ODA3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQ1BVLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI5LDcgKzI5LDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWlubGluZSBib29s
IGlzQVJNdjdJRElWU3VwcG9ydGVkKCkKK2NvbnN0ZXhwciBib29sIGlzQVJNdjdJRElWU3VwcG9y
dGVkKCkKIHsKICNpZiBIQVZFKEFSTV9JRElWX0lOU1RSVUNUSU9OUykKICAgICByZXR1cm4gdHJ1
ZTsKQEAgLTM4LDcgKzM4LDcgQEAgaW5saW5lIGJvb2wgaXNBUk12N0lESVZTdXBwb3J0ZWQoKQog
I2VuZGlmCiB9CiAKLWlubGluZSBib29sIGlzQVJNNjQoKQorY29uc3RleHByIGJvb2wgaXNBUk02
NCgpCiB7CiAjaWYgQ1BVKEFSTTY0KQogICAgIHJldHVybiB0cnVlOwpAQCAtNDcsNyArNDcsNyBA
QCBpbmxpbmUgYm9vbCBpc0FSTTY0KCkKICNlbmRpZgogfQogCi1pbmxpbmUgYm9vbCBpc1g4Nigp
Citjb25zdGV4cHIgYm9vbCBpc1g4NigpCiB7CiAjaWYgQ1BVKFg4Nl82NCkgfHwgQ1BVKFg4NikK
ICAgICByZXR1cm4gdHJ1ZTsKQEAgLTU2LDcgKzU2LDcgQEAgaW5saW5lIGJvb2wgaXNYODYoKQog
I2VuZGlmCiB9CiAKLWlubGluZSBib29sIGlzWDg2XzY0KCkKK2NvbnN0ZXhwciBib29sIGlzWDg2
XzY0KCkKIHsKICNpZiBDUFUoWDg2XzY0KQogICAgIHJldHVybiB0cnVlOwpAQCAtNjUsNyArNjUs
NyBAQCBpbmxpbmUgYm9vbCBpc1g4Nl82NCgpCiAjZW5kaWYKIH0KIAotaW5saW5lIGJvb2wgaXM2
NEJpdCgpCitjb25zdGV4cHIgYm9vbCBpczY0Qml0KCkKIHsKICNpZiBVU0UoSlNWQUxVRTY0KQog
ICAgIHJldHVybiB0cnVlOwpAQCAtNzQsMTIgKzc0LDEyIEBAIGlubGluZSBib29sIGlzNjRCaXQo
KQogI2VuZGlmCiB9CiAKLWlubGluZSBib29sIGlzMzJCaXQoKQorY29uc3RleHByIGJvb2wgaXMz
MkJpdCgpCiB7CiAgICAgcmV0dXJuICFpczY0Qml0KCk7CiB9CiAKLWlubGluZSBib29sIGlzTUlQ
UygpCitjb25zdGV4cHIgYm9vbCBpc01JUFMoKQogewogI2lmIENQVShNSVBTKQogICAgIHJldHVy
biB0cnVlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRU
eXBlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1
bGF0ZWRUeXBlLmgJKHJldmlzaW9uIDIxODA3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9TcGVjdWxhdGVkVHlwZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBA
CiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQ1BVLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1
ZS5oIgogI2luY2x1ZGUgIlR5cGVkQXJyYXlUeXBlLmgiCiAjaW5jbHVkZSA8d3RmL1ByaW50U3Ry
ZWFtLmg+CkBAIC05Myw2ICs5NCwxMSBAQCBzdGF0aWMgY29uc3QgU3BlY3VsYXRlZFR5cGUgU3Bl
Y0VtcHR5ICAgCiBzdGF0aWMgY29uc3QgU3BlY3VsYXRlZFR5cGUgU3BlY0J5dGVjb2RlVG9wICAg
ICAgICA9IFNwZWNIZWFwVG9wIHwgU3BlY0VtcHR5OyAvLyBJdCBjYW4gYmUgYW55IG9mIHRoZSBh
Ym92ZSwgZXhjZXB0IGZvciBTcGVjSW50NTJPbmx5IGFuZCBTcGVjRG91YmxlSW1wdXJlTmFOLiBD
b3JyZXNwb25kcyB0byB3aGF0IGNvdWxkIGJlIGZvdW5kIGluIGEgYnl0ZWNvZGUgbG9jYWwuCiBz
dGF0aWMgY29uc3QgU3BlY3VsYXRlZFR5cGUgU3BlY0Z1bGxUb3AgICAgICAgICAgICA9IFNwZWNC
eXRlY29kZVRvcCB8IFNwZWNGdWxsTnVtYmVyOyAvLyBJdCBjYW4gYmUgYW55dGhpbmcgdGhhdCBi
eXRlY29kZSBjb3VsZCBzZWUgcGx1cyBleG90aWMgZW5jb2RpbmdzIG9mIG51bWJlcnMuCiAKKy8v
IFNwZWNDZWxsQ2hlY2sgaXMgdGhlIHR5cGUgc2V0IHJlcHJlc2VudGluZyB0aGUgdmFsdWVzIHRo
YXQgY2FuIGZsb3cgdGhyb3VnaCBhIGNlbGwgY2hlY2suCisvLyBPbiA2NC1iaXQgcGxhdGZvcm1z
LCB0aGUgZW1wdHkgdmFsdWUgcGFzc2VzIGEgY2VsbCBjaGVjay4gQWxzbywgflNwZWNDZWxsQ2hl
Y2sgaXMgdGhlIHR5cGUKKy8vIHNldCB0aGF0IHJlcHJlc2VudGluZyB0aGUgdmFsdWVzIHRoYXQg
ZmxvdyB0aHJvdWdoIHdoZW4gdGVzdGluZyB0aGF0IHNvbWV0aGluZyBpcyBub3QgYSBjZWxsLgor
c3RhdGljIGNvbnN0IFNwZWN1bGF0ZWRUeXBlIFNwZWNDZWxsQ2hlY2sgICAgICAgICAgPSBpczY0
Qml0KCkgPyAoU3BlY0NlbGwgfCBTcGVjRW1wdHkpIDogU3BlY0NlbGw7CisKIHR5cGVkZWYgYm9v
bCAoKlNwZWN1bGF0ZWRUeXBlQ2hlY2tlcikoU3BlY3VsYXRlZFR5cGUpOwogCiAvLyBEdW1teSBw
cmVkaWN0aW9uIGNoZWNrZXIsIG9ubHkgdXNlZnVsIGlmIHNvbWVvbmUgaW5zaXN0cyBvbiByZXF1
aXJpbmcgYSBwcmVkaWN0aW9uIGNoZWNrZXIuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHJldmlzaW9uIDIxODA3
MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDggQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVz
cGFjZSBERkcgewogCiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKIAorc3RhdGljX2Fzc2VydChTcGVj
Q2VsbENoZWNrID09IFNwZWNDZWxsLCAiVGhpcyBpcyBzdHJvbmdseSBhc3N1bWVkIGluIHRoZSAz
Mi1iaXQgREZHIGJhY2tlbmQuIik7CisKIGJvb2wgU3BlY3VsYXRpdmVKSVQ6OmZpbGxKU1ZhbHVl
KEVkZ2UgZWRnZSwgR1BSUmVnJiB0YWdHUFIsIEdQUlJlZyYgcGF5bG9hZEdQUiwgRlBSUmVnJiBm
cHIpCiB7CiAgICAgLy8gRklYTUU6IEZvciBkb3VibGUgd2UgY291bGQgZmlsbCB3aXRoIGEgRlBS
LgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUNjQuY3BwCShyZXZpc2lvbiAyMTgwNzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzY5LDkgKzEzNjks
OSBAQCBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVDZWxsCiB7CiAgICAgQWJz
dHJhY3RWYWx1ZSYgdmFsdWUgPSBtX3N0YXRlLmZvck5vZGUoZWRnZSk7CiAgICAgU3BlY3VsYXRl
ZFR5cGUgdHlwZSA9IHZhbHVlLm1fdHlwZTsKLSAgICBBU1NFUlQoKGVkZ2UudXNlS2luZCgpICE9
IEtub3duQ2VsbFVzZSAmJiBlZGdlLnVzZUtpbmQoKSAhPSBLbm93blN0cmluZ1VzZSkgfHwgISh2
YWx1ZS5tX3R5cGUgJiB+U3BlY0NlbGwpKTsKKyAgICBBU1NFUlQoKGVkZ2UudXNlS2luZCgpICE9
IEtub3duQ2VsbFVzZSAmJiBlZGdlLnVzZUtpbmQoKSAhPSBLbm93blN0cmluZ1VzZSkgfHwgISh2
YWx1ZS5tX3R5cGUgJiB+U3BlY0NlbGxDaGVjaykpOwogCi0gICAgbV9pbnRlcnByZXRlci5maWx0
ZXIodmFsdWUsIFNwZWNDZWxsKTsKKyAgICBtX2ludGVycHJldGVyLmZpbHRlcih2YWx1ZSwgU3Bl
Y0NlbGxDaGVjayk7CiAgICAgaWYgKHZhbHVlLmlzQ2xlYXIoKSkgewogICAgICAgICB0ZXJtaW5h
dGVTcGVjdWxhdGl2ZUV4ZWN1dGlvbihVbmNvdW50YWJsZSwgSlNWYWx1ZVJlZ3MoKSwgMCk7CiAg
ICAgICAgIHJldHVybiBhbGxvY2F0ZSgpOwpAQCAtMTM5Niw3ICsxMzk2LDcgQEAgR1BSUmVnIFNw
ZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlQ2VsbAogICAgICAgICBtX2ppdC5sb2FkNjQoSklU
Q29tcGlsZXI6OmFkZHJlc3NGb3IodmlydHVhbFJlZ2lzdGVyKSwgZ3ByKTsKIAogICAgICAgICBp
bmZvLmZpbGxKU1ZhbHVlKCptX3N0cmVhbSwgZ3ByLCBEYXRhRm9ybWF0SlMpOwotICAgICAgICBp
ZiAodHlwZSAmIH5TcGVjQ2VsbCkKKyAgICAgICAgaWYgKHR5cGUgJiB+U3BlY0NlbGxDaGVjaykK
ICAgICAgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkVHlwZSwgSlNWYWx1ZVJlZ3MoZ3ByKSwg
ZWRnZSwgbV9qaXQuYnJhbmNoSWZOb3RDZWxsKEpTVmFsdWVSZWdzKGdwcikpKTsKICAgICAgICAg
aW5mby5maWxsSlNWYWx1ZSgqbV9zdHJlYW0sIGdwciwgRGF0YUZvcm1hdEpTQ2VsbCk7CiAgICAg
ICAgIHJldHVybiBncHI7CkBAIC0xNDE3LDcgKzE0MTcsNyBAQCBHUFJSZWcgU3BlY3VsYXRpdmVK
SVQ6OmZpbGxTcGVjdWxhdGVDZWxsCiAgICAgY2FzZSBEYXRhRm9ybWF0SlM6IHsKICAgICAgICAg
R1BSUmVnIGdwciA9IGluZm8uZ3ByKCk7CiAgICAgICAgIG1fZ3Bycy5sb2NrKGdwcik7Ci0gICAg
ICAgIGlmICh0eXBlICYgflNwZWNDZWxsKQorICAgICAgICBpZiAodHlwZSAmIH5TcGVjQ2VsbENo
ZWNrKQogICAgICAgICAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRUeXBlLCBKU1ZhbHVlUmVncyhn
cHIpLCBlZGdlLCBtX2ppdC5icmFuY2hJZk5vdENlbGwoSlNWYWx1ZVJlZ3MoZ3ByKSkpOwogICAg
ICAgICBpbmZvLmZpbGxKU1ZhbHVlKCptX3N0cmVhbSwgZ3ByLCBEYXRhRm9ybWF0SlNDZWxsKTsK
ICAgICAgICAgcmV0dXJuIGdwcjsKQEAgLTE2MjgsMTAgKzE2MjgsMTAgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZU9iamVjdFRvT2JqZQogICAgIC8vIFdlIGtub3cgdGhhdCB3aXRoaW4g
dGhpcyBicmFuY2gsIHJpZ2h0Q2hpbGQgbXVzdCBiZSBhIGNlbGwuIAogICAgIGlmIChtYXNxdWVy
YWRlc0FzVW5kZWZpbmVkV2F0Y2hwb2ludFZhbGlkKSB7CiAgICAgICAgIERGR19UWVBFX0NIRUNL
KAotICAgICAgICAgICAgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwgKH5TcGVjQ2Vs
bCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChvcDJHUFIpKTsKKyAgICAg
ICAgICAgIEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQsICh+U3BlY0NlbGxDaGVjaykg
fCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChvcDJHUFIpKTsKICAgICB9IGVs
c2UgewogICAgICAgICBERkdfVFlQRV9DSEVDSygKLSAgICAgICAgICAgIEpTVmFsdWVSZWdzKG9w
MkdQUiksIHJpZ2h0Q2hpbGQsICh+U3BlY0NlbGwpIHwgU3BlY09iamVjdCwgbV9qaXQuYnJhbmNo
SWZOb3RPYmplY3Qob3AyR1BSKSk7CisgICAgICAgICAgICBKU1ZhbHVlUmVncyhvcDJHUFIpLCBy
aWdodENoaWxkLCAoflNwZWNDZWxsQ2hlY2spIHwgU3BlY09iamVjdCwgbV9qaXQuYnJhbmNoSWZO
b3RPYmplY3Qob3AyR1BSKSk7CiAgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkVHlwZSwgSlNW
YWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwKICAgICAgICAgICAgIG1faml0LmJyYW5jaFRl
c3Q4KAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpOb25aZXJvLCAKQEAgLTE2NDks
MTIgKzE2NDksMTIgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU9iamVjdFRvT2JqZQog
ICAgIAogICAgIC8vIFdlIGtub3cgdGhhdCB3aXRoaW4gdGhpcyBicmFuY2gsIHJpZ2h0Q2hpbGQg
bXVzdCBub3QgYmUgYSBjZWxsLiBDaGVjayBpZiB0aGF0IGlzIGVub3VnaCB0bwogICAgIC8vIHBy
b3ZlIHRoYXQgaXQgaXMgZWl0aGVyIG51bGwgb3IgdW5kZWZpbmVkLgotICAgIGlmIChuZWVkc1R5
cGVDaGVjayhyaWdodENoaWxkLCBTcGVjQ2VsbCB8IFNwZWNPdGhlcikpIHsKKyAgICBpZiAobmVl
ZHNUeXBlQ2hlY2socmlnaHRDaGlsZCwgU3BlY0NlbGxDaGVjayB8IFNwZWNPdGhlcikpIHsKICAg
ICAgICAgbV9qaXQubW92ZShvcDJHUFIsIHJlc3VsdEdQUik7CiAgICAgICAgIG1faml0LmFuZDY0
KE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoflRhZ0JpdFVuZGVmaW5lZCksIHJlc3VsdEdQ
Uik7CiAgICAgICAgIAogICAgICAgICB0eXBlQ2hlY2soCi0gICAgICAgICAgICBKU1ZhbHVlUmVn
cyhvcDJHUFIpLCByaWdodENoaWxkLCBTcGVjQ2VsbCB8IFNwZWNPdGhlciwKKyAgICAgICAgICAg
IEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQsIFNwZWNDZWxsQ2hlY2sgfCBTcGVjT3Ro
ZXIsCiAgICAgICAgICAgICBtX2ppdC5icmFuY2g2NCgKICAgICAgICAgICAgICAgICBNYWNyb0Fz
c2VtYmxlcjo6Tm90RXF1YWwsIHJlc3VsdEdQUiwKICAgICAgICAgICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsKQEAgLTE3MDIsMTAgKzE3MDIsMTAgQEAg
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVBlZXBIb2xlT2JqZQogICAgIC8vIFdlIGtub3cg
dGhhdCB3aXRoaW4gdGhpcyBicmFuY2gsIHJpZ2h0Q2hpbGQgbXVzdCBiZSBhIGNlbGwuIAogICAg
IGlmIChtYXNxdWVyYWRlc0FzVW5kZWZpbmVkV2F0Y2hwb2ludFZhbGlkKSB7CiAgICAgICAgIERG
R19UWVBFX0NIRUNLKAotICAgICAgICAgICAgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGls
ZCwgKH5TcGVjQ2VsbCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChvcDJH
UFIpKTsKKyAgICAgICAgICAgIEpTVmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQsICh+U3Bl
Y0NlbGxDaGVjaykgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChvcDJHUFIp
KTsKICAgICB9IGVsc2UgewogICAgICAgICBERkdfVFlQRV9DSEVDSygKLSAgICAgICAgICAgIEpT
VmFsdWVSZWdzKG9wMkdQUiksIHJpZ2h0Q2hpbGQsICh+U3BlY0NlbGwpIHwgU3BlY09iamVjdCwg
bV9qaXQuYnJhbmNoSWZOb3RPYmplY3Qob3AyR1BSKSk7CisgICAgICAgICAgICBKU1ZhbHVlUmVn
cyhvcDJHUFIpLCByaWdodENoaWxkLCAoflNwZWNDZWxsQ2hlY2spIHwgU3BlY09iamVjdCwgbV9q
aXQuYnJhbmNoSWZOb3RPYmplY3Qob3AyR1BSKSk7CiAgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2so
QmFkVHlwZSwgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwKICAgICAgICAgICAgIG1f
aml0LmJyYW5jaFRlc3Q4KAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpOb25aZXJv
LCAKQEAgLTE3MjAsNyArMTcyMCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQZWVw
SG9sZU9iamUKICAgICAKICAgICAvLyBXZSBrbm93IHRoYXQgd2l0aGluIHRoaXMgYnJhbmNoLCBy
aWdodENoaWxkIG11c3Qgbm90IGJlIGEgY2VsbC4gQ2hlY2sgaWYgdGhhdCBpcyBlbm91Z2ggdG8K
ICAgICAvLyBwcm92ZSB0aGF0IGl0IGlzIGVpdGhlciBudWxsIG9yIHVuZGVmaW5lZC4KLSAgICBp
ZiAoIW5lZWRzVHlwZUNoZWNrKHJpZ2h0Q2hpbGQsIFNwZWNDZWxsIHwgU3BlY090aGVyKSkKKyAg
ICBpZiAoIW5lZWRzVHlwZUNoZWNrKHJpZ2h0Q2hpbGQsIFNwZWNDZWxsQ2hlY2sgfCBTcGVjT3Ro
ZXIpKQogICAgICAgICByaWdodE5vdENlbGwubGluaygmbV9qaXQpOwogICAgIGVsc2UgewogICAg
ICAgICBqdW1wKG5vdFRha2VuLCBGb3JjZUp1bXApOwpAQCAtMTczMCw3ICsxNzMwLDcgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVBlZXBIb2xlT2JqZQogICAgICAgICBtX2ppdC5hbmQ2
NChNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKH5UYWdCaXRVbmRlZmluZWQpLCByZXN1bHRH
UFIpOwogICAgICAgICAKICAgICAgICAgdHlwZUNoZWNrKAotICAgICAgICAgICAgSlNWYWx1ZVJl
Z3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwgU3BlY0NlbGwgfCBTcGVjT3RoZXIsIG1faml0LmJyYW5j
aDY0KAorICAgICAgICAgICAgSlNWYWx1ZVJlZ3Mob3AyR1BSKSwgcmlnaHRDaGlsZCwgU3BlY0Nl
bGxDaGVjayB8IFNwZWNPdGhlciwgbV9qaXQuYnJhbmNoNjQoCiAgICAgICAgICAgICAgICAgTWFj
cm9Bc3NlbWJsZXI6Ok5vdEVxdWFsLCByZXN1bHRHUFIsCiAgICAgICAgICAgICAgICAgTWFjcm9B
c3NlbWJsZXI6OlRydXN0ZWRJbW02NChWYWx1ZU51bGwpKSk7CiAgICAgfQpAQCAtMTg2NCwxMCAr
MTg2NCwxMCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlT2JqZWN0T3JPdGhlCiAgICAg
TWFjcm9Bc3NlbWJsZXI6Okp1bXAgbm90Q2VsbCA9IG1faml0LmJyYW5jaElmTm90Q2VsbChKU1Zh
bHVlUmVncyh2YWx1ZUdQUikpOwogICAgIGlmIChtYXNxdWVyYWRlc0FzVW5kZWZpbmVkV2F0Y2hw
b2ludFZhbGlkKSB7CiAgICAgICAgIERGR19UWVBFX0NIRUNLKAotICAgICAgICAgICAgSlNWYWx1
ZVJlZ3ModmFsdWVHUFIpLCBub2RlVXNlLCAoflNwZWNDZWxsKSB8IFNwZWNPYmplY3QsIG1faml0
LmJyYW5jaElmTm90T2JqZWN0KHZhbHVlR1BSKSk7CisgICAgICAgICAgICBKU1ZhbHVlUmVncyh2
YWx1ZUdQUiksIG5vZGVVc2UsICh+U3BlY0NlbGxDaGVjaykgfCBTcGVjT2JqZWN0LCBtX2ppdC5i
cmFuY2hJZk5vdE9iamVjdCh2YWx1ZUdQUikpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIERGR19U
WVBFX0NIRUNLKAotICAgICAgICAgICAgSlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBub2RlVXNlLCAo
flNwZWNDZWxsKSB8IFNwZWNPYmplY3QsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KHZhbHVlR1BS
KSk7CisgICAgICAgICAgICBKU1ZhbHVlUmVncyh2YWx1ZUdQUiksIG5vZGVVc2UsICh+U3BlY0Nl
bGxDaGVjaykgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdCh2YWx1ZUdQUikp
OwogCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGlzTm90TWFzcXVlcmFkZXNBc1VuZGVm
aW5lZCA9IAogICAgICAgICAgICAgbV9qaXQuYnJhbmNoVGVzdDgoCkBAIC0xODg5LDExICsxODg5
LDExIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVPYmplY3RPck90aGUKICAgICAKICAg
ICBub3RDZWxsLmxpbmsoJm1faml0KTsKIAotICAgIGlmIChuZWVkc1R5cGVDaGVjayhub2RlVXNl
LCBTcGVjQ2VsbCB8IFNwZWNPdGhlcikpIHsKKyAgICBpZiAobmVlZHNUeXBlQ2hlY2sobm9kZVVz
ZSwgU3BlY0NlbGxDaGVjayB8IFNwZWNPdGhlcikpIHsKICAgICAgICAgbV9qaXQubW92ZSh2YWx1
ZUdQUiwgcmVzdWx0R1BSKTsKICAgICAgICAgbV9qaXQuYW5kNjQoTWFjcm9Bc3NlbWJsZXI6OlRy
dXN0ZWRJbW0zMih+VGFnQml0VW5kZWZpbmVkKSwgcmVzdWx0R1BSKTsKICAgICAgICAgdHlwZUNo
ZWNrKAotICAgICAgICAgICAgSlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBub2RlVXNlLCBTcGVjQ2Vs
bCB8IFNwZWNPdGhlciwgbV9qaXQuYnJhbmNoNjQoCisgICAgICAgICAgICBKU1ZhbHVlUmVncyh2
YWx1ZUdQUiksIG5vZGVVc2UsIFNwZWNDZWxsQ2hlY2sgfCBTcGVjT3RoZXIsIG1faml0LmJyYW5j
aDY0KAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpOb3RFcXVhbCwgCiAgICAgICAg
ICAgICAgICAgcmVzdWx0R1BSLCAKICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1
c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsKQEAgLTIwMTYsMTAgKzIwMTYsMTAgQEAgdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6ZW1pdE9iamVjdE9yT3RoZXJCcgogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1w
IG5vdENlbGwgPSBtX2ppdC5icmFuY2hJZk5vdENlbGwoSlNWYWx1ZVJlZ3ModmFsdWVHUFIpKTsK
ICAgICBpZiAobWFzcXVlcmFkZXNBc1VuZGVmaW5lZFdhdGNocG9pbnRJc1N0aWxsVmFsaWQoKSkg
ewogICAgICAgICBERkdfVFlQRV9DSEVDSygKLSAgICAgICAgICAgIEpTVmFsdWVSZWdzKHZhbHVl
R1BSKSwgbm9kZVVzZSwgKH5TcGVjQ2VsbCkgfCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5v
dE9iamVjdCh2YWx1ZUdQUikpOworICAgICAgICAgICAgSlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBu
b2RlVXNlLCAoflNwZWNDZWxsQ2hlY2spIHwgU3BlY09iamVjdCwgbV9qaXQuYnJhbmNoSWZOb3RP
YmplY3QodmFsdWVHUFIpKTsKICAgICB9IGVsc2UgewogICAgICAgICBERkdfVFlQRV9DSEVDSygK
LSAgICAgICAgICAgIEpTVmFsdWVSZWdzKHZhbHVlR1BSKSwgbm9kZVVzZSwgKH5TcGVjQ2VsbCkg
fCBTcGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdCh2YWx1ZUdQUikpOworICAgICAg
ICAgICAgSlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBub2RlVXNlLCAoflNwZWNDZWxsQ2hlY2spIHwg
U3BlY09iamVjdCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3QodmFsdWVHUFIpKTsKIAogICAgICAg
ICBKSVRDb21waWxlcjo6SnVtcCBpc05vdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQgPSBtX2ppdC5i
cmFuY2hUZXN0OCgKICAgICAgICAgICAgIEpJVENvbXBpbGVyOjpaZXJvLCAKQEAgLTIwMzksMTEg
KzIwMzksMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdE9iamVjdE9yT3RoZXJCcgogICAg
IAogICAgIG5vdENlbGwubGluaygmbV9qaXQpOwogICAgIAotICAgIGlmIChuZWVkc1R5cGVDaGVj
ayhub2RlVXNlLCBTcGVjQ2VsbCB8IFNwZWNPdGhlcikpIHsKKyAgICBpZiAobmVlZHNUeXBlQ2hl
Y2sobm9kZVVzZSwgU3BlY0NlbGxDaGVjayB8IFNwZWNPdGhlcikpIHsKICAgICAgICAgbV9qaXQu
bW92ZSh2YWx1ZUdQUiwgc2NyYXRjaEdQUik7CiAgICAgICAgIG1faml0LmFuZDY0KE1hY3JvQXNz
ZW1ibGVyOjpUcnVzdGVkSW1tMzIoflRhZ0JpdFVuZGVmaW5lZCksIHNjcmF0Y2hHUFIpOwogICAg
ICAgICB0eXBlQ2hlY2soCi0gICAgICAgICAgICBKU1ZhbHVlUmVncyh2YWx1ZUdQUiksIG5vZGVV
c2UsIFNwZWNDZWxsIHwgU3BlY090aGVyLCBtX2ppdC5icmFuY2g2NCgKKyAgICAgICAgICAgIEpT
VmFsdWVSZWdzKHZhbHVlR1BSKSwgbm9kZVVzZSwgU3BlY0NlbGxDaGVjayB8IFNwZWNPdGhlciwg
bV9qaXQuYnJhbmNoNjQoCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Ok5vdEVxdWFs
LCBzY3JhdGNoR1BSLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsK
ICAgICB9CiAgICAganVtcChub3RUYWtlbik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24gMjE4MDcwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTIyNTAsNyArMjI1MCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVWYWx1
ZVRvSW50MzIKICAgICAgICAgICAgICAgICBKSVRDb21waWxlcjo6SnVtcCBpc051bWJlciA9IG1f
aml0LmJyYW5jaFRlc3Q2NChNYWNyb0Fzc2VtYmxlcjo6Tm9uWmVybywgZ3ByLCBHUFJJbmZvOjp0
YWdUeXBlTnVtYmVyUmVnaXN0ZXIpOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
IERGR19UWVBFX0NIRUNLKAotICAgICAgICAgICAgICAgICAgICBKU1ZhbHVlUmVncyhncHIpLCBu
b2RlLT5jaGlsZDEoKSwgflNwZWNDZWxsLCBtX2ppdC5icmFuY2hJZkNlbGwoSlNWYWx1ZVJlZ3Mo
Z3ByKSkpOworICAgICAgICAgICAgICAgICAgICBKU1ZhbHVlUmVncyhncHIpLCBub2RlLT5jaGls
ZDEoKSwgflNwZWNDZWxsQ2hlY2ssIG1faml0LmJyYW5jaElmQ2VsbChKU1ZhbHVlUmVncyhncHIp
KSk7CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgLy8gSXQncyBub3QgYSBjZWxs
OiBzbyB0cnVlIHR1cm5zIGludG8gMSBhbmQgYWxsIGVsc2UgdHVybnMgaW50byAwLgogICAgICAg
ICAgICAgICAgIG1faml0LmNvbXBhcmU2NChKSVRDb21waWxlcjo6RXF1YWwsIGdwciwgVHJ1c3Rl
ZEltbTMyKFZhbHVlVHJ1ZSksIHJlc3VsdEdwcik7CkBAIC0yNDc4LDcgKzI0NzgsNyBAQCB2b2lk
IFNwZWN1bGF0aXZlSklUOjpjb21waWxlRG91YmxlUmVwKE5vCiAgICAgICAgICAgICBKSVRDb21w
aWxlcjo6SnVtcCBpc051bGwgPSBtX2ppdC5icmFuY2g2NChKSVRDb21waWxlcjo6RXF1YWwsIG9w
MUdQUiwgVHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpOwogICAgICAgICAgICAgZG9uZS5hcHBlbmQo
aXNOdWxsKTsKIAotICAgICAgICAgICAgREZHX1RZUEVfQ0hFQ0soSlNWYWx1ZVJlZ3Mob3AxR1BS
KSwgbm9kZS0+Y2hpbGQxKCksIH5TcGVjQ2VsbCwKKyAgICAgICAgICAgIERGR19UWVBFX0NIRUNL
KEpTVmFsdWVSZWdzKG9wMUdQUiksIG5vZGUtPmNoaWxkMSgpLCB+U3BlY0NlbGxDaGVjaywKICAg
ICAgICAgICAgICAgICBtX2ppdC5icmFuY2hUZXN0NjQoSklUQ29tcGlsZXI6Olplcm8sIG9wMUdQ
UiwgVHJ1c3RlZEltbTMyKHN0YXRpY19jYXN0PGludDMyX3Q+KFRhZ0JpdEJvb2wpKSkpOwogCiAg
ICAgICAgICAgICBKSVRDb21waWxlcjo6SnVtcCBpc0ZhbHNlID0gbV9qaXQuYnJhbmNoNjQoSklU
Q29tcGlsZXI6OkVxdWFsLCBvcDFHUFIsIFRydXN0ZWRJbW02NChWYWx1ZUZhbHNlKSk7CkBAIC02
MDczLDE4ICs2MDczLDE5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVMb2dpY2FsTm90
U3QKICAgICBKSVRDb21waWxlcjo6SnVtcCBub3RDZWxsID0gbV9qaXQuYnJhbmNoSWZOb3RDZWxs
KHZhbHVlUmVncyk7CiAgICAgR1BSUmVnIGNlbGxHUFIgPSB2YWx1ZVJlZ3MucGF5bG9hZEdQUigp
OwogICAgIERGR19UWVBFX0NIRUNLKAotICAgICAgICB2YWx1ZVJlZ3MsIG5vZGUtPmNoaWxkMSgp
LCAoflNwZWNDZWxsKSB8IFNwZWNTdHJpbmcsIG1faml0LmJyYW5jaElmTm90U3RyaW5nKGNlbGxH
UFIpKTsKKyAgICAgICAgdmFsdWVSZWdzLCBub2RlLT5jaGlsZDEoKSwgKH5TcGVjQ2VsbENoZWNr
KSB8IFNwZWNTdHJpbmcsIG1faml0LmJyYW5jaElmTm90U3RyaW5nKGNlbGxHUFIpKTsKICAgICBt
X2ppdC50ZXN0MzIoCiAgICAgICAgIEpJVENvbXBpbGVyOjpaZXJvLCBKSVRDb21waWxlcjo6QWRk
cmVzcyhjZWxsR1BSLCBKU1N0cmluZzo6b2Zmc2V0T2ZMZW5ndGgoKSksCiAgICAgICAgIEpJVENv
bXBpbGVyOjpUcnVzdGVkSW1tMzIoLTEpLCB0ZW1wR1BSKTsKICAgICBKSVRDb21waWxlcjo6SnVt
cCBkb25lID0gbV9qaXQuanVtcCgpOwogICAgIG5vdENlbGwubGluaygmbV9qaXQpOwogICAgIERG
R19UWVBFX0NIRUNLKAotICAgICAgICB2YWx1ZVJlZ3MsIG5vZGUtPmNoaWxkMSgpLCBTcGVjQ2Vs
bCB8IFNwZWNPdGhlciwgbV9qaXQuYnJhbmNoSWZOb3RPdGhlcih2YWx1ZVJlZ3MsIHRlbXBHUFIp
KTsKKyAgICAgICAgdmFsdWVSZWdzLCBub2RlLT5jaGlsZDEoKSwgU3BlY0NlbGxDaGVjayB8IFNw
ZWNPdGhlciwgbV9qaXQuYnJhbmNoSWZOb3RPdGhlcih2YWx1ZVJlZ3MsIHRlbXBHUFIpKTsKICAg
ICBtX2ppdC5tb3ZlKFRydXN0ZWRJbW0zMigxKSwgdGVtcEdQUik7CiAgICAgZG9uZS5saW5rKCZt
X2ppdCk7CiAKICAgICB1bmJsZXNzZWRCb29sZWFuUmVzdWx0KHRlbXBHUFIsIG5vZGUpOworCiB9
CiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRTdHJpbmdCcmFuY2goRWRnZSBub2RlVXNlLCBC
YXNpY0Jsb2NrKiB0YWtlbiwgQmFzaWNCbG9jayogbm90VGFrZW4pCkBAIC02MTA1LDE0ICs2MTA2
LDE0IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRTdHJpbmdPck90aGVyQnIKICAgICAKICAg
ICBKSVRDb21waWxlcjo6SnVtcCBub3RDZWxsID0gbV9qaXQuYnJhbmNoSWZOb3RDZWxsKHZhbHVl
UmVncyk7CiAgICAgR1BSUmVnIGNlbGxHUFIgPSB2YWx1ZVJlZ3MucGF5bG9hZEdQUigpOwotICAg
IERGR19UWVBFX0NIRUNLKHZhbHVlUmVncywgbm9kZVVzZSwgKH5TcGVjQ2VsbCkgfCBTcGVjU3Ry
aW5nLCBtX2ppdC5icmFuY2hJZk5vdFN0cmluZyhjZWxsR1BSKSk7CisgICAgREZHX1RZUEVfQ0hF
Q0sodmFsdWVSZWdzLCBub2RlVXNlLCAoflNwZWNDZWxsQ2hlY2spIHwgU3BlY1N0cmluZywgbV9q
aXQuYnJhbmNoSWZOb3RTdHJpbmcoY2VsbEdQUikpOwogICAgIGJyYW5jaFRlc3QzMigKICAgICAg
ICAgSklUQ29tcGlsZXI6Olplcm8sIEpJVENvbXBpbGVyOjpBZGRyZXNzKGNlbGxHUFIsIEpTU3Ry
aW5nOjpvZmZzZXRPZkxlbmd0aCgpKSwKICAgICAgICAgSklUQ29tcGlsZXI6OlRydXN0ZWRJbW0z
MigtMSksIG5vdFRha2VuKTsKICAgICBqdW1wKHRha2VuLCBGb3JjZUp1bXApOwogICAgIG5vdENl
bGwubGluaygmbV9qaXQpOwogICAgIERGR19UWVBFX0NIRUNLKAotICAgICAgICB2YWx1ZVJlZ3Ms
IG5vZGVVc2UsIFNwZWNDZWxsIHwgU3BlY090aGVyLCBtX2ppdC5icmFuY2hJZk5vdE90aGVyKHZh
bHVlUmVncywgdGVtcEdQUikpOworICAgICAgICB2YWx1ZVJlZ3MsIG5vZGVVc2UsIFNwZWNDZWxs
Q2hlY2sgfCBTcGVjT3RoZXIsIG1faml0LmJyYW5jaElmTm90T3RoZXIodmFsdWVSZWdzLCB0ZW1w
R1BSKSk7CiAgICAganVtcChub3RUYWtlbik7CiAgICAgbm9SZXN1bHQobV9jdXJyZW50Tm9kZSk7
CiB9CkBAIC04NDA2LDcgKzg0MDcsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVC
b29sZWFuKEVkCiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZUNlbGwoRWRnZSBlZGdl
KQogewotICAgIGlmICghbmVlZHNUeXBlQ2hlY2soZWRnZSwgU3BlY0NlbGwpKQorICAgIGlmICgh
bmVlZHNUeXBlQ2hlY2soZWRnZSwgU3BlY0NlbGxDaGVjaykpCiAgICAgICAgIHJldHVybjsKICAg
ICAKICAgICAoU3BlY3VsYXRlQ2VsbE9wZXJhbmQodGhpcywgZWRnZSkpLmdwcigpOwpAQCAtODQx
NCw3ICs4NDE1LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlQ2VsbChFZGdlIAog
CiB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVDZWxsT3JPdGhlcihFZGdlIGVkZ2UpCiB7
Ci0gICAgaWYgKCFuZWVkc1R5cGVDaGVjayhlZGdlLCBTcGVjQ2VsbCB8IFNwZWNPdGhlcikpCisg
ICAgaWYgKCFuZWVkc1R5cGVDaGVjayhlZGdlLCBTcGVjQ2VsbENoZWNrIHwgU3BlY090aGVyKSkK
ICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIEpTVmFsdWVPcGVyYW5kIG9wZXJhbmQodGhpcywg
ZWRnZSwgTWFudWFsT3BlcmFuZFNwZWN1bGF0aW9uKTsKQEAgLTg0MjMsNyArODQyNCw3IEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZUNlbGxPck90aGUKIAogICAgIE1hY3JvQXNzZW1i
bGVyOjpKdW1wIG9rID0gbV9qaXQuYnJhbmNoSWZDZWxsKG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSk7
CiAgICAgREZHX1RZUEVfQ0hFQ0soCi0gICAgICAgIG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSwgZWRn
ZSwgU3BlY0NlbGwgfCBTcGVjT3RoZXIsCisgICAgICAgIG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSwg
ZWRnZSwgU3BlY0NlbGxDaGVjayB8IFNwZWNPdGhlciwKICAgICAgICAgbV9qaXQuYnJhbmNoSWZO
b3RPdGhlcihvcGVyYW5kLmpzVmFsdWVSZWdzKCksIHRlbXBHUFIpKTsKICAgICBvay5saW5rKCZt
X2ppdCk7CiB9CkBAIC04NTUyLDExICs4NTUzLDExIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNw
ZWN1bGF0ZU9iamVjdE9yT3QKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBub3RDZWxsID0gbV9q
aXQuYnJhbmNoSWZOb3RDZWxsKG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSk7CiAgICAgR1BSUmVnIGdw
ciA9IG9wZXJhbmQuanNWYWx1ZVJlZ3MoKS5wYXlsb2FkR1BSKCk7CiAgICAgREZHX1RZUEVfQ0hF
Q0soCi0gICAgICAgIG9wZXJhbmQuanNWYWx1ZVJlZ3MoKSwgZWRnZSwgKH5TcGVjQ2VsbCkgfCBT
cGVjT2JqZWN0LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChncHIpKTsKKyAgICAgICAgb3BlcmFu
ZC5qc1ZhbHVlUmVncygpLCBlZGdlLCAoflNwZWNDZWxsQ2hlY2spIHwgU3BlY09iamVjdCwgbV9q
aXQuYnJhbmNoSWZOb3RPYmplY3QoZ3ByKSk7CiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgZG9u
ZSA9IG1faml0Lmp1bXAoKTsKICAgICBub3RDZWxsLmxpbmsoJm1faml0KTsKICAgICBERkdfVFlQ
RV9DSEVDSygKLSAgICAgICAgb3BlcmFuZC5qc1ZhbHVlUmVncygpLCBlZGdlLCBTcGVjQ2VsbCB8
IFNwZWNPdGhlciwKKyAgICAgICAgb3BlcmFuZC5qc1ZhbHVlUmVncygpLCBlZGdlLCBTcGVjQ2Vs
bENoZWNrIHwgU3BlY090aGVyLAogICAgICAgICBtX2ppdC5icmFuY2hJZk5vdE90aGVyKG9wZXJh
bmQuanNWYWx1ZVJlZ3MoKSwgdGVtcEdQUikpOwogICAgIGRvbmUubGluaygmbV9qaXQpOwogfQpA
QCAtODU2NCwxNyArODU2NSwxNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVPYmpl
Y3RPck90CiB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVTdHJpbmcoRWRnZSBlZGdlLCBH
UFJSZWcgY2VsbCkKIHsKICAgICBERkdfVFlQRV9DSEVDSygKLSAgICAgICAgSlNWYWx1ZVNvdXJj
ZTo6dW5ib3hlZENlbGwoY2VsbCksIGVkZ2UsIFNwZWNTdHJpbmcgfCB+U3BlY0NlbGwsIG1faml0
LmJyYW5jaElmTm90U3RyaW5nKGNlbGwpKTsKKyAgICAgICAgSlNWYWx1ZVNvdXJjZTo6dW5ib3hl
ZENlbGwoY2VsbCksIGVkZ2UsIFNwZWNTdHJpbmcgfCB+U3BlY0NlbGxDaGVjaywgbV9qaXQuYnJh
bmNoSWZOb3RTdHJpbmcoY2VsbCkpOwogfQogCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVjdWxh
dGVTdHJpbmdPck90aGVyKEVkZ2UgZWRnZSwgSlNWYWx1ZVJlZ3MgcmVncywgR1BSUmVnIHNjcmF0
Y2gpCiB7CiAgICAgSklUQ29tcGlsZXI6Okp1bXAgbm90Q2VsbCA9IG1faml0LmJyYW5jaElmTm90
Q2VsbChyZWdzKTsKICAgICBHUFJSZWcgY2VsbCA9IHJlZ3MucGF5bG9hZEdQUigpOwotICAgIERG
R19UWVBFX0NIRUNLKHJlZ3MsIGVkZ2UsICh+U3BlY0NlbGwpIHwgU3BlY1N0cmluZywgbV9qaXQu
YnJhbmNoSWZOb3RTdHJpbmcoY2VsbCkpOworICAgIERGR19UWVBFX0NIRUNLKHJlZ3MsIGVkZ2Us
ICh+U3BlY0NlbGxDaGVjaykgfCBTcGVjU3RyaW5nLCBtX2ppdC5icmFuY2hJZk5vdFN0cmluZyhj
ZWxsKSk7CiAgICAgSklUQ29tcGlsZXI6Okp1bXAgZG9uZSA9IG1faml0Lmp1bXAoKTsKICAgICBu
b3RDZWxsLmxpbmsoJm1faml0KTsKLSAgICBERkdfVFlQRV9DSEVDSyhyZWdzLCBlZGdlLCBTcGVj
Q2VsbCB8IFNwZWNPdGhlciwgbV9qaXQuYnJhbmNoSWZOb3RPdGhlcihyZWdzLCBzY3JhdGNoKSk7
CisgICAgREZHX1RZUEVfQ0hFQ0socmVncywgZWRnZSwgU3BlY0NlbGxDaGVjayB8IFNwZWNPdGhl
ciwgbV9qaXQuYnJhbmNoSWZOb3RPdGhlcihyZWdzLCBzY3JhdGNoKSk7CiAgICAgZG9uZS5saW5r
KCZtX2ppdCk7CiB9CiAKQEAgLTg3MDIsNyArODcwMyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6
OnNwZWN1bGF0ZU5vdFN0cmluZ1YKIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlU3lt
Ym9sKEVkZ2UgZWRnZSwgR1BSUmVnIGNlbGwpCiB7Ci0gICAgREZHX1RZUEVfQ0hFQ0soSlNWYWx1
ZVNvdXJjZTo6dW5ib3hlZENlbGwoY2VsbCksIGVkZ2UsIFNwZWNTeW1ib2wsIG1faml0LmJyYW5j
aElmTm90U3ltYm9sKGNlbGwpKTsKKyAgICBERkdfVFlQRV9DSEVDSyhKU1ZhbHVlU291cmNlOjp1
bmJveGVkQ2VsbChjZWxsKSwgZWRnZSwgflNwZWNDZWxsQ2hlY2sgfCBTcGVjU3ltYm9sLCBtX2pp
dC5icmFuY2hJZk5vdFN5bWJvbChjZWxsKSk7CiB9CiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNw
ZWN1bGF0ZVN5bWJvbChFZGdlIGVkZ2UpCkBAIC04NzE2LDEyICs4NzE3LDEyIEBAIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZVN5bWJvbChFZGcKIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
c3BlY3VsYXRlTm90Q2VsbChFZGdlIGVkZ2UsIEpTVmFsdWVSZWdzIHJlZ3MpCiB7Ci0gICAgREZH
X1RZUEVfQ0hFQ0socmVncywgZWRnZSwgflNwZWNDZWxsLCBtX2ppdC5icmFuY2hJZkNlbGwocmVn
cykpOworICAgIERGR19UWVBFX0NIRUNLKHJlZ3MsIGVkZ2UsIH5TcGVjQ2VsbENoZWNrLCBtX2pp
dC5icmFuY2hJZkNlbGwocmVncykpOwogfQogCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVjdWxh
dGVOb3RDZWxsKEVkZ2UgZWRnZSkKIHsKLSAgICBpZiAoIW5lZWRzVHlwZUNoZWNrKGVkZ2UsIH5T
cGVjQ2VsbCkpCisgICAgaWYgKCFuZWVkc1R5cGVDaGVjayhlZGdlLCB+U3BlY0NlbGxDaGVjaykp
CiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBKU1ZhbHVlT3BlcmFuZCBvcGVyYW5kKHRoaXMs
IGVkZ2UsIE1hbnVhbE9wZXJhbmRTcGVjdWxhdGlvbik7IApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdVc2VLaW5kLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdVc2VLaW5kLmgJKHJldmlzaW9uIDIxODA3MCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHVXNlS2luZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsMTAgKzExMywx
MSBAQCBpbmxpbmUgU3BlY3VsYXRlZFR5cGUgdHlwZUZpbHRlckZvcihVc2VLCiAgICAgY2FzZSBL
bm93bkJvb2xlYW5Vc2U6CiAgICAgICAgIHJldHVybiBTcGVjQm9vbGVhbjsKICAgICBjYXNlIENl
bGxVc2U6CisgICAgICAgIHJldHVybiBTcGVjQ2VsbENoZWNrOwogICAgIGNhc2UgS25vd25DZWxs
VXNlOgogICAgICAgICByZXR1cm4gU3BlY0NlbGw7CiAgICAgY2FzZSBDZWxsT3JPdGhlclVzZToK
LSAgICAgICAgcmV0dXJuIFNwZWNDZWxsIHwgU3BlY090aGVyOworICAgICAgICByZXR1cm4gU3Bl
Y0NlbGxDaGVjayB8IFNwZWNPdGhlcjsKICAgICBjYXNlIE9iamVjdFVzZToKICAgICAgICAgcmV0
dXJuIFNwZWNPYmplY3Q7CiAgICAgY2FzZSBBcnJheVVzZToKQEAgLTE1NSw3ICsxNTYsNyBAQCBp
bmxpbmUgU3BlY3VsYXRlZFR5cGUgdHlwZUZpbHRlckZvcihVc2VLCiAgICAgY2FzZSBOb3RTdHJp
bmdWYXJVc2U6CiAgICAgICAgIHJldHVybiB+U3BlY1N0cmluZ1ZhcjsKICAgICBjYXNlIE5vdENl
bGxVc2U6Ci0gICAgICAgIHJldHVybiB+U3BlY0NlbGw7CisgICAgICAgIHJldHVybiB+U3BlY0Nl
bGxDaGVjazsKICAgICBjYXNlIE90aGVyVXNlOgogICAgICAgICByZXR1cm4gU3BlY090aGVyOwog
ICAgIGNhc2UgTWlzY1VzZToKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93
ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9uIDIxODA3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMyNyw3ICsx
MzI3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBtX291dC5hcHBlbmRUbyhjb252ZXJ0
Qm9vbGVhbkZhbHNlQ2FzZSwgY29udGludWF0aW9uKTsKIAogICAgICAgICAgICAgICAgIExWYWx1
ZSB2YWx1ZUlzTm90Qm9vbGVhbkZhbHNlID0gbV9vdXQubm90RXF1YWwodmFsdWUsIG1fb3V0LmNv
bnN0SW50NjQoVmFsdWVGYWxzZSkpOwotICAgICAgICAgICAgICAgIEZUTF9UWVBFX0NIRUNLKGpz
VmFsdWVWYWx1ZSh2YWx1ZSksIG1fbm9kZS0+Y2hpbGQxKCksIH5TcGVjQ2VsbCwgdmFsdWVJc05v
dEJvb2xlYW5GYWxzZSk7CisgICAgICAgICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZh
bHVlKHZhbHVlKSwgbV9ub2RlLT5jaGlsZDEoKSwgflNwZWNDZWxsQ2hlY2ssIHZhbHVlSXNOb3RC
b29sZWFuRmFsc2UpOwogICAgICAgICAgICAgICAgIFZhbHVlRnJvbUJsb2NrIGNvbnZlcnRlZEZh
bHNlID0gbV9vdXQuYW5jaG9yKG1fb3V0LmNvbnN0RG91YmxlKDApKTsKICAgICAgICAgICAgICAg
ICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CiAKQEAgLTk1MTYsNyArOTUxNiw3IEBAIHByaXZh
dGU6CiAgICAgICAgICAgICAKICAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRvKG5vdE51bWJlckNh
c2UsIGNvbnRpbnVhdGlvbik7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIEZUTF9UWVBFX0NI
RUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsIH5TcGVjQ2VsbCwgaXNDZWxsKHZhbHVlKSk7
CisgICAgICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCB+
U3BlY0NlbGxDaGVjaywgaXNDZWxsKHZhbHVlKSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAg
IExWYWx1ZSBzcGVjaWFsUmVzdWx0ID0gbV9vdXQuc2VsZWN0KAogICAgICAgICAgICAgICAgIG1f
b3V0LmVxdWFsKHZhbHVlLCBtX291dC5jb25zdEludDY0KEpTVmFsdWU6OmVuY29kZShqc0Jvb2xl
YW4odHJ1ZSkpKSksCkBAIC0xMDQwMSwxMyArMTA0MDEsMTMgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgIHVuc3VyZShsZWZ0Q2VsbENhc2UpLCB1bnN1cmUobGVmdE5vdENlbGxDYXNlKSk7CiAgICAg
ICAgIAogICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKGxlZnRD
ZWxsQ2FzZSwgbGVmdE5vdENlbGxDYXNlKTsKLSAgICAgICAgc3BlY3VsYXRlVHJ1dGh5T2JqZWN0
KGxlZnRDaGlsZCwgbGVmdFZhbHVlLCBTcGVjT2JqZWN0IHwgKH5TcGVjQ2VsbCkpOworICAgICAg
ICBzcGVjdWxhdGVUcnV0aHlPYmplY3QobGVmdENoaWxkLCBsZWZ0VmFsdWUsIFNwZWNPYmplY3Qg
fCAoflNwZWNDZWxsQ2hlY2spKTsKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgY2VsbFJlc3VsdCA9
IG1fb3V0LmFuY2hvcihtX291dC5lcXVhbChyaWdodENlbGwsIGxlZnRWYWx1ZSkpOwogICAgICAg
ICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CiAgICAgICAgIAogICAgICAgICBtX291dC5hcHBl
bmRUbyhsZWZ0Tm90Q2VsbENhc2UsIGNvbnRpbnVhdGlvbik7CiAgICAgICAgIEZUTF9UWVBFX0NI
RUNLKAotICAgICAgICAgICAganNWYWx1ZVZhbHVlKGxlZnRWYWx1ZSksIGxlZnRDaGlsZCwgU3Bl
Y090aGVyIHwgU3BlY0NlbGwsIGlzTm90T3RoZXIobGVmdFZhbHVlKSk7CisgICAgICAgICAgICBq
c1ZhbHVlVmFsdWUobGVmdFZhbHVlKSwgbGVmdENoaWxkLCBTcGVjT3RoZXIgfCBTcGVjQ2VsbENo
ZWNrLCBpc05vdE90aGVyKGxlZnRWYWx1ZSkpOwogICAgICAgICBWYWx1ZUZyb21CbG9jayBub3RD
ZWxsUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmJvb2xlYW5GYWxzZSk7CiAgICAgICAgIG1f
b3V0Lmp1bXAoY29udGludWF0aW9uKTsKICAgICAgICAgCkBAIC0xMTE3NywxNCArMTExNzcsMTQg
QEAgcHJpdmF0ZToKICAgICAgICAgICAgIAogICAgICAgICAgICAgTEJhc2ljQmxvY2sgbGFzdE5l
eHQgPSBtX291dC5hcHBlbmRUbyhjZWxsQ2FzZSwgbm90Q2VsbENhc2UpOwogICAgICAgICAgICAg
Ci0gICAgICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCAo
flNwZWNDZWxsKSB8IFNwZWNTdHJpbmcsIGlzTm90U3RyaW5nKHZhbHVlKSk7CisgICAgICAgICAg
ICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCAoflNwZWNDZWxsQ2hl
Y2spIHwgU3BlY1N0cmluZywgaXNOb3RTdHJpbmcodmFsdWUpKTsKICAgICAgICAgICAgIExWYWx1
ZSBsZW5ndGggPSBtX291dC5sb2FkMzJOb25OZWdhdGl2ZSh2YWx1ZSwgbV9oZWFwcy5KU1N0cmlu
Z19sZW5ndGgpOwogICAgICAgICAgICAgVmFsdWVGcm9tQmxvY2sgY2VsbFJlc3VsdCA9IG1fb3V0
LmFuY2hvcihtX291dC5ub3RFcXVhbChsZW5ndGgsIG1fb3V0LmludDMyWmVybykpOwogICAgICAg
ICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOwogICAgICAgICAgICAgCiAgICAgICAgICAg
ICBtX291dC5hcHBlbmRUbyhub3RDZWxsQ2FzZSwgY29udGludWF0aW9uKTsKICAgICAgICAgICAg
IAotICAgICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwg
U3BlY0NlbGwgfCBTcGVjT3RoZXIsIGlzTm90T3RoZXIodmFsdWUpKTsKKyAgICAgICAgICAgIEZU
TF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsIFNwZWNDZWxsQ2hlY2sgfCBT
cGVjT3RoZXIsIGlzTm90T3RoZXIodmFsdWUpKTsKICAgICAgICAgICAgIFZhbHVlRnJvbUJsb2Nr
IG5vdENlbGxSZXN1bHQgPSBtX291dC5hbmNob3IobV9vdXQuYm9vbGVhbkZhbHNlKTsKICAgICAg
ICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKICAgICAgICAgICAgIG1fb3V0LmFwcGVu
ZFRvKGNvbnRpbnVhdGlvbiwgbGFzdE5leHQpOwpAQCAtMTEzMjcsNyArMTEzMjcsNyBAQCBwcml2
YXRlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ2VsbENhc2VTcGVjdWxhdGVz
T2JqZWN0OgogICAgICAgICAgICAgRlRMX1RZUEVfQ0hFQ0soCi0gICAgICAgICAgICAgICAganNW
YWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgKH5TcGVjQ2VsbCkgfCBTcGVjT2JqZWN0LCBpc05vdE9i
amVjdCh2YWx1ZSkpOworICAgICAgICAgICAgICAgIGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2Us
ICh+U3BlY0NlbGxDaGVjaykgfCBTcGVjT2JqZWN0LCBpc05vdE9iamVjdCh2YWx1ZSkpOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgCkBAIC0xMTM3Miw3ICsxMTM3Miw3
IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBTcGVjdWxhdGVO
dWxsT3JVbmRlZmluZWQ6CiAgICAgICAgICAgICBGVExfVFlQRV9DSEVDSygKLSAgICAgICAgICAg
ICAgICBqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCBTcGVjQ2VsbCB8IFNwZWNPdGhlciwgaXNO
b3RPdGhlcih2YWx1ZSkpOworICAgICAgICAgICAgICAgIGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVk
Z2UsIFNwZWNDZWxsQ2hlY2sgfCBTcGVjT3RoZXIsIGlzTm90T3RoZXIodmFsdWUpKTsKICAgICAg
ICAgICAgIHByaW1pdGl2ZVJlc3VsdCA9IG1fb3V0LmJvb2xlYW5UcnVlOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KQEAgLTEyNDM2LDExICsxMjQzNiwxMSBAQCBwcml2YXRlOgogICAg
ICAgICBpZiAoaXNWYWxpZCh2YWx1ZSkpIHsKICAgICAgICAgICAgIExWYWx1ZSB1bmNoZWNrZWRW
YWx1ZSA9IHZhbHVlLnZhbHVlKCk7CiAgICAgICAgICAgICBGVExfVFlQRV9DSEVDSygKLSAgICAg
ICAgICAgICAgICBqc1ZhbHVlVmFsdWUodW5jaGVja2VkVmFsdWUpLCBlZGdlLCBTcGVjQ2VsbCwg
aXNOb3RDZWxsKHVuY2hlY2tlZFZhbHVlKSk7CisgICAgICAgICAgICAgICAganNWYWx1ZVZhbHVl
KHVuY2hlY2tlZFZhbHVlKSwgZWRnZSwgU3BlY0NlbGxDaGVjaywgaXNOb3RDZWxsKHVuY2hlY2tl
ZFZhbHVlKSk7CiAgICAgICAgICAgICByZXR1cm4gdW5jaGVja2VkVmFsdWU7CiAgICAgICAgIH0K
ICAgICAgICAgCi0gICAgICAgIERGR19BU1NFUlQobV9ncmFwaCwgbV9ub2RlLCAhKHByb3ZlblR5
cGUoZWRnZSkgJiBTcGVjQ2VsbCkpOworICAgICAgICBERkdfQVNTRVJUKG1fZ3JhcGgsIG1fbm9k
ZSwgIShwcm92ZW5UeXBlKGVkZ2UpICYgU3BlY0NlbGxDaGVjaykpOwogICAgICAgICB0ZXJtaW5h
dGUoVW5jb3VudGFibGUpOwogICAgICAgICByZXR1cm4gbV9vdXQuaW50UHRyWmVybzsKICAgICB9
CkBAIC0xMjU5NSw3ICsxMjU5NSw3IEBAIHByaXZhdGU6CiAgICAgTFZhbHVlIGxvd05vdENlbGwo
RWRnZSBlZGdlKQogICAgIHsKICAgICAgICAgTFZhbHVlIHJlc3VsdCA9IGxvd0pTVmFsdWUoZWRn
ZSwgTWFudWFsT3BlcmFuZFNwZWN1bGF0aW9uKTsKLSAgICAgICAgRlRMX1RZUEVfQ0hFQ0soanNW
YWx1ZVZhbHVlKHJlc3VsdCksIGVkZ2UsIH5TcGVjQ2VsbCwgaXNDZWxsKHJlc3VsdCkpOworICAg
ICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUocmVzdWx0KSwgZWRnZSwgflNwZWNDZWxs
Q2hlY2ssIGlzQ2VsbChyZXN1bHQpKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAg
ICAgCkBAIC0xMjY5NiwxMyArMTI2OTYsMTMgQEAgcHJpdmF0ZToKICAgICAKICAgICBMVmFsdWUg
aXNDZWxsT3JNaXNjKExWYWx1ZSBqc1ZhbHVlLCBTcGVjdWxhdGVkVHlwZSB0eXBlID0gU3BlY0Z1
bGxUb3ApCiAgICAgewotICAgICAgICBpZiAoTFZhbHVlIHByb3ZlbiA9IGlzUHJvdmVuVmFsdWUo
dHlwZSwgU3BlY0NlbGwgfCBTcGVjTWlzYykpCisgICAgICAgIGlmIChMVmFsdWUgcHJvdmVuID0g
aXNQcm92ZW5WYWx1ZSh0eXBlLCBTcGVjQ2VsbENoZWNrIHwgU3BlY01pc2MpKQogICAgICAgICAg
ICAgcmV0dXJuIHByb3ZlbjsKICAgICAgICAgcmV0dXJuIG1fb3V0LnRlc3RJc1plcm82NChqc1Zh
bHVlLCBtX3RhZ1R5cGVOdW1iZXIpOwogICAgIH0KICAgICBMVmFsdWUgaXNOb3RDZWxsT3JNaXNj
KExWYWx1ZSBqc1ZhbHVlLCBTcGVjdWxhdGVkVHlwZSB0eXBlID0gU3BlY0Z1bGxUb3ApCiAgICAg
ewotICAgICAgICBpZiAoTFZhbHVlIHByb3ZlbiA9IGlzUHJvdmVuVmFsdWUodHlwZSwgfihTcGVj
Q2VsbCB8IFNwZWNNaXNjKSkpCisgICAgICAgIGlmIChMVmFsdWUgcHJvdmVuID0gaXNQcm92ZW5W
YWx1ZSh0eXBlLCB+KFNwZWNDZWxsQ2hlY2sgfCBTcGVjTWlzYykpKQogICAgICAgICAgICAgcmV0
dXJuIHByb3ZlbjsKICAgICAgICAgcmV0dXJuIG1fb3V0LnRlc3ROb25aZXJvNjQoanNWYWx1ZSwg
bV90YWdUeXBlTnVtYmVyKTsKICAgICB9CkBAIC0xMjgwMywxNCArMTI4MDMsMTQgQEAgcHJpdmF0
ZToKICAgICAKICAgICBMVmFsdWUgaXNOb3RDZWxsKExWYWx1ZSBqc1ZhbHVlLCBTcGVjdWxhdGVk
VHlwZSB0eXBlID0gU3BlY0Z1bGxUb3ApCiAgICAgewotICAgICAgICBpZiAoTFZhbHVlIHByb3Zl
biA9IGlzUHJvdmVuVmFsdWUodHlwZSwgflNwZWNDZWxsKSkKKyAgICAgICAgaWYgKExWYWx1ZSBw
cm92ZW4gPSBpc1Byb3ZlblZhbHVlKHR5cGUsIH5TcGVjQ2VsbENoZWNrKSkKICAgICAgICAgICAg
IHJldHVybiBwcm92ZW47CiAgICAgICAgIHJldHVybiBtX291dC50ZXN0Tm9uWmVybzY0KGpzVmFs
dWUsIG1fdGFnTWFzayk7CiAgICAgfQogICAgIAogICAgIExWYWx1ZSBpc0NlbGwoTFZhbHVlIGpz
VmFsdWUsIFNwZWN1bGF0ZWRUeXBlIHR5cGUgPSBTcGVjRnVsbFRvcCkKICAgICB7Ci0gICAgICAg
IGlmIChMVmFsdWUgcHJvdmVuID0gaXNQcm92ZW5WYWx1ZSh0eXBlLCBTcGVjQ2VsbCkpCisgICAg
ICAgIGlmIChMVmFsdWUgcHJvdmVuID0gaXNQcm92ZW5WYWx1ZSh0eXBlLCBTcGVjQ2VsbENoZWNr
KSkKICAgICAgICAgICAgIHJldHVybiBwcm92ZW47CiAgICAgICAgIHJldHVybiBtX291dC50ZXN0
SXNaZXJvNjQoanNWYWx1ZSwgbV90YWdNYXNrKTsKICAgICB9CkBAIC0xMzAyMCw3ICsxMzAyMCw3
IEBAIHByaXZhdGU6CiAgICAgICAgIG1fb3V0LmJyYW5jaChpc0NlbGwodmFsdWUsIHByb3ZlblR5
cGUoZWRnZSkpLCB1bnN1cmUoY29udGludWF0aW9uKSwgdW5zdXJlKGlzTm90Q2VsbCkpOwogCiAg
ICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuYXBwZW5kVG8oaXNOb3RDZWxsLCBj
b250aW51YXRpb24pOwotICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUp
LCBlZGdlLCBTcGVjQ2VsbCB8IFNwZWNPdGhlciwgaXNOb3RPdGhlcih2YWx1ZSkpOworICAgICAg
ICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCBTcGVjQ2VsbENoZWNr
IHwgU3BlY090aGVyLCBpc05vdE90aGVyKHZhbHVlKSk7CiAgICAgICAgIG1fb3V0Lmp1bXAoY29u
dGludWF0aW9uKTsKIAogICAgICAgICBtX291dC5hcHBlbmRUbyhjb250aW51YXRpb24sIGxhc3RO
ZXh0KTsKQEAgLTEzMjU0LDE0ICsxMzI1NCwxNCBAQCBwcml2YXRlOgogICAgICAgICBMQmFzaWNC
bG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKGNlbGxDYXNlLCBwcmltaXRpdmVDYXNlKTsK
ICAgICAgICAgCiAgICAgICAgIEZUTF9UWVBFX0NIRUNLKAotICAgICAgICAgICAganNWYWx1ZVZh
bHVlKHZhbHVlKSwgZWRnZSwgKH5TcGVjQ2VsbCkgfCBTcGVjT2JqZWN0LCBpc05vdE9iamVjdCh2
YWx1ZSkpOworICAgICAgICAgICAganNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgKH5TcGVjQ2Vs
bENoZWNrKSB8IFNwZWNPYmplY3QsIGlzTm90T2JqZWN0KHZhbHVlKSk7CiAgICAgICAgIAogICAg
ICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CiAgICAgICAgIAogICAgICAgICBtX291dC5h
cHBlbmRUbyhwcmltaXRpdmVDYXNlLCBjb250aW51YXRpb24pOwogICAgICAgICAKICAgICAgICAg
RlRMX1RZUEVfQ0hFQ0soCi0gICAgICAgICAgICBqc1ZhbHVlVmFsdWUodmFsdWUpLCBlZGdlLCBT
cGVjQ2VsbCB8IFNwZWNPdGhlciwgaXNOb3RPdGhlcih2YWx1ZSkpOworICAgICAgICAgICAganNW
YWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgU3BlY0NlbGxDaGVjayB8IFNwZWNPdGhlciwgaXNOb3RP
dGhlcih2YWx1ZSkpOwogICAgICAgICAKICAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24p
OwogICAgICAgICAKQEAgLTEzMzM2LDcgKzEzMzM2LDcgQEAgcHJpdmF0ZToKICAgICAKICAgICB2
b2lkIHNwZWN1bGF0ZVN0cmluZyhFZGdlIGVkZ2UsIExWYWx1ZSBjZWxsKQogICAgIHsKLSAgICAg
ICAgRlRMX1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKGNlbGwpLCBlZGdlLCBTcGVjU3RyaW5nIHwg
flNwZWNDZWxsLCBpc05vdFN0cmluZyhjZWxsKSk7CisgICAgICAgIEZUTF9UWVBFX0NIRUNLKGpz
VmFsdWVWYWx1ZShjZWxsKSwgZWRnZSwgU3BlY1N0cmluZywgaXNOb3RTdHJpbmcoY2VsbCkpOwog
ICAgIH0KICAgICAKICAgICB2b2lkIHNwZWN1bGF0ZVN0cmluZyhFZGdlIGVkZ2UpCkBAIC0xMzM1
NCwxMiArMTMzNTQsMTIgQEAgcHJpdmF0ZToKIAogICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4
dCA9IG1fb3V0LmFwcGVuZFRvKGNlbGxDYXNlLCBub3RDZWxsQ2FzZSk7CiAKLSAgICAgICAgRlRM
X1RZUEVfQ0hFQ0soanNWYWx1ZVZhbHVlKHZhbHVlKSwgZWRnZSwgKH5TcGVjQ2VsbCkgfCBTcGVj
U3RyaW5nLCBpc05vdFN0cmluZyh2YWx1ZSkpOworICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1Zh
bHVlVmFsdWUodmFsdWUpLCBlZGdlLCAoflNwZWNDZWxsQ2hlY2spIHwgU3BlY1N0cmluZywgaXNO
b3RTdHJpbmcodmFsdWUpKTsKIAogICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CiAg
ICAgICAgIG1fb3V0LmFwcGVuZFRvKG5vdENlbGxDYXNlLCBjb250aW51YXRpb24pOwogCi0gICAg
ICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsIFNwZWNDZWxsIHwg
U3BlY090aGVyLCBpc05vdE90aGVyKHZhbHVlKSk7CisgICAgICAgIEZUTF9UWVBFX0NIRUNLKGpz
VmFsdWVWYWx1ZSh2YWx1ZSksIGVkZ2UsIFNwZWNDZWxsQ2hlY2sgfCBTcGVjT3RoZXIsIGlzTm90
T3RoZXIodmFsdWUpKTsKIAogICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CiAgICAg
ICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVhdGlvbiwgbGFzdE5leHQpOwpAQCAtMTM0NDAsNyAr
MTM0NDAsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzcGVjdWxhdGVTeW1ib2woRWRnZSBlZGdl
LCBMVmFsdWUgY2VsbCkKICAgICB7Ci0gICAgICAgIEZUTF9UWVBFX0NIRUNLKGpzVmFsdWVWYWx1
ZShjZWxsKSwgZWRnZSwgU3BlY1N5bWJvbCB8IH5TcGVjQ2VsbCwgaXNOb3RTeW1ib2woY2VsbCkp
OworICAgICAgICBGVExfVFlQRV9DSEVDSyhqc1ZhbHVlVmFsdWUoY2VsbCksIGVkZ2UsIFNwZWNT
eW1ib2wsIGlzTm90U3ltYm9sKGNlbGwpKTsKICAgICB9CiAKICAgICB2b2lkIHNwZWN1bGF0ZVN5
bWJvbChFZGdlIGVkZ2UpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>