<?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>68949</bug_id>
          
          <creation_ts>2011-09-27 16:06:56 -0700</creation_ts>
          <short_desc>[MutationObservers] Add stub implementation of WebKitMutationObserver</short_desc>
          <delta_ts>2011-10-11 10:00:24 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>68729</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Klein">adamk</reporter>
          <assigned_to name="Adam Klein">adamk</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>arv</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>dglazkov</cc>
    
    <cc>donggwan.kim</cc>
    
    <cc>mjs</cc>
    
    <cc>ojan</cc>
    
    <cc>rafaelw</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>474321</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-09-27 16:06:56 -0700</bug_when>
    <thetext>[MutationObservers] Add stub implementation of WebKitMutationObserver</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474326</commentid>
    <comment_count>1</comment_count>
      <attachid>108923</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-09-27 16:16:23 -0700</bug_when>
    <thetext>Created attachment 108923
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474361</commentid>
    <comment_count>2</comment_count>
      <attachid>108923</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-27 16:49:56 -0700</bug_when>
    <thetext>Comment on attachment 108923
Patch

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

&gt; LayoutTests/platform/qt/Skipped:149
&gt; +# ENABLE(MUTATION_OBSERVERS) is not yet enabled. http://webkit.org/b/68729

Nit: say &quot;MutationObservers is not yet enabled&quot; to match the rest?

&gt; Source/WebCore/dom/MutationCallback.idl:38
&gt; +    ] MutationCallback {
&gt; +        boolean handleEvent(in MutationRecordArray mutations,
&gt; +                            in WebKitMutationObserver observer);
&gt; +    };

When is this interface used?  Is WebKitMutationObserver going to take this object instead of just a function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474368</commentid>
    <comment_count>3</comment_count>
      <attachid>108923</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-09-27 16:54:18 -0700</bug_when>
    <thetext>Comment on attachment 108923
Patch

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

&gt;&gt; LayoutTests/platform/qt/Skipped:149
&gt;&gt; +# ENABLE(MUTATION_OBSERVERS) is not yet enabled. http://webkit.org/b/68729
&gt; 
&gt; Nit: say &quot;MutationObservers is not yet enabled&quot; to match the rest?

Eh, I was trying to match the style elsewhere in this file.  If you feel strongly, I can change it.

&gt;&gt; Source/WebCore/dom/MutationCallback.idl:38
&gt;&gt; +    };
&gt; 
&gt; When is this interface used?  Is WebKitMutationObserver going to take this object instead of just a function?

Ah, looks like I&apos;m missing a bit of plumbing here.  I need to make the WebKitMutationObserverConstructor take a MutationCallback.  I could use a pointer to an example of constructors...do I need to write some custom code here?

Also, note that the [Callback] annotation means a function can be substituted for an object and it&apos;ll be called with the arguments to handleEvent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477108</commentid>
    <comment_count>4</comment_count>
      <attachid>109502</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-03 11:37:55 -0700</bug_when>
    <thetext>Created attachment 109502
Add custom constructors for WebKitMutationObserver</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477115</commentid>
    <comment_count>5</comment_count>
      <attachid>109502</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-03 11:53:03 -0700</bug_when>
    <thetext>Comment on attachment 109502
Add custom constructors for WebKitMutationObserver

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

I need some other reviewer looking at JSC/V8 bindings.

&gt; Source/WebCore/dom/MutationCallback.idl:37
&gt; +                            in WebKitMutationObserver observer);

Nit: wrong indentation. it should only be indented by 4 spaces as in:
boolean handleEvent(in MutationRecordArray mutations,
    in WebKitMutationObserver observer);

&gt; Source/WebCore/dom/MutationRecordArray.h:62
&gt; +        m_records.swap(records);

Really? doesn&apos;t swap modify records? I don&apos;t think that&apos;s a very intuitive behavior.

&gt; Source/WebCore/dom/WebKitMutationObserver.idl:40
&gt; +                     in WebKitMutationObserverOptions options);

Nit: wrong indentation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477126</commentid>
    <comment_count>6</comment_count>
      <attachid>109502</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-03 12:08:37 -0700</bug_when>
    <thetext>Comment on attachment 109502
Add custom constructors for WebKitMutationObserver

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

&gt;&gt; Source/WebCore/dom/MutationCallback.idl:37
&gt;&gt; +                            in WebKitMutationObserver observer);
&gt; 
&gt; Nit: wrong indentation. it should only be indented by 4 spaces as in:
&gt; boolean handleEvent(in MutationRecordArray mutations,
&gt;     in WebKitMutationObserver observer);

Is this documented somewhere? Most examples I&apos;ve seen in WebCore IDL have used this style (which imho is more readable).  Examples: *Event.idl, Document.idl.  A quick grep doesn&apos;t find any with 12 leading spaces followed by &apos;in&apos;.

&gt;&gt; Source/WebCore/dom/MutationRecordArray.h:62
&gt;&gt; +        m_records.swap(records);
&gt; 
&gt; Really? doesn&apos;t swap modify records? I don&apos;t think that&apos;s a very intuitive behavior.

Thus the factory method&apos;s &quot;adopt&quot; name.  I took this convention from StaticNodeList.  The point is to avoid doing an unnecessary copy, since the caller is expected to not have any use for the vector after passing it in.  Would a comment on adopt() help?  I could make this a PassOwnPtr, but that constrains the caller a bit more than necessary.

&gt;&gt; Source/WebCore/dom/WebKitMutationObserver.idl:40
&gt;&gt; +                     in WebKitMutationObserverOptions options);
&gt; 
&gt; Nit: wrong indentation.

See above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477139</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-10-03 12:21:23 -0700</bug_when>
    <thetext>You’re right, many of the IDL files currently line up subsequent lines, but this does go against WebKit style guidelines. The subsequent lines should not be lined up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477145</commentid>
    <comment_count>8</comment_count>
      <attachid>109502</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-03 12:27:36 -0700</bug_when>
    <thetext>Comment on attachment 109502
Add custom constructors for WebKitMutationObserver

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

&gt;&gt;&gt; Source/WebCore/dom/MutationRecordArray.h:62
&gt;&gt;&gt; +        m_records.swap(records);
&gt;&gt; 
&gt;&gt; Really? doesn&apos;t swap modify records? I don&apos;t think that&apos;s a very intuitive behavior.
&gt; 
&gt; Thus the factory method&apos;s &quot;adopt&quot; name.  I took this convention from StaticNodeList.  The point is to avoid doing an unnecessary copy, since the caller is expected to not have any use for the vector after passing it in.  Would a comment on adopt() help?  I could make this a PassOwnPtr, but that constrains the caller a bit more than necessary.

I think the problem comes from the fact the swap is done in the constructor. Can we do it in adopt() instead so that the context is clear? I don&apos;t think there&apos;s any need for a comment once you do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477153</commentid>
    <comment_count>9</comment_count>
      <attachid>109502</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-10-03 12:34:23 -0700</bug_when>
    <thetext>Comment on attachment 109502
Add custom constructors for WebKitMutationObserver

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

I have some minor nits. None of these are show stoppers and I didn&apos;t check this patch for correctness.

&gt; Source/WebCore/bindings/js/JSWebKitMutationObserverCustom.cpp:57
&gt; +        JSObject* object = exec-&gt;argument(0).getObject();
&gt; +        if (object)

Nit: I would inline this definition into the if-statement condition since this variable is only referenced within the block &quot;if (object)&quot;.

&gt; Source/WebCore/bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:13
&gt; + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS&apos;&apos; AND ANY

Nit: This license block differs from the license block used in all the other new files added by this patch. Was this intended?

&gt; Source/WebCore/bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:43
&gt; +        return throwError(&quot;DOM object constructor cannot be called as a function.&quot;, V8Proxy::TypeError);

Nit: This is the only error message in this patch that uses a complete sentence that ends in a period. I suggest using a consistent style for error messages.

&gt; Source/WebCore/dom/WebKitMutationObserver.cpp:53
&gt; +WebKitMutationObserver::~WebKitMutationObserver()
&gt; +{
&gt; +}

Nit: Is it necessary to explicitly define an empty destructor? Doesn&apos;t the compiler generate such a default destructor when a destructor isn&apos;t declared? Are we worried about inlining of such a default destructor?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477195</commentid>
    <comment_count>10</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-10-03 13:32:58 -0700</bug_when>
    <thetext>If WebKitMutationObserverOptions is really supposed to be a dictionary, I don&apos;t think it should be included as it currently is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477308</commentid>
    <comment_count>11</comment_count>
      <attachid>109545</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-03 15:59:09 -0700</bug_when>
    <thetext>Created attachment 109545
Fixed nits, got rid of MutationRecordArray</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477311</commentid>
    <comment_count>12</comment_count>
      <attachid>109502</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-03 16:02:37 -0700</bug_when>
    <thetext>Comment on attachment 109502
Add custom constructors for WebKitMutationObserver

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

&gt;&gt; Source/WebCore/bindings/js/JSWebKitMutationObserverCustom.cpp:57
&gt;&gt; +        if (object)
&gt; 
&gt; Nit: I would inline this definition into the if-statement condition since this variable is only referenced within the block &quot;if (object)&quot;.

Done.

&gt;&gt; Source/WebCore/bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:13
&gt;&gt; + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS&apos;&apos; AND ANY
&gt; 
&gt; Nit: This license block differs from the license block used in all the other new files added by this patch. Was this intended?

Oops, need to set up a better script to autogen my source files.  Fixed, and fixed the others I noticed (should all be new Google Inc versions).

&gt;&gt; Source/WebCore/bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:43
&gt;&gt; +        return throwError(&quot;DOM object constructor cannot be called as a function.&quot;, V8Proxy::TypeError);
&gt; 
&gt; Nit: This is the only error message in this patch that uses a complete sentence that ends in a period. I suggest using a consistent style for error messages.

This is boilerplate from elsewhere (V8Proxy.h, other custom constructors).  Would rather leave as-is for consistency across files.

&gt;&gt;&gt; Source/WebCore/dom/MutationCallback.idl:37
&gt;&gt;&gt; +                            in WebKitMutationObserver observer);
&gt;&gt; 
&gt;&gt; Nit: wrong indentation. it should only be indented by 4 spaces as in:
&gt;&gt; boolean handleEvent(in MutationRecordArray mutations,
&gt;&gt;     in WebKitMutationObserver observer);
&gt; 
&gt; Is this documented somewhere? Most examples I&apos;ve seen in WebCore IDL have used this style (which imho is more readable).  Examples: *Event.idl, Document.idl.  A quick grep doesn&apos;t find any with 12 leading spaces followed by &apos;in&apos;.

Moved onto a single line (since that seems to best-match WebKit style).

&gt;&gt;&gt;&gt; Source/WebCore/dom/MutationRecordArray.h:62
&gt;&gt;&gt;&gt; +        m_records.swap(records);
&gt;&gt;&gt; 
&gt;&gt;&gt; Really? doesn&apos;t swap modify records? I don&apos;t think that&apos;s a very intuitive behavior.
&gt;&gt; 
&gt;&gt; Thus the factory method&apos;s &quot;adopt&quot; name.  I took this convention from StaticNodeList.  The point is to avoid doing an unnecessary copy, since the caller is expected to not have any use for the vector after passing it in.  Would a comment on adopt() help?  I could make this a PassOwnPtr, but that constrains the caller a bit more than necessary.
&gt; 
&gt; I think the problem comes from the fact the swap is done in the constructor. Can we do it in adopt() instead so that the context is clear? I don&apos;t think there&apos;s any need for a comment once you do that.

This file is now gone: I wrote custom handleEvent methods to get around this issue, and pass an array in.

&gt;&gt; Source/WebCore/dom/WebKitMutationObserver.cpp:53
&gt;&gt; +}
&gt; 
&gt; Nit: Is it necessary to explicitly define an empty destructor? Doesn&apos;t the compiler generate such a default destructor when a destructor isn&apos;t declared? Are we worried about inlining of such a default destructor?

This is necessary to avoid having the header file include MutationCallback.h, since the class has a RefPtr member which derefs on destruction and thus needs to know MutationCallback&apos;s declaration.

&gt;&gt;&gt; Source/WebCore/dom/WebKitMutationObserver.idl:40
&gt;&gt;&gt; +                     in WebKitMutationObserverOptions options);
&gt;&gt; 
&gt;&gt; Nit: wrong indentation.
&gt; 
&gt; See above.

Same as above, moved onto a single line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477323</commentid>
    <comment_count>13</comment_count>
      <attachid>109545</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-03 16:21:02 -0700</bug_when>
    <thetext>Comment on attachment 109545
Fixed nits, got rid of MutationRecordArray

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

r- given Sam&apos;s comment.

&gt; Source/WebCore/dom/WebKitMutationObserver.idl:39
&gt; +        void observe(in Node target, in WebKitMutationObserverOptions options);

It seems like Sam want you to replace WebKitMutationObserverOptions by Object and properly handle dictionary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480404</commentid>
    <comment_count>14</comment_count>
      <attachid>110235</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-07 17:08:51 -0700</bug_when>
    <thetext>Created attachment 110235
Added custom code for MutationObserverOptions, removed IDL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481041</commentid>
    <comment_count>15</comment_count>
      <attachid>110235</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-10 11:48:29 -0700</bug_when>
    <thetext>Comment on attachment 110235
Added custom code for MutationObserverOptions, removed IDL

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

&gt; LayoutTests/fast/mutation/mutation-observer-constructor.html:4
&gt; +&lt;meta charset=&quot;utf-8&quot;&gt;

Why do you need to specify charset?

&gt; Source/WebCore/bindings/js/JSMutationCallbackCustom.cpp:46
&gt; +bool JSMutationCallback::handleEvent(MutationRecordArray* mutations, WebKitMutationObserver* observer)

This function should probably take const MutationRecordArray&amp;.

&gt; Source/WebCore/bindings/js/JSWebKitMutationObserverCustom.cpp:68
&gt; +    RefPtr&lt;WebKitMutationObserver&gt; observer = WebKitMutationObserver::create(callback.release());
&gt; +
&gt; +    return JSValue::encode(asObject(toJS(exec, jsConstructor-&gt;globalObject(), observer.release())));

Nit: This can be done in one line.

&gt; Source/WebCore/bindings/js/JSWebKitMutationObserverCustom.cpp:92
&gt; +        return jsUndefined();

When do we execute this line?

&gt; Source/WebCore/bindings/v8/custom/V8MutationCallbackCustom.cpp:50
&gt; +bool V8MutationCallback::handleEvent(MutationRecordArray* mutations, WebKitMutationObserver* observer)

This function should probably take const MutationRecordArray&amp;.

&gt; Source/WebCore/bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:95
&gt; +#define SET_OPTION(option, setter) \
&gt; +    do { \
&gt; +        bool option; \
&gt; +        if (optionsObject.getKeyValue(#option, option)) \
&gt; +            options-&gt;setter(option); \
&gt; +    } while (0)

Is this a common practice?

&gt; Source/WebCore/dom/MutationCallback.h:51
&gt; +    virtual bool handleEvent(MutationRecordArray*, WebKitMutationObserver*) = 0;

This function should probably take const MutationRecordArray&amp;.

&gt; Source/WebCore/dom/MutationCallback.idl:36
&gt; +        [Custom] boolean handleEvent(in MutationRecordArray mutations, in WebKitMutationObserver observer);

Now that we have a custom binding, mutations should be of type Array.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481042</commentid>
    <comment_count>16</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-10 11:49:43 -0700</bug_when>
    <thetext>Can we somehow make EWS green? I&apos;d like to make sure we&apos;re not breaking any builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481047</commentid>
    <comment_count>17</comment_count>
      <attachid>110235</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-10 11:59:38 -0700</bug_when>
    <thetext>Comment on attachment 110235
Added custom code for MutationObserverOptions, removed IDL

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

&gt;&gt; LayoutTests/fast/mutation/mutation-observer-constructor.html:4
&gt;&gt; +&lt;meta charset=&quot;utf-8&quot;&gt;
&gt; 
&gt; Why do you need to specify charset?

This is boilerplate created by Tools/Scripts/make-new-script-test.  It&apos;s certainly not going to hurt anything, but I can remove it if you like.

&gt;&gt; Source/WebCore/bindings/js/JSMutationCallbackCustom.cpp:46
&gt;&gt; +bool JSMutationCallback::handleEvent(MutationRecordArray* mutations, WebKitMutationObserver* observer)
&gt; 
&gt; This function should probably take const MutationRecordArray&amp;.

This signature is generated by CodeGeneratorJS.pm, so it&apos;s not really up to me.

&gt;&gt; Source/WebCore/bindings/js/JSWebKitMutationObserverCustom.cpp:68
&gt;&gt; +    return JSValue::encode(asObject(toJS(exec, jsConstructor-&gt;globalObject(), observer.release())));
&gt; 
&gt; Nit: This can be done in one line.

Done locally, currently working on merging, will be reflected in next patch.

&gt;&gt; Source/WebCore/bindings/js/JSWebKitMutationObserverCustom.cpp:92
&gt;&gt; +        return jsUndefined();
&gt; 
&gt; When do we execute this line?

From my reading of JSDictionary, it&apos;s if the options object has a getter that throws an exception.

&gt;&gt; Source/WebCore/bindings/v8/custom/V8MutationCallbackCustom.cpp:50
&gt;&gt; +bool V8MutationCallback::handleEvent(MutationRecordArray* mutations, WebKitMutationObserver* observer)
&gt; 
&gt; This function should probably take const MutationRecordArray&amp;.

Again, CodeGeneratorV8 is what makes this signature (when it sees [Callback]).

&gt;&gt; Source/WebCore/bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:95
&gt;&gt; +    } while (0)
&gt; 
&gt; Is this a common practice?

It&apos;s something of a C-ism, but yeah, it&apos;s fairly common.  Given that we need to define a local variable to pass as a reference to getKeyValue, it should be scoped to a block, and using a do{}while forces the usage to end each invocation with a semicolon.

&gt;&gt; Source/WebCore/dom/MutationCallback.h:51
&gt;&gt; +    virtual bool handleEvent(MutationRecordArray*, WebKitMutationObserver*) = 0;
&gt; 
&gt; This function should probably take const MutationRecordArray&amp;.

Again, not up to me.

&gt;&gt; Source/WebCore/dom/MutationCallback.idl:36
&gt;&gt; +        [Custom] boolean handleEvent(in MutationRecordArray mutations, in WebKitMutationObserver observer);
&gt; 
&gt; Now that we have a custom binding, mutations should be of type Array.

This has to name a type, since it will be transcribed into C++ code by the code generators.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481053</commentid>
    <comment_count>18</comment_count>
      <attachid>110235</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-10 12:08:13 -0700</bug_when>
    <thetext>Comment on attachment 110235
Added custom code for MutationObserverOptions, removed IDL

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

&gt;&gt;&gt; Source/WebCore/bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:95

&gt;&gt; 
&gt;&gt; Is this a common practice?
&gt; 
&gt; It&apos;s something of a C-ism, but yeah, it&apos;s fairly common.  Given that we need to define a local variable to pass as a reference to getKeyValue, it should be scoped to a block, and using a do{}while forces the usage to end each invocation with a semicolon.

I don&apos;t quite get the use of defining option inside a block. Since we&apos;re checking the return value of getKeyValue and we aren&apos;t initializing option, it seems like we can reuse the same option for all calls to getKeyValue and setter. I think we should avoid using macros as much as possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481077</commentid>
    <comment_count>19</comment_count>
      <attachid>110384</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-10 12:47:35 -0700</bug_when>
    <thetext>Created attachment 110384
Merge to r97071, kill SET_OPTION macro</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481096</commentid>
    <comment_count>20</comment_count>
      <attachid>110384</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-10-10 13:17:56 -0700</bug_when>
    <thetext>Comment on attachment 110384
Merge to r97071, kill SET_OPTION macro

Attachment 110384 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/10015797</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481102</commentid>
    <comment_count>21</comment_count>
      <attachid>110389</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-10 13:25:20 -0700</bug_when>
    <thetext>Created attachment 110389
Update various build rules</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481115</commentid>
    <comment_count>22</comment_count>
      <attachid>110394</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-10 13:42:51 -0700</bug_when>
    <thetext>Created attachment 110394
Use ASSERT instead of CRASH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481151</commentid>
    <comment_count>23</comment_count>
      <attachid>110394</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-10-10 14:16:09 -0700</bug_when>
    <thetext>Comment on attachment 110394
Use ASSERT instead of CRASH

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

r- due to the noted issues in the JSC bindings sorry :-/

&gt; Source/WebCore/bindings/js/JSWebKitMutationObserverCustom.cpp:53
&gt; +    if (!jsConstructor)
&gt; +        return throwVMError(exec, createReferenceError(exec, &quot;WebKitMutationObserver constructor callee is unavailable&quot;));

This should be an ASSERT(jsConstructor);  and also a ASSERT(jsConstructor-&gt;inherits(&amp;JSWebKitMutationObserverConstructor::s_info));

Have you seen a case where you have a null callee?

&gt; Source/WebCore/bindings/js/JSWebKitMutationObserverCustom.cpp:60
&gt; +    if (!exec-&gt;argument(0).isUndefinedOrNull()) {
&gt; +        if (JSObject* object = exec-&gt;argument(0).getObject())

You should be able to simplify this to

JSObject* object = exec-&gt;argument(0).getObject();
if (!object)
    return throwVMError(exec, createTypeError(exec, &quot;Argument is not an Object&quot;));
RefPtr&lt;MutationCallback&gt; callback = JSMutationCallback::create(object, jsConstructor-&gt;globalObject());
return JSValue::encode(toJS(exec, jsConstructor-&gt;globalObject(), WebKitMutationObserver::create(callback.release())));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481182</commentid>
    <comment_count>24</comment_count>
      <attachid>110394</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-10 14:48:18 -0700</bug_when>
    <thetext>Comment on attachment 110394
Use ASSERT instead of CRASH

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

&gt;&gt; Source/WebCore/bindings/js/JSWebKitMutationObserverCustom.cpp:53
&gt;&gt; +        return throwVMError(exec, createReferenceError(exec, &quot;WebKitMutationObserver constructor callee is unavailable&quot;));
&gt; 
&gt; This should be an ASSERT(jsConstructor);  and also a ASSERT(jsConstructor-&gt;inherits(&amp;JSWebKitMutationObserverConstructor::s_info));
&gt; 
&gt; Have you seen a case where you have a null callee?

This was taken from JSAudioContextCustom.cpp (chosen as a random other custom constructor), but it doesn&apos;t seem like there&apos;s any reason to expect this to ever be null.  Perhaps the asserts aren&apos;t even necessary?  I don&apos;t see them elsewhere in JS*Custom.cpp.

I&apos;m leaving the ASSERTs out for now (this is called only from generated code anyway).  Let me know if you&apos;d prefer I keep them in.

&gt;&gt; Source/WebCore/bindings/js/JSWebKitMutationObserverCustom.cpp:60
&gt;&gt; +        if (JSObject* object = exec-&gt;argument(0).getObject())
&gt; 
&gt; You should be able to simplify this to
&gt; 
&gt; JSObject* object = exec-&gt;argument(0).getObject();
&gt; if (!object)
&gt;     return throwVMError(exec, createTypeError(exec, &quot;Argument is not an Object&quot;));
&gt; RefPtr&lt;MutationCallback&gt; callback = JSMutationCallback::create(object, jsConstructor-&gt;globalObject());
&gt; return JSValue::encode(toJS(exec, jsConstructor-&gt;globalObject(), WebKitMutationObserver::create(callback.release())));

Nice, done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481183</commentid>
    <comment_count>25</comment_count>
      <attachid>110407</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-10 14:49:31 -0700</bug_when>
    <thetext>Created attachment 110407
Simplify JSWebKitMutationObserverCustom.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481195</commentid>
    <comment_count>26</comment_count>
      <attachid>110407</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-10 15:03:41 -0700</bug_when>
    <thetext>Comment on attachment 110407
Simplify JSWebKitMutationObserverCustom.cpp

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

&gt; LayoutTests/fast/mutation/observe-exceptions.html:21
&gt; +    shouldThrow(&apos;observer.observe(document.body, undefined)&apos;);

Should we add a case where we pass an unknown option?

&gt; Source/WebCore/dom/WebKitMutationObserver.cpp:57
&gt; +    // FIXME: implement

Maybe use call notImplemented() instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481212</commentid>
    <comment_count>27</comment_count>
      <attachid>110407</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-10 15:16:06 -0700</bug_when>
    <thetext>Comment on attachment 110407
Simplify JSWebKitMutationObserverCustom.cpp

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

&gt;&gt; LayoutTests/fast/mutation/observe-exceptions.html:21
&gt;&gt; +    shouldThrow(&apos;observer.observe(document.body, undefined)&apos;);
&gt; 
&gt; Should we add a case where we pass an unknown option?

The spec doesn&apos;t say anything about passing an object with unknown options (and I don&apos;t think it should).  But note that none of that parsing code is testable from JS yet (that&apos;ll come in the next patch when we start actually implementing observation).

&gt;&gt; Source/WebCore/dom/WebKitMutationObserver.cpp:57
&gt;&gt; +    // FIXME: implement
&gt; 
&gt; Maybe use call notImplemented() instead?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481213</commentid>
    <comment_count>28</comment_count>
      <attachid>110415</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-10 15:16:59 -0700</bug_when>
    <thetext>Created attachment 110415
Use notImplemented instead of FIXME</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481270</commentid>
    <comment_count>29</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-10 16:29:19 -0700</bug_when>
    <thetext>Non-binding part of the patch looks good to me. Waiting for someone else to review JSC &amp; V8 binding code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481282</commentid>
    <comment_count>30</comment_count>
      <attachid>110415</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-10-10 16:36:27 -0700</bug_when>
    <thetext>Comment on attachment 110415
Use notImplemented instead of FIXME

r=me on the JSC bindings, setting r+ as apparently i&apos;m the last person who still needed to review this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481334</commentid>
    <comment_count>31</comment_count>
      <attachid>110447</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-10 17:19:13 -0700</bug_when>
    <thetext>Created attachment 110447
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481374</commentid>
    <comment_count>32</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-10-10 18:19:42 -0700</bug_when>
    <thetext>Do the options ever have to be returned anywhere?  If not, why do they need to be a refcounted class?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481380</commentid>
    <comment_count>33</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-10 18:34:01 -0700</bug_when>
    <thetext>(In reply to comment #32)
&gt; Do the options ever have to be returned anywhere?  If not, why do they need to be a refcounted class?

They probably won&apos;t end up being refcounted, I just forgot to remove that when I got rid of the IDL file.  Can take of that detail in a followup (which may get rid of the class altogether in preference for a bitfield).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481492</commentid>
    <comment_count>34</comment_count>
      <attachid>110447</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-11 00:53:29 -0700</bug_when>
    <thetext>Comment on attachment 110447
Patch for landing

Rejecting attachment 110447 from commit-queue.

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

Last 500 characters of output:
257ad45105c2fa20af02a38876a60a293353f719
r97130 = fd6dff2430dc9524fa845952a01f2085b59fb355
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.
Updating chromium port dependencies using gclient...

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

Full output: http://queues.webkit.org/results/10026487</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481691</commentid>
    <comment_count>35</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-10-11 09:56:09 -0700</bug_when>
    <thetext>Committed r97159: &lt;http://trac.webkit.org/changeset/97159&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108923</attachid>
            <date>2011-09-27 16:16:23 -0700</date>
            <delta_ts>2011-10-03 11:37:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68949-20110927161622.patch</filename>
            <type>text/plain</type>
            <size>64932</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTYxNTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5OTczNWRlNzFmNDI1NjZmMGQ0N2Uy
ZWJkMmVkMzU5NDI2Nzk0OWFhLi43OTYzMjZjMTFmNGY3MDFjNTA5YTRjOTk1YmFiOGYzN2RiNTI3
MWViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDktMjcgIEFkYW0gS2xlaW4gIDxhZGFt
a0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgc3R1YiBp
bXBsZW1lbnRhdGlvbiBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk0OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiYXNpYyB0ZXN0IGFuZCBza2lwIGl0
IGluIGFsbCBwb3J0cyBmb3Igbm93LgorCisgICAgICAgICogZmFzdC9tdXRhdGlvbi9tdXRhdGlv
bi1vYnNlcnZlci1jb25zdHJ1Y3RvcnMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdXRh
dGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBw
ZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93
aW4vU2tpcHBlZDoKKwogMjAxMS0wOS0yNyAgTWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBDaHJvbWl1bSB0ZXN0IGV4cGVjdGF0aW9ucyB1cGRhdGUuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL211dGF0aW9uLW9ic2VydmVyLWNv
bnN0cnVjdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL211dGF0
aW9uLW9ic2VydmVyLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmIxNGIy
ODY0OTY1MmFiNTI1YmEzZmFlM2I5NGIyODU1ZGE1NjQzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3JzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IHRoZSBjb25zdHJ1Y3RvcnMgb2YgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlciBhbmQgV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMKKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdHlwZW9mIHdpbmRvdy5XZWJLaXRN
dXRhdGlvbk9ic2VydmVyIGlzICJvYmplY3QiCitQQVNTIHR5cGVvZiBXZWJLaXRNdXRhdGlvbk9i
c2VydmVyLnByb3RvdHlwZS5vYnNlcnZlIGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlLmRpc2Nvbm5lY3QgaXMgImZ1bmN0aW9uIgorUEFT
UyB0eXBlb2Ygd2luZG93LldlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zIGlzICJvYmplY3Qi
CitQQVNTICJjaGlsZExpc3QiIGluIG9wdGlvbnMgaXMgdHJ1ZQorUEFTUyAiYXR0cmlidXRlcyIg
aW4gb3B0aW9ucyBpcyB0cnVlCitQQVNTICJjaGFyYWN0ZXJEYXRhIiBpbiBvcHRpb25zIGlzIHRy
dWUKK1BBU1MgImF0dHJpYnV0ZU9sZFZhbHVlIiBpbiBvcHRpb25zIGlzIHRydWUKK1BBU1MgImNo
YXJhY3RlckRhdGFPbGRWYWx1ZSIgaW4gb3B0aW9ucyBpcyB0cnVlCitQQVNTICJzdWJ0cmVlIiBp
biBvcHRpb25zIGlzIHRydWUKK1BBU1Mgb3B0aW9ucy5jaGlsZExpc3QgaXMgZmFsc2UKK1BBU1Mg
b3B0aW9ucy5hdHRyaWJ1dGVzIGlzIGZhbHNlCitQQVNTIG9wdGlvbnMuY2hhcmFjdGVyRGF0YSBp
cyBmYWxzZQorUEFTUyBvcHRpb25zLmF0dHJpYnV0ZU9sZFZhbHVlIGlzIGZhbHNlCitQQVNTIG9w
dGlvbnMuY2hhcmFjdGVyRGF0YU9sZFZhbHVlIGlzIGZhbHNlCitQQVNTIG9wdGlvbnMuc3VidHJl
ZSBpcyBmYWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vbXV0YXRpb24tb2Jz
ZXJ2ZXItY29uc3RydWN0b3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL211dGF0
aW9uLW9ic2VydmVyLWNvbnN0cnVjdG9ycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlZGI3MGIzZDRiNmU0
MWM2ODE0NTIyMGM5YjY5YjgyZThiZjY0ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L211dGF0aW9uL211dGF0aW9uLW9ic2VydmVyLWNvbnN0cnVjdG9ycy5odG1sCkBAIC0w
LDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHRpdGxlPjwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPWRlc2NyaXB0aW9uPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3R5cGVv
ZiB3aW5kb3cuV2ViS2l0TXV0YXRpb25PYnNlcnZlcicsICdvYmplY3QnKTsKKyAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3R5cGVvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLnByb3RvdHlwZS5v
YnNlcnZlJywgJ2Z1bmN0aW9uJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2Yg
V2ViS2l0TXV0YXRpb25PYnNlcnZlci5wcm90b3R5cGUuZGlzY29ubmVjdCcsICdmdW5jdGlvbicp
OworCisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2Ygd2luZG93LldlYktpdE11dGF0
aW9uT2JzZXJ2ZXJPcHRpb25zJywgJ29iamVjdCcpOworICAgIHdpbmRvdy5vcHRpb25zID0gbmV3
IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOworICAgIHNob3VsZEJlVHJ1ZSgnImNoaWxk
TGlzdCIgaW4gb3B0aW9ucycpOworICAgIHNob3VsZEJlVHJ1ZSgnImF0dHJpYnV0ZXMiIGluIG9w
dGlvbnMnKTsKKyAgICBzaG91bGRCZVRydWUoJyJjaGFyYWN0ZXJEYXRhIiBpbiBvcHRpb25zJyk7
CisgICAgc2hvdWxkQmVUcnVlKCciYXR0cmlidXRlT2xkVmFsdWUiIGluIG9wdGlvbnMnKTsKKyAg
ICBzaG91bGRCZVRydWUoJyJjaGFyYWN0ZXJEYXRhT2xkVmFsdWUiIGluIG9wdGlvbnMnKTsKKyAg
ICBzaG91bGRCZVRydWUoJyJzdWJ0cmVlIiBpbiBvcHRpb25zJyk7CisgICAgc2hvdWxkQmVGYWxz
ZSgnb3B0aW9ucy5jaGlsZExpc3QnKTsKKyAgICBzaG91bGRCZUZhbHNlKCdvcHRpb25zLmF0dHJp
YnV0ZXMnKTsKKyAgICBzaG91bGRCZUZhbHNlKCdvcHRpb25zLmNoYXJhY3RlckRhdGEnKTsKKyAg
ICBzaG91bGRCZUZhbHNlKCdvcHRpb25zLmF0dHJpYnV0ZU9sZFZhbHVlJyk7CisgICAgc2hvdWxk
QmVGYWxzZSgnb3B0aW9ucy5jaGFyYWN0ZXJEYXRhT2xkVmFsdWUnKTsKKyAgICBzaG91bGRCZUZh
bHNlKCdvcHRpb25zLnN1YnRyZWUnKTsKK30KKworZGVzY3JpcHRpb24oJ1Rlc3QgdGhlIGNvbnN0
cnVjdG9ycyBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyIGFuZCBXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyT3B0aW9ucycpOworCitpZiAoIXdpbmRvdy5XZWJLaXRNdXRhdGlvbk9ic2VydmVyKQorICAg
IHRlc3RGYWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJT
KScpOworZWxzZQorICAgIHJ1blRlc3QoKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IDcyMTVhMGI5MWRl
YzA1YmIxM2Q4Nzg3Nzg5ZTNhOGU4NzVjYjZlNWMuLjc2MjNlOWI4Y2IzYTAyMjYwZWVhMmMyOTQ5
YzJjNjkyOWE1NTdhZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTMzMTUsNiArMzMxNSw5IEBAIEJVR1dLNTczMTEg
U0tJUCA6IGZhc3QvZXhjbHVzaW9ucyA9IFBBU1MKIC8vIENTUyBGaWx0ZXJzIHN1cHBvcnQgbm90
IHlldCBlbmFibGVkCiBCVUdXSzY4NDY5IFNLSVAgOiBjc3MzL2ZpbHRlcnMgPSBQQVNTCiAKKy8v
IE11dGF0aW9uT2JzZXJ2ZXJzIG5vdCB5ZXQgZW5hYmxlZC4KK0JVR1dLNjg3MjkgU0tJUCA6IGZh
c3QvbXV0YXRpb24gPSBQQVNTCisKIEJVR1dLNjgwODcgV0lOIE1BQyBHUFUgR1BVLUNHIDogY29t
cG9zaXRpbmcvZmxhdC13aXRoLXRyYW5zZm9ybWVkLWNoaWxkLmh0bWwgPSBJTUFHRQogQlVHV0s2
ODA4NyBXSU4gTUFDIEdQVSBHUFUtQ0cgOiBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy8z
ZC1jb3JuZXJzLmh0bWwgPSBJTUFHRQogQlVHV0s2ODA4NyBXSU4gTUFDIEdQVSBHUFUtQ0cgOiBw
bGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmlsaXR5LXRyYW5zZm9y
bWVkLmh0bWwgPSBJTUFHRQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCBiNTg0MGNiMTcw
MGMzY2IzMTRjNjY5ODI2YTk2ZWNmNGJiM2RhMWE3Li5lNDk0NjY0MmRmMDRmZDQzZWUzNGZiODlh
MjZmNTE5YjgyZWEwZjY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tp
cHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtNDUyLDYgKzQ1
Miw5IEBAIHdlYmF1ZGlvCiAjIENTUyBGaWx0ZXJzIGlzIGRpc2FibGVkCiBjc3MzL2ZpbHRlcnMK
IAorIyBNdXRhdGlvbk9ic2VydmVycyBhcmUgbmV0IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0
Lm9yZy9iLzY4NzI5CitmYXN0L211dGF0aW9uCisKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMg
VEVTVFMgRkFJTElORwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tp
cHBlZAppbmRleCBkMjJkYWFhZGQwZjBlYjNmMWZjMjU1MjU0Yzg0ZWI3NmUwYjFkNWY4Li5kNTRm
NzM2MWNmY2Y0ZmI5ODM2ZjlmMWQ0NzAzMTNjZTljYzc4OTI5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
U2tpcHBlZApAQCAtMzk2LDYgKzM5Niw5IEBAIGNvbXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1lLXJl
bGF0aXZlLmh0bWwKICMgRm9yIG5vdywgV2ViIEF1ZGlvIEFQSSBpcyBkaXNhYmxlZAogd2ViYXVk
aW8vCiAKKyMgTXV0YXRpb25PYnNlcnZlcnMgYXJlIG5ldCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dl
YmtpdC5vcmcvYi82ODcyOQorZmFzdC9tdXRhdGlvbgorCiAjIFRlc3RzIGZvciBXZWJWVFQgcGFy
c2VyIGZvciA8dHJhY2s+LiAgRmVhdHVyZSBpcyBub3QgeWV0IGZ1bmN0aW9uYWwuCiAjIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzY2OAogbWVkaWEvdHJhY2svCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCA2NjAzZDQwMmY1ZWVjOGVmYWU2MjU0ZTViZWNiMzNi
OTcyZTY5NzQzLi5jM2VmZTBhZTYzMjExYTc3ZGJhMTA0YWRmOGMzYzRiYWI3MzJmYzFlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTE0Niw2ICsxNDYsOSBAQCBmYXN0L3JlZ2lvbnMKICMg
Q1NTIEV4Y2x1c2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3Jn
L2IvNTczMTEKIGZhc3QvZXhjbHVzaW9ucwogCisjIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMp
IGlzIG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi82ODcyOQorZmFzdC9tdXRh
dGlvbgorCiAjIFVTRShWOCkKIAogIyB2OCBpMThuIGV4dGVuc2lvbi4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L1NraXBwZWQKaW5kZXggMTUwYjhmMjk3NjNhZDU2YmRlZGNmMWE1MmMwZTljMTUxZGYwZThiZi4u
NzE4MDA3MGE5YzE1ZTUyNGQ3NTI3NTA4NjVmZGE5OTE5OWI2MmM1OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1NraXBwZWQKQEAgLTEzODksNiArMTM4OSw5IEBAIGNzczMvc2VsZWN0b3JzMwogIyBGb3Ig
bm93LCBXZWIgQXVkaW8gQVBJIGlzIGRpc2FibGVkCiB3ZWJhdWRpby8KIAorIyBNdXRhdGlvbk9i
c2VydmVycyBhcmUgbmV0IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzY4NzI5Citm
YXN0L211dGF0aW9uCisKICMgVGVzdHMgZm9yIFdlYlZUVCBwYXJzZXIgZm9yIDx0cmFjaz4uICBG
ZWF0dXJlIGlzIG5vdCB5ZXQgZnVuY3Rpb25hbC4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQzNjY4CiBtZWRpYS90cmFjay8KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5k
ZXggZTFlZWU3MzY0N2JiZjJmYzhiMjY3ODkwNDQxNTJiYWIxZDc1ZmE0Zi4uODU4NzdlZDM4MzAz
MGFmMDM5MTc0NTA2OGQ3MTVhN2JjYThkYzNhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE2
Miw4ICsxNjIsMTAgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgZG9tL01lc3NhZ2VFdmVu
dC5pZGwKICAgICBkb20vTWVzc2FnZVBvcnQuaWRsCiAgICAgZG9tL01vdXNlRXZlbnQuaWRsCisg
ICAgZG9tL011dGF0aW9uQ2FsbGJhY2suaWRsCiAgICAgZG9tL011dGF0aW9uRXZlbnQuaWRsCiAg
ICAgZG9tL011dGF0aW9uUmVjb3JkLmlkbAorICAgIGRvbS9NdXRhdGlvblJlY29yZEFycmF5Lmlk
bAogICAgIGRvbS9OYW1lZE5vZGVNYXAuaWRsCiAgICAgZG9tL05vZGVGaWx0ZXIuaWRsCiAgICAg
ZG9tL05vZGUuaWRsCkBAIC0xODUsNiArMTg3LDggQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAg
ICAgZG9tL1RyZWVXYWxrZXIuaWRsCiAgICAgZG9tL1VJRXZlbnQuaWRsCiAgICAgZG9tL1dlYktp
dEFuaW1hdGlvbkV2ZW50LmlkbAorICAgIGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmlkbAor
ICAgIGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5pZGwKICAgICBkb20vV2ViS2l0
VHJhbnNpdGlvbkV2ZW50LmlkbAogICAgIGRvbS9XaGVlbEV2ZW50LmlkbAogCkBAIC02MDEsNiAr
NjA1LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9Vc2VyVHlwaW5nR2VzdHVyZUlu
ZGljYXRvci5jcHAKICAgICBkb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCiAgICAgZG9tL1dlYktp
dEFuaW1hdGlvbkV2ZW50LmNwcAorICAgIGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcAog
ICAgIGRvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwCiAgICAgZG9tL1doZWVsRXZlbnQuY3Bw
CiAgICAgZG9tL1dpbmRvd0V2ZW50Q29udGV4dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzOWI1ZGIxY2Jj
MmFjYzExZTQ1OWJjNmQwNDMwYjMzNjNhYjUxMWJmLi5iYTk4NjBhZWIyOTc2ZDc0ODJhZDUwMjRj
YjZiZDNlZjJhZDc1Yjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzAgQEAKKzIwMTEtMDktMjcg
IEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW011dGF0aW9uT2Jz
ZXJ2ZXJzXSBBZGQgc3R1YiBpbXBsZW1lbnRhdGlvbiBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk0OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MjkgZm9yIHRoZSBtZXRhYnVn
LgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIHN0dWIgV2ViS2l0TXV0YXRpb25PYnNlcnZl
ciBhbmQgaXRzIHN1cHBvcnRpbmcgY2xhc3NlcworICAgICAgICBNdXRhdGlvbkNhbGxiYWNrLCBN
dXRhdGlvblJlY29yZEFycmF5LCBhbmQgV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuCisg
ICAgICAgIE5vIGltcGxlbWVudGF0aW9uIGlzIHByb3ZpZGVkIGZvciB0aGUgYWxsLWltcG9ydGFu
dCBvYnNlcnZlKCkgYW5kCisgICAgICAgIGRpc2Nvbm5lY3QoKSBtZXRob2RzLgorCisgICAgICAg
IE5vdGUgdGhhdCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyIGFuZCBXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyT3B0aW9ucyBhcmUKKyAgICAgICAgdmVuZG9yLXByZWZpeGVkIHNpbmNlIHRoZXkgaGF2ZSBj
b25zdHJ1Y3RvcnMgZXhwb3NlZCBvbiBET01XaW5kb3cuCisgICAgICAgIE5vbmUgb2YgdGhlIHJl
c3Qgb2YgdGhlIEFQSSBuZWVkcyBwcmVmaXhpbmcsIGFzIGl0J3Mgb25seSBhdmFpbGFibGUKKyAg
ICAgICAgdmlhIGEgY2FsbCB0aHJvdWdoIGEgTXV0YXRpb25PYnNlcnZlciBjYWxsYmFjayAoY3Jl
YXRlZCBieQorICAgICAgICBpbnN0YW50aWF0aW5nIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIpLgor
CisgICAgICAgIEdpdmVuIHRoZSBudW1iZXIgb2YgZmlsZXMgcmVxdWlyZWQgdG8gZ2V0IGp1c3Qg
dGhlIHN0dWIgdXAgYW5kIHJ1bm5pbmcsCisgICAgICAgIGl0IHNlZW1zIHJlYXNvbmFibGUgdG8g
bGVhdmUgdGhlIGFjdHVhbCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIG5leHQKKyAgICAgICAgcGF0
Y2ggKG9yIG1vcmUgbGlrZWx5IHNldmVyYWwgcGF0Y2hlcykuICBJJ3ZlIGxlZnQgRklYTUVzIGlu
IGFsbCB0aGUgcGxhY2VzCisgICAgICAgIHRoYXQnbGwgbmVlZCBhdWdtZW50YXRpb24uCisKKyAg
ICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6Cisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL011dGF0aW9uQ2FsbGJh
Y2suaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbkNhbGxiYWNrOjp+TXV0YXRp
b25DYWxsYmFjayk6CisgICAgICAgICogZG9tL011dGF0aW9uQ2FsbGJhY2suaWRsOiBBZGRlZC4K
KyAgICAgICAgKiBkb20vTXV0YXRpb25SZWNvcmRBcnJheS5oOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6Ok11dGF0aW9uUmVjb3JkQXJyYXk6OmFkb3B0KToKKyAgICAgICAgKFdlYkNvcmU6Ok11
dGF0aW9uUmVjb3JkQXJyYXk6Omxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvblJl
Y29yZEFycmF5OjppdGVtKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uUmVjb3JkQXJyYXk6
Ok11dGF0aW9uUmVjb3JkQXJyYXkpOgorICAgICAgICAqIGRvbS9NdXRhdGlvblJlY29yZEFycmF5
LmlkbDogQWRkZWQuCisgICAgICAgICogZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OldlYktpdE11
dGF0aW9uT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZl
cjo6b2JzZXJ2ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpk
aXNjb25uZWN0KToKKyAgICAgICAgKiBkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OmNyZWF0ZSk6Cisg
ICAgICAgICogZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsOiBBZGRlZC4KKyAgICAgICAg
KiBkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpjaGlsZExpc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldENoaWxkTGlz
dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6YXR0
cmlidXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9u
czo6c2V0QXR0cmlidXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyT3B0aW9uczo6Y2hhcmFjdGVyRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRh
dGlvbk9ic2VydmVyT3B0aW9uczo6c2V0Q2hhcmFjdGVyRGF0YSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6c3VidHJlZSk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6c2V0U3VidHJlZSk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6YXR0cmlidXRlT2xkVmFs
dWUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNl
dEF0dHJpYnV0ZU9sZFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXJPcHRpb25zOjpjaGFyYWN0ZXJEYXRhT2xkVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldENoYXJhY3RlckRhdGFPbGRWYWx1ZSk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6V2ViS2l0
TXV0YXRpb25PYnNlcnZlck9wdGlvbnMpOgorICAgICAgICAqIGRvbS9XZWJLaXRNdXRhdGlvbk9i
c2VydmVyT3B0aW9ucy5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoK
KwogMjAxMS0wOS0yNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjk2MTM5LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwCmluZGV4IDY3ZjM1NmQ2MDE0Yjc4Y2E4YWZmNjZhNDcyNGE3M2Q4N2MzMTM4
MWIuLjIxODAwYTRkYjkyNmQ4YTgyNWIwZjE0ZDY3YzFlMzhhZTAxOTM2MzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5jcHAKQEAgLTI0NCw4ICsyNDQsMTAgQEAKICNpbmNsdWRlICJKU01ldGFk
YXRhLmNwcCIKICNpbmNsdWRlICJKU01ldGFkYXRhQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpT
TW91c2VFdmVudC5jcHAiCisjaW5jbHVkZSAiSlNNdXRhdGlvbkNhbGxiYWNrLmNwcCIKICNpbmNs
dWRlICJKU011dGF0aW9uRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTTXV0YXRpb25SZWNvcmQuY3Bw
IgorI2luY2x1ZGUgIkpTTXV0YXRpb25SZWNvcmRBcnJheS5jcHAiCiAjaW5jbHVkZSAiSlNOYW1l
ZE5vZGVNYXAuY3BwIgogI2luY2x1ZGUgIkpTTmF2aWdhdG9yLmNwcCIKICNpbmNsdWRlICJKU05h
dmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCIKQEAgLTQ2NSw2ICs0NjcsOCBAQAogI2luY2x1ZGUg
IkpTV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAiCiAjaW5jbHVkZSAiSlNXZWJLaXRDU1NUcmFu
c2Zvcm1WYWx1ZS5jcHAiCiAjaW5jbHVkZSAiSlNXZWJLaXRDU1NNYXRyaXguY3BwIgorI2luY2x1
ZGUgIkpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAiCisjaW5jbHVkZSAiSlNXZWJLaXRNdXRh
dGlvbk9ic2VydmVyT3B0aW9ucy5jcHAiCiAjaW5jbHVkZSAiSlNXZWJLaXRQb2ludC5jcHAiCiAj
aW5jbHVkZSAiSlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTV2ViU29j
a2V0LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2Ug
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDcyZjQ3ZTRmZDEyYTgz
YTA2ODE5YjFiYWFiZjgxZjIwZGJlNzMxMWEuLjA3YmUwYjU5N2E3N2M0NTJiODcwMGViNWExM2Vj
OTI4YTM1MjkzZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjk3LDggKzI5
NywxMCBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBNZXRhZGF0YSBcCiAgICAgTWV0YWRhdGFDYWxs
YmFjayBcCiAgICAgTW91c2VFdmVudCBcCisgICAgTXV0YXRpb25DYWxsYmFjayBcCiAgICAgTXV0
YXRpb25FdmVudCBcCiAgICAgTXV0YXRpb25SZWNvcmQgXAorICAgIE11dGF0aW9uUmVjb3JkQXJy
YXkgXAogICAgIE5hbWVkTm9kZU1hcCBcCiAgICAgTmF2aWdhdG9yIFwKICAgICBOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvciBcCkBAIC01NTIsNiArNTU0LDggQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAg
V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUgXAogICAgIFdlYktpdEZsYWdzIFwKICAgICBXZWJLaXRM
b3NlQ29udGV4dCBcCisgICAgV2ViS2l0TXV0YXRpb25PYnNlcnZlciBcCisgICAgV2ViS2l0TXV0
YXRpb25PYnNlcnZlck9wdGlvbnMgXAogICAgIFdlYktpdFBvaW50IFwKICAgICBXZWJLaXRUcmFu
c2l0aW9uRXZlbnQgXAogICAgIFdlYlNvY2tldCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQppbmRleCA3NDM2ZWNmMDRkNmIwODQyZTViMmM3MmRjZTJkMjhkNGJmYTIzYTIzLi5lNGQ1Njgz
MmUxMDgxOGUwODI4MjdhMDljZDBlMWEwOWE5MTliZDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KQEAgLTEyMjIsMTAgKzEyMjIsMTIgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTW91
c2VSZWxhdGVkRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZl
bnQuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaCBcCiAJU291cmNl
L1dlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTXV0
YXRpb25FdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25SZWNvcmQuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25SZWNvcmQuaCBcCisJU291cmNlL1dlYkNvcmUv
ZG9tL011dGF0aW9uUmVjb3JkQXJyYXkuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9k
ZU1hcC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuaCBcCiAJU291cmNl
L1dlYkNvcmUvZG9tL05hbWVOb2RlTGlzdC5jcHAgXApAQCAtMTMzNSw2ICsxMzM3LDkgQEAgd2Vi
Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMu
aCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmggXAorCVNvdXJjZS9XZWJDb3Jl
L2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCBcCisJU291cmNlL1dlYkNvcmUvZG9tL1dl
YktpdE11dGF0aW9uT2JzZXJ2ZXIuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0
aW9uT2JzZXJ2ZXJPcHRpb25zLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRUcmFuc2l0
aW9uRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50
LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmNwcCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
aW5kZXggYmVlOThjMzMyMGU4MjM1MDkyNzgzNmZjYWExN2E0Yzk3Mjc4ZDg1Mi4uMTAyYjFlNDc5
ZjE0YTQwOTMxZmFiYzBlYWZiYzEwZWQzYjg2M2RlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTE4
NSw4ICsxMTg1LDEwIEBACiAgICAgICAgICAgICAnZG9tL01lc3NhZ2VFdmVudC5pZGwnLAogICAg
ICAgICAgICAgJ2RvbS9NZXNzYWdlUG9ydC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9Nb3VzZUV2
ZW50LmlkbCcsCisgICAgICAgICAgICAnZG9tL011dGF0aW9uQ2FsbGJhY2suaWRsJywKICAgICAg
ICAgICAgICdkb20vTXV0YXRpb25FdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9NdXRhdGlv
blJlY29yZC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9NdXRhdGlvblJlY29yZEFycmF5LmlkbCcs
CiAgICAgICAgICAgICAnZG9tL05hbWVkTm9kZU1hcC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9O
b2RlLmlkbCcsCiAgICAgICAgICAgICAnZG9tL05vZGVGaWx0ZXIuaWRsJywKQEAgLTEyMTAsNiAr
MTIxMiw4IEBACiAgICAgICAgICAgICAnZG9tL1RyZWVXYWxrZXIuaWRsJywKICAgICAgICAgICAg
ICdkb20vVUlFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRBbmltYXRpb25FdmVu
dC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmlkbCcsCisg
ICAgICAgICAgICAnZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmlkbCcsCiAgICAg
ICAgICAgICAnZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5pZGwnLAogICAgICAgICAgICAgJ2Rv
bS9XaGVlbEV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9CbG9iLmlkbCcsCkBAIC01
MjA2LDEwICs1MjEwLDEyIEBACiAgICAgICAgICAgICAnZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5j
cHAnLAogICAgICAgICAgICAgJ2RvbS9Nb3VzZUV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9t
L01vdXNlUmVsYXRlZEV2ZW50LmNwcCcsCisgICAgICAgICAgICAnZG9tL011dGF0aW9uQ2FsbGJh
Y2suaCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uRXZlbnQuY3BwJywKICAgICAgICAgICAg
ICdkb20vTXV0YXRpb25FdmVudC5oJywKICAgICAgICAgICAgICdkb20vTXV0YXRpb25SZWNvcmQu
Y3BwJywKICAgICAgICAgICAgICdkb20vTXV0YXRpb25SZWNvcmQuaCcsCisgICAgICAgICAgICAn
ZG9tL011dGF0aW9uUmVjb3JkQXJyYXkuaCcsCiAgICAgICAgICAgICAnZG9tL05hbWVOb2RlTGlz
dC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9OYW1lTm9kZUxpc3QuaCcsCiAgICAgICAgICAgICAn
ZG9tL05hbWVkTm9kZU1hcC5jcHAnLApAQCAtNTMxMCw2ICs1MzE2LDkgQEAKICAgICAgICAgICAg
ICdkb20vVmlld3BvcnRBcmd1bWVudHMuY3BwJywKICAgICAgICAgICAgICdkb20vV2ViS2l0QW5p
bWF0aW9uRXZlbnQuY3BwJywKICAgICAgICAgICAgICdkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQu
aCcsCisgICAgICAgICAgICAnZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwJywKKyAgICAg
ICAgICAgICdkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oJywKKyAgICAgICAgICAgICdkb20v
V2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCcsCiAgICAgICAgICAgICAnZG9tL1dlYktp
dFRyYW5zaXRpb25FdmVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRUcmFuc2l0aW9u
RXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL1doZWVsRXZlbnQuY3BwJywKQEAgLTc0NzQsMTAg
Kzc0ODMsMTQgQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTWV0YWRhdGFDYWxsYmFjay5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW91c2VFdmVudC5jcHAnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNb3VzZUV2ZW50LmgnLAor
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRh
dGlvbkNhbGxiYWNrLmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU011dGF0aW9uQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnPChQUk9E
VUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU011dGF0aW9uRXZlbnQuY3BwJywKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTXV0YXRp
b25FdmVudC5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTXV0YXRpb25SZWNvcmQuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTXV0YXRpb25SZWNvcmQuaCcsCisgICAgICAgICAg
ICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU011dGF0aW9uUmVjb3Jk
QXJyYXkuY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTXV0YXRpb25SZWNvcmRBcnJheS5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmFtZWROb2RlTWFwLmNwcCcsCiAgICAgICAg
ICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hbWVkTm9kZU1h
cC5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTmF2aWdhdG9yLmNwcCcsCkBAIC04MDA1LDYgKzgwMTgsMTAgQEAKICAgICAgICAgICAgICc8
KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0Q1NTVHJhbnNmb3Jt
VmFsdWUuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1dlYktpdExvc2VDb250ZXh0LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdExvc2VDb250ZXh0LmgnLAorICAgICAg
ICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRNdXRh
dGlvbk9ic2VydmVyLmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCcsCisgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXJPcHRpb25zLmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmgnLAogICAgICAg
ICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRQb2lu
dC5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNXZWJLaXRQb2ludC5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCcsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJv
CmluZGV4IDc5YWU0MDMwNDQwYjBlMzEwODVjZDBhMzc1NTA4OGRmZTkwYWY0MjkuLjI5NjUwMDEy
ZTI5ZDJjNDJlMjhiYjdhNmI3NmIyZTVlNDQxODM2ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC01NjQs
NiArNTY0LDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNh
dG9yLmNwcCBcCiAgICAgZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCBcCiAgICAgZG9tL1dlYktp
dEFuaW1hdGlvbkV2ZW50LmNwcCBcCisgICAgZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3Bw
IFwKICAgICBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBcCiAgICAgZG9tL1doZWVsRXZl
bnQuY3BwIFwKICAgICBkb20vV2luZG93RXZlbnRDb250ZXh0LmNwcCBcCkBAIC0xNTI1LDggKzE1
MjYsMTAgQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL01lc3NhZ2VQb3J0LmggXAogICAgIGRvbS9N
b3VzZUV2ZW50LmggXAogICAgIGRvbS9Nb3VzZVJlbGF0ZWRFdmVudC5oIFwKKyAgICBkb20vTXV0
YXRpb25DYWxsYmFjay5oIFwKICAgICBkb20vTXV0YXRpb25FdmVudC5oIFwKICAgICBkb20vTXV0
YXRpb25SZWNvcmQuaCBcCisgICAgZG9tL011dGF0aW9uUmVjb3JkQXJyYXkuaCBcCiAgICAgZG9t
L05hbWVkTm9kZU1hcC5oIFwKICAgICBkb20vTmFtZU5vZGVMaXN0LmggXAogICAgIGRvbS9Ob2Rl
RmlsdGVyQ29uZGl0aW9uLmggXApAQCAtMTU3Niw2ICsxNTc5LDggQEAgSEVBREVSUyArPSBcCiAg
ICAgZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmggXAogICAgIGRvbS9WaWV3cG9ydEFyZ3VtZW50
cy5oIFwKICAgICBkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCBcCisgICAgZG9tL1dlYktpdE11
dGF0aW9uT2JzZXJ2ZXIuaCBcCisgICAgZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25z
LmggXAogICAgIGRvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBcCiAgICAgZG9tL1doZWVsRXZl
bnQuaCBcCiAgICAgZWRpdGluZy9BcHBlbmROb2RlQ29tbWFuZC5oIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggYTExYjQ3ZTc2ODMzNzVkMTc3
ZTYyYTI5ZGJhMGI4YjBhMjdjZmRlOC4uNjU1MDIxNzBjNGQxYjU2ZGI5OTg1NGQxODQwYWViY2Vl
NmFjYTIzNiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKQEAgLTExNTk4LDYgKzExNTk4LDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNdXRhdGlvbkNhbGxiYWNrLmNwcCIKKwkJCQk+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIi
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIi
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0
aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU011dGF0aW9u
Q2FsbGJhY2suaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0
aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU011dGF0aW9uRXZlbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
QEAgLTExNzEwLDYgKzExNzY2LDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJ
CQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNNdXRhdGlvblJlY29yZEFycmF5LmNwcCIKKwkJCQk+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIi
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIi
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0
aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU011dGF0aW9u
UmVjb3JkQXJyYXkuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU05hbWVkTm9kZU1hcC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgpAQCAtMjI5NjYsNiArMjMwNzgsMTE4IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCIKKwkJCQk+
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRl
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25m
aWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1dl
YktpdE11dGF0aW9uT2JzZXJ2ZXIuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmNwcCIKKwkJ
CQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIi
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZM
aXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19B
bGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rp
b258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNXZWJLaXRQb2ludC5jcHAiCiAJCQkJPgogCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQ4NmVmY2Y2YjhiMWRjYmI2MWY5YmQ3OTEyZDExNDM5
MmMwMmVlM2MuLmQ2ZjIzY2QzNWQwN2Q4YTE3MmJkYzllMDdjYWQ5YTM1OWE0ZDc0YzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTU0NDcsNiArNTQ0NywxOSBAQAogCQlDNkYwOEZCRDE0MzBGRThGMDA2ODU4NDkgLyogTXV0YXRp
b25SZWNvcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEM2RjA4RkJBMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5oICovOyB9OwogCQlD
NkYwOEZDOTE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlvblJlY29yZC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOEZDNzE0MzEwMDBEMDA2
ODU4NDkgLyogSlNNdXRhdGlvblJlY29yZC5jcHAgKi87IH07CiAJCUM2RjA4RkNBMTQzMTAwMEQw
MDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOEZDODE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlv
blJlY29yZC5oICovOyB9OworCQlDNkYwOTAwQTE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25D
YWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzZGMDkwMDExNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uQ2FsbGJhY2suaCAqLzsgfTsKKwkJ
QzZGMDkwMEMxNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uUmVjb3JkQXJyYXkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDAzMTQzMjdCNjEw
MDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZEFycmF5LmggKi87IH07CisJCUM2RjA5MDBFMTQzMjdC
NjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDA1MTQzMjdCNjEwMDY4NTg0OSAv
KiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCAqLzsgfTsKKwkJQzZGMDkwMEYxNDMyN0I2MTAw
Njg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDA2MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJL
aXRNdXRhdGlvbk9ic2VydmVyLmggKi87IH07CisJCUM2RjA5MDExMTQzMjdCNjEwMDY4NTg0OSAv
KiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkwMDgxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggKi87IH07CisJCUM2RjA5MDI4MTQzMjdENEYwMDY4
NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkwMjAxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRp
b25DYWxsYmFjay5jcHAgKi87IH07CisJCUM2RjA5MDI5MTQzMjdENEYwMDY4NTg0OSAvKiBKU011
dGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEM2RjA5MDIxMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suaCAq
LzsgfTsKKwkJQzZGMDkwMkExNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmRBcnJh
eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYw
OTAyMjE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvblJlY29yZEFycmF5LmNwcCAqLzsgfTsK
KwkJQzZGMDkwMkIxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmRBcnJheS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkwMjMxNDMy
N0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmRBcnJheS5oICovOyB9OworCQlDNkYwOTAy
QzE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDI0MTQzMjdENEYw
MDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwICovOyB9OworCQlDNkYwOTAy
RDE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAyNTE0MzI3RDRGMDA2
ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggKi87IH07CisJCUM2RjA5MDJFMTQz
MjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDI2MTQzMjdE
NEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmNwcCAqLzsgfTsK
KwkJQzZGMDkwMkYxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlck9w
dGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2
RjA5MDI3MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25z
LmggKi87IH07CiAJCUM2RjQxMDQ3MTMwQzZFODkwMDM5M0RFNCAvKiBFbnRyeUJhc2UuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGNDEwNDYxMzBD
NkU4OTAwMzkzREU0IC8qIEVudHJ5QmFzZS5jcHAgKi87IH07CiAJCUNBM0JGNjdDMTBEOTlCQUUw
MEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDQTNCRjY3QjEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5p
bWF0b3IuY3BwICovOyB9OwogCQlDQTNCRjY3RTEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5p
bWF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENB
M0JGNjdEMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5oICovOyB9OwpAQCAtMTIy
MjcsNiArMTIyNDAsMjMgQEAKIAkJQzZGMDhGQkIxNDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9u
UmVjb3JkLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNdXRhdGlvblJlY29yZC5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM2RjA4RkM3MTQzMTAwMEQwMDY4NTg0OSAvKiBK
U011dGF0aW9uUmVjb3JkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTTXV0YXRpb25SZWNvcmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNkYw
OEZDODE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlvblJlY29yZC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU011dGF0aW9uUmVjb3JkLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUM2RjA5MDAxMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNr
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE11dGF0aW9uQ2FsbGJhY2suaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkwMDIxNDMyN0I2MTAwNjg1ODQ5IC8q
IE11dGF0aW9uQ2FsbGJhY2suaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE11dGF0aW9uQ2Fs
bGJhY2suaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAwMzE0MzI3QjYx
MDA2ODU4NDkgLyogTXV0YXRpb25SZWNvcmRBcnJheS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBNdXRhdGlvblJlY29yZEFycmF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUM2RjA5MDA0MTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZEFycmF5Lmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNdXRhdGlvblJlY29yZEFycmF5LmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkwMDUxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUM2RjA5MDA2MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkwMDcxNDMyN0I2MTAwNjg1ODQ5
IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdl
YktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlD
NkYwOTAwODE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0TXV0YXRpb25PYnNlcnZl
ck9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkwMDkxNDMyN0I2
MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDIwMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0
aW9uQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNN
dXRhdGlvbkNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkw
MjExNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFjay5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU011dGF0aW9uQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQzZGMDkwMjIxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNv
cmRBcnJheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU011dGF0
aW9uUmVjb3JkQXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAy
MzE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvblJlY29yZEFycmF5LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTXV0YXRpb25SZWNvcmRBcnJheS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAyNDE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRN
dXRhdGlvbk9ic2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUM2RjA5MDI1MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDI2MTQzMjdENEYwMDY4
NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAyNzE0MzI3RDRGMDA2ODU4
NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM2RjQxMDQ2MTMwQzZFODkwMDM5M0RFNCAvKiBFbnRy
eUJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRW50cnlCYXNl
LmNwcDsgcGF0aCA9IGZpbGVhcGkvRW50cnlCYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8q
IFNjcm9sbEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9s
bEFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzQ0Niw4ICsxNzQ3
NiwxMiBAQAogCQkJCTQ5QzlGNDhCMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJh
Y2suaCAqLywKIAkJCQk0OUM5RjQ4QzEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRy
YWNrTGlzdC5jcHAgKi8sCiAJCQkJNDlDOUY0OEQxM0Q1N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFT
dHJlYW1UcmFja0xpc3QuaCAqLywKKwkJCQlDNkYwOTAyMDE0MzI3RDRGMDA2ODU4NDkgLyogSlNN
dXRhdGlvbkNhbGxiYWNrLmNwcCAqLywKKwkJCQlDNkYwOTAyMTE0MzI3RDRGMDA2ODU4NDkgLyog
SlNNdXRhdGlvbkNhbGxiYWNrLmggKi8sCiAJCQkJQzZGMDhGQzcxNDMxMDAwRDAwNjg1ODQ5IC8q
IEpTTXV0YXRpb25SZWNvcmQuY3BwICovLAogCQkJCUM2RjA4RkM4MTQzMTAwMEQwMDY4NTg0OSAv
KiBKU011dGF0aW9uUmVjb3JkLmggKi8sCisJCQkJQzZGMDkwMjIxNDMyN0Q0RjAwNjg1ODQ5IC8q
IEpTTXV0YXRpb25SZWNvcmRBcnJheS5jcHAgKi8sCisJCQkJQzZGMDkwMjMxNDMyN0Q0RjAwNjg1
ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmRBcnJheS5oICovLAogCQkJCUJDRDlDMkJDMEMxN0I2OUUw
MDVDOTBBMiAvKiBKU05hbWVkTm9kZU1hcC5jcHAgKi8sCiAJCQkJQkNEOUMyQkQwQzE3QjY5RTAw
NUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwLmggKi8sCiAJCQkJMTREQzBEMzUwOUZFRDA3MzAwN0Iw
MjM1IC8qIEpTTm9kZS5jcHAgKi8sCkBAIC0xNzQ4MCw2ICsxNzUxNCwxMCBAQAogCQkJCTc1NDE1
RDU0MTI5QUIyRDIwMDNBRDY2OSAvKiBKU1NwZWVjaElucHV0UmVzdWx0TGlzdC5oICovLAogCQkJ
CTY1REYzMUVGMDlEMUNDNjAwMDBCRTMyNSAvKiBKU1RleHQuY3BwICovLAogCQkJCTY1REYzMUYw
MDlEMUNDNjAwMDBCRTMyNSAvKiBKU1RleHQuaCAqLywKKwkJCQlDNkYwOTAyNDE0MzI3RDRGMDA2
ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCAqLywKKwkJCQlDNkYwOTAyNTE0
MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggKi8sCisJCQkJQzZG
MDkwMjYxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMu
Y3BwICovLAorCQkJCUM2RjA5MDI3MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9u
T2JzZXJ2ZXJPcHRpb25zLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IENvcmU7CiAJCQlzb3VyY2VU
cmVlID0gIjxncm91cD4iOwpAQCAtMjAwNTQsMTIgKzIwMDkyLDE2IEBACiAJCQkJMTQxQjk0RTUw
OUVDNDIyMzAwMEU5NDEzIC8qIE1vdXNlRXZlbnQuaWRsICovLAogCQkJCTg1MDMxQjMxMEE0NEVG
QzcwMEY5OTJFMCAvKiBNb3VzZVJlbGF0ZWRFdmVudC5jcHAgKi8sCiAJCQkJODUwMzFCMzIwQTQ0
RUZDNzAwRjk5MkUwIC8qIE1vdXNlUmVsYXRlZEV2ZW50LmggKi8sCisJCQkJQzZGMDkwMDExNDMy
N0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uQ2FsbGJhY2suaCAqLywKKwkJCQlDNkYwOTAwMjE0MzI3
QjYxMDA2ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5pZGwgKi8sCiAJCQkJODUwMzFCMzMwQTQ0
RUZDNzAwRjk5MkUwIC8qIE11dGF0aW9uRXZlbnQuY3BwICovLAogCQkJCTg1MDMxQjM0MEE0NEVG
QzcwMEY5OTJFMCAvKiBNdXRhdGlvbkV2ZW50LmggKi8sCiAJCQkJOTNFRUMxRjMwOUMyODc3NzAw
QzUxNUQxIC8qIE11dGF0aW9uRXZlbnQuaWRsICovLAogCQkJCUM2RjA4RkI5MTQzMEZFOEYwMDY4
NTg0OSAvKiBNdXRhdGlvblJlY29yZC5jcHAgKi8sCiAJCQkJQzZGMDhGQkExNDMwRkU4RjAwNjg1
ODQ5IC8qIE11dGF0aW9uUmVjb3JkLmggKi8sCiAJCQkJQzZGMDhGQkIxNDMwRkU4RjAwNjg1ODQ5
IC8qIE11dGF0aW9uUmVjb3JkLmlkbCAqLywKKwkJCQlDNkYwOTAwMzE0MzI3QjYxMDA2ODU4NDkg
LyogTXV0YXRpb25SZWNvcmRBcnJheS5oICovLAorCQkJCUM2RjA5MDA0MTQzMjdCNjEwMDY4NTg0
OSAvKiBNdXRhdGlvblJlY29yZEFycmF5LmlkbCAqLywKIAkJCQlCQ0YzNEEzNjExQTIzMUNEMDBD
NzE4MDQgLyogTmFtZWROb2RlTWFwLmNwcCAqLywKIAkJCQlBODE4NzIxODA5NzdEM0MwMDA1ODI2
RDkgLyogTmFtZWROb2RlTWFwLmggKi8sCiAJCQkJODVBQ0E5RjkwQTlCNjMxMDAwNjcxRTkwIC8q
IE5hbWVkTm9kZU1hcC5pZGwgKi8sCkBAIC0yMDE5NSw2ICsyMDIzNywxMSBAQAogCQkJCTMxQzBG
RjFCMEU0Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRBbmltYXRpb25FdmVudC5jcHAgKi8sCiAJCQkJ
MzFDMEZGMUMwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdEFuaW1hdGlvbkV2ZW50LmggKi8sCiAJ
CQkJMzFDMEZGMUQwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdEFuaW1hdGlvbkV2ZW50LmlkbCAq
LywKKwkJCQlDNkYwOTAwNTE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZl
ci5jcHAgKi8sCisJCQkJQzZGMDkwMDYxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXIuaCAqLywKKwkJCQlDNkYwOTAwNzE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5pZGwgKi8sCisJCQkJQzZGMDkwMDgxNDMyN0I2MTAwNjg1ODQ5IC8qIFdl
YktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggKi8sCisJCQkJQzZGMDkwMDkxNDMyN0I2MTAw
Njg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmlkbCAqLywKIAkJCQkzMUMw
RkYxRTBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCAqLywKIAkJ
CQkzMUMwRkYxRjBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggKi8s
CiAJCQkJMzFDMEZGMjAwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdFRyYW5zaXRpb25FdmVudC5p
ZGwgKi8sCkBAIC0yMjE4Myw4ICsyMjIzMCwxMCBAQAogCQkJCTg5ODc4NUI3MTIyQ0EyQTcwMDNB
QUJEQSAvKiBKU01ldGFkYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk4OTg3ODVCOTEyMkNBMkE3
MDAzQUFCREEgLyogSlNNZXRhZGF0YUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODY2
MjlEMTA5REEyQjQ4MDA5NjMzQTUgLyogSlNNb3VzZUV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlDNkYwOTAyOTE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2NURGMzFGQzA5RDFDQzYwMDAwQkUzMjUgLyogSlNNdXRhdGlvbkV2ZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDNkYwOEZDQTE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRh
dGlvblJlY29yZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzZGMDkwMkIxNDMyN0Q0RjAwNjg1ODQ5
IC8qIEpTTXV0YXRpb25SZWNvcmRBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNEOUMyQzEw
QzE3QjY5RTAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
OUQyNDdGODBENzU3RTM0MDBGREY5NTkgLyogSlNOYXZpZ2F0b3IuaCBpbiBIZWFkZXJzICovLAog
CQkJCUIxRTU0NUUwMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmggaW4gSGVhZGVycyAqLywKQEAgLTIyNDIzLDYgKzIyNDcyLDggQEAKIAkJCQkzMTYxMUU1QjBF
MUM0REUwMDBGNkE1NzkgLyogSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJODk4Nzg1QjUxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2ViS2l0RmxhZ3MuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTkzRjFENUMxMTJENTMzNTYwMDgzMkJFQyAvKiBKU1dlYktpdExvc2VD
b250ZXh0LmggaW4gSGVhZGVycyAqLywKKwkJCQlDNkYwOTAyRDE0MzI3RDRGMDA2ODU4NDkgLyog
SlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDNkYwOTAyRjE0
MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDk0QkQ3OUUwRjU1Qzk0QzAwNzQ3ODI4IC8qIEpTV2ViS2l0UG9pbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTMxQzBGRjQwMEU0Q0VGQUMwMDdENkZFNSAvKiBKU1dlYktp
dFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNURBNUUwRkQxMDJCOTUzODAw
MDg4Q0Y5IC8qIEpTV2ViU29ja2V0LmggaW4gSGVhZGVycyAqLywKQEAgLTIyNTU2LDggKzIyNjA3
LDEwIEBACiAJCQkJODUwMzFCNDgwQTQ0RUZDNzAwRjk5MkUwIC8qIE1vdXNlUmVsYXRlZEV2ZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURGQzA5OUU2NDkyMDA1NkU1ODEgLyogTW92ZVNl
bGVjdGlvbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIxQUQ0RTYzMTNBMTJBMEIwMDg0
NkIyNyAvKiBNdXRhYmxlVGV4dFRyYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlDNkYwOTAwQTE0
MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
ODUwMzFCNEEwQTQ0RUZDNzAwRjk5MkUwIC8qIE11dGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUM2RjA4RkJEMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQzZGMDkwMEMxNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uUmVjb3Jk
QXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTg3MjIzMDk3N0QzQzAwMDU4MjZEOSAvKiBO
YW1lZE5vZGVNYXAuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTg3MjFFMDk3N0QzQzAwMDU4MjZE
OSAvKiBOYW1lTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMEI5QjZDMEI3NDc1OTkw
MDNFRDg5MCAvKiBOYXRpdmVYUGF0aE5TUmVzb2x2ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjM0
MjQsNiArMjM0NzcsOCBAQAogCQkJCUJDOUFERDIzMENDNDAzMjYwMDA5OEM0QyAvKiBXZWJLaXRD
U1NUcmFuc2Zvcm1WYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODk4Nzg1NjYxMjJDQTA2NDAw
M0FBQkRBIC8qIFdlYktpdEZsYWdzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxRDVCQjEyRDUz
MkM0MDA4MzJCRUMgLyogV2ViS2l0TG9zZUNvbnRleHQuaCBpbiBIZWFkZXJzICovLAorCQkJCUM2
RjA5MDBGMTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlDNkYwOTAxMTE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25P
YnNlcnZlck9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5NEJENzk1MEY1NUM4RUUwMDc0
NzgyOCAvKiBXZWJLaXRQb2ludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFDMEZGMjUwRTRDRUI2
RTAwN0Q2RkU1IC8qIFdlYktpdFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEZDRjMzMkYwRjJCOUEyNTAwNEI2Nzk1IC8qIFdlYkxheWVyLmggaW4gSGVhZGVycyAqLywKQEAg
LTI1MjA3LDggKzI1MjYyLDEwIEBACiAJCQkJODk4Nzg1QjYxMjJDQTJBNzAwM0FBQkRBIC8qIEpT
TWV0YWRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODk4Nzg1QjgxMjJDQTJBNzAwM0FBQkRB
IC8qIEpTTWV0YWRhdGFDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODY2MjlEMjA5
REEyQjQ4MDA5NjMzQTUgLyogSlNNb3VzZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUM2
RjA5MDI4MTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNjVERjMxRkIwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTTXV0YXRpb25FdmVudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlDNkYwOEZDOTE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRh
dGlvblJlY29yZC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNkYwOTAyQTE0MzI3RDRGMDA2ODU4
NDkgLyogSlNNdXRhdGlvblJlY29yZEFycmF5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRDlD
MkMwMEMxN0I2OUUwMDVDOTBBMiAvKiBKU05hbWVkTm9kZU1hcC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQ0Q5QzI2MzBDMTdBQTY3MDA1QzkwQTIgLyogSlNOYW1lZE5vZGVNYXBDdXN0b20uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTlEMjQ3RjcwRDc1N0UzNDAwRkRGOTU5IC8qIEpTTmF2aWdh
dG9yLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjU0NzksNiArMjU1MzYsOCBAQAogCQkJCTMxNjEx
RTVBMEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTg5ODc4NUI0MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU1dlYktpdEZsYWdz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzRjFENUMwMTJENTMzNTYwMDgzMkJFQyAvKiBKU1dl
YktpdExvc2VDb250ZXh0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUM2RjA5MDJDMTQzMjdENEYw
MDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQzZGMDkwMkUxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlck9w
dGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk0QkQ3OUQwRjU1Qzk0QzAwNzQ3ODI4IC8q
IEpTV2ViS2l0UG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMyNzVCNzkxMUM1RDFDMzAw
QzkyMDZDIC8qIEpTV2ViS2l0UG9pbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFD
MEZGM0YwRTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBpbiBT
b3VyY2VzICovLApAQCAtMjYyODEsNiArMjYzNDAsNyBAQAogCQkJCTQ5ODM5MTU4MEYxRTc3Njkw
MEMyMzc4MiAvKiBXZWJLaXRDU1NNYXRyaXguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM5QURE
ODAwQ0M0MDkyMjAwMDk4QzRDIC8qIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTkzRjFENUJBMTJENTMyQzQwMDgzMkJFQyAvKiBXZWJLaXRMb3NlQ29udGV4
dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNkYwOTAwRTE0MzI3QjYxMDA2ODU4NDkgLyogV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUMwRkYyNDBFNENF
QjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTBGQ0YzMzJFMEYyQjlBMjUwMDRCNjc5NSAvKiBXZWJMYXllci5tbSBpbiBTb3VyY2VzICov
LAogCQkJCUUxQTMxNjJFMTM0QkMzMkQwMDdDOUE0RiAvKiBXZWJOU0F0dHJpYnV0ZWRTdHJpbmdF
eHRyYXMubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9N
dXRhdGlvbkNhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFjay5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjFhZmI5YWY2NzMwMGY0YzI1YjBiNGU2Mzg0MjMwMDljNzg1ZTgzMjAKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFjay5oCkBA
IC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIE11dGF0aW9uQ2FsbGJhY2tfaAorI2RlZmluZSBNdXRhdGlv
bkNhbGxiYWNrX2gKKworI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE11dGF0
aW9uUmVjb3JkQXJyYXk7CitjbGFzcyBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOworCitjbGFzcyBN
dXRhdGlvbkNhbGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8TXV0YXRpb25DYWxsYmFjaz4gewor
cHVibGljOgorICAgIHZpcnR1YWwgfk11dGF0aW9uQ2FsbGJhY2soKSB7IH0KKworICAgIHZpcnR1
YWwgYm9vbCBoYW5kbGVFdmVudChNdXRhdGlvblJlY29yZEFycmF5KiwgV2ViS2l0TXV0YXRpb25P
YnNlcnZlciopID0gMDsKK307CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9PQlNF
UlZFUlMpCisKKyNlbmRpZiAvLyBNdXRhdGlvbkNhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9N
dXRhdGlvbkNhbGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDQzMTE0ZjE0NjVjMjZiM2ZkZGM0NDQw
ODZkNzkxOWFlYjI1YTk0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL011
dGF0aW9uQ2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgY29yZSB7CisgICAgaW50
ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TVVUQVRJT05fT0JTRVJWRVJTLAorICAgICAg
ICBDYWxsYmFjaworICAgIF0gTXV0YXRpb25DYWxsYmFjayB7CisgICAgICAgIGJvb2xlYW4gaGFu
ZGxlRXZlbnQoaW4gTXV0YXRpb25SZWNvcmRBcnJheSBtdXRhdGlvbnMsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW4gV2ViS2l0TXV0YXRpb25PYnNlcnZlciBvYnNlcnZlcik7CisgICAg
fTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvblJlY29yZEFycmF5
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25SZWNvcmRBcnJheS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmNkZTE0OGM3MzkyOTI4NTFhYjI4NzhmNzRiN2U0NzMwNWZhZjUzZDYKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25SZWNvcmRBcnJheS5oCkBAIC0wLDAgKzEs
NzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIE11dGF0aW9uUmVjb3JkQXJyYXlfaAorI2RlZmluZSBNdXRhdGlvblJlY29y
ZEFycmF5X2gKKworI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNpbmNsdWRlICJN
dXRhdGlvblJlY29yZC5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE11dGF0aW9uUmVjb3Jk
QXJyYXkgOiBwdWJsaWMgUmVmQ291bnRlZDxNdXRhdGlvblJlY29yZEFycmF5PiB7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TXV0YXRpb25SZWNvcmRBcnJheT4gYWRvcHQoVmVjdG9y
PFJlZlB0cjxNdXRhdGlvblJlY29yZD4gPiYgcmVjb3JkcykKKyAgICB7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgTXV0YXRpb25SZWNvcmRBcnJheShyZWNvcmRzKSk7CisgICAgfQorCisg
ICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9yZWNvcmRzLnNpemUoKTsgfQor
ICAgIE11dGF0aW9uUmVjb3JkKiBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdAorICAgIHsKKyAg
ICAgICAgaWYgKGluZGV4ID49IG1fcmVjb3Jkcy5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgcmV0dXJuIG1fcmVjb3Jkc1tpbmRleF0uZ2V0KCk7CisgICAgfQorCitwcml2
YXRlOgorICAgIGV4cGxpY2l0IE11dGF0aW9uUmVjb3JkQXJyYXkoVmVjdG9yPFJlZlB0cjxNdXRh
dGlvblJlY29yZD4gPiYgcmVjb3JkcykKKyAgICB7CisgICAgICAgIG1fcmVjb3Jkcy5zd2FwKHJl
Y29yZHMpOworICAgIH0KKworICAgIFZlY3RvcjxSZWZQdHI8TXV0YXRpb25SZWNvcmQ+ID4gbV9y
ZWNvcmRzOworfTsKKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElP
Tl9PQlNFUlZFUlMpCisKKyNlbmRpZiAvLyBNdXRhdGlvblJlY29yZEFycmF5X2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvblJlY29yZEFycmF5LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9NdXRhdGlvblJlY29yZEFycmF5LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMWZmMDkzMTdk
ZDc4ZTI2NTVlMTljMTJmOGRmYmY5ZmRiYmQyNjc3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL011dGF0aW9uUmVjb3JkQXJyYXkuaWRsCkBAIC0wLDAgKzEsMzkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1
bGUgY29yZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TVVUQVRJT05f
T0JTRVJWRVJTLAorICAgICAgICBIYXNJbmRleEdldHRlcgorICAgIF0gTXV0YXRpb25SZWNvcmRB
cnJheSB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsK
KyAgICAgICAgTXV0YXRpb25SZWNvcmQgaXRlbShpbiBbSXNJbmRleF0gdW5zaWduZWQgbG9uZyBp
bmRleCk7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRN
dXRhdGlvbk9ic2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMGI3ODU5MTVlMTk5MzYxNDQzYWE4MzE5MWU0YTgyYjAx
MzQwNTFjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0
aW9uT2JzZXJ2ZXIuY3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNp
ZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSAiV2ViS2l0TXV0YXRpb25P
YnNlcnZlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dlYktpdE11dGF0aW9uT2JzZXJ2
ZXI6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXIoKQoreworfQorCit2b2lkIFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXI6Om9ic2VydmUoTm9kZSosIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKikK
K3sKKyAgICAvLyBGSVhNRTogaW1wbGVtZW50Cit9CisKK3ZvaWQgV2ViS2l0TXV0YXRpb25PYnNl
cnZlcjo6ZGlzY29ubmVjdCgpCit7CisgICAgLy8gRklYTUU6IGltcGxlbWVudAorfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJT
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMGZiOWE2MWUzNDdmY2Q1NmMxYWNhOWNhZTA3ZjJkNzdkYWQzZWNkOAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgKQEAgLTAs
MCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgV2ViS2l0TXV0YXRpb25PYnNlcnZlcl9oCisjZGVmaW5lIFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXJfaAorCisjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKwor
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
Tm9kZTsKK2NsYXNzIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOworCitjbGFzcyBXZWJL
aXRNdXRhdGlvbk9ic2VydmVyIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViS2l0TXV0YXRpb25PYnNl
cnZlcj4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXI+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXIpOworICAgIH0KKworICAgIHZvaWQgb2JzZXJ2ZShOb2RlKiwgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMqKTsKKyAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKKwor
cHJpdmF0ZToKKyAgICBXZWJLaXRNdXRhdGlvbk9ic2VydmVyKCk7Cit9OworCit9CisKKyNlbmRp
ZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjZW5kaWYgLy8gV2ViS2l0TXV0YXRp
b25PYnNlcnZlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRp
b25PYnNlcnZlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZl
ci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjZlY2M0YjUxYmY0MTI4NTc3OWZiYWU3NzAzNTU3ZjY5YzZiZmEy
ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmlkbApAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIGNvcmUgeworICAgIGludGVyZmFjZSBb
CisgICAgICAgIENvbmRpdGlvbmFsPU1VVEFUSU9OX09CU0VSVkVSUywKKyAgICAgICAgQ2FuQmVD
b25zdHJ1Y3RlZAorICAgIF0gV2ViS2l0TXV0YXRpb25PYnNlcnZlciB7CisgICAgICAgIC8vIEZJ
WE1FOiBOZWVkcyB0byBiZSBbQ3VzdG9tXSBzbyBpdCBjYW4gdGFrZSBhbnkgb2JqZWN0IGFzIHRo
ZSBzZWNvbmQgYXJndW1lbnQuCisgICAgICAgIHZvaWQgb2JzZXJ2ZShpbiBOb2RlIHRhcmdldCwK
KyAgICAgICAgICAgICAgICAgICAgIGluIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zIG9w
dGlvbnMpOworICAgICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKKyAgICB9OworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hNmRhYjMxNWY2ZTYyOGMyOWViYTAyNDI3YTZlYTQ1OGUzZWY0NzAzCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25z
LmgKQEAgLTAsMCArMSw5MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnNf
aAorI2RlZmluZSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9uc19oCisKKyNpZiBFTkFCTEUo
TVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdl
YktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViS2l0TXV0
YXRpb25PYnNlcnZlck9wdGlvbnM+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucz4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMpOworICAgIH0K
KworICAgIGJvb2wgY2hpbGRMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9jaGlsZExpc3Q7IH0KKyAg
ICB2b2lkIHNldENoaWxkTGlzdChib29sIHZhbHVlKSB7IG1fY2hpbGRMaXN0ID0gdmFsdWU7IH0K
KworICAgIGJvb2wgYXR0cmlidXRlcygpIGNvbnN0IHsgcmV0dXJuIG1fYXR0cmlidXRlczsgfQor
ICAgIHZvaWQgc2V0QXR0cmlidXRlcyhib29sIHZhbHVlKSB7IG1fYXR0cmlidXRlcyA9IHZhbHVl
OyB9CisKKyAgICBib29sIGNoYXJhY3RlckRhdGEoKSBjb25zdCB7IHJldHVybiBtX2NoYXJhY3Rl
ckRhdGE7IH0KKyAgICB2b2lkIHNldENoYXJhY3RlckRhdGEoYm9vbCB2YWx1ZSkgeyBtX2NoYXJh
Y3RlckRhdGEgPSB2YWx1ZTsgfQorCisgICAgYm9vbCBzdWJ0cmVlKCkgY29uc3QgeyByZXR1cm4g
bV9zdWJ0cmVlOyB9CisgICAgdm9pZCBzZXRTdWJ0cmVlKGJvb2wgdmFsdWUpIHsgbV9zdWJ0cmVl
ID0gdmFsdWU7IH0KKworICAgIGJvb2wgYXR0cmlidXRlT2xkVmFsdWUoKSBjb25zdCB7IHJldHVy
biBtX2F0dHJpYnV0ZU9sZFZhbHVlOyB9CisgICAgdm9pZCBzZXRBdHRyaWJ1dGVPbGRWYWx1ZShi
b29sIHZhbHVlKSB7IG1fYXR0cmlidXRlT2xkVmFsdWUgPSB2YWx1ZTsgfQorCisgICAgYm9vbCBj
aGFyYWN0ZXJEYXRhT2xkVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2F0dHJpYnV0ZU9sZFZhbHVl
OyB9CisgICAgdm9pZCBzZXRDaGFyYWN0ZXJEYXRhT2xkVmFsdWUoYm9vbCB2YWx1ZSkgeyBtX2No
YXJhY3RlckRhdGFPbGRWYWx1ZSA9IHZhbHVlOyB9CisKKyAgICAvLyBGSVhNRTogRmlndXJlIG91
dCBob3cgdG8gbW9kZWwgdGhpcyBiYXNlZCBvbiB0aGUgSURMLgorICAgIC8vIERPTVN0cmluZ1td
IGF0dHJpYnV0ZUZpbHRlcjsKKworcHJpdmF0ZToKKyAgICBXZWJLaXRNdXRhdGlvbk9ic2VydmVy
T3B0aW9ucygpCisgICAgICAgIDogbV9jaGlsZExpc3QoZmFsc2UpCisgICAgICAgICwgbV9hdHRy
aWJ1dGVzKGZhbHNlKQorICAgICAgICAsIG1fY2hhcmFjdGVyRGF0YShmYWxzZSkKKyAgICAgICAg
LCBtX3N1YnRyZWUoZmFsc2UpCisgICAgICAgICwgbV9hdHRyaWJ1dGVPbGRWYWx1ZShmYWxzZSkK
KyAgICAgICAgLCBtX2NoYXJhY3RlckRhdGFPbGRWYWx1ZShmYWxzZSkKKyAgICB7CisgICAgfQor
CisgICAgYm9vbCBtX2NoaWxkTGlzdDsKKyAgICBib29sIG1fYXR0cmlidXRlczsKKyAgICBib29s
IG1fY2hhcmFjdGVyRGF0YTsKKyAgICBib29sIG1fc3VidHJlZTsKKyAgICBib29sIG1fYXR0cmli
dXRlT2xkVmFsdWU7CisgICAgYm9vbCBtX2NoYXJhY3RlckRhdGFPbGRWYWx1ZTsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9PQlNFUlZF
UlMpCisKKyNlbmRpZiAvLyBXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9uc19oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaWRs
IGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zYWUzYzQwMmZlOTViMzc4MTViMzNiMjI3Zjk5MjU1YTYxY2JiNzI4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJP
cHRpb25zLmlkbApAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIGNvcmUgeworICAgIGludGVyZmFjZSBb
CisgICAgICAgIENvbmRpdGlvbmFsPU1VVEFUSU9OX09CU0VSVkVSUywKKyAgICAgICAgQ2FuQmVD
b25zdHJ1Y3RlZAorICAgIF0gV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMgeworICAgICAg
ICBhdHRyaWJ1dGUgYm9vbGVhbiBjaGlsZExpc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBib29sZWFu
IGF0dHJpYnV0ZXM7CisgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIGNoYXJhY3RlckRhdGE7CisK
KyAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gc3VidHJlZTsKKworICAgICAgICBhdHRyaWJ1dGUg
Ym9vbGVhbiBhdHRyaWJ1dGVPbGRWYWx1ZTsKKyAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gY2hh
cmFjdGVyRGF0YU9sZFZhbHVlOworCisgICAgICAgIC8vIEZJWE1FOiBGaWd1cmUgb3V0IGhvdyB0
byBtb2RlbCB0aGlzIGFzIHNldHRhYmxlIGluIHRoZSBJREwuCisgICAgICAgIC8vIGF0dHJpYnV0
ZSBET01TdHJpbmdMaXN0IGF0dHJpYnV0ZUZpbHRlcjsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaWRsCmluZGV4IGMyYmVlNDYxMDRiMDk1NjQxMjJkMzI3NGQzMzJhMWEzZDM0YmE2
NDcuLjBmMDFjMDVmODM0ZmMwOTc0MTI1ZGU2M2JlN2NkZGJiMjk3OTllODAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwKQEAgLTgwNSw2ICs4MDUsOSBAQCBtb2R1bGUgd2luZG93IHsKICAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtFbmFibGVkQXRSdW50aW1lPVF1b3RhXSBTdG9yYWdl
SW5mbyB3ZWJraXRTdG9yYWdlSW5mbzsKICNlbmRpZgogCisgICAgICAgIGF0dHJpYnV0ZSBbQ29u
ZGl0aW9uYWw9TVVUQVRJT05fT0JTRVJWRVJTXSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ29uc3Ry
dWN0b3IgV2ViS2l0TXV0YXRpb25PYnNlcnZlcjsKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRp
b25hbD1NVVRBVElPTl9PQlNFUlZFUlNdIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zQ29u
c3RydWN0b3IgV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnM7CisKICNlbmRpZiAvLyBkZWZp
bmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpCiAKICNpZiBkZWZpbmVkKFY4X0JJTkRJTkcpICYmIFY4
X0JJTkRJTkcK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109502</attachid>
            <date>2011-10-03 11:37:55 -0700</date>
            <delta_ts>2011-10-03 16:02:37 -0700</delta_ts>
            <desc>Add custom constructors for WebKitMutationObserver</desc>
            <filename>bug-68949-20111003113753.patch</filename>
            <type>text/plain</type>
            <size>76174</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTYxNTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5OTczNWRlNzFmNDI1NjZmMGQ0N2Uy
ZWJkMmVkMzU5NDI2Nzk0OWFhLi43OTYzMjZjMTFmNGY3MDFjNTA5YTRjOTk1YmFiOGYzN2RiNTI3
MWViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDktMjcgIEFkYW0gS2xlaW4gIDxhZGFt
a0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgc3R1YiBp
bXBsZW1lbnRhdGlvbiBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk0OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiYXNpYyB0ZXN0IGFuZCBza2lwIGl0
IGluIGFsbCBwb3J0cyBmb3Igbm93LgorCisgICAgICAgICogZmFzdC9tdXRhdGlvbi9tdXRhdGlv
bi1vYnNlcnZlci1jb25zdHJ1Y3RvcnMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdXRh
dGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBw
ZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93
aW4vU2tpcHBlZDoKKwogMjAxMS0wOS0yNyAgTWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBDaHJvbWl1bSB0ZXN0IGV4cGVjdGF0aW9ucyB1cGRhdGUuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL211dGF0aW9uLW9ic2VydmVyLWNv
bnN0cnVjdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL211dGF0
aW9uLW9ic2VydmVyLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzg4NTc5
NTcyOTUxMmE2Y2RiMGQyNjhjMTEzOGNiOGJkZWVhM2VkNwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3JzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDI3IEBACitUZXN0IHRoZSBjb25zdHJ1Y3RvcnMgb2YgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlciBhbmQgV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMKKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgd2luZG93LldlYktpdE11dGF0aW9u
T2JzZXJ2ZXIgaXMgbm9uLW51bGwuCitQQVNTIHR5cGVvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVy
LnByb3RvdHlwZS5vYnNlcnZlIGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIFdlYktpdE11dGF0
aW9uT2JzZXJ2ZXIucHJvdG90eXBlLmRpc2Nvbm5lY3QgaXMgImZ1bmN0aW9uIgorUEFTUyB0eXBl
b2Ygb2JzZXJ2ZXIub2JzZXJ2ZSBpcyAiZnVuY3Rpb24iCitQQVNTIHR5cGVvZiBvYnNlcnZlci5k
aXNjb25uZWN0IGlzICJmdW5jdGlvbiIKK1BBU1Mgd2luZG93LldlYktpdE11dGF0aW9uT2JzZXJ2
ZXJPcHRpb25zIGlzIG5vbi1udWxsLgorUEFTUyAiY2hpbGRMaXN0IiBpbiBvcHRpb25zIGlzIHRy
dWUKK1BBU1MgImF0dHJpYnV0ZXMiIGluIG9wdGlvbnMgaXMgdHJ1ZQorUEFTUyAiY2hhcmFjdGVy
RGF0YSIgaW4gb3B0aW9ucyBpcyB0cnVlCitQQVNTICJhdHRyaWJ1dGVPbGRWYWx1ZSIgaW4gb3B0
aW9ucyBpcyB0cnVlCitQQVNTICJjaGFyYWN0ZXJEYXRhT2xkVmFsdWUiIGluIG9wdGlvbnMgaXMg
dHJ1ZQorUEFTUyAic3VidHJlZSIgaW4gb3B0aW9ucyBpcyB0cnVlCitQQVNTIG9wdGlvbnMuY2hp
bGRMaXN0IGlzIGZhbHNlCitQQVNTIG9wdGlvbnMuYXR0cmlidXRlcyBpcyBmYWxzZQorUEFTUyBv
cHRpb25zLmNoYXJhY3RlckRhdGEgaXMgZmFsc2UKK1BBU1Mgb3B0aW9ucy5hdHRyaWJ1dGVPbGRW
YWx1ZSBpcyBmYWxzZQorUEFTUyBvcHRpb25zLmNoYXJhY3RlckRhdGFPbGRWYWx1ZSBpcyBmYWxz
ZQorUEFTUyBvcHRpb25zLnN1YnRyZWUgaXMgZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L211dGF0aW9uL211dGF0aW9uLW9ic2VydmVyLWNvbnN0cnVjdG9ycy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25zdHJ1Y3RvcnMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40MWUzNzcxZjJiODQ0ZWZiZjY4MzBlZmNhNTBjN2QxZThlNDY0NDYyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1j
b25zdHJ1Y3RvcnMuaHRtbApAQCAtMCwwICsxLDUwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzx0aXRsZT48L3RpdGxl
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD1kZXNjcmlwdGlvbj48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgc2hvdWxk
QmVOb25OdWxsKCd3aW5kb3cuV2ViS2l0TXV0YXRpb25PYnNlcnZlcicpOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygndHlwZW9mIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlLm9i
c2VydmUnLCAnZnVuY3Rpb24nKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3R5cGVvZiBX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyLnByb3RvdHlwZS5kaXNjb25uZWN0JywgJ2Z1bmN0aW9uJyk7
CisgICAgd2luZG93Lm9ic2VydmVyID0gbmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rp
b24obXV0YXRpb25zKSB7IH0pOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIG9i
c2VydmVyLm9ic2VydmUnLCAnZnVuY3Rpb24nKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3R5cGVvZiBvYnNlcnZlci5kaXNjb25uZWN0JywgJ2Z1bmN0aW9uJyk7CisKKyAgICBzaG91bGRC
ZU5vbk51bGwoJ3dpbmRvdy5XZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucycpOworICAgIHdp
bmRvdy5vcHRpb25zID0gbmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOworICAgIHNo
b3VsZEJlVHJ1ZSgnImNoaWxkTGlzdCIgaW4gb3B0aW9ucycpOworICAgIHNob3VsZEJlVHJ1ZSgn
ImF0dHJpYnV0ZXMiIGluIG9wdGlvbnMnKTsKKyAgICBzaG91bGRCZVRydWUoJyJjaGFyYWN0ZXJE
YXRhIiBpbiBvcHRpb25zJyk7CisgICAgc2hvdWxkQmVUcnVlKCciYXR0cmlidXRlT2xkVmFsdWUi
IGluIG9wdGlvbnMnKTsKKyAgICBzaG91bGRCZVRydWUoJyJjaGFyYWN0ZXJEYXRhT2xkVmFsdWUi
IGluIG9wdGlvbnMnKTsKKyAgICBzaG91bGRCZVRydWUoJyJzdWJ0cmVlIiBpbiBvcHRpb25zJyk7
CisgICAgc2hvdWxkQmVGYWxzZSgnb3B0aW9ucy5jaGlsZExpc3QnKTsKKyAgICBzaG91bGRCZUZh
bHNlKCdvcHRpb25zLmF0dHJpYnV0ZXMnKTsKKyAgICBzaG91bGRCZUZhbHNlKCdvcHRpb25zLmNo
YXJhY3RlckRhdGEnKTsKKyAgICBzaG91bGRCZUZhbHNlKCdvcHRpb25zLmF0dHJpYnV0ZU9sZFZh
bHVlJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnb3B0aW9ucy5jaGFyYWN0ZXJEYXRhT2xkVmFsdWUn
KTsKKyAgICBzaG91bGRCZUZhbHNlKCdvcHRpb25zLnN1YnRyZWUnKTsKK30KKworZGVzY3JpcHRp
b24oJ1Rlc3QgdGhlIGNvbnN0cnVjdG9ycyBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyIGFuZCBX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucycpOworCitpZiAoIXdpbmRvdy5XZWJLaXRNdXRh
dGlvbk9ic2VydmVyKQorICAgIHRlc3RGYWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyBFTkFCTEUo
TVVUQVRJT05fT0JTRVJWRVJTKScpOworZWxzZQorICAgIHJ1blRlc3QoKTsKKwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0
CmluZGV4IDcyMTVhMGI5MWRlYzA1YmIxM2Q4Nzg3Nzg5ZTNhOGU4NzVjYjZlNWMuLjc2MjNlOWI4
Y2IzYTAyMjYwZWVhMmMyOTQ5YzJjNjkyOWE1NTdhZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTMzMTUsNiArMzMx
NSw5IEBAIEJVR1dLNTczMTEgU0tJUCA6IGZhc3QvZXhjbHVzaW9ucyA9IFBBU1MKIC8vIENTUyBG
aWx0ZXJzIHN1cHBvcnQgbm90IHlldCBlbmFibGVkCiBCVUdXSzY4NDY5IFNLSVAgOiBjc3MzL2Zp
bHRlcnMgPSBQQVNTCiAKKy8vIE11dGF0aW9uT2JzZXJ2ZXJzIG5vdCB5ZXQgZW5hYmxlZC4KK0JV
R1dLNjg3MjkgU0tJUCA6IGZhc3QvbXV0YXRpb24gPSBQQVNTCisKIEJVR1dLNjgwODcgV0lOIE1B
QyBHUFUgR1BVLUNHIDogY29tcG9zaXRpbmcvZmxhdC13aXRoLXRyYW5zZm9ybWVkLWNoaWxkLmh0
bWwgPSBJTUFHRQogQlVHV0s2ODA4NyBXSU4gTUFDIEdQVSBHUFUtQ0cgOiBwbGF0Zm9ybS9jaHJv
bWl1bS9jb21wb3NpdGluZy8zZC1jb3JuZXJzLmh0bWwgPSBJTUFHRQogQlVHV0s2ODA4NyBXSU4g
TUFDIEdQVSBHUFUtQ0cgOiBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9iYWNrZmFjZS12
aXNpYmlsaXR5LXRyYW5zZm9ybWVkLmh0bWwgPSBJTUFHRQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBl
ZAppbmRleCBiNTg0MGNiMTcwMGMzY2IzMTRjNjY5ODI2YTk2ZWNmNGJiM2RhMWE3Li5lNDk0NjY0
MmRmMDRmZDQzZWUzNGZiODlhMjZmNTE5YjgyZWEwZjY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tp
cHBlZApAQCAtNDUyLDYgKzQ1Miw5IEBAIHdlYmF1ZGlvCiAjIENTUyBGaWx0ZXJzIGlzIGRpc2Fi
bGVkCiBjc3MzL2ZpbHRlcnMKIAorIyBNdXRhdGlvbk9ic2VydmVycyBhcmUgbmV0IHlldCBlbmFi
bGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzY4NzI5CitmYXN0L211dGF0aW9uCisKICMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKICMgVEVTVFMgRkFJTElORwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAppbmRleCBkMjJkYWFhZGQwZjBlYjNmMWZjMjU1MjU0Yzg0
ZWI3NmUwYjFkNWY4Li5kNTRmNzM2MWNmY2Y0ZmI5ODM2ZjlmMWQ0NzAzMTNjZTljYzc4OTI5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZApAQCAtMzk2LDYgKzM5Niw5IEBAIGNvbXBvc2l0aW5n
L3J0bC9ydGwtaWZyYW1lLXJlbGF0aXZlLmh0bWwKICMgRm9yIG5vdywgV2ViIEF1ZGlvIEFQSSBp
cyBkaXNhYmxlZAogd2ViYXVkaW8vCiAKKyMgTXV0YXRpb25PYnNlcnZlcnMgYXJlIG5ldCB5ZXQg
ZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi82ODcyOQorZmFzdC9tdXRhdGlvbgorCiAjIFRl
c3RzIGZvciBXZWJWVFQgcGFyc2VyIGZvciA8dHJhY2s+LiAgRmVhdHVyZSBpcyBub3QgeWV0IGZ1
bmN0aW9uYWwuCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzY2
OAogbWVkaWEvdHJhY2svCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lw
cGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCA2NjAzZDQwMmY1ZWVj
OGVmYWU2MjU0ZTViZWNiMzNiOTcyZTY5NzQzLi5jM2VmZTBhZTYzMjExYTc3ZGJhMTA0YWRmOGMz
YzRiYWI3MzJmYzFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTE0Niw2ICsxNDYsOSBA
QCBmYXN0L3JlZ2lvbnMKICMgQ1NTIEV4Y2x1c2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQu
IGh0dHA6Ly93ZWJraXQub3JnL2IvNTczMTEKIGZhc3QvZXhjbHVzaW9ucwogCisjIEVOQUJMRShN
VVRBVElPTl9PQlNFUlZFUlMpIGlzIG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcv
Yi82ODcyOQorZmFzdC9tdXRhdGlvbgorCiAjIFVTRShWOCkKIAogIyB2OCBpMThuIGV4dGVuc2lv
bi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXggMTUwYjhmMjk3NjNhZDU2YmRlZGNmMWE1
MmMwZTljMTUxZGYwZThiZi4uNzE4MDA3MGE5YzE1ZTUyNGQ3NTI3NTA4NjVmZGE5OTE5OWI2MmM1
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKQEAgLTEzODksNiArMTM4OSw5IEBAIGNzczMv
c2VsZWN0b3JzMwogIyBGb3Igbm93LCBXZWIgQXVkaW8gQVBJIGlzIGRpc2FibGVkCiB3ZWJhdWRp
by8KIAorIyBNdXRhdGlvbk9ic2VydmVycyBhcmUgbmV0IHlldCBlbmFibGVkLiBodHRwOi8vd2Vi
a2l0Lm9yZy9iLzY4NzI5CitmYXN0L211dGF0aW9uCisKICMgVGVzdHMgZm9yIFdlYlZUVCBwYXJz
ZXIgZm9yIDx0cmFjaz4uICBGZWF0dXJlIGlzIG5vdCB5ZXQgZnVuY3Rpb25hbC4KICMgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNjY4CiBtZWRpYS90cmFjay8KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKaW5kZXggZTFlZWU3MzY0N2JiZjJmYzhiMjY3ODkwNDQxNTJiYWIxZDc1
ZmE0Zi4uODU4NzdlZDM4MzAzMGFmMDM5MTc0NTA2OGQ3MTVhN2JjYThkYzNhNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKQEAgLTE2Miw4ICsxNjIsMTAgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAg
ICAgZG9tL01lc3NhZ2VFdmVudC5pZGwKICAgICBkb20vTWVzc2FnZVBvcnQuaWRsCiAgICAgZG9t
L01vdXNlRXZlbnQuaWRsCisgICAgZG9tL011dGF0aW9uQ2FsbGJhY2suaWRsCiAgICAgZG9tL011
dGF0aW9uRXZlbnQuaWRsCiAgICAgZG9tL011dGF0aW9uUmVjb3JkLmlkbAorICAgIGRvbS9NdXRh
dGlvblJlY29yZEFycmF5LmlkbAogICAgIGRvbS9OYW1lZE5vZGVNYXAuaWRsCiAgICAgZG9tL05v
ZGVGaWx0ZXIuaWRsCiAgICAgZG9tL05vZGUuaWRsCkBAIC0xODUsNiArMTg3LDggQEAgU0VUKFdl
YkNvcmVfSURMX0ZJTEVTCiAgICAgZG9tL1RyZWVXYWxrZXIuaWRsCiAgICAgZG9tL1VJRXZlbnQu
aWRsCiAgICAgZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmlkbAorICAgIGRvbS9XZWJLaXRNdXRh
dGlvbk9ic2VydmVyLmlkbAorICAgIGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5p
ZGwKICAgICBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmlkbAogICAgIGRvbS9XaGVlbEV2ZW50
LmlkbAogCkBAIC02MDEsNiArNjA1LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9V
c2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5jcHAKICAgICBkb20vVmlld3BvcnRBcmd1bWVudHMu
Y3BwCiAgICAgZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmNwcAorICAgIGRvbS9XZWJLaXRNdXRh
dGlvbk9ic2VydmVyLmNwcAogICAgIGRvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwCiAgICAg
ZG9tL1doZWVsRXZlbnQuY3BwCiAgICAgZG9tL1dpbmRvd0V2ZW50Q29udGV4dC5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCAzOWI1ZGIxY2JjMmFjYzExZTQ1OWJjNmQwNDMwYjMzNjNhYjUxMWJmLi4yNTdhMWQ4
NmUxZjBhMTMwMzkyODU0NDJjYTEyNDNmZTY5NjcyZDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NzMgQEAKKzIwMTEtMDktMjcgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgc3R1YiBpbXBsZW1lbnRhdGlvbiBvZiBXZWJL
aXRNdXRhdGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02ODk0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3
MjkgZm9yIHRoZSBtZXRhYnVnLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIHN0dWIgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlciBhbmQgaXRzIHN1cHBvcnRpbmcgY2xhc3NlcworICAgICAgICBN
dXRhdGlvbkNhbGxiYWNrLCBNdXRhdGlvblJlY29yZEFycmF5LCBhbmQgV2ViS2l0TXV0YXRpb25P
YnNlcnZlck9wdGlvbnMuCisgICAgICAgIE5vIGltcGxlbWVudGF0aW9uIGlzIHByb3ZpZGVkIGZv
ciB0aGUgYWxsLWltcG9ydGFudCBvYnNlcnZlKCkgYW5kCisgICAgICAgIGRpc2Nvbm5lY3QoKSBt
ZXRob2RzLgorCisgICAgICAgIE5vdGUgdGhhdCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyIGFuZCBX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyBhcmUKKyAgICAgICAgdmVuZG9yLXByZWZpeGVk
IHNpbmNlIHRoZXkgaGF2ZSBjb25zdHJ1Y3RvcnMgZXhwb3NlZCBvbiBET01XaW5kb3cuCisgICAg
ICAgIE5vbmUgb2YgdGhlIHJlc3Qgb2YgdGhlIEFQSSBuZWVkcyBwcmVmaXhpbmcsIGFzIGl0J3Mg
b25seSBhdmFpbGFibGUKKyAgICAgICAgdmlhIGEgY2FsbCB0aHJvdWdoIGEgTXV0YXRpb25PYnNl
cnZlciBjYWxsYmFjayAoY3JlYXRlZCBieQorICAgICAgICBpbnN0YW50aWF0aW5nIFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXIpLgorCisgICAgICAgIEdpdmVuIHRoZSBudW1iZXIgb2YgZmlsZXMgcmVx
dWlyZWQgdG8gZ2V0IGp1c3QgdGhlIHN0dWIgdXAgYW5kIHJ1bm5pbmcsCisgICAgICAgIGl0IHNl
ZW1zIHJlYXNvbmFibGUgdG8gbGVhdmUgdGhlIGFjdHVhbCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhl
IG5leHQKKyAgICAgICAgcGF0Y2ggKG9yIG1vcmUgbGlrZWx5IHNldmVyYWwgcGF0Y2hlcykuICBJ
J3ZlIGxlZnQgRklYTUVzIGluIGFsbCB0aGUgcGxhY2VzCisgICAgICAgIHRoYXQnbGwgbmVlZCBh
dWdtZW50YXRpb24uCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFVzZUpTQy5jbWFrZToKKyAgICAgICAg
KiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV2ViS2l0TXV0YXRpb25PYnNl
cnZlckN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdl
YktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKiBkb20vTXV0
YXRpb25DYWxsYmFjay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uQ2FsbGJh
Y2s6On5NdXRhdGlvbkNhbGxiYWNrKToKKyAgICAgICAgKiBkb20vTXV0YXRpb25DYWxsYmFjay5p
ZGw6IEFkZGVkLgorICAgICAgICAqIGRvbS9NdXRhdGlvblJlY29yZEFycmF5Lmg6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25SZWNvcmRBcnJheTo6YWRvcHQpOgorICAgICAgICAo
V2ViQ29yZTo6TXV0YXRpb25SZWNvcmRBcnJheTo6bGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6
Ok11dGF0aW9uUmVjb3JkQXJyYXk6Oml0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25S
ZWNvcmRBcnJheTo6TXV0YXRpb25SZWNvcmRBcnJheSk6CisgICAgICAgICogZG9tL011dGF0aW9u
UmVjb3JkQXJyYXkuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBkb20vV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZl
cjo6V2ViS2l0TXV0YXRpb25PYnNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRh
dGlvbk9ic2VydmVyOjpvYnNlcnZlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9u
T2JzZXJ2ZXI6OmRpc2Nvbm5lY3QpOgorICAgICAgICAqIGRvbS9XZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6
Y3JlYXRlKToKKyAgICAgICAgKiBkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5pZGw6IEFkZGVk
LgorICAgICAgICAqIGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpjcmVhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmNoaWxk
TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6
c2V0Q2hpbGRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXJP
cHRpb25zOjphdHRyaWJ1dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXJPcHRpb25zOjpzZXRBdHRyaWJ1dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11
dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpjaGFyYWN0ZXJEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRDaGFyYWN0ZXJEYXRhKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzdWJ0cmVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRTdWJ0cmVl
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjphdHRy
aWJ1dGVPbGRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVy
T3B0aW9uczo6c2V0QXR0cmlidXRlT2xkVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0
TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmNoYXJhY3RlckRhdGFPbGRWYWx1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6c2V0Q2hhcmFjdGVyRGF0
YU9sZFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyk6CisgICAgICAgICogZG9tL1dlYktp
dE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmlkbDogQWRkZWQuCisgICAgICAgICogcGFnZS9ET01X
aW5kb3cuaWRsOgorCiAyMDExLTA5LTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90
QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTYxMzkuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggNjdmMzU2ZDYwMTRiNzhjYThhZmY2NmE0NzI0
YTczZDg3YzMxMzgxYi4uMjE4MDBhNGRiOTI2ZDhhODI1YjBmMTRkNjdjMWUzOGFlMDE5MzYzNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMjQ0LDggKzI0NCwxMCBAQAogI2luY2x1
ZGUgIkpTTWV0YWRhdGEuY3BwIgogI2luY2x1ZGUgIkpTTWV0YWRhdGFDYWxsYmFjay5jcHAiCiAj
aW5jbHVkZSAiSlNNb3VzZUV2ZW50LmNwcCIKKyNpbmNsdWRlICJKU011dGF0aW9uQ2FsbGJhY2su
Y3BwIgogI2luY2x1ZGUgIkpTTXV0YXRpb25FdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNNdXRhdGlv
blJlY29yZC5jcHAiCisjaW5jbHVkZSAiSlNNdXRhdGlvblJlY29yZEFycmF5LmNwcCIKICNpbmNs
dWRlICJKU05hbWVkTm9kZU1hcC5jcHAiCiAjaW5jbHVkZSAiSlNOYXZpZ2F0b3IuY3BwIgogI2lu
Y2x1ZGUgIkpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwIgpAQCAtNDY1LDYgKzQ2Nyw4IEBA
CiAjaW5jbHVkZSAiSlNXZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcCIKICNpbmNsdWRlICJKU1dl
YktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCIKICNpbmNsdWRlICJKU1dlYktpdENTU01hdHJpeC5j
cHAiCisjaW5jbHVkZSAiSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCIKKyNpbmNsdWRlICJK
U1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmNwcCIKICNpbmNsdWRlICJKU1dlYktpdFBv
aW50LmNwcCIKICNpbmNsdWRlICJKU1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAiCiAjaW5jbHVk
ZSAiSlNXZWJTb2NrZXQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNzJm
NDdlNGZkMTJhODNhMDY4MTliMWJhYWJmODFmMjBkYmU3MzExYS4uMDdiZTBiNTk3YTc3YzQ1MmI4
NzAwZWI1YTEzZWM5MjhhMzUyOTNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC0yOTcsOCArMjk3LDEwIEBAIERPTV9DTEFTU0VTID0gXAogICAgIE1ldGFkYXRhIFwKICAgICBN
ZXRhZGF0YUNhbGxiYWNrIFwKICAgICBNb3VzZUV2ZW50IFwKKyAgICBNdXRhdGlvbkNhbGxiYWNr
IFwKICAgICBNdXRhdGlvbkV2ZW50IFwKICAgICBNdXRhdGlvblJlY29yZCBcCisgICAgTXV0YXRp
b25SZWNvcmRBcnJheSBcCiAgICAgTmFtZWROb2RlTWFwIFwKICAgICBOYXZpZ2F0b3IgXAogICAg
IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yIFwKQEAgLTU1Miw2ICs1NTQsOCBAQCBET01fQ0xBU1NF
UyA9IFwKICAgICBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZSBcCiAgICAgV2ViS2l0RmxhZ3MgXAog
ICAgIFdlYktpdExvc2VDb250ZXh0IFwKKyAgICBXZWJLaXRNdXRhdGlvbk9ic2VydmVyIFwKKyAg
ICBXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyBcCiAgICAgV2ViS2l0UG9pbnQgXAogICAg
IFdlYktpdFRyYW5zaXRpb25FdmVudCBcCiAgICAgV2ViU29ja2V0IFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCmluZGV4IDc0MzZlY2YwNGQ2YjA4NDJlNWIyYzcyZGNlMmQyOGQ0YmZhMjNh
MjMuLmFmNTk0NTA2NmMyNjgwNmNhOWJkMzdkZmM4NjU0NTA1MDFlODVjYzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbQpAQCAtODIwLDYgKzgyMCw3IEBAIHdlYmNvcmVfc291cmNlcyAr
PSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlmcmFtZXNSdWxl
Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmlu
Z0NvbnRleHRDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktp
dENTU01hdHJpeEN1c3RvbS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2Vi
S2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTV2ViS2l0UG9pbnRDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1dlYlNvY2tldEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
V29ya2VyQ29udGV4dEJhc2UuY3BwIFwKQEAgLTEyMjIsMTAgKzEyMjMsMTIgQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20v
TW91c2VSZWxhdGVkRXZlbnQuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJh
Y2suaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQuY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9kb20vTXV0YXRpb25FdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRp
b25SZWNvcmQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25SZWNvcmQuaCBcCisJ
U291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uUmVjb3JkQXJyYXkuaCBcCiAJU291cmNlL1dlYkNv
cmUvZG9tL05hbWVkTm9kZU1hcC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVN
YXAuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL05hbWVOb2RlTGlzdC5jcHAgXApAQCAtMTMzNSw2
ICsxMzM4LDkgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vVmll
d3BvcnRBcmd1bWVudHMuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdEFuaW1hdGlvbkV2
ZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmggXAor
CVNvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCBcCisJU291cmNl
L1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCBcCisJU291cmNlL1dlYkNvcmUv
ZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggXAogCVNvdXJjZS9XZWJDb3JlL2Rv
bS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0
VHJhbnNpdGlvbkV2ZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmNwcCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9Vc2VKU0MuY21ha2UKaW5kZXggZTE2ZTJkOWRjYTVkNjUzZDg4MjJmNTQ3ZGVkMzU1NzFmNDEw
YjZkNS4uZmMzM2RmY2Q1MzI5M2QyMDAyMDkyNjQ3Yzc0NjI3Y2NhYmI3ZTM0NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZUpT
Qy5jbWFrZQpAQCAtMTIyLDYgKzEyMiw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwog
ICAgIGJpbmRpbmdzL2pzL0pTV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlQ3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZUN1c3RvbS5jcHAKICAgICBiaW5kaW5n
cy9qcy9KU1dlYktpdENTU01hdHJpeEN1c3RvbS5jcHAKKyAgICBiaW5kaW5ncy9qcy9KU1dlYktp
dE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRQb2lu
dEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAog
ICAgIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RVcGxvYWRDdXN0b20uY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKaW5kZXggYmVlOThjMzMyMGU4MjM1MDkyNzgzNmZjYWExN2E0Yzk3Mjc4ZDg1Mi4uNWYy
OTBkOGNkZjdlMjJmZWRjMTczMWJlZTE4NmEyNzM2MGFmM2NlZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpA
QCAtMTE4NSw4ICsxMTg1LDEwIEBACiAgICAgICAgICAgICAnZG9tL01lc3NhZ2VFdmVudC5pZGwn
LAogICAgICAgICAgICAgJ2RvbS9NZXNzYWdlUG9ydC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9N
b3VzZUV2ZW50LmlkbCcsCisgICAgICAgICAgICAnZG9tL011dGF0aW9uQ2FsbGJhY2suaWRsJywK
ICAgICAgICAgICAgICdkb20vTXV0YXRpb25FdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9N
dXRhdGlvblJlY29yZC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9NdXRhdGlvblJlY29yZEFycmF5
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL05hbWVkTm9kZU1hcC5pZGwnLAogICAgICAgICAgICAg
J2RvbS9Ob2RlLmlkbCcsCiAgICAgICAgICAgICAnZG9tL05vZGVGaWx0ZXIuaWRsJywKQEAgLTEy
MTAsNiArMTIxMiw4IEBACiAgICAgICAgICAgICAnZG9tL1RyZWVXYWxrZXIuaWRsJywKICAgICAg
ICAgICAgICdkb20vVUlFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRBbmltYXRp
b25FdmVudC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmlk
bCcsCisgICAgICAgICAgICAnZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5pZGwnLAogICAgICAgICAg
ICAgJ2RvbS9XaGVlbEV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9CbG9iLmlkbCcs
CkBAIC0xOTI1LDYgKzE5MjksNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTV2ViS2l0
Q1NTS2V5ZnJhbWVSdWxlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNX
ZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
anMvSlNXZWJLaXRDU1NNYXRyaXhDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5k
aW5ncy9qcy9KU1dlYktpdFBvaW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
anMvSlNXZWJTb2NrZXRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dv
cmtlckNvbnRleHRCYXNlLmNwcCcsCkBAIC0yMjIxLDYgKzIyMjYsNyBAQAogICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQ4QXJyYXlDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRBbmltYXRpb25DdXN0b20u
Y3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRhdGlvbk9i
c2VydmVyQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2Vi
S2l0UG9pbnRDb25zdHJ1Y3Rvci5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFdlYlNvY2tldEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwJywKQEAgLTUyMDYsMTAgKzUyMTIsMTIgQEAKICAg
ICAgICAgICAgICdkb20vTWVzc2FnZVBvcnRDaGFubmVsLmNwcCcsCiAgICAgICAgICAgICAnZG9t
L01vdXNlRXZlbnQuY3BwJywKICAgICAgICAgICAgICdkb20vTW91c2VSZWxhdGVkRXZlbnQuY3Bw
JywKKyAgICAgICAgICAgICdkb20vTXV0YXRpb25DYWxsYmFjay5oJywKICAgICAgICAgICAgICdk
b20vTXV0YXRpb25FdmVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9NdXRhdGlvbkV2ZW50Lmgn
LAogICAgICAgICAgICAgJ2RvbS9NdXRhdGlvblJlY29yZC5jcHAnLAogICAgICAgICAgICAgJ2Rv
bS9NdXRhdGlvblJlY29yZC5oJywKKyAgICAgICAgICAgICdkb20vTXV0YXRpb25SZWNvcmRBcnJh
eS5oJywKICAgICAgICAgICAgICdkb20vTmFtZU5vZGVMaXN0LmNwcCcsCiAgICAgICAgICAgICAn
ZG9tL05hbWVOb2RlTGlzdC5oJywKICAgICAgICAgICAgICdkb20vTmFtZWROb2RlTWFwLmNwcCcs
CkBAIC01MzEwLDYgKzUzMTgsOSBAQAogICAgICAgICAgICAgJ2RvbS9WaWV3cG9ydEFyZ3VtZW50
cy5jcHAnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRBbmltYXRpb25FdmVudC5jcHAnLAogICAg
ICAgICAgICAgJ2RvbS9XZWJLaXRBbmltYXRpb25FdmVudC5oJywKKyAgICAgICAgICAgICdkb20v
V2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAnLAorICAgICAgICAgICAgJ2RvbS9XZWJLaXRNdXRh
dGlvbk9ic2VydmVyLmgnLAorICAgICAgICAgICAgJ2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVy
T3B0aW9ucy5oJywKICAgICAgICAgICAgICdkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCcs
CiAgICAgICAgICAgICAnZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5oJywKICAgICAgICAgICAg
ICdkb20vV2hlZWxFdmVudC5jcHAnLApAQCAtNzQ3NCwxMCArNzQ4NSwxNCBAQAogICAgICAgICAg
ICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZXRhZGF0YUNhbGxi
YWNrLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNNb3VzZUV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU01vdXNlRXZlbnQuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNU
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU011dGF0aW9uQ2FsbGJhY2suY3BwJywKKyAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTXV0YXRp
b25DYWxsYmFjay5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTXV0YXRpb25FdmVudC5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvbkV2ZW50LmgnLAogICAgICAgICAg
ICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvblJlY29y
ZC5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNNdXRhdGlvblJlY29yZC5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTXV0YXRpb25SZWNvcmRBcnJheS5jcHAnLAorICAgICAgICAg
ICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvblJlY29y
ZEFycmF5LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNOYW1lZE5vZGVNYXAuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmFtZWROb2RlTWFwLmgnLAogICAgICAgICAgICAgJzwo
UFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IuY3BwJywKQEAg
LTgwMDUsNiArODAyMCwxMCBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0TG9zZUNvbnRl
eHQuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2ViS2l0TG9zZUNvbnRleHQuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwJywKKyAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuY3BwJywKKyAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0
TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFBvaW50LmNwcCcsCiAgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFBvaW50LmgnLAog
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJL
aXRUcmFuc2l0aW9uRXZlbnQuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUucHJvIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggNzlhZTQwMzA0NDBiMGUz
MTA4NWNkMGEzNzU1MDg4ZGZlOTBhZjQyOS4uMTAzMzlhYjliZDNjN2E4MjVjNjEwZmY4OGFlYWQ3
ZDk4Y2E2MDczMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTIwMyw2ICsyMDMsNyBAQCB2OCB7CiAgICAg
ICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRDdXN0b20uY3BwIFwKICAgICAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldExpc3RDdXN0b20uY3BwIFwKICAgICAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0QW5pbWF0aW9uQ3VzdG9tLmNwcCBcCisgICAgICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwIFwK
ICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0UG9pbnRDb25zdHJ1Y3Rvci5jcHAg
XAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCBc
CiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckN1c3RvbS5jcHAgXApAQCAtMzQw
LDYgKzM0MSw3IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlmcmFt
ZVJ1bGVDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlmcmFt
ZXNSdWxlQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTV2ViS2l0Q1NTTWF0cml4
Q3VzdG9tLmNwcCBcCisgICAgICAgIGJpbmRpbmdzL2pzL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZl
ci5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdFBvaW50Q3VzdG9tLmNwcCBcCiAg
ICAgICAgIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwIFwKICAgICAgICAg
YmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdFVwbG9hZEN1c3RvbS5jcHAgXApAQCAtNTY0LDYg
KzU2Niw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRv
ci5jcHAgXAogICAgIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAgXAogICAgIGRvbS9XZWJLaXRB
bmltYXRpb25FdmVudC5jcHAgXAorICAgIGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCBc
CiAgICAgZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAgXAogICAgIGRvbS9XaGVlbEV2ZW50
LmNwcCBcCiAgICAgZG9tL1dpbmRvd0V2ZW50Q29udGV4dC5jcHAgXApAQCAtMTUyNSw4ICsxNTI4
LDEwIEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9NZXNzYWdlUG9ydC5oIFwKICAgICBkb20vTW91
c2VFdmVudC5oIFwKICAgICBkb20vTW91c2VSZWxhdGVkRXZlbnQuaCBcCisgICAgZG9tL011dGF0
aW9uQ2FsbGJhY2suaCBcCiAgICAgZG9tL011dGF0aW9uRXZlbnQuaCBcCiAgICAgZG9tL011dGF0
aW9uUmVjb3JkLmggXAorICAgIGRvbS9NdXRhdGlvblJlY29yZEFycmF5LmggXAogICAgIGRvbS9O
YW1lZE5vZGVNYXAuaCBcCiAgICAgZG9tL05hbWVOb2RlTGlzdC5oIFwKICAgICBkb20vTm9kZUZp
bHRlckNvbmRpdGlvbi5oIFwKQEAgLTE1NzYsNiArMTU4MSw4IEBAIEhFQURFUlMgKz0gXAogICAg
IGRvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oIFwKICAgICBkb20vVmlld3BvcnRBcmd1bWVudHMu
aCBcCiAgICAgZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmggXAorICAgIGRvbS9XZWJLaXRNdXRh
dGlvbk9ic2VydmVyLmggXAorICAgIGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5o
IFwKICAgICBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggXAogICAgIGRvbS9XaGVlbEV2ZW50
LmggXAogICAgIGVkaXRpbmcvQXBwZW5kTm9kZUNvbW1hbmQuaCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGExMWI0N2U3NjgzMzc1ZDE3N2U2
MmEyOWRiYTBiOGIwYTI3Y2ZkZTguLjY1NTAyMTcwYzRkMWI1NmRiOTk4NTRkMTg0MGFlYmNlZTZh
Y2EyMzYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CkBAIC0xMTU5OCw2ICsxMTU5OCw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEpTTXV0YXRpb25DYWxsYmFjay5jcHAiCisJCQkJPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIK
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNdXRhdGlvbkNh
bGxiYWNrLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9
IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNNdXRhdGlvbkV2ZW50LmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBA
IC0xMTcxMCw2ICsxMTc2Niw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJ
UmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUp
XERlcml2ZWRTb3VyY2VzXEpTTXV0YXRpb25SZWNvcmRBcnJheS5jcHAiCisJCQkJPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIK
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNdXRhdGlvblJl
Y29yZEFycmF5LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBh
dGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNOYW1lZE5vZGVNYXAuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
QEAgLTIyOTY2LDYgKzIzMDc4LDExOCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAiCisJCQkJPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdp
bjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdp
bjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmln
dXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNXZWJL
aXRNdXRhdGlvbk9ic2VydmVyLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5jcHAiCisJCQkJ
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0
ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxs
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9u
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTV2ViS2l0UG9pbnQuY3BwIgogCQkJCT4KIAkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA0ODZlZmNmNmI4YjFkY2JiNjFmOWJkNzkxMmQxMTQzOTJj
MDJlZTNjLi45NDljZTllY2QzZDFiNDk3ZWM3NjY3YzE3OWQ5YWY0NDM5MTNhMDMyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01
NDQ3LDYgKzU0NDcsMjAgQEAKIAkJQzZGMDhGQkQxNDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9u
UmVjb3JkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
NkYwOEZCQTE0MzBGRThGMDA2ODU4NDkgLyogTXV0YXRpb25SZWNvcmQuaCAqLzsgfTsKIAkJQzZG
MDhGQzkxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDhGQzcxNDMxMDAwRDAwNjg1
ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmQuY3BwICovOyB9OwogCQlDNkYwOEZDQTE0MzEwMDBEMDA2
ODU4NDkgLyogSlNNdXRhdGlvblJlY29yZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzZGMDhGQzgxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25S
ZWNvcmQuaCAqLzsgfTsKKwkJQzZGMDkwMEExNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2
RjA5MDAxMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmggKi87IH07CisJCUM2
RjA5MDBDMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZEFycmF5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwMzE0MzI3QjYxMDA2
ODU4NDkgLyogTXV0YXRpb25SZWNvcmRBcnJheS5oICovOyB9OworCQlDNkYwOTAwRTE0MzI3QjYx
MDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwNTE0MzI3QjYxMDA2ODU4NDkgLyog
V2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgKi87IH07CisJCUM2RjA5MDBGMTQzMjdCNjEwMDY4
NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwNjE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5oICovOyB9OworCQlDNkYwOTAxMTE0MzI3QjYxMDA2ODU4NDkgLyog
V2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDA4MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRN
dXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oICovOyB9OworCQlDNkYwOTAyODE0MzI3RDRGMDA2ODU4
NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDIwMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9u
Q2FsbGJhY2suY3BwICovOyB9OworCQlDNkYwOTAyOTE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRh
dGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDNkYwOTAyMTE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmggKi87
IH07CisJCUM2RjA5MDJBMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkQXJyYXku
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkw
MjIxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmRBcnJheS5jcHAgKi87IH07CisJ
CUM2RjA5MDJCMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkQXJyYXkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDIzMTQzMjdE
NEYwMDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkQXJyYXkuaCAqLzsgfTsKKwkJQzZGMDkwMkMx
NDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAyNDE0MzI3RDRGMDA2
ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCAqLzsgfTsKKwkJQzZGMDkwMkQx
NDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkwMjUxNDMyN0Q0RjAwNjg1
ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oICovOyB9OworCQlDNkYwOTAyRTE0MzI3
RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAyNjE0MzI3RDRG
MDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5jcHAgKi87IH07CisJ
CUM2RjA5MDJGMTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYw
OTAyNzE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5o
ICovOyB9OworCQlDNkYwOTE3RjE0M0EyQkI5MDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9i
c2VydmVyQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEM2RjA5MTdFMTQzQTJCQjkwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2
ZXJDdXN0b20uY3BwICovOyB9OwogCQlDNkY0MTA0NzEzMEM2RTg5MDAzOTNERTQgLyogRW50cnlC
YXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2
RjQxMDQ2MTMwQzZFODkwMDM5M0RFNCAvKiBFbnRyeUJhc2UuY3BwICovOyB9OwogCQlDQTNCRjY3
QzEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8q
IFNjcm9sbEFuaW1hdG9yLmNwcCAqLzsgfTsKIAkJQ0EzQkY2N0UxMEQ5OUJBRTAwRTZDRTUzIC8q
IFNjcm9sbEFuaW1hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCAqLzsg
fTsKQEAgLTEyMjI3LDYgKzEyMjQxLDI0IEBACiAJCUM2RjA4RkJCMTQzMEZFOEYwMDY4NTg0OSAv
KiBNdXRhdGlvblJlY29yZC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTXV0YXRpb25SZWNv
cmQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNkYwOEZDNzE0MzEwMDBEMDA2
ODU4NDkgLyogSlNNdXRhdGlvblJlY29yZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU011dGF0aW9uUmVjb3JkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQzZGMDhGQzgxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNdXRhdGlvblJlY29yZC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAwMTE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRp
b25DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNdXRhdGlvbkNh
bGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDAyMTQzMjdCNjEw
MDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBN
dXRhdGlvbkNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkw
MDMxNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uUmVjb3JkQXJyYXkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTXV0YXRpb25SZWNvcmRBcnJheS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDNkYwOTAwNDE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25SZWNv
cmRBcnJheS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTXV0YXRpb25SZWNvcmRBcnJheS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDA1MTQzMjdCNjEwMDY4NTg0
OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDNkYwOTAwNjE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25P
YnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXRNdXRhdGlv
bk9ic2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDA3MTQzMjdC
NjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQzZGMDkwMDgxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXJPcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdE11dGF0
aW9uT2JzZXJ2ZXJPcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5
MDA5MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAyMDE0MzI3RDRGMDA2ODU4NDkg
LyogSlNNdXRhdGlvbkNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTTXV0YXRpb25DYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUM2RjA5MDIxMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNdXRhdGlvbkNhbGxiYWNrLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDIyMTQzMjdENEYwMDY4NTg0OSAvKiBKU011
dGF0aW9uUmVjb3JkQXJyYXkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNNdXRhdGlvblJlY29yZEFycmF5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQzZGMDkwMjMxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmRBcnJheS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU011dGF0aW9uUmVjb3JkQXJyYXkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkwMjQxNDMyN0Q0RjAwNjg1ODQ5IC8q
IEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDNkYwOTAyNTE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlv
bk9ic2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAyNjE0
MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYktpdE11dGF0aW9uT2JzZXJ2
ZXJPcHRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkwMjcxNDMy
N0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9u
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTE3RTE0M0EyQkI5MDA2ODU4
NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM2RjQxMDQ2MTMwQzZFODkwMDM5M0RFNCAv
KiBFbnRyeUJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRW50
cnlCYXNlLmNwcDsgcGF0aCA9IGZpbGVhcGkvRW50cnlCYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9y
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9y
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAwRTZD
RTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNjcm9sbEFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzQ0Niw4
ICsxNzQ3OCwxMiBAQAogCQkJCTQ5QzlGNDhCMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3Ry
ZWFtVHJhY2suaCAqLywKIAkJCQk0OUM5RjQ4QzEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0
cmVhbVRyYWNrTGlzdC5jcHAgKi8sCiAJCQkJNDlDOUY0OEQxM0Q1N0QzMjAwNTI2MDBBIC8qIEpT
TWVkaWFTdHJlYW1UcmFja0xpc3QuaCAqLywKKwkJCQlDNkYwOTAyMDE0MzI3RDRGMDA2ODU4NDkg
LyogSlNNdXRhdGlvbkNhbGxiYWNrLmNwcCAqLywKKwkJCQlDNkYwOTAyMTE0MzI3RDRGMDA2ODU4
NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmggKi8sCiAJCQkJQzZGMDhGQzcxNDMxMDAwRDAwNjg1
ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmQuY3BwICovLAogCQkJCUM2RjA4RkM4MTQzMTAwMEQwMDY4
NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmggKi8sCisJCQkJQzZGMDkwMjIxNDMyN0Q0RjAwNjg1
ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmRBcnJheS5jcHAgKi8sCisJCQkJQzZGMDkwMjMxNDMyN0Q0
RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmRBcnJheS5oICovLAogCQkJCUJDRDlDMkJDMEMx
N0I2OUUwMDVDOTBBMiAvKiBKU05hbWVkTm9kZU1hcC5jcHAgKi8sCiAJCQkJQkNEOUMyQkQwQzE3
QjY5RTAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwLmggKi8sCiAJCQkJMTREQzBEMzUwOUZFRDA3
MzAwN0IwMjM1IC8qIEpTTm9kZS5jcHAgKi8sCkBAIC0xNzQ4MCw2ICsxNzUxNiwxMCBAQAogCQkJ
CTc1NDE1RDU0MTI5QUIyRDIwMDNBRDY2OSAvKiBKU1NwZWVjaElucHV0UmVzdWx0TGlzdC5oICov
LAogCQkJCTY1REYzMUVGMDlEMUNDNjAwMDBCRTMyNSAvKiBKU1RleHQuY3BwICovLAogCQkJCTY1
REYzMUYwMDlEMUNDNjAwMDBCRTMyNSAvKiBKU1RleHQuaCAqLywKKwkJCQlDNkYwOTAyNDE0MzI3
RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCAqLywKKwkJCQlDNkYw
OTAyNTE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggKi8sCisJ
CQkJQzZGMDkwMjYxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlck9w
dGlvbnMuY3BwICovLAorCQkJCUM2RjA5MDI3MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11
dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IENvcmU7CiAJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTg4NTgsNiArMTg4OTgsNyBAQAogCQkJCUUxQUQx
NEM0MTI5NzM1NDkwMEFDQTk4OSAvKiBKU1dlYktpdENTU0tleWZyYW1lUnVsZUN1c3RvbS5jcHAg
Ki8sCiAJCQkJRTFBRDE0QjQxMjk3MzRDQTAwQUNBOTg5IC8qIEpTV2ViS2l0Q1NTS2V5ZnJhbWVz
UnVsZUN1c3RvbS5jcHAgKi8sCiAJCQkJQkMyNzVCN0MxMUM1RDIzNTAwQzkyMDZDIC8qIEpTV2Vi
S2l0Q1NTTWF0cml4Q3VzdG9tLmNwcCAqLywKKwkJCQlDNkYwOTE3RTE0M0EyQkI5MDA2ODU4NDkg
LyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCAqLywKIAkJCQlCQzI3NUI3ODEx
QzVEMUMzMDBDOTIwNkMgLyogSlNXZWJLaXRQb2ludEN1c3RvbS5jcHAgKi8sCiAJCQkJNTE4QTM0
QzYxMDI2QzhDOTAwMUI2ODk2IC8qIEpTV2ViU29ja2V0Q3VzdG9tLmNwcCAqLywKIAkJCQlFMTgy
NThBQjBFRjNDRDcwMDA5MzMyNDIgLyogSlNXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCAqLywKQEAg
LTIwMDU0LDEyICsyMDA5NSwxNiBAQAogCQkJCTE0MUI5NEU1MDlFQzQyMjMwMDBFOTQxMyAvKiBN
b3VzZUV2ZW50LmlkbCAqLywKIAkJCQk4NTAzMUIzMTBBNDRFRkM3MDBGOTkyRTAgLyogTW91c2VS
ZWxhdGVkRXZlbnQuY3BwICovLAogCQkJCTg1MDMxQjMyMEE0NEVGQzcwMEY5OTJFMCAvKiBNb3Vz
ZVJlbGF0ZWRFdmVudC5oICovLAorCQkJCUM2RjA5MDAxMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRh
dGlvbkNhbGxiYWNrLmggKi8sCisJCQkJQzZGMDkwMDIxNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0
aW9uQ2FsbGJhY2suaWRsICovLAogCQkJCTg1MDMxQjMzMEE0NEVGQzcwMEY5OTJFMCAvKiBNdXRh
dGlvbkV2ZW50LmNwcCAqLywKIAkJCQk4NTAzMUIzNDBBNDRFRkM3MDBGOTkyRTAgLyogTXV0YXRp
b25FdmVudC5oICovLAogCQkJCTkzRUVDMUYzMDlDMjg3NzcwMEM1MTVEMSAvKiBNdXRhdGlvbkV2
ZW50LmlkbCAqLywKIAkJCQlDNkYwOEZCOTE0MzBGRThGMDA2ODU4NDkgLyogTXV0YXRpb25SZWNv
cmQuY3BwICovLAogCQkJCUM2RjA4RkJBMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29y
ZC5oICovLAogCQkJCUM2RjA4RkJCMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5p
ZGwgKi8sCisJCQkJQzZGMDkwMDMxNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uUmVjb3JkQXJy
YXkuaCAqLywKKwkJCQlDNkYwOTAwNDE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25SZWNvcmRB
cnJheS5pZGwgKi8sCiAJCQkJQkNGMzRBMzYxMUEyMzFDRDAwQzcxODA0IC8qIE5hbWVkTm9kZU1h
cC5jcHAgKi8sCiAJCQkJQTgxODcyMTgwOTc3RDNDMDAwNTgyNkQ5IC8qIE5hbWVkTm9kZU1hcC5o
ICovLAogCQkJCTg1QUNBOUY5MEE5QjYzMTAwMDY3MUU5MCAvKiBOYW1lZE5vZGVNYXAuaWRsICov
LApAQCAtMjAxOTUsNiArMjAyNDAsMTEgQEAKIAkJCQkzMUMwRkYxQjBFNENFQjZFMDA3RDZGRTUg
LyogV2ViS2l0QW5pbWF0aW9uRXZlbnQuY3BwICovLAogCQkJCTMxQzBGRjFDMEU0Q0VCNkUwMDdE
NkZFNSAvKiBXZWJLaXRBbmltYXRpb25FdmVudC5oICovLAogCQkJCTMxQzBGRjFEMEU0Q0VCNkUw
MDdENkZFNSAvKiBXZWJLaXRBbmltYXRpb25FdmVudC5pZGwgKi8sCisJCQkJQzZGMDkwMDUxNDMy
N0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwICovLAorCQkJCUM2RjA5
MDA2MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggKi8sCisJCQkJ
QzZGMDkwMDcxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsICov
LAorCQkJCUM2RjA5MDA4MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVy
T3B0aW9ucy5oICovLAorCQkJCUM2RjA5MDA5MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRh
dGlvbk9ic2VydmVyT3B0aW9ucy5pZGwgKi8sCiAJCQkJMzFDMEZGMUUwRTRDRUI2RTAwN0Q2RkU1
IC8qIFdlYktpdFRyYW5zaXRpb25FdmVudC5jcHAgKi8sCiAJCQkJMzFDMEZGMUYwRTRDRUI2RTAw
N0Q2RkU1IC8qIFdlYktpdFRyYW5zaXRpb25FdmVudC5oICovLAogCQkJCTMxQzBGRjIwMEU0Q0VC
NkUwMDdENkZFNSAvKiBXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaWRsICovLApAQCAtMjIxODMsOCAr
MjIyMzMsMTAgQEAKIAkJCQk4OTg3ODVCNzEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0YS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJODk4Nzg1QjkxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRh
dGFDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg2NjI5RDEwOURBMkI0ODAwOTYzM0E1
IC8qIEpTTW91c2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzZGMDkwMjkxNDMyN0Q0RjAw
Njg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVERjMx
RkMwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTTXV0YXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQzZGMDhGQ0ExNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUM2RjA5MDJCMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3Jk
QXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRDlDMkMxMEMxN0I2OUUwMDVDOTBBMiAvKiBK
U05hbWVkTm9kZU1hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTlEMjQ3RjgwRDc1N0UzNDAwRkRG
OTU5IC8qIEpTTmF2aWdhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMUU1NDVFMDEzNDYyQjBC
MDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yMjQyMyw2ICsyMjQ3NSw4IEBACiAJCQkJMzE2MTFFNUIwRTFDNERFMDAwRjZBNTc5IC8qIEpT
V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5ODc4NUI1MTIy
Q0EyQTcwMDNBQUJEQSAvKiBKU1dlYktpdEZsYWdzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0Yx
RDVDMTEyRDUzMzU2MDA4MzJCRUMgLyogSlNXZWJLaXRMb3NlQ29udGV4dC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQzZGMDkwMkQxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzZGMDkwMkYxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpT
V2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5NEJE
NzlFMEY1NUM5NEMwMDc0NzgyOCAvKiBKU1dlYktpdFBvaW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkzMUMwRkY0MDBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTVEQTVFMEZEMTAyQjk1MzgwMDA4OENGOSAvKiBKU1dlYlNvY2tl
dC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMjU1Niw4ICsyMjYxMCwxMCBAQAogCQkJCTg1MDMxQjQ4
MEE0NEVGQzcwMEY5OTJFMCAvKiBNb3VzZVJlbGF0ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTMzMDlERkMwOTlFNjQ5MjAwNTZFNTgxIC8qIE1vdmVTZWxlY3Rpb25Db21tYW5kLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCMUFENEU2MzEzQTEyQTBCMDA4NDZCMjcgLyogTXV0YWJsZVRleHRU
cmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzZGMDkwMEExNDMyN0I2MTAwNjg1ODQ5IC8qIE11
dGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMxQjRBMEE0NEVGQzcwMEY5
OTJFMCAvKiBNdXRhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlDNkYwOEZCRDE0MzBG
RThGMDA2ODU4NDkgLyogTXV0YXRpb25SZWNvcmQuaCBpbiBIZWFkZXJzICovLAorCQkJCUM2RjA5
MDBDMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZEFycmF5LmggaW4gSGVhZGVycyAq
LywKIAkJCQlBODE4NzIyMzA5NzdEM0MwMDA1ODI2RDkgLyogTmFtZWROb2RlTWFwLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBODE4NzIxRTA5NzdEM0MwMDA1ODI2RDkgLyogTmFtZU5vZGVMaXN0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlFMTBCOUI2QzBCNzQ3NTk5MDAzRUQ4OTAgLyogTmF0aXZlWFBh
dGhOU1Jlc29sdmVyLmggaW4gSGVhZGVycyAqLywKQEAgLTIzNDI0LDYgKzIzNDgwLDggQEAKIAkJ
CQlCQzlBREQyMzBDQzQwMzI2MDAwOThDNEMgLyogV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCBp
biBIZWFkZXJzICovLAogCQkJCTg5ODc4NTY2MTIyQ0EwNjQwMDNBQUJEQSAvKiBXZWJLaXRGbGFn
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMUQ1QkIxMkQ1MzJDNDAwODMyQkVDIC8qIFdlYktp
dExvc2VDb250ZXh0LmggaW4gSGVhZGVycyAqLywKKwkJCQlDNkYwOTAwRjE0MzI3QjYxMDA2ODU4
NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzZGMDkw
MTExNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggaW4g
SGVhZGVycyAqLywKIAkJCQk0OTRCRDc5NTBGNTVDOEVFMDA3NDc4MjggLyogV2ViS2l0UG9pbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTMxQzBGRjI1MEU0Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRU
cmFuc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQ0YzMzJGMEYyQjlBMjUwMDRC
Njc5NSAvKiBXZWJMYXllci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTIwNyw4ICsyNTI2NSwxMCBA
QAogCQkJCTg5ODc4NUI2MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTg5ODc4NUI4MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhQ2FsbGJh
Y2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg2NjI5RDIwOURBMkI0ODAwOTYzM0E1IC8qIEpT
TW91c2VFdmVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNkYwOTAyODE0MzI3RDRGMDA2ODU4
NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTY1REYzMUZC
MDlEMUNDNjAwMDBCRTMyNSAvKiBKU011dGF0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQzZGMDhGQzkxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmQuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQzZGMDkwMkExNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNv
cmRBcnJheS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0Q5QzJDMDBDMTdCNjlFMDA1QzkwQTIg
LyogSlNOYW1lZE5vZGVNYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNEOUMyNjMwQzE3QUE2
NzAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUE5RDI0N0Y3MEQ3NTdFMzQwMEZERjk1OSAvKiBKU05hdmlnYXRvci5jcHAgaW4gU291cmNlcyAq
LywKQEAgLTI1NDc5LDYgKzI1NTM5LDkgQEAKIAkJCQkzMTYxMUU1QTBFMUM0REUwMDBGNkE1Nzkg
LyogSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4OTg3
ODVCNDEyMkNBMkE3MDAzQUFCREEgLyogSlNXZWJLaXRGbGFncy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5M0YxRDVDMDEyRDUzMzU2MDA4MzJCRUMgLyogSlNXZWJLaXRMb3NlQ29udGV4dC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlDNkYwOTAyQzE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRN
dXRhdGlvbk9ic2VydmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUM2RjA5MTdGMTQzQTJCQjkw
MDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJQzZGMDkwMkUxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNl
cnZlck9wdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk0QkQ3OUQwRjU1Qzk0QzAwNzQ3
ODI4IC8qIEpTV2ViS2l0UG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMyNzVCNzkxMUM1
RDFDMzAwQzkyMDZDIC8qIEpTV2ViS2l0UG9pbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMzFDMEZGM0YwRTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNw
cCBpbiBTb3VyY2VzICovLApAQCAtMjYyODEsNiArMjYzNDQsNyBAQAogCQkJCTQ5ODM5MTU4MEYx
RTc3NjkwMEMyMzc4MiAvKiBXZWJLaXRDU1NNYXRyaXguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkM5QUREODAwQ0M0MDkyMjAwMDk4QzRDIC8qIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTkzRjFENUJBMTJENTMyQzQwMDgzMkJFQyAvKiBXZWJLaXRMb3Nl
Q29udGV4dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNkYwOTAwRTE0MzI3QjYxMDA2ODU4NDkg
LyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUMwRkYy
NDBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGQ0YzMzJFMEYyQjlBMjUwMDRCNjc5NSAvKiBXZWJMYXllci5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCUUxQTMxNjJFMTM0QkMzMkQwMDdDOUE0RiAvKiBXZWJOU0F0dHJpYnV0ZWRT
dHJpbmdFeHRyYXMubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmE0YTc3NzQyNDhiNzU3NWNlZWE5Y2I3MGE1ODI1ZTFjNjA0YWZjN2YKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9u
T2JzZXJ2ZXJDdXN0b20uY3BwCkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogICAgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9u
LgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBFcmljc3NvbiBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcworICogICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisKKyNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSAiSlNXZWJL
aXRNdXRhdGlvbk9ic2VydmVyLmgiCisKKyNpbmNsdWRlICJKU011dGF0aW9uQ2FsbGJhY2suaCIK
KyNpbmNsdWRlICJXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgiCisjaW5jbHVkZSA8cnVudGltZS9F
cnJvci5oPgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ29u
c3RydWN0b3I6OmNvbnN0cnVjdEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlcihFeGVjU3RhdGUqIGV4
ZWMpCit7CisgICAgSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3IqIGpzQ29uc3Ry
dWN0b3IgPSBzdGF0aWNfY2FzdDxKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3Rvcio+
KGV4ZWMtPmNhbGxlZSgpKTsKKyAgICBpZiAoIWpzQ29uc3RydWN0b3IpCisgICAgICAgIHJldHVy
biB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlUmVmZXJlbmNlRXJyb3IoZXhlYywgIldlYktpdE11
dGF0aW9uT2JzZXJ2ZXIgY29uc3RydWN0b3IgY2FsbGVlIGlzIHVuYXZhaWxhYmxlIikpOworCisg
ICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDEpCisgICAgICAgIHJldHVybiB0aHJvd1ZN
RXJyb3IoZXhlYywgY3JlYXRlVHlwZUVycm9yKGV4ZWMsICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIp
KTsKKworICAgIFJlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPiBjYWxsYmFjazsKKyAgICBpZiAoIWV4
ZWMtPmFyZ3VtZW50KDApLmlzVW5kZWZpbmVkT3JOdWxsKCkpIHsKKyAgICAgICAgSlNPYmplY3Qq
IG9iamVjdCA9IGV4ZWMtPmFyZ3VtZW50KDApLmdldE9iamVjdCgpOworICAgICAgICBpZiAob2Jq
ZWN0KQorICAgICAgICAgICAgY2FsbGJhY2sgPSBKU011dGF0aW9uQ2FsbGJhY2s6OmNyZWF0ZShv
YmplY3QsIGpzQ29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgpKTsKKyAgICB9CisgICAgaWYgKCFj
YWxsYmFjaykKKyAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVUeXBlRXJy
b3IoZXhlYywgIkFyZ3VtZW50IGlzIG5vdCBhbiBPYmplY3QiKSk7CisKKyAgICBSZWZQdHI8V2Vi
S2l0TXV0YXRpb25PYnNlcnZlcj4gb2JzZXJ2ZXIgPSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpj
cmVhdGUoY2FsbGJhY2sucmVsZWFzZSgpKTsKKworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
YXNPYmplY3QodG9KUyhleGVjLCBqc0NvbnN0cnVjdG9yLT5nbG9iYWxPYmplY3QoKSwgb2JzZXJ2
ZXIucmVsZWFzZSgpKSkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVy
Q3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNTMzZDg2ZjhiY2QxMWQ2MzJiYzc3ZGQ4YTA3YTU4ZmY5
YTNhMmY1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKQEAgLTAsMCArMSw2NyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAq
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShNVVRBVElPTl9P
QlNFUlZFUlMpCisKKyNpbmNsdWRlICJWOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCIKKworI2lu
Y2x1ZGUgIlY4RE9NV3JhcHBlci5oIgorI2luY2x1ZGUgIlY4TXV0YXRpb25DYWxsYmFjay5oIgor
I2luY2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRlICJWOFV0aWxpdGllcy5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXI6OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3sK
KyAgICBJTkNfU1RBVFMoIkRPTS5XZWJLaXRNdXRhdGlvbk9ic2VydmVyLkNvbnN0cnVjdG9yIik7
CisKKyAgICBpZiAoIWFyZ3MuSXNDb25zdHJ1Y3RDYWxsKCkpCisgICAgICAgIHJldHVybiB0aHJv
d0Vycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5j
dGlvbi4iLCBWOFByb3h5OjpUeXBlRXJyb3IpOworCisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAx
KQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFBy
b3h5OjpUeXBlRXJyb3IpOworCisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gYXJnID0gYXJnc1sw
XTsKKyAgICBpZiAoIWFyZy0+SXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3Io
IkFyZ3VtZW50IG11c3QgYmUgYW4gT2JqZWN0IiwgVjhQcm94eTo6VHlwZUVycm9yKTsKKworICAg
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBnZXRTY3JpcHRFeGVjdXRpb25Db250
ZXh0KCk7CisgICAgaWYgKCFjb250ZXh0KQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiV2Vi
S2l0TXV0YXRpb25PYnNlcnZlciBjb25zdHJ1Y3RvcidzIGFzc29jaWF0ZWQgZnJhbWUgdW5hdmFp
bGFibGUiLCBWOFByb3h5OjpSZWZlcmVuY2VFcnJvcik7CisKKyAgICBSZWZQdHI8TXV0YXRpb25D
YWxsYmFjaz4gY2FsbGJhY2sgPSBWOE11dGF0aW9uQ2FsbGJhY2s6OmNyZWF0ZShhcmcsIGNvbnRl
eHQpOworICAgIFJlZlB0cjxXZWJLaXRNdXRhdGlvbk9ic2VydmVyPiBvYnNlcnZlciA9IFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXI6OmNyZWF0ZShjYWxsYmFjay5yZWxlYXNlKCkpOworCisgICAgVjhE
T01XcmFwcGVyOjpzZXRET01XcmFwcGVyKGFyZ3MuSG9sZGVyKCksICZpbmZvLCBvYnNlcnZlci5n
ZXQoKSk7CisgICAgb2JzZXJ2ZXItPnJlZigpOworICAgIFY4RE9NV3JhcHBlcjo6c2V0SlNXcmFw
cGVyRm9yRE9NT2JqZWN0KG9ic2VydmVyLmdldCgpLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0
Pjo6TmV3KGFyZ3MuSG9sZGVyKCkpKTsKKyAgICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1VVEFUSU9OX09CU0VS
VkVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNrLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhZmI5
YWY2NzMwMGY0YzI1YjBiNGU2Mzg0MjMwMDljNzg1ZTgzMjAKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFjay5oCkBAIC0wLDAgKzEsNTQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIE11dGF0aW9uQ2FsbGJhY2tfaAorI2RlZmluZSBNdXRhdGlvbkNhbGxiYWNrX2gKKworI2lm
IEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE11dGF0aW9uUmVjb3JkQXJyYXk7Citj
bGFzcyBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOworCitjbGFzcyBNdXRhdGlvbkNhbGxiYWNrIDog
cHVibGljIFJlZkNvdW50ZWQ8TXV0YXRpb25DYWxsYmFjaz4geworcHVibGljOgorICAgIHZpcnR1
YWwgfk11dGF0aW9uQ2FsbGJhY2soKSB7IH0KKworICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVu
dChNdXRhdGlvblJlY29yZEFycmF5KiwgV2ViS2l0TXV0YXRpb25PYnNlcnZlciopID0gMDsKK307
CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNlbmRpZiAv
LyBNdXRhdGlvbkNhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRh
dGlvbkNhbGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNrLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mZDQzMTE0ZjE0NjVjMjZiM2ZkZGM0NDQwODZkNzkxOWFlYjI1YTk0Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaWRs
CkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCittb2R1bGUgY29yZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAg
Q29uZGl0aW9uYWw9TVVUQVRJT05fT0JTRVJWRVJTLAorICAgICAgICBDYWxsYmFjaworICAgIF0g
TXV0YXRpb25DYWxsYmFjayB7CisgICAgICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gTXV0YXRp
b25SZWNvcmRBcnJheSBtdXRhdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
V2ViS2l0TXV0YXRpb25PYnNlcnZlciBvYnNlcnZlcik7CisgICAgfTsKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvblJlY29yZEFycmF5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTXV0YXRpb25SZWNvcmRBcnJheS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkZTE0OGM3MzkyOTI4NTFh
YjI4NzhmNzRiN2U0NzMwNWZhZjUzZDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTXV0YXRpb25SZWNvcmRBcnJheS5oCkBAIC0wLDAgKzEsNzIgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE11dGF0
aW9uUmVjb3JkQXJyYXlfaAorI2RlZmluZSBNdXRhdGlvblJlY29yZEFycmF5X2gKKworI2lmIEVO
QUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNpbmNsdWRlICJNdXRhdGlvblJlY29yZC5oIgor
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE11dGF0aW9uUmVjb3JkQXJyYXkgOiBwdWJsaWMgUmVm
Q291bnRlZDxNdXRhdGlvblJlY29yZEFycmF5PiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8TXV0YXRpb25SZWNvcmRBcnJheT4gYWRvcHQoVmVjdG9yPFJlZlB0cjxNdXRhdGlvblJl
Y29yZD4gPiYgcmVjb3JkcykKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgTXV0
YXRpb25SZWNvcmRBcnJheShyZWNvcmRzKSk7CisgICAgfQorCisgICAgdW5zaWduZWQgbGVuZ3Ro
KCkgY29uc3QgeyByZXR1cm4gbV9yZWNvcmRzLnNpemUoKTsgfQorICAgIE11dGF0aW9uUmVjb3Jk
KiBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKGluZGV4ID49
IG1fcmVjb3Jkcy5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJu
IG1fcmVjb3Jkc1tpbmRleF0uZ2V0KCk7CisgICAgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0
IE11dGF0aW9uUmVjb3JkQXJyYXkoVmVjdG9yPFJlZlB0cjxNdXRhdGlvblJlY29yZD4gPiYgcmVj
b3JkcykKKyAgICB7CisgICAgICAgIG1fcmVjb3Jkcy5zd2FwKHJlY29yZHMpOworICAgIH0KKwor
ICAgIFZlY3RvcjxSZWZQdHI8TXV0YXRpb25SZWNvcmQ+ID4gbV9yZWNvcmRzOworfTsKKworfSAv
LyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNl
bmRpZiAvLyBNdXRhdGlvblJlY29yZEFycmF5X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9NdXRhdGlvblJlY29yZEFycmF5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlv
blJlY29yZEFycmF5LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMWZmMDkzMTdkZDc4ZTI2NTVlMTljMTJmOGRm
YmY5ZmRiYmQyNjc3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0
aW9uUmVjb3JkQXJyYXkuaWRsCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgY29yZSB7CisgICAgaW50
ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TVVUQVRJT05fT0JTRVJWRVJTLAorICAgICAg
ICBIYXNJbmRleEdldHRlcgorICAgIF0gTXV0YXRpb25SZWNvcmRBcnJheSB7CisgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICAgICAgTXV0YXRpb25S
ZWNvcmQgaXRlbShpbiBbSXNJbmRleF0gdW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgfTsKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wMzZmYWZjYzM4NzQzYjUyZjVmODRjMzM0OTBkOTU3ZDEyMGNkYTMzCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwCkBA
IC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTVVUQVRJT05f
T0JTRVJWRVJTKQorCisjaW5jbHVkZSAiV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIgorCisjaW5j
bHVkZSAiTXV0YXRpb25DYWxsYmFjay5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NS
ZWZQdHI8V2ViS2l0TXV0YXRpb25PYnNlcnZlcj4gV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6Y3Jl
YXRlKFBhc3NSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4gY2FsbGJhY2spCit7CisgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBXZWJLaXRNdXRhdGlvbk9ic2VydmVyKGNhbGxiYWNrKSk7Cit9CisKK1dl
YktpdE11dGF0aW9uT2JzZXJ2ZXI6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXIoUGFzc1JlZlB0cjxN
dXRhdGlvbkNhbGxiYWNrPiBjYWxsYmFjaykKKyAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2spCit7
Cit9CisKK1dlYktpdE11dGF0aW9uT2JzZXJ2ZXI6On5XZWJLaXRNdXRhdGlvbk9ic2VydmVyKCkK
K3sKK30KKwordm9pZCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZlKE5vZGUqLCBXZWJL
aXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyopCit7CisgICAgLy8gRklYTUU6IGltcGxlbWVudAor
fQorCit2b2lkIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OmRpc2Nvbm5lY3QoKQoreworICAgIC8v
IEZJWE1FOiBpbXBsZW1lbnQKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0MzA0YjI2M2NjYzI0MzMyYjE1NTY1Y2Iw
MDZkZTkzOTMzNGMwYjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5oCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYktpdE11dGF0
aW9uT2JzZXJ2ZXJfaAorI2RlZmluZSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyX2gKKworI2lmIEVO
QUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE11dGF0aW9uQ2FsbGJhY2s7CitjbGFzcyBOb2Rl
OworY2xhc3MgV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnM7CisKK2NsYXNzIFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJLaXRNdXRhdGlvbk9ic2VydmVy
PiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViS2l0TXV0YXRpb25PYnNlcnZl
cj4gY3JlYXRlKFBhc3NSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4pOworCisgICAgfldlYktpdE11
dGF0aW9uT2JzZXJ2ZXIoKTsKKworICAgIHZvaWQgb2JzZXJ2ZShOb2RlKiwgV2ViS2l0TXV0YXRp
b25PYnNlcnZlck9wdGlvbnMqKTsKKyAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKKworcHJpdmF0ZToK
KyAgICBXZWJLaXRNdXRhdGlvbk9ic2VydmVyKFBhc3NSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4p
OworCisgICAgUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+IG1fY2FsbGJhY2s7Cit9OworCit9CisK
KyNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjZW5kaWYgLy8gV2ViS2l0
TXV0YXRpb25PYnNlcnZlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25P
YnNlcnZlci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWY0ZjYyNjA2OWJiNWQ5OTBlY2Y4ODM1MDI2OTAzOTZj
OGZkNGMwMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRh
dGlvbk9ic2VydmVyLmlkbApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIGNvcmUgeworICAgIGludGVy
ZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU1VVEFUSU9OX09CU0VSVkVSUywKKyAgICAgICAg
Q2FuQmVDb25zdHJ1Y3RlZCwKKyAgICAgICAgQ3VzdG9tQ29uc3RydWN0RnVuY3Rpb24sCisgICAg
ICAgIFY4Q3VzdG9tQ29uc3RydWN0b3IKKyAgICBdIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIgewor
ICAgICAgICAvLyBGSVhNRTogTmVlZHMgdG8gYmUgW0N1c3RvbV0gc28gaXQgY2FuIHRha2UgYW55
IG9iamVjdCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50LgorICAgICAgICB2b2lkIG9ic2VydmUoaW4g
Tm9kZSB0YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICBpbiBXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyT3B0aW9ucyBvcHRpb25zKTsKKyAgICAgICAgdm9pZCBkaXNjb25uZWN0KCk7CisgICAgfTsK
K30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVy
T3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYTZkYWIzMTVmNmU2MjhjMjllYmEwMjQyN2E2ZWE0NThlM2VmNDcw
MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9i
c2VydmVyT3B0aW9ucy5oCkBAIC0wLDAgKzEsOTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXJPcHRpb25zX2gKKyNkZWZpbmUgV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnNfaAor
CisjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zPiB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8V2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnM+IGNyZWF0ZSgpCisgICAg
eworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zKTsKKyAgICB9CisKKyAgICBib29sIGNoaWxkTGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fY2hp
bGRMaXN0OyB9CisgICAgdm9pZCBzZXRDaGlsZExpc3QoYm9vbCB2YWx1ZSkgeyBtX2NoaWxkTGlz
dCA9IHZhbHVlOyB9CisKKyAgICBib29sIGF0dHJpYnV0ZXMoKSBjb25zdCB7IHJldHVybiBtX2F0
dHJpYnV0ZXM7IH0KKyAgICB2b2lkIHNldEF0dHJpYnV0ZXMoYm9vbCB2YWx1ZSkgeyBtX2F0dHJp
YnV0ZXMgPSB2YWx1ZTsgfQorCisgICAgYm9vbCBjaGFyYWN0ZXJEYXRhKCkgY29uc3QgeyByZXR1
cm4gbV9jaGFyYWN0ZXJEYXRhOyB9CisgICAgdm9pZCBzZXRDaGFyYWN0ZXJEYXRhKGJvb2wgdmFs
dWUpIHsgbV9jaGFyYWN0ZXJEYXRhID0gdmFsdWU7IH0KKworICAgIGJvb2wgc3VidHJlZSgpIGNv
bnN0IHsgcmV0dXJuIG1fc3VidHJlZTsgfQorICAgIHZvaWQgc2V0U3VidHJlZShib29sIHZhbHVl
KSB7IG1fc3VidHJlZSA9IHZhbHVlOyB9CisKKyAgICBib29sIGF0dHJpYnV0ZU9sZFZhbHVlKCkg
Y29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVPbGRWYWx1ZTsgfQorICAgIHZvaWQgc2V0QXR0cmli
dXRlT2xkVmFsdWUoYm9vbCB2YWx1ZSkgeyBtX2F0dHJpYnV0ZU9sZFZhbHVlID0gdmFsdWU7IH0K
KworICAgIGJvb2wgY2hhcmFjdGVyRGF0YU9sZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9hdHRy
aWJ1dGVPbGRWYWx1ZTsgfQorICAgIHZvaWQgc2V0Q2hhcmFjdGVyRGF0YU9sZFZhbHVlKGJvb2wg
dmFsdWUpIHsgbV9jaGFyYWN0ZXJEYXRhT2xkVmFsdWUgPSB2YWx1ZTsgfQorCisgICAgLy8gRklY
TUU6IEZpZ3VyZSBvdXQgaG93IHRvIG1vZGVsIHRoaXMgYmFzZWQgb24gdGhlIElETC4KKyAgICAv
LyBET01TdHJpbmdbXSBhdHRyaWJ1dGVGaWx0ZXI7CisKK3ByaXZhdGU6CisgICAgV2ViS2l0TXV0
YXRpb25PYnNlcnZlck9wdGlvbnMoKQorICAgICAgICA6IG1fY2hpbGRMaXN0KGZhbHNlKQorICAg
ICAgICAsIG1fYXR0cmlidXRlcyhmYWxzZSkKKyAgICAgICAgLCBtX2NoYXJhY3RlckRhdGEoZmFs
c2UpCisgICAgICAgICwgbV9zdWJ0cmVlKGZhbHNlKQorICAgICAgICAsIG1fYXR0cmlidXRlT2xk
VmFsdWUoZmFsc2UpCisgICAgICAgICwgbV9jaGFyYWN0ZXJEYXRhT2xkVmFsdWUoZmFsc2UpCisg
ICAgeworICAgIH0KKworICAgIGJvb2wgbV9jaGlsZExpc3Q7CisgICAgYm9vbCBtX2F0dHJpYnV0
ZXM7CisgICAgYm9vbCBtX2NoYXJhY3RlckRhdGE7CisgICAgYm9vbCBtX3N1YnRyZWU7CisgICAg
Ym9vbCBtX2F0dHJpYnV0ZU9sZFZhbHVlOworICAgIGJvb2wgbV9jaGFyYWN0ZXJEYXRhT2xkVmFs
dWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTVVU
QVRJT05fT0JTRVJWRVJTKQorCisjZW5kaWYgLy8gV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlv
bnNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2
ZXJPcHRpb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVy
T3B0aW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2FlM2M0MDJmZTk1YjM3ODE1YjMzYjIyN2Y5OTI1NWE2
MWNiYjcyOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRh
dGlvbk9ic2VydmVyT3B0aW9ucy5pZGwKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKyAg
ICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1NVVRBVElPTl9PQlNFUlZFUlMsCisg
ICAgICAgIENhbkJlQ29uc3RydWN0ZWQKKyAgICBdIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zIHsKKyAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gY2hpbGRMaXN0OworICAgICAgICBhdHRy
aWJ1dGUgYm9vbGVhbiBhdHRyaWJ1dGVzOworICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBjaGFy
YWN0ZXJEYXRhOworCisgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIHN1YnRyZWU7CisKKyAgICAg
ICAgYXR0cmlidXRlIGJvb2xlYW4gYXR0cmlidXRlT2xkVmFsdWU7CisgICAgICAgIGF0dHJpYnV0
ZSBib29sZWFuIGNoYXJhY3RlckRhdGFPbGRWYWx1ZTsKKworICAgICAgICAvLyBGSVhNRTogRmln
dXJlIG91dCBob3cgdG8gbW9kZWwgdGhpcyBhcyBzZXR0YWJsZSBpbiB0aGUgSURMLgorICAgICAg
ICAvLyBhdHRyaWJ1dGUgRE9NU3RyaW5nTGlzdCBhdHRyaWJ1dGVGaWx0ZXI7CisgICAgfTsKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBjMmJlZTQ2MTA0YjA5NTY0MTIyZDMyNzRk
MzMyYTFhM2QzNGJhNjQ3Li4wZjAxYzA1ZjgzNGZjMDk3NDEyNWRlNjNiZTdjZGRiYjI5Nzk5ZTgw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC04MDUsNiArODA1LDkgQEAgbW9kdWxl
IHdpbmRvdyB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbRW5hYmxlZEF0UnVudGltZT1R
dW90YV0gU3RvcmFnZUluZm8gd2Via2l0U3RvcmFnZUluZm87CiAjZW5kaWYKIAorICAgICAgICBh
dHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1VVEFUSU9OX09CU0VSVkVSU10gV2ViS2l0TXV0YXRpb25P
YnNlcnZlckNvbnN0cnVjdG9yIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI7CisgICAgICAgIGF0dHJp
YnV0ZSBbQ29uZGl0aW9uYWw9TVVUQVRJT05fT0JTRVJWRVJTXSBXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyT3B0aW9uc0NvbnN0cnVjdG9yIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOworCiAj
ZW5kaWYgLy8gZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKQogCiAjaWYgZGVmaW5lZChWOF9C
SU5ESU5HKSAmJiBWOF9CSU5ESU5HCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109545</attachid>
            <date>2011-10-03 15:59:09 -0700</date>
            <delta_ts>2011-10-07 17:08:47 -0700</delta_ts>
            <desc>Fixed nits, got rid of MutationRecordArray</desc>
            <filename>bug-68949-20111003155908.patch</filename>
            <type>text/plain</type>
            <size>78421</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5OTczNWRlNzFmNDI1NjZmMGQ0N2UyZWJkMmVkMzU5NDI2Nzk0OWFhLi43OTYzMjZj
MTFmNGY3MDFjNTA5YTRjOTk1YmFiOGYzN2RiNTI3MWViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTEtMDktMjcgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
W011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgc3R1YiBpbXBsZW1lbnRhdGlvbiBvZiBXZWJLaXRNdXRh
dGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02ODk0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBiYXNpYyB0ZXN0IGFuZCBza2lwIGl0IGluIGFsbCBwb3J0cyBmb3Igbm93LgorCisg
ICAgICAgICogZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25zdHJ1Y3RvcnMuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25z
dHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQv
U2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMS0wOS0yNyAg
TWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDaHJvbWl1
bSB0ZXN0IGV4cGVjdGF0aW9ucyB1cGRhdGUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L211dGF0aW9uL211dGF0aW9uLW9ic2VydmVyLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL211dGF0aW9uLW9ic2VydmVyLWNvbnN0cnVjdG9ycy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzg4NTc5NTcyOTUxMmE2Y2RiMGQyNjhjMTEzOGNiOGJk
ZWVhM2VkNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vbXV0
YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI3IEBA
CitUZXN0IHRoZSBjb25zdHJ1Y3RvcnMgb2YgV2ViS2l0TXV0YXRpb25PYnNlcnZlciBhbmQgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1Mgd2luZG93LldlYktpdE11dGF0aW9uT2JzZXJ2ZXIgaXMgbm9uLW51bGwuCitQQVNT
IHR5cGVvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLnByb3RvdHlwZS5vYnNlcnZlIGlzICJmdW5j
dGlvbiIKK1BBU1MgdHlwZW9mIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlLmRpc2Nv
bm5lY3QgaXMgImZ1bmN0aW9uIgorUEFTUyB0eXBlb2Ygb2JzZXJ2ZXIub2JzZXJ2ZSBpcyAiZnVu
Y3Rpb24iCitQQVNTIHR5cGVvZiBvYnNlcnZlci5kaXNjb25uZWN0IGlzICJmdW5jdGlvbiIKK1BB
U1Mgd2luZG93LldlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zIGlzIG5vbi1udWxsLgorUEFT
UyAiY2hpbGRMaXN0IiBpbiBvcHRpb25zIGlzIHRydWUKK1BBU1MgImF0dHJpYnV0ZXMiIGluIG9w
dGlvbnMgaXMgdHJ1ZQorUEFTUyAiY2hhcmFjdGVyRGF0YSIgaW4gb3B0aW9ucyBpcyB0cnVlCitQ
QVNTICJhdHRyaWJ1dGVPbGRWYWx1ZSIgaW4gb3B0aW9ucyBpcyB0cnVlCitQQVNTICJjaGFyYWN0
ZXJEYXRhT2xkVmFsdWUiIGluIG9wdGlvbnMgaXMgdHJ1ZQorUEFTUyAic3VidHJlZSIgaW4gb3B0
aW9ucyBpcyB0cnVlCitQQVNTIG9wdGlvbnMuY2hpbGRMaXN0IGlzIGZhbHNlCitQQVNTIG9wdGlv
bnMuYXR0cmlidXRlcyBpcyBmYWxzZQorUEFTUyBvcHRpb25zLmNoYXJhY3RlckRhdGEgaXMgZmFs
c2UKK1BBU1Mgb3B0aW9ucy5hdHRyaWJ1dGVPbGRWYWx1ZSBpcyBmYWxzZQorUEFTUyBvcHRpb25z
LmNoYXJhY3RlckRhdGFPbGRWYWx1ZSBpcyBmYWxzZQorUEFTUyBvcHRpb25zLnN1YnRyZWUgaXMg
ZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL211dGF0aW9uLW9ic2VydmVy
LWNvbnN0cnVjdG9ycy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1v
YnNlcnZlci1jb25zdHJ1Y3RvcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MWUzNzcxZjJiODQ0ZWZiZjY4
MzBlZmNhNTBjN2QxZThlNDY0NDYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25zdHJ1Y3RvcnMuaHRtbApAQCAtMCwwICsx
LDUwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzx0aXRsZT48L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD1k
ZXNjcmlwdGlvbj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK2Z1
bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgc2hvdWxkQmVOb25OdWxsKCd3aW5kb3cuV2ViS2l0TXV0
YXRpb25PYnNlcnZlcicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlLm9ic2VydmUnLCAnZnVuY3Rpb24nKTsKKyAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3R5cGVvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLnByb3Rv
dHlwZS5kaXNjb25uZWN0JywgJ2Z1bmN0aW9uJyk7CisgICAgd2luZG93Lm9ic2VydmVyID0gbmV3
IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24obXV0YXRpb25zKSB7IH0pOworICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIG9ic2VydmVyLm9ic2VydmUnLCAnZnVuY3Rpb24n
KTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3R5cGVvZiBvYnNlcnZlci5kaXNjb25uZWN0
JywgJ2Z1bmN0aW9uJyk7CisKKyAgICBzaG91bGRCZU5vbk51bGwoJ3dpbmRvdy5XZWJLaXRNdXRh
dGlvbk9ic2VydmVyT3B0aW9ucycpOworICAgIHdpbmRvdy5vcHRpb25zID0gbmV3IFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOworICAgIHNob3VsZEJlVHJ1ZSgnImNoaWxkTGlzdCIgaW4g
b3B0aW9ucycpOworICAgIHNob3VsZEJlVHJ1ZSgnImF0dHJpYnV0ZXMiIGluIG9wdGlvbnMnKTsK
KyAgICBzaG91bGRCZVRydWUoJyJjaGFyYWN0ZXJEYXRhIiBpbiBvcHRpb25zJyk7CisgICAgc2hv
dWxkQmVUcnVlKCciYXR0cmlidXRlT2xkVmFsdWUiIGluIG9wdGlvbnMnKTsKKyAgICBzaG91bGRC
ZVRydWUoJyJjaGFyYWN0ZXJEYXRhT2xkVmFsdWUiIGluIG9wdGlvbnMnKTsKKyAgICBzaG91bGRC
ZVRydWUoJyJzdWJ0cmVlIiBpbiBvcHRpb25zJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnb3B0aW9u
cy5jaGlsZExpc3QnKTsKKyAgICBzaG91bGRCZUZhbHNlKCdvcHRpb25zLmF0dHJpYnV0ZXMnKTsK
KyAgICBzaG91bGRCZUZhbHNlKCdvcHRpb25zLmNoYXJhY3RlckRhdGEnKTsKKyAgICBzaG91bGRC
ZUZhbHNlKCdvcHRpb25zLmF0dHJpYnV0ZU9sZFZhbHVlJyk7CisgICAgc2hvdWxkQmVGYWxzZSgn
b3B0aW9ucy5jaGFyYWN0ZXJEYXRhT2xkVmFsdWUnKTsKKyAgICBzaG91bGRCZUZhbHNlKCdvcHRp
b25zLnN1YnRyZWUnKTsKK30KKworZGVzY3JpcHRpb24oJ1Rlc3QgdGhlIGNvbnN0cnVjdG9ycyBv
ZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyIGFuZCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9u
cycpOworCitpZiAoIXdpbmRvdy5XZWJLaXRNdXRhdGlvbk9ic2VydmVyKQorICAgIHRlc3RGYWls
ZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKScpOworZWxz
ZQorICAgIHJ1blRlc3QoKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IDcyMTVhMGI5MWRlYzA1YmIxM2Q4
Nzg3Nzg5ZTNhOGU4NzVjYjZlNWMuLjc2MjNlOWI4Y2IzYTAyMjYwZWVhMmMyOTQ5YzJjNjkyOWE1
NTdhZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhw
ZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4
cGVjdGF0aW9ucy50eHQKQEAgLTMzMTUsNiArMzMxNSw5IEBAIEJVR1dLNTczMTEgU0tJUCA6IGZh
c3QvZXhjbHVzaW9ucyA9IFBBU1MKIC8vIENTUyBGaWx0ZXJzIHN1cHBvcnQgbm90IHlldCBlbmFi
bGVkCiBCVUdXSzY4NDY5IFNLSVAgOiBjc3MzL2ZpbHRlcnMgPSBQQVNTCiAKKy8vIE11dGF0aW9u
T2JzZXJ2ZXJzIG5vdCB5ZXQgZW5hYmxlZC4KK0JVR1dLNjg3MjkgU0tJUCA6IGZhc3QvbXV0YXRp
b24gPSBQQVNTCisKIEJVR1dLNjgwODcgV0lOIE1BQyBHUFUgR1BVLUNHIDogY29tcG9zaXRpbmcv
ZmxhdC13aXRoLXRyYW5zZm9ybWVkLWNoaWxkLmh0bWwgPSBJTUFHRQogQlVHV0s2ODA4NyBXSU4g
TUFDIEdQVSBHUFUtQ0cgOiBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy8zZC1jb3JuZXJz
Lmh0bWwgPSBJTUFHRQogQlVHV0s2ODA4NyBXSU4gTUFDIEdQVSBHUFUtQ0cgOiBwbGF0Zm9ybS9j
aHJvbWl1bS9jb21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmlsaXR5LXRyYW5zZm9ybWVkLmh0bWwg
PSBJTUFHRQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCBiNTg0MGNiMTcwMGMzY2IzMTRj
NjY5ODI2YTk2ZWNmNGJiM2RhMWE3Li5lNDk0NjY0MmRmMDRmZDQzZWUzNGZiODlhMjZmNTE5Yjgy
ZWEwZjY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtNDUyLDYgKzQ1Miw5IEBAIHdl
YmF1ZGlvCiAjIENTUyBGaWx0ZXJzIGlzIGRpc2FibGVkCiBjc3MzL2ZpbHRlcnMKIAorIyBNdXRh
dGlvbk9ic2VydmVycyBhcmUgbmV0IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzY4
NzI5CitmYXN0L211dGF0aW9uCisKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgVEVTVFMgRkFJ
TElORwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAppbmRl
eCBkMjJkYWFhZGQwZjBlYjNmMWZjMjU1MjU0Yzg0ZWI3NmUwYjFkNWY4Li5kNTRmNzM2MWNmY2Y0
ZmI5ODM2ZjlmMWQ0NzAzMTNjZTljYzc4OTI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZApA
QCAtMzk2LDYgKzM5Niw5IEBAIGNvbXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1lLXJlbGF0aXZlLmh0
bWwKICMgRm9yIG5vdywgV2ViIEF1ZGlvIEFQSSBpcyBkaXNhYmxlZAogd2ViYXVkaW8vCiAKKyMg
TXV0YXRpb25PYnNlcnZlcnMgYXJlIG5ldCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcv
Yi82ODcyOQorZmFzdC9tdXRhdGlvbgorCiAjIFRlc3RzIGZvciBXZWJWVFQgcGFyc2VyIGZvciA8
dHJhY2s+LiAgRmVhdHVyZSBpcyBub3QgeWV0IGZ1bmN0aW9uYWwuCiAjIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzY2OAogbWVkaWEvdHJhY2svCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvU2tpcHBlZAppbmRleCA2NjAzZDQwMmY1ZWVjOGVmYWU2MjU0ZTViZWNiMzNiOTcyZTY5NzQz
Li5jM2VmZTBhZTYzMjExYTc3ZGJhMTA0YWRmOGMzYzRiYWI3MzJmYzFlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L1NraXBwZWQKQEAgLTE0Niw2ICsxNDYsOSBAQCBmYXN0L3JlZ2lvbnMKICMgQ1NTIEV4Y2x1
c2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTczMTEK
IGZhc3QvZXhjbHVzaW9ucwogCisjIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpIGlzIG5vdCB5
ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi82ODcyOQorZmFzdC9tdXRhdGlvbgorCiAj
IFVTRShWOCkKIAogIyB2OCBpMThuIGV4dGVuc2lvbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQK
aW5kZXggMTUwYjhmMjk3NjNhZDU2YmRlZGNmMWE1MmMwZTljMTUxZGYwZThiZi4uNzE4MDA3MGE5
YzE1ZTUyNGQ3NTI3NTA4NjVmZGE5OTE5OWI2MmM1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBw
ZWQKQEAgLTEzODksNiArMTM4OSw5IEBAIGNzczMvc2VsZWN0b3JzMwogIyBGb3Igbm93LCBXZWIg
QXVkaW8gQVBJIGlzIGRpc2FibGVkCiB3ZWJhdWRpby8KIAorIyBNdXRhdGlvbk9ic2VydmVycyBh
cmUgbmV0IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzY4NzI5CitmYXN0L211dGF0
aW9uCisKICMgVGVzdHMgZm9yIFdlYlZUVCBwYXJzZXIgZm9yIDx0cmFjaz4uICBGZWF0dXJlIGlz
IG5vdCB5ZXQgZnVuY3Rpb25hbC4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQzNjY4CiBtZWRpYS90cmFjay8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZTFlZWU3
MzY0N2JiZjJmYzhiMjY3ODkwNDQxNTJiYWIxZDc1ZmE0Zi4uOThkN2JhNDJhMzFhYjEzMGQ2OGQz
ZmVmODQ3OTgwYWFhYWU2NzZlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE2Miw2ICsxNjIs
NyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBkb20vTWVzc2FnZUV2ZW50LmlkbAogICAg
IGRvbS9NZXNzYWdlUG9ydC5pZGwKICAgICBkb20vTW91c2VFdmVudC5pZGwKKyAgICBkb20vTXV0
YXRpb25DYWxsYmFjay5pZGwKICAgICBkb20vTXV0YXRpb25FdmVudC5pZGwKICAgICBkb20vTXV0
YXRpb25SZWNvcmQuaWRsCiAgICAgZG9tL05hbWVkTm9kZU1hcC5pZGwKQEAgLTE4NSw2ICsxODYs
OCBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBkb20vVHJlZVdhbGtlci5pZGwKICAgICBk
b20vVUlFdmVudC5pZGwKICAgICBkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsCisgICAgZG9t
L1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsCisgICAgZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2
ZXJPcHRpb25zLmlkbAogICAgIGRvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaWRsCiAgICAgZG9t
L1doZWVsRXZlbnQuaWRsCiAKQEAgLTYwMSw2ICs2MDQsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmNwcAogICAgIGRvbS9WaWV3cG9y
dEFyZ3VtZW50cy5jcHAKICAgICBkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuY3BwCisgICAgZG9t
L1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwCiAgICAgZG9tL1dlYktpdFRyYW5zaXRpb25FdmVu
dC5jcHAKICAgICBkb20vV2hlZWxFdmVudC5jcHAKICAgICBkb20vV2luZG93RXZlbnRDb250ZXh0
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDM5YjVkYjFjYmMyYWNjMTFlNDU5YmM2ZDA0MzBiMzM2M2FiNTEx
YmYuLmRhNDRiYjJhZjg1YzMzOTMxMDU0N2RjYTNiZTM2NTk2NmVhM2FmY2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw3MSBAQAorMjAxMS0wOS0yNyAgQWRhbSBLbGVpbiAgPGFkYW1rQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBbTXV0YXRpb25PYnNlcnZlcnNdIEFkZCBzdHViIGltcGxlbWVudGF0
aW9uIG9mIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02ODcyOSBmb3IgdGhlIG1ldGFidWcuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRz
IGEgc3R1YiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyIGFuZCBpdHMgc3VwcG9ydGluZyBjbGFzc2Vz
CisgICAgICAgIE11dGF0aW9uQ2FsbGJhY2sgYW5kIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zLgorICAgICAgICBObyBpbXBsZW1lbnRhdGlvbiBpcyBwcm92aWRlZCBmb3IgdGhlIGFsbC1p
bXBvcnRhbnQgb2JzZXJ2ZSgpIGFuZAorICAgICAgICBkaXNjb25uZWN0KCkgbWV0aG9kcy4KKwor
ICAgICAgICBOb3RlIHRoYXQgV2ViS2l0TXV0YXRpb25PYnNlcnZlciBhbmQgV2ViS2l0TXV0YXRp
b25PYnNlcnZlck9wdGlvbnMgYXJlCisgICAgICAgIHZlbmRvci1wcmVmaXhlZCBzaW5jZSB0aGV5
IGhhdmUgY29uc3RydWN0b3JzIGV4cG9zZWQgb24gRE9NV2luZG93LgorICAgICAgICBOb25lIG9m
IHRoZSByZXN0IG9mIHRoZSBBUEkgbmVlZHMgcHJlZml4aW5nLCBhcyBpdCdzIG9ubHkgYXZhaWxh
YmxlCisgICAgICAgIHZpYSBhIGNhbGwgdGhyb3VnaCBhIE11dGF0aW9uT2JzZXJ2ZXIgY2FsbGJh
Y2sgKGNyZWF0ZWQgYnkKKyAgICAgICAgaW5zdGFudGlhdGluZyBXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyKS4KKworICAgICAgICBHaXZlbiB0aGUgbnVtYmVyIG9mIGZpbGVzIHJlcXVpcmVkIHRvIGdl
dCBqdXN0IHRoZSBzdHViIHVwIGFuZCBydW5uaW5nLAorICAgICAgICBpdCBzZWVtcyByZWFzb25h
YmxlIHRvIGxlYXZlIHRoZSBhY3R1YWwgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBuZXh0CisgICAg
ICAgIHBhdGNoIChvciBtb3JlIGxpa2VseSBzZXZlcmFsIHBhdGNoZXMpLiAgSSd2ZSBsZWZ0IEZJ
WE1FcyBpbiBhbGwgdGhlIHBsYWNlcworICAgICAgICB0aGF0J2xsIG5lZWQgYXVnbWVudGF0aW9u
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMu
Y3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZp
bGUubGlzdC5hbToKKyAgICAgICAgKiBVc2VKU0MuY21ha2U6CisgICAgICAgICogV2ViQ29yZS5n
eXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTTXV0YXRpb25DYWxsYmFjazo6aGFuZGxlRXZlbnQp
OgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5j
cHA6IEFkZGVkLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE11dGF0aW9uQ2FsbGJh
Y2tDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlY4TXV0YXRpb25DYWxsYmFj
azo6aGFuZGxlRXZlbnQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKiBkb20vTXV0YXRpb25D
YWxsYmFjay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uQ2FsbGJhY2s6On5N
dXRhdGlvbkNhbGxiYWNrKToKKyAgICAgICAgKiBkb20vTXV0YXRpb25DYWxsYmFjay5pZGw6IEFk
ZGVkLgorICAgICAgICAqIGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpXZWJLaXRNdXRhdGlvbk9i
c2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXI6Om9ic2Vy
dmUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6ZGlzY29ubmVj
dCk6CisgICAgICAgICogZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpjcmVhdGUpOgorICAgICAgICAq
IGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmlkbDogQWRkZWQuCisgICAgICAgICogZG9tL1dl
YktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
V2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6Y2hpbGRMaXN0KToKKyAgICAgICAgKFdl
YkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRDaGlsZExpc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmF0dHJpYnV0ZXMp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldEF0
dHJpYnV0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlv
bnM6OmNoYXJhY3RlckRhdGEpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNl
cnZlck9wdGlvbnM6OnNldENoYXJhY3RlckRhdGEpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0
TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnN1YnRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
S2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldFN1YnRyZWUpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmF0dHJpYnV0ZU9sZFZhbHVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRBdHRyaWJ1
dGVPbGRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0
aW9uczo6Y2hhcmFjdGVyRGF0YU9sZFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11
dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRDaGFyYWN0ZXJEYXRhT2xkVmFsdWUpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OldlYktpdE11dGF0aW9u
T2JzZXJ2ZXJPcHRpb25zKToKKyAgICAgICAgKiBkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlck9w
dGlvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTEt
MDktMjcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5NjEzOS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcAppbmRleCA2N2YzNTZkNjAxNGI3OGNhOGFmZjY2YTQ3MjRhNzNkODdjMzEzODFiLi4wYzky
YTRlYjJlOTBlODFmOTFiYTgyNjk0M2U4Y2Q4MGY0ZmU5MzBkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwCkBAIC0yNDQsNiArMjQ0LDcgQEAKICNpbmNsdWRlICJKU01ldGFkYXRhLmNwcCIK
ICNpbmNsdWRlICJKU01ldGFkYXRhQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTTW91c2VFdmVu
dC5jcHAiCisjaW5jbHVkZSAiSlNNdXRhdGlvbkNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU011
dGF0aW9uRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTTXV0YXRpb25SZWNvcmQuY3BwIgogI2luY2x1
ZGUgIkpTTmFtZWROb2RlTWFwLmNwcCIKQEAgLTQ2NSw2ICs0NjYsOCBAQAogI2luY2x1ZGUgIkpT
V2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAiCiAjaW5jbHVkZSAiSlNXZWJLaXRDU1NUcmFuc2Zv
cm1WYWx1ZS5jcHAiCiAjaW5jbHVkZSAiSlNXZWJLaXRDU1NNYXRyaXguY3BwIgorI2luY2x1ZGUg
IkpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAiCisjaW5jbHVkZSAiSlNXZWJLaXRNdXRhdGlv
bk9ic2VydmVyT3B0aW9ucy5jcHAiCiAjaW5jbHVkZSAiSlNXZWJLaXRQb2ludC5jcHAiCiAjaW5j
bHVkZSAiSlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTV2ViU29ja2V0
LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDcyZjQ3ZTRmZDEyYTgzYTA2
ODE5YjFiYWFiZjgxZjIwZGJlNzMxMWEuLjAzM2ZiZGJjZjhkYTkwYzdjNTExNTBiN2FmYjkyMjlm
OWRkMTcwMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjk3LDYgKzI5Nyw3
IEBAIERPTV9DTEFTU0VTID0gXAogICAgIE1ldGFkYXRhIFwKICAgICBNZXRhZGF0YUNhbGxiYWNr
IFwKICAgICBNb3VzZUV2ZW50IFwKKyAgICBNdXRhdGlvbkNhbGxiYWNrIFwKICAgICBNdXRhdGlv
bkV2ZW50IFwKICAgICBNdXRhdGlvblJlY29yZCBcCiAgICAgTmFtZWROb2RlTWFwIFwKQEAgLTU1
Miw2ICs1NTMsOCBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1
ZSBcCiAgICAgV2ViS2l0RmxhZ3MgXAogICAgIFdlYktpdExvc2VDb250ZXh0IFwKKyAgICBXZWJL
aXRNdXRhdGlvbk9ic2VydmVyIFwKKyAgICBXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyBc
CiAgICAgV2ViS2l0UG9pbnQgXAogICAgIFdlYktpdFRyYW5zaXRpb25FdmVudCBcCiAgICAgV2Vi
U29ja2V0IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0g
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDc0MzZlY2YwNGQ2YjA4
NDJlNWIyYzcyZGNlMmQyOGQ0YmZhMjNhMjMuLmExMWE5N2RiZDJlZGYyMzJjNDdjOTZhNjYzNzcy
ZTk4OGNiYjY2OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNzc5LDYgKzc3
OSw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNN
ZXNzYWdlUG9ydEN1c3RvbS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0
aW9uQ2FsbGJhY2tDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05h
bWVkTm9kZU1hcEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2
aWdhdG9yQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlQ3Vz
dG9tLmNwcCBcCkBAIC04MjAsNiArODIxLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdENTU0tleWZyYW1lc1J1bGVDdXN0b20uY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1
c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0Q1NTTWF0cml4
Q3VzdG9tLmNwcCBcCisJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlv
bk9ic2VydmVyQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJL
aXRQb2ludEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViU29j
a2V0Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJDb250
ZXh0QmFzZS5jcHAgXApAQCAtMTIyMiw2ICsxMjI0LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20v
TW91c2VSZWxhdGVkRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTW91c2VSZWxhdGVk
RXZlbnQuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaCBcCiAJU291
cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20v
TXV0YXRpb25FdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25SZWNvcmQuY3Bw
IFwKQEAgLTEzMzUsNiArMTMzOCw5IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dl
YkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9XZWJL
aXRBbmltYXRpb25FdmVudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRBbmltYXRp
b25FdmVudC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5j
cHAgXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggXAorCVNv
dXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9kb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vV2hl
ZWxFdmVudC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlIGIv
U291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCmluZGV4IGUxNmUyZDlkY2E1ZDY1M2Q4ODIyZjU0
N2RlZDM1NTcxZjQxMGI2ZDUuLmNhMmU0NzIyZGViZjEzNjllZTJjMDI0OWMxNzAwODNjZDA1Nzg3
MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Vc2VKU0MuY21ha2UKQEAgLTk1LDYgKzk1LDcgQEAgTElTVChBUFBFTkQgV2ViQ29y
ZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNNZXNzYWdlQ2hhbm5lbEN1c3RvbS5jcHAKICAg
ICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9K
U01lc3NhZ2VQb3J0Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTTXV0YXRpb25DYWxsYmFj
a0N1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAKICAg
ICBiaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU05v
ZGVDdXN0b20uY3BwCkBAIC0xMjIsNiArMTIzLDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VS
Q0VTCiAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlmcmFtZVJ1bGVDdXN0b20uY3BwCiAg
ICAgYmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTV2ViS2l0Q1NTTWF0cml4Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pT
V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1dlYktp
dFBvaW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20u
Y3BwCiAgICAgYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdFVwbG9hZEN1c3RvbS5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQppbmRleCBiZWU5OGMzMzIwZTgyMzUwOTI3ODM2ZmNhYTE3YTRjOTcyNzhkODUy
Li5hMjcxNzAwMzAwODYwYmYzMGIxM2MyMWQyNDIwY2YyODNjYzdjODljIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCkBAIC0xMTg1LDYgKzExODUsNyBAQAogICAgICAgICAgICAgJ2RvbS9NZXNzYWdlRXZlbnQu
aWRsJywKICAgICAgICAgICAgICdkb20vTWVzc2FnZVBvcnQuaWRsJywKICAgICAgICAgICAgICdk
b20vTW91c2VFdmVudC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9NdXRhdGlvbkNhbGxiYWNrLmlk
bCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uRXZlbnQuaWRsJywKICAgICAgICAgICAgICdk
b20vTXV0YXRpb25SZWNvcmQuaWRsJywKICAgICAgICAgICAgICdkb20vTmFtZWROb2RlTWFwLmlk
bCcsCkBAIC0xMjEwLDYgKzEyMTEsOCBAQAogICAgICAgICAgICAgJ2RvbS9UcmVlV2Fsa2VyLmlk
bCcsCiAgICAgICAgICAgICAnZG9tL1VJRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vV2Vi
S2l0QW5pbWF0aW9uRXZlbnQuaWRsJywKKyAgICAgICAgICAgICdkb20vV2ViS2l0TXV0YXRpb25P
YnNlcnZlci5pZGwnLAorICAgICAgICAgICAgJ2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0
aW9ucy5pZGwnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaWRsJywK
ICAgICAgICAgICAgICdkb20vV2hlZWxFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkv
QmxvYi5pZGwnLApAQCAtMTg4Niw2ICsxODg5LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pT
TWVzc2FnZVBvcnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU01lc3Nh
Z2VQb3J0Q3VzdG9tLmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTXV0YXRpb25DYWxs
YmFja0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTmFtZWROb2RlTWFw
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vZGVDdXN0b20uY3BwJywKQEAgLTE5
MjUsNiArMTkyOSw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlm
cmFtZVJ1bGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dlYktpdENT
U0tleWZyYW1lc1J1bGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dl
YktpdENTU01hdHJpeEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTV2Vi
S2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pz
L0pTV2ViS2l0UG9pbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dl
YlNvY2tldEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTV29ya2VyQ29u
dGV4dEJhc2UuY3BwJywKQEAgLTIxOTMsNiArMjE5OCw3IEBACiAgICAgICAgICAgICAnYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZVBvcnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5oJywKKyAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2Rlc0NvbGxlY3Rpb24uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVzQ29sbGVjdGlvbi5o
JywKQEAgLTIyMjEsNiArMjIyNyw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4VWludDhBcnJheUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFdlYktpdEFuaW1hdGlvbkN1c3RvbS5jcHAnLAorICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRQb2ludENvbnN0cnVjdG9y
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViU29ja2V0Q3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ29udGV4dEN1
c3RvbS5jcHAnLApAQCAtNTIwNiw2ICs1MjEzLDcgQEAKICAgICAgICAgICAgICdkb20vTWVzc2Fn
ZVBvcnRDaGFubmVsLmNwcCcsCiAgICAgICAgICAgICAnZG9tL01vdXNlRXZlbnQuY3BwJywKICAg
ICAgICAgICAgICdkb20vTW91c2VSZWxhdGVkRXZlbnQuY3BwJywKKyAgICAgICAgICAgICdkb20v
TXV0YXRpb25DYWxsYmFjay5oJywKICAgICAgICAgICAgICdkb20vTXV0YXRpb25FdmVudC5jcHAn
LAogICAgICAgICAgICAgJ2RvbS9NdXRhdGlvbkV2ZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9N
dXRhdGlvblJlY29yZC5jcHAnLApAQCAtNTMxMCw2ICs1MzE4LDkgQEAKICAgICAgICAgICAgICdk
b20vVmlld3BvcnRBcmd1bWVudHMuY3BwJywKICAgICAgICAgICAgICdkb20vV2ViS2l0QW5pbWF0
aW9uRXZlbnQuY3BwJywKICAgICAgICAgICAgICdkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCcs
CisgICAgICAgICAgICAnZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwJywKKyAgICAgICAg
ICAgICdkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oJywKKyAgICAgICAgICAgICdkb20vV2Vi
S2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCcsCiAgICAgICAgICAgICAnZG9tL1dlYktpdFRy
YW5zaXRpb25FdmVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZl
bnQuaCcsCiAgICAgICAgICAgICAnZG9tL1doZWVsRXZlbnQuY3BwJywKQEAgLTc0NzQsNiArNzQ4
NSw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU01ldGFkYXRhQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vdXNlRXZlbnQuY3BwJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW91c2VFdmVudC5oJywKKyAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTXV0YXRpb25D
YWxsYmFjay5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNNdXRhdGlvbkNhbGxiYWNrLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvbkV2ZW50LmNwcCcsCiAgICAgICAg
ICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU011dGF0aW9uRXZl
bnQuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU011dGF0aW9uUmVjb3JkLmNwcCcsCkBAIC04MDA1LDYgKzgwMTgsMTAgQEAKICAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0Q1NTVHJh
bnNmb3JtVmFsdWUuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1dlYktpdExvc2VDb250ZXh0LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9E
VUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdExvc2VDb250ZXh0LmgnLAor
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJL
aXRNdXRhdGlvbk9ic2VydmVyLmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCcsCisgICAgICAg
ICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdE11dGF0
aW9uT2JzZXJ2ZXJPcHRpb25zLmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmgnLAog
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJL
aXRQb2ludC5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNXZWJLaXRQb2ludC5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCcsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUucHJvCmluZGV4IDc5YWU0MDMwNDQwYjBlMzEwODVjZDBhMzc1NTA4OGRmZTkwYWY0MjkuLmY2
MjJhNjE3NzU2M2Q2YjlhNzA2OTcwZDNjMTM5NjZkMmJmYjQ0NGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBA
IC0xODksNiArMTg5LDcgQEAgdjggewogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhNZXNz
YWdlQ2hhbm5lbENvbnN0cnVjdG9yLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OE1lc3NhZ2VQb3J0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE1l
c3NhZ2VFdmVudEN1c3RvbS5jcHAgXAorICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhNdXRh
dGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5h
bWVkTm9kZU1hcEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1l
ZE5vZGVzQ29sbGVjdGlvbi5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOb2Rl
Q3VzdG9tLmNwcCBcCkBAIC0yMDMsNiArMjA0LDcgQEAgdjggewogICAgICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhTdHlsZVNoZWV0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOFN0eWxlU2hlZXRMaXN0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOFdlYktpdEFuaW1hdGlvbkN1c3RvbS5jcHAgXAorICAgICAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOFdlYktpdFBvaW50Q29uc3RydWN0b3IuY3BwIFwKICAgICAgICAgYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ29udGV4dEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5k
aW5ncy92OC9jdXN0b20vVjhXb3JrZXJDdXN0b20uY3BwIFwKQEAgLTMxNCw2ICszMTYsNyBAQCB2
OCB7CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCBcCiAgICAg
ICAgIGJpbmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGlu
Z3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5oIFwKKyAgICAgICAgYmluZGluZ3MvanMvSlNNdXRh
dGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTmFtZWROb2Rl
TWFwQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTmF2aWdhdG9yQ3VzdG9tLmNw
cCAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU05vZGVDdXN0b20uY3BwIFwKQEAgLTM0MCw2ICsz
NDMsNyBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTV2ViS2l0Q1NTS2V5ZnJhbWVSdWxl
Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTV2ViS2l0Q1NTS2V5ZnJhbWVzUnVs
ZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdENTU01hdHJpeEN1c3Rv
bS5jcHAgXAorICAgICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0
b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRQb2ludEN1c3RvbS5jcHAgXAog
ICAgICAgICBiaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcCBcCiAgICAgICAg
IGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RVcGxvYWRDdXN0b20uY3BwIFwKQEAgLTU2NCw2
ICs1NjgsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0
b3IuY3BwIFwKICAgICBkb20vVmlld3BvcnRBcmd1bWVudHMuY3BwIFwKICAgICBkb20vV2ViS2l0
QW5pbWF0aW9uRXZlbnQuY3BwIFwKKyAgICBkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAg
XAogICAgIGRvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwIFwKICAgICBkb20vV2hlZWxFdmVu
dC5jcHAgXAogICAgIGRvbS9XaW5kb3dFdmVudENvbnRleHQuY3BwIFwKQEAgLTE1MjUsNiArMTUz
MCw3IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9NZXNzYWdlUG9ydC5oIFwKICAgICBkb20vTW91
c2VFdmVudC5oIFwKICAgICBkb20vTW91c2VSZWxhdGVkRXZlbnQuaCBcCisgICAgZG9tL011dGF0
aW9uQ2FsbGJhY2suaCBcCiAgICAgZG9tL011dGF0aW9uRXZlbnQuaCBcCiAgICAgZG9tL011dGF0
aW9uUmVjb3JkLmggXAogICAgIGRvbS9OYW1lZE5vZGVNYXAuaCBcCkBAIC0xNTc2LDYgKzE1ODIs
OCBAQCBIRUFERVJTICs9IFwKICAgICBkb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaCBcCiAgICAg
ZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmggXAogICAgIGRvbS9XZWJLaXRBbmltYXRpb25FdmVudC5o
IFwKKyAgICBkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIFwKKyAgICBkb20vV2ViS2l0TXV0
YXRpb25PYnNlcnZlck9wdGlvbnMuaCBcCiAgICAgZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5o
IFwKICAgICBkb20vV2hlZWxFdmVudC5oIFwKICAgICBlZGl0aW5nL0FwcGVuZE5vZGVDb21tYW5k
LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRl
eCBhMTFiNDdlNzY4MzM3NWQxNzdlNjJhMjlkYmEwYjhiMGEyN2NmZGU4Li4zODc3ZDE5ZWNkYzBm
ZDE4ZTA3Y2UwZDE5MjRhOGY4ZTE5MjBlNGQzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTE1OTgsNiArMTE1OTgsNjIgQEAKIAkJCQk+CiAJ
CQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVp
bGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU011dGF0aW9uQ2FsbGJh
Y2suY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2lu
MzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NG
TGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFz
ZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFt
ZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRp
dmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTTXV0YXRpb25DYWxsYmFjay5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTXV0YXRpb25FdmVudC5jcHAiCiAJCQkJPgogCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtMjI5NjYsNiArMjMwMjIsMTE4IEBACiAJCQkJPgogCQkJ
PC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxk
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNXZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRl
YnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNl
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWly
b19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJ
CQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJl
bGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkv
PgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkv
PgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJl
bGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1dlYktpdE11dGF0aW9uT2JzZXJ2
ZXJPcHRpb25zLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxl
YXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19D
YWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmgiCisJCQkJ
PgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNXZWJLaXRQb2lu
dC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtNjMzNTMsNiArNjM1MjEs
NTggQEAKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGJpbmRpbmdzXGpzXEpTTXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAiCisJCQkJCT4KKwkJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
KwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NG
TGl0ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJ
CQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1l
PSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xK
U05hbWVkTm9kZU1hcEN1c3RvbS5jcHAiCiAJCQkJCT4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9u
CkBAIC02NDg5Myw2ICs2NTExMyw1OCBAQAogCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJ
CTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpT
V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAiCisJCQkJCT4KKwkJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIK
KwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlX0Nh
aXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJ
PgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4K
KwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8L0ZpbGU+CisJ
CQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU1dlYktpdFBvaW50
Q3VzdG9tLmNwcCIKIAkJCQkJPgogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0ODZlZmNm
NmI4YjFkY2JiNjFmOWJkNzkxMmQxMTQzOTJjMDJlZTNjLi5mZmYxMTE2MjNkMzQ3NWZhNWExMDE4
ZGY4NTY3Y2RhNjAzOWNjMTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01NDQ3LDYgKzU0NDcsMTggQEAKIAkJQzZGMDhGQkQx
NDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9uUmVjb3JkLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOEZCQTE0MzBGRThGMDA2ODU4NDkgLyogTXV0
YXRpb25SZWNvcmQuaCAqLzsgfTsKIAkJQzZGMDhGQzkxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0
YXRpb25SZWNvcmQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzZGMDhGQzcxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmQuY3BwICov
OyB9OwogCQlDNkYwOEZDQTE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlvblJlY29yZC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDhGQzgxNDMx
MDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmQuaCAqLzsgfTsKKwkJQzZGMDkwMEExNDMy
N0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDAxMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRh
dGlvbkNhbGxiYWNrLmggKi87IH07CisJCUM2RjA5MDBFMTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJL
aXRNdXRhdGlvbk9ic2VydmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEM2RjA5MDA1MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmNwcCAqLzsgfTsKKwkJQzZGMDkwMEYxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEM2RjA5MDA2MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVy
LmggKi87IH07CisJCUM2RjA5MDExMTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9i
c2VydmVyT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzZGMDkwMDgxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJP
cHRpb25zLmggKi87IH07CisJCUM2RjA5MDI4MTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9u
Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzZGMDkwMjAxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFjay5jcHAgKi87
IH07CisJCUM2RjA5MDI5MTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDIxMTQz
MjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suaCAqLzsgfTsKKwkJQzZGMDkwMkMx
NDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAyNDE0MzI3RDRGMDA2
ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCAqLzsgfTsKKwkJQzZGMDkwMkQx
NDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkwMjUxNDMyN0Q0RjAwNjg1
ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oICovOyB9OworCQlDNkYwOTAyRTE0MzI3
RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAyNjE0MzI3RDRG
MDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5jcHAgKi87IH07CisJ
CUM2RjA5MDJGMTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYw
OTAyNzE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5o
ICovOyB9OworCQlDNkYwOTE3RjE0M0EyQkI5MDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9i
c2VydmVyQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEM2RjA5MTdFMTQzQTJCQjkwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2
ZXJDdXN0b20uY3BwICovOyB9OworCQlDNkYwOTE4NTE0M0E2QzNCMDA2ODU4NDkgLyogSlNNdXRh
dGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEM2RjA5MTg0MTQzQTZDM0IwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJh
Y2tDdXN0b20uY3BwICovOyB9OwogCQlDNkY0MTA0NzEzMEM2RTg5MDAzOTNERTQgLyogRW50cnlC
YXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2
RjQxMDQ2MTMwQzZFODkwMDM5M0RFNCAvKiBFbnRyeUJhc2UuY3BwICovOyB9OwogCQlDQTNCRjY3
QzEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8q
IFNjcm9sbEFuaW1hdG9yLmNwcCAqLzsgfTsKIAkJQ0EzQkY2N0UxMEQ5OUJBRTAwRTZDRTUzIC8q
IFNjcm9sbEFuaW1hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCAqLzsg
fTsKQEAgLTEyMjI3LDYgKzEyMjM5LDIxIEBACiAJCUM2RjA4RkJCMTQzMEZFOEYwMDY4NTg0OSAv
KiBNdXRhdGlvblJlY29yZC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTXV0YXRpb25SZWNv
cmQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNkYwOEZDNzE0MzEwMDBEMDA2
ODU4NDkgLyogSlNNdXRhdGlvblJlY29yZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU011dGF0aW9uUmVjb3JkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQzZGMDhGQzgxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNdXRhdGlvblJlY29yZC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAwMTE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRp
b25DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNdXRhdGlvbkNh
bGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDAyMTQzMjdCNjEw
MDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBN
dXRhdGlvbkNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkw
MDUxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDA2MTQzMjdCNjEwMDY4NTg0OSAv
KiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQzZGMDkwMDcxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAwODE0MzI3QjYxMDA2ODU4NDkgLyogV2Vi
S2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQzZGMDkwMDkxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXJPcHRpb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJLaXRNdXRhdGlvbk9i
c2VydmVyT3B0aW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDIw
MTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNdXRhdGlvbkNhbGxiYWNrLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkwMjExNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRp
b25DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU011dGF0aW9u
Q2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkwMjQxNDMyN0Q0
RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAyNTE0MzI3RDRGMDA2ODU4NDkgLyogSlNX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlDNkYwOTAyNjE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0
aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYktpdE11
dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QzZGMDkwMjcxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlv
bnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWJLaXRNdXRhdGlvbk9i
c2VydmVyT3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTE3RTE0
M0EyQkI5MDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViS2l0TXV0YXRpb25PYnNlcnZl
ckN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MTg0MTQzQTZD
M0IwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzZGNDEwNDYxMzBDNkU4OTAwMzkzREU0IC8qIEVu
dHJ5QmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBFbnRyeUJh
c2UuY3BwOyBwYXRoID0gZmlsZWFwaS9FbnRyeUJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDQTNCRjY3QjEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Nyb2xsQW5pbWF0b3IuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMg
LyogU2Nyb2xsQW5pbWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Ny
b2xsQW5pbWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3NDQ2LDYgKzE3
NDczLDggQEAKIAkJCQk0OUM5RjQ4QjEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRy
YWNrLmggKi8sCiAJCQkJNDlDOUY0OEMxM0Q1N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1U
cmFja0xpc3QuY3BwICovLAogCQkJCTQ5QzlGNDhEMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlh
U3RyZWFtVHJhY2tMaXN0LmggKi8sCisJCQkJQzZGMDkwMjAxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpT
TXV0YXRpb25DYWxsYmFjay5jcHAgKi8sCisJCQkJQzZGMDkwMjExNDMyN0Q0RjAwNjg1ODQ5IC8q
IEpTTXV0YXRpb25DYWxsYmFjay5oICovLAogCQkJCUM2RjA4RkM3MTQzMTAwMEQwMDY4NTg0OSAv
KiBKU011dGF0aW9uUmVjb3JkLmNwcCAqLywKIAkJCQlDNkYwOEZDODE0MzEwMDBEMDA2ODU4NDkg
LyogSlNNdXRhdGlvblJlY29yZC5oICovLAogCQkJCUJDRDlDMkJDMEMxN0I2OUUwMDVDOTBBMiAv
KiBKU05hbWVkTm9kZU1hcC5jcHAgKi8sCkBAIC0xNzQ4MCw2ICsxNzUwOSwxMCBAQAogCQkJCTc1
NDE1RDU0MTI5QUIyRDIwMDNBRDY2OSAvKiBKU1NwZWVjaElucHV0UmVzdWx0TGlzdC5oICovLAog
CQkJCTY1REYzMUVGMDlEMUNDNjAwMDBCRTMyNSAvKiBKU1RleHQuY3BwICovLAogCQkJCTY1REYz
MUYwMDlEMUNDNjAwMDBCRTMyNSAvKiBKU1RleHQuaCAqLywKKwkJCQlDNkYwOTAyNDE0MzI3RDRG
MDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCAqLywKKwkJCQlDNkYwOTAy
NTE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggKi8sCisJCQkJ
QzZGMDkwMjYxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlv
bnMuY3BwICovLAorCQkJCUM2RjA5MDI3MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0
aW9uT2JzZXJ2ZXJPcHRpb25zLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IENvcmU7CiAJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTg4MjYsNiArMTg4NTksNyBAQAogCQkJCTQxMEI3RTcx
MTA0NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJRTFB
REVENDYwRTc2QjhERDAwNEExQTVFIC8qIEpTTWVzc2FnZVBvcnRDdXN0b20uY3BwICovLAogCQkJ
CTQxRjU4NEM2MTA0NjUyQ0IwMDlDQUE2NCAvKiBKU01lc3NhZ2VQb3J0Q3VzdG9tLmggKi8sCisJ
CQkJQzZGMDkxODQxNDNBNkMzQjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFja0N1c3RvbS5j
cHAgKi8sCiAJCQkJQkNEOUMyNUYwQzE3QUE2NzAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwQ3Vz
dG9tLmNwcCAqLywKIAkJCQlBOUM2RTY0ODBENzQ2NUQ4MDA2NDQyRTkgLyogSlNOYXZpZ2F0b3JD
dXN0b20uY3BwICovLAogCQkJCUJDRDlDMjYwMEMxN0FBNjcwMDVDOTBBMiAvKiBKU05vZGVDdXN0
b20uY3BwICovLApAQCAtMTg4NTgsNiArMTg4OTIsNyBAQAogCQkJCUUxQUQxNEM0MTI5NzM1NDkw
MEFDQTk4OSAvKiBKU1dlYktpdENTU0tleWZyYW1lUnVsZUN1c3RvbS5jcHAgKi8sCiAJCQkJRTFB
RDE0QjQxMjk3MzRDQTAwQUNBOTg5IC8qIEpTV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZUN1c3RvbS5j
cHAgKi8sCiAJCQkJQkMyNzVCN0MxMUM1RDIzNTAwQzkyMDZDIC8qIEpTV2ViS2l0Q1NTTWF0cml4
Q3VzdG9tLmNwcCAqLywKKwkJCQlDNkYwOTE3RTE0M0EyQkI5MDA2ODU4NDkgLyogSlNXZWJLaXRN
dXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCAqLywKIAkJCQlCQzI3NUI3ODExQzVEMUMzMDBDOTIw
NkMgLyogSlNXZWJLaXRQb2ludEN1c3RvbS5jcHAgKi8sCiAJCQkJNTE4QTM0QzYxMDI2QzhDOTAw
MUI2ODk2IC8qIEpTV2ViU29ja2V0Q3VzdG9tLmNwcCAqLywKIAkJCQlFMTgyNThBQjBFRjNDRDcw
MDA5MzMyNDIgLyogSlNXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCAqLywKQEAgLTIwMDU0LDYgKzIw
MDg5LDggQEAKIAkJCQkxNDFCOTRFNTA5RUM0MjIzMDAwRTk0MTMgLyogTW91c2VFdmVudC5pZGwg
Ki8sCiAJCQkJODUwMzFCMzEwQTQ0RUZDNzAwRjk5MkUwIC8qIE1vdXNlUmVsYXRlZEV2ZW50LmNw
cCAqLywKIAkJCQk4NTAzMUIzMjBBNDRFRkM3MDBGOTkyRTAgLyogTW91c2VSZWxhdGVkRXZlbnQu
aCAqLywKKwkJCQlDNkYwOTAwMTE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5o
ICovLAorCQkJCUM2RjA5MDAyMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmlk
bCAqLywKIAkJCQk4NTAzMUIzMzBBNDRFRkM3MDBGOTkyRTAgLyogTXV0YXRpb25FdmVudC5jcHAg
Ki8sCiAJCQkJODUwMzFCMzQwQTQ0RUZDNzAwRjk5MkUwIC8qIE11dGF0aW9uRXZlbnQuaCAqLywK
IAkJCQk5M0VFQzFGMzA5QzI4Nzc3MDBDNTE1RDEgLyogTXV0YXRpb25FdmVudC5pZGwgKi8sCkBA
IC0yMDE5NSw2ICsyMDIzMiwxMSBAQAogCQkJCTMxQzBGRjFCMEU0Q0VCNkUwMDdENkZFNSAvKiBX
ZWJLaXRBbmltYXRpb25FdmVudC5jcHAgKi8sCiAJCQkJMzFDMEZGMUMwRTRDRUI2RTAwN0Q2RkU1
IC8qIFdlYktpdEFuaW1hdGlvbkV2ZW50LmggKi8sCiAJCQkJMzFDMEZGMUQwRTRDRUI2RTAwN0Q2
RkU1IC8qIFdlYktpdEFuaW1hdGlvbkV2ZW50LmlkbCAqLywKKwkJCQlDNkYwOTAwNTE0MzI3QjYx
MDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgKi8sCisJCQkJQzZGMDkwMDYx
NDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCAqLywKKwkJCQlDNkYw
OTAwNzE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5pZGwgKi8sCisJ
CQkJQzZGMDkwMDgxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zLmggKi8sCisJCQkJQzZGMDkwMDkxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXJPcHRpb25zLmlkbCAqLywKIAkJCQkzMUMwRkYxRTBFNENFQjZFMDA3RDZGRTUgLyog
V2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCAqLywKIAkJCQkzMUMwRkYxRjBFNENFQjZFMDA3RDZG
RTUgLyogV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggKi8sCiAJCQkJMzFDMEZGMjAwRTRDRUI2RTAw
N0Q2RkU1IC8qIFdlYktpdFRyYW5zaXRpb25FdmVudC5pZGwgKi8sCkBAIC0yMjE4Myw2ICsyMjIy
NSw3IEBACiAJCQkJODk4Nzg1QjcxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGEuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTg5ODc4NUI5MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NjYyOUQxMDlEQTJCNDgwMDk2MzNBNSAvKiBK
U01vdXNlRXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUM2RjA5MDI5MTQzMjdENEYwMDY4NTg0
OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTY1REYzMUZDMDlE
MUNDNjAwMDBCRTMyNSAvKiBKU011dGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM2
RjA4RkNBMTQzMTAwMEQwMDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQ0Q5QzJDMTBDMTdCNjlFMDA1QzkwQTIgLyogSlNOYW1lZE5vZGVNYXAuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjI0MjMsNiArMjI0NjYsOCBAQAogCQkJCTMxNjExRTVCMEUxQzRERTAw
MEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4OTg3ODVCNTEyMkNBMkE3MDAzQUFCREEgLyogSlNXZWJLaXRGbGFncy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTNGMUQ1QzExMkQ1MzM1NjAwODMyQkVDIC8qIEpTV2ViS2l0TG9zZUNvbnRleHQu
aCBpbiBIZWFkZXJzICovLAorCQkJCUM2RjA5MDJEMTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktp
dE11dGF0aW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUM2RjA5MDJGMTQzMjdENEYw
MDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggaW4gSGVhZGVycyAq
LywKIAkJCQk0OTRCRDc5RTBGNTVDOTRDMDA3NDc4MjggLyogSlNXZWJLaXRQb2ludC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMzFDMEZGNDAwRTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0VHJhbnNp
dGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1REE1RTBGRDEwMkI5NTM4MDAwODhDRjkg
LyogSlNXZWJTb2NrZXQuaCBpbiBIZWFkZXJzICovLApAQCAtMjI1NTYsNiArMjI2MDEsNyBAQAog
CQkJCTg1MDMxQjQ4MEE0NEVGQzcwMEY5OTJFMCAvKiBNb3VzZVJlbGF0ZWRFdmVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTMzMDlERkMwOTlFNjQ5MjAwNTZFNTgxIC8qIE1vdmVTZWxlY3Rpb25D
b21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMUFENEU2MzEzQTEyQTBCMDA4NDZCMjcgLyog
TXV0YWJsZVRleHRUcmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzZGMDkwMEExNDMyN0I2MTAw
Njg1ODQ5IC8qIE11dGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMxQjRB
MEE0NEVGQzcwMEY5OTJFMCAvKiBNdXRhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlD
NkYwOEZCRDE0MzBGRThGMDA2ODU4NDkgLyogTXV0YXRpb25SZWNvcmQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE4MTg3MjIzMDk3N0QzQzAwMDU4MjZEOSAvKiBOYW1lZE5vZGVNYXAuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjM0MjQsNiArMjM0NzAsOCBAQAogCQkJCUJDOUFERDIzMENDNDAzMjYwMDA5
OEM0QyAvKiBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODk4
Nzg1NjYxMjJDQTA2NDAwM0FBQkRBIC8qIFdlYktpdEZsYWdzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5M0YxRDVCQjEyRDUzMkM0MDA4MzJCRUMgLyogV2ViS2l0TG9zZUNvbnRleHQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUM2RjA5MDBGMTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDNkYwOTAxMTE0MzI3QjYxMDA2ODU4NDkgLyog
V2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5NEJE
Nzk1MEY1NUM4RUUwMDc0NzgyOCAvKiBXZWJLaXRQb2ludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MzFDMEZGMjUwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdFRyYW5zaXRpb25FdmVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEZDRjMzMkYwRjJCOUEyNTAwNEI2Nzk1IC8qIFdlYkxheWVyLmggaW4g
SGVhZGVycyAqLywKQEAgLTI1MjA3LDYgKzI1MjU1LDggQEAKIAkJCQk4OTg3ODVCNjEyMkNBMkE3
MDAzQUFCREEgLyogSlNNZXRhZGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4OTg3ODVCODEy
MkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0YUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE4NjYyOUQyMDlEQTJCNDgwMDk2MzNBNSAvKiBKU01vdXNlRXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQzZGMDkwMjgxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFj
ay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNkYwOTE4NTE0M0E2QzNCMDA2ODU4NDkgLyogSlNN
dXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTY1REYzMUZCMDlE
MUNDNjAwMDBCRTMyNSAvKiBKU011dGF0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QzZGMDhGQzkxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkNEOUMyQzAwQzE3QjY5RTAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwLmNw
cCBpbiBTb3VyY2VzICovLApAQCAtMjU0NzksNiArMjU1MjksOSBAQAogCQkJCTMxNjExRTVBMEUx
QzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTg5ODc4NUI0MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU1dlYktpdEZsYWdzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTkzRjFENUMwMTJENTMzNTYwMDgzMkJFQyAvKiBKU1dlYktpdExv
c2VDb250ZXh0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUM2RjA5MDJDMTQzMjdENEYwMDY4NTg0
OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzZG
MDkxN0YxNDNBMkJCOTAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlDNkYwOTAyRTE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJL
aXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTRCRDc5
RDBGNTVDOTRDMDA3NDc4MjggLyogSlNXZWJLaXRQb2ludC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCQzI3NUI3OTExQzVEMUMzMDBDOTIwNkMgLyogSlNXZWJLaXRQb2ludEN1c3RvbS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkzMUMwRkYzRjBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJLaXRUcmFu
c2l0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNjI4MSw2ICsyNjMzNCw3IEBACiAJ
CQkJNDk4MzkxNTgwRjFFNzc2OTAwQzIzNzgyIC8qIFdlYktpdENTU01hdHJpeC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQzlBREQ4MDBDQzQwOTIyMDAwOThDNEMgLyogV2ViS2l0Q1NTVHJhbnNm
b3JtVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNGMUQ1QkExMkQ1MzJDNDAwODMyQkVD
IC8qIFdlYktpdExvc2VDb250ZXh0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUM2RjA5MDBFMTQz
MjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTMxQzBGRjI0MEU0Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRUcmFuc2l0aW9uRXZlbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZDRjMzMkUwRjJCOUEyNTAwNEI2Nzk1IC8qIFdlYkxh
eWVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFBMzE2MkUxMzRCQzMyRDAwN0M5QTRGIC8qIFdl
Yk5TQXR0cmlidXRlZFN0cmluZ0V4dHJhcy5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDY0NzU2YzFiODYwMGYxMzEzYzRhMDBhZDRmMjBjY2I4NTJkNTMyNgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTXV0YXRpb25DYWxs
YmFja0N1c3RvbS5jcHAKQEAgLTAsMCArMSw3MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lm
IEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNpbmNsdWRlICJKU011dGF0aW9uQ2FsbGJh
Y2suaCIKKworI2luY2x1ZGUgIkpTTXV0YXRpb25SZWNvcmQuaCIKKyNpbmNsdWRlICJKU1dlYktp
dE11dGF0aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0Lmgi
CisjaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4KKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sIEpTTXV0YXRpb25DYWxsYmFjazo6aGFuZGxlRXZl
bnQoTXV0YXRpb25SZWNvcmRBcnJheSogbXV0YXRpb25zLCBXZWJLaXRNdXRhdGlvbk9ic2VydmVy
KiBvYnNlcnZlcikKK3sKKyAgICBpZiAoIWNhbkludm9rZUNhbGxiYWNrKCkpCisgICAgICAgIHJl
dHVybiB0cnVlOworCisgICAgUmVmUHRyPEpTTXV0YXRpb25DYWxsYmFjaz4gcHJvdGVjdCh0aGlz
KTsKKworICAgIEpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7CisKKyAgICBFeGVj
U3RhdGUqIGV4ZWMgPSBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCk7CisKKyAg
ICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBtdXRhdGlvbkxpc3Q7CisgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBtdXRhdGlvbnMtPnNpemUoKTsgKytpKQorICAgICAgICBtdXRhdGlvbkxpc3QuYXBw
ZW5kKHRvSlMoZXhlYywgbV9kYXRhLT5nbG9iYWxPYmplY3QoKSwgbXV0YXRpb25zLT5hdChpKS5n
ZXQoKSkpOworCisgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKKyAgICBhcmdzLmFwcGVu
ZChjb25zdHJ1Y3RBcnJheShleGVjLCBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLCBtdXRhdGlvbkxp
c3QpKTsKKyAgICBhcmdzLmFwcGVuZCh0b0pTKGV4ZWMsIG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCks
IG9ic2VydmVyKSk7CisKKyAgICBib29sIHJhaXNlZEV4Y2VwdGlvbiA9IGZhbHNlOworICAgIG1f
ZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgJnJhaXNlZEV4Y2VwdGlvbik7CisgICAgcmV0dXJu
ICFyYWlzZWRFeGNlcHRpb247Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yNWNlNjc1ZjhiMTZlZmYwZWYwZDA2Mzg0MTM0Mzg5ZmVjZmY0MDZjCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlv
bk9ic2VydmVyQ3VzdG9tLmNwcApAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
CisjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgIkpTV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5oIgorCisjaW5jbHVkZSAiSlNNdXRhdGlvbkNhbGxiYWNrLmgiCisjaW5j
bHVkZSAiV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3Iu
aD4KKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckNvbnN0cnVj
dG9yOjpjb25zdHJ1Y3RKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIoRXhlY1N0YXRlKiBleGVjKQor
eworICAgIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yKiBqc0NvbnN0cnVjdG9y
ID0gc3RhdGljX2Nhc3Q8SlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3IqPihleGVj
LT5jYWxsZWUoKSk7CisgICAgaWYgKCFqc0NvbnN0cnVjdG9yKQorICAgICAgICByZXR1cm4gdGhy
b3dWTUVycm9yKGV4ZWMsIGNyZWF0ZVJlZmVyZW5jZUVycm9yKGV4ZWMsICJXZWJLaXRNdXRhdGlv
bk9ic2VydmVyIGNvbnN0cnVjdG9yIGNhbGxlZSBpcyB1bmF2YWlsYWJsZSIpKTsKKworICAgIGlm
IChleGVjLT5hcmd1bWVudENvdW50KCkgPCAxKQorICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9y
KGV4ZWMsIGNyZWF0ZVR5cGVFcnJvcihleGVjLCAiTm90IGVub3VnaCBhcmd1bWVudHMiKSk7CisK
KyAgICBSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4gY2FsbGJhY2s7CisgICAgaWYgKCFleGVjLT5h
cmd1bWVudCgwKS5pc1VuZGVmaW5lZE9yTnVsbCgpKSB7CisgICAgICAgIGlmIChKU09iamVjdCog
b2JqZWN0ID0gZXhlYy0+YXJndW1lbnQoMCkuZ2V0T2JqZWN0KCkpCisgICAgICAgICAgICBjYWxs
YmFjayA9IEpTTXV0YXRpb25DYWxsYmFjazo6Y3JlYXRlKG9iamVjdCwganNDb25zdHJ1Y3Rvci0+
Z2xvYmFsT2JqZWN0KCkpOworICAgIH0KKyAgICBpZiAoIWNhbGxiYWNrKQorICAgICAgICByZXR1
cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0ZVR5cGVFcnJvcihleGVjLCAiQXJndW1lbnQgaXMg
bm90IGFuIE9iamVjdCIpKTsKKworICAgIFJlZlB0cjxXZWJLaXRNdXRhdGlvbk9ic2VydmVyPiBv
YnNlcnZlciA9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OmNyZWF0ZShjYWxsYmFjay5yZWxlYXNl
KCkpOworCisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShhc09iamVjdCh0b0pTKGV4ZWMsIGpz
Q29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgpLCBvYnNlcnZlci5yZWxlYXNlKCkpKSk7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9PQlNF
UlZFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhN
dXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOE11dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAzM2ViOGMxYjk4
MDliN2MzY2I2NmQ5YjlhNGZhNzQxYWNhZTY0NzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcApA
QCAtMCwwICsxLDg5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE1VVEFUSU9O
X09CU0VSVkVSUykKKworI2luY2x1ZGUgIlY4TXV0YXRpb25DYWxsYmFjay5oIgorCisjaW5jbHVk
ZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgorI2lu
Y2x1ZGUgIlY4Q3VzdG9tVm9pZENhbGxiYWNrLmgiCisjaW5jbHVkZSAiVjhNdXRhdGlvblJlY29y
ZC5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRlICJWOFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXIuaCIKKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9HZXRQ
dHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sIFY4TXV0YXRpb25DYWxsYmFjazo6aGFu
ZGxlRXZlbnQoTXV0YXRpb25SZWNvcmRBcnJheSogbXV0YXRpb25zLCBXZWJLaXRNdXRhdGlvbk9i
c2VydmVyKiBvYnNlcnZlcikKK3sKKyAgICBpZiAoIWNhbkludm9rZUNhbGxiYWNrKCkpCisgICAg
ICAgIHJldHVybiB0cnVlOworCisgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOworCisg
ICAgdjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gdjhDb250ZXh0ID0gdG9WOENvbnRleHQoc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLCBtX3dvcmxkQ29udGV4dCk7CisgICAgaWYgKHY4Q29udGV4dC5J
c0VtcHR5KCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgdjg6OkNvbnRleHQ6OlNjb3Bl
IHNjb3BlKHY4Q29udGV4dCk7CisKKyAgICBpZiAoIW11dGF0aW9ucykgeworICAgICAgICBDUkFT
SCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICB2ODo6TG9jYWw8djg6OkFy
cmF5PiBtdXRhdGlvbnNBcnJheSA9IHY4OjpBcnJheTo6TmV3KG11dGF0aW9ucy0+c2l6ZSgpKTsK
KyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG11dGF0aW9ucy0+c2l6ZSgpOyArK2kpCisgICAg
ICAgIG11dGF0aW9uc0FycmF5LT5TZXQodjg6OkludGVnZXI6Ok5ldyhpKSwgdG9WOChtdXRhdGlv
bnMtPmF0KGkpLmdldCgpKSk7CisKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gb2JzZXJ2ZXJI
YW5kbGUgPSB0b1Y4KG9ic2VydmVyKTsKKyAgICBpZiAob2JzZXJ2ZXJIYW5kbGUuSXNFbXB0eSgp
KSB7CisgICAgICAgIENSQVNIKCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAg
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmd2W10gPSB7CisgICAgICAgIG11dGF0aW9uc0FycmF5
LAorICAgICAgICBvYnNlcnZlckhhbmRsZQorICAgIH07CisKKyAgICBib29sIGNhbGxiYWNrUmV0
dXJuVmFsdWUgPSBmYWxzZTsKKyAgICByZXR1cm4gIWludm9rZUNhbGxiYWNrKG1fY2FsbGJhY2ss
IDIsIGFyZ3YsIGNhbGxiYWNrUmV0dXJuVmFsdWUsIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElP
Tl9PQlNFUlZFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjk2MDBkMTlkNmRjZjA1NjU1ZDcyNTYyY2FlODJlNjVhMWFhODJkMDQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRh
dGlvbk9ic2VydmVyQ3VzdG9tLmNwcApAQCAtMCwwICsxLDczIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorCisjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgIlY4V2ViS2l0
TXV0YXRpb25PYnNlcnZlci5oIgorCisjaW5jbHVkZSAiVjhET01XcmFwcGVyLmgiCisjaW5jbHVk
ZSAiVjhNdXRhdGlvbkNhbGxiYWNrLmgiCisjaW5jbHVkZSAiVjhQcm94eS5oIgorI2luY2x1ZGUg
IlY4VXRpbGl0aWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUygiRE9NLldlYktpdE11dGF0
aW9uT2JzZXJ2ZXIuQ29uc3RydWN0b3IiKTsKKworICAgIGlmICghYXJncy5Jc0NvbnN0cnVjdENh
bGwoKSkKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3Ig
Y2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLiIsIFY4UHJveHk6OlR5cGVFcnJvcik7CisK
KyAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJO
b3QgZW5vdWdoIGFyZ3VtZW50cyIsIFY4UHJveHk6OlR5cGVFcnJvcik7CisKKyAgICB2ODo6TG9j
YWw8djg6OlZhbHVlPiBhcmcgPSBhcmdzWzBdOworICAgIGlmICghYXJnLT5Jc09iamVjdCgpKQor
ICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiQXJndW1lbnQgbXVzdCBiZSBhbiBPYmplY3QiLCBW
OFByb3h5OjpUeXBlRXJyb3IpOworCisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCA9IGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICBpZiAoIWNvbnRleHQpCisgICAg
ICAgIHJldHVybiB0aHJvd0Vycm9yKCJXZWJLaXRNdXRhdGlvbk9ic2VydmVyIGNvbnN0cnVjdG9y
J3MgYXNzb2NpYXRlZCBmcmFtZSB1bmF2YWlsYWJsZSIsIFY4UHJveHk6OlJlZmVyZW5jZUVycm9y
KTsKKworICAgIFJlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPiBjYWxsYmFjayA9IFY4TXV0YXRpb25D
YWxsYmFjazo6Y3JlYXRlKGFyZywgY29udGV4dCk7CisgICAgUmVmUHRyPFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXI+IG9ic2VydmVyID0gV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6Y3JlYXRlKGNhbGxi
YWNrLnJlbGVhc2UoKSk7CisKKyAgICBWOERPTVdyYXBwZXI6OnNldERPTVdyYXBwZXIoYXJncy5I
b2xkZXIoKSwgJmluZm8sIG9ic2VydmVyLmdldCgpKTsKKyAgICBvYnNlcnZlci0+cmVmKCk7Cisg
ICAgVjhET01XcmFwcGVyOjpzZXRKU1dyYXBwZXJGb3JET01PYmplY3Qob2JzZXJ2ZXIuZ2V0KCks
IHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+OjpOZXcoYXJncy5Ib2xkZXIoKSkpOworICAgIHJl
dHVybiBhcmdzLkhvbGRlcigpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNh
bGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODA3MzljODhhZDc4YjEzMTU5OTJkOGY2NjZkOTBiMjQwYWU3
ZWFkOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxi
YWNrLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTXV0YXRpb25DYWxsYmFja19oCisjZGVmaW5l
IE11dGF0aW9uQ2FsbGJhY2tfaAorCisjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKwor
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNdXRh
dGlvblJlY29yZDsKK2NsYXNzIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI7CisKK3R5cGVkZWYgVmVj
dG9yPFJlZlB0cjxNdXRhdGlvblJlY29yZD4gPiBNdXRhdGlvblJlY29yZEFycmF5OworCitjbGFz
cyBNdXRhdGlvbkNhbGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8TXV0YXRpb25DYWxsYmFjaz4g
eworcHVibGljOgorICAgIHZpcnR1YWwgfk11dGF0aW9uQ2FsbGJhY2soKSB7IH0KKworICAgIHZp
cnR1YWwgYm9vbCBoYW5kbGVFdmVudChNdXRhdGlvblJlY29yZEFycmF5KiwgV2ViS2l0TXV0YXRp
b25PYnNlcnZlciopID0gMDsKK307CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9P
QlNFUlZFUlMpCisKKyNlbmRpZiAvLyBNdXRhdGlvbkNhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9NdXRhdGlvbkNhbGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjM4MTcxNGM4MDllYTdjYTQ3ODRj
NmIzYjAzMTFiODk3OWY4MTc1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L011dGF0aW9uQ2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgY29yZSB7CisgICAg
aW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TVVUQVRJT05fT0JTRVJWRVJTLAorICAg
ICAgICBDYWxsYmFjaworICAgIF0gTXV0YXRpb25DYWxsYmFjayB7CisgICAgICAgIFtDdXN0b21d
IGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gTXV0YXRpb25SZWNvcmRBcnJheSBtdXRhdGlvbnMsIGlu
IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIgb2JzZXJ2ZXIpOworICAgIH07Cit9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDM2ZmFm
Y2MzODc0M2I1MmY1Zjg0YzMzNDkwZDk1N2QxMjBjZGEzMwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcApAQCAtMCwwICsxLDY3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykK
KworI2luY2x1ZGUgIldlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCIKKworI2luY2x1ZGUgIk11dGF0
aW9uQ2FsbGJhY2suaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRyPFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXI+IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OmNyZWF0ZShQYXNzUmVm
UHRyPE11dGF0aW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQoreworICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgV2ViS2l0TXV0YXRpb25PYnNlcnZlcihjYWxsYmFjaykpOworfQorCitXZWJLaXRNdXRhdGlv
bk9ic2VydmVyOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyKFBhc3NSZWZQdHI8TXV0YXRpb25DYWxs
YmFjaz4gY2FsbGJhY2spCisgICAgOiBtX2NhbGxiYWNrKGNhbGxiYWNrKQoreworfQorCitXZWJL
aXRNdXRhdGlvbk9ic2VydmVyOjp+V2ViS2l0TXV0YXRpb25PYnNlcnZlcigpCit7Cit9CisKK3Zv
aWQgV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZShOb2RlKiwgV2ViS2l0TXV0YXRpb25P
YnNlcnZlck9wdGlvbnMqKQoreworICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKK30KKwordm9pZCBX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpkaXNjb25uZWN0KCkKK3sKKyAgICAvLyBGSVhNRTogaW1w
bGVtZW50Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShN
VVRBVElPTl9PQlNFUlZFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yNDMwNGIyNjNjY2MyNDMzMmIxNTU2NWNiMDA2ZGU5MzkzMzRj
MGIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9u
T2JzZXJ2ZXIuaApAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVy
X2gKKyNkZWZpbmUgV2ViS2l0TXV0YXRpb25PYnNlcnZlcl9oCisKKyNpZiBFTkFCTEUoTVVUQVRJ
T05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBNdXRhdGlvbkNhbGxiYWNrOworY2xhc3MgTm9kZTsKK2NsYXNzIFdl
YktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOworCitjbGFzcyBXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViS2l0TXV0YXRpb25PYnNlcnZlcj4geworcHVibGlj
OgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI+IGNyZWF0ZShQ
YXNzUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+KTsKKworICAgIH5XZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyKCk7CisKKyAgICB2b2lkIG9ic2VydmUoTm9kZSosIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJP
cHRpb25zKik7CisgICAgdm9pZCBkaXNjb25uZWN0KCk7CisKK3ByaXZhdGU6CisgICAgV2ViS2l0
TXV0YXRpb25PYnNlcnZlcihQYXNzUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+KTsKKworICAgIFJl
ZlB0cjxNdXRhdGlvbkNhbGxiYWNrPiBtX2NhbGxiYWNrOworfTsKKworfQorCisjZW5kaWYgLy8g
RU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2VuZGlmIC8vIFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjYxZTNjMTIyNTExZTE3MmU1NjUzODU5N2QwYjE1NDI5MDU4ZjA4ZjMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZl
ci5pZGwKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKyAgICBpbnRlcmZhY2UgWworICAg
ICAgICBDb25kaXRpb25hbD1NVVRBVElPTl9PQlNFUlZFUlMsCisgICAgICAgIENhbkJlQ29uc3Ry
dWN0ZWQsCisgICAgICAgIEN1c3RvbUNvbnN0cnVjdEZ1bmN0aW9uLAorICAgICAgICBWOEN1c3Rv
bUNvbnN0cnVjdG9yCisgICAgXSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyIHsKKyAgICAgICAgLy8g
RklYTUU6IE5lZWRzIHRvIGJlIFtDdXN0b21dIHNvIGl0IGNhbiB0YWtlIGFueSBvYmplY3QgYXMg
dGhlIHNlY29uZCBhcmd1bWVudC4KKyAgICAgICAgdm9pZCBvYnNlcnZlKGluIE5vZGUgdGFyZ2V0
LCBpbiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyBvcHRpb25zKTsKKyAgICAgICAgdm9p
ZCBkaXNjb25uZWN0KCk7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1dl
YktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTZkYWIzMTVmNmU2Mjhj
MjllYmEwMjQyN2E2ZWE0NThlM2VmNDcwMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oCkBAIC0wLDAgKzEsOTIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zX2gKKyNkZWZpbmUgV2ViS2l0TXV0
YXRpb25PYnNlcnZlck9wdGlvbnNfaAorCisjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykK
KworI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXZWJLaXRNdXRhdGlvbk9ic2VydmVy
T3B0aW9ucyA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25z
PiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViS2l0TXV0YXRpb25PYnNlcnZl
ck9wdGlvbnM+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdl
YktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKTsKKyAgICB9CisKKyAgICBib29sIGNoaWxkTGlz
dCgpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRMaXN0OyB9CisgICAgdm9pZCBzZXRDaGlsZExpc3Qo
Ym9vbCB2YWx1ZSkgeyBtX2NoaWxkTGlzdCA9IHZhbHVlOyB9CisKKyAgICBib29sIGF0dHJpYnV0
ZXMoKSBjb25zdCB7IHJldHVybiBtX2F0dHJpYnV0ZXM7IH0KKyAgICB2b2lkIHNldEF0dHJpYnV0
ZXMoYm9vbCB2YWx1ZSkgeyBtX2F0dHJpYnV0ZXMgPSB2YWx1ZTsgfQorCisgICAgYm9vbCBjaGFy
YWN0ZXJEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9jaGFyYWN0ZXJEYXRhOyB9CisgICAgdm9pZCBz
ZXRDaGFyYWN0ZXJEYXRhKGJvb2wgdmFsdWUpIHsgbV9jaGFyYWN0ZXJEYXRhID0gdmFsdWU7IH0K
KworICAgIGJvb2wgc3VidHJlZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3VidHJlZTsgfQorICAgIHZv
aWQgc2V0U3VidHJlZShib29sIHZhbHVlKSB7IG1fc3VidHJlZSA9IHZhbHVlOyB9CisKKyAgICBi
b29sIGF0dHJpYnV0ZU9sZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVPbGRWYWx1
ZTsgfQorICAgIHZvaWQgc2V0QXR0cmlidXRlT2xkVmFsdWUoYm9vbCB2YWx1ZSkgeyBtX2F0dHJp
YnV0ZU9sZFZhbHVlID0gdmFsdWU7IH0KKworICAgIGJvb2wgY2hhcmFjdGVyRGF0YU9sZFZhbHVl
KCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVPbGRWYWx1ZTsgfQorICAgIHZvaWQgc2V0Q2hh
cmFjdGVyRGF0YU9sZFZhbHVlKGJvb2wgdmFsdWUpIHsgbV9jaGFyYWN0ZXJEYXRhT2xkVmFsdWUg
PSB2YWx1ZTsgfQorCisgICAgLy8gRklYTUU6IEZpZ3VyZSBvdXQgaG93IHRvIG1vZGVsIHRoaXMg
YmFzZWQgb24gdGhlIElETC4KKyAgICAvLyBET01TdHJpbmdbXSBhdHRyaWJ1dGVGaWx0ZXI7CisK
K3ByaXZhdGU6CisgICAgV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMoKQorICAgICAgICA6
IG1fY2hpbGRMaXN0KGZhbHNlKQorICAgICAgICAsIG1fYXR0cmlidXRlcyhmYWxzZSkKKyAgICAg
ICAgLCBtX2NoYXJhY3RlckRhdGEoZmFsc2UpCisgICAgICAgICwgbV9zdWJ0cmVlKGZhbHNlKQor
ICAgICAgICAsIG1fYXR0cmlidXRlT2xkVmFsdWUoZmFsc2UpCisgICAgICAgICwgbV9jaGFyYWN0
ZXJEYXRhT2xkVmFsdWUoZmFsc2UpCisgICAgeworICAgIH0KKworICAgIGJvb2wgbV9jaGlsZExp
c3Q7CisgICAgYm9vbCBtX2F0dHJpYnV0ZXM7CisgICAgYm9vbCBtX2NoYXJhY3RlckRhdGE7Cisg
ICAgYm9vbCBtX3N1YnRyZWU7CisgICAgYm9vbCBtX2F0dHJpYnV0ZU9sZFZhbHVlOworICAgIGJv
b2wgbV9jaGFyYWN0ZXJEYXRhT2xkVmFsdWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjZW5kaWYgLy8gV2Vi
S2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2FlM2M0MDJm
ZTk1YjM3ODE1YjMzYjIyN2Y5OTI1NWE2MWNiYjcyOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5pZGwKQEAgLTAsMCAr
MSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKK21vZHVsZSBjb3JlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25h
bD1NVVRBVElPTl9PQlNFUlZFUlMsCisgICAgICAgIENhbkJlQ29uc3RydWN0ZWQKKyAgICBdIFdl
YktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zIHsKKyAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4g
Y2hpbGRMaXN0OworICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBhdHRyaWJ1dGVzOworICAgICAg
ICBhdHRyaWJ1dGUgYm9vbGVhbiBjaGFyYWN0ZXJEYXRhOworCisgICAgICAgIGF0dHJpYnV0ZSBi
b29sZWFuIHN1YnRyZWU7CisKKyAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gYXR0cmlidXRlT2xk
VmFsdWU7CisgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIGNoYXJhY3RlckRhdGFPbGRWYWx1ZTsK
KworICAgICAgICAvLyBGSVhNRTogRmlndXJlIG91dCBob3cgdG8gbW9kZWwgdGhpcyBhcyBzZXR0
YWJsZSBpbiB0aGUgSURMLgorICAgICAgICAvLyBhdHRyaWJ1dGUgRE9NU3RyaW5nTGlzdCBhdHRy
aWJ1dGVGaWx0ZXI7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBj
MmJlZTQ2MTA0YjA5NTY0MTIyZDMyNzRkMzMyYTFhM2QzNGJhNjQ3Li4wZjAxYzA1ZjgzNGZjMDk3
NDEyNWRlNjNiZTdjZGRiYjI5Nzk5ZTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBA
IC04MDUsNiArODA1LDkgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBbRW5hYmxlZEF0UnVudGltZT1RdW90YV0gU3RvcmFnZUluZm8gd2Via2l0U3RvcmFnZUlu
Zm87CiAjZW5kaWYKIAorICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1VVEFUSU9OX09C
U0VSVkVSU10gV2ViS2l0TXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yIFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXI7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9TVVUQVRJT05fT0JTRVJW
RVJTXSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9uc0NvbnN0cnVjdG9yIFdlYktpdE11dGF0
aW9uT2JzZXJ2ZXJPcHRpb25zOworCiAjZW5kaWYgLy8gZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NS
SVBUKQogCiAjaWYgZGVmaW5lZChWOF9CSU5ESU5HKSAmJiBWOF9CSU5ESU5HCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110235</attachid>
            <date>2011-10-07 17:08:51 -0700</date>
            <delta_ts>2011-10-10 12:47:30 -0700</delta_ts>
            <desc>Added custom code for MutationObserverOptions, removed IDL</desc>
            <filename>bug-68949-20111007170850.patch</filename>
            <type>text/plain</type>
            <size>78448</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5OTczNWRlNzFmNDI1NjZmMGQ0N2UyZWJkMmVkMzU5NDI2Nzk0OWFhLi4yYzk5ZTIw
NmRmODZjN2IxOTBkZGUxYWY1NWM5NTczNzQ1OWYwZmY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTEtMDktMjcgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
W011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgc3R1YiBpbXBsZW1lbnRhdGlvbiBvZiBXZWJLaXRNdXRh
dGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02ODk0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBiYXNpYyB0ZXN0cyBhbmQgc2tpcCB0aGVtIGluIGFsbCBwb3J0cyBmb3Igbm93Lgor
CisgICAgICAgICogZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25zdHJ1Y3RvcnMu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1j
b25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211dGF0aW9u
L29ic2VydmUtZXhjZXB0aW9ucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211dGF0aW9u
L29ic2VydmUtZXhjZXB0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9xdC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgorCiAy
MDExLTA5LTI3ICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIENocm9taXVtIHRlc3QgZXhwZWN0YXRpb25zIHVwZGF0ZS4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3ItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25z
dHJ1Y3Rvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmJlYjNlODZlNzBlMjQ4NWE3NzIwMTgw
Nzc2NDI4NTkxNzkyNzQ5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXV0
YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTQgQEAKK1Rlc3QgdGhlIGNvbnN0cnVjdG9yIG9mIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgd2luZG93LldlYktpdE11dGF0
aW9uT2JzZXJ2ZXIgaXMgbm9uLW51bGwuCitQQVNTIHR5cGVvZiBXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyLnByb3RvdHlwZS5vYnNlcnZlIGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlLmRpc2Nvbm5lY3QgaXMgImZ1bmN0aW9uIgorUEFTUyB0
eXBlb2Ygb2JzZXJ2ZXIub2JzZXJ2ZSBpcyAiZnVuY3Rpb24iCitQQVNTIHR5cGVvZiBvYnNlcnZl
ci5kaXNjb25uZWN0IGlzICJmdW5jdGlvbiIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211dGF0
aW9uL211dGF0aW9uLW9ic2VydmVyLWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L211dGF0aW9uL211dGF0aW9uLW9ic2VydmVyLWNvbnN0cnVjdG9yLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTk2NmE2MzVlMGIyM2YwMzBjZTU3OTE4NjlhZGJmMTM3YjkxYTcxNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0
b3IuaHRtbApAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzx0aXRsZT48L3RpdGxlPgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD1kZXNjcmlwdGlvbj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgc2hvdWxkQmVOb25OdWxs
KCd3aW5kb3cuV2ViS2l0TXV0YXRpb25PYnNlcnZlcicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygndHlwZW9mIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlLm9ic2VydmUnLCAn
ZnVuY3Rpb24nKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3R5cGVvZiBXZWJLaXRNdXRh
dGlvbk9ic2VydmVyLnByb3RvdHlwZS5kaXNjb25uZWN0JywgJ2Z1bmN0aW9uJyk7CisgICAgd2lu
ZG93Lm9ic2VydmVyID0gbmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24obXV0YXRp
b25zKSB7IH0pOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIG9ic2VydmVyLm9i
c2VydmUnLCAnZnVuY3Rpb24nKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3R5cGVvZiBv
YnNlcnZlci5kaXNjb25uZWN0JywgJ2Z1bmN0aW9uJyk7Cit9CisKK2Rlc2NyaXB0aW9uKCdUZXN0
IHRoZSBjb25zdHJ1Y3RvciBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyJyk7CisKK2lmICghd2lu
ZG93LldlYktpdE11dGF0aW9uT2JzZXJ2ZXIpCisgICAgdGVzdEZhaWxlZCgnVGhpcyB0ZXN0IHJl
cXVpcmVzIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpJyk7CitlbHNlCisgICAgcnVuVGVzdCgp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2VydmUt
ZXhjZXB0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2Vy
dmUtZXhjZXB0aW9ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2VjZDQwMTIxZjkzMGE4ZjVh
NTk5NTRjNzQ3ZjkzMDhiMjM0ODdlZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvbXV0YXRpb24vb2JzZXJ2ZS1leGNlcHRpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1
IEBACitUZXN0IHRoYXQgV2ViS2l0TXV0YXRpb25PYnNlcnZlci5vYnNlcnZlIHRocm93cyBleGNl
cHRpb25zIGFwcHJvcHJpYXRlbHkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1Mgb2JzZXJ2ZXIub2JzZXJ2ZSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91
Z2ggYXJndW1lbnRzLgorUEFTUyBvYnNlcnZlci5vYnNlcnZlKG51bGwpIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBvYnNlcnZlci5vYnNlcnZl
KHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVu
dHMuCitQQVNTIG9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG9ic2VydmVyLm9ic2VydmUo
ZG9jdW1lbnQuYm9keSwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogT3B0aW9ucyBt
dXN0IGJlIGFuIG9iamVjdC4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB1
bmRlZmluZWQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE9wdGlvbnMgbXVzdCBiZSBhbiBv
YmplY3QuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlv
bnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2JzZXJ2ZS1leGNlcHRpb25zLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2ZlZjNjZmU5MGJmNTQ4N2FhZTJlMWEwZjZlNDJlYjFkZDMzMWRjOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2JzZXJ2ZS1leGNl
cHRpb25zLmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8dGl0bGU+PC90aXRsZT4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ZGVzY3JpcHRpb24+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIHdpbmRvdy5vYnNl
cnZlciA9IG5ldyBXZWJLaXRNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKG11dGF0aW9ucykgeyB9
KTsKKyAgICBzaG91bGRUaHJvdygnb2JzZXJ2ZXIub2JzZXJ2ZSgpJyk7CisgICAgc2hvdWxkVGhy
b3coJ29ic2VydmVyLm9ic2VydmUobnVsbCknKTsKKyAgICBzaG91bGRUaHJvdygnb2JzZXJ2ZXIu
b2JzZXJ2ZSh1bmRlZmluZWQpJyk7CisgICAgc2hvdWxkVGhyb3coJ29ic2VydmVyLm9ic2VydmUo
ZG9jdW1lbnQuYm9keSknKTsKKyAgICBzaG91bGRUaHJvdygnb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1
bWVudC5ib2R5LCBudWxsKScpOworICAgIHNob3VsZFRocm93KCdvYnNlcnZlci5vYnNlcnZlKGRv
Y3VtZW50LmJvZHksIHVuZGVmaW5lZCknKTsKK30KKworZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCBX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyLm9ic2VydmUgdGhyb3dzIGV4Y2VwdGlvbnMgYXBwcm9wcmlh
dGVseScpOworCitpZiAoIXdpbmRvdy5XZWJLaXRNdXRhdGlvbk9ic2VydmVyKQorICAgIHRlc3RG
YWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKScpOwor
ZWxzZQorICAgIHJ1blRlc3QoKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IDcyMTVhMGI5MWRlYzA1YmIx
M2Q4Nzg3Nzg5ZTNhOGU4NzVjYjZlNWMuLjc2MjNlOWI4Y2IzYTAyMjYwZWVhMmMyOTQ5YzJjNjky
OWE1NTdhZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3Rf
ZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0
X2V4cGVjdGF0aW9ucy50eHQKQEAgLTMzMTUsNiArMzMxNSw5IEBAIEJVR1dLNTczMTEgU0tJUCA6
IGZhc3QvZXhjbHVzaW9ucyA9IFBBU1MKIC8vIENTUyBGaWx0ZXJzIHN1cHBvcnQgbm90IHlldCBl
bmFibGVkCiBCVUdXSzY4NDY5IFNLSVAgOiBjc3MzL2ZpbHRlcnMgPSBQQVNTCiAKKy8vIE11dGF0
aW9uT2JzZXJ2ZXJzIG5vdCB5ZXQgZW5hYmxlZC4KK0JVR1dLNjg3MjkgU0tJUCA6IGZhc3QvbXV0
YXRpb24gPSBQQVNTCisKIEJVR1dLNjgwODcgV0lOIE1BQyBHUFUgR1BVLUNHIDogY29tcG9zaXRp
bmcvZmxhdC13aXRoLXRyYW5zZm9ybWVkLWNoaWxkLmh0bWwgPSBJTUFHRQogQlVHV0s2ODA4NyBX
SU4gTUFDIEdQVSBHUFUtQ0cgOiBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy8zZC1jb3Ju
ZXJzLmh0bWwgPSBJTUFHRQogQlVHV0s2ODA4NyBXSU4gTUFDIEdQVSBHUFUtQ0cgOiBwbGF0Zm9y
bS9jaHJvbWl1bS9jb21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmlsaXR5LXRyYW5zZm9ybWVkLmh0
bWwgPSBJTUFHRQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCBiNTg0MGNiMTcwMGMzY2Iz
MTRjNjY5ODI2YTk2ZWNmNGJiM2RhMWE3Li5lNDk0NjY0MmRmMDRmZDQzZWUzNGZiODlhMjZmNTE5
YjgyZWEwZjY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtNDUyLDYgKzQ1Miw5IEBA
IHdlYmF1ZGlvCiAjIENTUyBGaWx0ZXJzIGlzIGRpc2FibGVkCiBjc3MzL2ZpbHRlcnMKIAorIyBN
dXRhdGlvbk9ic2VydmVycyBhcmUgbmV0IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9i
LzY4NzI5CitmYXN0L211dGF0aW9uCisKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgVEVTVFMg
RkFJTElORwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZApp
bmRleCBkMjJkYWFhZGQwZjBlYjNmMWZjMjU1MjU0Yzg0ZWI3NmUwYjFkNWY4Li5kNTRmNzM2MWNm
Y2Y0ZmI5ODM2ZjlmMWQ0NzAzMTNjZTljYzc4OTI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBl
ZApAQCAtMzk2LDYgKzM5Niw5IEBAIGNvbXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1lLXJlbGF0aXZl
Lmh0bWwKICMgRm9yIG5vdywgV2ViIEF1ZGlvIEFQSSBpcyBkaXNhYmxlZAogd2ViYXVkaW8vCiAK
KyMgTXV0YXRpb25PYnNlcnZlcnMgYXJlIG5ldCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5v
cmcvYi82ODcyOQorZmFzdC9tdXRhdGlvbgorCiAjIFRlc3RzIGZvciBXZWJWVFQgcGFyc2VyIGZv
ciA8dHJhY2s+LiAgRmVhdHVyZSBpcyBub3QgeWV0IGZ1bmN0aW9uYWwuCiAjIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzY2OAogbWVkaWEvdHJhY2svCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvU2tpcHBlZAppbmRleCA2NjAzZDQwMmY1ZWVjOGVmYWU2MjU0ZTViZWNiMzNiOTcyZTY5
NzQzLi5jM2VmZTBhZTYzMjExYTc3ZGJhMTA0YWRmOGMzYzRiYWI3MzJmYzFlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3F0L1NraXBwZWQKQEAgLTE0Niw2ICsxNDYsOSBAQCBmYXN0L3JlZ2lvbnMKICMgQ1NTIEV4
Y2x1c2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTcz
MTEKIGZhc3QvZXhjbHVzaW9ucwogCisjIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpIGlzIG5v
dCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi82ODcyOQorZmFzdC9tdXRhdGlvbgor
CiAjIFVTRShWOCkKIAogIyB2OCBpMThuIGV4dGVuc2lvbi4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBw
ZWQKaW5kZXggMTUwYjhmMjk3NjNhZDU2YmRlZGNmMWE1MmMwZTljMTUxZGYwZThiZi4uNzE4MDA3
MGE5YzE1ZTUyNGQ3NTI3NTA4NjVmZGE5OTE5OWI2MmM1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Nr
aXBwZWQKQEAgLTEzODksNiArMTM4OSw5IEBAIGNzczMvc2VsZWN0b3JzMwogIyBGb3Igbm93LCBX
ZWIgQXVkaW8gQVBJIGlzIGRpc2FibGVkCiB3ZWJhdWRpby8KIAorIyBNdXRhdGlvbk9ic2VydmVy
cyBhcmUgbmV0IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzY4NzI5CitmYXN0L211
dGF0aW9uCisKICMgVGVzdHMgZm9yIFdlYlZUVCBwYXJzZXIgZm9yIDx0cmFjaz4uICBGZWF0dXJl
IGlzIG5vdCB5ZXQgZnVuY3Rpb25hbC4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQzNjY4CiBtZWRpYS90cmFjay8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZTFl
ZWU3MzY0N2JiZjJmYzhiMjY3ODkwNDQxNTJiYWIxZDc1ZmE0Zi4uOThkN2JhNDJhMzFhYjEzMGQ2
OGQzZmVmODQ3OTgwYWFhYWU2NzZlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE2Miw2ICsx
NjIsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBkb20vTWVzc2FnZUV2ZW50LmlkbAog
ICAgIGRvbS9NZXNzYWdlUG9ydC5pZGwKICAgICBkb20vTW91c2VFdmVudC5pZGwKKyAgICBkb20v
TXV0YXRpb25DYWxsYmFjay5pZGwKICAgICBkb20vTXV0YXRpb25FdmVudC5pZGwKICAgICBkb20v
TXV0YXRpb25SZWNvcmQuaWRsCiAgICAgZG9tL05hbWVkTm9kZU1hcC5pZGwKQEAgLTE4NSw2ICsx
ODYsOCBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBkb20vVHJlZVdhbGtlci5pZGwKICAg
ICBkb20vVUlFdmVudC5pZGwKICAgICBkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsCisgICAg
ZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsCisgICAgZG9tL1dlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXJPcHRpb25zLmlkbAogICAgIGRvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaWRsCiAgICAg
ZG9tL1doZWVsRXZlbnQuaWRsCiAKQEAgLTYwMSw2ICs2MDQsNyBAQCBTRVQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmNwcAogICAgIGRvbS9WaWV3
cG9ydEFyZ3VtZW50cy5jcHAKICAgICBkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuY3BwCisgICAg
ZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwCiAgICAgZG9tL1dlYktpdFRyYW5zaXRpb25F
dmVudC5jcHAKICAgICBkb20vV2hlZWxFdmVudC5jcHAKICAgICBkb20vV2luZG93RXZlbnRDb250
ZXh0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDM5YjVkYjFjYmMyYWNjMTFlNDU5YmM2ZDA0MzBiMzM2M2Fi
NTExYmYuLmIzYjEwMTkzNGU2NDdiNDdmZDY3OWM2NmU3ODRhMzEzNGZmZmY0ZTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw3MiBAQAorMjAxMS0wOS0yNyAgQWRhbSBLbGVpbiAgPGFkYW1rQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBbTXV0YXRpb25PYnNlcnZlcnNdIEFkZCBzdHViIGltcGxlbWVu
dGF0aW9uIG9mIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02ODcyOSBmb3IgdGhlIG1ldGFidWcuCisKKyAgICAgICAgVGhpcyBwYXRjaCBh
ZGRzIGEgc3R1YiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyIGFuZCBpdHMgc3VwcG9ydGluZyBjbGFz
c2VzCisgICAgICAgIE11dGF0aW9uQ2FsbGJhY2sgYW5kIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25z
LgorICAgICAgICBObyBpbXBsZW1lbnRhdGlvbiBpcyBwcm92aWRlZCBmb3IgdGhlIGFsbC1pbXBv
cnRhbnQgb2JzZXJ2ZSgpIGFuZAorICAgICAgICBkaXNjb25uZWN0KCkgbWV0aG9kcy4KKworICAg
ICAgICBOb3RlIHRoYXQgV2ViS2l0TXV0YXRpb25PYnNlcnZlciBpcyB2ZW5kb3ItcHJlZml4ZWQg
c2luY2UgaXQgaGFzIGEKKyAgICAgICAgY29uc3RydWN0b3IgZXhwb3NlZCBvbiBET01XaW5kb3cu
ICBOb25lIG9mIHRoZSByZXN0IG9mIHRoZSBBUEkgbmVlZHMKKyAgICAgICAgcHJlZml4aW5nLCBh
cyBpdCdzIG9ubHkgYXZhaWxhYmxlIHZpYSBhIGNhbGwgdGhyb3VnaCBhIE11dGF0aW9uT2JzZXJ2
ZXIKKyAgICAgICAgY2FsbGJhY2sgKGNyZWF0ZWQgYnkgaW5zdGFudGlhdGluZyBXZWJLaXRNdXRh
dGlvbk9ic2VydmVyKS4KKworICAgICAgICBHaXZlbiB0aGUgbnVtYmVyIG9mIGZpbGVzIHJlcXVp
cmVkIHRvIGdldCBqdXN0IHRoZSBzdHViIHVwIGFuZCBydW5uaW5nLAorICAgICAgICBpdCBzZWVt
cyByZWFzb25hYmxlIHRvIGxlYXZlIHRoZSBhY3R1YWwgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBu
ZXh0CisgICAgICAgIHBhdGNoIChvciBtb3JlIGxpa2VseSBzZXZlcmFsIHBhdGNoZXMpLiAgSSd2
ZSBsZWZ0IEZJWE1FcyBpbiBhbGwgdGhlIHBsYWNlcworICAgICAgICB0aGF0J2xsIG5lZWQgYXVn
bWVudGF0aW9uLgorCisgICAgICAgIFRlc3RzOiBmYXN0L211dGF0aW9uL211dGF0aW9uLW9ic2Vy
dmVyLWNvbnN0cnVjdG9yLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvbXV0YXRpb24vb2JzZXJ2
ZS1leGNlcHRpb25zLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVXNlSlNDLmNtYWtlOgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBX
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNNdXRhdGlvbkNhbGxi
YWNrQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpKU011dGF0aW9uQ2FsbGJh
Y2s6OmhhbmRsZUV2ZW50KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9u
T2JzZXJ2ZXJDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20v
VjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpW
OE11dGF0aW9uQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAg
ICogZG9tL011dGF0aW9uQ2FsbGJhY2suaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNdXRh
dGlvbkNhbGxiYWNrOjp+TXV0YXRpb25DYWxsYmFjayk6CisgICAgICAgICogZG9tL011dGF0aW9u
Q2FsbGJhY2suaWRsOiBBZGRlZC4KKyAgICAgICAgKiBkb20vTXV0YXRpb25PYnNlcnZlck9wdGlv
bnMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpjaGls
ZExpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldENo
aWxkTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6YXR0
cmlidXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6c2V0
QXR0cmlidXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6
Y2hhcmFjdGVyRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyT3B0aW9u
czo6c2V0Q2hhcmFjdGVyRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVy
T3B0aW9uczo6c3VidHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyT3B0
aW9uczo6c2V0U3VidHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyT3B0
aW9uczo6YXR0cmlidXRlT2xkVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25PYnNl
cnZlck9wdGlvbnM6OnNldEF0dHJpYnV0ZU9sZFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Ok11
dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpjaGFyYWN0ZXJEYXRhT2xkVmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldENoYXJhY3RlckRhdGFPbGRWYWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6TXV0YXRpb25P
YnNlcnZlck9wdGlvbnMpOgorICAgICAgICAqIGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpXZWJL
aXRNdXRhdGlvbk9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXI6Om9ic2VydmUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZl
cjo6ZGlzY29ubmVjdCk6CisgICAgICAgICogZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpjcmVhdGUp
OgorICAgICAgICAqIGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmlkbDogQWRkZWQuCisgICAg
ICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDExLTA5LTI3ICBTaGVyaWZmIEJvdCAgPHdl
YmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByOTYxMzkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggNjdmMzU2ZDYwMTRi
NzhjYThhZmY2NmE0NzI0YTczZDg3YzMxMzgxYi4uNTM4OWQ0NDcxODA3Njk5ZTAwMjhjYWQ3ZDNh
M2ZhNGU5MDU1ZDU1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMjQ0LDYgKzI0
NCw3IEBACiAjaW5jbHVkZSAiSlNNZXRhZGF0YS5jcHAiCiAjaW5jbHVkZSAiSlNNZXRhZGF0YUNh
bGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU01vdXNlRXZlbnQuY3BwIgorI2luY2x1ZGUgIkpTTXV0
YXRpb25DYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNNdXRhdGlvbkV2ZW50LmNwcCIKICNpbmNs
dWRlICJKU011dGF0aW9uUmVjb3JkLmNwcCIKICNpbmNsdWRlICJKU05hbWVkTm9kZU1hcC5jcHAi
CkBAIC00NjUsNiArNDY2LDcgQEAKICNpbmNsdWRlICJKU1dlYktpdENTU0tleWZyYW1lc1J1bGUu
Y3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwIgogI2luY2x1ZGUg
IkpTV2ViS2l0Q1NTTWF0cml4LmNwcCIKKyNpbmNsdWRlICJKU1dlYktpdE11dGF0aW9uT2JzZXJ2
ZXIuY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0UG9pbnQuY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0
VHJhbnNpdGlvbkV2ZW50LmNwcCIKICNpbmNsdWRlICJKU1dlYlNvY2tldC5jcHAiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA3MmY0N2U0ZmQxMmE4M2EwNjgxOWIxYmFhYmY4MWYy
MGRiZTczMTFhLi45YzM4OWVkOGEyZjFhMWU3NjJiZTQ5ZDIyZWU5ZWFkZDJmNDk3NGJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI5Nyw2ICsyOTcsNyBAQCBET01fQ0xBU1NF
UyA9IFwKICAgICBNZXRhZGF0YSBcCiAgICAgTWV0YWRhdGFDYWxsYmFjayBcCiAgICAgTW91c2VF
dmVudCBcCisgICAgTXV0YXRpb25DYWxsYmFjayBcCiAgICAgTXV0YXRpb25FdmVudCBcCiAgICAg
TXV0YXRpb25SZWNvcmQgXAogICAgIE5hbWVkTm9kZU1hcCBcCkBAIC01NTIsNiArNTUzLDcgQEAg
RE9NX0NMQVNTRVMgPSBcCiAgICAgV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUgXAogICAgIFdlYktp
dEZsYWdzIFwKICAgICBXZWJLaXRMb3NlQ29udGV4dCBcCisgICAgV2ViS2l0TXV0YXRpb25PYnNl
cnZlciBcCiAgICAgV2ViS2l0UG9pbnQgXAogICAgIFdlYktpdFRyYW5zaXRpb25FdmVudCBcCiAg
ICAgV2ViU29ja2V0IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDc0MzZlY2Yw
NGQ2YjA4NDJlNWIyYzcyZGNlMmQyOGQ0YmZhMjNhMjMuLmExMWE5N2RiZDJlZGYyMzJjNDdjOTZh
NjYzNzcyZTk4OGNiYjY2OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNzc5
LDYgKzc3OSw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNNZXNzYWdlUG9ydEN1c3RvbS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTTmF2aWdhdG9yQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNO
b2RlQ3VzdG9tLmNwcCBcCkBAIC04MjAsNiArODIxLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdENTU0tleWZyYW1lc1J1bGVDdXN0
b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0Q1NT
TWF0cml4Q3VzdG9tLmNwcCBcCisJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRN
dXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNXZWJLaXRQb2ludEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
V2ViU29ja2V0Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3Jr
ZXJDb250ZXh0QmFzZS5jcHAgXApAQCAtMTIyMiw2ICsxMjI0LDcgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTW91c2VS
ZWxhdGVkRXZlbnQuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaCBc
CiAJU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vTXV0YXRpb25FdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25SZWNv
cmQuY3BwIFwKQEAgLTEzMzUsNiArMTMzOCw5IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmggXAogCVNvdXJjZS9XZWJDb3JlL2Rv
bS9XZWJLaXRBbmltYXRpb25FdmVudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRB
bmltYXRpb25FdmVudC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgg
XAorCVNvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9k
b20vV2hlZWxFdmVudC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNt
YWtlIGIvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCmluZGV4IGUxNmUyZDlkY2E1ZDY1M2Q4
ODIyZjU0N2RlZDM1NTcxZjQxMGI2ZDUuLmNhMmU0NzIyZGViZjEzNjllZTJjMDI0OWMxNzAwODNj
ZDA1Nzg3MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQorKysgYi9T
b3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKQEAgLTk1LDYgKzk1LDcgQEAgTElTVChBUFBFTkQg
V2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNNZXNzYWdlQ2hhbm5lbEN1c3RvbS5j
cHAKICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5n
cy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTTXV0YXRpb25D
YWxsYmFja0N1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU05hbWVkTm9kZU1hcEN1c3RvbS5j
cHAKICAgICBiaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9q
cy9KU05vZGVDdXN0b20uY3BwCkBAIC0xMjIsNiArMTIzLDcgQEAgTElTVChBUFBFTkQgV2ViQ29y
ZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlmcmFtZVJ1bGVDdXN0b20u
Y3BwCiAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ3VzdG9tLmNwcAog
ICAgIGJpbmRpbmdzL2pzL0pTV2ViS2l0Q1NTTWF0cml4Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdz
L2pzL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9K
U1dlYktpdFBvaW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RD
dXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdFVwbG9hZEN1c3RvbS5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQppbmRleCBiZWU5OGMzMzIwZTgyMzUwOTI3ODM2ZmNhYTE3YTRjOTcy
NzhkODUyLi4zZjI1NTJjNGY3YmRhNTJjZjE5ZTA5NWNhMWJmNzQ5YzhiYzI2YjcwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCkBAIC0xMTg1LDYgKzExODUsNyBAQAogICAgICAgICAgICAgJ2RvbS9NZXNzYWdl
RXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vTWVzc2FnZVBvcnQuaWRsJywKICAgICAgICAg
ICAgICdkb20vTW91c2VFdmVudC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9NdXRhdGlvbkNhbGxi
YWNrLmlkbCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uRXZlbnQuaWRsJywKICAgICAgICAg
ICAgICdkb20vTXV0YXRpb25SZWNvcmQuaWRsJywKICAgICAgICAgICAgICdkb20vTmFtZWROb2Rl
TWFwLmlkbCcsCkBAIC0xMjEwLDYgKzEyMTEsNyBAQAogICAgICAgICAgICAgJ2RvbS9UcmVlV2Fs
a2VyLmlkbCcsCiAgICAgICAgICAgICAnZG9tL1VJRXZlbnQuaWRsJywKICAgICAgICAgICAgICdk
b20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsJywKKyAgICAgICAgICAgICdkb20vV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5pZGwnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZl
bnQuaWRsJywKICAgICAgICAgICAgICdkb20vV2hlZWxFdmVudC5pZGwnLAogICAgICAgICAgICAg
J2ZpbGVhcGkvQmxvYi5pZGwnLApAQCAtMTg4Niw2ICsxODg4LDcgQEAKICAgICAgICAgICAgICdi
aW5kaW5ncy9qcy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRp
bmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTXV0
YXRpb25DYWxsYmFja0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTmFt
ZWROb2RlTWFwQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNOYXZpZ2F0
b3JDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vZGVDdXN0b20uY3Bw
JywKQEAgLTE5MjUsNiArMTkyOCw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNXZWJL
aXRDU1NLZXlmcmFtZVJ1bGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9K
U1dlYktpdENTU0tleWZyYW1lc1J1bGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5n
cy9qcy9KU1dlYktpdENTU01hdHJpeEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdz
L2pzL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTV2ViS2l0UG9pbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5n
cy9qcy9KU1dlYlNvY2tldEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pT
V29ya2VyQ29udGV4dEJhc2UuY3BwJywKQEAgLTIxOTMsNiArMjE5Nyw3IEBACiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZVBvcnRDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5oJywKKyAgICAg
ICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNw
cCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2Rlc0NvbGxlY3Rp
b24uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVzQ29s
bGVjdGlvbi5oJywKQEAgLTIyMjEsNiArMjIyNiw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3Mv
djgvY3VzdG9tL1Y4VWludDhBcnJheUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdEFuaW1hdGlvbkN1c3RvbS5jcHAnLAorICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRQb2ludENv
bnN0cnVjdG9yLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViU29j
a2V0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2Vy
Q29udGV4dEN1c3RvbS5jcHAnLApAQCAtNTIwNiw4ICs1MjEyLDEwIEBACiAgICAgICAgICAgICAn
ZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9Nb3VzZUV2ZW50
LmNwcCcsCiAgICAgICAgICAgICAnZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcCcsCisgICAgICAg
ICAgICAnZG9tL011dGF0aW9uQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9u
RXZlbnQuY3BwJywKICAgICAgICAgICAgICdkb20vTXV0YXRpb25FdmVudC5oJywKKyAgICAgICAg
ICAgICdkb20vTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCcsCiAgICAgICAgICAgICAnZG9tL011
dGF0aW9uUmVjb3JkLmNwcCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uUmVjb3JkLmgnLAog
ICAgICAgICAgICAgJ2RvbS9OYW1lTm9kZUxpc3QuY3BwJywKQEAgLTUzMTAsNiArNTMxOCw4IEBA
CiAgICAgICAgICAgICAnZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCcsCiAgICAgICAgICAgICAn
ZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1dlYktpdEFu
aW1hdGlvbkV2ZW50LmgnLAorICAgICAgICAgICAgJ2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVy
LmNwcCcsCisgICAgICAgICAgICAnZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCcsCiAgICAg
ICAgICAgICAnZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAnLAogICAgICAgICAgICAgJ2Rv
bS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL1doZWVsRXZlbnQu
Y3BwJywKQEAgLTc0NzQsNiArNzQ4NCw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01ldGFkYXRhQ2FsbGJhY2suaCcsCiAgICAgICAgICAg
ICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vdXNlRXZlbnQuY3Bw
JywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
TW91c2VFdmVudC5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTXV0YXRpb25DYWxsYmFjay5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVD
VF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvbkNhbGxiYWNrLmgnLAogICAg
ICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlv
bkV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU011dGF0aW9uRXZlbnQuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU011dGF0aW9uUmVjb3JkLmNwcCcsCkBAIC04MDA1LDYg
KzgwMTcsOCBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oJywKICAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0TG9zZUNvbnRleHQuY3BwJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2Vi
S2l0TG9zZUNvbnRleHQuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwJywKKyAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0TXV0YXRpb25P
YnNlcnZlci5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTV2ViS2l0UG9pbnQuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0UG9pbnQuaCcsCiAgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFRyYW5zaXRpb25FdmVu
dC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCA3OWFlNDAzMDQ0MGIwZTMxMDg1Y2QwYTM3NTUwODhk
ZmU5MGFmNDI5Li5mNjIyYTYxNzc1NjNkNmI5YTcwNjk3MGQzYzEzOTY2ZDJiZmI0NDRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnBybwpAQCAtMTg5LDYgKzE4OSw3IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4TWVzc2FnZUNoYW5uZWxDb25zdHJ1Y3Rvci5jcHAgXAogICAgICAgICBiaW5kaW5n
cy92OC9jdXN0b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhNZXNzYWdlRXZlbnRDdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4TmFtZWROb2Rlc0NvbGxlY3Rpb24uY3BwIFwKICAgICAgICAgYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAgXApAQCAtMjAzLDYgKzIwNCw3IEBAIHY4IHsKICAgICAg
ICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAgXAogICAgICAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhTdHlsZVNoZWV0TGlzdEN1c3RvbS5jcHAgXAogICAgICAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRBbmltYXRpb25DdXN0b20uY3BwIFwKKyAgICAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgXAog
ICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRQb2ludENvbnN0cnVjdG9yLmNwcCBc
CiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwIFwK
ICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ3VzdG9tLmNwcCBcCkBAIC0zMTQs
NiArMzE2LDcgQEAgdjggewogICAgICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VFdmVudEN1c3Rv
bS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCBcCiAg
ICAgICAgIGJpbmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uaCBcCisgICAgICAgIGJpbmRp
bmdzL2pzL0pTTXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9q
cy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU05hdmln
YXRvckN1c3RvbS5jcHAgIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcCBc
CkBAIC0zNDAsNiArMzQzLDcgQEAgdjggewogICAgICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdENT
U0tleWZyYW1lUnVsZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdENT
U0tleWZyYW1lc1J1bGVDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRD
U1NNYXRyaXhDdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlv
bk9ic2VydmVyQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTV2ViS2l0UG9pbnRD
dXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5j
cHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0VXBsb2FkQ3VzdG9tLmNw
cCBcCkBAIC01NjQsNiArNTY4LDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL1VzZXJUeXBpbmdH
ZXN0dXJlSW5kaWNhdG9yLmNwcCBcCiAgICAgZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCBcCiAg
ICAgZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmNwcCBcCisgICAgZG9tL1dlYktpdE11dGF0aW9u
T2JzZXJ2ZXIuY3BwIFwKICAgICBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBcCiAgICAg
ZG9tL1doZWVsRXZlbnQuY3BwIFwKICAgICBkb20vV2luZG93RXZlbnRDb250ZXh0LmNwcCBcCkBA
IC0xNTI1LDYgKzE1MzAsNyBAQCBIRUFERVJTICs9IFwKICAgICBkb20vTWVzc2FnZVBvcnQuaCBc
CiAgICAgZG9tL01vdXNlRXZlbnQuaCBcCiAgICAgZG9tL01vdXNlUmVsYXRlZEV2ZW50LmggXAor
ICAgIGRvbS9NdXRhdGlvbkNhbGxiYWNrLmggXAogICAgIGRvbS9NdXRhdGlvbkV2ZW50LmggXAog
ICAgIGRvbS9NdXRhdGlvblJlY29yZC5oIFwKICAgICBkb20vTmFtZWROb2RlTWFwLmggXApAQCAt
MTU3Niw2ICsxNTgyLDggQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL1VzZXJHZXN0dXJlSW5kaWNh
dG9yLmggXAogICAgIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5oIFwKICAgICBkb20vV2ViS2l0QW5p
bWF0aW9uRXZlbnQuaCBcCisgICAgZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCBcCisgICAg
ZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggXAogICAgIGRvbS9XZWJLaXRUcmFu
c2l0aW9uRXZlbnQuaCBcCiAgICAgZG9tL1doZWVsRXZlbnQuaCBcCiAgICAgZWRpdGluZy9BcHBl
bmROb2RlQ29tbWFuZC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKaW5kZXggYTExYjQ3ZTc2ODMzNzVkMTc3ZTYyYTI5ZGJhMGI4YjBhMjdjZmRlOC4u
MDA3ZjcxNzEzYWFkODFhOTY2NmYzN2RkYzZmM2NmZTJhODgzMzRmNyAxMDA3NTUKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTExNTk4LDYgKzExNTk4LDYy
IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNN
dXRhdGlvbkNhbGxiYWNrLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJE
ZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkv
PgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU011dGF0aW9uQ2FsbGJhY2suaCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU011dGF0aW9uRXZlbnQuY3Bw
IgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTIyOTY2LDYgKzIzMDIyLDYyIEBA
CiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmln
dXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNXZWJL
aXRNdXRhdGlvbk9ic2VydmVyLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8
RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCIKKwkJ
CQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0
aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1dlYktpdFBv
aW50LmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBAIC02MzM1Myw2ICs2MzQ2
NSw1OCBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0
aD0iLi5cYmluZGluZ3NcanNcSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCIKKwkJCQkJPgor
CQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJ
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9f
Q0ZMaXRlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJ
CQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5h
bWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpz
XEpTTmFtZWROb2RlTWFwQ3VzdG9tLmNwcCIKIAkJCQkJPgogCQkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KQEAgLTY0ODkzLDYgKzY1MDU3LDU4IEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJ
CQkJPC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNc
SlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCIKKwkJCQkJPgorCQkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMy
IgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAor
CQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2Vf
Q2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkv
PgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTwvRmlsZT4K
KwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTV2ViS2l0UG9p
bnRDdXN0b20uY3BwIgogCQkJCQk+CiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQ4NmVm
Y2Y2YjhiMWRjYmI2MWY5YmQ3OTEyZDExNDM5MmMwMmVlM2MuLmQwNDI3NGZkZDNhMGYxZWY4M2Fl
NDU5ZWM3OGZmZjNmMTExOGU1ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU0NDcsNiArNTQ0NywxNiBAQAogCQlDNkYwOEZC
RDE0MzBGRThGMDA2ODU4NDkgLyogTXV0YXRpb25SZWNvcmQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA4RkJBMTQzMEZFOEYwMDY4NTg0OSAvKiBN
dXRhdGlvblJlY29yZC5oICovOyB9OwogCQlDNkYwOEZDOTE0MzEwMDBEMDA2ODU4NDkgLyogSlNN
dXRhdGlvblJlY29yZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDNkYwOEZDNzE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlvblJlY29yZC5jcHAg
Ki87IH07CiAJCUM2RjA4RkNBMTQzMTAwMEQwMDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOEZDODE0
MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlvblJlY29yZC5oICovOyB9OworCQlDNkYwOTAwQTE0
MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkwMDExNDMyN0I2MTAwNjg1ODQ5IC8qIE11
dGF0aW9uQ2FsbGJhY2suaCAqLzsgfTsKKwkJQzZGMDkwMEUxNDMyN0I2MTAwNjg1ODQ5IC8qIFdl
YktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzZGMDkwMDUxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXIuY3BwICovOyB9OworCQlDNkYwOTAwRjE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzZGMDkwMDYxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXIuaCAqLzsgfTsKKwkJQzZGMDkwMTExNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uT2JzZXJ2
ZXJPcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDNkYwOTAwODE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCAq
LzsgfTsKKwkJQzZGMDkwMjgxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFjay5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAy
MDE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmNwcCAqLzsgfTsKKwkJQzZG
MDkwMjkxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkwMjExNDMyN0Q0RjAwNjg1
ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFjay5oICovOyB9OworCQlDNkYwOTAyQzE0MzI3RDRGMDA2
ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDI0MTQzMjdENEYwMDY4NTg0OSAvKiBK
U1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwICovOyB9OworCQlDNkYwOTAyRDE0MzI3RDRGMDA2
ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAyNTE0MzI3RDRGMDA2ODU4NDkgLyogSlNX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggKi87IH07CisJCUM2RjA5MTdGMTQzQTJCQjkwMDY4NTg0
OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkxN0UxNDNBMkJCOTAwNjg1ODQ5IC8q
IEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgKi87IH07CisJCUM2RjA5MTg1MTQz
QTZDM0IwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkxODQxNDNBNkMzQjAwNjg1
ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgKi87IH07CiAJCUM2RjQxMDQ3MTMw
QzZFODkwMDM5M0RFNCAvKiBFbnRyeUJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGNDEwNDYxMzBDNkU4OTAwMzkzREU0IC8qIEVudHJ5QmFz
ZS5jcHAgKi87IH07CiAJCUNBM0JGNjdDMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRv
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQTNC
RjY3QjEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuY3BwICovOyB9OwogCQlDQTNC
RjY3RTEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1MyAv
KiBTY3JvbGxBbmltYXRvci5oICovOyB9OwpAQCAtMTIyMjcsNiArMTIyMzcsMTggQEAKIAkJQzZG
MDhGQkIxNDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9uUmVjb3JkLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBNdXRhdGlvblJlY29yZC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUM2RjA4RkM3MTQzMTAwMEQwMDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTXV0YXRpb25SZWNvcmQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNkYwOEZDODE0MzEwMDBEMDA2ODU4NDkgLyog
SlNNdXRhdGlvblJlY29yZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU011
dGF0aW9uUmVjb3JkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDAxMTQz
MjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE11dGF0aW9uQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQzZGMDkwMDIxNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uQ2FsbGJhY2suaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IE11dGF0aW9uQ2FsbGJhY2suaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDNkYwOTAwNTE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRp
b25PYnNlcnZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJL
aXRNdXRhdGlvbk9ic2VydmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZG
MDkwMDYxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAwNzE0MzI3QjYxMDA2ODU4NDkgLyogV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDA4
MTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAyMDE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRh
dGlvbkNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
TXV0YXRpb25DYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5
MDIxMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNdXRhdGlvbkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUM2RjA5MDI0MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0
aW9uT2JzZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QzZGMDkwMjUxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkxN0UxNDNBMkJCOTAwNjg1ODQ5
IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTE4NDE0M0E2QzNCMDA2ODU4NDkgLyog
SlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTTXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUM2RjQxMDQ2MTMwQzZFODkwMDM5M0RFNCAvKiBFbnRyeUJhc2UuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRW50cnlCYXNlLmNwcDsgcGF0aCA9
IGZpbGVhcGkvRW50cnlCYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Ez
QkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1h
dG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzQ0Niw2ICsxNzQ2OCw4IEBACiAJCQkJ
NDlDOUY0OEIxM0Q1N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFjay5oICovLAogCQkJ
CTQ5QzlGNDhDMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2tMaXN0LmNwcCAq
LywKIAkJCQk0OUM5RjQ4RDEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrTGlz
dC5oICovLAorCQkJCUM2RjA5MDIwMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJh
Y2suY3BwICovLAorCQkJCUM2RjA5MDIxMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2Fs
bGJhY2suaCAqLywKIAkJCQlDNkYwOEZDNzE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlvblJl
Y29yZC5jcHAgKi8sCiAJCQkJQzZGMDhGQzgxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25S
ZWNvcmQuaCAqLywKIAkJCQlCQ0Q5QzJCQzBDMTdCNjlFMDA1QzkwQTIgLyogSlNOYW1lZE5vZGVN
YXAuY3BwICovLApAQCAtMTc0ODAsNiArMTc1MDQsOCBAQAogCQkJCTc1NDE1RDU0MTI5QUIyRDIw
MDNBRDY2OSAvKiBKU1NwZWVjaElucHV0UmVzdWx0TGlzdC5oICovLAogCQkJCTY1REYzMUVGMDlE
MUNDNjAwMDBCRTMyNSAvKiBKU1RleHQuY3BwICovLAogCQkJCTY1REYzMUYwMDlEMUNDNjAwMDBC
RTMyNSAvKiBKU1RleHQuaCAqLywKKwkJCQlDNkYwOTAyNDE0MzI3RDRGMDA2ODU4NDkgLyogSlNX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCAqLywKKwkJCQlDNkYwOTAyNTE0MzI3RDRGMDA2ODU4
NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IENv
cmU7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTg4MjYsNiArMTg4NTIsNyBAQAog
CQkJCTQxMEI3RTcxMTA0NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAg
Ki8sCiAJCQkJRTFBREVENDYwRTc2QjhERDAwNEExQTVFIC8qIEpTTWVzc2FnZVBvcnRDdXN0b20u
Y3BwICovLAogCQkJCTQxRjU4NEM2MTA0NjUyQ0IwMDlDQUE2NCAvKiBKU01lc3NhZ2VQb3J0Q3Vz
dG9tLmggKi8sCisJCQkJQzZGMDkxODQxNDNBNkMzQjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxs
YmFja0N1c3RvbS5jcHAgKi8sCiAJCQkJQkNEOUMyNUYwQzE3QUE2NzAwNUM5MEEyIC8qIEpTTmFt
ZWROb2RlTWFwQ3VzdG9tLmNwcCAqLywKIAkJCQlBOUM2RTY0ODBENzQ2NUQ4MDA2NDQyRTkgLyog
SlNOYXZpZ2F0b3JDdXN0b20uY3BwICovLAogCQkJCUJDRDlDMjYwMEMxN0FBNjcwMDVDOTBBMiAv
KiBKU05vZGVDdXN0b20uY3BwICovLApAQCAtMTg4NTgsNiArMTg4ODUsNyBAQAogCQkJCUUxQUQx
NEM0MTI5NzM1NDkwMEFDQTk4OSAvKiBKU1dlYktpdENTU0tleWZyYW1lUnVsZUN1c3RvbS5jcHAg
Ki8sCiAJCQkJRTFBRDE0QjQxMjk3MzRDQTAwQUNBOTg5IC8qIEpTV2ViS2l0Q1NTS2V5ZnJhbWVz
UnVsZUN1c3RvbS5jcHAgKi8sCiAJCQkJQkMyNzVCN0MxMUM1RDIzNTAwQzkyMDZDIC8qIEpTV2Vi
S2l0Q1NTTWF0cml4Q3VzdG9tLmNwcCAqLywKKwkJCQlDNkYwOTE3RTE0M0EyQkI5MDA2ODU4NDkg
LyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCAqLywKIAkJCQlCQzI3NUI3ODEx
QzVEMUMzMDBDOTIwNkMgLyogSlNXZWJLaXRQb2ludEN1c3RvbS5jcHAgKi8sCiAJCQkJNTE4QTM0
QzYxMDI2QzhDOTAwMUI2ODk2IC8qIEpTV2ViU29ja2V0Q3VzdG9tLmNwcCAqLywKIAkJCQlFMTgy
NThBQjBFRjNDRDcwMDA5MzMyNDIgLyogSlNXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCAqLywKQEAg
LTIwMDU0LDkgKzIwMDgyLDEyIEBACiAJCQkJMTQxQjk0RTUwOUVDNDIyMzAwMEU5NDEzIC8qIE1v
dXNlRXZlbnQuaWRsICovLAogCQkJCTg1MDMxQjMxMEE0NEVGQzcwMEY5OTJFMCAvKiBNb3VzZVJl
bGF0ZWRFdmVudC5jcHAgKi8sCiAJCQkJODUwMzFCMzIwQTQ0RUZDNzAwRjk5MkUwIC8qIE1vdXNl
UmVsYXRlZEV2ZW50LmggKi8sCisJCQkJQzZGMDkwMDExNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0
aW9uQ2FsbGJhY2suaCAqLywKKwkJCQlDNkYwOTAwMjE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRp
b25DYWxsYmFjay5pZGwgKi8sCiAJCQkJODUwMzFCMzMwQTQ0RUZDNzAwRjk5MkUwIC8qIE11dGF0
aW9uRXZlbnQuY3BwICovLAogCQkJCTg1MDMxQjM0MEE0NEVGQzcwMEY5OTJFMCAvKiBNdXRhdGlv
bkV2ZW50LmggKi8sCiAJCQkJOTNFRUMxRjMwOUMyODc3NzAwQzUxNUQxIC8qIE11dGF0aW9uRXZl
bnQuaWRsICovLAorCQkJCUM2RjA5MDA4MTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbk9ic2Vy
dmVyT3B0aW9ucy5oICovLAogCQkJCUM2RjA4RkI5MTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlv
blJlY29yZC5jcHAgKi8sCiAJCQkJQzZGMDhGQkExNDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9u
UmVjb3JkLmggKi8sCiAJCQkJQzZGMDhGQkIxNDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9uUmVj
b3JkLmlkbCAqLywKQEAgLTIwMTk1LDYgKzIwMjI2LDkgQEAKIAkJCQkzMUMwRkYxQjBFNENFQjZF
MDA3RDZGRTUgLyogV2ViS2l0QW5pbWF0aW9uRXZlbnQuY3BwICovLAogCQkJCTMxQzBGRjFDMEU0
Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRBbmltYXRpb25FdmVudC5oICovLAogCQkJCTMxQzBGRjFE
MEU0Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRBbmltYXRpb25FdmVudC5pZGwgKi8sCisJCQkJQzZG
MDkwMDUxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwICovLAor
CQkJCUM2RjA5MDA2MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgg
Ki8sCisJCQkJQzZGMDkwMDcxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXIuaWRsICovLAogCQkJCTMxQzBGRjFFMEU0Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRUcmFuc2l0
aW9uRXZlbnQuY3BwICovLAogCQkJCTMxQzBGRjFGMEU0Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRU
cmFuc2l0aW9uRXZlbnQuaCAqLywKIAkJCQkzMUMwRkYyMDBFNENFQjZFMDA3RDZGRTUgLyogV2Vi
S2l0VHJhbnNpdGlvbkV2ZW50LmlkbCAqLywKQEAgLTIyMTgzLDYgKzIyMjE3LDcgQEAKIAkJCQk4
OTg3ODVCNzEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODk4Nzg1QjkxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGFDYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTg2NjI5RDEwOURBMkI0ODAwOTYzM0E1IC8qIEpTTW91c2VFdmVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQzZGMDkwMjkxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRp
b25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVERjMxRkMwOUQxQ0M2MDAwMEJFMzI1
IC8qIEpTTXV0YXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzZGMDhGQ0ExNDMxMDAw
RDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRDlD
MkMxMEMxN0I2OUUwMDVDOTBBMiAvKiBKU05hbWVkTm9kZU1hcC5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yMjQyMyw2ICsyMjQ1OCw3IEBACiAJCQkJMzE2MTFFNUIwRTFDNERFMDAwRjZBNTc5IC8qIEpT
V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5ODc4NUI1MTIy
Q0EyQTcwMDNBQUJEQSAvKiBKU1dlYktpdEZsYWdzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0Yx
RDVDMTEyRDUzMzU2MDA4MzJCRUMgLyogSlNXZWJLaXRMb3NlQ29udGV4dC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQzZGMDkwMkQxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk0QkQ3OUUwRjU1Qzk0QzAwNzQ3ODI4IC8qIEpT
V2ViS2l0UG9pbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxQzBGRjQwMEU0Q0VGQUMwMDdENkZF
NSAvKiBKU1dlYktpdFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNURBNUUw
RkQxMDJCOTUzODAwMDg4Q0Y5IC8qIEpTV2ViU29ja2V0LmggaW4gSGVhZGVycyAqLywKQEAgLTIy
NTU2LDcgKzIyNTkyLDkgQEAKIAkJCQk4NTAzMUI0ODBBNDRFRkM3MDBGOTkyRTAgLyogTW91c2VS
ZWxhdGVkRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5REZDMDk5RTY0OTIwMDU2RTU4
MSAvKiBNb3ZlU2VsZWN0aW9uQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjFBRDRFNjMx
M0ExMkEwQjAwODQ2QjI3IC8qIE11dGFibGVUZXh0VHJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJ
CUM2RjA5MDBBMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk4NTAzMUI0QTBBNDRFRkM3MDBGOTkyRTAgLyogTXV0YXRpb25FdmVudC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQzZGMDkwMTExNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uT2Jz
ZXJ2ZXJPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQlDNkYwOEZCRDE0MzBGRThGMDA2ODU4
NDkgLyogTXV0YXRpb25SZWNvcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTg3MjIzMDk3N0Qz
QzAwMDU4MjZEOSAvKiBOYW1lZE5vZGVNYXAuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTg3MjFF
MDk3N0QzQzAwMDU4MjZEOSAvKiBOYW1lTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovLApAQCAtMjM0
MjQsNiArMjM0NjIsNyBAQAogCQkJCUJDOUFERDIzMENDNDAzMjYwMDA5OEM0QyAvKiBXZWJLaXRD
U1NUcmFuc2Zvcm1WYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODk4Nzg1NjYxMjJDQTA2NDAw
M0FBQkRBIC8qIFdlYktpdEZsYWdzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxRDVCQjEyRDUz
MkM0MDA4MzJCRUMgLyogV2ViS2l0TG9zZUNvbnRleHQuaCBpbiBIZWFkZXJzICovLAorCQkJCUM2
RjA5MDBGMTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0OTRCRDc5NTBGNTVDOEVFMDA3NDc4MjggLyogV2ViS2l0UG9pbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTMxQzBGRjI1MEU0Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRUcmFu
c2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQ0YzMzJGMEYyQjlBMjUwMDRCNjc5
NSAvKiBXZWJMYXllci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTIwNyw2ICsyNTI0Niw4IEBACiAJ
CQkJODk4Nzg1QjYxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGEuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJODk4Nzg1QjgxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGFDYWxsYmFjay5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBODY2MjlEMjA5REEyQjQ4MDA5NjMzQTUgLyogSlNNb3Vz
ZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUM2RjA5MDI4MTQzMjdENEYwMDY4NTg0OSAv
KiBKU011dGF0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzZGMDkxODUxNDNB
NkMzQjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk2NURGMzFGQjA5RDFDQzYwMDAwQkUzMjUgLyogSlNNdXRhdGlvbkV2ZW50LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUM2RjA4RkM5MTQzMTAwMEQwMDY4NTg0OSAvKiBKU011dGF0aW9u
UmVjb3JkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRDlDMkMwMEMxN0I2OUUwMDVDOTBBMiAv
KiBKU05hbWVkTm9kZU1hcC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI1NDc5LDYgKzI1NTIwLDgg
QEAKIAkJCQkzMTYxMUU1QTBFMUM0REUwMDBGNkE1NzkgLyogSlNXZWJLaXRDU1NUcmFuc2Zvcm1W
YWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4OTg3ODVCNDEyMkNBMkE3MDAzQUFCREEgLyog
SlNXZWJLaXRGbGFncy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0YxRDVDMDEyRDUzMzU2MDA4
MzJCRUMgLyogSlNXZWJLaXRMb3NlQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNkYw
OTAyQzE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUM2RjA5MTdGMTQzQTJCQjkwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0
aW9uT2JzZXJ2ZXJDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk0QkQ3OUQwRjU1Qzk0
QzAwNzQ3ODI4IC8qIEpTV2ViS2l0UG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMyNzVC
NzkxMUM1RDFDMzAwQzkyMDZDIC8qIEpTV2ViS2l0UG9pbnRDdXN0b20uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMzFDMEZGM0YwRTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0VHJhbnNpdGlvbkV2
ZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjYyODEsNiArMjYzMjQsNyBAQAogCQkJCTQ5ODM5
MTU4MEYxRTc3NjkwMEMyMzc4MiAvKiBXZWJLaXRDU1NNYXRyaXguY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkM5QUREODAwQ0M0MDkyMjAwMDk4QzRDIC8qIFdlYktpdENTU1RyYW5zZm9ybVZhbHVl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzRjFENUJBMTJENTMyQzQwMDgzMkJFQyAvKiBXZWJL
aXRMb3NlQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNkYwOTAwRTE0MzI3QjYxMDA2
ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkz
MUMwRkYyNDBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGQ0YzMzJFMEYyQjlBMjUwMDRCNjc5NSAvKiBXZWJMYXllci5tbSBp
biBTb3VyY2VzICovLAogCQkJCUUxQTMxNjJFMTM0QkMzMkQwMDdDOUE0RiAvKiBXZWJOU0F0dHJp
YnV0ZWRTdHJpbmdFeHRyYXMubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNEaWN0aW9uYXJ5LmgKaW5kZXggMmRhOTIzOTQwY2M5NmNiYTJiOWRlMDdhZWU4OTI3
MTIyYWNlOTdkNy4uODIyNDRiMjdiYjU2NmY4YTgzNzhkMTg5ZmU2NzQxOGY3MDYxODRjZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmgKQEAgLTUxLDYgKzUxLDkg
QEAgcHVibGljOgogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBSZXN1bHQ+CiAg
ICAgYm9vbCB0cnlHZXRQcm9wZXJ0eShjb25zdCBjaGFyKiBwcm9wZXJ0eU5hbWUsIFQqIGNvbnRl
eHQsIHZvaWQgKCpzZXR0ZXIpKFQqIGNvbnRleHQsIGNvbnN0IFJlc3VsdCYpKTsKIAorICAgIHRl
bXBsYXRlIDx0eXBlbmFtZSBUPgorICAgIGJvb2wgdHJ5R2V0UHJvcGVydHkoY29uc3QgY2hhciog
cHJvcGVydHlOYW1lLCBUJiBjb250ZXh0LCB2b2lkIChUOjoqc2V0dGVyKShib29sKSk7CisKIHBy
aXZhdGU6CiAgICAgZW51bSBHZXRQcm9wZXJ0eVJlc3VsdCB7CiAgICAgICAgIEV4Y2VwdGlvblRo
cm93biwKQEAgLTEwMSw2ICsxMDQsMzAgQEAgYm9vbCBKU0RpY3Rpb25hcnk6OnRyeUdldFByb3Bl
cnR5KGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSwgVCogY29udGV4dCwgdm9pZCAoKnMKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Citib29sIEpTRGljdGlvbmFy
eTo6dHJ5R2V0UHJvcGVydHkoY29uc3QgY2hhciogcHJvcGVydHlOYW1lLCBUJiBjb250ZXh0LCB2
b2lkIChUOjoqc2V0dGVyKShib29sKSkKK3sKKyAgICBKU0M6OkpTVmFsdWUgdmFsdWU7CisgICAg
c3dpdGNoICh0cnlHZXRQcm9wZXJ0eShwcm9wZXJ0eU5hbWUsIHZhbHVlKSkgeworICAgIGNhc2Ug
RXhjZXB0aW9uVGhyb3duOgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgY2FzZSBQcm9wZXJ0
eUZvdW5kOiB7CisgICAgICAgIGJvb2wgcmVzdWx0OworICAgICAgICBjb252ZXJ0VmFsdWUobV9l
eGVjLCB2YWx1ZSwgcmVzdWx0KTsKKworICAgICAgICBpZiAobV9leGVjLT5oYWRFeGNlcHRpb24o
KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAoY29udGV4dC4qc2V0dGVy
KShyZXN1bHQpOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSBOb1Byb3BlcnR5Rm91
bmQ6CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiB0cnVlOworfQorCiB0ZW1w
bGF0ZSA8dHlwZW5hbWUgUmVzdWx0PgogYm9vbCBKU0RpY3Rpb25hcnk6OnRyeUdldFByb3BlcnR5
KGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSwgUmVzdWx0JiBmaW5hbFJlc3VsdCkKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTXV0YXRpb25DYWxsYmFja0N1c3Rv
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0aW9uQ2FsbGJhY2tDdXN0
b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ2NDc1NmMxYjg2MDBmMTMxM2M0YTAwYWQ0ZjIwY2NiODUyZDUz
MjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0
aW9uQ2FsbGJhY2tDdXN0b20uY3BwCkBAIC0wLDAgKzEsNzIgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSAiSlNNdXRhdGlv
bkNhbGxiYWNrLmgiCisKKyNpbmNsdWRlICJKU011dGF0aW9uUmVjb3JkLmgiCisjaW5jbHVkZSAi
SlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBK
U0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworYm9vbCBKU011dGF0aW9uQ2FsbGJhY2s6Omhh
bmRsZUV2ZW50KE11dGF0aW9uUmVjb3JkQXJyYXkqIG11dGF0aW9ucywgV2ViS2l0TXV0YXRpb25P
YnNlcnZlciogb2JzZXJ2ZXIpCit7CisgICAgaWYgKCFjYW5JbnZva2VDYWxsYmFjaygpKQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFJlZlB0cjxKU011dGF0aW9uQ2FsbGJhY2s+IHByb3Rl
Y3QodGhpcyk7CisKKyAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOworCisg
ICAgRXhlY1N0YXRlKiBleGVjID0gbV9kYXRhLT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygp
OworCisgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgbXV0YXRpb25MaXN0OworICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbXV0YXRpb25zLT5zaXplKCk7ICsraSkKKyAgICAgICAgbXV0YXRpb25M
aXN0LmFwcGVuZCh0b0pTKGV4ZWMsIG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCksIG11dGF0aW9ucy0+
YXQoaSkuZ2V0KCkpKTsKKworICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CisgICAgYXJn
cy5hcHBlbmQoY29uc3RydWN0QXJyYXkoZXhlYywgbV9kYXRhLT5nbG9iYWxPYmplY3QoKSwgbXV0
YXRpb25MaXN0KSk7CisgICAgYXJncy5hcHBlbmQodG9KUyhleGVjLCBtX2RhdGEtPmdsb2JhbE9i
amVjdCgpLCBvYnNlcnZlcikpOworCisgICAgYm9vbCByYWlzZWRFeGNlcHRpb24gPSBmYWxzZTsK
KyAgICBtX2RhdGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsICZyYWlzZWRFeGNlcHRpb24pOworICAg
IHJldHVybiAhcmFpc2VkRXhjZXB0aW9uOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3Rv
bS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDVmZjI4NzcyNzUxNDBhYWMxN2IxZDFkZDk1YTgxODJmZjA4ZDFk
NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0
TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKQEAgLTAsMCArMSwxMDAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisKKyNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSAiSlNX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgiCisKKyNpbmNsdWRlICJKU0RpY3Rpb25hcnkuaCIKKyNp
bmNsdWRlICJKU011dGF0aW9uQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU05vZGUuaCIKKyNpbmNs
dWRlICJNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIgorI2luY2x1ZGUgIk5vZGUuaCIKKyNpbmNs
dWRlICJXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgiCisjaW5jbHVkZSA8cnVudGltZS9FcnJvci5o
PgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0VuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0
b3I6OmNvbnN0cnVjdEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlcihFeGVjU3RhdGUqIGV4ZWMpCit7
CisgICAgSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3IqIGpzQ29uc3RydWN0b3Ig
PSBzdGF0aWNfY2FzdDxKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3Rvcio+KGV4ZWMt
PmNhbGxlZSgpKTsKKyAgICBpZiAoIWpzQ29uc3RydWN0b3IpCisgICAgICAgIHJldHVybiB0aHJv
d1ZNRXJyb3IoZXhlYywgY3JlYXRlUmVmZXJlbmNlRXJyb3IoZXhlYywgIldlYktpdE11dGF0aW9u
T2JzZXJ2ZXIgY29uc3RydWN0b3IgY2FsbGVlIGlzIHVuYXZhaWxhYmxlIikpOworCisgICAgaWYg
KGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDEpCisgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3Io
ZXhlYywgY3JlYXRlVHlwZUVycm9yKGV4ZWMsICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKwor
ICAgIFJlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPiBjYWxsYmFjazsKKyAgICBpZiAoIWV4ZWMtPmFy
Z3VtZW50KDApLmlzVW5kZWZpbmVkT3JOdWxsKCkpIHsKKyAgICAgICAgaWYgKEpTT2JqZWN0KiBv
YmplY3QgPSBleGVjLT5hcmd1bWVudCgwKS5nZXRPYmplY3QoKSkKKyAgICAgICAgICAgIGNhbGxi
YWNrID0gSlNNdXRhdGlvbkNhbGxiYWNrOjpjcmVhdGUob2JqZWN0LCBqc0NvbnN0cnVjdG9yLT5n
bG9iYWxPYmplY3QoKSk7CisgICAgfQorICAgIGlmICghY2FsbGJhY2spCisgICAgICAgIHJldHVy
biB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlVHlwZUVycm9yKGV4ZWMsICJBcmd1bWVudCBpcyBu
b3QgYW4gT2JqZWN0IikpOworCisgICAgUmVmUHRyPFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI+IG9i
c2VydmVyID0gV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6Y3JlYXRlKGNhbGxiYWNrLnJlbGVhc2Uo
KSk7CisKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGFzT2JqZWN0KHRvSlMoZXhlYywganND
b25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCksIG9ic2VydmVyLnJlbGVhc2UoKSkpKTsKK30KKwor
SlNWYWx1ZSBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXI6Om9ic2VydmUoRXhlY1N0YXRlKiBleGVj
KQoreworICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkgPCAyKQorICAgICAgICByZXR1cm4g
dGhyb3dFcnJvcihleGVjLCBjcmVhdGVUeXBlRXJyb3IoZXhlYywgIk5vdCBlbm91Z2ggYXJndW1l
bnRzIikpOworICAgIE5vZGUqIHRhcmdldCA9IHRvTm9kZShleGVjLT5hcmd1bWVudCgwKSk7Cisg
ICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRlZmluZWQo
KTsKKworICAgIEpTVmFsdWUgb3B0aW9uc1ZhbHVlID0gZXhlYy0+YXJndW1lbnQoMSk7CisgICAg
aWYgKG9wdGlvbnNWYWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKQorICAgICAgICByZXR1cm4gdGhy
b3dFcnJvcihleGVjLCBjcmVhdGVUeXBlRXJyb3IoZXhlYywgIk9wdGlvbnMgbXVzdCBiZSBhbiBv
YmplY3QiKSk7CisKKyAgICBKU0RpY3Rpb25hcnkgZGljdGlvbmFyeShleGVjLCBvcHRpb25zVmFs
dWUudG9PYmplY3QoZXhlYykpOworCisgICAgUmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25z
PiBvcHRpb25zID0gTXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmNyZWF0ZSgpOworICAgIGlmICgh
ZGljdGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgiY2hpbGRMaXN0IiwgKm9wdGlvbnMsICZNdXRhdGlv
bk9ic2VydmVyT3B0aW9uczo6c2V0Q2hpbGRMaXN0KQorICAgICAgICB8fCAhZGljdGlvbmFyeS50
cnlHZXRQcm9wZXJ0eSgiYXR0cmlidXRlcyIsICpvcHRpb25zLCAmTXV0YXRpb25PYnNlcnZlck9w
dGlvbnM6OnNldEF0dHJpYnV0ZXMpCisgICAgICAgIHx8ICFkaWN0aW9uYXJ5LnRyeUdldFByb3Bl
cnR5KCJjaGFyYWN0ZXJEYXRhIiwgKm9wdGlvbnMsICZNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6
c2V0Q2hhcmFjdGVyRGF0YSkKKyAgICAgICAgfHwgIWRpY3Rpb25hcnkudHJ5R2V0UHJvcGVydHko
InN1YnRyZWUiLCAqb3B0aW9ucywgJk11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRTdWJ0cmVl
KQorICAgICAgICB8fCAhZGljdGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgiYXR0cmlidXRlT2xkVmFs
dWUiLCAqb3B0aW9ucywgJk11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRBdHRyaWJ1dGVPbGRW
YWx1ZSkKKyAgICAgICAgfHwgIWRpY3Rpb25hcnkudHJ5R2V0UHJvcGVydHkoImNoYXJhY3RlckRh
dGFPbGRWYWx1ZSIsICpvcHRpb25zLCAmTXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldENoYXJh
Y3RlckRhdGFPbGRWYWx1ZSkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworCisgICAg
aW1wbCgpLT5vYnNlcnZlKHRhcmdldCwgb3B0aW9ucy5nZXQoKSk7CisgICAgcmV0dXJuIGpzVW5k
ZWZpbmVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShNVVRBVElPTl9PQlNFUlZFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE11dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjAzM2ViOGMxYjk4MDliN2MzY2I2NmQ5YjlhNGZhNzQxYWNhZTY0NzIKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxi
YWNrQ3VzdG9tLmNwcApAQCAtMCwwICsxLDg5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYg
RU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgIlY4TXV0YXRpb25DYWxsYmFj
ay5oIgorCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlY4
QmluZGluZy5oIgorI2luY2x1ZGUgIlY4Q3VzdG9tVm9pZENhbGxiYWNrLmgiCisjaW5jbHVkZSAi
VjhNdXRhdGlvblJlY29yZC5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRlICJWOFdl
YktpdE11dGF0aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2lu
Y2x1ZGUgPHd0Zi9HZXRQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sIFY4TXV0YXRp
b25DYWxsYmFjazo6aGFuZGxlRXZlbnQoTXV0YXRpb25SZWNvcmRBcnJheSogbXV0YXRpb25zLCBX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyKiBvYnNlcnZlcikKK3sKKyAgICBpZiAoIWNhbkludm9rZUNh
bGxiYWNrKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgdjg6OkhhbmRsZVNjb3BlIGhh
bmRsZVNjb3BlOworCisgICAgdjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gdjhDb250ZXh0ID0gdG9W
OENvbnRleHQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBtX3dvcmxkQ29udGV4dCk7CisgICAg
aWYgKHY4Q29udGV4dC5Jc0VtcHR5KCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgdjg6
OkNvbnRleHQ6OlNjb3BlIHNjb3BlKHY4Q29udGV4dCk7CisKKyAgICBpZiAoIW11dGF0aW9ucykg
eworICAgICAgICBDUkFTSCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICB2
ODo6TG9jYWw8djg6OkFycmF5PiBtdXRhdGlvbnNBcnJheSA9IHY4OjpBcnJheTo6TmV3KG11dGF0
aW9ucy0+c2l6ZSgpKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG11dGF0aW9ucy0+c2l6
ZSgpOyArK2kpCisgICAgICAgIG11dGF0aW9uc0FycmF5LT5TZXQodjg6OkludGVnZXI6Ok5ldyhp
KSwgdG9WOChtdXRhdGlvbnMtPmF0KGkpLmdldCgpKSk7CisKKyAgICB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gb2JzZXJ2ZXJIYW5kbGUgPSB0b1Y4KG9ic2VydmVyKTsKKyAgICBpZiAob2JzZXJ2ZXJI
YW5kbGUuSXNFbXB0eSgpKSB7CisgICAgICAgIENSQVNIKCk7CisgICAgICAgIHJldHVybiB0cnVl
OworICAgIH0KKworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmd2W10gPSB7CisgICAgICAg
IG11dGF0aW9uc0FycmF5LAorICAgICAgICBvYnNlcnZlckhhbmRsZQorICAgIH07CisKKyAgICBi
b29sIGNhbGxiYWNrUmV0dXJuVmFsdWUgPSBmYWxzZTsKKyAgICByZXR1cm4gIWludm9rZUNhbGxi
YWNrKG1fY2FsbGJhY2ssIDIsIGFyZ3YsIGNhbGxiYWNrUmV0dXJuVmFsdWUsIHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJD
dXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllNmVmY2NjNjJkYzRiNzNkMmYyZTZjZjQyNmY1ZWRjYTFk
ODgwOWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcApAQCAtMCwwICsxLDExMiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNp
bmNsdWRlICJWOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCIKKworI2luY2x1ZGUgIk11dGF0aW9u
T2JzZXJ2ZXJPcHRpb25zLmgiCisjaW5jbHVkZSAiT3B0aW9uc09iamVjdC5oIgorI2luY2x1ZGUg
IlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4QmluZGluZ01hY3Jvcy5oIgorI2luY2x1ZGUgIlY4
RE9NV3JhcHBlci5oIgorI2luY2x1ZGUgIlY4TXV0YXRpb25DYWxsYmFjay5oIgorI2luY2x1ZGUg
IlY4Tm9kZS5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRlICJWOFV0aWxpdGllcy5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXI6OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYXJncykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5XZWJLaXRNdXRhdGlvbk9ic2VydmVyLkNv
bnN0cnVjdG9yIik7CisKKyAgICBpZiAoIWFyZ3MuSXNDb25zdHJ1Y3RDYWxsKCkpCisgICAgICAg
IHJldHVybiB0aHJvd0Vycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxs
ZWQgYXMgYSBmdW5jdGlvbi4iLCBWOFByb3h5OjpUeXBlRXJyb3IpOworCisgICAgaWYgKGFyZ3Mu
TGVuZ3RoKCkgPCAxKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1
bWVudHMiLCBWOFByb3h5OjpUeXBlRXJyb3IpOworCisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4g
YXJnID0gYXJnc1swXTsKKyAgICBpZiAoIWFyZy0+SXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJu
IHRocm93RXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYW4gT2JqZWN0IiwgVjhQcm94eTo6VHlwZUVy
cm9yKTsKKworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBnZXRTY3JpcHRF
eGVjdXRpb25Db250ZXh0KCk7CisgICAgaWYgKCFjb250ZXh0KQorICAgICAgICByZXR1cm4gdGhy
b3dFcnJvcigiV2ViS2l0TXV0YXRpb25PYnNlcnZlciBjb25zdHJ1Y3RvcidzIGFzc29jaWF0ZWQg
ZnJhbWUgdW5hdmFpbGFibGUiLCBWOFByb3h5OjpSZWZlcmVuY2VFcnJvcik7CisKKyAgICBSZWZQ
dHI8TXV0YXRpb25DYWxsYmFjaz4gY2FsbGJhY2sgPSBWOE11dGF0aW9uQ2FsbGJhY2s6OmNyZWF0
ZShhcmcsIGNvbnRleHQpOworICAgIFJlZlB0cjxXZWJLaXRNdXRhdGlvbk9ic2VydmVyPiBvYnNl
cnZlciA9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OmNyZWF0ZShjYWxsYmFjay5yZWxlYXNlKCkp
OworCisgICAgVjhET01XcmFwcGVyOjpzZXRET01XcmFwcGVyKGFyZ3MuSG9sZGVyKCksICZpbmZv
LCBvYnNlcnZlci5nZXQoKSk7CisgICAgb2JzZXJ2ZXItPnJlZigpOworICAgIFY4RE9NV3JhcHBl
cjo6c2V0SlNXcmFwcGVyRm9yRE9NT2JqZWN0KG9ic2VydmVyLmdldCgpLCB2ODo6UGVyc2lzdGVu
dDx2ODo6T2JqZWN0Pjo6TmV3KGFyZ3MuSG9sZGVyKCkpKTsKKyAgICByZXR1cm4gYXJncy5Ib2xk
ZXIoKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViS2l0TXV0YXRpb25PYnNlcnZl
cjo6b2JzZXJ2ZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5D
X1NUQVRTKCJET00uV2ViS2l0TXV0YXRpb25PYnNlcnZlci5vYnNlcnZlIik7CisgICAgaWYgKGFy
Z3MuTGVuZ3RoKCkgPCAyKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBh
cmd1bWVudHMiLCBWOFByb3h5OjpUeXBlRXJyb3IpOworICAgIFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXIqIGltcCA9IFY4V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6dG9OYXRpdmUoYXJncy5Ib2xkZXIo
KSk7CisgICAgRVhDRVBUSU9OX0JMT0NLKE5vZGUqLCB0YXJnZXQsIFY4Tm9kZTo6SGFzSW5zdGFu
Y2UoYXJnc1swXSkgPyBWOE5vZGU6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNh
c3QoYXJnc1swXSkpIDogMCk7CisKKyAgICBpZiAoIWFyZ3NbMV0tPklzT2JqZWN0KCkpCisgICAg
ICAgIHJldHVybiB0aHJvd0Vycm9yKCJPcHRpb25zIG11c3QgYmUgYW4gb2JqZWN0IiwgVjhQcm94
eTo6VHlwZUVycm9yKTsKKworICAgIE9wdGlvbnNPYmplY3Qgb3B0aW9uc09iamVjdChhcmdzWzFd
KTsKKyAgICBSZWZQdHI8TXV0YXRpb25PYnNlcnZlck9wdGlvbnM+IG9wdGlvbnMgPSBNdXRhdGlv
bk9ic2VydmVyT3B0aW9uczo6Y3JlYXRlKCk7CisKKyNkZWZpbmUgU0VUX09QVElPTihvcHRpb24s
IHNldHRlcikgXAorICAgIGRvIHsgXAorICAgICAgICBib29sIG9wdGlvbjsgXAorICAgICAgICBp
ZiAob3B0aW9uc09iamVjdC5nZXRLZXlWYWx1ZSgjb3B0aW9uLCBvcHRpb24pKSBcCisgICAgICAg
ICAgICBvcHRpb25zLT5zZXR0ZXIob3B0aW9uKTsgXAorICAgIH0gd2hpbGUgKDApCisKKyAgICBT
RVRfT1BUSU9OKGNoaWxkTGlzdCwgc2V0Q2hpbGRMaXN0KTsKKyAgICBTRVRfT1BUSU9OKGF0dHJp
YnV0ZXMsIHNldEF0dHJpYnV0ZXMpOworICAgIFNFVF9PUFRJT04oY2hhcmFjdGVyRGF0YSwgc2V0
Q2hhcmFjdGVyRGF0YSk7CisgICAgU0VUX09QVElPTihzdWJ0cmVlLCBzZXRTdWJ0cmVlKTsKKyAg
ICBTRVRfT1BUSU9OKGF0dHJpYnV0ZU9sZFZhbHVlLCBzZXRBdHRyaWJ1dGVPbGRWYWx1ZSk7Cisg
ICAgU0VUX09QVElPTihjaGFyYWN0ZXJEYXRhT2xkVmFsdWUsIHNldENoYXJhY3RlckRhdGFPbGRW
YWx1ZSk7CisKKyN1bmRlZiBTRVRfT1BUSU9OCisKKyAgICBpbXAtPm9ic2VydmUodGFyZ2V0LCBv
cHRpb25zLmdldCgpKTsKKyAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9PQlNF
UlZFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFjay5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MDcz
OWM4OGFkNzhiMTMxNTk5MmQ4ZjY2NmQ5MGIyNDBhZTdlYWQ5Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaApAQCAtMCwwICsxLDU4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBNdXRhdGlvbkNhbGxiYWNrX2gKKyNkZWZpbmUgTXV0YXRpb25DYWxsYmFja19oCisKKyNp
ZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE11dGF0aW9uUmVjb3JkOworY2xhc3MgV2ViS2l0
TXV0YXRpb25PYnNlcnZlcjsKKwordHlwZWRlZiBWZWN0b3I8UmVmUHRyPE11dGF0aW9uUmVjb3Jk
PiA+IE11dGF0aW9uUmVjb3JkQXJyYXk7CisKK2NsYXNzIE11dGF0aW9uQ2FsbGJhY2sgOiBwdWJs
aWMgUmVmQ291bnRlZDxNdXRhdGlvbkNhbGxiYWNrPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+
TXV0YXRpb25DYWxsYmFjaygpIHsgfQorCisgICAgdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KE11
dGF0aW9uUmVjb3JkQXJyYXkqLCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyKikgPSAwOworfTsKKwor
fQorCisjZW5kaWYgLy8gRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2VuZGlmIC8vIE11
dGF0aW9uQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9u
Q2FsbGJhY2suaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjE2MzgxNzE0YzgwOWVhN2NhNDc4NGM2YjNiMDMxMWI4OTc5ZjgxNzUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFjay5pZGwKQEAg
LTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25k
aXRpb25hbD1NVVRBVElPTl9PQlNFUlZFUlMsCisgICAgICAgIENhbGxiYWNrCisgICAgXSBNdXRh
dGlvbkNhbGxiYWNrIHsKKyAgICAgICAgW0N1c3RvbV0gYm9vbGVhbiBoYW5kbGVFdmVudChpbiBN
dXRhdGlvblJlY29yZEFycmF5IG11dGF0aW9ucywgaW4gV2ViS2l0TXV0YXRpb25PYnNlcnZlciBv
YnNlcnZlcik7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRh
dGlvbk9ic2VydmVyT3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2
ZXJPcHRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2ZlNWQxY2QyODRiZDFmNGI4NDM2N2E5ZTZkNWE3MTZm
ZmViYzNkZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9i
c2VydmVyT3B0aW9ucy5oCkBAIC0wLDAgKzEsOTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE11dGF0aW9uT2JzZXJ2ZXJP
cHRpb25zX2gKKyNkZWZpbmUgTXV0YXRpb25PYnNlcnZlck9wdGlvbnNfaAorCisjaWYgRU5BQkxF
KE1VVEFUSU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBN
dXRhdGlvbk9ic2VydmVyT3B0aW9ucyA6IHB1YmxpYyBSZWZDb3VudGVkPE11dGF0aW9uT2JzZXJ2
ZXJPcHRpb25zPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TXV0YXRpb25PYnNl
cnZlck9wdGlvbnM+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKTsKKyAgICB9CisKKyAgICBib29sIGNoaWxkTGlzdCgp
IGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRMaXN0OyB9CisgICAgdm9pZCBzZXRDaGlsZExpc3QoYm9v
bCB2YWx1ZSkgeyBtX2NoaWxkTGlzdCA9IHZhbHVlOyB9CisKKyAgICBib29sIGF0dHJpYnV0ZXMo
KSBjb25zdCB7IHJldHVybiBtX2F0dHJpYnV0ZXM7IH0KKyAgICB2b2lkIHNldEF0dHJpYnV0ZXMo
Ym9vbCB2YWx1ZSkgeyBtX2F0dHJpYnV0ZXMgPSB2YWx1ZTsgfQorCisgICAgYm9vbCBjaGFyYWN0
ZXJEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9jaGFyYWN0ZXJEYXRhOyB9CisgICAgdm9pZCBzZXRD
aGFyYWN0ZXJEYXRhKGJvb2wgdmFsdWUpIHsgbV9jaGFyYWN0ZXJEYXRhID0gdmFsdWU7IH0KKwor
ICAgIGJvb2wgc3VidHJlZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3VidHJlZTsgfQorICAgIHZvaWQg
c2V0U3VidHJlZShib29sIHZhbHVlKSB7IG1fc3VidHJlZSA9IHZhbHVlOyB9CisKKyAgICBib29s
IGF0dHJpYnV0ZU9sZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVPbGRWYWx1ZTsg
fQorICAgIHZvaWQgc2V0QXR0cmlidXRlT2xkVmFsdWUoYm9vbCB2YWx1ZSkgeyBtX2F0dHJpYnV0
ZU9sZFZhbHVlID0gdmFsdWU7IH0KKworICAgIGJvb2wgY2hhcmFjdGVyRGF0YU9sZFZhbHVlKCkg
Y29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVPbGRWYWx1ZTsgfQorICAgIHZvaWQgc2V0Q2hhcmFj
dGVyRGF0YU9sZFZhbHVlKGJvb2wgdmFsdWUpIHsgbV9jaGFyYWN0ZXJEYXRhT2xkVmFsdWUgPSB2
YWx1ZTsgfQorCisgICAgLy8gRklYTUU6IEZpZ3VyZSBvdXQgaG93IHRvIG1vZGVsIHRoaXMgYmFz
ZWQgb24gdGhlIElETC4KKyAgICAvLyBET01TdHJpbmdbXSBhdHRyaWJ1dGVGaWx0ZXI7CisKK3By
aXZhdGU6CisgICAgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMoKQorICAgICAgICA6IG1fY2hpbGRM
aXN0KGZhbHNlKQorICAgICAgICAsIG1fYXR0cmlidXRlcyhmYWxzZSkKKyAgICAgICAgLCBtX2No
YXJhY3RlckRhdGEoZmFsc2UpCisgICAgICAgICwgbV9zdWJ0cmVlKGZhbHNlKQorICAgICAgICAs
IG1fYXR0cmlidXRlT2xkVmFsdWUoZmFsc2UpCisgICAgICAgICwgbV9jaGFyYWN0ZXJEYXRhT2xk
VmFsdWUoZmFsc2UpCisgICAgeworICAgIH0KKworICAgIGJvb2wgbV9jaGlsZExpc3Q7CisgICAg
Ym9vbCBtX2F0dHJpYnV0ZXM7CisgICAgYm9vbCBtX2NoYXJhY3RlckRhdGE7CisgICAgYm9vbCBt
X3N1YnRyZWU7CisgICAgYm9vbCBtX2F0dHJpYnV0ZU9sZFZhbHVlOworICAgIGJvb2wgbV9jaGFy
YWN0ZXJEYXRhT2xkVmFsdWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjZW5kaWYgLy8gTXV0YXRpb25PYnNl
cnZlck9wdGlvbnNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0
aW9uT2JzZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2
ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjNhNjY1NGU2ODU0MDQ4YThmNmIyZGMxN2UzYWQ5MmQ0ZDJkZTY2
NzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25P
YnNlcnZlci5jcHAKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVO
QUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNpbmNsdWRlICJXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyLmgiCisKKyNpbmNsdWRlICJNdXRhdGlvbkNhbGxiYWNrLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworUGFzc1JlZlB0cjxXZWJLaXRNdXRhdGlvbk9ic2VydmVyPiBXZWJLaXRNdXRhdGlv
bk9ic2VydmVyOjpjcmVhdGUoUGFzc1JlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPiBjYWxsYmFjaykK
K3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoY2FsbGJh
Y2spKTsKK30KKworV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6V2ViS2l0TXV0YXRpb25PYnNlcnZl
cihQYXNzUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQorICAgIDogbV9jYWxsYmFj
ayhjYWxsYmFjaykKK3sKK30KKworV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6fldlYktpdE11dGF0
aW9uT2JzZXJ2ZXIoKQoreworfQorCit2b2lkIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6Om9ic2Vy
dmUoTm9kZSosIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKikKK3sKKyAgICAvLyBGSVhNRTogaW1w
bGVtZW50Cit9CisKK3ZvaWQgV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6ZGlzY29ubmVjdCgpCit7
CisgICAgLy8gRklYTUU6IGltcGxlbWVudAorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDg3OTQ0NzU2YjJmYzI2ZDE0
NGJhZmEwNDNhYzdlODJkNTAwYjBkYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlcl9oCisjZGVmaW5lIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJfaAor
CisjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTXV0YXRpb25DYWxsYmFjazsKK2Ns
YXNzIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOworY2xhc3MgTm9kZTsKKworY2xhc3MgV2ViS2l0
TXV0YXRpb25PYnNlcnZlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyPiBjcmVhdGUoUGFzc1JlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPik7CisKKyAgICB+V2ViS2l0
TXV0YXRpb25PYnNlcnZlcigpOworCisgICAgdm9pZCBvYnNlcnZlKE5vZGUqLCBNdXRhdGlvbk9i
c2VydmVyT3B0aW9ucyopOworICAgIHZvaWQgZGlzY29ubmVjdCgpOworCitwcml2YXRlOgorICAg
IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoUGFzc1JlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPik7CisK
KyAgICBSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4gbV9jYWxsYmFjazsKK307CisKK30KKworI2Vu
ZGlmIC8vIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNlbmRpZiAvLyBXZWJLaXRNdXRh
dGlvbk9ic2VydmVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRh
dGlvbk9ic2VydmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wNjljMDdlZWM1OTA4NzVhZmUyZmI2MTY3ZGI2Y2ZiMjNiZDFh
YzIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9u
T2JzZXJ2ZXIuaWRsCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgY29yZSB7CisgICAgaW50ZXJmYWNl
IFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TVVUQVRJT05fT0JTRVJWRVJTLAorICAgICAgICBDYW5C
ZUNvbnN0cnVjdGVkLAorICAgICAgICBDdXN0b21Db25zdHJ1Y3RGdW5jdGlvbiwKKyAgICAgICAg
VjhDdXN0b21Db25zdHJ1Y3RvcgorICAgIF0gV2ViS2l0TXV0YXRpb25PYnNlcnZlciB7CisgICAg
ICAgIFtDdXN0b21dIHZvaWQgb2JzZXJ2ZShpbiBOb2RlIHRhcmdldCwgaW4gTXV0YXRpb25PYnNl
cnZlck9wdGlvbnMgb3B0aW9ucyk7CisgICAgICAgIHZvaWQgZGlzY29ubmVjdCgpOworICAgIH07
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggYzJiZWU0NjEwNGIwOTU2NDEyMmQz
Mjc0ZDMzMmExYTNkMzRiYTY0Ny4uYTcxOWNiZmFlYjg3MTNlNTkwNWM0MGQ2MGQyYmI0YWRmZGRm
ZTI4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtODA1LDYgKzgwNSw4IEBAIG1v
ZHVsZSB3aW5kb3cgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0VuYWJsZWRBdFJ1bnRp
bWU9UXVvdGFdIFN0b3JhZ2VJbmZvIHdlYmtpdFN0b3JhZ2VJbmZvOwogI2VuZGlmCiAKKyAgICAg
ICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1NVVRBVElPTl9PQlNFUlZFUlNdIFdlYktpdE11dGF0
aW9uT2JzZXJ2ZXJDb25zdHJ1Y3RvciBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOworCiAjZW5kaWYg
Ly8gZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKQogCiAjaWYgZGVmaW5lZChWOF9CSU5ESU5H
KSAmJiBWOF9CSU5ESU5HCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110384</attachid>
            <date>2011-10-10 12:47:35 -0700</date>
            <delta_ts>2011-10-10 13:25:16 -0700</delta_ts>
            <desc>Merge to r97071, kill SET_OPTION macro</desc>
            <filename>bug-68949-20111010124734.patch</filename>
            <type>text/plain</type>
            <size>80498</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwNzEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNzNiZjE1NThlZjU0ZGFkZDYwYmJk
MjljNWM2NTcwMjdlZjMxNmYyLi5kZDFhODg5MTBkY2UwMzFjODgyZTJlMjllZjI1OTE1YWY0MDRh
NzQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMTAtMTAgIEFkYW0gS2xlaW4gIDxhZGFt
a0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgc3R1YiBp
bXBsZW1lbnRhdGlvbiBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk0OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiYXNpYyB0ZXN0cyBhbmQgc2tpcCB0
aGVtIGluIGFsbCBwb3J0cyBmb3Igbm93LgorCisgICAgICAgICogZmFzdC9tdXRhdGlvbi9tdXRh
dGlvbi1vYnNlcnZlci1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3IuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211dGF0aW9uL29ic2VydmUtZXhjZXB0aW9ucy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMS0xMC0xMCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxk
bWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogYW5ub3RhdGUgRE9NQWdl
bnQsIERlYnVnZ2VyKFByZXNlbnRhdGlvbilNb2RlbCB3aXRoIHR5cGVzLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25zdHJ1Y3Rvci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL211dGF0aW9uLW9ic2VydmVy
LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYmViM2U4NmU3MGUyNDg1YTc3
MjAxODA3NzY0Mjg1OTE3OTI3NDlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNCBAQAorVGVzdCB0aGUgY29uc3RydWN0b3Igb2YgV2ViS2l0TXV0YXRpb25PYnNl
cnZlcgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB3aW5kb3cuV2ViS2l0
TXV0YXRpb25PYnNlcnZlciBpcyBub24tbnVsbC4KK1BBU1MgdHlwZW9mIFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXIucHJvdG90eXBlLm9ic2VydmUgaXMgImZ1bmN0aW9uIgorUEFTUyB0eXBlb2YgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5wcm90b3R5cGUuZGlzY29ubmVjdCBpcyAiZnVuY3Rpb24iCitQ
QVNTIHR5cGVvZiBvYnNlcnZlci5vYnNlcnZlIGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIG9i
c2VydmVyLmRpc2Nvbm5lY3QgaXMgImZ1bmN0aW9uIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
bXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3IuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xOTY2YTYzNWUwYjIzZjAzMGNlNTc5MTg2OWFkYmYxMzdiOTFhNzE0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25z
dHJ1Y3Rvci5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHRpdGxlPjwvdGl0bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPWRlc2NyaXB0aW9uPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBzaG91bGRCZU5v
bk51bGwoJ3dpbmRvdy5XZWJLaXRNdXRhdGlvbk9ic2VydmVyJyk7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCd0eXBlb2YgV2ViS2l0TXV0YXRpb25PYnNlcnZlci5wcm90b3R5cGUub2JzZXJ2
ZScsICdmdW5jdGlvbicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlLmRpc2Nvbm5lY3QnLCAnZnVuY3Rpb24nKTsKKyAg
ICB3aW5kb3cub2JzZXJ2ZXIgPSBuZXcgV2ViS2l0TXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbiht
dXRhdGlvbnMpIHsgfSk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2Ygb2JzZXJ2
ZXIub2JzZXJ2ZScsICdmdW5jdGlvbicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndHlw
ZW9mIG9ic2VydmVyLmRpc2Nvbm5lY3QnLCAnZnVuY3Rpb24nKTsKK30KKworZGVzY3JpcHRpb24o
J1Rlc3QgdGhlIGNvbnN0cnVjdG9yIG9mIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXInKTsKKworaWYg
KCF3aW5kb3cuV2ViS2l0TXV0YXRpb25PYnNlcnZlcikKKyAgICB0ZXN0RmFpbGVkKCdUaGlzIHRl
c3QgcmVxdWlyZXMgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUyknKTsKK2Vsc2UKKyAgICBydW5U
ZXN0KCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2Jz
ZXJ2ZS1leGNlcHRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24v
b2JzZXJ2ZS1leGNlcHRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZWNkNDAxMjFmOTMw
YThmNWE1OTk1NGM3NDdmOTMwOGIyMzQ4N2VkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTUgQEAKK1Rlc3QgdGhhdCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLm9ic2VydmUgdGhyb3dz
IGV4Y2VwdGlvbnMgYXBwcm9wcmlhdGVseQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBvYnNlcnZlci5vYnNlcnZlKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90
IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG9ic2VydmVyLm9ic2VydmUobnVsbCkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG9ic2VydmVyLm9i
c2VydmUodW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFy
Z3VtZW50cy4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5KSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1Mgb2JzZXJ2ZXIub2Jz
ZXJ2ZShkb2N1bWVudC5ib2R5LCBudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBPcHRp
b25zIG11c3QgYmUgYW4gb2JqZWN0LgorUEFTUyBvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJv
ZHksIHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogT3B0aW9ucyBtdXN0IGJl
IGFuIG9iamVjdC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2VydmUtZXhj
ZXB0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlv
bnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43ZmVmM2NmZTkwYmY1NDg3YWFlMmUxYTBmNmU0MmViMWRkMzMx
ZGM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZl
LWV4Y2VwdGlvbnMuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzx0aXRsZT48L3RpdGxl
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD1kZXNjcmlwdGlvbj48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgd2luZG93
Lm9ic2VydmVyID0gbmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24obXV0YXRpb25z
KSB7IH0pOworICAgIHNob3VsZFRocm93KCdvYnNlcnZlci5vYnNlcnZlKCknKTsKKyAgICBzaG91
bGRUaHJvdygnb2JzZXJ2ZXIub2JzZXJ2ZShudWxsKScpOworICAgIHNob3VsZFRocm93KCdvYnNl
cnZlci5vYnNlcnZlKHVuZGVmaW5lZCknKTsKKyAgICBzaG91bGRUaHJvdygnb2JzZXJ2ZXIub2Jz
ZXJ2ZShkb2N1bWVudC5ib2R5KScpOworICAgIHNob3VsZFRocm93KCdvYnNlcnZlci5vYnNlcnZl
KGRvY3VtZW50LmJvZHksIG51bGwpJyk7CisgICAgc2hvdWxkVGhyb3coJ29ic2VydmVyLm9ic2Vy
dmUoZG9jdW1lbnQuYm9keSwgdW5kZWZpbmVkKScpOworfQorCitkZXNjcmlwdGlvbignVGVzdCB0
aGF0IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSB0aHJvd3MgZXhjZXB0aW9ucyBhcHBy
b3ByaWF0ZWx5Jyk7CisKK2lmICghd2luZG93LldlYktpdE11dGF0aW9uT2JzZXJ2ZXIpCisgICAg
dGVzdEZhaWxlZCgnVGhpcyB0ZXN0IHJlcXVpcmVzIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMp
Jyk7CitlbHNlCisgICAgcnVuVGVzdCgpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggNDU2OWQzMGQ4N2Jh
MTdjMmZmYzk3ZTZiNGI4YzRhNTdjMGMwYzA4Yy4uMGE5OTg2YWZlMjdmYjA5OTI1NWVmNzI3ZmRk
YzJkZTIxYWZlODgyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMzI2Miw2ICszMjYyLDkgQEAgQlVHV0s1NzMxMSBT
S0lQIDogZmFzdC9leGNsdXNpb25zID0gUEFTUwogLy8gQ1NTIEZpbHRlcnMgc3VwcG9ydCBub3Qg
eWV0IGVuYWJsZWQKIEJVR1dLNjg0NjkgU0tJUCA6IGNzczMvZmlsdGVycyA9IFBBU1MKIAorLy8g
TXV0YXRpb25PYnNlcnZlcnMgbm90IHlldCBlbmFibGVkLgorQlVHV0s2ODcyOSBTS0lQIDogZmFz
dC9tdXRhdGlvbiA9IFBBU1MKKwogQlVHQ1I4NTc1NSA6IGZhc3QvanMvZXhjZXB0aW9uLXByb3Bl
cnRpZXMuaHRtbCA9IFRFWFQKIAogQlVHV0s2MjQzMCBMSU5VWCBXSU4gOiBmYXN0L2RvbS9IVE1M
UHJvZ3Jlc3NFbGVtZW50L2luZGV0ZXJtaW5hdGUtcHJvZ3Jlc3MtMDAxLmh0bWwgPSBGQUlMCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IDIwY2M2NzJmZWU1ZGY5ZjBiNzgxZTc1MmMyYTk4
MzA3MWQ5NWZmZGUuLmM0Y2IwZDRiNzBkMWU4Y2M5MjY5ZDE5MzliMTVjNzA4Zjg0YjUyYTAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC00NzAsNiArNDcwLDkgQEAgd2ViYXVkaW8KICMg
Q1NTIEZpbHRlcnMgaXMgZGlzYWJsZWQKIGNzczMvZmlsdGVycwogCisjIE11dGF0aW9uT2JzZXJ2
ZXJzIGFyZSBuZXQgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNjg3MjkKK2Zhc3Qv
bXV0YXRpb24KKwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBURVNUUyBGQUlMSU5HCiAjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
U2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IDZkNTI2Yjgy
ZjgyZjZhYjkzM2ExODU5MDBkMzY0NTk5ZmU0ZGZjNzUuLmFmZWM5NzNlZmM4NjU5ZWY4MGVlYTAx
NzhhODY5YTA4YTM3NWMxMmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9T
a2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC00MDcsNiAr
NDA3LDkgQEAgY29tcG9zaXRpbmcvcnRsL3J0bC1pZnJhbWUtcmVsYXRpdmUuaHRtbAogIyBGb3Ig
bm93LCBXZWIgQXVkaW8gQVBJIGlzIGRpc2FibGVkCiB3ZWJhdWRpby8KIAorIyBNdXRhdGlvbk9i
c2VydmVycyBhcmUgbmV0IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzY4NzI5Citm
YXN0L211dGF0aW9uCisKICMgVGVzdHMgZm9yIFdlYlZUVCBwYXJzZXIgZm9yIDx0cmFjaz4uICBG
ZWF0dXJlIGlzIG5vdCB5ZXQgZnVuY3Rpb25hbC4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQzNjY4CiBtZWRpYS90cmFjay8KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
CmluZGV4IGUzOGE0NjIzNTNlZmEzZjliNjRhNjBjNjJkMWI1MjI0NTNlMmNmMTUuLjcxNDZhN2E0
MWIwNDUzOGM1M2EwNGJiZjA1N2Q3NjJlOGM0OTRiM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZApAQCAtMTU4LDYgKzE1OCw5IEBAIGZhc3QvcmVnaW9ucwogIyBDU1MgRXhjbHVzaW9ucyBzdXBw
b3J0IG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81NzMxMQogZmFzdC9leGNs
dXNpb25zCiAKKyMgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykgaXMgbm90IHlldCBlbmFibGVk
LiBodHRwOi8vd2Via2l0Lm9yZy9iLzY4NzI5CitmYXN0L211dGF0aW9uCisKICMgVVNFKFY4KQog
CiAjIHY4IGkxOG4gZXh0ZW5zaW9uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCAzYjA0
Zjk0ZjI2NzM3ODNhNzdiNTBhM2U4MGZkNzlhZDUwNGIwMmI0Li4wMjlhNGI0ZmE0ZTY3NDEyNzM3
YjFkZmIxMzIzYTIwNzc5Yzg3YWNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTQw
MCw2ICsxNDAwLDkgQEAgY3NzMy9zZWxlY3RvcnMzCiAjIEZvciBub3csIFdlYiBBdWRpbyBBUEkg
aXMgZGlzYWJsZWQKIHdlYmF1ZGlvLwogCisjIE11dGF0aW9uT2JzZXJ2ZXJzIGFyZSBuZXQgeWV0
IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNjg3MjkKK2Zhc3QvbXV0YXRpb24KKwogIyBU
ZXN0cyBmb3IgV2ViVlRUIHBhcnNlciBmb3IgPHRyYWNrPi4gIEZlYXR1cmUgaXMgbm90IHlldCBm
dW5jdGlvbmFsLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM2
NjgKIG1lZGlhL3RyYWNrLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0OTAxOGZjNzQyYmUwY2I1
NTVmNTc1MTcyOTM2Yjg0MDI3OWQ1NjNkLi45MTMwYzJkYjE0N2FlZGQ4NDEwMGNlZGUxMTA3YTc3
YWY3ZTMyYzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTYzLDYgKzE2Myw3IEBAIFNFVChX
ZWJDb3JlX0lETF9GSUxFUwogICAgIGRvbS9NZXNzYWdlRXZlbnQuaWRsCiAgICAgZG9tL01lc3Nh
Z2VQb3J0LmlkbAogICAgIGRvbS9Nb3VzZUV2ZW50LmlkbAorICAgIGRvbS9NdXRhdGlvbkNhbGxi
YWNrLmlkbAogICAgIGRvbS9NdXRhdGlvbkV2ZW50LmlkbAogICAgIGRvbS9NdXRhdGlvblJlY29y
ZC5pZGwKICAgICBkb20vTmFtZWROb2RlTWFwLmlkbApAQCAtMTg2LDYgKzE4Nyw4IEBAIFNFVChX
ZWJDb3JlX0lETF9GSUxFUwogICAgIGRvbS9UcmVlV2Fsa2VyLmlkbAogICAgIGRvbS9VSUV2ZW50
LmlkbAogICAgIGRvbS9XZWJLaXRBbmltYXRpb25FdmVudC5pZGwKKyAgICBkb20vV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5pZGwKKyAgICBkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlck9wdGlvbnMu
aWRsCiAgICAgZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5pZGwKICAgICBkb20vV2hlZWxFdmVu
dC5pZGwKIApAQCAtNjA0LDYgKzYwNyw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20v
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuY3BwCiAgICAgZG9tL1ZpZXdwb3J0QXJndW1lbnRz
LmNwcAogICAgIGRvbS9XZWJLaXRBbmltYXRpb25FdmVudC5jcHAKKyAgICBkb20vV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5jcHAKICAgICBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcAogICAg
IGRvbS9XaGVlbEV2ZW50LmNwcAogICAgIGRvbS9XaW5kb3dFdmVudENvbnRleHQuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggN2E2YWQxYzEzNTkyYmQ0NDg0NzU5NjI0ODM3ZjBjMGM2NTMxNjEzZi4uZjMxM2Q0
ZGIxODMyZTViMjUzYjIyNWJlMGMyYzRiZDQ1ZGIyOGQ0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDc5IEBACisyMDExLTEwLTEwICBBZGFtIEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFtNdXRhdGlvbk9ic2VydmVyc10gQWRkIHN0dWIgaW1wbGVtZW50YXRpb24gb2YgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Njg5NDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4
NzI5IGZvciB0aGUgbWV0YWJ1Zy4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgYSBzdHViIFdl
YktpdE11dGF0aW9uT2JzZXJ2ZXIgYW5kIGl0cyBzdXBwb3J0aW5nIGNsYXNzZXMKKyAgICAgICAg
TXV0YXRpb25DYWxsYmFjayBhbmQgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuCisgICAgICAgIE5v
IGltcGxlbWVudGF0aW9uIGlzIHByb3ZpZGVkIGZvciB0aGUgYWxsLWltcG9ydGFudCBvYnNlcnZl
KCkgYW5kCisgICAgICAgIGRpc2Nvbm5lY3QoKSBtZXRob2RzLgorCisgICAgICAgIE5vdGUgdGhh
dCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyIGlzIHZlbmRvci1wcmVmaXhlZCBzaW5jZSBpdCBoYXMg
YQorICAgICAgICBjb25zdHJ1Y3RvciBleHBvc2VkIG9uIERPTVdpbmRvdy4gIE5vbmUgb2YgdGhl
IHJlc3Qgb2YgdGhlIEFQSSBuZWVkcworICAgICAgICBwcmVmaXhpbmcsIGFzIGl0J3Mgb25seSBh
dmFpbGFibGUgdmlhIGEgY2FsbCB0aHJvdWdoIGEgTXV0YXRpb25PYnNlcnZlcgorICAgICAgICBj
YWxsYmFjayAoY3JlYXRlZCBieSBpbnN0YW50aWF0aW5nIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIp
LgorCisgICAgICAgIEdpdmVuIHRoZSBudW1iZXIgb2YgZmlsZXMgcmVxdWlyZWQgdG8gZ2V0IGp1
c3QgdGhlIHN0dWIgdXAgYW5kIHJ1bm5pbmcsCisgICAgICAgIGl0IHNlZW1zIHJlYXNvbmFibGUg
dG8gbGVhdmUgdGhlIGFjdHVhbCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIG5leHQKKyAgICAgICAg
cGF0Y2ggKG9yIG1vcmUgbGlrZWx5IHNldmVyYWwgcGF0Y2hlcykuICBJJ3ZlIGxlZnQgRklYTUVz
IGluIGFsbCB0aGUgcGxhY2VzCisgICAgICAgIHRoYXQnbGwgbmVlZCBhdWdtZW50YXRpb24uCisK
KyAgICAgICAgVGVzdHM6IGZhc3QvbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0
b3IuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlvbnMu
aHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBVc2VKU0MuY21ha2U6CisgICAgICAgICogV2ViQ29y
ZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkpTRGljdGlvbmFyeTo6dHJ5R2V0UHJvcGVydHkpOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTTXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZTo6SlNNdXRhdGlvbkNhbGxiYWNrOjpoYW5kbGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0SlNX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkpTV2ViS2l0TXV0YXRp
b25PYnNlcnZlcjo6b2JzZXJ2ZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4TXV0
YXRpb25DYWxsYmFja0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VjhNdXRh
dGlvbkNhbGxiYWNrOjpoYW5kbGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6VjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpjb25zdHJ1Y3RvckNhbGxiYWNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OlY4V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZUNhbGxiYWNr
KToKKyAgICAgICAgKiBkb20vTXV0YXRpb25DYWxsYmFjay5oOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6Ok11dGF0aW9uQ2FsbGJhY2s6On5NdXRhdGlvbkNhbGxiYWNrKToKKyAgICAgICAgKiBk
b20vTXV0YXRpb25DYWxsYmFjay5pZGw6IEFkZGVkLgorICAgICAgICAqIGRvbS9NdXRhdGlvbk9i
c2VydmVyT3B0aW9ucy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2
ZXJPcHRpb25zOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25PYnNlcnZlck9w
dGlvbnM6OmNoaWxkTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyT3B0
aW9uczo6c2V0Q2hpbGRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJP
cHRpb25zOjphdHRyaWJ1dGVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJP
cHRpb25zOjpzZXRBdHRyaWJ1dGVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2
ZXJPcHRpb25zOjpjaGFyYWN0ZXJEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2Jz
ZXJ2ZXJPcHRpb25zOjpzZXRDaGFyYWN0ZXJEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0
aW9uT2JzZXJ2ZXJPcHRpb25zOjpzdWJ0cmVlKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9u
T2JzZXJ2ZXJPcHRpb25zOjpzZXRTdWJ0cmVlKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9u
T2JzZXJ2ZXJPcHRpb25zOjphdHRyaWJ1dGVPbGRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpN
dXRhdGlvbk9ic2VydmVyT3B0aW9uczo6c2V0QXR0cmlidXRlT2xkVmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmNoYXJhY3RlckRhdGFPbGRWYWx1ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6c2V0Q2hhcmFjdGVy
RGF0YU9sZFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25z
OjpNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyk6CisgICAgICAgICogZG9tL1dlYktpdE11dGF0aW9u
T2JzZXJ2ZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVy
OjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0
aW9uT2JzZXJ2ZXI6On5XZWJLaXRNdXRhdGlvbk9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYktpdE11dGF0aW9uT2JzZXJ2ZXI6Om9ic2VydmUpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
S2l0TXV0YXRpb25PYnNlcnZlcjo6ZGlzY29ubmVjdCk6CisgICAgICAgICogZG9tL1dlYktpdE11
dGF0aW9uT2JzZXJ2ZXIuaDogQWRkZWQuCisgICAgICAgICogZG9tL1dlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXIuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTEt
MTAtMTAgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE1ha2Ug
c3RhdGljIGZ1bmN0aW9ucyBpbiBIVE1MU2VsZWN0RWxlbWVudC5jcHAgbWVtYmVyIGZ1bmN0aW9u
cyBvZiBIVE1MU2VsZWN0RWxlbWVudCBjbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmlu
ZGV4IDY5OWE5YTI3NzI2Yjk0NzQ5NjgxNzk5NDQ3YThmNGI3OTYxMGMxZDYuLmVmOGJkNmI5MDk0
ZGFhODA5YzNlMDI2YzcyOTE4Mjg5MjdmZGI4YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAKQEAgLTI0NCw2ICsyNDQsNyBAQAogI2luY2x1ZGUgIkpTTWV0YWRhdGEuY3BwIgogI2luY2x1
ZGUgIkpTTWV0YWRhdGFDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNNb3VzZUV2ZW50LmNwcCIK
KyNpbmNsdWRlICJKU011dGF0aW9uQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTTXV0YXRpb25F
dmVudC5jcHAiCiAjaW5jbHVkZSAiSlNNdXRhdGlvblJlY29yZC5jcHAiCiAjaW5jbHVkZSAiSlNO
YW1lZE5vZGVNYXAuY3BwIgpAQCAtNDY4LDYgKzQ2OSw3IEBACiAjaW5jbHVkZSAiSlNXZWJLaXRD
U1NLZXlmcmFtZXNSdWxlLmNwcCIKICNpbmNsdWRlICJKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVl
LmNwcCIKICNpbmNsdWRlICJKU1dlYktpdENTU01hdHJpeC5jcHAiCisjaW5jbHVkZSAiSlNXZWJL
aXRNdXRhdGlvbk9ic2VydmVyLmNwcCIKICNpbmNsdWRlICJKU1dlYktpdFBvaW50LmNwcCIKICNp
bmNsdWRlICJKU1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNXZWJTb2Nr
ZXQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNWVhMDRkZTE1MDgxZmIx
ZmU0YjUwZmQ5NzY4NzYwZWRkYjcxM2M3ZS4uODZkODMzYjEwNThjMDBiMTE1MGVhYjZhYWY3YWM1
NjNkYjE2YTM4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yOTcsNiArMjk3
LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgTWV0YWRhdGEgXAogICAgIE1ldGFkYXRhQ2FsbGJh
Y2sgXAogICAgIE1vdXNlRXZlbnQgXAorICAgIE11dGF0aW9uQ2FsbGJhY2sgXAogICAgIE11dGF0
aW9uRXZlbnQgXAogICAgIE11dGF0aW9uUmVjb3JkIFwKICAgICBOYW1lZE5vZGVNYXAgXApAQCAt
NTUzLDYgKzU1NCw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIFdlYktpdENTU1RyYW5zZm9ybVZh
bHVlIFwKICAgICBXZWJLaXRGbGFncyBcCiAgICAgV2ViS2l0TG9zZUNvbnRleHQgXAorICAgIFdl
YktpdE11dGF0aW9uT2JzZXJ2ZXIgXAogICAgIFdlYktpdFBvaW50IFwKICAgICBXZWJLaXRUcmFu
c2l0aW9uRXZlbnQgXAogICAgIFdlYlNvY2tldCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQppbmRleCA1YWVlZmY2NTEwODEzMmY3YTQxZjBkZTEyZDE2OGI4NDJjMmU5Zjk3Li4zYzllNjcx
OTdkMjJkNjRhZmVmYWUyOGMzOWRhYWYxMzc1ZjUyMWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KQEAgLTc4NCw2ICs3ODQsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uaCBcCisJU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNOYW1lZE5vZGVNYXBDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTTm9kZUN1c3RvbS5jcHAgXApAQCAtODI1LDYgKzgyNiw3IEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRDU1NL
ZXlmcmFtZXNSdWxlQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
ZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1dlYktpdENTU01hdHJpeEN1c3RvbS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0UG9pbnRDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1dlYlNvY2tldEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTV29ya2VyQ29udGV4dEJhc2UuY3BwIFwKQEAgLTEyMjksNiArMTIzMSw3IEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaCBc
CiAJU291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9NdXRh
dGlvbkNhbGxiYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkV2ZW50LmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUv
ZG9tL011dGF0aW9uUmVjb3JkLmNwcCBcCkBAIC0xMzQyLDYgKzEzNDUsOSBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9kb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL1dl
YktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNl
cnZlck9wdGlvbnMuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdFRyYW5zaXRpb25FdmVu
dC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBcCiAJ
U291cmNlL1dlYkNvcmUvZG9tL1doZWVsRXZlbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1VzZUpTQy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQppbmRleCBl
MTZlMmQ5ZGNhNWQ2NTNkODgyMmY1NDdkZWQzNTU3MWY0MTBiNmQ1Li5jYTJlNDcyMmRlYmYxMzY5
ZWUyYzAyNDljMTcwMDgzY2QwNTc4NzBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VK
U0MuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCkBAIC05NSw2ICs5NSw3
IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTTWVzc2Fn
ZUNoYW5uZWxDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20u
Y3BwCiAgICAgYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5jcHAKKyAgICBiaW5kaW5n
cy9qcy9KU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNOYW1l
ZE5vZGVNYXBDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JDdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcApAQCAtMTIyLDYgKzEyMyw3IEBAIExJ
U1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTV2ViS2l0Q1NTS2V5
ZnJhbWVSdWxlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTV2ViS2l0Q1NTS2V5ZnJhbWVz
UnVsZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdENTU01hdHJpeEN1c3RvbS5j
cHAKKyAgICBiaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCiAg
ICAgYmluZGluZ3MvanMvSlNXZWJLaXRQb2ludEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9K
U1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVl
c3RVcGxvYWRDdXN0b20uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMGVkN2Q2N2FhNzdkZWZkYTI2
MDczZDc4NTMwOGQ1OWU3MWY1MzVmMC4uMDk1OWUxM2Q5ZjE1ODQ3ODdhZGMxODE3ODE4MjZlYTc0
ODg1NTk0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTE5Myw2ICsxMTkzLDcgQEAKICAgICAgICAg
ICAgICdkb20vTWVzc2FnZUV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL01lc3NhZ2VQb3J0
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL01vdXNlRXZlbnQuaWRsJywKKyAgICAgICAgICAgICdk
b20vTXV0YXRpb25DYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ2RvbS9NdXRhdGlvbkV2ZW50
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uUmVjb3JkLmlkbCcsCiAgICAgICAgICAg
ICAnZG9tL05hbWVkTm9kZU1hcC5pZGwnLApAQCAtMTIxOCw2ICsxMjE5LDcgQEAKICAgICAgICAg
ICAgICdkb20vVHJlZVdhbGtlci5pZGwnLAogICAgICAgICAgICAgJ2RvbS9VSUV2ZW50LmlkbCcs
CiAgICAgICAgICAgICAnZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmlkbCcsCisgICAgICAgICAg
ICAnZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsJywKICAgICAgICAgICAgICdkb20vV2Vi
S2l0VHJhbnNpdGlvbkV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1doZWVsRXZlbnQuaWRs
JywKICAgICAgICAgICAgICdmaWxlYXBpL0Jsb2IuaWRsJywKQEAgLTE4OTYsNiArMTg5OCw3IEBA
CiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5oJywKKyAgICAgICAgICAgICdi
aW5kaW5ncy9qcy9KU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy9qcy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRp
bmdzL2pzL0pTTmF2aWdhdG9yQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMv
SlNOb2RlQ3VzdG9tLmNwcCcsCkBAIC0xOTM1LDYgKzE5MzgsNyBAQAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNXZWJLaXRDU1NNYXRyaXhDdXN0b20uY3BwJywKKyAgICAg
ICAgICAgICdiaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dlYktpdFBvaW50Q3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNXZWJTb2NrZXRDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRCYXNlLmNwcCcsCkBAIC0yMjA1LDYgKzIyMDks
NyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VFdmVudEN1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VQb3J0Q3Vz
dG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZVBvcnRD
dXN0b20uaCcsCisgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TXV0YXRpb25DYWxs
YmFja0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVk
Tm9kZU1hcEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5h
bWVkTm9kZXNDb2xsZWN0aW9uLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4TmFtZWROb2Rlc0NvbGxlY3Rpb24uaCcsCkBAIC0yMjMzLDYgKzIyMzgsNyBAQAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQ4QXJyYXlDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRBbmltYXRpb25D
dXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRh
dGlvbk9ic2VydmVyQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4V2ViS2l0UG9pbnRDb25zdHJ1Y3Rvci5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFdlYlNvY2tldEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwJywKQEAgLTUyMjIsOCArNTIyOCwxMCBA
QAogICAgICAgICAgICAgJ2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuY3BwJywKICAgICAgICAgICAg
ICdkb20vTW91c2VFdmVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9Nb3VzZVJlbGF0ZWRFdmVu
dC5jcHAnLAorICAgICAgICAgICAgJ2RvbS9NdXRhdGlvbkNhbGxiYWNrLmgnLAogICAgICAgICAg
ICAgJ2RvbS9NdXRhdGlvbkV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uRXZl
bnQuaCcsCisgICAgICAgICAgICAnZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmgnLAogICAg
ICAgICAgICAgJ2RvbS9NdXRhdGlvblJlY29yZC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9NdXRh
dGlvblJlY29yZC5oJywKICAgICAgICAgICAgICdkb20vTmFtZU5vZGVMaXN0LmNwcCcsCkBAIC01
MzI2LDYgKzUzMzQsOCBAQAogICAgICAgICAgICAgJ2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAn
LAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRBbmltYXRpb25FdmVudC5jcHAnLAogICAgICAgICAg
ICAgJ2RvbS9XZWJLaXRBbmltYXRpb25FdmVudC5oJywKKyAgICAgICAgICAgICdkb20vV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5jcHAnLAorICAgICAgICAgICAgJ2RvbS9XZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmgnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwJywK
ICAgICAgICAgICAgICdkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmgnLAogICAgICAgICAgICAg
J2RvbS9XaGVlbEV2ZW50LmNwcCcsCkBAIC03NDk5LDYgKzc1MDksOCBAQAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZXRhZGF0YUNhbGxiYWNr
LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNNb3VzZUV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU01vdXNlRXZlbnQuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU011dGF0aW9uQ2FsbGJhY2suY3BwJywKKyAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTXV0YXRpb25D
YWxsYmFjay5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTXV0YXRpb25FdmVudC5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvbkV2ZW50LmgnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvblJlY29yZC5j
cHAnLApAQCAtODAzMiw2ICs4MDQ0LDggQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCcsCiAgICAg
ICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdExv
c2VDb250ZXh0LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1dlYktpdExvc2VDb250ZXh0LmgnLAorICAgICAgICAgICAgJzwoUFJPRFVD
VF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNw
cCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFBvaW50LmNwcCcsCiAgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFBvaW50LmgnLAog
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJL
aXRUcmFuc2l0aW9uRXZlbnQuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUucHJvIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMDY0ZGM5ODE1MGYyMTBj
NDYzZDNmODExMGM0MzY5MDdhYzNjMGI2MS4uZjEwM2EwZDYzMmM5OWQ1MzJkODg2YjEwOGE4MGVh
ZTI5ZDAyNmZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTE5Miw2ICsxOTIsNyBAQCB2OCB7CiAgICAg
ICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VDaGFubmVsQ29uc3RydWN0b3IuY3BwIFwK
ICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZVBvcnRDdXN0b20uY3BwIFwKICAg
ICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCBcCisgICAg
ICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE11dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwIFwKICAg
ICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcCBcCiAgICAg
ICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0aW9uLmNwcCBcCiAgICAg
ICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwIFwKQEAgLTIwNiw2ICsyMDcs
NyBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRDdXN0b20u
Y3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldExpc3RDdXN0b20u
Y3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0QW5pbWF0aW9uQ3VzdG9t
LmNwcCBcCisgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXJDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0UG9pbnRD
b25zdHJ1Y3Rvci5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJDb250
ZXh0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckN1c3Rv
bS5jcHAgXApAQCAtMzE3LDYgKzMxOSw3IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvanMvSlNN
ZXNzYWdlRXZlbnRDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNNZXNzYWdlUG9y
dEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmgg
XAorICAgICAgICBiaW5kaW5ncy9qcy9KU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwIFwKICAg
ICAgICAgYmluZGluZ3MvanMvSlNOYW1lZE5vZGVNYXBDdXN0b20uY3BwIFwKICAgICAgICAgYmlu
ZGluZ3MvanMvSlNOYXZpZ2F0b3JDdXN0b20uY3BwICBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pT
Tm9kZUN1c3RvbS5jcHAgXApAQCAtMzQzLDYgKzM0Niw3IEBAIHY4IHsKICAgICAgICAgYmluZGlu
Z3MvanMvSlNXZWJLaXRDU1NLZXlmcmFtZVJ1bGVDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGlu
Z3MvanMvSlNXZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRp
bmdzL2pzL0pTV2ViS2l0Q1NTTWF0cml4Q3VzdG9tLmNwcCBcCisgICAgICAgIGJpbmRpbmdzL2pz
L0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9q
cy9KU1dlYktpdFBvaW50Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTWE1MSHR0
cFJlcXVlc3RDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVz
dFVwbG9hZEN1c3RvbS5jcHAgXApAQCAtNTY4LDYgKzU3Miw3IEBAIFNPVVJDRVMgKz0gXAogICAg
IGRvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5jcHAgXAogICAgIGRvbS9WaWV3cG9ydEFy
Z3VtZW50cy5jcHAgXAogICAgIGRvbS9XZWJLaXRBbmltYXRpb25FdmVudC5jcHAgXAorICAgIGRv
bS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCBcCiAgICAgZG9tL1dlYktpdFRyYW5zaXRpb25F
dmVudC5jcHAgXAogICAgIGRvbS9XaGVlbEV2ZW50LmNwcCBcCiAgICAgZG9tL1dpbmRvd0V2ZW50
Q29udGV4dC5jcHAgXApAQCAtMTUzMiw2ICsxNTM3LDcgQEAgSEVBREVSUyArPSBcCiAgICAgZG9t
L01lc3NhZ2VQb3J0LmggXAogICAgIGRvbS9Nb3VzZUV2ZW50LmggXAogICAgIGRvbS9Nb3VzZVJl
bGF0ZWRFdmVudC5oIFwKKyAgICBkb20vTXV0YXRpb25DYWxsYmFjay5oIFwKICAgICBkb20vTXV0
YXRpb25FdmVudC5oIFwKICAgICBkb20vTXV0YXRpb25SZWNvcmQuaCBcCiAgICAgZG9tL05hbWVk
Tm9kZU1hcC5oIFwKQEAgLTE1ODMsNiArMTU4OSw4IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9V
c2VyR2VzdHVyZUluZGljYXRvci5oIFwKICAgICBkb20vVmlld3BvcnRBcmd1bWVudHMuaCBcCiAg
ICAgZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmggXAorICAgIGRvbS9XZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmggXAorICAgIGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIFwKICAg
ICBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggXAogICAgIGRvbS9XaGVlbEV2ZW50LmggXAog
ICAgIGVkaXRpbmcvQXBwZW5kTm9kZUNvbW1hbmQuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDI0YjhlNmFkYjdlMzhhYzhhZWE4ZmQwNDVh
OTBlN2EyZDIyOWIyY2EuLjIwNTZjYmM0ODFjNzM4Y2JjZTUxOWFiMWY1ZTg0OWU4Mzg1MjUxOGYg
MTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0x
MTU5OCw2ICsxMTU5OCw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTTXV0YXRpb25DYWxsYmFjay5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
PC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxk
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNdXRhdGlvbkNhbGxiYWNr
LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNN
dXRhdGlvbkV2ZW50LmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBAIC0yMzAy
Miw2ICsyMzA3OCw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRp
dmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAiCisJCQkJPgorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNXZWJLaXRNdXRhdGlv
bk9ic2VydmVyLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBh
dGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNXZWJLaXRQb2ludC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpA
QCAtNjM0MzMsNiArNjM1NDUsNTggQEAKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQor
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTTXV0YXRpb25DYWxsYmFja0N1c3Rv
bS5jcHAiCisJCQkJCT4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1
Z3xXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJ
PFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJS
ZWxlYXNlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJ
CQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5h
bWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
KwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJ
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUHJvZHVjdGlvbnxX
aW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRv
b2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxiaW5kaW5nc1xqc1xKU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAiCiAJCQkJCT4KIAkJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCkBAIC02NDk3Myw2ICs2NTEzNyw1OCBAQAogCQkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGJpbmRpbmdzXGpzXEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAiCisJCQkJ
CT4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMy
IgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAor
CQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnX0Nh
aXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJ
PgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4K
KwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5n
c1xqc1xKU1dlYktpdFBvaW50Q3VzdG9tLmNwcCIKIAkJCQkJPgogCQkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCBkMmE0MjQxMmY5MjNiYTY2MjBiNTBiZDU2ZTQ4OTFhZmI4MGFjMzhjLi4wNGY1
NGVmZWIxMzJjMjYxMDkzNzg4MzJjNmI0ODgxMzJjZjZmMWVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01NDYxLDYgKzU0NjEs
MTYgQEAKIAkJQzZGMDhGQkQxNDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9uUmVjb3JkLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOEZCQTE0MzBG
RThGMDA2ODU4NDkgLyogTXV0YXRpb25SZWNvcmQuaCAqLzsgfTsKIAkJQzZGMDhGQzkxNDMxMDAw
RDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDhGQzcxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0
YXRpb25SZWNvcmQuY3BwICovOyB9OwogCQlDNkYwOEZDQTE0MzEwMDBEMDA2ODU4NDkgLyogSlNN
dXRhdGlvblJlY29yZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzZGMDhGQzgxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmQuaCAqLzsg
fTsKKwkJQzZGMDkwMEExNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uQ2FsbGJhY2suaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDAxMTQzMjdC
NjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmggKi87IH07CisJCUM2RjA5MDBFMTQzMjdC
NjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDA1MTQzMjdCNjEwMDY4NTg0OSAv
KiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCAqLzsgfTsKKwkJQzZGMDkwMEYxNDMyN0I2MTAw
Njg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDA2MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJL
aXRNdXRhdGlvbk9ic2VydmVyLmggKi87IH07CisJCUM2RjA5MDExMTQzMjdCNjEwMDY4NTg0OSAv
KiBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzZGMDkwMDgxNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uT2Jz
ZXJ2ZXJPcHRpb25zLmggKi87IH07CisJCUM2RjA5MDI4MTQzMjdENEYwMDY4NTg0OSAvKiBKU011
dGF0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzZGMDkwMjAxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFjay5j
cHAgKi87IH07CisJCUM2RjA5MDI5MTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5
MDIxMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suaCAqLzsgfTsKKwkJQzZG
MDkwMkMxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAyNDE0MzI3
RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCAqLzsgfTsKKwkJQzZG
MDkwMkQxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkwMjUxNDMyN0Q0
RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oICovOyB9OworCQlDNkYwOTE3
RjE0M0EyQkI5MDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MTdFMTQz
QTJCQjkwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwICovOyB9
OworCQlDNkYwOTE4NTE0M0E2QzNCMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5
MTg0MTQzQTZDM0IwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwICovOyB9
OwogCQlDNkY0MTA0NzEzMEM2RTg5MDAzOTNERTQgLyogRW50cnlCYXNlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjQxMDQ2MTMwQzZFODkwMDM5
M0RFNCAvKiBFbnRyeUJhc2UuY3BwICovOyB9OwogCQlDQTNCRjY3QzEwRDk5QkFFMDBFNkNFNTMg
LyogU2Nyb2xsQW5pbWF0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmNw
cCAqLzsgfTsKIAkJQ0EzQkY2N0UxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQTNCRjY3RDEw
RDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTI3NDcsNiArMTI3NTcsMTggQEAKIAkJQzZG
MDhGQkIxNDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9uUmVjb3JkLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBNdXRhdGlvblJlY29yZC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUM2RjA4RkM3MTQzMTAwMEQwMDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTXV0YXRpb25SZWNvcmQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNkYwOEZDODE0MzEwMDBEMDA2ODU4NDkgLyog
SlNNdXRhdGlvblJlY29yZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU011
dGF0aW9uUmVjb3JkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDAxMTQz
MjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE11dGF0aW9uQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQzZGMDkwMDIxNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uQ2FsbGJhY2suaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IE11dGF0aW9uQ2FsbGJhY2suaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDNkYwOTAwNTE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRp
b25PYnNlcnZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJL
aXRNdXRhdGlvbk9ic2VydmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZG
MDkwMDYxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAwNzE0MzI3QjYxMDA2ODU4NDkgLyogV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDA4
MTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAyMDE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRh
dGlvbkNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
TXV0YXRpb25DYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5
MDIxMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNdXRhdGlvbkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUM2RjA5MDI0MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0
aW9uT2JzZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QzZGMDkwMjUxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkxN0UxNDNBMkJCOTAwNjg1ODQ5
IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTE4NDE0M0E2QzNCMDA2ODU4NDkgLyog
SlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTTXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUM2RjQxMDQ2MTMwQzZFODkwMDM5M0RFNCAvKiBFbnRyeUJhc2UuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRW50cnlCYXNlLmNwcDsgcGF0aCA9
IGZpbGVhcGkvRW50cnlCYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Ez
QkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1h
dG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODIyMCw2ICsxODI0Miw4IEBACiAJCQkJ
NDlDOUY0OEIxM0Q1N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFjay5oICovLAogCQkJ
CTQ5QzlGNDhDMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2tMaXN0LmNwcCAq
LywKIAkJCQk0OUM5RjQ4RDEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrTGlz
dC5oICovLAorCQkJCUM2RjA5MDIwMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJh
Y2suY3BwICovLAorCQkJCUM2RjA5MDIxMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2Fs
bGJhY2suaCAqLywKIAkJCQlDNkYwOEZDNzE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlvblJl
Y29yZC5jcHAgKi8sCiAJCQkJQzZGMDhGQzgxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25S
ZWNvcmQuaCAqLywKIAkJCQlCQ0Q5QzJCQzBDMTdCNjlFMDA1QzkwQTIgLyogSlNOYW1lZE5vZGVN
YXAuY3BwICovLApAQCAtMTgyNTQsNiArMTgyNzgsOCBAQAogCQkJCTc1NDE1RDU0MTI5QUIyRDIw
MDNBRDY2OSAvKiBKU1NwZWVjaElucHV0UmVzdWx0TGlzdC5oICovLAogCQkJCTY1REYzMUVGMDlE
MUNDNjAwMDBCRTMyNSAvKiBKU1RleHQuY3BwICovLAogCQkJCTY1REYzMUYwMDlEMUNDNjAwMDBC
RTMyNSAvKiBKU1RleHQuaCAqLywKKwkJCQlDNkYwOTAyNDE0MzI3RDRGMDA2ODU4NDkgLyogSlNX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCAqLywKKwkJCQlDNkYwOTAyNTE0MzI3RDRGMDA2ODU4
NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IENv
cmU7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTk2MDIsNiArMTk2MjgsNyBAQAog
CQkJCTQxMEI3RTcxMTA0NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAg
Ki8sCiAJCQkJRTFBREVENDYwRTc2QjhERDAwNEExQTVFIC8qIEpTTWVzc2FnZVBvcnRDdXN0b20u
Y3BwICovLAogCQkJCTQxRjU4NEM2MTA0NjUyQ0IwMDlDQUE2NCAvKiBKU01lc3NhZ2VQb3J0Q3Vz
dG9tLmggKi8sCisJCQkJQzZGMDkxODQxNDNBNkMzQjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxs
YmFja0N1c3RvbS5jcHAgKi8sCiAJCQkJQkNEOUMyNUYwQzE3QUE2NzAwNUM5MEEyIC8qIEpTTmFt
ZWROb2RlTWFwQ3VzdG9tLmNwcCAqLywKIAkJCQlBOUM2RTY0ODBENzQ2NUQ4MDA2NDQyRTkgLyog
SlNOYXZpZ2F0b3JDdXN0b20uY3BwICovLAogCQkJCUJDRDlDMjYwMEMxN0FBNjcwMDVDOTBBMiAv
KiBKU05vZGVDdXN0b20uY3BwICovLApAQCAtMTk2MzQsNiArMTk2NjEsNyBAQAogCQkJCUUxQUQx
NEM0MTI5NzM1NDkwMEFDQTk4OSAvKiBKU1dlYktpdENTU0tleWZyYW1lUnVsZUN1c3RvbS5jcHAg
Ki8sCiAJCQkJRTFBRDE0QjQxMjk3MzRDQTAwQUNBOTg5IC8qIEpTV2ViS2l0Q1NTS2V5ZnJhbWVz
UnVsZUN1c3RvbS5jcHAgKi8sCiAJCQkJQkMyNzVCN0MxMUM1RDIzNTAwQzkyMDZDIC8qIEpTV2Vi
S2l0Q1NTTWF0cml4Q3VzdG9tLmNwcCAqLywKKwkJCQlDNkYwOTE3RTE0M0EyQkI5MDA2ODU4NDkg
LyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCAqLywKIAkJCQlCQzI3NUI3ODEx
QzVEMUMzMDBDOTIwNkMgLyogSlNXZWJLaXRQb2ludEN1c3RvbS5jcHAgKi8sCiAJCQkJNTE4QTM0
QzYxMDI2QzhDOTAwMUI2ODk2IC8qIEpTV2ViU29ja2V0Q3VzdG9tLmNwcCAqLywKIAkJCQlFMTgy
NThBQjBFRjNDRDcwMDA5MzMyNDIgLyogSlNXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCAqLywKQEAg
LTIxMDgxLDkgKzIxMTA5LDEyIEBACiAJCQkJMTQxQjk0RTUwOUVDNDIyMzAwMEU5NDEzIC8qIE1v
dXNlRXZlbnQuaWRsICovLAogCQkJCTg1MDMxQjMxMEE0NEVGQzcwMEY5OTJFMCAvKiBNb3VzZVJl
bGF0ZWRFdmVudC5jcHAgKi8sCiAJCQkJODUwMzFCMzIwQTQ0RUZDNzAwRjk5MkUwIC8qIE1vdXNl
UmVsYXRlZEV2ZW50LmggKi8sCisJCQkJQzZGMDkwMDExNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0
aW9uQ2FsbGJhY2suaCAqLywKKwkJCQlDNkYwOTAwMjE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRp
b25DYWxsYmFjay5pZGwgKi8sCiAJCQkJODUwMzFCMzMwQTQ0RUZDNzAwRjk5MkUwIC8qIE11dGF0
aW9uRXZlbnQuY3BwICovLAogCQkJCTg1MDMxQjM0MEE0NEVGQzcwMEY5OTJFMCAvKiBNdXRhdGlv
bkV2ZW50LmggKi8sCiAJCQkJOTNFRUMxRjMwOUMyODc3NzAwQzUxNUQxIC8qIE11dGF0aW9uRXZl
bnQuaWRsICovLAorCQkJCUM2RjA5MDA4MTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbk9ic2Vy
dmVyT3B0aW9ucy5oICovLAogCQkJCUM2RjA4RkI5MTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlv
blJlY29yZC5jcHAgKi8sCiAJCQkJQzZGMDhGQkExNDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9u
UmVjb3JkLmggKi8sCiAJCQkJQzZGMDhGQkIxNDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9uUmVj
b3JkLmlkbCAqLywKQEAgLTIxMjIyLDYgKzIxMjUzLDkgQEAKIAkJCQkzMUMwRkYxQjBFNENFQjZF
MDA3RDZGRTUgLyogV2ViS2l0QW5pbWF0aW9uRXZlbnQuY3BwICovLAogCQkJCTMxQzBGRjFDMEU0
Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRBbmltYXRpb25FdmVudC5oICovLAogCQkJCTMxQzBGRjFE
MEU0Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRBbmltYXRpb25FdmVudC5pZGwgKi8sCisJCQkJQzZG
MDkwMDUxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwICovLAor
CQkJCUM2RjA5MDA2MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgg
Ki8sCisJCQkJQzZGMDkwMDcxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXIuaWRsICovLAogCQkJCTMxQzBGRjFFMEU0Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRUcmFuc2l0
aW9uRXZlbnQuY3BwICovLAogCQkJCTMxQzBGRjFGMEU0Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRU
cmFuc2l0aW9uRXZlbnQuaCAqLywKIAkJCQkzMUMwRkYyMDBFNENFQjZFMDA3RDZGRTUgLyogV2Vi
S2l0VHJhbnNpdGlvbkV2ZW50LmlkbCAqLywKQEAgLTIzMjEyLDYgKzIzMjQ2LDcgQEAKIAkJCQk4
OTg3ODVCNzEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODk4Nzg1QjkxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGFDYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTg2NjI5RDEwOURBMkI0ODAwOTYzM0E1IC8qIEpTTW91c2VFdmVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQzZGMDkwMjkxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRp
b25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVERjMxRkMwOUQxQ0M2MDAwMEJFMzI1
IC8qIEpTTXV0YXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzZGMDhGQ0ExNDMxMDAw
RDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRDlD
MkMxMEMxN0I2OUUwMDVDOTBBMiAvKiBKU05hbWVkTm9kZU1hcC5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yMzQ1Miw2ICsyMzQ4Nyw3IEBACiAJCQkJMzE2MTFFNUIwRTFDNERFMDAwRjZBNTc5IC8qIEpT
V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5ODc4NUI1MTIy
Q0EyQTcwMDNBQUJEQSAvKiBKU1dlYktpdEZsYWdzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0Yx
RDVDMTEyRDUzMzU2MDA4MzJCRUMgLyogSlNXZWJLaXRMb3NlQ29udGV4dC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQzZGMDkwMkQxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk0QkQ3OUUwRjU1Qzk0QzAwNzQ3ODI4IC8qIEpT
V2ViS2l0UG9pbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxQzBGRjQwMEU0Q0VGQUMwMDdENkZF
NSAvKiBKU1dlYktpdFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNURBNUUw
RkQxMDJCOTUzODAwMDg4Q0Y5IC8qIEpTV2ViU29ja2V0LmggaW4gSGVhZGVycyAqLywKQEAgLTIz
NTg1LDcgKzIzNjIxLDkgQEAKIAkJCQk4NTAzMUI0ODBBNDRFRkM3MDBGOTkyRTAgLyogTW91c2VS
ZWxhdGVkRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5REZDMDk5RTY0OTIwMDU2RTU4
MSAvKiBNb3ZlU2VsZWN0aW9uQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjFBRDRFNjMx
M0ExMkEwQjAwODQ2QjI3IC8qIE11dGFibGVUZXh0VHJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJ
CUM2RjA5MDBBMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk4NTAzMUI0QTBBNDRFRkM3MDBGOTkyRTAgLyogTXV0YXRpb25FdmVudC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQzZGMDkwMTExNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uT2Jz
ZXJ2ZXJPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQlDNkYwOEZCRDE0MzBGRThGMDA2ODU4
NDkgLyogTXV0YXRpb25SZWNvcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTg3MjIzMDk3N0Qz
QzAwMDU4MjZEOSAvKiBOYW1lZE5vZGVNYXAuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTg3MjFF
MDk3N0QzQzAwMDU4MjZEOSAvKiBOYW1lTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovLApAQCAtMjQ0
NTMsNiArMjQ0OTEsNyBAQAogCQkJCUJDOUFERDIzMENDNDAzMjYwMDA5OEM0QyAvKiBXZWJLaXRD
U1NUcmFuc2Zvcm1WYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODk4Nzg1NjYxMjJDQTA2NDAw
M0FBQkRBIC8qIFdlYktpdEZsYWdzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxRDVCQjEyRDUz
MkM0MDA4MzJCRUMgLyogV2ViS2l0TG9zZUNvbnRleHQuaCBpbiBIZWFkZXJzICovLAorCQkJCUM2
RjA5MDBGMTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0OTRCRDc5NTBGNTVDOEVFMDA3NDc4MjggLyogV2ViS2l0UG9pbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTMxQzBGRjI1MEU0Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRUcmFu
c2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQ0YzMzJGMEYyQjlBMjUwMDRCNjc5
NSAvKiBXZWJMYXllci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjI0Niw2ICsyNjI4NSw4IEBACiAJ
CQkJODk4Nzg1QjYxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGEuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJODk4Nzg1QjgxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGFDYWxsYmFjay5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBODY2MjlEMjA5REEyQjQ4MDA5NjMzQTUgLyogSlNNb3Vz
ZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUM2RjA5MDI4MTQzMjdENEYwMDY4NTg0OSAv
KiBKU011dGF0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzZGMDkxODUxNDNB
NkMzQjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk2NURGMzFGQjA5RDFDQzYwMDAwQkUzMjUgLyogSlNNdXRhdGlvbkV2ZW50LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUM2RjA4RkM5MTQzMTAwMEQwMDY4NTg0OSAvKiBKU011dGF0aW9u
UmVjb3JkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRDlDMkMwMEMxN0I2OUUwMDVDOTBBMiAv
KiBKU05hbWVkTm9kZU1hcC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI2NTE4LDYgKzI2NTU5LDgg
QEAKIAkJCQkzMTYxMUU1QTBFMUM0REUwMDBGNkE1NzkgLyogSlNXZWJLaXRDU1NUcmFuc2Zvcm1W
YWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4OTg3ODVCNDEyMkNBMkE3MDAzQUFCREEgLyog
SlNXZWJLaXRGbGFncy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0YxRDVDMDEyRDUzMzU2MDA4
MzJCRUMgLyogSlNXZWJLaXRMb3NlQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNkYw
OTAyQzE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUM2RjA5MTdGMTQzQTJCQjkwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0
aW9uT2JzZXJ2ZXJDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk0QkQ3OUQwRjU1Qzk0
QzAwNzQ3ODI4IC8qIEpTV2ViS2l0UG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMyNzVC
NzkxMUM1RDFDMzAwQzkyMDZDIC8qIEpTV2ViS2l0UG9pbnRDdXN0b20uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMzFDMEZGM0YwRTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0VHJhbnNpdGlvbkV2
ZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjczMjAsNiArMjczNjMsNyBAQAogCQkJCTQ5ODM5
MTU4MEYxRTc3NjkwMEMyMzc4MiAvKiBXZWJLaXRDU1NNYXRyaXguY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkM5QUREODAwQ0M0MDkyMjAwMDk4QzRDIC8qIFdlYktpdENTU1RyYW5zZm9ybVZhbHVl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzRjFENUJBMTJENTMyQzQwMDgzMkJFQyAvKiBXZWJL
aXRMb3NlQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNkYwOTAwRTE0MzI3QjYxMDA2
ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkz
MUMwRkYyNDBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGQ0YzMzJFMEYyQjlBMjUwMDRCNjc5NSAvKiBXZWJMYXllci5tbSBp
biBTb3VyY2VzICovLAogCQkJCUUxQTMxNjJFMTM0QkMzMkQwMDdDOUE0RiAvKiBXZWJOU0F0dHJp
YnV0ZWRTdHJpbmdFeHRyYXMubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNEaWN0aW9uYXJ5LmgKaW5kZXggNzc5MGQ3MGZlMTlkZDdkMjM3NDZiNzZmZjQ2MDI1
ZDNlODcyZGI4Yy4uZjE4MGJhNTMxYjQ5YzdmNTk3ZmE5YmZhNTI2ZjNkYmJiNDkzNzhiMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmgKQEAgLTUyLDYgKzUyLDkg
QEAgcHVibGljOgogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBSZXN1bHQ+CiAg
ICAgYm9vbCB0cnlHZXRQcm9wZXJ0eShjb25zdCBjaGFyKiBwcm9wZXJ0eU5hbWUsIFQqIGNvbnRl
eHQsIHZvaWQgKCpzZXR0ZXIpKFQqIGNvbnRleHQsIGNvbnN0IFJlc3VsdCYpKTsKIAorICAgIHRl
bXBsYXRlIDx0eXBlbmFtZSBUPgorICAgIGJvb2wgdHJ5R2V0UHJvcGVydHkoY29uc3QgY2hhciog
cHJvcGVydHlOYW1lLCBUJiBjb250ZXh0LCB2b2lkIChUOjoqc2V0dGVyKShib29sKSk7CisKIHBy
aXZhdGU6CiAgICAgZW51bSBHZXRQcm9wZXJ0eVJlc3VsdCB7CiAgICAgICAgIEV4Y2VwdGlvblRo
cm93biwKQEAgLTEwMyw2ICsxMDYsMzAgQEAgYm9vbCBKU0RpY3Rpb25hcnk6OnRyeUdldFByb3Bl
cnR5KGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSwgVCogY29udGV4dCwgdm9pZCAoKnMKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Citib29sIEpTRGljdGlvbmFy
eTo6dHJ5R2V0UHJvcGVydHkoY29uc3QgY2hhciogcHJvcGVydHlOYW1lLCBUJiBjb250ZXh0LCB2
b2lkIChUOjoqc2V0dGVyKShib29sKSkKK3sKKyAgICBKU0M6OkpTVmFsdWUgdmFsdWU7CisgICAg
c3dpdGNoICh0cnlHZXRQcm9wZXJ0eShwcm9wZXJ0eU5hbWUsIHZhbHVlKSkgeworICAgIGNhc2Ug
RXhjZXB0aW9uVGhyb3duOgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgY2FzZSBQcm9wZXJ0
eUZvdW5kOiB7CisgICAgICAgIGJvb2wgcmVzdWx0OworICAgICAgICBjb252ZXJ0VmFsdWUobV9l
eGVjLCB2YWx1ZSwgcmVzdWx0KTsKKworICAgICAgICBpZiAobV9leGVjLT5oYWRFeGNlcHRpb24o
KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAoY29udGV4dC4qc2V0dGVy
KShyZXN1bHQpOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSBOb1Byb3BlcnR5Rm91
bmQ6CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiB0cnVlOworfQorCiB0ZW1w
bGF0ZSA8dHlwZW5hbWUgUmVzdWx0PgogYm9vbCBKU0RpY3Rpb25hcnk6OnRyeUdldFByb3BlcnR5
KGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSwgUmVzdWx0JiBmaW5hbFJlc3VsdCkKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTXV0YXRpb25DYWxsYmFja0N1c3Rv
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0aW9uQ2FsbGJhY2tDdXN0
b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ2NDc1NmMxYjg2MDBmMTMxM2M0YTAwYWQ0ZjIwY2NiODUyZDUz
MjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0
aW9uQ2FsbGJhY2tDdXN0b20uY3BwCkBAIC0wLDAgKzEsNzIgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSAiSlNNdXRhdGlv
bkNhbGxiYWNrLmgiCisKKyNpbmNsdWRlICJKU011dGF0aW9uUmVjb3JkLmgiCisjaW5jbHVkZSAi
SlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBK
U0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworYm9vbCBKU011dGF0aW9uQ2FsbGJhY2s6Omhh
bmRsZUV2ZW50KE11dGF0aW9uUmVjb3JkQXJyYXkqIG11dGF0aW9ucywgV2ViS2l0TXV0YXRpb25P
YnNlcnZlciogb2JzZXJ2ZXIpCit7CisgICAgaWYgKCFjYW5JbnZva2VDYWxsYmFjaygpKQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFJlZlB0cjxKU011dGF0aW9uQ2FsbGJhY2s+IHByb3Rl
Y3QodGhpcyk7CisKKyAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOworCisg
ICAgRXhlY1N0YXRlKiBleGVjID0gbV9kYXRhLT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygp
OworCisgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgbXV0YXRpb25MaXN0OworICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbXV0YXRpb25zLT5zaXplKCk7ICsraSkKKyAgICAgICAgbXV0YXRpb25M
aXN0LmFwcGVuZCh0b0pTKGV4ZWMsIG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCksIG11dGF0aW9ucy0+
YXQoaSkuZ2V0KCkpKTsKKworICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CisgICAgYXJn
cy5hcHBlbmQoY29uc3RydWN0QXJyYXkoZXhlYywgbV9kYXRhLT5nbG9iYWxPYmplY3QoKSwgbXV0
YXRpb25MaXN0KSk7CisgICAgYXJncy5hcHBlbmQodG9KUyhleGVjLCBtX2RhdGEtPmdsb2JhbE9i
amVjdCgpLCBvYnNlcnZlcikpOworCisgICAgYm9vbCByYWlzZWRFeGNlcHRpb24gPSBmYWxzZTsK
KyAgICBtX2RhdGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsICZyYWlzZWRFeGNlcHRpb24pOworICAg
IHJldHVybiAhcmFpc2VkRXhjZXB0aW9uOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3Rv
bS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOGNlOWFkNGIzMDlkMTkyZDFiYjIwYWE0ZGViNzg5YWQ4OWJkZDcz
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0
TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKQEAgLTAsMCArMSw5OCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKworI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNpbmNsdWRlICJKU1dl
YktpdE11dGF0aW9uT2JzZXJ2ZXIuaCIKKworI2luY2x1ZGUgIkpTRGljdGlvbmFyeS5oIgorI2lu
Y2x1ZGUgIkpTTXV0YXRpb25DYWxsYmFjay5oIgorI2luY2x1ZGUgIkpTTm9kZS5oIgorI2luY2x1
ZGUgIk11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmgiCisjaW5jbHVkZSAiTm9kZS5oIgorI2luY2x1
ZGUgIldlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+
CisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3Rv
cjo6Y29uc3RydWN0SlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyKEV4ZWNTdGF0ZSogZXhlYykKK3sK
KyAgICBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3RvcioganNDb25zdHJ1Y3RvciA9
IHN0YXRpY19jYXN0PEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yKj4oZXhlYy0+
Y2FsbGVlKCkpOworICAgIGlmICghanNDb25zdHJ1Y3RvcikKKyAgICAgICAgcmV0dXJuIHRocm93
Vk1FcnJvcihleGVjLCBjcmVhdGVSZWZlcmVuY2VFcnJvcihleGVjLCAiV2ViS2l0TXV0YXRpb25P
YnNlcnZlciBjb25zdHJ1Y3RvciBjYWxsZWUgaXMgdW5hdmFpbGFibGUiKSk7CisKKyAgICBpZiAo
ZXhlYy0+YXJndW1lbnRDb3VudCgpIDwgMSkKKyAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihl
eGVjLCBjcmVhdGVUeXBlRXJyb3IoZXhlYywgIk5vdCBlbm91Z2ggYXJndW1lbnRzIikpOworCisg
ICAgUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+IGNhbGxiYWNrOworICAgIGlmICghZXhlYy0+YXJn
dW1lbnQoMCkuaXNVbmRlZmluZWRPck51bGwoKSkgeworICAgICAgICBpZiAoSlNPYmplY3QqIG9i
amVjdCA9IGV4ZWMtPmFyZ3VtZW50KDApLmdldE9iamVjdCgpKQorICAgICAgICAgICAgY2FsbGJh
Y2sgPSBKU011dGF0aW9uQ2FsbGJhY2s6OmNyZWF0ZShvYmplY3QsIGpzQ29uc3RydWN0b3ItPmds
b2JhbE9iamVjdCgpKTsKKyAgICB9CisgICAgaWYgKCFjYWxsYmFjaykKKyAgICAgICAgcmV0dXJu
IHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVUeXBlRXJyb3IoZXhlYywgIkFyZ3VtZW50IGlzIG5v
dCBhbiBPYmplY3QiKSk7CisKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGFzT2JqZWN0KHRv
SlMoZXhlYywganNDb25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCksIFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXI6OmNyZWF0ZShjYWxsYmFjay5yZWxlYXNlKCkpKSkpOworfQorCitKU1ZhbHVlIEpTV2Vi
S2l0TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZShFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgaWYg
KGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDIpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGV4
ZWMsIGNyZWF0ZVR5cGVFcnJvcihleGVjLCAiTm90IGVub3VnaCBhcmd1bWVudHMiKSk7CisgICAg
Tm9kZSogdGFyZ2V0ID0gdG9Ob2RlKGV4ZWMtPmFyZ3VtZW50KDApKTsKKyAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworCisgICAgSlNW
YWx1ZSBvcHRpb25zVmFsdWUgPSBleGVjLT5hcmd1bWVudCgxKTsKKyAgICBpZiAob3B0aW9uc1Zh
bHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGV4ZWMs
IGNyZWF0ZVR5cGVFcnJvcihleGVjLCAiT3B0aW9ucyBtdXN0IGJlIGFuIG9iamVjdCIpKTsKKwor
ICAgIEpTRGljdGlvbmFyeSBkaWN0aW9uYXJ5KGV4ZWMsIG9wdGlvbnNWYWx1ZS50b09iamVjdChl
eGVjKSk7CisKKyAgICBSZWZQdHI8TXV0YXRpb25PYnNlcnZlck9wdGlvbnM+IG9wdGlvbnMgPSBN
dXRhdGlvbk9ic2VydmVyT3B0aW9uczo6Y3JlYXRlKCk7CisgICAgaWYgKCFkaWN0aW9uYXJ5LnRy
eUdldFByb3BlcnR5KCJjaGlsZExpc3QiLCAqb3B0aW9ucywgJk11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zOjpzZXRDaGlsZExpc3QpCisgICAgICAgIHx8ICFkaWN0aW9uYXJ5LnRyeUdldFByb3BlcnR5
KCJhdHRyaWJ1dGVzIiwgKm9wdGlvbnMsICZNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6c2V0QXR0
cmlidXRlcykKKyAgICAgICAgfHwgIWRpY3Rpb25hcnkudHJ5R2V0UHJvcGVydHkoImNoYXJhY3Rl
ckRhdGEiLCAqb3B0aW9ucywgJk11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRDaGFyYWN0ZXJE
YXRhKQorICAgICAgICB8fCAhZGljdGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgic3VidHJlZSIsICpv
cHRpb25zLCAmTXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldFN1YnRyZWUpCisgICAgICAgIHx8
ICFkaWN0aW9uYXJ5LnRyeUdldFByb3BlcnR5KCJhdHRyaWJ1dGVPbGRWYWx1ZSIsICpvcHRpb25z
LCAmTXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldEF0dHJpYnV0ZU9sZFZhbHVlKQorICAgICAg
ICB8fCAhZGljdGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgiY2hhcmFjdGVyRGF0YU9sZFZhbHVlIiwg
Km9wdGlvbnMsICZNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6c2V0Q2hhcmFjdGVyRGF0YU9sZFZh
bHVlKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisKKyAgICBpbXBsKCktPm9ic2Vy
dmUodGFyZ2V0LCBvcHRpb25zLmdldCgpKTsKKyAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1VVEFUSU9OX09C
U0VSVkVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OE11dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDMzZWI4YzFi
OTgwOWI3YzNjYjY2ZDliOWE0ZmE3NDFhY2FlNjQ3MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE11dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3Bw
CkBAIC0wLDAgKzEsODkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTVVUQVRJ
T05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSAiVjhNdXRhdGlvbkNhbGxiYWNrLmgiCisKKyNpbmNs
dWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisj
aW5jbHVkZSAiVjhDdXN0b21Wb2lkQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJWOE11dGF0aW9uUmVj
b3JkLmgiCisjaW5jbHVkZSAiVjhQcm94eS5oIgorI2luY2x1ZGUgIlY4V2ViS2l0TXV0YXRpb25P
YnNlcnZlci5oIgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL0dl
dFB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Jvb2wgVjhNdXRhdGlvbkNhbGxiYWNrOjpo
YW5kbGVFdmVudChNdXRhdGlvblJlY29yZEFycmF5KiBtdXRhdGlvbnMsIFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXIqIG9ic2VydmVyKQoreworICAgIGlmICghY2FuSW52b2tlQ2FsbGJhY2soKSkKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisKKyAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7CisK
KyAgICB2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiB2OENvbnRleHQgPSB0b1Y4Q29udGV4dChzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCksIG1fd29ybGRDb250ZXh0KTsKKyAgICBpZiAodjhDb250ZXh0
LklzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICB2ODo6Q29udGV4dDo6U2Nv
cGUgc2NvcGUodjhDb250ZXh0KTsKKworICAgIGlmICghbXV0YXRpb25zKSB7CisgICAgICAgIENS
QVNIKCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHY4OjpMb2NhbDx2ODo6
QXJyYXk+IG11dGF0aW9uc0FycmF5ID0gdjg6OkFycmF5OjpOZXcobXV0YXRpb25zLT5zaXplKCkp
OworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbXV0YXRpb25zLT5zaXplKCk7ICsraSkKKyAg
ICAgICAgbXV0YXRpb25zQXJyYXktPlNldCh2ODo6SW50ZWdlcjo6TmV3KGkpLCB0b1Y4KG11dGF0
aW9ucy0+YXQoaSkuZ2V0KCkpKTsKKworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBvYnNlcnZl
ckhhbmRsZSA9IHRvVjgob2JzZXJ2ZXIpOworICAgIGlmIChvYnNlcnZlckhhbmRsZS5Jc0VtcHR5
KCkpIHsKKyAgICAgICAgQ1JBU0goKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisg
ICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3ZbXSA9IHsKKyAgICAgICAgbXV0YXRpb25zQXJy
YXksCisgICAgICAgIG9ic2VydmVySGFuZGxlCisgICAgfTsKKworICAgIGJvb2wgY2FsbGJhY2tS
ZXR1cm5WYWx1ZSA9IGZhbHNlOworICAgIHJldHVybiAhaW52b2tlQ2FsbGJhY2sobV9jYWxsYmFj
aywgMiwgYXJndiwgY2FsbGJhY2tSZXR1cm5WYWx1ZSwgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1VVEFU
SU9OX09CU0VSVkVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNWJmZDI5OTZjZDVlZjA5YzRjMDJkOThkYjcyNjU0YjFkOWE4OTM3NwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCkBAIC0wLDAgKzEsMTEwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorCisjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgIlY4V2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5oIgorCisjaW5jbHVkZSAiTXV0YXRpb25PYnNlcnZlck9wdGlv
bnMuaCIKKyNpbmNsdWRlICJPcHRpb25zT2JqZWN0LmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgi
CisjaW5jbHVkZSAiVjhCaW5kaW5nTWFjcm9zLmgiCisjaW5jbHVkZSAiVjhET01XcmFwcGVyLmgi
CisjaW5jbHVkZSAiVjhNdXRhdGlvbkNhbGxiYWNrLmgiCisjaW5jbHVkZSAiVjhOb2RlLmgiCisj
aW5jbHVkZSAiVjhQcm94eS5oIgorI2luY2x1ZGUgIlY4VXRpbGl0aWVzLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViS2l0TXV0YXRpb25PYnNl
cnZlcjo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQorewor
ICAgIElOQ19TVEFUUygiRE9NLldlYktpdE11dGF0aW9uT2JzZXJ2ZXIuQ29uc3RydWN0b3IiKTsK
KworICAgIGlmICghYXJncy5Jc0NvbnN0cnVjdENhbGwoKSkKKyAgICAgICAgcmV0dXJuIHRocm93
RXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0
aW9uLiIsIFY4UHJveHk6OlR5cGVFcnJvcik7CisKKyAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEp
CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJOb3QgZW5vdWdoIGFyZ3VtZW50cyIsIFY4UHJv
eHk6OlR5cGVFcnJvcik7CisKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBhcmcgPSBhcmdzWzBd
OworICAgIGlmICghYXJnLT5Jc09iamVjdCgpKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigi
QXJndW1lbnQgbXVzdCBiZSBhbiBPYmplY3QiLCBWOFByb3h5OjpUeXBlRXJyb3IpOworCisgICAg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9IGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKTsKKyAgICBpZiAoIWNvbnRleHQpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJXZWJL
aXRNdXRhdGlvbk9ic2VydmVyIGNvbnN0cnVjdG9yJ3MgYXNzb2NpYXRlZCBmcmFtZSB1bmF2YWls
YWJsZSIsIFY4UHJveHk6OlJlZmVyZW5jZUVycm9yKTsKKworICAgIFJlZlB0cjxNdXRhdGlvbkNh
bGxiYWNrPiBjYWxsYmFjayA9IFY4TXV0YXRpb25DYWxsYmFjazo6Y3JlYXRlKGFyZywgY29udGV4
dCk7CisgICAgUmVmUHRyPFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI+IG9ic2VydmVyID0gV2ViS2l0
TXV0YXRpb25PYnNlcnZlcjo6Y3JlYXRlKGNhbGxiYWNrLnJlbGVhc2UoKSk7CisKKyAgICBWOERP
TVdyYXBwZXI6OnNldERPTVdyYXBwZXIoYXJncy5Ib2xkZXIoKSwgJmluZm8sIG9ic2VydmVyLmdl
dCgpKTsKKyAgICBvYnNlcnZlci0+cmVmKCk7CisgICAgVjhET01XcmFwcGVyOjpzZXRKU1dyYXBw
ZXJGb3JET01PYmplY3Qob2JzZXJ2ZXIuZ2V0KCksIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+
OjpOZXcoYXJncy5Ib2xkZXIoKSkpOworICAgIHJldHVybiBhcmdzLkhvbGRlcigpOworfQorCit2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZlQ2Fs
bGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5X
ZWJLaXRNdXRhdGlvbk9ic2VydmVyLm9ic2VydmUiKTsKKyAgICBpZiAoYXJncy5MZW5ndGgoKSA8
IDIpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJOb3QgZW5vdWdoIGFyZ3VtZW50cyIsIFY4
UHJveHk6OlR5cGVFcnJvcik7CisgICAgV2ViS2l0TXV0YXRpb25PYnNlcnZlciogaW1wID0gVjhX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKKyAgICBFWENF
UFRJT05fQkxPQ0soTm9kZSosIHRhcmdldCwgVjhOb2RlOjpIYXNJbnN0YW5jZShhcmdzWzBdKSA/
IFY4Tm9kZTo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzBdKSkg
OiAwKTsKKworICAgIGlmICghYXJnc1sxXS0+SXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHRo
cm93RXJyb3IoIk9wdGlvbnMgbXVzdCBiZSBhbiBvYmplY3QiLCBWOFByb3h5OjpUeXBlRXJyb3Ip
OworCisgICAgT3B0aW9uc09iamVjdCBvcHRpb25zT2JqZWN0KGFyZ3NbMV0pOworICAgIFJlZlB0
cjxNdXRhdGlvbk9ic2VydmVyT3B0aW9ucz4gb3B0aW9ucyA9IE11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zOjpjcmVhdGUoKTsKKworICAgIGJvb2wgb3B0aW9uOworICAgIGlmIChvcHRpb25zT2JqZWN0
LmdldEtleVZhbHVlKCJjaGlsZExpc3QiLCBvcHRpb24pKQorICAgICAgICBvcHRpb25zLT5zZXRD
aGlsZExpc3Qob3B0aW9uKTsKKyAgICBpZiAob3B0aW9uc09iamVjdC5nZXRLZXlWYWx1ZSgiYXR0
cmlidXRlcyIsIG9wdGlvbikpCisgICAgICAgIG9wdGlvbnMtPnNldEF0dHJpYnV0ZXMob3B0aW9u
KTsKKyAgICBpZiAob3B0aW9uc09iamVjdC5nZXRLZXlWYWx1ZSgiY2hhcmFjdGVyRGF0YSIsIG9w
dGlvbikpCisgICAgICAgIG9wdGlvbnMtPnNldENoYXJhY3RlckRhdGEob3B0aW9uKTsKKyAgICBp
ZiAob3B0aW9uc09iamVjdC5nZXRLZXlWYWx1ZSgic3VidHJlZSIsIG9wdGlvbikpCisgICAgICAg
IG9wdGlvbnMtPnNldFN1YnRyZWUob3B0aW9uKTsKKyAgICBpZiAob3B0aW9uc09iamVjdC5nZXRL
ZXlWYWx1ZSgiYXR0cmlidXRlT2xkVmFsdWUiLCBvcHRpb24pKQorICAgICAgICBvcHRpb25zLT5z
ZXRBdHRyaWJ1dGVPbGRWYWx1ZShvcHRpb24pOworICAgIGlmIChvcHRpb25zT2JqZWN0LmdldEtl
eVZhbHVlKCJjaGFyYWN0ZXJEYXRhT2xkVmFsdWUiLCBvcHRpb24pKQorICAgICAgICBvcHRpb25z
LT5zZXRDaGFyYWN0ZXJEYXRhT2xkVmFsdWUob3B0aW9uKTsKKworICAgIGltcC0+b2JzZXJ2ZSh0
YXJnZXQsIG9wdGlvbnMuZ2V0KCkpOworICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4o
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1VVEFU
SU9OX09CU0VSVkVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNh
bGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFjay5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgwNzM5Yzg4YWQ3OGIxMzE1OTkyZDhmNjY2ZDkwYjI0MGFlN2VhZDkKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFjay5oCkBAIC0wLDAgKzEs
NTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIE11dGF0aW9uQ2FsbGJhY2tfaAorI2RlZmluZSBNdXRhdGlvbkNhbGxiYWNr
X2gKKworI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTXV0YXRpb25SZWNvcmQ7CitjbGFz
cyBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOworCit0eXBlZGVmIFZlY3RvcjxSZWZQdHI8TXV0YXRp
b25SZWNvcmQ+ID4gTXV0YXRpb25SZWNvcmRBcnJheTsKKworY2xhc3MgTXV0YXRpb25DYWxsYmFj
ayA6IHB1YmxpYyBSZWZDb3VudGVkPE11dGF0aW9uQ2FsbGJhY2s+IHsKK3B1YmxpYzoKKyAgICB2
aXJ0dWFsIH5NdXRhdGlvbkNhbGxiYWNrKCkgeyB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaGFuZGxl
RXZlbnQoTXV0YXRpb25SZWNvcmRBcnJheSosIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIqKSA9IDA7
Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjZW5k
aWYgLy8gTXV0YXRpb25DYWxsYmFja19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
TXV0YXRpb25DYWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFj
ay5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTYzODE3MTRjODA5ZWE3Y2E0Nzg0YzZiM2IwMzExYjg5NzlmODE3
NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNr
LmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIGNvcmUgeworICAgIGludGVyZmFjZSBbCisgICAg
ICAgIENvbmRpdGlvbmFsPU1VVEFUSU9OX09CU0VSVkVSUywKKyAgICAgICAgQ2FsbGJhY2sKKyAg
ICBdIE11dGF0aW9uQ2FsbGJhY2sgeworICAgICAgICBbQ3VzdG9tXSBib29sZWFuIGhhbmRsZUV2
ZW50KGluIE11dGF0aW9uUmVjb3JkQXJyYXkgbXV0YXRpb25zLCBpbiBXZWJLaXRNdXRhdGlvbk9i
c2VydmVyIG9ic2VydmVyKTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRp
b25PYnNlcnZlck9wdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZmU1ZDFjZDI4NGJkMWY0Yjg0MzY3YTll
NmQ1YTcxNmZmZWJjM2RlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL011
dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmgKQEAgLTAsMCArMSw5MiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTXV0YXRpb25P
YnNlcnZlck9wdGlvbnNfaAorI2RlZmluZSBNdXRhdGlvbk9ic2VydmVyT3B0aW9uc19oCisKKyNp
ZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zIDogcHVibGljIFJlZkNvdW50ZWQ8TXV0YXRp
b25PYnNlcnZlck9wdGlvbnM+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNdXRh
dGlvbk9ic2VydmVyT3B0aW9ucz4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMpOworICAgIH0KKworICAgIGJvb2wgY2hp
bGRMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9jaGlsZExpc3Q7IH0KKyAgICB2b2lkIHNldENoaWxk
TGlzdChib29sIHZhbHVlKSB7IG1fY2hpbGRMaXN0ID0gdmFsdWU7IH0KKworICAgIGJvb2wgYXR0
cmlidXRlcygpIGNvbnN0IHsgcmV0dXJuIG1fYXR0cmlidXRlczsgfQorICAgIHZvaWQgc2V0QXR0
cmlidXRlcyhib29sIHZhbHVlKSB7IG1fYXR0cmlidXRlcyA9IHZhbHVlOyB9CisKKyAgICBib29s
IGNoYXJhY3RlckRhdGEoKSBjb25zdCB7IHJldHVybiBtX2NoYXJhY3RlckRhdGE7IH0KKyAgICB2
b2lkIHNldENoYXJhY3RlckRhdGEoYm9vbCB2YWx1ZSkgeyBtX2NoYXJhY3RlckRhdGEgPSB2YWx1
ZTsgfQorCisgICAgYm9vbCBzdWJ0cmVlKCkgY29uc3QgeyByZXR1cm4gbV9zdWJ0cmVlOyB9Cisg
ICAgdm9pZCBzZXRTdWJ0cmVlKGJvb2wgdmFsdWUpIHsgbV9zdWJ0cmVlID0gdmFsdWU7IH0KKwor
ICAgIGJvb2wgYXR0cmlidXRlT2xkVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2F0dHJpYnV0ZU9s
ZFZhbHVlOyB9CisgICAgdm9pZCBzZXRBdHRyaWJ1dGVPbGRWYWx1ZShib29sIHZhbHVlKSB7IG1f
YXR0cmlidXRlT2xkVmFsdWUgPSB2YWx1ZTsgfQorCisgICAgYm9vbCBjaGFyYWN0ZXJEYXRhT2xk
VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2F0dHJpYnV0ZU9sZFZhbHVlOyB9CisgICAgdm9pZCBz
ZXRDaGFyYWN0ZXJEYXRhT2xkVmFsdWUoYm9vbCB2YWx1ZSkgeyBtX2NoYXJhY3RlckRhdGFPbGRW
YWx1ZSA9IHZhbHVlOyB9CisKKyAgICAvLyBGSVhNRTogRmlndXJlIG91dCBob3cgdG8gbW9kZWwg
dGhpcyBiYXNlZCBvbiB0aGUgSURMLgorICAgIC8vIERPTVN0cmluZ1tdIGF0dHJpYnV0ZUZpbHRl
cjsKKworcHJpdmF0ZToKKyAgICBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucygpCisgICAgICAgIDog
bV9jaGlsZExpc3QoZmFsc2UpCisgICAgICAgICwgbV9hdHRyaWJ1dGVzKGZhbHNlKQorICAgICAg
ICAsIG1fY2hhcmFjdGVyRGF0YShmYWxzZSkKKyAgICAgICAgLCBtX3N1YnRyZWUoZmFsc2UpCisg
ICAgICAgICwgbV9hdHRyaWJ1dGVPbGRWYWx1ZShmYWxzZSkKKyAgICAgICAgLCBtX2NoYXJhY3Rl
ckRhdGFPbGRWYWx1ZShmYWxzZSkKKyAgICB7CisgICAgfQorCisgICAgYm9vbCBtX2NoaWxkTGlz
dDsKKyAgICBib29sIG1fYXR0cmlidXRlczsKKyAgICBib29sIG1fY2hhcmFjdGVyRGF0YTsKKyAg
ICBib29sIG1fc3VidHJlZTsKKyAgICBib29sIG1fYXR0cmlidXRlT2xkVmFsdWU7CisgICAgYm9v
bCBtX2NoYXJhY3RlckRhdGFPbGRWYWx1ZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNlbmRpZiAvLyBNdXRh
dGlvbk9ic2VydmVyT3B0aW9uc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRp
b25PYnNlcnZlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2E2NjU0ZTY4NTQwNDhhOGY2YjJkYzE3ZTNhZDky
ZDRkMmRlNjY3NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRN
dXRhdGlvbk9ic2VydmVyLmNwcApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
CisjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgIldlYktpdE11dGF0
aW9uT2JzZXJ2ZXIuaCIKKworI2luY2x1ZGUgIk11dGF0aW9uQ2FsbGJhY2suaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRyPFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI+IFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXI6OmNyZWF0ZShQYXNzUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+IGNh
bGxiYWNrKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViS2l0TXV0YXRpb25PYnNlcnZl
cihjYWxsYmFjaykpOworfQorCitXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpXZWJLaXRNdXRhdGlv
bk9ic2VydmVyKFBhc3NSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4gY2FsbGJhY2spCisgICAgOiBt
X2NhbGxiYWNrKGNhbGxiYWNrKQoreworfQorCitXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjp+V2Vi
S2l0TXV0YXRpb25PYnNlcnZlcigpCit7Cit9CisKK3ZvaWQgV2ViS2l0TXV0YXRpb25PYnNlcnZl
cjo6b2JzZXJ2ZShOb2RlKiwgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMqKQoreworICAgIC8vIEZJ
WE1FOiBpbXBsZW1lbnQKK30KKwordm9pZCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpkaXNjb25u
ZWN0KCkKK3sKKyAgICAvLyBGSVhNRTogaW1wbGVtZW50Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODc5NDQ3NTZi
MmZjMjZkMTQ0YmFmYTA0M2FjN2U4MmQ1MDBiMGRiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaApAQCAtMCwwICsxLDY1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyX2gKKyNkZWZpbmUgV2ViS2l0TXV0YXRpb25PYnNl
cnZlcl9oCisKKyNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNdXRhdGlvbkNhbGxi
YWNrOworY2xhc3MgTXV0YXRpb25PYnNlcnZlck9wdGlvbnM7CitjbGFzcyBOb2RlOworCitjbGFz
cyBXZWJLaXRNdXRhdGlvbk9ic2VydmVyIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViS2l0TXV0YXRp
b25PYnNlcnZlcj4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYktpdE11dGF0
aW9uT2JzZXJ2ZXI+IGNyZWF0ZShQYXNzUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+KTsKKworICAg
IH5XZWJLaXRNdXRhdGlvbk9ic2VydmVyKCk7CisKKyAgICB2b2lkIG9ic2VydmUoTm9kZSosIE11
dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKik7CisgICAgdm9pZCBkaXNjb25uZWN0KCk7CisKK3ByaXZh
dGU6CisgICAgV2ViS2l0TXV0YXRpb25PYnNlcnZlcihQYXNzUmVmUHRyPE11dGF0aW9uQ2FsbGJh
Y2s+KTsKKworICAgIFJlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPiBtX2NhbGxiYWNrOworfTsKKwor
fQorCisjZW5kaWYgLy8gRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2VuZGlmIC8vIFdl
YktpdE11dGF0aW9uT2JzZXJ2ZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dl
YktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0
aW9uT2JzZXJ2ZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhNmU4YzdlZWMwMGEwYjAwMTUxOWYxYzMzNDU2
Mjg1ODczNjU2YTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5pZGwKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKyAgICBp
bnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1NVVRBVElPTl9PQlNFUlZFUlMsCisgICAg
ICAgIENhbkJlQ29uc3RydWN0ZWQsCisgICAgICAgIEN1c3RvbUNvbnN0cnVjdG9yCisgICAgXSBX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyIHsKKyAgICAgICAgW0N1c3RvbV0gdm9pZCBvYnNlcnZlKGlu
IE5vZGUgdGFyZ2V0LCBpbiBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyBvcHRpb25zKTsKKyAgICAg
ICAgdm9pZCBkaXNjb25uZWN0KCk7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bAppbmRleCBiOGRiYmM3YWMyNzAwYTdmOTViOTQ1MzUyYTE5MGNlMjg3ZDJiZjlmLi44YjUwOWE4
YjVkNWU2ZTFjZTE2YTgxOTE3ZjFjMDM5NWYwZjdhMTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaWRsCkBAIC04MDksNiArODA5LDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBbRW5hYmxlZEF0UnVudGltZT1RdW90YV0gU3RvcmFnZUluZm8gd2Via2l0
U3RvcmFnZUluZm87CiAjZW5kaWYKIAorICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1V
VEFUSU9OX09CU0VSVkVSU10gV2ViS2l0TXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yIFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXI7CisKICNlbmRpZiAvLyBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJ
UFQpCiAKICNpZiBkZWZpbmVkKFY4X0JJTkRJTkcpICYmIFY4X0JJTkRJTkcKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKaW5kZXggNGNhMDZlMmY0MjQ2NjMyZjg2MWM4NzBlNDIwMzVjMzg4MGIwZTli
OC4uZDE5YmZmYzlhMDFlN2YzNzRhODMyN2JiNDIwYzI0ODNmNGQ3ZjQ4MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0xMC0xMCAgQWRhbSBLbGVpbiAg
PGFkYW1rQGNocm9taXVtLm9yZz4KKworICAgICAgICBbTXV0YXRpb25PYnNlcnZlcnNdIEFkZCBz
dHViIGltcGxlbWVudGF0aW9uIG9mIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTQ5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmZWF0dXJlcy5neXBpOiBBZGRl
ZCAnZW5hYmxlX211dGF0aW9uX29ic2VydmVycycgdmFyaWFibGUuCisKIDIwMTEtMTAtMTAgIERv
bWluaWMgTWF6em9uaSAgPGRtYXp6b25pQGdvb2dsZS5jb20+CiAKICAgICAgICAgW0Nocm9taXVt
XSBHZXQgcmlkIG9mIFdlYkFjY2Vzc2liaWxpdHlDYWNoZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaSBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVh
dHVyZXMuZ3lwaQppbmRleCBiNjU4ZDgzZjg2ZDc2ZWJmMmU3NDBiZTk4NGVkOWZhYWQ4YWY1MDg4
Li4yNWFiOTQxZDBlYWQ5YjdlOWIxNzVmNTJjZjBkNjE1OTQwMjM5MzU1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9mZWF0dXJlcy5neXBpCkBAIC02OCw3ICs2OCw3IEBACiAgICAgICAnRU5BQkxFX01F
RElBX1NUUkVBTT0xJywKICAgICAgICdFTkFCTEVfTUVURVJfVEFHPTEnLAogICAgICAgJ0VOQUJM
RV9NSFRNTD0xJywKLSAgICAgICdFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTPTAnLAorICAgICAg
J0VOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlM9PChlbmFibGVfbXV0YXRpb25fb2JzZXJ2ZXJzKScs
CiAgICAgICAnRU5BQkxFX05PVElGSUNBVElPTlM9MScsCiAgICAgICAnRU5BQkxFX09SSUVOVEFU
SU9OX0VWRU5UUz0wJywKICAgICAgICdFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQST0xJywKQEAg
LTExNSw2ICsxMTUsNyBAQAogICAgICAgJ3VzZV9za2lhJSc6IDAsCiAgICAgICAnZW5hYmxlX3Rv
dWNoX2ljb25fbG9hZGluZyUnIDogMCwKICAgICAgICdlbmFibGVfY3NzM19mbGV4Ym94JSc6IDAs
CisgICAgICAnZW5hYmxlX211dGF0aW9uX29ic2VydmVycyUnOiAwLAogICAgIH0sCiAgICAgJ3Vz
ZV9hY2NlbGVyYXRlZF9jb21wb3NpdGluZyUnOiAnPCh1c2VfYWNjZWxlcmF0ZWRfY29tcG9zaXRp
bmcpJywKICAgICAndXNlX3RocmVhZGVkX2NvbXBvc2l0aW5nJSc6ICc8KHVzZV90aHJlYWRlZF9j
b21wb3NpdGluZyknLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110389</attachid>
            <date>2011-10-10 13:25:20 -0700</date>
            <delta_ts>2011-10-10 13:42:46 -0700</delta_ts>
            <desc>Update various build rules</desc>
            <filename>bug-68949-20111010132519.patch</filename>
            <type>text/plain</type>
            <size>80550</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwNzEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNzNiZjE1NThlZjU0ZGFkZDYwYmJk
MjljNWM2NTcwMjdlZjMxNmYyLi5kZDFhODg5MTBkY2UwMzFjODgyZTJlMjllZjI1OTE1YWY0MDRh
NzQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMTAtMTAgIEFkYW0gS2xlaW4gIDxhZGFt
a0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgc3R1YiBp
bXBsZW1lbnRhdGlvbiBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk0OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiYXNpYyB0ZXN0cyBhbmQgc2tpcCB0
aGVtIGluIGFsbCBwb3J0cyBmb3Igbm93LgorCisgICAgICAgICogZmFzdC9tdXRhdGlvbi9tdXRh
dGlvbi1vYnNlcnZlci1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3IuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211dGF0aW9uL29ic2VydmUtZXhjZXB0aW9ucy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMS0xMC0xMCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxk
bWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogYW5ub3RhdGUgRE9NQWdl
bnQsIERlYnVnZ2VyKFByZXNlbnRhdGlvbilNb2RlbCB3aXRoIHR5cGVzLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25zdHJ1Y3Rvci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL211dGF0aW9uLW9ic2VydmVy
LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYmViM2U4NmU3MGUyNDg1YTc3
MjAxODA3NzY0Mjg1OTE3OTI3NDlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNCBAQAorVGVzdCB0aGUgY29uc3RydWN0b3Igb2YgV2ViS2l0TXV0YXRpb25PYnNl
cnZlcgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB3aW5kb3cuV2ViS2l0
TXV0YXRpb25PYnNlcnZlciBpcyBub24tbnVsbC4KK1BBU1MgdHlwZW9mIFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXIucHJvdG90eXBlLm9ic2VydmUgaXMgImZ1bmN0aW9uIgorUEFTUyB0eXBlb2YgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5wcm90b3R5cGUuZGlzY29ubmVjdCBpcyAiZnVuY3Rpb24iCitQ
QVNTIHR5cGVvZiBvYnNlcnZlci5vYnNlcnZlIGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIG9i
c2VydmVyLmRpc2Nvbm5lY3QgaXMgImZ1bmN0aW9uIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
bXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3IuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xOTY2YTYzNWUwYjIzZjAzMGNlNTc5MTg2OWFkYmYxMzdiOTFhNzE0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25z
dHJ1Y3Rvci5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHRpdGxlPjwvdGl0bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPWRlc2NyaXB0aW9uPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBzaG91bGRCZU5v
bk51bGwoJ3dpbmRvdy5XZWJLaXRNdXRhdGlvbk9ic2VydmVyJyk7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCd0eXBlb2YgV2ViS2l0TXV0YXRpb25PYnNlcnZlci5wcm90b3R5cGUub2JzZXJ2
ZScsICdmdW5jdGlvbicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlLmRpc2Nvbm5lY3QnLCAnZnVuY3Rpb24nKTsKKyAg
ICB3aW5kb3cub2JzZXJ2ZXIgPSBuZXcgV2ViS2l0TXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbiht
dXRhdGlvbnMpIHsgfSk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2Ygb2JzZXJ2
ZXIub2JzZXJ2ZScsICdmdW5jdGlvbicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndHlw
ZW9mIG9ic2VydmVyLmRpc2Nvbm5lY3QnLCAnZnVuY3Rpb24nKTsKK30KKworZGVzY3JpcHRpb24o
J1Rlc3QgdGhlIGNvbnN0cnVjdG9yIG9mIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXInKTsKKworaWYg
KCF3aW5kb3cuV2ViS2l0TXV0YXRpb25PYnNlcnZlcikKKyAgICB0ZXN0RmFpbGVkKCdUaGlzIHRl
c3QgcmVxdWlyZXMgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUyknKTsKK2Vsc2UKKyAgICBydW5U
ZXN0KCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2Jz
ZXJ2ZS1leGNlcHRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24v
b2JzZXJ2ZS1leGNlcHRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZWNkNDAxMjFmOTMw
YThmNWE1OTk1NGM3NDdmOTMwOGIyMzQ4N2VkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTUgQEAKK1Rlc3QgdGhhdCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLm9ic2VydmUgdGhyb3dz
IGV4Y2VwdGlvbnMgYXBwcm9wcmlhdGVseQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBvYnNlcnZlci5vYnNlcnZlKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90
IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG9ic2VydmVyLm9ic2VydmUobnVsbCkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG9ic2VydmVyLm9i
c2VydmUodW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFy
Z3VtZW50cy4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5KSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1Mgb2JzZXJ2ZXIub2Jz
ZXJ2ZShkb2N1bWVudC5ib2R5LCBudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBPcHRp
b25zIG11c3QgYmUgYW4gb2JqZWN0LgorUEFTUyBvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJv
ZHksIHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogT3B0aW9ucyBtdXN0IGJl
IGFuIG9iamVjdC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2VydmUtZXhj
ZXB0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlv
bnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43ZmVmM2NmZTkwYmY1NDg3YWFlMmUxYTBmNmU0MmViMWRkMzMx
ZGM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZl
LWV4Y2VwdGlvbnMuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzx0aXRsZT48L3RpdGxl
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD1kZXNjcmlwdGlvbj48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgd2luZG93
Lm9ic2VydmVyID0gbmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24obXV0YXRpb25z
KSB7IH0pOworICAgIHNob3VsZFRocm93KCdvYnNlcnZlci5vYnNlcnZlKCknKTsKKyAgICBzaG91
bGRUaHJvdygnb2JzZXJ2ZXIub2JzZXJ2ZShudWxsKScpOworICAgIHNob3VsZFRocm93KCdvYnNl
cnZlci5vYnNlcnZlKHVuZGVmaW5lZCknKTsKKyAgICBzaG91bGRUaHJvdygnb2JzZXJ2ZXIub2Jz
ZXJ2ZShkb2N1bWVudC5ib2R5KScpOworICAgIHNob3VsZFRocm93KCdvYnNlcnZlci5vYnNlcnZl
KGRvY3VtZW50LmJvZHksIG51bGwpJyk7CisgICAgc2hvdWxkVGhyb3coJ29ic2VydmVyLm9ic2Vy
dmUoZG9jdW1lbnQuYm9keSwgdW5kZWZpbmVkKScpOworfQorCitkZXNjcmlwdGlvbignVGVzdCB0
aGF0IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSB0aHJvd3MgZXhjZXB0aW9ucyBhcHBy
b3ByaWF0ZWx5Jyk7CisKK2lmICghd2luZG93LldlYktpdE11dGF0aW9uT2JzZXJ2ZXIpCisgICAg
dGVzdEZhaWxlZCgnVGhpcyB0ZXN0IHJlcXVpcmVzIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMp
Jyk7CitlbHNlCisgICAgcnVuVGVzdCgpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggNDU2OWQzMGQ4N2Jh
MTdjMmZmYzk3ZTZiNGI4YzRhNTdjMGMwYzA4Yy4uMGE5OTg2YWZlMjdmYjA5OTI1NWVmNzI3ZmRk
YzJkZTIxYWZlODgyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMzI2Miw2ICszMjYyLDkgQEAgQlVHV0s1NzMxMSBT
S0lQIDogZmFzdC9leGNsdXNpb25zID0gUEFTUwogLy8gQ1NTIEZpbHRlcnMgc3VwcG9ydCBub3Qg
eWV0IGVuYWJsZWQKIEJVR1dLNjg0NjkgU0tJUCA6IGNzczMvZmlsdGVycyA9IFBBU1MKIAorLy8g
TXV0YXRpb25PYnNlcnZlcnMgbm90IHlldCBlbmFibGVkLgorQlVHV0s2ODcyOSBTS0lQIDogZmFz
dC9tdXRhdGlvbiA9IFBBU1MKKwogQlVHQ1I4NTc1NSA6IGZhc3QvanMvZXhjZXB0aW9uLXByb3Bl
cnRpZXMuaHRtbCA9IFRFWFQKIAogQlVHV0s2MjQzMCBMSU5VWCBXSU4gOiBmYXN0L2RvbS9IVE1M
UHJvZ3Jlc3NFbGVtZW50L2luZGV0ZXJtaW5hdGUtcHJvZ3Jlc3MtMDAxLmh0bWwgPSBGQUlMCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IDIwY2M2NzJmZWU1ZGY5ZjBiNzgxZTc1MmMyYTk4
MzA3MWQ5NWZmZGUuLmM0Y2IwZDRiNzBkMWU4Y2M5MjY5ZDE5MzliMTVjNzA4Zjg0YjUyYTAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC00NzAsNiArNDcwLDkgQEAgd2ViYXVkaW8KICMg
Q1NTIEZpbHRlcnMgaXMgZGlzYWJsZWQKIGNzczMvZmlsdGVycwogCisjIE11dGF0aW9uT2JzZXJ2
ZXJzIGFyZSBuZXQgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNjg3MjkKK2Zhc3Qv
bXV0YXRpb24KKwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBURVNUUyBGQUlMSU5HCiAjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
U2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IDZkNTI2Yjgy
ZjgyZjZhYjkzM2ExODU5MDBkMzY0NTk5ZmU0ZGZjNzUuLmFmZWM5NzNlZmM4NjU5ZWY4MGVlYTAx
NzhhODY5YTA4YTM3NWMxMmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9T
a2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC00MDcsNiAr
NDA3LDkgQEAgY29tcG9zaXRpbmcvcnRsL3J0bC1pZnJhbWUtcmVsYXRpdmUuaHRtbAogIyBGb3Ig
bm93LCBXZWIgQXVkaW8gQVBJIGlzIGRpc2FibGVkCiB3ZWJhdWRpby8KIAorIyBNdXRhdGlvbk9i
c2VydmVycyBhcmUgbmV0IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzY4NzI5Citm
YXN0L211dGF0aW9uCisKICMgVGVzdHMgZm9yIFdlYlZUVCBwYXJzZXIgZm9yIDx0cmFjaz4uICBG
ZWF0dXJlIGlzIG5vdCB5ZXQgZnVuY3Rpb25hbC4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQzNjY4CiBtZWRpYS90cmFjay8KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
CmluZGV4IGUzOGE0NjIzNTNlZmEzZjliNjRhNjBjNjJkMWI1MjI0NTNlMmNmMTUuLjcxNDZhN2E0
MWIwNDUzOGM1M2EwNGJiZjA1N2Q3NjJlOGM0OTRiM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZApAQCAtMTU4LDYgKzE1OCw5IEBAIGZhc3QvcmVnaW9ucwogIyBDU1MgRXhjbHVzaW9ucyBzdXBw
b3J0IG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81NzMxMQogZmFzdC9leGNs
dXNpb25zCiAKKyMgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykgaXMgbm90IHlldCBlbmFibGVk
LiBodHRwOi8vd2Via2l0Lm9yZy9iLzY4NzI5CitmYXN0L211dGF0aW9uCisKICMgVVNFKFY4KQog
CiAjIHY4IGkxOG4gZXh0ZW5zaW9uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCAzYjA0
Zjk0ZjI2NzM3ODNhNzdiNTBhM2U4MGZkNzlhZDUwNGIwMmI0Li4wMjlhNGI0ZmE0ZTY3NDEyNzM3
YjFkZmIxMzIzYTIwNzc5Yzg3YWNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTQw
MCw2ICsxNDAwLDkgQEAgY3NzMy9zZWxlY3RvcnMzCiAjIEZvciBub3csIFdlYiBBdWRpbyBBUEkg
aXMgZGlzYWJsZWQKIHdlYmF1ZGlvLwogCisjIE11dGF0aW9uT2JzZXJ2ZXJzIGFyZSBuZXQgeWV0
IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNjg3MjkKK2Zhc3QvbXV0YXRpb24KKwogIyBU
ZXN0cyBmb3IgV2ViVlRUIHBhcnNlciBmb3IgPHRyYWNrPi4gIEZlYXR1cmUgaXMgbm90IHlldCBm
dW5jdGlvbmFsLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM2
NjgKIG1lZGlhL3RyYWNrLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0OTAxOGZjNzQyYmUwY2I1
NTVmNTc1MTcyOTM2Yjg0MDI3OWQ1NjNkLi4zNTY0NDZkNDJlZDljODUxZjNiYjE2YTM2ZGQ1MTgw
MWIyYTNkZDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTYzLDYgKzE2Myw3IEBAIFNFVChX
ZWJDb3JlX0lETF9GSUxFUwogICAgIGRvbS9NZXNzYWdlRXZlbnQuaWRsCiAgICAgZG9tL01lc3Nh
Z2VQb3J0LmlkbAogICAgIGRvbS9Nb3VzZUV2ZW50LmlkbAorICAgIGRvbS9NdXRhdGlvbkNhbGxi
YWNrLmlkbAogICAgIGRvbS9NdXRhdGlvbkV2ZW50LmlkbAogICAgIGRvbS9NdXRhdGlvblJlY29y
ZC5pZGwKICAgICBkb20vTmFtZWROb2RlTWFwLmlkbApAQCAtMTg2LDYgKzE4Nyw3IEBAIFNFVChX
ZWJDb3JlX0lETF9GSUxFUwogICAgIGRvbS9UcmVlV2Fsa2VyLmlkbAogICAgIGRvbS9VSUV2ZW50
LmlkbAogICAgIGRvbS9XZWJLaXRBbmltYXRpb25FdmVudC5pZGwKKyAgICBkb20vV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5pZGwKICAgICBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmlkbAogICAg
IGRvbS9XaGVlbEV2ZW50LmlkbAogCkBAIC02MDQsNiArNjA2LDcgQEAgU0VUKFdlYkNvcmVfU09V
UkNFUwogICAgIGRvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5jcHAKICAgICBkb20vVmll
d3BvcnRBcmd1bWVudHMuY3BwCiAgICAgZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmNwcAorICAg
IGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcAogICAgIGRvbS9XZWJLaXRUcmFuc2l0aW9u
RXZlbnQuY3BwCiAgICAgZG9tL1doZWVsRXZlbnQuY3BwCiAgICAgZG9tL1dpbmRvd0V2ZW50Q29u
dGV4dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3YTZhZDFjMTM1OTJiZDQ0ODQ3NTk2MjQ4MzdmMGMwYzY1
MzE2MTNmLi5mMzEzZDRkYjE4MzJlNWIyNTNiMjI1YmUwYzJjNGJkNDVkYjI4ZDRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNzkgQEAKKzIwMTEtMTAtMTAgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgc3R1YiBpbXBsZW1l
bnRhdGlvbiBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Njg3MjkgZm9yIHRoZSBtZXRhYnVnLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
YWRkcyBhIHN0dWIgV2ViS2l0TXV0YXRpb25PYnNlcnZlciBhbmQgaXRzIHN1cHBvcnRpbmcgY2xh
c3NlcworICAgICAgICBNdXRhdGlvbkNhbGxiYWNrIGFuZCBNdXRhdGlvbk9ic2VydmVyT3B0aW9u
cy4KKyAgICAgICAgTm8gaW1wbGVtZW50YXRpb24gaXMgcHJvdmlkZWQgZm9yIHRoZSBhbGwtaW1w
b3J0YW50IG9ic2VydmUoKSBhbmQKKyAgICAgICAgZGlzY29ubmVjdCgpIG1ldGhvZHMuCisKKyAg
ICAgICAgTm90ZSB0aGF0IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIgaXMgdmVuZG9yLXByZWZpeGVk
IHNpbmNlIGl0IGhhcyBhCisgICAgICAgIGNvbnN0cnVjdG9yIGV4cG9zZWQgb24gRE9NV2luZG93
LiAgTm9uZSBvZiB0aGUgcmVzdCBvZiB0aGUgQVBJIG5lZWRzCisgICAgICAgIHByZWZpeGluZywg
YXMgaXQncyBvbmx5IGF2YWlsYWJsZSB2aWEgYSBjYWxsIHRocm91Z2ggYSBNdXRhdGlvbk9ic2Vy
dmVyCisgICAgICAgIGNhbGxiYWNrIChjcmVhdGVkIGJ5IGluc3RhbnRpYXRpbmcgV2ViS2l0TXV0
YXRpb25PYnNlcnZlcikuCisKKyAgICAgICAgR2l2ZW4gdGhlIG51bWJlciBvZiBmaWxlcyByZXF1
aXJlZCB0byBnZXQganVzdCB0aGUgc3R1YiB1cCBhbmQgcnVubmluZywKKyAgICAgICAgaXQgc2Vl
bXMgcmVhc29uYWJsZSB0byBsZWF2ZSB0aGUgYWN0dWFsIGltcGxlbWVudGF0aW9uIGZvciB0aGUg
bmV4dAorICAgICAgICBwYXRjaCAob3IgbW9yZSBsaWtlbHkgc2V2ZXJhbCBwYXRjaGVzKS4gIEkn
dmUgbGVmdCBGSVhNRXMgaW4gYWxsIHRoZSBwbGFjZXMKKyAgICAgICAgdGhhdCdsbCBuZWVkIGF1
Z21lbnRhdGlvbi4KKworICAgICAgICBUZXN0czogZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNl
cnZlci1jb25zdHJ1Y3Rvci5odG1sCisgICAgICAgICAgICAgICBmYXN0L211dGF0aW9uL29ic2Vy
dmUtZXhjZXB0aW9ucy5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFVzZUpTQy5jbWFrZToKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICog
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5o
OgorICAgICAgICAoV2ViQ29yZTo6SlNEaWN0aW9uYXJ5Ojp0cnlHZXRQcm9wZXJ0eSk6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpKU011dGF0aW9uQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KToKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9y
Ojpjb25zdHJ1Y3RKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZlKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpWOE11dGF0aW9uQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpWOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OmNvbnN0cnVjdG9y
Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpv
YnNlcnZlQ2FsbGJhY2spOgorICAgICAgICAqIGRvbS9NdXRhdGlvbkNhbGxiYWNrLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25DYWxsYmFjazo6fk11dGF0aW9uQ2FsbGJhY2sp
OgorICAgICAgICAqIGRvbS9NdXRhdGlvbkNhbGxiYWNrLmlkbDogQWRkZWQuCisgICAgICAgICog
ZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNdXRh
dGlvbk9ic2VydmVyT3B0aW9uczo6Y2hpbGRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0
aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRDaGlsZExpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TXV0
YXRpb25PYnNlcnZlck9wdGlvbnM6OmF0dHJpYnV0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TXV0
YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldEF0dHJpYnV0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6
TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmNoYXJhY3RlckRhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldENoYXJhY3RlckRhdGEpOgorICAgICAgICAo
V2ViQ29yZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnN1YnRyZWUpOgorICAgICAgICAoV2Vi
Q29yZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldFN1YnRyZWUpOgorICAgICAgICAoV2Vi
Q29yZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmF0dHJpYnV0ZU9sZFZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRBdHRyaWJ1dGVPbGRWYWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6Y2hhcmFjdGVy
RGF0YU9sZFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25z
OjpzZXRDaGFyYWN0ZXJEYXRhT2xkVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25P
YnNlcnZlck9wdGlvbnM6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKToKKyAgICAgICAgKiBkb20v
V2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V2Vi
S2l0TXV0YXRpb25PYnNlcnZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11
dGF0aW9uT2JzZXJ2ZXI6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6fldlYktpdE11dGF0aW9uT2JzZXJ2ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZSk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpkaXNjb25uZWN0KToKKyAgICAgICAg
KiBkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oOiBBZGRlZC4KKyAgICAgICAgKiBkb20vV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93
LmlkbDoKKwogMjAxMS0xMC0xMCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgTWFrZSBzdGF0aWMgZnVuY3Rpb25zIGluIEhUTUxTZWxlY3RFbGVtZW50LmNwcCBt
ZW1iZXIgZnVuY3Rpb25zIG9mIEhUTUxTZWxlY3RFbGVtZW50IGNsYXNzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAKaW5kZXggNjk5YTlhMjc3MjZiOTQ3NDk2ODE3OTk0NDdhOGY0Yjc5NjEwYzFk
Ni4uZWY4YmQ2YjkwOTRkYWE4MDljM2UwMjZjNzI5MTgyODkyN2ZkYjhiYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcApAQCAtMjQ0LDYgKzI0NCw3IEBACiAjaW5jbHVkZSAiSlNNZXRhZGF0
YS5jcHAiCiAjaW5jbHVkZSAiSlNNZXRhZGF0YUNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU01v
dXNlRXZlbnQuY3BwIgorI2luY2x1ZGUgIkpTTXV0YXRpb25DYWxsYmFjay5jcHAiCiAjaW5jbHVk
ZSAiSlNNdXRhdGlvbkV2ZW50LmNwcCIKICNpbmNsdWRlICJKU011dGF0aW9uUmVjb3JkLmNwcCIK
ICNpbmNsdWRlICJKU05hbWVkTm9kZU1hcC5jcHAiCkBAIC00NjgsNiArNDY5LDcgQEAKICNpbmNs
dWRlICJKU1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0Q1NT
VHJhbnNmb3JtVmFsdWUuY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0Q1NTTWF0cml4LmNwcCIKKyNp
bmNsdWRlICJKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0
UG9pbnQuY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCIKICNpbmNs
dWRlICJKU1dlYlNvY2tldC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA1
ZWEwNGRlMTUwODFmYjFmZTRiNTBmZDk3Njg3NjBlZGRiNzEzYzdlLi44NmQ4MzNiMTA1OGMwMGIx
MTUwZWFiNmFhZjdhYzU2M2RiMTZhMzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
QEAgLTI5Nyw2ICsyOTcsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBNZXRhZGF0YSBcCiAgICAg
TWV0YWRhdGFDYWxsYmFjayBcCiAgICAgTW91c2VFdmVudCBcCisgICAgTXV0YXRpb25DYWxsYmFj
ayBcCiAgICAgTXV0YXRpb25FdmVudCBcCiAgICAgTXV0YXRpb25SZWNvcmQgXAogICAgIE5hbWVk
Tm9kZU1hcCBcCkBAIC01NTMsNiArNTU0LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgV2ViS2l0
Q1NTVHJhbnNmb3JtVmFsdWUgXAogICAgIFdlYktpdEZsYWdzIFwKICAgICBXZWJLaXRMb3NlQ29u
dGV4dCBcCisgICAgV2ViS2l0TXV0YXRpb25PYnNlcnZlciBcCiAgICAgV2ViS2l0UG9pbnQgXAog
ICAgIFdlYktpdFRyYW5zaXRpb25FdmVudCBcCiAgICAgV2ViU29ja2V0IFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDVhZWVmZjY1MTA4MTMyZjdhNDFmMGRlMTJkMTY4Yjg0MmMy
ZTlmOTcuLjE4OWNiYjllNjYxNjhhYjk0YWE2MDM4OWQ2ODgyZmIxYmRkZmJlZDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNzg0LDYgKzc4NCw3IEBAIHdlYmNvcmVfc291cmNl
cyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20u
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5oIFwK
KwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yQ3VzdG9tLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcCBcCkBAIC04MjUsNiAr
ODI2LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1dlYktpdENTU0tleWZyYW1lc1J1bGVDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0Q1NTTWF0cml4Q3VzdG9tLmNwcCBcCisJU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRQb2ludEN1c3RvbS5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViU29ja2V0Q3VzdG9tLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0QmFzZS5jcHAgXApAQCAtMTIy
OSw4ICsxMjMxLDEwIEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9t
L01vdXNlRXZlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmggXAorCVNvdXJjZS9X
ZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9NdXRh
dGlvbkV2ZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQuaCBcCisJ
U291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2RvbS9NdXRhdGlvblJlY29yZC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9NdXRh
dGlvblJlY29yZC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmNwcCBcCkBA
IC0xMzQyLDYgKzEzNDYsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3Jl
L2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0QW5p
bWF0aW9uRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0QW5pbWF0aW9uRXZl
bnQuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIFwK
KwlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9kb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
ZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxF
dmVudC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlIGIvU291
cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCmluZGV4IGUxNmUyZDlkY2E1ZDY1M2Q4ODIyZjU0N2Rl
ZDM1NTcxZjQxMGI2ZDUuLmNhMmU0NzIyZGViZjEzNjllZTJjMDI0OWMxNzAwODNjZDA1Nzg3MGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Vc2VKU0MuY21ha2UKQEAgLTk1LDYgKzk1LDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9T
T1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNNZXNzYWdlQ2hhbm5lbEN1c3RvbS5jcHAKICAgICBi
aW5kaW5ncy9qcy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU01l
c3NhZ2VQb3J0Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTTXV0YXRpb25DYWxsYmFja0N1
c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAKICAgICBi
aW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU05vZGVD
dXN0b20uY3BwCkBAIC0xMjIsNiArMTIzLDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VT
CiAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlmcmFtZVJ1bGVDdXN0b20uY3BwCiAgICAg
YmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ3VzdG9tLmNwcAogICAgIGJpbmRp
bmdzL2pzL0pTV2ViS2l0Q1NTTWF0cml4Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTV2Vi
S2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdFBv
aW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdFVwbG9hZEN1c3RvbS5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQppbmRleCAwZWQ3ZDY3YWE3N2RlZmRhMjYwNzNkNzg1MzA4ZDU5ZTcxZjUzNWYwLi4w
OTU5ZTEzZDlmMTU4NDc4N2FkYzE4MTc4MTgyNmVhNzQ4ODU1OTRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CkBAIC0xMTkzLDYgKzExOTMsNyBAQAogICAgICAgICAgICAgJ2RvbS9NZXNzYWdlRXZlbnQuaWRs
JywKICAgICAgICAgICAgICdkb20vTWVzc2FnZVBvcnQuaWRsJywKICAgICAgICAgICAgICdkb20v
TW91c2VFdmVudC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9NdXRhdGlvbkNhbGxiYWNrLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL011dGF0aW9uRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20v
TXV0YXRpb25SZWNvcmQuaWRsJywKICAgICAgICAgICAgICdkb20vTmFtZWROb2RlTWFwLmlkbCcs
CkBAIC0xMjE4LDYgKzEyMTksNyBAQAogICAgICAgICAgICAgJ2RvbS9UcmVlV2Fsa2VyLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL1VJRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vV2ViS2l0
QW5pbWF0aW9uRXZlbnQuaWRsJywKKyAgICAgICAgICAgICdkb20vV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5pZGwnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaWRsJywK
ICAgICAgICAgICAgICdkb20vV2hlZWxFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkv
QmxvYi5pZGwnLApAQCAtMTg5Niw2ICsxODk4LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pT
TWVzc2FnZVBvcnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU01lc3Nh
Z2VQb3J0Q3VzdG9tLmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTXV0YXRpb25DYWxs
YmFja0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTmFtZWROb2RlTWFw
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vZGVDdXN0b20uY3BwJywKQEAgLTE5
MzUsNiArMTkzOCw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlm
cmFtZVJ1bGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dlYktpdENT
U0tleWZyYW1lc1J1bGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dl
YktpdENTU01hdHJpeEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTV2Vi
S2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pz
L0pTV2ViS2l0UG9pbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dl
YlNvY2tldEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTV29ya2VyQ29u
dGV4dEJhc2UuY3BwJywKQEAgLTIyMDUsNiArMjIwOSw3IEBACiAgICAgICAgICAgICAnYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZVBvcnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5oJywKKyAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2Rlc0NvbGxlY3Rpb24uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVzQ29sbGVjdGlvbi5o
JywKQEAgLTIyMzMsNiArMjIzOCw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4VWludDhBcnJheUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFdlYktpdEFuaW1hdGlvbkN1c3RvbS5jcHAnLAorICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRQb2ludENvbnN0cnVjdG9y
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViU29ja2V0Q3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ29udGV4dEN1
c3RvbS5jcHAnLApAQCAtNTIyMiw4ICs1MjI4LDEwIEBACiAgICAgICAgICAgICAnZG9tL01lc3Nh
Z2VQb3J0Q2hhbm5lbC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9Nb3VzZUV2ZW50LmNwcCcsCiAg
ICAgICAgICAgICAnZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcCcsCisgICAgICAgICAgICAnZG9t
L011dGF0aW9uQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uRXZlbnQuY3Bw
JywKICAgICAgICAgICAgICdkb20vTXV0YXRpb25FdmVudC5oJywKKyAgICAgICAgICAgICdkb20v
TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uUmVj
b3JkLmNwcCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uUmVjb3JkLmgnLAogICAgICAgICAg
ICAgJ2RvbS9OYW1lTm9kZUxpc3QuY3BwJywKQEAgLTUzMjYsNiArNTMzNCw4IEBACiAgICAgICAg
ICAgICAnZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCcsCiAgICAgICAgICAgICAnZG9tL1dlYktp
dEFuaW1hdGlvbkV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1dlYktpdEFuaW1hdGlvbkV2
ZW50LmgnLAorICAgICAgICAgICAgJ2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCcsCisg
ICAgICAgICAgICAnZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCcsCiAgICAgICAgICAgICAn
ZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRU
cmFuc2l0aW9uRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL1doZWVsRXZlbnQuY3BwJywKQEAg
LTc0OTksNiArNzUwOSw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU01ldGFkYXRhQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnPChQUk9E
VUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vdXNlRXZlbnQuY3BwJywKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW91c2VFdmVu
dC5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTXV0YXRpb25DYWxsYmFjay5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvbkNhbGxiYWNrLmgnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvbkV2ZW50LmNw
cCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U011dGF0aW9uRXZlbnQuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU011dGF0aW9uUmVjb3JkLmNwcCcsCkBAIC04MDMyLDYgKzgwNDQsOCBA
QAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNX
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0TG9zZUNvbnRleHQuY3BwJywKICAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0TG9zZUNv
bnRleHQuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwJywKKyAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5o
JywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
V2ViS2l0UG9pbnQuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTV2ViS2l0UG9pbnQuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAnLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnBybwppbmRleCAwNjRkYzk4MTUwZjIxMGM0NjNkM2Y4MTEwYzQzNjkwN2FjM2MwYjYx
Li5mY2QwYTNhMWRlMzU2ZTdhODQ2OTkxODFlYzcyNzBhNDgzMDk4OTYzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBy
bwpAQCAtMTkyLDYgKzE5Miw3IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TWVzc2FnZUNoYW5uZWxDb25zdHJ1Y3Rvci5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0
b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20v
VjhNZXNzYWdlRXZlbnRDdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20v
VjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TmFtZWROb2Rlc0NvbGxlY3Rpb24uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Tm9kZUN1c3RvbS5jcHAgXApAQCAtMjA2LDYgKzIwNyw3IEBAIHY4IHsKICAgICAgICAgYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhTdHlsZVNoZWV0TGlzdEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhXZWJLaXRBbmltYXRpb25DdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgXAogICAgICAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRQb2ludENvbnN0cnVjdG9yLmNwcCBcCiAgICAgICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwIFwKICAgICAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ3VzdG9tLmNwcCBcCkBAIC0zMTcsNiArMzE5LDcg
QEAgdjggewogICAgICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAgXAog
ICAgICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJp
bmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uaCBcCisgICAgICAgIGJpbmRpbmdzL2pzL0pT
TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU05hbWVk
Tm9kZU1hcEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3Rv
bS5jcHAgIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcCBcCkBAIC0zNDMs
NiArMzQ2LDcgQEAgdjggewogICAgICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdENTU0tleWZyYW1l
UnVsZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdENTU0tleWZyYW1l
c1J1bGVDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRDU1NNYXRyaXhD
dXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVy
Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTV2ViS2l0UG9pbnRDdXN0b20uY3Bw
IFwKICAgICAgICAgYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAgXAogICAg
ICAgICBiaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0VXBsb2FkQ3VzdG9tLmNwcCBcCkBAIC01
NjgsNiArNTcyLDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5k
aWNhdG9yLmNwcCBcCiAgICAgZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCBcCiAgICAgZG9tL1dl
YktpdEFuaW1hdGlvbkV2ZW50LmNwcCBcCisgICAgZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIu
Y3BwIFwKICAgICBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBcCiAgICAgZG9tL1doZWVs
RXZlbnQuY3BwIFwKICAgICBkb20vV2luZG93RXZlbnRDb250ZXh0LmNwcCBcCkBAIC0xNTMyLDcg
KzE1MzcsOSBAQCBIRUFERVJTICs9IFwKICAgICBkb20vTWVzc2FnZVBvcnQuaCBcCiAgICAgZG9t
L01vdXNlRXZlbnQuaCBcCiAgICAgZG9tL01vdXNlUmVsYXRlZEV2ZW50LmggXAorICAgIGRvbS9N
dXRhdGlvbkNhbGxiYWNrLmggXAogICAgIGRvbS9NdXRhdGlvbkV2ZW50LmggXAorICAgIGRvbS9N
dXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIFwKICAgICBkb20vTXV0YXRpb25SZWNvcmQuaCBcCiAg
ICAgZG9tL05hbWVkTm9kZU1hcC5oIFwKICAgICBkb20vTmFtZU5vZGVMaXN0LmggXApAQCAtMTU4
Myw2ICsxNTkwLDcgQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9y
LmggXAogICAgIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5oIFwKICAgICBkb20vV2ViS2l0QW5pbWF0
aW9uRXZlbnQuaCBcCisgICAgZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCBcCiAgICAgZG9t
L1dlYktpdFRyYW5zaXRpb25FdmVudC5oIFwKICAgICBkb20vV2hlZWxFdmVudC5oIFwKICAgICBl
ZGl0aW5nL0FwcGVuZE5vZGVDb21tYW5kLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAyNGI4ZTZhZGI3ZTM4YWM4YWVhOGZkMDQ1YTkwZTdh
MmQyMjliMmNhLi4yMDU2Y2JjNDgxYzczOGNiY2U1MTlhYjFmNWU4NDllODM4NTI1MThmIDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTE1OTgs
NiArMTE1OTgsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU011dGF0aW9uQ2FsbGJhY2suY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmls
ZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTXV0YXRpb25DYWxsYmFjay5oIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3Vy
YXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTXV0YXRp
b25FdmVudC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtMjMwMjIsNiAr
MjMwNzgsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTV2ViS2l0UG9pbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTYz
NDMzLDYgKzYzNTQ1LDU4IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3Bw
IgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWd8V2lu
MzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29s
CisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFz
ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJ
PFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJE
ZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIi
CisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJ
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
YmluZGluZ3NcanNcSlNOYW1lZE5vZGVNYXBDdXN0b20uY3BwIgogCQkJCQk+CiAJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgpAQCAtNjQ5NzMsNiArNjUxMzcsNTggQEAKIAkJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxi
aW5kaW5nc1xqc1xKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwIgorCQkJCQk+CisJ
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19D
RkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJ
CQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFt
ZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNc
SlNXZWJLaXRQb2ludEN1c3RvbS5jcHAiCiAJCQkJCT4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggZDJhNDI0MTJmOTIzYmE2NjIwYjUwYmQ1NmU0ODkxYWZiODBhYzM4Yy4uMDRmNTRlZmVi
MTMyYzI2MTA5Mzc4ODMyYzZiNDg4MTMyY2Y2ZjFlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQ2MSw2ICs1NDYxLDE2IEBA
CiAJCUM2RjA4RkJEMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDhGQkExNDMwRkU4RjAw
Njg1ODQ5IC8qIE11dGF0aW9uUmVjb3JkLmggKi87IH07CiAJCUM2RjA4RkM5MTQzMTAwMEQwMDY4
NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA4RkM3MTQzMTAwMEQwMDY4NTg0OSAvKiBKU011dGF0aW9u
UmVjb3JkLmNwcCAqLzsgfTsKIAkJQzZGMDhGQ0ExNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRp
b25SZWNvcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEM2RjA4RkM4MTQzMTAwMEQwMDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmggKi87IH07CisJ
CUM2RjA5MDBBMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwMTE0MzI3QjYxMDA2
ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5oICovOyB9OworCQlDNkYwOTAwRTE0MzI3QjYxMDA2
ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwNTE0MzI3QjYxMDA2ODU4NDkgLyogV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5jcHAgKi87IH07CisJCUM2RjA5MDBGMTQzMjdCNjEwMDY4NTg0
OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwNjE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5oICovOyB9OworCQlDNkYwOTAxMTE0MzI3QjYxMDA2ODU4NDkgLyogTXV0
YXRpb25PYnNlcnZlck9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEM2RjA5MDA4MTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbk9ic2VydmVy
T3B0aW9ucy5oICovOyB9OworCQlDNkYwOTAyODE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlv
bkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEM2RjA5MDIwMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suY3BwICov
OyB9OworCQlDNkYwOTAyOTE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAyMTE0
MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmggKi87IH07CisJCUM2RjA5MDJD
MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkwMjQxNDMyN0Q0RjAw
Njg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgKi87IH07CisJCUM2RjA5MDJE
MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDI1MTQzMjdENEYwMDY4
NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCAqLzsgfTsKKwkJQzZGMDkxN0YxNDNB
MkJCOTAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTE3RTE0M0EyQkI5
MDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCAqLzsgfTsKKwkJ
QzZGMDkxODUxNDNBNkMzQjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTE4NDE0
M0E2QzNCMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCAqLzsgfTsKIAkJ
QzZGNDEwNDcxMzBDNkU4OTAwMzkzREU0IC8qIEVudHJ5QmFzZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkY0MTA0NjEzMEM2RTg5MDAzOTNERTQg
LyogRW50cnlCYXNlLmNwcCAqLzsgfTsKIAkJQ0EzQkY2N0MxMEQ5OUJBRTAwRTZDRTUzIC8qIFNj
cm9sbEFuaW1hdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENBM0JGNjdCMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5jcHAgKi87
IH07CiAJCUNBM0JGNjdFMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0EzQkY2N0QxMEQ5OUJB
RTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEyNzQ3LDYgKzEyNzU3LDE4IEBACiAJCUM2RjA4RkJC
MTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gTXV0YXRpb25SZWNvcmQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
NkYwOEZDNzE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlvblJlY29yZC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU011dGF0aW9uUmVjb3JkLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzZGMDhGQzgxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0
YXRpb25SZWNvcmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNdXRhdGlv
blJlY29yZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAwMTE0MzI3QjYx
MDA2ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBNdXRhdGlvbkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUM2RjA5MDAyMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBNdXRhdGlvbkNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQzZGMDkwMDUxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDA2
MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkwMDcxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAwODE0MzI3
QjYxMDA2ODU4NDkgLyogTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkwMjAxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25D
YWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU011dGF0
aW9uQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAyMTE0
MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTTXV0YXRpb25DYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDNkYwOTAyNDE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5
MDI1MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MTdFMTQzQTJCQjkwMDY4NTg0OSAvKiBK
U1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkxODQxNDNBNkMzQjAwNjg1ODQ5IC8qIEpTTXV0
YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDNkY0MTA0NjEzMEM2RTg5MDAzOTNERTQgLyogRW50cnlCYXNlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEVudHJ5QmFzZS5jcHA7IHBhdGggPSBmaWxl
YXBpL0VudHJ5QmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBM0JGNjdC
MTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxBbmltYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxBbmltYXRvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTgyMjAsNiArMTgyNDIsOCBAQAogCQkJCTQ5QzlG
NDhCMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2suaCAqLywKIAkJCQk0OUM5
RjQ4QzEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAgKi8sCiAJ
CQkJNDlDOUY0OEQxM0Q1N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFja0xpc3QuaCAq
LywKKwkJCQlDNkYwOTAyMDE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmNw
cCAqLywKKwkJCQlDNkYwOTAyMTE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNr
LmggKi8sCiAJCQkJQzZGMDhGQzcxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmQu
Y3BwICovLAogCQkJCUM2RjA4RkM4MTQzMTAwMEQwMDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3Jk
LmggKi8sCiAJCQkJQkNEOUMyQkMwQzE3QjY5RTAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwLmNw
cCAqLywKQEAgLTE4MjU0LDYgKzE4Mjc4LDggQEAKIAkJCQk3NTQxNUQ1NDEyOUFCMkQyMDAzQUQ2
NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdExpc3QuaCAqLywKIAkJCQk2NURGMzFFRjA5RDFDQzYw
MDAwQkUzMjUgLyogSlNUZXh0LmNwcCAqLywKIAkJCQk2NURGMzFGMDA5RDFDQzYwMDAwQkUzMjUg
LyogSlNUZXh0LmggKi8sCisJCQkJQzZGMDkwMjQxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5jcHAgKi8sCisJCQkJQzZGMDkwMjUxNDMyN0Q0RjAwNjg1ODQ5IC8q
IEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBDb3JlOwog
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE5NjAyLDYgKzE5NjI4LDcgQEAKIAkJCQk0
MTBCN0U3MTEwNDVGQUIwMDBEODIyNEYgLyogSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwICovLAog
CQkJCUUxQURFRDQ2MEU3NkI4REQwMDRBMUE1RSAvKiBKU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCAq
LywKIAkJCQk0MUY1ODRDNjEwNDY1MkNCMDA5Q0FBNjQgLyogSlNNZXNzYWdlUG9ydEN1c3RvbS5o
ICovLAorCQkJCUM2RjA5MTg0MTQzQTZDM0IwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2tD
dXN0b20uY3BwICovLAogCQkJCUJDRDlDMjVGMEMxN0FBNjcwMDVDOTBBMiAvKiBKU05hbWVkTm9k
ZU1hcEN1c3RvbS5jcHAgKi8sCiAJCQkJQTlDNkU2NDgwRDc0NjVEODAwNjQ0MkU5IC8qIEpTTmF2
aWdhdG9yQ3VzdG9tLmNwcCAqLywKIAkJCQlCQ0Q5QzI2MDBDMTdBQTY3MDA1QzkwQTIgLyogSlNO
b2RlQ3VzdG9tLmNwcCAqLywKQEAgLTE5NjM0LDYgKzE5NjYxLDcgQEAKIAkJCQlFMUFEMTRDNDEy
OTczNTQ5MDBBQ0E5ODkgLyogSlNXZWJLaXRDU1NLZXlmcmFtZVJ1bGVDdXN0b20uY3BwICovLAog
CQkJCUUxQUQxNEI0MTI5NzM0Q0EwMEFDQTk4OSAvKiBKU1dlYktpdENTU0tleWZyYW1lc1J1bGVD
dXN0b20uY3BwICovLAogCQkJCUJDMjc1QjdDMTFDNUQyMzUwMEM5MjA2QyAvKiBKU1dlYktpdENT
U01hdHJpeEN1c3RvbS5jcHAgKi8sCisJCQkJQzZGMDkxN0UxNDNBMkJCOTAwNjg1ODQ5IC8qIEpT
V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgKi8sCiAJCQkJQkMyNzVCNzgxMUM1RDFD
MzAwQzkyMDZDIC8qIEpTV2ViS2l0UG9pbnRDdXN0b20uY3BwICovLAogCQkJCTUxOEEzNEM2MTAy
NkM4QzkwMDFCNjg5NiAvKiBKU1dlYlNvY2tldEN1c3RvbS5jcHAgKi8sCiAJCQkJRTE4MjU4QUIw
RUYzQ0Q3MDAwOTMzMjQyIC8qIEpTV29ya2VyQ29udGV4dEN1c3RvbS5jcHAgKi8sCkBAIC0yMTA4
MSw5ICsyMTEwOSwxMiBAQAogCQkJCTE0MUI5NEU1MDlFQzQyMjMwMDBFOTQxMyAvKiBNb3VzZUV2
ZW50LmlkbCAqLywKIAkJCQk4NTAzMUIzMTBBNDRFRkM3MDBGOTkyRTAgLyogTW91c2VSZWxhdGVk
RXZlbnQuY3BwICovLAogCQkJCTg1MDMxQjMyMEE0NEVGQzcwMEY5OTJFMCAvKiBNb3VzZVJlbGF0
ZWRFdmVudC5oICovLAorCQkJCUM2RjA5MDAxMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNh
bGxiYWNrLmggKi8sCisJCQkJQzZGMDkwMDIxNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uQ2Fs
bGJhY2suaWRsICovLAogCQkJCTg1MDMxQjMzMEE0NEVGQzcwMEY5OTJFMCAvKiBNdXRhdGlvbkV2
ZW50LmNwcCAqLywKIAkJCQk4NTAzMUIzNDBBNDRFRkM3MDBGOTkyRTAgLyogTXV0YXRpb25FdmVu
dC5oICovLAogCQkJCTkzRUVDMUYzMDlDMjg3NzcwMEM1MTVEMSAvKiBNdXRhdGlvbkV2ZW50Lmlk
bCAqLywKKwkJCQlDNkYwOTAwODE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25PYnNlcnZlck9w
dGlvbnMuaCAqLywKIAkJCQlDNkYwOEZCOTE0MzBGRThGMDA2ODU4NDkgLyogTXV0YXRpb25SZWNv
cmQuY3BwICovLAogCQkJCUM2RjA4RkJBMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29y
ZC5oICovLAogCQkJCUM2RjA4RkJCMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5p
ZGwgKi8sCkBAIC0yMTIyMiw2ICsyMTI1Myw5IEBACiAJCQkJMzFDMEZGMUIwRTRDRUI2RTAwN0Q2
RkU1IC8qIFdlYktpdEFuaW1hdGlvbkV2ZW50LmNwcCAqLywKIAkJCQkzMUMwRkYxQzBFNENFQjZF
MDA3RDZGRTUgLyogV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCAqLywKIAkJCQkzMUMwRkYxRDBFNENF
QjZFMDA3RDZGRTUgLyogV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsICovLAorCQkJCUM2RjA5MDA1
MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCAqLywKKwkJCQlD
NkYwOTAwNjE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oICovLAor
CQkJCUM2RjA5MDA3MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmlk
bCAqLywKIAkJCQkzMUMwRkYxRTBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlvbkV2
ZW50LmNwcCAqLywKIAkJCQkzMUMwRkYxRjBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNp
dGlvbkV2ZW50LmggKi8sCiAJCQkJMzFDMEZGMjAwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdFRy
YW5zaXRpb25FdmVudC5pZGwgKi8sCkBAIC0yMzIxMiw2ICsyMzI0Niw3IEBACiAJCQkJODk4Nzg1
QjcxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5
ODc4NUI5MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhQ2FsbGJhY2suaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4NjYyOUQxMDlEQTJCNDgwMDk2MzNBNSAvKiBKU01vdXNlRXZlbnQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUM2RjA5MDI5MTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTY1REYzMUZDMDlEMUNDNjAwMDBCRTMyNSAvKiBK
U011dGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM2RjA4RkNBMTQzMTAwMEQwMDY4
NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Q5QzJDMTBD
MTdCNjlFMDA1QzkwQTIgLyogSlNOYW1lZE5vZGVNYXAuaCBpbiBIZWFkZXJzICovLApAQCAtMjM0
NTIsNiArMjM0ODcsNyBAQAogCQkJCTMxNjExRTVCMEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktp
dENTU1RyYW5zZm9ybVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4OTg3ODVCNTEyMkNBMkE3
MDAzQUFCREEgLyogSlNXZWJLaXRGbGFncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMUQ1QzEx
MkQ1MzM1NjAwODMyQkVDIC8qIEpTV2ViS2l0TG9zZUNvbnRleHQuaCBpbiBIZWFkZXJzICovLAor
CQkJCUM2RjA5MDJEMTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ5NEJENzlFMEY1NUM5NEMwMDc0NzgyOCAvKiBKU1dlYktp
dFBvaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUMwRkY0MDBFNENFRkFDMDA3RDZGRTUgLyog
SlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTVEQTVFMEZEMTAy
Qjk1MzgwMDA4OENGOSAvKiBKU1dlYlNvY2tldC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzU4NSw3
ICsyMzYyMSw5IEBACiAJCQkJODUwMzFCNDgwQTQ0RUZDNzAwRjk5MkUwIC8qIE1vdXNlUmVsYXRl
ZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURGQzA5OUU2NDkyMDA1NkU1ODEgLyog
TW92ZVNlbGVjdGlvbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIxQUQ0RTYzMTNBMTJB
MEIwMDg0NkIyNyAvKiBNdXRhYmxlVGV4dFRyYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlDNkYw
OTAwQTE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJODUwMzFCNEEwQTQ0RUZDNzAwRjk5MkUwIC8qIE11dGF0aW9uRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUM2RjA5MDExMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbk9ic2VydmVy
T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzZGMDhGQkQxNDMwRkU4RjAwNjg1ODQ5IC8q
IE11dGF0aW9uUmVjb3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODE4NzIyMzA5NzdEM0MwMDA1
ODI2RDkgLyogTmFtZWROb2RlTWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODE4NzIxRTA5NzdE
M0MwMDA1ODI2RDkgLyogTmFtZU5vZGVMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTI0NDUzLDYg
KzI0NDkxLDcgQEAKIAkJCQlCQzlBREQyMzBDQzQwMzI2MDAwOThDNEMgLyogV2ViS2l0Q1NTVHJh
bnNmb3JtVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5ODc4NTY2MTIyQ0EwNjQwMDNBQUJE
QSAvKiBXZWJLaXRGbGFncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMUQ1QkIxMkQ1MzJDNDAw
ODMyQkVDIC8qIFdlYktpdExvc2VDb250ZXh0LmggaW4gSGVhZGVycyAqLywKKwkJCQlDNkYwOTAw
RjE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDk0QkQ3OTUwRjU1QzhFRTAwNzQ3ODI4IC8qIFdlYktpdFBvaW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkzMUMwRkYyNTBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlv
bkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkNGMzMyRjBGMkI5QTI1MDA0QjY3OTUgLyog
V2ViTGF5ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjYyNDYsNiArMjYyODUsOCBAQAogCQkJCTg5
ODc4NUI2MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTg5ODc4NUI4MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhQ2FsbGJhY2suY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTg2NjI5RDIwOURBMkI0ODAwOTYzM0E1IC8qIEpTTW91c2VFdmVu
dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNkYwOTAyODE0MzI3RDRGMDA2ODU4NDkgLyogSlNN
dXRhdGlvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUM2RjA5MTg1MTQzQTZDM0Iw
MDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNjVERjMxRkIwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTTXV0YXRpb25FdmVudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlDNkYwOEZDOTE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlvblJlY29y
ZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0Q5QzJDMDBDMTdCNjlFMDA1QzkwQTIgLyogSlNO
YW1lZE5vZGVNYXAuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNjUxOCw2ICsyNjU1OSw4IEBACiAJ
CQkJMzE2MTFFNUEwRTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODk4Nzg1QjQxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2Vi
S2l0RmxhZ3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNGMUQ1QzAxMkQ1MzM1NjAwODMyQkVD
IC8qIEpTV2ViS2l0TG9zZUNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzZGMDkwMkMx
NDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlDNkYwOTE3RjE0M0EyQkI5MDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9i
c2VydmVyQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5NEJENzlEMEY1NUM5NEMwMDc0
NzgyOCAvKiBKU1dlYktpdFBvaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMjc1Qjc5MTFD
NUQxQzMwMEM5MjA2QyAvKiBKU1dlYktpdFBvaW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTMxQzBGRjNGMEU0Q0VGQUMwMDdENkZFNSAvKiBKU1dlYktpdFRyYW5zaXRpb25FdmVudC5j
cHAgaW4gU291cmNlcyAqLywKQEAgLTI3MzIwLDYgKzI3MzYzLDcgQEAKIAkJCQk0OTgzOTE1ODBG
MUU3NzY5MDBDMjM3ODIgLyogV2ViS2l0Q1NTTWF0cml4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDOUFERDgwMENDNDA5MjIwMDA5OEM0QyAvKiBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk5M0YxRDVCQTEyRDUzMkM0MDA4MzJCRUMgLyogV2ViS2l0TG9z
ZUNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzZGMDkwMEUxNDMyN0I2MTAwNjg1ODQ5
IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFDMEZG
MjQwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdFRyYW5zaXRpb25FdmVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRkNGMzMyRTBGMkI5QTI1MDA0QjY3OTUgLyogV2ViTGF5ZXIubW0gaW4gU291
cmNlcyAqLywKIAkJCQlFMUEzMTYyRTEzNEJDMzJEMDA3QzlBNEYgLyogV2ViTlNBdHRyaWJ1dGVk
U3RyaW5nRXh0cmFzLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGljdGlvbmFyeS5oCmluZGV4IDc3OTBkNzBmZTE5ZGQ3ZDIzNzQ2Yjc2ZmY0NjAyNWQzZTg3
MmRiOGMuLmYxODBiYTUzMWI0OWM3ZjU5N2ZhOWJmYTUyNmYzZGJiYjQ5Mzc4YjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oCkBAIC01Miw2ICs1Miw5IEBAIHB1
YmxpYzoKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgUmVzdWx0PgogICAgIGJv
b2wgdHJ5R2V0UHJvcGVydHkoY29uc3QgY2hhciogcHJvcGVydHlOYW1lLCBUKiBjb250ZXh0LCB2
b2lkICgqc2V0dGVyKShUKiBjb250ZXh0LCBjb25zdCBSZXN1bHQmKSk7CiAKKyAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4KKyAgICBib29sIHRyeUdldFByb3BlcnR5KGNvbnN0IGNoYXIqIHByb3Bl
cnR5TmFtZSwgVCYgY29udGV4dCwgdm9pZCAoVDo6KnNldHRlcikoYm9vbCkpOworCiBwcml2YXRl
OgogICAgIGVudW0gR2V0UHJvcGVydHlSZXN1bHQgewogICAgICAgICBFeGNlcHRpb25UaHJvd24s
CkBAIC0xMDMsNiArMTA2LDMwIEBAIGJvb2wgSlNEaWN0aW9uYXJ5Ojp0cnlHZXRQcm9wZXJ0eShj
b25zdCBjaGFyKiBwcm9wZXJ0eU5hbWUsIFQqIGNvbnRleHQsIHZvaWQgKCpzCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorYm9vbCBKU0RpY3Rpb25hcnk6OnRy
eUdldFByb3BlcnR5KGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSwgVCYgY29udGV4dCwgdm9pZCAo
VDo6KnNldHRlcikoYm9vbCkpCit7CisgICAgSlNDOjpKU1ZhbHVlIHZhbHVlOworICAgIHN3aXRj
aCAodHJ5R2V0UHJvcGVydHkocHJvcGVydHlOYW1lLCB2YWx1ZSkpIHsKKyAgICBjYXNlIEV4Y2Vw
dGlvblRocm93bjoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGNhc2UgUHJvcGVydHlGb3Vu
ZDogeworICAgICAgICBib29sIHJlc3VsdDsKKyAgICAgICAgY29udmVydFZhbHVlKG1fZXhlYywg
dmFsdWUsIHJlc3VsdCk7CisKKyAgICAgICAgaWYgKG1fZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgKGNvbnRleHQuKnNldHRlcikocmVz
dWx0KTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgTm9Qcm9wZXJ0eUZvdW5kOgor
ICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdGVtcGxhdGUg
PHR5cGVuYW1lIFJlc3VsdD4KIGJvb2wgSlNEaWN0aW9uYXJ5Ojp0cnlHZXRQcm9wZXJ0eShjb25z
dCBjaGFyKiBwcm9wZXJ0eU5hbWUsIFJlc3VsdCYgZmluYWxSZXN1bHQpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40NjQ3NTZjMWI4NjAwZjEzMTNjNGEwMGFkNGYyMGNjYjg1MmQ1MzI2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNdXRhdGlvbkNh
bGxiYWNrQ3VzdG9tLmNwcApAQCAtMCwwICsxLDcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisj
aWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgIkpTTXV0YXRpb25DYWxs
YmFjay5oIgorCisjaW5jbHVkZSAiSlNNdXRhdGlvblJlY29yZC5oIgorI2luY2x1ZGUgIkpTV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCIKKyNpbmNsdWRlIDxydW50aW1lL0pTTG9jay5oPgorCit1c2luZyBuYW1lc3BhY2UgSlNDOwor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Jvb2wgSlNNdXRhdGlvbkNhbGxiYWNrOjpoYW5kbGVF
dmVudChNdXRhdGlvblJlY29yZEFycmF5KiBtdXRhdGlvbnMsIFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXIqIG9ic2VydmVyKQoreworICAgIGlmICghY2FuSW52b2tlQ2FsbGJhY2soKSkKKyAgICAgICAg
cmV0dXJuIHRydWU7CisKKyAgICBSZWZQdHI8SlNNdXRhdGlvbkNhbGxiYWNrPiBwcm90ZWN0KHRo
aXMpOworCisgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKKworICAgIEV4
ZWNTdGF0ZSogZXhlYyA9IG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsKKwor
ICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIG11dGF0aW9uTGlzdDsKKyAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IG11dGF0aW9ucy0+c2l6ZSgpOyArK2kpCisgICAgICAgIG11dGF0aW9uTGlzdC5h
cHBlbmQodG9KUyhleGVjLCBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLCBtdXRhdGlvbnMtPmF0KGkp
LmdldCgpKSk7CisKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgIGFyZ3MuYXBw
ZW5kKGNvbnN0cnVjdEFycmF5KGV4ZWMsIG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCksIG11dGF0aW9u
TGlzdCkpOworICAgIGFyZ3MuYXBwZW5kKHRvSlMoZXhlYywgbV9kYXRhLT5nbG9iYWxPYmplY3Qo
KSwgb2JzZXJ2ZXIpKTsKKworICAgIGJvb2wgcmFpc2VkRXhjZXB0aW9uID0gZmFsc2U7CisgICAg
bV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCAmcmFpc2VkRXhjZXB0aW9uKTsKKyAgICByZXR1
cm4gIXJhaXNlZEV4Y2VwdGlvbjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjhjZTlhZDRiMzA5ZDE5MmQxYmIyMGFhNGRlYjc4OWFkODliZGQ3MzIKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0
aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCkBAIC0wLDAgKzEsOTggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSAiSlNXZWJLaXRN
dXRhdGlvbk9ic2VydmVyLmgiCisKKyNpbmNsdWRlICJKU0RpY3Rpb25hcnkuaCIKKyNpbmNsdWRl
ICJKU011dGF0aW9uQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU05vZGUuaCIKKyNpbmNsdWRlICJN
dXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIgorI2luY2x1ZGUgIk5vZGUuaCIKKyNpbmNsdWRlICJX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgiCisjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgorCit1
c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0VuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3I6OmNv
bnN0cnVjdEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlcihFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAg
SlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3IqIGpzQ29uc3RydWN0b3IgPSBzdGF0
aWNfY2FzdDxKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3Rvcio+KGV4ZWMtPmNhbGxl
ZSgpKTsKKyAgICBpZiAoIWpzQ29uc3RydWN0b3IpCisgICAgICAgIHJldHVybiB0aHJvd1ZNRXJy
b3IoZXhlYywgY3JlYXRlUmVmZXJlbmNlRXJyb3IoZXhlYywgIldlYktpdE11dGF0aW9uT2JzZXJ2
ZXIgY29uc3RydWN0b3IgY2FsbGVlIGlzIHVuYXZhaWxhYmxlIikpOworCisgICAgaWYgKGV4ZWMt
PmFyZ3VtZW50Q291bnQoKSA8IDEpCisgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywg
Y3JlYXRlVHlwZUVycm9yKGV4ZWMsICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKworICAgIFJl
ZlB0cjxNdXRhdGlvbkNhbGxiYWNrPiBjYWxsYmFjazsKKyAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50
KDApLmlzVW5kZWZpbmVkT3JOdWxsKCkpIHsKKyAgICAgICAgaWYgKEpTT2JqZWN0KiBvYmplY3Qg
PSBleGVjLT5hcmd1bWVudCgwKS5nZXRPYmplY3QoKSkKKyAgICAgICAgICAgIGNhbGxiYWNrID0g
SlNNdXRhdGlvbkNhbGxiYWNrOjpjcmVhdGUob2JqZWN0LCBqc0NvbnN0cnVjdG9yLT5nbG9iYWxP
YmplY3QoKSk7CisgICAgfQorICAgIGlmICghY2FsbGJhY2spCisgICAgICAgIHJldHVybiB0aHJv
d1ZNRXJyb3IoZXhlYywgY3JlYXRlVHlwZUVycm9yKGV4ZWMsICJBcmd1bWVudCBpcyBub3QgYW4g
T2JqZWN0IikpOworCisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShhc09iamVjdCh0b0pTKGV4
ZWMsIGpzQ29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgpLCBXZWJLaXRNdXRhdGlvbk9ic2VydmVy
OjpjcmVhdGUoY2FsbGJhY2sucmVsZWFzZSgpKSkpKTsKK30KKworSlNWYWx1ZSBKU1dlYktpdE11
dGF0aW9uT2JzZXJ2ZXI6Om9ic2VydmUoRXhlY1N0YXRlKiBleGVjKQoreworICAgIGlmIChleGVj
LT5hcmd1bWVudENvdW50KCkgPCAyKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBj
cmVhdGVUeXBlRXJyb3IoZXhlYywgIk5vdCBlbm91Z2ggYXJndW1lbnRzIikpOworICAgIE5vZGUq
IHRhcmdldCA9IHRvTm9kZShleGVjLT5hcmd1bWVudCgwKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4
Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKworICAgIEpTVmFsdWUg
b3B0aW9uc1ZhbHVlID0gZXhlYy0+YXJndW1lbnQoMSk7CisgICAgaWYgKG9wdGlvbnNWYWx1ZS5p
c1VuZGVmaW5lZE9yTnVsbCgpKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBjcmVh
dGVUeXBlRXJyb3IoZXhlYywgIk9wdGlvbnMgbXVzdCBiZSBhbiBvYmplY3QiKSk7CisKKyAgICBK
U0RpY3Rpb25hcnkgZGljdGlvbmFyeShleGVjLCBvcHRpb25zVmFsdWUudG9PYmplY3QoZXhlYykp
OworCisgICAgUmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zPiBvcHRpb25zID0gTXV0YXRp
b25PYnNlcnZlck9wdGlvbnM6OmNyZWF0ZSgpOworICAgIGlmICghZGljdGlvbmFyeS50cnlHZXRQ
cm9wZXJ0eSgiY2hpbGRMaXN0IiwgKm9wdGlvbnMsICZNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6
c2V0Q2hpbGRMaXN0KQorICAgICAgICB8fCAhZGljdGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgiYXR0
cmlidXRlcyIsICpvcHRpb25zLCAmTXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldEF0dHJpYnV0
ZXMpCisgICAgICAgIHx8ICFkaWN0aW9uYXJ5LnRyeUdldFByb3BlcnR5KCJjaGFyYWN0ZXJEYXRh
IiwgKm9wdGlvbnMsICZNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6c2V0Q2hhcmFjdGVyRGF0YSkK
KyAgICAgICAgfHwgIWRpY3Rpb25hcnkudHJ5R2V0UHJvcGVydHkoInN1YnRyZWUiLCAqb3B0aW9u
cywgJk11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRTdWJ0cmVlKQorICAgICAgICB8fCAhZGlj
dGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgiYXR0cmlidXRlT2xkVmFsdWUiLCAqb3B0aW9ucywgJk11
dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRBdHRyaWJ1dGVPbGRWYWx1ZSkKKyAgICAgICAgfHwg
IWRpY3Rpb25hcnkudHJ5R2V0UHJvcGVydHkoImNoYXJhY3RlckRhdGFPbGRWYWx1ZSIsICpvcHRp
b25zLCAmTXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldENoYXJhY3RlckRhdGFPbGRWYWx1ZSkp
CisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworCisgICAgaW1wbCgpLT5vYnNlcnZlKHRh
cmdldCwgb3B0aW9ucy5nZXQoKSk7CisgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9PQlNFUlZF
UlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNdXRh
dGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOE11dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAzM2ViOGMxYjk4MDli
N2MzY2I2NmQ5YjlhNGZhNzQxYWNhZTY0NzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcApAQCAt
MCwwICsxLDg5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE1VVEFUSU9OX09C
U0VSVkVSUykKKworI2luY2x1ZGUgIlY4TXV0YXRpb25DYWxsYmFjay5oIgorCisjaW5jbHVkZSAi
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1
ZGUgIlY4Q3VzdG9tVm9pZENhbGxiYWNrLmgiCisjaW5jbHVkZSAiVjhNdXRhdGlvblJlY29yZC5o
IgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRlICJWOFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXIuaCIKKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9HZXRQdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sIFY4TXV0YXRpb25DYWxsYmFjazo6aGFuZGxl
RXZlbnQoTXV0YXRpb25SZWNvcmRBcnJheSogbXV0YXRpb25zLCBXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyKiBvYnNlcnZlcikKK3sKKyAgICBpZiAoIWNhbkludm9rZUNhbGxiYWNrKCkpCisgICAgICAg
IHJldHVybiB0cnVlOworCisgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOworCisgICAg
djg6OkhhbmRsZTx2ODo6Q29udGV4dD4gdjhDb250ZXh0ID0gdG9WOENvbnRleHQoc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLCBtX3dvcmxkQ29udGV4dCk7CisgICAgaWYgKHY4Q29udGV4dC5Jc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgdjg6OkNvbnRleHQ6OlNjb3BlIHNj
b3BlKHY4Q29udGV4dCk7CisKKyAgICBpZiAoIW11dGF0aW9ucykgeworICAgICAgICBDUkFTSCgp
OworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICB2ODo6TG9jYWw8djg6OkFycmF5
PiBtdXRhdGlvbnNBcnJheSA9IHY4OjpBcnJheTo6TmV3KG11dGF0aW9ucy0+c2l6ZSgpKTsKKyAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG11dGF0aW9ucy0+c2l6ZSgpOyArK2kpCisgICAgICAg
IG11dGF0aW9uc0FycmF5LT5TZXQodjg6OkludGVnZXI6Ok5ldyhpKSwgdG9WOChtdXRhdGlvbnMt
PmF0KGkpLmdldCgpKSk7CisKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gb2JzZXJ2ZXJIYW5k
bGUgPSB0b1Y4KG9ic2VydmVyKTsKKyAgICBpZiAob2JzZXJ2ZXJIYW5kbGUuSXNFbXB0eSgpKSB7
CisgICAgICAgIENSQVNIKCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBhcmd2W10gPSB7CisgICAgICAgIG11dGF0aW9uc0FycmF5LAor
ICAgICAgICBvYnNlcnZlckhhbmRsZQorICAgIH07CisKKyAgICBib29sIGNhbGxiYWNrUmV0dXJu
VmFsdWUgPSBmYWxzZTsKKyAgICByZXR1cm4gIWludm9rZUNhbGxiYWNrKG1fY2FsbGJhY2ssIDIs
IGFyZ3YsIGNhbGxiYWNrUmV0dXJuVmFsdWUsIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9P
QlNFUlZFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjViZmQyOTk2Y2Q1ZWYwOWM0YzAyZDk4ZGI3MjY1NGIxZDlhODkzNzcKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRhdGlv
bk9ic2VydmVyQ3VzdG9tLmNwcApAQCAtMCwwICsxLDExMCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KworI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNpbmNsdWRlICJWOFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXIuaCIKKworI2luY2x1ZGUgIk11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmgi
CisjaW5jbHVkZSAiT3B0aW9uc09iamVjdC5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgorI2lu
Y2x1ZGUgIlY4QmluZGluZ01hY3Jvcy5oIgorI2luY2x1ZGUgIlY4RE9NV3JhcHBlci5oIgorI2lu
Y2x1ZGUgIlY4TXV0YXRpb25DYWxsYmFjay5oIgorI2luY2x1ZGUgIlY4Tm9kZS5oIgorI2luY2x1
ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRlICJWOFV0aWxpdGllcy5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6
OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBJ
TkNfU1RBVFMoIkRPTS5XZWJLaXRNdXRhdGlvbk9ic2VydmVyLkNvbnN0cnVjdG9yIik7CisKKyAg
ICBpZiAoIWFyZ3MuSXNDb25zdHJ1Y3RDYWxsKCkpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9y
KCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4i
LCBWOFByb3h5OjpUeXBlRXJyb3IpOworCisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQorICAg
ICAgICByZXR1cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5OjpU
eXBlRXJyb3IpOworCisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gYXJnID0gYXJnc1swXTsKKyAg
ICBpZiAoIWFyZy0+SXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoIkFyZ3Vt
ZW50IG11c3QgYmUgYW4gT2JqZWN0IiwgVjhQcm94eTo6VHlwZUVycm9yKTsKKworICAgIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
CisgICAgaWYgKCFjb250ZXh0KQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiV2ViS2l0TXV0
YXRpb25PYnNlcnZlciBjb25zdHJ1Y3RvcidzIGFzc29jaWF0ZWQgZnJhbWUgdW5hdmFpbGFibGUi
LCBWOFByb3h5OjpSZWZlcmVuY2VFcnJvcik7CisKKyAgICBSZWZQdHI8TXV0YXRpb25DYWxsYmFj
az4gY2FsbGJhY2sgPSBWOE11dGF0aW9uQ2FsbGJhY2s6OmNyZWF0ZShhcmcsIGNvbnRleHQpOwor
ICAgIFJlZlB0cjxXZWJLaXRNdXRhdGlvbk9ic2VydmVyPiBvYnNlcnZlciA9IFdlYktpdE11dGF0
aW9uT2JzZXJ2ZXI6OmNyZWF0ZShjYWxsYmFjay5yZWxlYXNlKCkpOworCisgICAgVjhET01XcmFw
cGVyOjpzZXRET01XcmFwcGVyKGFyZ3MuSG9sZGVyKCksICZpbmZvLCBvYnNlcnZlci5nZXQoKSk7
CisgICAgb2JzZXJ2ZXItPnJlZigpOworICAgIFY4RE9NV3JhcHBlcjo6c2V0SlNXcmFwcGVyRm9y
RE9NT2JqZWN0KG9ic2VydmVyLmdldCgpLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pjo6TmV3
KGFyZ3MuSG9sZGVyKCkpKTsKKyAgICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKK30KKwordjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZUNhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJET00uV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5vYnNlcnZlIik7CisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAyKQor
ICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5
OjpUeXBlRXJyb3IpOworICAgIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIqIGltcCA9IFY4V2ViS2l0
TXV0YXRpb25PYnNlcnZlcjo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CisgICAgRVhDRVBUSU9O
X0JMT0NLKE5vZGUqLCB0YXJnZXQsIFY4Tm9kZTo6SGFzSW5zdGFuY2UoYXJnc1swXSkgPyBWOE5v
ZGU6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1swXSkpIDogMCk7
CisKKyAgICBpZiAoIWFyZ3NbMV0tPklzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiB0aHJvd0Vy
cm9yKCJPcHRpb25zIG11c3QgYmUgYW4gb2JqZWN0IiwgVjhQcm94eTo6VHlwZUVycm9yKTsKKwor
ICAgIE9wdGlvbnNPYmplY3Qgb3B0aW9uc09iamVjdChhcmdzWzFdKTsKKyAgICBSZWZQdHI8TXV0
YXRpb25PYnNlcnZlck9wdGlvbnM+IG9wdGlvbnMgPSBNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6
Y3JlYXRlKCk7CisKKyAgICBib29sIG9wdGlvbjsKKyAgICBpZiAob3B0aW9uc09iamVjdC5nZXRL
ZXlWYWx1ZSgiY2hpbGRMaXN0Iiwgb3B0aW9uKSkKKyAgICAgICAgb3B0aW9ucy0+c2V0Q2hpbGRM
aXN0KG9wdGlvbik7CisgICAgaWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5VmFsdWUoImF0dHJpYnV0
ZXMiLCBvcHRpb24pKQorICAgICAgICBvcHRpb25zLT5zZXRBdHRyaWJ1dGVzKG9wdGlvbik7Cisg
ICAgaWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5VmFsdWUoImNoYXJhY3RlckRhdGEiLCBvcHRpb24p
KQorICAgICAgICBvcHRpb25zLT5zZXRDaGFyYWN0ZXJEYXRhKG9wdGlvbik7CisgICAgaWYgKG9w
dGlvbnNPYmplY3QuZ2V0S2V5VmFsdWUoInN1YnRyZWUiLCBvcHRpb24pKQorICAgICAgICBvcHRp
b25zLT5zZXRTdWJ0cmVlKG9wdGlvbik7CisgICAgaWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5VmFs
dWUoImF0dHJpYnV0ZU9sZFZhbHVlIiwgb3B0aW9uKSkKKyAgICAgICAgb3B0aW9ucy0+c2V0QXR0
cmlidXRlT2xkVmFsdWUob3B0aW9uKTsKKyAgICBpZiAob3B0aW9uc09iamVjdC5nZXRLZXlWYWx1
ZSgiY2hhcmFjdGVyRGF0YU9sZFZhbHVlIiwgb3B0aW9uKSkKKyAgICAgICAgb3B0aW9ucy0+c2V0
Q2hhcmFjdGVyRGF0YU9sZFZhbHVlKG9wdGlvbik7CisKKyAgICBpbXAtPm9ic2VydmUodGFyZ2V0
LCBvcHRpb25zLmdldCgpKTsKKyAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9P
QlNFUlZFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFj
ay5oIGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MDczOWM4OGFkNzhiMTMxNTk5MmQ4ZjY2NmQ5MGIyNDBhZTdlYWQ5Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaApAQCAtMCwwICsxLDU4IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBNdXRhdGlvbkNhbGxiYWNrX2gKKyNkZWZpbmUgTXV0YXRpb25DYWxsYmFja19oCisK
KyNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE11dGF0aW9uUmVjb3JkOworY2xhc3MgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlcjsKKwordHlwZWRlZiBWZWN0b3I8UmVmUHRyPE11dGF0aW9uUmVj
b3JkPiA+IE11dGF0aW9uUmVjb3JkQXJyYXk7CisKK2NsYXNzIE11dGF0aW9uQ2FsbGJhY2sgOiBw
dWJsaWMgUmVmQ291bnRlZDxNdXRhdGlvbkNhbGxiYWNrPiB7CitwdWJsaWM6CisgICAgdmlydHVh
bCB+TXV0YXRpb25DYWxsYmFjaygpIHsgfQorCisgICAgdmlydHVhbCBib29sIGhhbmRsZUV2ZW50
KE11dGF0aW9uUmVjb3JkQXJyYXkqLCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyKikgPSAwOworfTsK
KworfQorCisjZW5kaWYgLy8gRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2VuZGlmIC8v
IE11dGF0aW9uQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0
aW9uQ2FsbGJhY2suaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjE2MzgxNzE0YzgwOWVhN2NhNDc4NGM2YjNiMDMxMWI4OTc5ZjgxNzUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFjay5pZGwK
QEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBD
b25kaXRpb25hbD1NVVRBVElPTl9PQlNFUlZFUlMsCisgICAgICAgIENhbGxiYWNrCisgICAgXSBN
dXRhdGlvbkNhbGxiYWNrIHsKKyAgICAgICAgW0N1c3RvbV0gYm9vbGVhbiBoYW5kbGVFdmVudChp
biBNdXRhdGlvblJlY29yZEFycmF5IG11dGF0aW9ucywgaW4gV2ViS2l0TXV0YXRpb25PYnNlcnZl
ciBvYnNlcnZlcik7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9N
dXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2Jz
ZXJ2ZXJPcHRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2ZlNWQxY2QyODRiZDFmNGI4NDM2N2E5ZTZkNWE3
MTZmZmViYzNkZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlv
bk9ic2VydmVyT3B0aW9ucy5oCkBAIC0wLDAgKzEsOTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE11dGF0aW9uT2JzZXJ2
ZXJPcHRpb25zX2gKKyNkZWZpbmUgTXV0YXRpb25PYnNlcnZlck9wdGlvbnNfaAorCisjaWYgRU5B
QkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyA6IHB1YmxpYyBSZWZDb3VudGVkPE11dGF0aW9uT2Jz
ZXJ2ZXJPcHRpb25zPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TXV0YXRpb25P
YnNlcnZlck9wdGlvbnM+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKTsKKyAgICB9CisKKyAgICBib29sIGNoaWxkTGlz
dCgpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRMaXN0OyB9CisgICAgdm9pZCBzZXRDaGlsZExpc3Qo
Ym9vbCB2YWx1ZSkgeyBtX2NoaWxkTGlzdCA9IHZhbHVlOyB9CisKKyAgICBib29sIGF0dHJpYnV0
ZXMoKSBjb25zdCB7IHJldHVybiBtX2F0dHJpYnV0ZXM7IH0KKyAgICB2b2lkIHNldEF0dHJpYnV0
ZXMoYm9vbCB2YWx1ZSkgeyBtX2F0dHJpYnV0ZXMgPSB2YWx1ZTsgfQorCisgICAgYm9vbCBjaGFy
YWN0ZXJEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9jaGFyYWN0ZXJEYXRhOyB9CisgICAgdm9pZCBz
ZXRDaGFyYWN0ZXJEYXRhKGJvb2wgdmFsdWUpIHsgbV9jaGFyYWN0ZXJEYXRhID0gdmFsdWU7IH0K
KworICAgIGJvb2wgc3VidHJlZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3VidHJlZTsgfQorICAgIHZv
aWQgc2V0U3VidHJlZShib29sIHZhbHVlKSB7IG1fc3VidHJlZSA9IHZhbHVlOyB9CisKKyAgICBi
b29sIGF0dHJpYnV0ZU9sZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVPbGRWYWx1
ZTsgfQorICAgIHZvaWQgc2V0QXR0cmlidXRlT2xkVmFsdWUoYm9vbCB2YWx1ZSkgeyBtX2F0dHJp
YnV0ZU9sZFZhbHVlID0gdmFsdWU7IH0KKworICAgIGJvb2wgY2hhcmFjdGVyRGF0YU9sZFZhbHVl
KCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVPbGRWYWx1ZTsgfQorICAgIHZvaWQgc2V0Q2hh
cmFjdGVyRGF0YU9sZFZhbHVlKGJvb2wgdmFsdWUpIHsgbV9jaGFyYWN0ZXJEYXRhT2xkVmFsdWUg
PSB2YWx1ZTsgfQorCisgICAgLy8gRklYTUU6IEZpZ3VyZSBvdXQgaG93IHRvIG1vZGVsIHRoaXMg
YmFzZWQgb24gdGhlIElETC4KKyAgICAvLyBET01TdHJpbmdbXSBhdHRyaWJ1dGVGaWx0ZXI7CisK
K3ByaXZhdGU6CisgICAgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMoKQorICAgICAgICA6IG1fY2hp
bGRMaXN0KGZhbHNlKQorICAgICAgICAsIG1fYXR0cmlidXRlcyhmYWxzZSkKKyAgICAgICAgLCBt
X2NoYXJhY3RlckRhdGEoZmFsc2UpCisgICAgICAgICwgbV9zdWJ0cmVlKGZhbHNlKQorICAgICAg
ICAsIG1fYXR0cmlidXRlT2xkVmFsdWUoZmFsc2UpCisgICAgICAgICwgbV9jaGFyYWN0ZXJEYXRh
T2xkVmFsdWUoZmFsc2UpCisgICAgeworICAgIH0KKworICAgIGJvb2wgbV9jaGlsZExpc3Q7Cisg
ICAgYm9vbCBtX2F0dHJpYnV0ZXM7CisgICAgYm9vbCBtX2NoYXJhY3RlckRhdGE7CisgICAgYm9v
bCBtX3N1YnRyZWU7CisgICAgYm9vbCBtX2F0dHJpYnV0ZU9sZFZhbHVlOworICAgIGJvb2wgbV9j
aGFyYWN0ZXJEYXRhT2xkVmFsdWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjZW5kaWYgLy8gTXV0YXRpb25P
YnNlcnZlck9wdGlvbnNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11
dGF0aW9uT2JzZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhNjY1NGU2ODU0MDQ4YThmNmIyZGMxN2UzYWQ5MmQ0ZDJk
ZTY2NzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRp
b25PYnNlcnZlci5jcHAKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lm
IEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNpbmNsdWRlICJXZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmgiCisKKyNpbmNsdWRlICJNdXRhdGlvbkNhbGxiYWNrLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworUGFzc1JlZlB0cjxXZWJLaXRNdXRhdGlvbk9ic2VydmVyPiBXZWJLaXRNdXRh
dGlvbk9ic2VydmVyOjpjcmVhdGUoUGFzc1JlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPiBjYWxsYmFj
aykKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoY2Fs
bGJhY2spKTsKK30KKworV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6V2ViS2l0TXV0YXRpb25PYnNl
cnZlcihQYXNzUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQorICAgIDogbV9jYWxs
YmFjayhjYWxsYmFjaykKK3sKK30KKworV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6fldlYktpdE11
dGF0aW9uT2JzZXJ2ZXIoKQoreworfQorCit2b2lkIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6Om9i
c2VydmUoTm9kZSosIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKikKK3sKKyAgICAvLyBGSVhNRTog
aW1wbGVtZW50Cit9CisKK3ZvaWQgV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6ZGlzY29ubmVjdCgp
Cit7CisgICAgLy8gRklYTUU6IGltcGxlbWVudAorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDg3OTQ0NzU2YjJmYzI2
ZDE0NGJhZmEwNDNhYzdlODJkNTAwYjBkYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
V2ViS2l0TXV0YXRpb25PYnNlcnZlcl9oCisjZGVmaW5lIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJf
aAorCisjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTXV0YXRpb25DYWxsYmFjazsK
K2NsYXNzIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOworY2xhc3MgTm9kZTsKKworY2xhc3MgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJLaXRNdXRhdGlvbk9i
c2VydmVyPiBjcmVhdGUoUGFzc1JlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPik7CisKKyAgICB+V2Vi
S2l0TXV0YXRpb25PYnNlcnZlcigpOworCisgICAgdm9pZCBvYnNlcnZlKE5vZGUqLCBNdXRhdGlv
bk9ic2VydmVyT3B0aW9ucyopOworICAgIHZvaWQgZGlzY29ubmVjdCgpOworCitwcml2YXRlOgor
ICAgIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoUGFzc1JlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPik7
CisKKyAgICBSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4gbV9jYWxsYmFjazsKK307CisKK30KKwor
I2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNlbmRpZiAvLyBXZWJLaXRN
dXRhdGlvbk9ic2VydmVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRN
dXRhdGlvbk9ic2VydmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYTZlOGM3ZWVjMDBhMGIwMDE1MTlmMWMzMzQ1NjI4NTg3
MzY1NmE3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0
aW9uT2JzZXJ2ZXIuaWRsCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgY29yZSB7CisgICAgaW50ZXJm
YWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TVVUQVRJT05fT0JTRVJWRVJTLAorICAgICAgICBD
YW5CZUNvbnN0cnVjdGVkLAorICAgICAgICBDdXN0b21Db25zdHJ1Y3RvcgorICAgIF0gV2ViS2l0
TXV0YXRpb25PYnNlcnZlciB7CisgICAgICAgIFtDdXN0b21dIHZvaWQgb2JzZXJ2ZShpbiBOb2Rl
IHRhcmdldCwgaW4gTXV0YXRpb25PYnNlcnZlck9wdGlvbnMgb3B0aW9ucyk7CisgICAgICAgIHZv
aWQgZGlzY29ubmVjdCgpOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5k
ZXggYjhkYmJjN2FjMjcwMGE3Zjk1Yjk0NTM1MmExOTBjZTI4N2QyYmY5Zi4uOGI1MDlhOGI1ZDVl
NmUxY2UxNmE4MTkxN2YxYzAzOTVmMGY3YTEzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bApAQCAtODA5LDYgKzgwOSw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgW0VuYWJsZWRBdFJ1bnRpbWU9UXVvdGFdIFN0b3JhZ2VJbmZvIHdlYmtpdFN0b3Jh
Z2VJbmZvOwogI2VuZGlmCiAKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1NVVRBVElP
Tl9PQlNFUlZFUlNdIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3RvciBXZWJLaXRNdXRh
dGlvbk9ic2VydmVyOworCiAjZW5kaWYgLy8gZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKQog
CiAjaWYgZGVmaW5lZChWOF9CSU5ESU5HKSAmJiBWOF9CSU5ESU5HCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCmluZGV4IDRjYTA2ZTJmNDI0NjYzMmY4NjFjODcwZTQyMDM1YzM4ODBiMGU5YjguLmQx
OWJmZmM5YTAxZTdmMzc0YTgzMjdiYjQyMGMyNDgzZjRkN2Y0ODMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMTAtMTAgIEFkYW0gS2xlaW4gIDxhZGFt
a0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgc3R1YiBp
bXBsZW1lbnRhdGlvbiBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk0OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmVhdHVyZXMuZ3lwaTogQWRkZWQgJ2Vu
YWJsZV9tdXRhdGlvbl9vYnNlcnZlcnMnIHZhcmlhYmxlLgorCiAyMDExLTEwLTEwICBEb21pbmlj
IE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgogCiAgICAgICAgIFtDaHJvbWl1bV0gR2V0
IHJpZCBvZiBXZWJBY2Nlc3NpYmlsaXR5Q2FjaGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVz
Lmd5cGkKaW5kZXggYjY1OGQ4M2Y4NmQ3NmViZjJlNzQwYmU5ODRlZDlmYWFkOGFmNTA4OC4uMjVh
Yjk0MWQwZWFkOWI3ZTliMTc1ZjUyY2YwZDYxNTk0MDIzOTM1NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vZmVhdHVyZXMuZ3lwaQpAQCAtNjgsNyArNjgsNyBAQAogICAgICAgJ0VOQUJMRV9NRURJQV9T
VFJFQU09MScsCiAgICAgICAnRU5BQkxFX01FVEVSX1RBRz0xJywKICAgICAgICdFTkFCTEVfTUhU
TUw9MScsCi0gICAgICAnRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUz0wJywKKyAgICAgICdFTkFC
TEVfTVVUQVRJT05fT0JTRVJWRVJTPTwoZW5hYmxlX211dGF0aW9uX29ic2VydmVycyknLAogICAg
ICAgJ0VOQUJMRV9OT1RJRklDQVRJT05TPTEnLAogICAgICAgJ0VOQUJMRV9PUklFTlRBVElPTl9F
VkVOVFM9MCcsCiAgICAgICAnRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEk9MScsCkBAIC0xMTUs
NiArMTE1LDcgQEAKICAgICAgICd1c2Vfc2tpYSUnOiAwLAogICAgICAgJ2VuYWJsZV90b3VjaF9p
Y29uX2xvYWRpbmclJyA6IDAsCiAgICAgICAnZW5hYmxlX2NzczNfZmxleGJveCUnOiAwLAorICAg
ICAgJ2VuYWJsZV9tdXRhdGlvbl9vYnNlcnZlcnMlJzogMCwKICAgICB9LAogICAgICd1c2VfYWNj
ZWxlcmF0ZWRfY29tcG9zaXRpbmclJzogJzwodXNlX2FjY2VsZXJhdGVkX2NvbXBvc2l0aW5nKScs
CiAgICAgJ3VzZV90aHJlYWRlZF9jb21wb3NpdGluZyUnOiAnPCh1c2VfdGhyZWFkZWRfY29tcG9z
aXRpbmcpJywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110394</attachid>
            <date>2011-10-10 13:42:51 -0700</date>
            <delta_ts>2011-10-10 14:49:26 -0700</delta_ts>
            <desc>Use ASSERT instead of CRASH</desc>
            <filename>bug-68949-20111010134250.patch</filename>
            <type>text/plain</type>
            <size>80547</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwNzEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNzNiZjE1NThlZjU0ZGFkZDYwYmJk
MjljNWM2NTcwMjdlZjMxNmYyLi5kZDFhODg5MTBkY2UwMzFjODgyZTJlMjllZjI1OTE1YWY0MDRh
NzQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMTAtMTAgIEFkYW0gS2xlaW4gIDxhZGFt
a0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgc3R1YiBp
bXBsZW1lbnRhdGlvbiBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk0OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiYXNpYyB0ZXN0cyBhbmQgc2tpcCB0
aGVtIGluIGFsbCBwb3J0cyBmb3Igbm93LgorCisgICAgICAgICogZmFzdC9tdXRhdGlvbi9tdXRh
dGlvbi1vYnNlcnZlci1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3IuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211dGF0aW9uL29ic2VydmUtZXhjZXB0aW9ucy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMS0xMC0xMCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxk
bWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogYW5ub3RhdGUgRE9NQWdl
bnQsIERlYnVnZ2VyKFByZXNlbnRhdGlvbilNb2RlbCB3aXRoIHR5cGVzLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25zdHJ1Y3Rvci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL211dGF0aW9uLW9ic2VydmVy
LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYmViM2U4NmU3MGUyNDg1YTc3
MjAxODA3NzY0Mjg1OTE3OTI3NDlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNCBAQAorVGVzdCB0aGUgY29uc3RydWN0b3Igb2YgV2ViS2l0TXV0YXRpb25PYnNl
cnZlcgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB3aW5kb3cuV2ViS2l0
TXV0YXRpb25PYnNlcnZlciBpcyBub24tbnVsbC4KK1BBU1MgdHlwZW9mIFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXIucHJvdG90eXBlLm9ic2VydmUgaXMgImZ1bmN0aW9uIgorUEFTUyB0eXBlb2YgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5wcm90b3R5cGUuZGlzY29ubmVjdCBpcyAiZnVuY3Rpb24iCitQ
QVNTIHR5cGVvZiBvYnNlcnZlci5vYnNlcnZlIGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIG9i
c2VydmVyLmRpc2Nvbm5lY3QgaXMgImZ1bmN0aW9uIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
bXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3IuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xOTY2YTYzNWUwYjIzZjAzMGNlNTc5MTg2OWFkYmYxMzdiOTFhNzE0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25z
dHJ1Y3Rvci5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHRpdGxlPjwvdGl0bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPWRlc2NyaXB0aW9uPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBzaG91bGRCZU5v
bk51bGwoJ3dpbmRvdy5XZWJLaXRNdXRhdGlvbk9ic2VydmVyJyk7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCd0eXBlb2YgV2ViS2l0TXV0YXRpb25PYnNlcnZlci5wcm90b3R5cGUub2JzZXJ2
ZScsICdmdW5jdGlvbicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlLmRpc2Nvbm5lY3QnLCAnZnVuY3Rpb24nKTsKKyAg
ICB3aW5kb3cub2JzZXJ2ZXIgPSBuZXcgV2ViS2l0TXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbiht
dXRhdGlvbnMpIHsgfSk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2Ygb2JzZXJ2
ZXIub2JzZXJ2ZScsICdmdW5jdGlvbicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndHlw
ZW9mIG9ic2VydmVyLmRpc2Nvbm5lY3QnLCAnZnVuY3Rpb24nKTsKK30KKworZGVzY3JpcHRpb24o
J1Rlc3QgdGhlIGNvbnN0cnVjdG9yIG9mIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXInKTsKKworaWYg
KCF3aW5kb3cuV2ViS2l0TXV0YXRpb25PYnNlcnZlcikKKyAgICB0ZXN0RmFpbGVkKCdUaGlzIHRl
c3QgcmVxdWlyZXMgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUyknKTsKK2Vsc2UKKyAgICBydW5U
ZXN0KCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2Jz
ZXJ2ZS1leGNlcHRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24v
b2JzZXJ2ZS1leGNlcHRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZWNkNDAxMjFmOTMw
YThmNWE1OTk1NGM3NDdmOTMwOGIyMzQ4N2VkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTUgQEAKK1Rlc3QgdGhhdCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLm9ic2VydmUgdGhyb3dz
IGV4Y2VwdGlvbnMgYXBwcm9wcmlhdGVseQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBvYnNlcnZlci5vYnNlcnZlKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90
IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG9ic2VydmVyLm9ic2VydmUobnVsbCkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG9ic2VydmVyLm9i
c2VydmUodW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFy
Z3VtZW50cy4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5KSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1Mgb2JzZXJ2ZXIub2Jz
ZXJ2ZShkb2N1bWVudC5ib2R5LCBudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBPcHRp
b25zIG11c3QgYmUgYW4gb2JqZWN0LgorUEFTUyBvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJv
ZHksIHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogT3B0aW9ucyBtdXN0IGJl
IGFuIG9iamVjdC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2VydmUtZXhj
ZXB0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlv
bnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43ZmVmM2NmZTkwYmY1NDg3YWFlMmUxYTBmNmU0MmViMWRkMzMx
ZGM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZl
LWV4Y2VwdGlvbnMuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzx0aXRsZT48L3RpdGxl
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD1kZXNjcmlwdGlvbj48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgd2luZG93
Lm9ic2VydmVyID0gbmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24obXV0YXRpb25z
KSB7IH0pOworICAgIHNob3VsZFRocm93KCdvYnNlcnZlci5vYnNlcnZlKCknKTsKKyAgICBzaG91
bGRUaHJvdygnb2JzZXJ2ZXIub2JzZXJ2ZShudWxsKScpOworICAgIHNob3VsZFRocm93KCdvYnNl
cnZlci5vYnNlcnZlKHVuZGVmaW5lZCknKTsKKyAgICBzaG91bGRUaHJvdygnb2JzZXJ2ZXIub2Jz
ZXJ2ZShkb2N1bWVudC5ib2R5KScpOworICAgIHNob3VsZFRocm93KCdvYnNlcnZlci5vYnNlcnZl
KGRvY3VtZW50LmJvZHksIG51bGwpJyk7CisgICAgc2hvdWxkVGhyb3coJ29ic2VydmVyLm9ic2Vy
dmUoZG9jdW1lbnQuYm9keSwgdW5kZWZpbmVkKScpOworfQorCitkZXNjcmlwdGlvbignVGVzdCB0
aGF0IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSB0aHJvd3MgZXhjZXB0aW9ucyBhcHBy
b3ByaWF0ZWx5Jyk7CisKK2lmICghd2luZG93LldlYktpdE11dGF0aW9uT2JzZXJ2ZXIpCisgICAg
dGVzdEZhaWxlZCgnVGhpcyB0ZXN0IHJlcXVpcmVzIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMp
Jyk7CitlbHNlCisgICAgcnVuVGVzdCgpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggNDU2OWQzMGQ4N2Jh
MTdjMmZmYzk3ZTZiNGI4YzRhNTdjMGMwYzA4Yy4uMGE5OTg2YWZlMjdmYjA5OTI1NWVmNzI3ZmRk
YzJkZTIxYWZlODgyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMzI2Miw2ICszMjYyLDkgQEAgQlVHV0s1NzMxMSBT
S0lQIDogZmFzdC9leGNsdXNpb25zID0gUEFTUwogLy8gQ1NTIEZpbHRlcnMgc3VwcG9ydCBub3Qg
eWV0IGVuYWJsZWQKIEJVR1dLNjg0NjkgU0tJUCA6IGNzczMvZmlsdGVycyA9IFBBU1MKIAorLy8g
TXV0YXRpb25PYnNlcnZlcnMgbm90IHlldCBlbmFibGVkLgorQlVHV0s2ODcyOSBTS0lQIDogZmFz
dC9tdXRhdGlvbiA9IFBBU1MKKwogQlVHQ1I4NTc1NSA6IGZhc3QvanMvZXhjZXB0aW9uLXByb3Bl
cnRpZXMuaHRtbCA9IFRFWFQKIAogQlVHV0s2MjQzMCBMSU5VWCBXSU4gOiBmYXN0L2RvbS9IVE1M
UHJvZ3Jlc3NFbGVtZW50L2luZGV0ZXJtaW5hdGUtcHJvZ3Jlc3MtMDAxLmh0bWwgPSBGQUlMCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IDIwY2M2NzJmZWU1ZGY5ZjBiNzgxZTc1MmMyYTk4
MzA3MWQ5NWZmZGUuLmM0Y2IwZDRiNzBkMWU4Y2M5MjY5ZDE5MzliMTVjNzA4Zjg0YjUyYTAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC00NzAsNiArNDcwLDkgQEAgd2ViYXVkaW8KICMg
Q1NTIEZpbHRlcnMgaXMgZGlzYWJsZWQKIGNzczMvZmlsdGVycwogCisjIE11dGF0aW9uT2JzZXJ2
ZXJzIGFyZSBuZXQgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNjg3MjkKK2Zhc3Qv
bXV0YXRpb24KKwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBURVNUUyBGQUlMSU5HCiAjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
U2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IDZkNTI2Yjgy
ZjgyZjZhYjkzM2ExODU5MDBkMzY0NTk5ZmU0ZGZjNzUuLmFmZWM5NzNlZmM4NjU5ZWY4MGVlYTAx
NzhhODY5YTA4YTM3NWMxMmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9T
a2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC00MDcsNiAr
NDA3LDkgQEAgY29tcG9zaXRpbmcvcnRsL3J0bC1pZnJhbWUtcmVsYXRpdmUuaHRtbAogIyBGb3Ig
bm93LCBXZWIgQXVkaW8gQVBJIGlzIGRpc2FibGVkCiB3ZWJhdWRpby8KIAorIyBNdXRhdGlvbk9i
c2VydmVycyBhcmUgbmV0IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzY4NzI5Citm
YXN0L211dGF0aW9uCisKICMgVGVzdHMgZm9yIFdlYlZUVCBwYXJzZXIgZm9yIDx0cmFjaz4uICBG
ZWF0dXJlIGlzIG5vdCB5ZXQgZnVuY3Rpb25hbC4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQzNjY4CiBtZWRpYS90cmFjay8KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
CmluZGV4IGUzOGE0NjIzNTNlZmEzZjliNjRhNjBjNjJkMWI1MjI0NTNlMmNmMTUuLjcxNDZhN2E0
MWIwNDUzOGM1M2EwNGJiZjA1N2Q3NjJlOGM0OTRiM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZApAQCAtMTU4LDYgKzE1OCw5IEBAIGZhc3QvcmVnaW9ucwogIyBDU1MgRXhjbHVzaW9ucyBzdXBw
b3J0IG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81NzMxMQogZmFzdC9leGNs
dXNpb25zCiAKKyMgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykgaXMgbm90IHlldCBlbmFibGVk
LiBodHRwOi8vd2Via2l0Lm9yZy9iLzY4NzI5CitmYXN0L211dGF0aW9uCisKICMgVVNFKFY4KQog
CiAjIHY4IGkxOG4gZXh0ZW5zaW9uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCAzYjA0
Zjk0ZjI2NzM3ODNhNzdiNTBhM2U4MGZkNzlhZDUwNGIwMmI0Li4wMjlhNGI0ZmE0ZTY3NDEyNzM3
YjFkZmIxMzIzYTIwNzc5Yzg3YWNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTQw
MCw2ICsxNDAwLDkgQEAgY3NzMy9zZWxlY3RvcnMzCiAjIEZvciBub3csIFdlYiBBdWRpbyBBUEkg
aXMgZGlzYWJsZWQKIHdlYmF1ZGlvLwogCisjIE11dGF0aW9uT2JzZXJ2ZXJzIGFyZSBuZXQgeWV0
IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNjg3MjkKK2Zhc3QvbXV0YXRpb24KKwogIyBU
ZXN0cyBmb3IgV2ViVlRUIHBhcnNlciBmb3IgPHRyYWNrPi4gIEZlYXR1cmUgaXMgbm90IHlldCBm
dW5jdGlvbmFsLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM2
NjgKIG1lZGlhL3RyYWNrLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0OTAxOGZjNzQyYmUwY2I1
NTVmNTc1MTcyOTM2Yjg0MDI3OWQ1NjNkLi4zNTY0NDZkNDJlZDljODUxZjNiYjE2YTM2ZGQ1MTgw
MWIyYTNkZDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTYzLDYgKzE2Myw3IEBAIFNFVChX
ZWJDb3JlX0lETF9GSUxFUwogICAgIGRvbS9NZXNzYWdlRXZlbnQuaWRsCiAgICAgZG9tL01lc3Nh
Z2VQb3J0LmlkbAogICAgIGRvbS9Nb3VzZUV2ZW50LmlkbAorICAgIGRvbS9NdXRhdGlvbkNhbGxi
YWNrLmlkbAogICAgIGRvbS9NdXRhdGlvbkV2ZW50LmlkbAogICAgIGRvbS9NdXRhdGlvblJlY29y
ZC5pZGwKICAgICBkb20vTmFtZWROb2RlTWFwLmlkbApAQCAtMTg2LDYgKzE4Nyw3IEBAIFNFVChX
ZWJDb3JlX0lETF9GSUxFUwogICAgIGRvbS9UcmVlV2Fsa2VyLmlkbAogICAgIGRvbS9VSUV2ZW50
LmlkbAogICAgIGRvbS9XZWJLaXRBbmltYXRpb25FdmVudC5pZGwKKyAgICBkb20vV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5pZGwKICAgICBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmlkbAogICAg
IGRvbS9XaGVlbEV2ZW50LmlkbAogCkBAIC02MDQsNiArNjA2LDcgQEAgU0VUKFdlYkNvcmVfU09V
UkNFUwogICAgIGRvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5jcHAKICAgICBkb20vVmll
d3BvcnRBcmd1bWVudHMuY3BwCiAgICAgZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmNwcAorICAg
IGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcAogICAgIGRvbS9XZWJLaXRUcmFuc2l0aW9u
RXZlbnQuY3BwCiAgICAgZG9tL1doZWVsRXZlbnQuY3BwCiAgICAgZG9tL1dpbmRvd0V2ZW50Q29u
dGV4dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3YTZhZDFjMTM1OTJiZDQ0ODQ3NTk2MjQ4MzdmMGMwYzY1
MzE2MTNmLi5mMzEzZDRkYjE4MzJlNWIyNTNiMjI1YmUwYzJjNGJkNDVkYjI4ZDRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNzkgQEAKKzIwMTEtMTAtMTAgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgc3R1YiBpbXBsZW1l
bnRhdGlvbiBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Njg3MjkgZm9yIHRoZSBtZXRhYnVnLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
YWRkcyBhIHN0dWIgV2ViS2l0TXV0YXRpb25PYnNlcnZlciBhbmQgaXRzIHN1cHBvcnRpbmcgY2xh
c3NlcworICAgICAgICBNdXRhdGlvbkNhbGxiYWNrIGFuZCBNdXRhdGlvbk9ic2VydmVyT3B0aW9u
cy4KKyAgICAgICAgTm8gaW1wbGVtZW50YXRpb24gaXMgcHJvdmlkZWQgZm9yIHRoZSBhbGwtaW1w
b3J0YW50IG9ic2VydmUoKSBhbmQKKyAgICAgICAgZGlzY29ubmVjdCgpIG1ldGhvZHMuCisKKyAg
ICAgICAgTm90ZSB0aGF0IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIgaXMgdmVuZG9yLXByZWZpeGVk
IHNpbmNlIGl0IGhhcyBhCisgICAgICAgIGNvbnN0cnVjdG9yIGV4cG9zZWQgb24gRE9NV2luZG93
LiAgTm9uZSBvZiB0aGUgcmVzdCBvZiB0aGUgQVBJIG5lZWRzCisgICAgICAgIHByZWZpeGluZywg
YXMgaXQncyBvbmx5IGF2YWlsYWJsZSB2aWEgYSBjYWxsIHRocm91Z2ggYSBNdXRhdGlvbk9ic2Vy
dmVyCisgICAgICAgIGNhbGxiYWNrIChjcmVhdGVkIGJ5IGluc3RhbnRpYXRpbmcgV2ViS2l0TXV0
YXRpb25PYnNlcnZlcikuCisKKyAgICAgICAgR2l2ZW4gdGhlIG51bWJlciBvZiBmaWxlcyByZXF1
aXJlZCB0byBnZXQganVzdCB0aGUgc3R1YiB1cCBhbmQgcnVubmluZywKKyAgICAgICAgaXQgc2Vl
bXMgcmVhc29uYWJsZSB0byBsZWF2ZSB0aGUgYWN0dWFsIGltcGxlbWVudGF0aW9uIGZvciB0aGUg
bmV4dAorICAgICAgICBwYXRjaCAob3IgbW9yZSBsaWtlbHkgc2V2ZXJhbCBwYXRjaGVzKS4gIEkn
dmUgbGVmdCBGSVhNRXMgaW4gYWxsIHRoZSBwbGFjZXMKKyAgICAgICAgdGhhdCdsbCBuZWVkIGF1
Z21lbnRhdGlvbi4KKworICAgICAgICBUZXN0czogZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNl
cnZlci1jb25zdHJ1Y3Rvci5odG1sCisgICAgICAgICAgICAgICBmYXN0L211dGF0aW9uL29ic2Vy
dmUtZXhjZXB0aW9ucy5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFVzZUpTQy5jbWFrZToKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICog
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5o
OgorICAgICAgICAoV2ViQ29yZTo6SlNEaWN0aW9uYXJ5Ojp0cnlHZXRQcm9wZXJ0eSk6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpKU011dGF0aW9uQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KToKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9y
Ojpjb25zdHJ1Y3RKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZlKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpWOE11dGF0aW9uQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpWOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OmNvbnN0cnVjdG9y
Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpv
YnNlcnZlQ2FsbGJhY2spOgorICAgICAgICAqIGRvbS9NdXRhdGlvbkNhbGxiYWNrLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25DYWxsYmFjazo6fk11dGF0aW9uQ2FsbGJhY2sp
OgorICAgICAgICAqIGRvbS9NdXRhdGlvbkNhbGxiYWNrLmlkbDogQWRkZWQuCisgICAgICAgICog
ZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNdXRh
dGlvbk9ic2VydmVyT3B0aW9uczo6Y2hpbGRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0
aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRDaGlsZExpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TXV0
YXRpb25PYnNlcnZlck9wdGlvbnM6OmF0dHJpYnV0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TXV0
YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldEF0dHJpYnV0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6
TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmNoYXJhY3RlckRhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldENoYXJhY3RlckRhdGEpOgorICAgICAgICAo
V2ViQ29yZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnN1YnRyZWUpOgorICAgICAgICAoV2Vi
Q29yZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldFN1YnRyZWUpOgorICAgICAgICAoV2Vi
Q29yZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmF0dHJpYnV0ZU9sZFZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRBdHRyaWJ1dGVPbGRWYWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6Y2hhcmFjdGVy
RGF0YU9sZFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25z
OjpzZXRDaGFyYWN0ZXJEYXRhT2xkVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25P
YnNlcnZlck9wdGlvbnM6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKToKKyAgICAgICAgKiBkb20v
V2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V2Vi
S2l0TXV0YXRpb25PYnNlcnZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11
dGF0aW9uT2JzZXJ2ZXI6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6fldlYktpdE11dGF0aW9uT2JzZXJ2ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZSk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpkaXNjb25uZWN0KToKKyAgICAgICAg
KiBkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oOiBBZGRlZC4KKyAgICAgICAgKiBkb20vV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93
LmlkbDoKKwogMjAxMS0xMC0xMCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgTWFrZSBzdGF0aWMgZnVuY3Rpb25zIGluIEhUTUxTZWxlY3RFbGVtZW50LmNwcCBt
ZW1iZXIgZnVuY3Rpb25zIG9mIEhUTUxTZWxlY3RFbGVtZW50IGNsYXNzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAKaW5kZXggNjk5YTlhMjc3MjZiOTQ3NDk2ODE3OTk0NDdhOGY0Yjc5NjEwYzFk
Ni4uZWY4YmQ2YjkwOTRkYWE4MDljM2UwMjZjNzI5MTgyODkyN2ZkYjhiYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcApAQCAtMjQ0LDYgKzI0NCw3IEBACiAjaW5jbHVkZSAiSlNNZXRhZGF0
YS5jcHAiCiAjaW5jbHVkZSAiSlNNZXRhZGF0YUNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU01v
dXNlRXZlbnQuY3BwIgorI2luY2x1ZGUgIkpTTXV0YXRpb25DYWxsYmFjay5jcHAiCiAjaW5jbHVk
ZSAiSlNNdXRhdGlvbkV2ZW50LmNwcCIKICNpbmNsdWRlICJKU011dGF0aW9uUmVjb3JkLmNwcCIK
ICNpbmNsdWRlICJKU05hbWVkTm9kZU1hcC5jcHAiCkBAIC00NjgsNiArNDY5LDcgQEAKICNpbmNs
dWRlICJKU1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0Q1NT
VHJhbnNmb3JtVmFsdWUuY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0Q1NTTWF0cml4LmNwcCIKKyNp
bmNsdWRlICJKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0
UG9pbnQuY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCIKICNpbmNs
dWRlICJKU1dlYlNvY2tldC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA1
ZWEwNGRlMTUwODFmYjFmZTRiNTBmZDk3Njg3NjBlZGRiNzEzYzdlLi44NmQ4MzNiMTA1OGMwMGIx
MTUwZWFiNmFhZjdhYzU2M2RiMTZhMzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
QEAgLTI5Nyw2ICsyOTcsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBNZXRhZGF0YSBcCiAgICAg
TWV0YWRhdGFDYWxsYmFjayBcCiAgICAgTW91c2VFdmVudCBcCisgICAgTXV0YXRpb25DYWxsYmFj
ayBcCiAgICAgTXV0YXRpb25FdmVudCBcCiAgICAgTXV0YXRpb25SZWNvcmQgXAogICAgIE5hbWVk
Tm9kZU1hcCBcCkBAIC01NTMsNiArNTU0LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgV2ViS2l0
Q1NTVHJhbnNmb3JtVmFsdWUgXAogICAgIFdlYktpdEZsYWdzIFwKICAgICBXZWJLaXRMb3NlQ29u
dGV4dCBcCisgICAgV2ViS2l0TXV0YXRpb25PYnNlcnZlciBcCiAgICAgV2ViS2l0UG9pbnQgXAog
ICAgIFdlYktpdFRyYW5zaXRpb25FdmVudCBcCiAgICAgV2ViU29ja2V0IFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDVhZWVmZjY1MTA4MTMyZjdhNDFmMGRlMTJkMTY4Yjg0MmMy
ZTlmOTcuLjE4OWNiYjllNjYxNjhhYjk0YWE2MDM4OWQ2ODgyZmIxYmRkZmJlZDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNzg0LDYgKzc4NCw3IEBAIHdlYmNvcmVfc291cmNl
cyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20u
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5oIFwK
KwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yQ3VzdG9tLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcCBcCkBAIC04MjUsNiAr
ODI2LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1dlYktpdENTU0tleWZyYW1lc1J1bGVDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0Q1NTTWF0cml4Q3VzdG9tLmNwcCBcCisJU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRQb2ludEN1c3RvbS5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViU29ja2V0Q3VzdG9tLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0QmFzZS5jcHAgXApAQCAtMTIy
OSw4ICsxMjMxLDEwIEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9t
L01vdXNlRXZlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmggXAorCVNvdXJjZS9X
ZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9NdXRh
dGlvbkV2ZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQuaCBcCisJ
U291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2RvbS9NdXRhdGlvblJlY29yZC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9NdXRh
dGlvblJlY29yZC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmNwcCBcCkBA
IC0xMzQyLDYgKzEzNDYsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3Jl
L2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0QW5p
bWF0aW9uRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0QW5pbWF0aW9uRXZl
bnQuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIFwK
KwlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9kb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
ZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxF
dmVudC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlIGIvU291
cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCmluZGV4IGUxNmUyZDlkY2E1ZDY1M2Q4ODIyZjU0N2Rl
ZDM1NTcxZjQxMGI2ZDUuLmNhMmU0NzIyZGViZjEzNjllZTJjMDI0OWMxNzAwODNjZDA1Nzg3MGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Vc2VKU0MuY21ha2UKQEAgLTk1LDYgKzk1LDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9T
T1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNNZXNzYWdlQ2hhbm5lbEN1c3RvbS5jcHAKICAgICBi
aW5kaW5ncy9qcy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU01l
c3NhZ2VQb3J0Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTTXV0YXRpb25DYWxsYmFja0N1
c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAKICAgICBi
aW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU05vZGVD
dXN0b20uY3BwCkBAIC0xMjIsNiArMTIzLDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VT
CiAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlmcmFtZVJ1bGVDdXN0b20uY3BwCiAgICAg
YmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ3VzdG9tLmNwcAogICAgIGJpbmRp
bmdzL2pzL0pTV2ViS2l0Q1NTTWF0cml4Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTV2Vi
S2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdFBv
aW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdFVwbG9hZEN1c3RvbS5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQppbmRleCAwZWQ3ZDY3YWE3N2RlZmRhMjYwNzNkNzg1MzA4ZDU5ZTcxZjUzNWYwLi4w
OTU5ZTEzZDlmMTU4NDc4N2FkYzE4MTc4MTgyNmVhNzQ4ODU1OTRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CkBAIC0xMTkzLDYgKzExOTMsNyBAQAogICAgICAgICAgICAgJ2RvbS9NZXNzYWdlRXZlbnQuaWRs
JywKICAgICAgICAgICAgICdkb20vTWVzc2FnZVBvcnQuaWRsJywKICAgICAgICAgICAgICdkb20v
TW91c2VFdmVudC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9NdXRhdGlvbkNhbGxiYWNrLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL011dGF0aW9uRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20v
TXV0YXRpb25SZWNvcmQuaWRsJywKICAgICAgICAgICAgICdkb20vTmFtZWROb2RlTWFwLmlkbCcs
CkBAIC0xMjE4LDYgKzEyMTksNyBAQAogICAgICAgICAgICAgJ2RvbS9UcmVlV2Fsa2VyLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL1VJRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vV2ViS2l0
QW5pbWF0aW9uRXZlbnQuaWRsJywKKyAgICAgICAgICAgICdkb20vV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5pZGwnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaWRsJywK
ICAgICAgICAgICAgICdkb20vV2hlZWxFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkv
QmxvYi5pZGwnLApAQCAtMTg5Niw2ICsxODk4LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pT
TWVzc2FnZVBvcnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU01lc3Nh
Z2VQb3J0Q3VzdG9tLmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTXV0YXRpb25DYWxs
YmFja0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTmFtZWROb2RlTWFw
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vZGVDdXN0b20uY3BwJywKQEAgLTE5
MzUsNiArMTkzOCw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlm
cmFtZVJ1bGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dlYktpdENT
U0tleWZyYW1lc1J1bGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dl
YktpdENTU01hdHJpeEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTV2Vi
S2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pz
L0pTV2ViS2l0UG9pbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dl
YlNvY2tldEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTV29ya2VyQ29u
dGV4dEJhc2UuY3BwJywKQEAgLTIyMDUsNiArMjIwOSw3IEBACiAgICAgICAgICAgICAnYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZVBvcnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5oJywKKyAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2Rlc0NvbGxlY3Rpb24uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVzQ29sbGVjdGlvbi5o
JywKQEAgLTIyMzMsNiArMjIzOCw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4VWludDhBcnJheUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFdlYktpdEFuaW1hdGlvbkN1c3RvbS5jcHAnLAorICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRQb2ludENvbnN0cnVjdG9y
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViU29ja2V0Q3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ29udGV4dEN1
c3RvbS5jcHAnLApAQCAtNTIyMiw4ICs1MjI4LDEwIEBACiAgICAgICAgICAgICAnZG9tL01lc3Nh
Z2VQb3J0Q2hhbm5lbC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9Nb3VzZUV2ZW50LmNwcCcsCiAg
ICAgICAgICAgICAnZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcCcsCisgICAgICAgICAgICAnZG9t
L011dGF0aW9uQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uRXZlbnQuY3Bw
JywKICAgICAgICAgICAgICdkb20vTXV0YXRpb25FdmVudC5oJywKKyAgICAgICAgICAgICdkb20v
TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uUmVj
b3JkLmNwcCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uUmVjb3JkLmgnLAogICAgICAgICAg
ICAgJ2RvbS9OYW1lTm9kZUxpc3QuY3BwJywKQEAgLTUzMjYsNiArNTMzNCw4IEBACiAgICAgICAg
ICAgICAnZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCcsCiAgICAgICAgICAgICAnZG9tL1dlYktp
dEFuaW1hdGlvbkV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1dlYktpdEFuaW1hdGlvbkV2
ZW50LmgnLAorICAgICAgICAgICAgJ2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCcsCisg
ICAgICAgICAgICAnZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCcsCiAgICAgICAgICAgICAn
ZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRU
cmFuc2l0aW9uRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL1doZWVsRXZlbnQuY3BwJywKQEAg
LTc0OTksNiArNzUwOSw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU01ldGFkYXRhQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnPChQUk9E
VUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vdXNlRXZlbnQuY3BwJywKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW91c2VFdmVu
dC5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTXV0YXRpb25DYWxsYmFjay5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvbkNhbGxiYWNrLmgnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvbkV2ZW50LmNw
cCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U011dGF0aW9uRXZlbnQuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU011dGF0aW9uUmVjb3JkLmNwcCcsCkBAIC04MDMyLDYgKzgwNDQsOCBA
QAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNX
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0TG9zZUNvbnRleHQuY3BwJywKICAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0TG9zZUNv
bnRleHQuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwJywKKyAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5o
JywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
V2ViS2l0UG9pbnQuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTV2ViS2l0UG9pbnQuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAnLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnBybwppbmRleCAwNjRkYzk4MTUwZjIxMGM0NjNkM2Y4MTEwYzQzNjkwN2FjM2MwYjYx
Li5mY2QwYTNhMWRlMzU2ZTdhODQ2OTkxODFlYzcyNzBhNDgzMDk4OTYzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBy
bwpAQCAtMTkyLDYgKzE5Miw3IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TWVzc2FnZUNoYW5uZWxDb25zdHJ1Y3Rvci5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0
b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20v
VjhNZXNzYWdlRXZlbnRDdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20v
VjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TmFtZWROb2Rlc0NvbGxlY3Rpb24uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Tm9kZUN1c3RvbS5jcHAgXApAQCAtMjA2LDYgKzIwNyw3IEBAIHY4IHsKICAgICAgICAgYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhTdHlsZVNoZWV0TGlzdEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhXZWJLaXRBbmltYXRpb25DdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgXAogICAgICAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRQb2ludENvbnN0cnVjdG9yLmNwcCBcCiAgICAgICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwIFwKICAgICAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ3VzdG9tLmNwcCBcCkBAIC0zMTcsNiArMzE5LDcg
QEAgdjggewogICAgICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAgXAog
ICAgICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJp
bmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uaCBcCisgICAgICAgIGJpbmRpbmdzL2pzL0pT
TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU05hbWVk
Tm9kZU1hcEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3Rv
bS5jcHAgIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcCBcCkBAIC0zNDMs
NiArMzQ2LDcgQEAgdjggewogICAgICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdENTU0tleWZyYW1l
UnVsZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdENTU0tleWZyYW1l
c1J1bGVDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRDU1NNYXRyaXhD
dXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVy
Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTV2ViS2l0UG9pbnRDdXN0b20uY3Bw
IFwKICAgICAgICAgYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAgXAogICAg
ICAgICBiaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0VXBsb2FkQ3VzdG9tLmNwcCBcCkBAIC01
NjgsNiArNTcyLDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5k
aWNhdG9yLmNwcCBcCiAgICAgZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCBcCiAgICAgZG9tL1dl
YktpdEFuaW1hdGlvbkV2ZW50LmNwcCBcCisgICAgZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIu
Y3BwIFwKICAgICBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBcCiAgICAgZG9tL1doZWVs
RXZlbnQuY3BwIFwKICAgICBkb20vV2luZG93RXZlbnRDb250ZXh0LmNwcCBcCkBAIC0xNTMyLDcg
KzE1MzcsOSBAQCBIRUFERVJTICs9IFwKICAgICBkb20vTWVzc2FnZVBvcnQuaCBcCiAgICAgZG9t
L01vdXNlRXZlbnQuaCBcCiAgICAgZG9tL01vdXNlUmVsYXRlZEV2ZW50LmggXAorICAgIGRvbS9N
dXRhdGlvbkNhbGxiYWNrLmggXAogICAgIGRvbS9NdXRhdGlvbkV2ZW50LmggXAorICAgIGRvbS9N
dXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIFwKICAgICBkb20vTXV0YXRpb25SZWNvcmQuaCBcCiAg
ICAgZG9tL05hbWVkTm9kZU1hcC5oIFwKICAgICBkb20vTmFtZU5vZGVMaXN0LmggXApAQCAtMTU4
Myw2ICsxNTkwLDcgQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9y
LmggXAogICAgIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5oIFwKICAgICBkb20vV2ViS2l0QW5pbWF0
aW9uRXZlbnQuaCBcCisgICAgZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCBcCiAgICAgZG9t
L1dlYktpdFRyYW5zaXRpb25FdmVudC5oIFwKICAgICBkb20vV2hlZWxFdmVudC5oIFwKICAgICBl
ZGl0aW5nL0FwcGVuZE5vZGVDb21tYW5kLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAyNGI4ZTZhZGI3ZTM4YWM4YWVhOGZkMDQ1YTkwZTdh
MmQyMjliMmNhLi4yMDU2Y2JjNDgxYzczOGNiY2U1MTlhYjFmNWU4NDllODM4NTI1MThmIDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTE1OTgs
NiArMTE1OTgsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU011dGF0aW9uQ2FsbGJhY2suY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmls
ZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTXV0YXRpb25DYWxsYmFjay5oIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3Vy
YXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTXV0YXRp
b25FdmVudC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtMjMwMjIsNiAr
MjMwNzgsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTV2ViS2l0UG9pbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTYz
NDMzLDYgKzYzNTQ1LDU4IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3Bw
IgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWd8V2lu
MzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29s
CisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFz
ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJ
PFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJE
ZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIi
CisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJ
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
YmluZGluZ3NcanNcSlNOYW1lZE5vZGVNYXBDdXN0b20uY3BwIgogCQkJCQk+CiAJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgpAQCAtNjQ5NzMsNiArNjUxMzcsNTggQEAKIAkJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxi
aW5kaW5nc1xqc1xKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwIgorCQkJCQk+CisJ
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19D
RkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJ
CQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFt
ZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNc
SlNXZWJLaXRQb2ludEN1c3RvbS5jcHAiCiAJCQkJCT4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggZDJhNDI0MTJmOTIzYmE2NjIwYjUwYmQ1NmU0ODkxYWZiODBhYzM4Yy4uMDRmNTRlZmVi
MTMyYzI2MTA5Mzc4ODMyYzZiNDg4MTMyY2Y2ZjFlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQ2MSw2ICs1NDYxLDE2IEBA
CiAJCUM2RjA4RkJEMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDhGQkExNDMwRkU4RjAw
Njg1ODQ5IC8qIE11dGF0aW9uUmVjb3JkLmggKi87IH07CiAJCUM2RjA4RkM5MTQzMTAwMEQwMDY4
NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA4RkM3MTQzMTAwMEQwMDY4NTg0OSAvKiBKU011dGF0aW9u
UmVjb3JkLmNwcCAqLzsgfTsKIAkJQzZGMDhGQ0ExNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRp
b25SZWNvcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEM2RjA4RkM4MTQzMTAwMEQwMDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmggKi87IH07CisJ
CUM2RjA5MDBBMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwMTE0MzI3QjYxMDA2
ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5oICovOyB9OworCQlDNkYwOTAwRTE0MzI3QjYxMDA2
ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwNTE0MzI3QjYxMDA2ODU4NDkgLyogV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5jcHAgKi87IH07CisJCUM2RjA5MDBGMTQzMjdCNjEwMDY4NTg0
OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwNjE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5oICovOyB9OworCQlDNkYwOTAxMTE0MzI3QjYxMDA2ODU4NDkgLyogTXV0
YXRpb25PYnNlcnZlck9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEM2RjA5MDA4MTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbk9ic2VydmVy
T3B0aW9ucy5oICovOyB9OworCQlDNkYwOTAyODE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlv
bkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEM2RjA5MDIwMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suY3BwICov
OyB9OworCQlDNkYwOTAyOTE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAyMTE0
MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmggKi87IH07CisJCUM2RjA5MDJD
MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkwMjQxNDMyN0Q0RjAw
Njg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgKi87IH07CisJCUM2RjA5MDJE
MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDI1MTQzMjdENEYwMDY4
NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCAqLzsgfTsKKwkJQzZGMDkxN0YxNDNB
MkJCOTAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTE3RTE0M0EyQkI5
MDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCAqLzsgfTsKKwkJ
QzZGMDkxODUxNDNBNkMzQjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTE4NDE0
M0E2QzNCMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCAqLzsgfTsKIAkJ
QzZGNDEwNDcxMzBDNkU4OTAwMzkzREU0IC8qIEVudHJ5QmFzZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkY0MTA0NjEzMEM2RTg5MDAzOTNERTQg
LyogRW50cnlCYXNlLmNwcCAqLzsgfTsKIAkJQ0EzQkY2N0MxMEQ5OUJBRTAwRTZDRTUzIC8qIFNj
cm9sbEFuaW1hdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENBM0JGNjdCMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5jcHAgKi87
IH07CiAJCUNBM0JGNjdFMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0EzQkY2N0QxMEQ5OUJB
RTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEyNzQ3LDYgKzEyNzU3LDE4IEBACiAJCUM2RjA4RkJC
MTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gTXV0YXRpb25SZWNvcmQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
NkYwOEZDNzE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlvblJlY29yZC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU011dGF0aW9uUmVjb3JkLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzZGMDhGQzgxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0
YXRpb25SZWNvcmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNdXRhdGlv
blJlY29yZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAwMTE0MzI3QjYx
MDA2ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBNdXRhdGlvbkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUM2RjA5MDAyMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBNdXRhdGlvbkNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQzZGMDkwMDUxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDA2
MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkwMDcxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAwODE0MzI3
QjYxMDA2ODU4NDkgLyogTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkwMjAxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25D
YWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU011dGF0
aW9uQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAyMTE0
MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTTXV0YXRpb25DYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDNkYwOTAyNDE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5
MDI1MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MTdFMTQzQTJCQjkwMDY4NTg0OSAvKiBK
U1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkxODQxNDNBNkMzQjAwNjg1ODQ5IC8qIEpTTXV0
YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDNkY0MTA0NjEzMEM2RTg5MDAzOTNERTQgLyogRW50cnlCYXNlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEVudHJ5QmFzZS5jcHA7IHBhdGggPSBmaWxl
YXBpL0VudHJ5QmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBM0JGNjdC
MTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxBbmltYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxBbmltYXRvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTgyMjAsNiArMTgyNDIsOCBAQAogCQkJCTQ5QzlG
NDhCMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2suaCAqLywKIAkJCQk0OUM5
RjQ4QzEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAgKi8sCiAJ
CQkJNDlDOUY0OEQxM0Q1N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFja0xpc3QuaCAq
LywKKwkJCQlDNkYwOTAyMDE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmNw
cCAqLywKKwkJCQlDNkYwOTAyMTE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNr
LmggKi8sCiAJCQkJQzZGMDhGQzcxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmQu
Y3BwICovLAogCQkJCUM2RjA4RkM4MTQzMTAwMEQwMDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3Jk
LmggKi8sCiAJCQkJQkNEOUMyQkMwQzE3QjY5RTAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwLmNw
cCAqLywKQEAgLTE4MjU0LDYgKzE4Mjc4LDggQEAKIAkJCQk3NTQxNUQ1NDEyOUFCMkQyMDAzQUQ2
NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdExpc3QuaCAqLywKIAkJCQk2NURGMzFFRjA5RDFDQzYw
MDAwQkUzMjUgLyogSlNUZXh0LmNwcCAqLywKIAkJCQk2NURGMzFGMDA5RDFDQzYwMDAwQkUzMjUg
LyogSlNUZXh0LmggKi8sCisJCQkJQzZGMDkwMjQxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5jcHAgKi8sCisJCQkJQzZGMDkwMjUxNDMyN0Q0RjAwNjg1ODQ5IC8q
IEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBDb3JlOwog
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE5NjAyLDYgKzE5NjI4LDcgQEAKIAkJCQk0
MTBCN0U3MTEwNDVGQUIwMDBEODIyNEYgLyogSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwICovLAog
CQkJCUUxQURFRDQ2MEU3NkI4REQwMDRBMUE1RSAvKiBKU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCAq
LywKIAkJCQk0MUY1ODRDNjEwNDY1MkNCMDA5Q0FBNjQgLyogSlNNZXNzYWdlUG9ydEN1c3RvbS5o
ICovLAorCQkJCUM2RjA5MTg0MTQzQTZDM0IwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2tD
dXN0b20uY3BwICovLAogCQkJCUJDRDlDMjVGMEMxN0FBNjcwMDVDOTBBMiAvKiBKU05hbWVkTm9k
ZU1hcEN1c3RvbS5jcHAgKi8sCiAJCQkJQTlDNkU2NDgwRDc0NjVEODAwNjQ0MkU5IC8qIEpTTmF2
aWdhdG9yQ3VzdG9tLmNwcCAqLywKIAkJCQlCQ0Q5QzI2MDBDMTdBQTY3MDA1QzkwQTIgLyogSlNO
b2RlQ3VzdG9tLmNwcCAqLywKQEAgLTE5NjM0LDYgKzE5NjYxLDcgQEAKIAkJCQlFMUFEMTRDNDEy
OTczNTQ5MDBBQ0E5ODkgLyogSlNXZWJLaXRDU1NLZXlmcmFtZVJ1bGVDdXN0b20uY3BwICovLAog
CQkJCUUxQUQxNEI0MTI5NzM0Q0EwMEFDQTk4OSAvKiBKU1dlYktpdENTU0tleWZyYW1lc1J1bGVD
dXN0b20uY3BwICovLAogCQkJCUJDMjc1QjdDMTFDNUQyMzUwMEM5MjA2QyAvKiBKU1dlYktpdENT
U01hdHJpeEN1c3RvbS5jcHAgKi8sCisJCQkJQzZGMDkxN0UxNDNBMkJCOTAwNjg1ODQ5IC8qIEpT
V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgKi8sCiAJCQkJQkMyNzVCNzgxMUM1RDFD
MzAwQzkyMDZDIC8qIEpTV2ViS2l0UG9pbnRDdXN0b20uY3BwICovLAogCQkJCTUxOEEzNEM2MTAy
NkM4QzkwMDFCNjg5NiAvKiBKU1dlYlNvY2tldEN1c3RvbS5jcHAgKi8sCiAJCQkJRTE4MjU4QUIw
RUYzQ0Q3MDAwOTMzMjQyIC8qIEpTV29ya2VyQ29udGV4dEN1c3RvbS5jcHAgKi8sCkBAIC0yMTA4
MSw5ICsyMTEwOSwxMiBAQAogCQkJCTE0MUI5NEU1MDlFQzQyMjMwMDBFOTQxMyAvKiBNb3VzZUV2
ZW50LmlkbCAqLywKIAkJCQk4NTAzMUIzMTBBNDRFRkM3MDBGOTkyRTAgLyogTW91c2VSZWxhdGVk
RXZlbnQuY3BwICovLAogCQkJCTg1MDMxQjMyMEE0NEVGQzcwMEY5OTJFMCAvKiBNb3VzZVJlbGF0
ZWRFdmVudC5oICovLAorCQkJCUM2RjA5MDAxMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNh
bGxiYWNrLmggKi8sCisJCQkJQzZGMDkwMDIxNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uQ2Fs
bGJhY2suaWRsICovLAogCQkJCTg1MDMxQjMzMEE0NEVGQzcwMEY5OTJFMCAvKiBNdXRhdGlvbkV2
ZW50LmNwcCAqLywKIAkJCQk4NTAzMUIzNDBBNDRFRkM3MDBGOTkyRTAgLyogTXV0YXRpb25FdmVu
dC5oICovLAogCQkJCTkzRUVDMUYzMDlDMjg3NzcwMEM1MTVEMSAvKiBNdXRhdGlvbkV2ZW50Lmlk
bCAqLywKKwkJCQlDNkYwOTAwODE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25PYnNlcnZlck9w
dGlvbnMuaCAqLywKIAkJCQlDNkYwOEZCOTE0MzBGRThGMDA2ODU4NDkgLyogTXV0YXRpb25SZWNv
cmQuY3BwICovLAogCQkJCUM2RjA4RkJBMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29y
ZC5oICovLAogCQkJCUM2RjA4RkJCMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5p
ZGwgKi8sCkBAIC0yMTIyMiw2ICsyMTI1Myw5IEBACiAJCQkJMzFDMEZGMUIwRTRDRUI2RTAwN0Q2
RkU1IC8qIFdlYktpdEFuaW1hdGlvbkV2ZW50LmNwcCAqLywKIAkJCQkzMUMwRkYxQzBFNENFQjZF
MDA3RDZGRTUgLyogV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCAqLywKIAkJCQkzMUMwRkYxRDBFNENF
QjZFMDA3RDZGRTUgLyogV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsICovLAorCQkJCUM2RjA5MDA1
MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCAqLywKKwkJCQlD
NkYwOTAwNjE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oICovLAor
CQkJCUM2RjA5MDA3MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmlk
bCAqLywKIAkJCQkzMUMwRkYxRTBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlvbkV2
ZW50LmNwcCAqLywKIAkJCQkzMUMwRkYxRjBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNp
dGlvbkV2ZW50LmggKi8sCiAJCQkJMzFDMEZGMjAwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdFRy
YW5zaXRpb25FdmVudC5pZGwgKi8sCkBAIC0yMzIxMiw2ICsyMzI0Niw3IEBACiAJCQkJODk4Nzg1
QjcxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5
ODc4NUI5MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhQ2FsbGJhY2suaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4NjYyOUQxMDlEQTJCNDgwMDk2MzNBNSAvKiBKU01vdXNlRXZlbnQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUM2RjA5MDI5MTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTY1REYzMUZDMDlEMUNDNjAwMDBCRTMyNSAvKiBK
U011dGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM2RjA4RkNBMTQzMTAwMEQwMDY4
NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Q5QzJDMTBD
MTdCNjlFMDA1QzkwQTIgLyogSlNOYW1lZE5vZGVNYXAuaCBpbiBIZWFkZXJzICovLApAQCAtMjM0
NTIsNiArMjM0ODcsNyBAQAogCQkJCTMxNjExRTVCMEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktp
dENTU1RyYW5zZm9ybVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4OTg3ODVCNTEyMkNBMkE3
MDAzQUFCREEgLyogSlNXZWJLaXRGbGFncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMUQ1QzEx
MkQ1MzM1NjAwODMyQkVDIC8qIEpTV2ViS2l0TG9zZUNvbnRleHQuaCBpbiBIZWFkZXJzICovLAor
CQkJCUM2RjA5MDJEMTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ5NEJENzlFMEY1NUM5NEMwMDc0NzgyOCAvKiBKU1dlYktp
dFBvaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUMwRkY0MDBFNENFRkFDMDA3RDZGRTUgLyog
SlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTVEQTVFMEZEMTAy
Qjk1MzgwMDA4OENGOSAvKiBKU1dlYlNvY2tldC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzU4NSw3
ICsyMzYyMSw5IEBACiAJCQkJODUwMzFCNDgwQTQ0RUZDNzAwRjk5MkUwIC8qIE1vdXNlUmVsYXRl
ZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURGQzA5OUU2NDkyMDA1NkU1ODEgLyog
TW92ZVNlbGVjdGlvbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIxQUQ0RTYzMTNBMTJB
MEIwMDg0NkIyNyAvKiBNdXRhYmxlVGV4dFRyYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlDNkYw
OTAwQTE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJODUwMzFCNEEwQTQ0RUZDNzAwRjk5MkUwIC8qIE11dGF0aW9uRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUM2RjA5MDExMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbk9ic2VydmVy
T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzZGMDhGQkQxNDMwRkU4RjAwNjg1ODQ5IC8q
IE11dGF0aW9uUmVjb3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODE4NzIyMzA5NzdEM0MwMDA1
ODI2RDkgLyogTmFtZWROb2RlTWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODE4NzIxRTA5NzdE
M0MwMDA1ODI2RDkgLyogTmFtZU5vZGVMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTI0NDUzLDYg
KzI0NDkxLDcgQEAKIAkJCQlCQzlBREQyMzBDQzQwMzI2MDAwOThDNEMgLyogV2ViS2l0Q1NTVHJh
bnNmb3JtVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5ODc4NTY2MTIyQ0EwNjQwMDNBQUJE
QSAvKiBXZWJLaXRGbGFncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMUQ1QkIxMkQ1MzJDNDAw
ODMyQkVDIC8qIFdlYktpdExvc2VDb250ZXh0LmggaW4gSGVhZGVycyAqLywKKwkJCQlDNkYwOTAw
RjE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDk0QkQ3OTUwRjU1QzhFRTAwNzQ3ODI4IC8qIFdlYktpdFBvaW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkzMUMwRkYyNTBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlv
bkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkNGMzMyRjBGMkI5QTI1MDA0QjY3OTUgLyog
V2ViTGF5ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjYyNDYsNiArMjYyODUsOCBAQAogCQkJCTg5
ODc4NUI2MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTg5ODc4NUI4MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhQ2FsbGJhY2suY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTg2NjI5RDIwOURBMkI0ODAwOTYzM0E1IC8qIEpTTW91c2VFdmVu
dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNkYwOTAyODE0MzI3RDRGMDA2ODU4NDkgLyogSlNN
dXRhdGlvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUM2RjA5MTg1MTQzQTZDM0Iw
MDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNjVERjMxRkIwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTTXV0YXRpb25FdmVudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlDNkYwOEZDOTE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlvblJlY29y
ZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0Q5QzJDMDBDMTdCNjlFMDA1QzkwQTIgLyogSlNO
YW1lZE5vZGVNYXAuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNjUxOCw2ICsyNjU1OSw4IEBACiAJ
CQkJMzE2MTFFNUEwRTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODk4Nzg1QjQxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2Vi
S2l0RmxhZ3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNGMUQ1QzAxMkQ1MzM1NjAwODMyQkVD
IC8qIEpTV2ViS2l0TG9zZUNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzZGMDkwMkMx
NDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlDNkYwOTE3RjE0M0EyQkI5MDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9i
c2VydmVyQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5NEJENzlEMEY1NUM5NEMwMDc0
NzgyOCAvKiBKU1dlYktpdFBvaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMjc1Qjc5MTFD
NUQxQzMwMEM5MjA2QyAvKiBKU1dlYktpdFBvaW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTMxQzBGRjNGMEU0Q0VGQUMwMDdENkZFNSAvKiBKU1dlYktpdFRyYW5zaXRpb25FdmVudC5j
cHAgaW4gU291cmNlcyAqLywKQEAgLTI3MzIwLDYgKzI3MzYzLDcgQEAKIAkJCQk0OTgzOTE1ODBG
MUU3NzY5MDBDMjM3ODIgLyogV2ViS2l0Q1NTTWF0cml4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDOUFERDgwMENDNDA5MjIwMDA5OEM0QyAvKiBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk5M0YxRDVCQTEyRDUzMkM0MDA4MzJCRUMgLyogV2ViS2l0TG9z
ZUNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzZGMDkwMEUxNDMyN0I2MTAwNjg1ODQ5
IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFDMEZG
MjQwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdFRyYW5zaXRpb25FdmVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRkNGMzMyRTBGMkI5QTI1MDA0QjY3OTUgLyogV2ViTGF5ZXIubW0gaW4gU291
cmNlcyAqLywKIAkJCQlFMUEzMTYyRTEzNEJDMzJEMDA3QzlBNEYgLyogV2ViTlNBdHRyaWJ1dGVk
U3RyaW5nRXh0cmFzLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGljdGlvbmFyeS5oCmluZGV4IDc3OTBkNzBmZTE5ZGQ3ZDIzNzQ2Yjc2ZmY0NjAyNWQzZTg3
MmRiOGMuLmYxODBiYTUzMWI0OWM3ZjU5N2ZhOWJmYTUyNmYzZGJiYjQ5Mzc4YjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oCkBAIC01Miw2ICs1Miw5IEBAIHB1
YmxpYzoKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgUmVzdWx0PgogICAgIGJv
b2wgdHJ5R2V0UHJvcGVydHkoY29uc3QgY2hhciogcHJvcGVydHlOYW1lLCBUKiBjb250ZXh0LCB2
b2lkICgqc2V0dGVyKShUKiBjb250ZXh0LCBjb25zdCBSZXN1bHQmKSk7CiAKKyAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4KKyAgICBib29sIHRyeUdldFByb3BlcnR5KGNvbnN0IGNoYXIqIHByb3Bl
cnR5TmFtZSwgVCYgY29udGV4dCwgdm9pZCAoVDo6KnNldHRlcikoYm9vbCkpOworCiBwcml2YXRl
OgogICAgIGVudW0gR2V0UHJvcGVydHlSZXN1bHQgewogICAgICAgICBFeGNlcHRpb25UaHJvd24s
CkBAIC0xMDMsNiArMTA2LDMwIEBAIGJvb2wgSlNEaWN0aW9uYXJ5Ojp0cnlHZXRQcm9wZXJ0eShj
b25zdCBjaGFyKiBwcm9wZXJ0eU5hbWUsIFQqIGNvbnRleHQsIHZvaWQgKCpzCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorYm9vbCBKU0RpY3Rpb25hcnk6OnRy
eUdldFByb3BlcnR5KGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSwgVCYgY29udGV4dCwgdm9pZCAo
VDo6KnNldHRlcikoYm9vbCkpCit7CisgICAgSlNDOjpKU1ZhbHVlIHZhbHVlOworICAgIHN3aXRj
aCAodHJ5R2V0UHJvcGVydHkocHJvcGVydHlOYW1lLCB2YWx1ZSkpIHsKKyAgICBjYXNlIEV4Y2Vw
dGlvblRocm93bjoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGNhc2UgUHJvcGVydHlGb3Vu
ZDogeworICAgICAgICBib29sIHJlc3VsdDsKKyAgICAgICAgY29udmVydFZhbHVlKG1fZXhlYywg
dmFsdWUsIHJlc3VsdCk7CisKKyAgICAgICAgaWYgKG1fZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgKGNvbnRleHQuKnNldHRlcikocmVz
dWx0KTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgTm9Qcm9wZXJ0eUZvdW5kOgor
ICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdGVtcGxhdGUg
PHR5cGVuYW1lIFJlc3VsdD4KIGJvb2wgSlNEaWN0aW9uYXJ5Ojp0cnlHZXRQcm9wZXJ0eShjb25z
dCBjaGFyKiBwcm9wZXJ0eU5hbWUsIFJlc3VsdCYgZmluYWxSZXN1bHQpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40NjQ3NTZjMWI4NjAwZjEzMTNjNGEwMGFkNGYyMGNjYjg1MmQ1MzI2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNdXRhdGlvbkNh
bGxiYWNrQ3VzdG9tLmNwcApAQCAtMCwwICsxLDcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisj
aWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgIkpTTXV0YXRpb25DYWxs
YmFjay5oIgorCisjaW5jbHVkZSAiSlNNdXRhdGlvblJlY29yZC5oIgorI2luY2x1ZGUgIkpTV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCIKKyNpbmNsdWRlIDxydW50aW1lL0pTTG9jay5oPgorCit1c2luZyBuYW1lc3BhY2UgSlNDOwor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Jvb2wgSlNNdXRhdGlvbkNhbGxiYWNrOjpoYW5kbGVF
dmVudChNdXRhdGlvblJlY29yZEFycmF5KiBtdXRhdGlvbnMsIFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXIqIG9ic2VydmVyKQoreworICAgIGlmICghY2FuSW52b2tlQ2FsbGJhY2soKSkKKyAgICAgICAg
cmV0dXJuIHRydWU7CisKKyAgICBSZWZQdHI8SlNNdXRhdGlvbkNhbGxiYWNrPiBwcm90ZWN0KHRo
aXMpOworCisgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKKworICAgIEV4
ZWNTdGF0ZSogZXhlYyA9IG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsKKwor
ICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIG11dGF0aW9uTGlzdDsKKyAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IG11dGF0aW9ucy0+c2l6ZSgpOyArK2kpCisgICAgICAgIG11dGF0aW9uTGlzdC5h
cHBlbmQodG9KUyhleGVjLCBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLCBtdXRhdGlvbnMtPmF0KGkp
LmdldCgpKSk7CisKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgIGFyZ3MuYXBw
ZW5kKGNvbnN0cnVjdEFycmF5KGV4ZWMsIG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCksIG11dGF0aW9u
TGlzdCkpOworICAgIGFyZ3MuYXBwZW5kKHRvSlMoZXhlYywgbV9kYXRhLT5nbG9iYWxPYmplY3Qo
KSwgb2JzZXJ2ZXIpKTsKKworICAgIGJvb2wgcmFpc2VkRXhjZXB0aW9uID0gZmFsc2U7CisgICAg
bV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCAmcmFpc2VkRXhjZXB0aW9uKTsKKyAgICByZXR1
cm4gIXJhaXNlZEV4Y2VwdGlvbjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjhjZTlhZDRiMzA5ZDE5MmQxYmIyMGFhNGRlYjc4OWFkODliZGQ3MzIKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0
aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCkBAIC0wLDAgKzEsOTggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSAiSlNXZWJLaXRN
dXRhdGlvbk9ic2VydmVyLmgiCisKKyNpbmNsdWRlICJKU0RpY3Rpb25hcnkuaCIKKyNpbmNsdWRl
ICJKU011dGF0aW9uQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU05vZGUuaCIKKyNpbmNsdWRlICJN
dXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIgorI2luY2x1ZGUgIk5vZGUuaCIKKyNpbmNsdWRlICJX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgiCisjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgorCit1
c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0VuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3I6OmNv
bnN0cnVjdEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlcihFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAg
SlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3IqIGpzQ29uc3RydWN0b3IgPSBzdGF0
aWNfY2FzdDxKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3Rvcio+KGV4ZWMtPmNhbGxl
ZSgpKTsKKyAgICBpZiAoIWpzQ29uc3RydWN0b3IpCisgICAgICAgIHJldHVybiB0aHJvd1ZNRXJy
b3IoZXhlYywgY3JlYXRlUmVmZXJlbmNlRXJyb3IoZXhlYywgIldlYktpdE11dGF0aW9uT2JzZXJ2
ZXIgY29uc3RydWN0b3IgY2FsbGVlIGlzIHVuYXZhaWxhYmxlIikpOworCisgICAgaWYgKGV4ZWMt
PmFyZ3VtZW50Q291bnQoKSA8IDEpCisgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywg
Y3JlYXRlVHlwZUVycm9yKGV4ZWMsICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKworICAgIFJl
ZlB0cjxNdXRhdGlvbkNhbGxiYWNrPiBjYWxsYmFjazsKKyAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50
KDApLmlzVW5kZWZpbmVkT3JOdWxsKCkpIHsKKyAgICAgICAgaWYgKEpTT2JqZWN0KiBvYmplY3Qg
PSBleGVjLT5hcmd1bWVudCgwKS5nZXRPYmplY3QoKSkKKyAgICAgICAgICAgIGNhbGxiYWNrID0g
SlNNdXRhdGlvbkNhbGxiYWNrOjpjcmVhdGUob2JqZWN0LCBqc0NvbnN0cnVjdG9yLT5nbG9iYWxP
YmplY3QoKSk7CisgICAgfQorICAgIGlmICghY2FsbGJhY2spCisgICAgICAgIHJldHVybiB0aHJv
d1ZNRXJyb3IoZXhlYywgY3JlYXRlVHlwZUVycm9yKGV4ZWMsICJBcmd1bWVudCBpcyBub3QgYW4g
T2JqZWN0IikpOworCisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShhc09iamVjdCh0b0pTKGV4
ZWMsIGpzQ29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgpLCBXZWJLaXRNdXRhdGlvbk9ic2VydmVy
OjpjcmVhdGUoY2FsbGJhY2sucmVsZWFzZSgpKSkpKTsKK30KKworSlNWYWx1ZSBKU1dlYktpdE11
dGF0aW9uT2JzZXJ2ZXI6Om9ic2VydmUoRXhlY1N0YXRlKiBleGVjKQoreworICAgIGlmIChleGVj
LT5hcmd1bWVudENvdW50KCkgPCAyKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBj
cmVhdGVUeXBlRXJyb3IoZXhlYywgIk5vdCBlbm91Z2ggYXJndW1lbnRzIikpOworICAgIE5vZGUq
IHRhcmdldCA9IHRvTm9kZShleGVjLT5hcmd1bWVudCgwKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4
Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKworICAgIEpTVmFsdWUg
b3B0aW9uc1ZhbHVlID0gZXhlYy0+YXJndW1lbnQoMSk7CisgICAgaWYgKG9wdGlvbnNWYWx1ZS5p
c1VuZGVmaW5lZE9yTnVsbCgpKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBjcmVh
dGVUeXBlRXJyb3IoZXhlYywgIk9wdGlvbnMgbXVzdCBiZSBhbiBvYmplY3QiKSk7CisKKyAgICBK
U0RpY3Rpb25hcnkgZGljdGlvbmFyeShleGVjLCBvcHRpb25zVmFsdWUudG9PYmplY3QoZXhlYykp
OworCisgICAgUmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zPiBvcHRpb25zID0gTXV0YXRp
b25PYnNlcnZlck9wdGlvbnM6OmNyZWF0ZSgpOworICAgIGlmICghZGljdGlvbmFyeS50cnlHZXRQ
cm9wZXJ0eSgiY2hpbGRMaXN0IiwgKm9wdGlvbnMsICZNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6
c2V0Q2hpbGRMaXN0KQorICAgICAgICB8fCAhZGljdGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgiYXR0
cmlidXRlcyIsICpvcHRpb25zLCAmTXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldEF0dHJpYnV0
ZXMpCisgICAgICAgIHx8ICFkaWN0aW9uYXJ5LnRyeUdldFByb3BlcnR5KCJjaGFyYWN0ZXJEYXRh
IiwgKm9wdGlvbnMsICZNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6c2V0Q2hhcmFjdGVyRGF0YSkK
KyAgICAgICAgfHwgIWRpY3Rpb25hcnkudHJ5R2V0UHJvcGVydHkoInN1YnRyZWUiLCAqb3B0aW9u
cywgJk11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRTdWJ0cmVlKQorICAgICAgICB8fCAhZGlj
dGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgiYXR0cmlidXRlT2xkVmFsdWUiLCAqb3B0aW9ucywgJk11
dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRBdHRyaWJ1dGVPbGRWYWx1ZSkKKyAgICAgICAgfHwg
IWRpY3Rpb25hcnkudHJ5R2V0UHJvcGVydHkoImNoYXJhY3RlckRhdGFPbGRWYWx1ZSIsICpvcHRp
b25zLCAmTXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldENoYXJhY3RlckRhdGFPbGRWYWx1ZSkp
CisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworCisgICAgaW1wbCgpLT5vYnNlcnZlKHRh
cmdldCwgb3B0aW9ucy5nZXQoKSk7CisgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9PQlNFUlZF
UlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNdXRh
dGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOE11dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmNDg3OGU2ZjY2MGM4
NjM0NzkzNGIxM2FhNWJlZjhlZmIzZWVhYTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcApAQCAt
MCwwICsxLDg4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE1VVEFUSU9OX09C
U0VSVkVSUykKKworI2luY2x1ZGUgIlY4TXV0YXRpb25DYWxsYmFjay5oIgorCisjaW5jbHVkZSAi
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1
ZGUgIlY4Q3VzdG9tVm9pZENhbGxiYWNrLmgiCisjaW5jbHVkZSAiVjhNdXRhdGlvblJlY29yZC5o
IgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRlICJWOFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXIuaCIKKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9HZXRQdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sIFY4TXV0YXRpb25DYWxsYmFjazo6aGFuZGxl
RXZlbnQoTXV0YXRpb25SZWNvcmRBcnJheSogbXV0YXRpb25zLCBXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyKiBvYnNlcnZlcikKK3sKKyAgICBBU1NFUlQobXV0YXRpb25zKTsKKyAgICBpZiAoIW11dGF0
aW9ucykKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAoIWNhbkludm9rZUNhbGxiYWNr
KCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNj
b3BlOworCisgICAgdjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gdjhDb250ZXh0ID0gdG9WOENvbnRl
eHQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBtX3dvcmxkQ29udGV4dCk7CisgICAgaWYgKHY4
Q29udGV4dC5Jc0VtcHR5KCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgdjg6OkNvbnRl
eHQ6OlNjb3BlIHNjb3BlKHY4Q29udGV4dCk7CisKKyAgICB2ODo6TG9jYWw8djg6OkFycmF5PiBt
dXRhdGlvbnNBcnJheSA9IHY4OjpBcnJheTo6TmV3KG11dGF0aW9ucy0+c2l6ZSgpKTsKKyAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IG11dGF0aW9ucy0+c2l6ZSgpOyArK2kpCisgICAgICAgIG11
dGF0aW9uc0FycmF5LT5TZXQodjg6OkludGVnZXI6Ok5ldyhpKSwgdG9WOChtdXRhdGlvbnMtPmF0
KGkpLmdldCgpKSk7CisKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gb2JzZXJ2ZXJIYW5kbGUg
PSB0b1Y4KG9ic2VydmVyKTsKKyAgICBpZiAob2JzZXJ2ZXJIYW5kbGUuSXNFbXB0eSgpKSB7Cisg
ICAgICAgIENSQVNIKCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBhcmd2W10gPSB7CisgICAgICAgIG11dGF0aW9uc0FycmF5LAorICAg
ICAgICBvYnNlcnZlckhhbmRsZQorICAgIH07CisKKyAgICBib29sIGNhbGxiYWNrUmV0dXJuVmFs
dWUgPSBmYWxzZTsKKyAgICByZXR1cm4gIWludm9rZUNhbGxiYWNrKG1fY2FsbGJhY2ssIDIsIGFy
Z3YsIGNhbGxiYWNrUmV0dXJuVmFsdWUsIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9PQlNF
UlZFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjViZmQyOTk2Y2Q1ZWYwOWM0YzAyZDk4ZGI3MjY1NGIxZDlhODkzNzcKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRhdGlvbk9i
c2VydmVyQ3VzdG9tLmNwcApAQCAtMCwwICsxLDExMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKwor
I2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNpbmNsdWRlICJWOFdlYktpdE11dGF0
aW9uT2JzZXJ2ZXIuaCIKKworI2luY2x1ZGUgIk11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmgiCisj
aW5jbHVkZSAiT3B0aW9uc09iamVjdC5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1
ZGUgIlY4QmluZGluZ01hY3Jvcy5oIgorI2luY2x1ZGUgIlY4RE9NV3JhcHBlci5oIgorI2luY2x1
ZGUgIlY4TXV0YXRpb25DYWxsYmFjay5oIgorI2luY2x1ZGUgIlY4Tm9kZS5oIgorI2luY2x1ZGUg
IlY4UHJveHkuaCIKKyNpbmNsdWRlICJWOFV0aWxpdGllcy5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OmNv
bnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBJTkNf
U1RBVFMoIkRPTS5XZWJLaXRNdXRhdGlvbk9ic2VydmVyLkNvbnN0cnVjdG9yIik7CisKKyAgICBp
ZiAoIWFyZ3MuSXNDb25zdHJ1Y3RDYWxsKCkpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJE
T00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4iLCBW
OFByb3h5OjpUeXBlRXJyb3IpOworCisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQorICAgICAg
ICByZXR1cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5OjpUeXBl
RXJyb3IpOworCisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gYXJnID0gYXJnc1swXTsKKyAgICBp
ZiAoIWFyZy0+SXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoIkFyZ3VtZW50
IG11c3QgYmUgYW4gT2JqZWN0IiwgVjhQcm94eTo6VHlwZUVycm9yKTsKKworICAgIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Cisg
ICAgaWYgKCFjb250ZXh0KQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiV2ViS2l0TXV0YXRp
b25PYnNlcnZlciBjb25zdHJ1Y3RvcidzIGFzc29jaWF0ZWQgZnJhbWUgdW5hdmFpbGFibGUiLCBW
OFByb3h5OjpSZWZlcmVuY2VFcnJvcik7CisKKyAgICBSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4g
Y2FsbGJhY2sgPSBWOE11dGF0aW9uQ2FsbGJhY2s6OmNyZWF0ZShhcmcsIGNvbnRleHQpOworICAg
IFJlZlB0cjxXZWJLaXRNdXRhdGlvbk9ic2VydmVyPiBvYnNlcnZlciA9IFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXI6OmNyZWF0ZShjYWxsYmFjay5yZWxlYXNlKCkpOworCisgICAgVjhET01XcmFwcGVy
OjpzZXRET01XcmFwcGVyKGFyZ3MuSG9sZGVyKCksICZpbmZvLCBvYnNlcnZlci5nZXQoKSk7Cisg
ICAgb2JzZXJ2ZXItPnJlZigpOworICAgIFY4RE9NV3JhcHBlcjo6c2V0SlNXcmFwcGVyRm9yRE9N
T2JqZWN0KG9ic2VydmVyLmdldCgpLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pjo6TmV3KGFy
Z3MuSG9sZGVyKCkpKTsKKyAgICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKK30KKwordjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZUNhbGxiYWNrKGNv
bnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJET00uV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5vYnNlcnZlIik7CisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAyKQorICAg
ICAgICByZXR1cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5OjpU
eXBlRXJyb3IpOworICAgIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIqIGltcCA9IFY4V2ViS2l0TXV0
YXRpb25PYnNlcnZlcjo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CisgICAgRVhDRVBUSU9OX0JM
T0NLKE5vZGUqLCB0YXJnZXQsIFY4Tm9kZTo6SGFzSW5zdGFuY2UoYXJnc1swXSkgPyBWOE5vZGU6
OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1swXSkpIDogMCk7CisK
KyAgICBpZiAoIWFyZ3NbMV0tPklzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9y
KCJPcHRpb25zIG11c3QgYmUgYW4gb2JqZWN0IiwgVjhQcm94eTo6VHlwZUVycm9yKTsKKworICAg
IE9wdGlvbnNPYmplY3Qgb3B0aW9uc09iamVjdChhcmdzWzFdKTsKKyAgICBSZWZQdHI8TXV0YXRp
b25PYnNlcnZlck9wdGlvbnM+IG9wdGlvbnMgPSBNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6Y3Jl
YXRlKCk7CisKKyAgICBib29sIG9wdGlvbjsKKyAgICBpZiAob3B0aW9uc09iamVjdC5nZXRLZXlW
YWx1ZSgiY2hpbGRMaXN0Iiwgb3B0aW9uKSkKKyAgICAgICAgb3B0aW9ucy0+c2V0Q2hpbGRMaXN0
KG9wdGlvbik7CisgICAgaWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5VmFsdWUoImF0dHJpYnV0ZXMi
LCBvcHRpb24pKQorICAgICAgICBvcHRpb25zLT5zZXRBdHRyaWJ1dGVzKG9wdGlvbik7CisgICAg
aWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5VmFsdWUoImNoYXJhY3RlckRhdGEiLCBvcHRpb24pKQor
ICAgICAgICBvcHRpb25zLT5zZXRDaGFyYWN0ZXJEYXRhKG9wdGlvbik7CisgICAgaWYgKG9wdGlv
bnNPYmplY3QuZ2V0S2V5VmFsdWUoInN1YnRyZWUiLCBvcHRpb24pKQorICAgICAgICBvcHRpb25z
LT5zZXRTdWJ0cmVlKG9wdGlvbik7CisgICAgaWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5VmFsdWUo
ImF0dHJpYnV0ZU9sZFZhbHVlIiwgb3B0aW9uKSkKKyAgICAgICAgb3B0aW9ucy0+c2V0QXR0cmli
dXRlT2xkVmFsdWUob3B0aW9uKTsKKyAgICBpZiAob3B0aW9uc09iamVjdC5nZXRLZXlWYWx1ZSgi
Y2hhcmFjdGVyRGF0YU9sZFZhbHVlIiwgb3B0aW9uKSkKKyAgICAgICAgb3B0aW9ucy0+c2V0Q2hh
cmFjdGVyRGF0YU9sZFZhbHVlKG9wdGlvbik7CisKKyAgICBpbXAtPm9ic2VydmUodGFyZ2V0LCBv
cHRpb25zLmdldCgpKTsKKyAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9PQlNF
UlZFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFjay5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MDcz
OWM4OGFkNzhiMTMxNTk5MmQ4ZjY2NmQ5MGIyNDBhZTdlYWQ5Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaApAQCAtMCwwICsxLDU4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBNdXRhdGlvbkNhbGxiYWNrX2gKKyNkZWZpbmUgTXV0YXRpb25DYWxsYmFja19oCisKKyNp
ZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE11dGF0aW9uUmVjb3JkOworY2xhc3MgV2ViS2l0
TXV0YXRpb25PYnNlcnZlcjsKKwordHlwZWRlZiBWZWN0b3I8UmVmUHRyPE11dGF0aW9uUmVjb3Jk
PiA+IE11dGF0aW9uUmVjb3JkQXJyYXk7CisKK2NsYXNzIE11dGF0aW9uQ2FsbGJhY2sgOiBwdWJs
aWMgUmVmQ291bnRlZDxNdXRhdGlvbkNhbGxiYWNrPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+
TXV0YXRpb25DYWxsYmFjaygpIHsgfQorCisgICAgdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KE11
dGF0aW9uUmVjb3JkQXJyYXkqLCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyKikgPSAwOworfTsKKwor
fQorCisjZW5kaWYgLy8gRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2VuZGlmIC8vIE11
dGF0aW9uQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9u
Q2FsbGJhY2suaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjE2MzgxNzE0YzgwOWVhN2NhNDc4NGM2YjNiMDMxMWI4OTc5ZjgxNzUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFjay5pZGwKQEAg
LTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25k
aXRpb25hbD1NVVRBVElPTl9PQlNFUlZFUlMsCisgICAgICAgIENhbGxiYWNrCisgICAgXSBNdXRh
dGlvbkNhbGxiYWNrIHsKKyAgICAgICAgW0N1c3RvbV0gYm9vbGVhbiBoYW5kbGVFdmVudChpbiBN
dXRhdGlvblJlY29yZEFycmF5IG11dGF0aW9ucywgaW4gV2ViS2l0TXV0YXRpb25PYnNlcnZlciBv
YnNlcnZlcik7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRh
dGlvbk9ic2VydmVyT3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2
ZXJPcHRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2ZlNWQxY2QyODRiZDFmNGI4NDM2N2E5ZTZkNWE3MTZm
ZmViYzNkZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9i
c2VydmVyT3B0aW9ucy5oCkBAIC0wLDAgKzEsOTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE11dGF0aW9uT2JzZXJ2ZXJP
cHRpb25zX2gKKyNkZWZpbmUgTXV0YXRpb25PYnNlcnZlck9wdGlvbnNfaAorCisjaWYgRU5BQkxF
KE1VVEFUSU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBN
dXRhdGlvbk9ic2VydmVyT3B0aW9ucyA6IHB1YmxpYyBSZWZDb3VudGVkPE11dGF0aW9uT2JzZXJ2
ZXJPcHRpb25zPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TXV0YXRpb25PYnNl
cnZlck9wdGlvbnM+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKTsKKyAgICB9CisKKyAgICBib29sIGNoaWxkTGlzdCgp
IGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRMaXN0OyB9CisgICAgdm9pZCBzZXRDaGlsZExpc3QoYm9v
bCB2YWx1ZSkgeyBtX2NoaWxkTGlzdCA9IHZhbHVlOyB9CisKKyAgICBib29sIGF0dHJpYnV0ZXMo
KSBjb25zdCB7IHJldHVybiBtX2F0dHJpYnV0ZXM7IH0KKyAgICB2b2lkIHNldEF0dHJpYnV0ZXMo
Ym9vbCB2YWx1ZSkgeyBtX2F0dHJpYnV0ZXMgPSB2YWx1ZTsgfQorCisgICAgYm9vbCBjaGFyYWN0
ZXJEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9jaGFyYWN0ZXJEYXRhOyB9CisgICAgdm9pZCBzZXRD
aGFyYWN0ZXJEYXRhKGJvb2wgdmFsdWUpIHsgbV9jaGFyYWN0ZXJEYXRhID0gdmFsdWU7IH0KKwor
ICAgIGJvb2wgc3VidHJlZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3VidHJlZTsgfQorICAgIHZvaWQg
c2V0U3VidHJlZShib29sIHZhbHVlKSB7IG1fc3VidHJlZSA9IHZhbHVlOyB9CisKKyAgICBib29s
IGF0dHJpYnV0ZU9sZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVPbGRWYWx1ZTsg
fQorICAgIHZvaWQgc2V0QXR0cmlidXRlT2xkVmFsdWUoYm9vbCB2YWx1ZSkgeyBtX2F0dHJpYnV0
ZU9sZFZhbHVlID0gdmFsdWU7IH0KKworICAgIGJvb2wgY2hhcmFjdGVyRGF0YU9sZFZhbHVlKCkg
Y29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVPbGRWYWx1ZTsgfQorICAgIHZvaWQgc2V0Q2hhcmFj
dGVyRGF0YU9sZFZhbHVlKGJvb2wgdmFsdWUpIHsgbV9jaGFyYWN0ZXJEYXRhT2xkVmFsdWUgPSB2
YWx1ZTsgfQorCisgICAgLy8gRklYTUU6IEZpZ3VyZSBvdXQgaG93IHRvIG1vZGVsIHRoaXMgYmFz
ZWQgb24gdGhlIElETC4KKyAgICAvLyBET01TdHJpbmdbXSBhdHRyaWJ1dGVGaWx0ZXI7CisKK3By
aXZhdGU6CisgICAgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMoKQorICAgICAgICA6IG1fY2hpbGRM
aXN0KGZhbHNlKQorICAgICAgICAsIG1fYXR0cmlidXRlcyhmYWxzZSkKKyAgICAgICAgLCBtX2No
YXJhY3RlckRhdGEoZmFsc2UpCisgICAgICAgICwgbV9zdWJ0cmVlKGZhbHNlKQorICAgICAgICAs
IG1fYXR0cmlidXRlT2xkVmFsdWUoZmFsc2UpCisgICAgICAgICwgbV9jaGFyYWN0ZXJEYXRhT2xk
VmFsdWUoZmFsc2UpCisgICAgeworICAgIH0KKworICAgIGJvb2wgbV9jaGlsZExpc3Q7CisgICAg
Ym9vbCBtX2F0dHJpYnV0ZXM7CisgICAgYm9vbCBtX2NoYXJhY3RlckRhdGE7CisgICAgYm9vbCBt
X3N1YnRyZWU7CisgICAgYm9vbCBtX2F0dHJpYnV0ZU9sZFZhbHVlOworICAgIGJvb2wgbV9jaGFy
YWN0ZXJEYXRhT2xkVmFsdWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjZW5kaWYgLy8gTXV0YXRpb25PYnNl
cnZlck9wdGlvbnNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0
aW9uT2JzZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2
ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjNhNjY1NGU2ODU0MDQ4YThmNmIyZGMxN2UzYWQ5MmQ0ZDJkZTY2
NzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25P
YnNlcnZlci5jcHAKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVO
QUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNpbmNsdWRlICJXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyLmgiCisKKyNpbmNsdWRlICJNdXRhdGlvbkNhbGxiYWNrLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworUGFzc1JlZlB0cjxXZWJLaXRNdXRhdGlvbk9ic2VydmVyPiBXZWJLaXRNdXRhdGlv
bk9ic2VydmVyOjpjcmVhdGUoUGFzc1JlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPiBjYWxsYmFjaykK
K3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoY2FsbGJh
Y2spKTsKK30KKworV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6V2ViS2l0TXV0YXRpb25PYnNlcnZl
cihQYXNzUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQorICAgIDogbV9jYWxsYmFj
ayhjYWxsYmFjaykKK3sKK30KKworV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6fldlYktpdE11dGF0
aW9uT2JzZXJ2ZXIoKQoreworfQorCit2b2lkIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6Om9ic2Vy
dmUoTm9kZSosIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKikKK3sKKyAgICAvLyBGSVhNRTogaW1w
bGVtZW50Cit9CisKK3ZvaWQgV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6ZGlzY29ubmVjdCgpCit7
CisgICAgLy8gRklYTUU6IGltcGxlbWVudAorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDg3OTQ0NzU2YjJmYzI2ZDE0
NGJhZmEwNDNhYzdlODJkNTAwYjBkYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlcl9oCisjZGVmaW5lIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJfaAor
CisjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTXV0YXRpb25DYWxsYmFjazsKK2Ns
YXNzIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOworY2xhc3MgTm9kZTsKKworY2xhc3MgV2ViS2l0
TXV0YXRpb25PYnNlcnZlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyPiBjcmVhdGUoUGFzc1JlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPik7CisKKyAgICB+V2ViS2l0
TXV0YXRpb25PYnNlcnZlcigpOworCisgICAgdm9pZCBvYnNlcnZlKE5vZGUqLCBNdXRhdGlvbk9i
c2VydmVyT3B0aW9ucyopOworICAgIHZvaWQgZGlzY29ubmVjdCgpOworCitwcml2YXRlOgorICAg
IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoUGFzc1JlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPik7CisK
KyAgICBSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4gbV9jYWxsYmFjazsKK307CisKK30KKworI2Vu
ZGlmIC8vIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNlbmRpZiAvLyBXZWJLaXRNdXRh
dGlvbk9ic2VydmVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRh
dGlvbk9ic2VydmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kYTZlOGM3ZWVjMDBhMGIwMDE1MTlmMWMzMzQ1NjI4NTg3MzY1
NmE3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9u
T2JzZXJ2ZXIuaWRsCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgY29yZSB7CisgICAgaW50ZXJmYWNl
IFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TVVUQVRJT05fT0JTRVJWRVJTLAorICAgICAgICBDYW5C
ZUNvbnN0cnVjdGVkLAorICAgICAgICBDdXN0b21Db25zdHJ1Y3RvcgorICAgIF0gV2ViS2l0TXV0
YXRpb25PYnNlcnZlciB7CisgICAgICAgIFtDdXN0b21dIHZvaWQgb2JzZXJ2ZShpbiBOb2RlIHRh
cmdldCwgaW4gTXV0YXRpb25PYnNlcnZlck9wdGlvbnMgb3B0aW9ucyk7CisgICAgICAgIHZvaWQg
ZGlzY29ubmVjdCgpOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXgg
YjhkYmJjN2FjMjcwMGE3Zjk1Yjk0NTM1MmExOTBjZTI4N2QyYmY5Zi4uOGI1MDlhOGI1ZDVlNmUx
Y2UxNmE4MTkxN2YxYzAzOTVmMGY3YTEzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApA
QCAtODA5LDYgKzgwOSw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgW0VuYWJsZWRBdFJ1bnRpbWU9UXVvdGFdIFN0b3JhZ2VJbmZvIHdlYmtpdFN0b3JhZ2VJ
bmZvOwogI2VuZGlmCiAKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1NVVRBVElPTl9P
QlNFUlZFUlNdIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3RvciBXZWJLaXRNdXRhdGlv
bk9ic2VydmVyOworCiAjZW5kaWYgLy8gZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKQogCiAj
aWYgZGVmaW5lZChWOF9CSU5ESU5HKSAmJiBWOF9CSU5ESU5HCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCmluZGV4IDRjYTA2ZTJmNDI0NjYzMmY4NjFjODcwZTQyMDM1YzM4ODBiMGU5YjguLmQxOWJm
ZmM5YTAxZTdmMzc0YTgzMjdiYjQyMGMyNDgzZjRkN2Y0ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMTAtMTAgIEFkYW0gS2xlaW4gIDxhZGFta0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgc3R1YiBpbXBs
ZW1lbnRhdGlvbiBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk0OQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmVhdHVyZXMuZ3lwaTogQWRkZWQgJ2VuYWJs
ZV9tdXRhdGlvbl9vYnNlcnZlcnMnIHZhcmlhYmxlLgorCiAyMDExLTEwLTEwICBEb21pbmljIE1h
enpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgogCiAgICAgICAgIFtDaHJvbWl1bV0gR2V0IHJp
ZCBvZiBXZWJBY2Nlc3NpYmlsaXR5Q2FjaGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL2ZlYXR1cmVzLmd5cGkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5
cGkKaW5kZXggYjY1OGQ4M2Y4NmQ3NmViZjJlNzQwYmU5ODRlZDlmYWFkOGFmNTA4OC4uMjVhYjk0
MWQwZWFkOWI3ZTliMTc1ZjUyY2YwZDYxNTk0MDIzOTM1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
ZmVhdHVyZXMuZ3lwaQpAQCAtNjgsNyArNjgsNyBAQAogICAgICAgJ0VOQUJMRV9NRURJQV9TVFJF
QU09MScsCiAgICAgICAnRU5BQkxFX01FVEVSX1RBRz0xJywKICAgICAgICdFTkFCTEVfTUhUTUw9
MScsCi0gICAgICAnRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUz0wJywKKyAgICAgICdFTkFCTEVf
TVVUQVRJT05fT0JTRVJWRVJTPTwoZW5hYmxlX211dGF0aW9uX29ic2VydmVycyknLAogICAgICAg
J0VOQUJMRV9OT1RJRklDQVRJT05TPTEnLAogICAgICAgJ0VOQUJMRV9PUklFTlRBVElPTl9FVkVO
VFM9MCcsCiAgICAgICAnRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEk9MScsCkBAIC0xMTUsNiAr
MTE1LDcgQEAKICAgICAgICd1c2Vfc2tpYSUnOiAwLAogICAgICAgJ2VuYWJsZV90b3VjaF9pY29u
X2xvYWRpbmclJyA6IDAsCiAgICAgICAnZW5hYmxlX2NzczNfZmxleGJveCUnOiAwLAorICAgICAg
J2VuYWJsZV9tdXRhdGlvbl9vYnNlcnZlcnMlJzogMCwKICAgICB9LAogICAgICd1c2VfYWNjZWxl
cmF0ZWRfY29tcG9zaXRpbmclJzogJzwodXNlX2FjY2VsZXJhdGVkX2NvbXBvc2l0aW5nKScsCiAg
ICAgJ3VzZV90aHJlYWRlZF9jb21wb3NpdGluZyUnOiAnPCh1c2VfdGhyZWFkZWRfY29tcG9zaXRp
bmcpJywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110407</attachid>
            <date>2011-10-10 14:49:31 -0700</date>
            <delta_ts>2011-10-10 15:16:54 -0700</delta_ts>
            <desc>Simplify JSWebKitMutationObserverCustom.cpp</desc>
            <filename>bug-68949-20111010144929.patch</filename>
            <type>text/plain</type>
            <size>80305</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwNzEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNzNiZjE1NThlZjU0ZGFkZDYwYmJk
MjljNWM2NTcwMjdlZjMxNmYyLi5kZDFhODg5MTBkY2UwMzFjODgyZTJlMjllZjI1OTE1YWY0MDRh
NzQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMTAtMTAgIEFkYW0gS2xlaW4gIDxhZGFt
a0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgc3R1YiBp
bXBsZW1lbnRhdGlvbiBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk0OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiYXNpYyB0ZXN0cyBhbmQgc2tpcCB0
aGVtIGluIGFsbCBwb3J0cyBmb3Igbm93LgorCisgICAgICAgICogZmFzdC9tdXRhdGlvbi9tdXRh
dGlvbi1vYnNlcnZlci1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3IuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211dGF0aW9uL29ic2VydmUtZXhjZXB0aW9ucy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMS0xMC0xMCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxk
bWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogYW5ub3RhdGUgRE9NQWdl
bnQsIERlYnVnZ2VyKFByZXNlbnRhdGlvbilNb2RlbCB3aXRoIHR5cGVzLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25zdHJ1Y3Rvci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL211dGF0aW9uLW9ic2VydmVy
LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYmViM2U4NmU3MGUyNDg1YTc3
MjAxODA3NzY0Mjg1OTE3OTI3NDlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNCBAQAorVGVzdCB0aGUgY29uc3RydWN0b3Igb2YgV2ViS2l0TXV0YXRpb25PYnNl
cnZlcgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB3aW5kb3cuV2ViS2l0
TXV0YXRpb25PYnNlcnZlciBpcyBub24tbnVsbC4KK1BBU1MgdHlwZW9mIFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXIucHJvdG90eXBlLm9ic2VydmUgaXMgImZ1bmN0aW9uIgorUEFTUyB0eXBlb2YgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5wcm90b3R5cGUuZGlzY29ubmVjdCBpcyAiZnVuY3Rpb24iCitQ
QVNTIHR5cGVvZiBvYnNlcnZlci5vYnNlcnZlIGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIG9i
c2VydmVyLmRpc2Nvbm5lY3QgaXMgImZ1bmN0aW9uIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
bXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3IuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xOTY2YTYzNWUwYjIzZjAzMGNlNTc5MTg2OWFkYmYxMzdiOTFhNzE0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25z
dHJ1Y3Rvci5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHRpdGxlPjwvdGl0bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPWRlc2NyaXB0aW9uPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBzaG91bGRCZU5v
bk51bGwoJ3dpbmRvdy5XZWJLaXRNdXRhdGlvbk9ic2VydmVyJyk7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCd0eXBlb2YgV2ViS2l0TXV0YXRpb25PYnNlcnZlci5wcm90b3R5cGUub2JzZXJ2
ZScsICdmdW5jdGlvbicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlLmRpc2Nvbm5lY3QnLCAnZnVuY3Rpb24nKTsKKyAg
ICB3aW5kb3cub2JzZXJ2ZXIgPSBuZXcgV2ViS2l0TXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbiht
dXRhdGlvbnMpIHsgfSk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2Ygb2JzZXJ2
ZXIub2JzZXJ2ZScsICdmdW5jdGlvbicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndHlw
ZW9mIG9ic2VydmVyLmRpc2Nvbm5lY3QnLCAnZnVuY3Rpb24nKTsKK30KKworZGVzY3JpcHRpb24o
J1Rlc3QgdGhlIGNvbnN0cnVjdG9yIG9mIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXInKTsKKworaWYg
KCF3aW5kb3cuV2ViS2l0TXV0YXRpb25PYnNlcnZlcikKKyAgICB0ZXN0RmFpbGVkKCdUaGlzIHRl
c3QgcmVxdWlyZXMgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUyknKTsKK2Vsc2UKKyAgICBydW5U
ZXN0KCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2Jz
ZXJ2ZS1leGNlcHRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24v
b2JzZXJ2ZS1leGNlcHRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZWNkNDAxMjFmOTMw
YThmNWE1OTk1NGM3NDdmOTMwOGIyMzQ4N2VkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTUgQEAKK1Rlc3QgdGhhdCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLm9ic2VydmUgdGhyb3dz
IGV4Y2VwdGlvbnMgYXBwcm9wcmlhdGVseQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBvYnNlcnZlci5vYnNlcnZlKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90
IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG9ic2VydmVyLm9ic2VydmUobnVsbCkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG9ic2VydmVyLm9i
c2VydmUodW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFy
Z3VtZW50cy4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5KSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1Mgb2JzZXJ2ZXIub2Jz
ZXJ2ZShkb2N1bWVudC5ib2R5LCBudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBPcHRp
b25zIG11c3QgYmUgYW4gb2JqZWN0LgorUEFTUyBvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJv
ZHksIHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogT3B0aW9ucyBtdXN0IGJl
IGFuIG9iamVjdC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2VydmUtZXhj
ZXB0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlv
bnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43ZmVmM2NmZTkwYmY1NDg3YWFlMmUxYTBmNmU0MmViMWRkMzMx
ZGM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZl
LWV4Y2VwdGlvbnMuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzx0aXRsZT48L3RpdGxl
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD1kZXNjcmlwdGlvbj48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgd2luZG93
Lm9ic2VydmVyID0gbmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24obXV0YXRpb25z
KSB7IH0pOworICAgIHNob3VsZFRocm93KCdvYnNlcnZlci5vYnNlcnZlKCknKTsKKyAgICBzaG91
bGRUaHJvdygnb2JzZXJ2ZXIub2JzZXJ2ZShudWxsKScpOworICAgIHNob3VsZFRocm93KCdvYnNl
cnZlci5vYnNlcnZlKHVuZGVmaW5lZCknKTsKKyAgICBzaG91bGRUaHJvdygnb2JzZXJ2ZXIub2Jz
ZXJ2ZShkb2N1bWVudC5ib2R5KScpOworICAgIHNob3VsZFRocm93KCdvYnNlcnZlci5vYnNlcnZl
KGRvY3VtZW50LmJvZHksIG51bGwpJyk7CisgICAgc2hvdWxkVGhyb3coJ29ic2VydmVyLm9ic2Vy
dmUoZG9jdW1lbnQuYm9keSwgdW5kZWZpbmVkKScpOworfQorCitkZXNjcmlwdGlvbignVGVzdCB0
aGF0IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSB0aHJvd3MgZXhjZXB0aW9ucyBhcHBy
b3ByaWF0ZWx5Jyk7CisKK2lmICghd2luZG93LldlYktpdE11dGF0aW9uT2JzZXJ2ZXIpCisgICAg
dGVzdEZhaWxlZCgnVGhpcyB0ZXN0IHJlcXVpcmVzIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMp
Jyk7CitlbHNlCisgICAgcnVuVGVzdCgpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggNDU2OWQzMGQ4N2Jh
MTdjMmZmYzk3ZTZiNGI4YzRhNTdjMGMwYzA4Yy4uMGE5OTg2YWZlMjdmYjA5OTI1NWVmNzI3ZmRk
YzJkZTIxYWZlODgyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMzI2Miw2ICszMjYyLDkgQEAgQlVHV0s1NzMxMSBT
S0lQIDogZmFzdC9leGNsdXNpb25zID0gUEFTUwogLy8gQ1NTIEZpbHRlcnMgc3VwcG9ydCBub3Qg
eWV0IGVuYWJsZWQKIEJVR1dLNjg0NjkgU0tJUCA6IGNzczMvZmlsdGVycyA9IFBBU1MKIAorLy8g
TXV0YXRpb25PYnNlcnZlcnMgbm90IHlldCBlbmFibGVkLgorQlVHV0s2ODcyOSBTS0lQIDogZmFz
dC9tdXRhdGlvbiA9IFBBU1MKKwogQlVHQ1I4NTc1NSA6IGZhc3QvanMvZXhjZXB0aW9uLXByb3Bl
cnRpZXMuaHRtbCA9IFRFWFQKIAogQlVHV0s2MjQzMCBMSU5VWCBXSU4gOiBmYXN0L2RvbS9IVE1M
UHJvZ3Jlc3NFbGVtZW50L2luZGV0ZXJtaW5hdGUtcHJvZ3Jlc3MtMDAxLmh0bWwgPSBGQUlMCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IDIwY2M2NzJmZWU1ZGY5ZjBiNzgxZTc1MmMyYTk4
MzA3MWQ5NWZmZGUuLmM0Y2IwZDRiNzBkMWU4Y2M5MjY5ZDE5MzliMTVjNzA4Zjg0YjUyYTAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC00NzAsNiArNDcwLDkgQEAgd2ViYXVkaW8KICMg
Q1NTIEZpbHRlcnMgaXMgZGlzYWJsZWQKIGNzczMvZmlsdGVycwogCisjIE11dGF0aW9uT2JzZXJ2
ZXJzIGFyZSBuZXQgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNjg3MjkKK2Zhc3Qv
bXV0YXRpb24KKwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBURVNUUyBGQUlMSU5HCiAjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
U2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IDZkNTI2Yjgy
ZjgyZjZhYjkzM2ExODU5MDBkMzY0NTk5ZmU0ZGZjNzUuLmFmZWM5NzNlZmM4NjU5ZWY4MGVlYTAx
NzhhODY5YTA4YTM3NWMxMmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9T
a2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC00MDcsNiAr
NDA3LDkgQEAgY29tcG9zaXRpbmcvcnRsL3J0bC1pZnJhbWUtcmVsYXRpdmUuaHRtbAogIyBGb3Ig
bm93LCBXZWIgQXVkaW8gQVBJIGlzIGRpc2FibGVkCiB3ZWJhdWRpby8KIAorIyBNdXRhdGlvbk9i
c2VydmVycyBhcmUgbmV0IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzY4NzI5Citm
YXN0L211dGF0aW9uCisKICMgVGVzdHMgZm9yIFdlYlZUVCBwYXJzZXIgZm9yIDx0cmFjaz4uICBG
ZWF0dXJlIGlzIG5vdCB5ZXQgZnVuY3Rpb25hbC4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQzNjY4CiBtZWRpYS90cmFjay8KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
CmluZGV4IGUzOGE0NjIzNTNlZmEzZjliNjRhNjBjNjJkMWI1MjI0NTNlMmNmMTUuLjcxNDZhN2E0
MWIwNDUzOGM1M2EwNGJiZjA1N2Q3NjJlOGM0OTRiM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZApAQCAtMTU4LDYgKzE1OCw5IEBAIGZhc3QvcmVnaW9ucwogIyBDU1MgRXhjbHVzaW9ucyBzdXBw
b3J0IG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81NzMxMQogZmFzdC9leGNs
dXNpb25zCiAKKyMgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykgaXMgbm90IHlldCBlbmFibGVk
LiBodHRwOi8vd2Via2l0Lm9yZy9iLzY4NzI5CitmYXN0L211dGF0aW9uCisKICMgVVNFKFY4KQog
CiAjIHY4IGkxOG4gZXh0ZW5zaW9uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCAzYjA0
Zjk0ZjI2NzM3ODNhNzdiNTBhM2U4MGZkNzlhZDUwNGIwMmI0Li4wMjlhNGI0ZmE0ZTY3NDEyNzM3
YjFkZmIxMzIzYTIwNzc5Yzg3YWNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTQw
MCw2ICsxNDAwLDkgQEAgY3NzMy9zZWxlY3RvcnMzCiAjIEZvciBub3csIFdlYiBBdWRpbyBBUEkg
aXMgZGlzYWJsZWQKIHdlYmF1ZGlvLwogCisjIE11dGF0aW9uT2JzZXJ2ZXJzIGFyZSBuZXQgeWV0
IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNjg3MjkKK2Zhc3QvbXV0YXRpb24KKwogIyBU
ZXN0cyBmb3IgV2ViVlRUIHBhcnNlciBmb3IgPHRyYWNrPi4gIEZlYXR1cmUgaXMgbm90IHlldCBm
dW5jdGlvbmFsLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM2
NjgKIG1lZGlhL3RyYWNrLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0OTAxOGZjNzQyYmUwY2I1
NTVmNTc1MTcyOTM2Yjg0MDI3OWQ1NjNkLi4zNTY0NDZkNDJlZDljODUxZjNiYjE2YTM2ZGQ1MTgw
MWIyYTNkZDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTYzLDYgKzE2Myw3IEBAIFNFVChX
ZWJDb3JlX0lETF9GSUxFUwogICAgIGRvbS9NZXNzYWdlRXZlbnQuaWRsCiAgICAgZG9tL01lc3Nh
Z2VQb3J0LmlkbAogICAgIGRvbS9Nb3VzZUV2ZW50LmlkbAorICAgIGRvbS9NdXRhdGlvbkNhbGxi
YWNrLmlkbAogICAgIGRvbS9NdXRhdGlvbkV2ZW50LmlkbAogICAgIGRvbS9NdXRhdGlvblJlY29y
ZC5pZGwKICAgICBkb20vTmFtZWROb2RlTWFwLmlkbApAQCAtMTg2LDYgKzE4Nyw3IEBAIFNFVChX
ZWJDb3JlX0lETF9GSUxFUwogICAgIGRvbS9UcmVlV2Fsa2VyLmlkbAogICAgIGRvbS9VSUV2ZW50
LmlkbAogICAgIGRvbS9XZWJLaXRBbmltYXRpb25FdmVudC5pZGwKKyAgICBkb20vV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5pZGwKICAgICBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmlkbAogICAg
IGRvbS9XaGVlbEV2ZW50LmlkbAogCkBAIC02MDQsNiArNjA2LDcgQEAgU0VUKFdlYkNvcmVfU09V
UkNFUwogICAgIGRvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5jcHAKICAgICBkb20vVmll
d3BvcnRBcmd1bWVudHMuY3BwCiAgICAgZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmNwcAorICAg
IGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcAogICAgIGRvbS9XZWJLaXRUcmFuc2l0aW9u
RXZlbnQuY3BwCiAgICAgZG9tL1doZWVsRXZlbnQuY3BwCiAgICAgZG9tL1dpbmRvd0V2ZW50Q29u
dGV4dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3YTZhZDFjMTM1OTJiZDQ0ODQ3NTk2MjQ4MzdmMGMwYzY1
MzE2MTNmLi5mMzEzZDRkYjE4MzJlNWIyNTNiMjI1YmUwYzJjNGJkNDVkYjI4ZDRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNzkgQEAKKzIwMTEtMTAtMTAgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgc3R1YiBpbXBsZW1l
bnRhdGlvbiBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Njg3MjkgZm9yIHRoZSBtZXRhYnVnLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
YWRkcyBhIHN0dWIgV2ViS2l0TXV0YXRpb25PYnNlcnZlciBhbmQgaXRzIHN1cHBvcnRpbmcgY2xh
c3NlcworICAgICAgICBNdXRhdGlvbkNhbGxiYWNrIGFuZCBNdXRhdGlvbk9ic2VydmVyT3B0aW9u
cy4KKyAgICAgICAgTm8gaW1wbGVtZW50YXRpb24gaXMgcHJvdmlkZWQgZm9yIHRoZSBhbGwtaW1w
b3J0YW50IG9ic2VydmUoKSBhbmQKKyAgICAgICAgZGlzY29ubmVjdCgpIG1ldGhvZHMuCisKKyAg
ICAgICAgTm90ZSB0aGF0IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIgaXMgdmVuZG9yLXByZWZpeGVk
IHNpbmNlIGl0IGhhcyBhCisgICAgICAgIGNvbnN0cnVjdG9yIGV4cG9zZWQgb24gRE9NV2luZG93
LiAgTm9uZSBvZiB0aGUgcmVzdCBvZiB0aGUgQVBJIG5lZWRzCisgICAgICAgIHByZWZpeGluZywg
YXMgaXQncyBvbmx5IGF2YWlsYWJsZSB2aWEgYSBjYWxsIHRocm91Z2ggYSBNdXRhdGlvbk9ic2Vy
dmVyCisgICAgICAgIGNhbGxiYWNrIChjcmVhdGVkIGJ5IGluc3RhbnRpYXRpbmcgV2ViS2l0TXV0
YXRpb25PYnNlcnZlcikuCisKKyAgICAgICAgR2l2ZW4gdGhlIG51bWJlciBvZiBmaWxlcyByZXF1
aXJlZCB0byBnZXQganVzdCB0aGUgc3R1YiB1cCBhbmQgcnVubmluZywKKyAgICAgICAgaXQgc2Vl
bXMgcmVhc29uYWJsZSB0byBsZWF2ZSB0aGUgYWN0dWFsIGltcGxlbWVudGF0aW9uIGZvciB0aGUg
bmV4dAorICAgICAgICBwYXRjaCAob3IgbW9yZSBsaWtlbHkgc2V2ZXJhbCBwYXRjaGVzKS4gIEkn
dmUgbGVmdCBGSVhNRXMgaW4gYWxsIHRoZSBwbGFjZXMKKyAgICAgICAgdGhhdCdsbCBuZWVkIGF1
Z21lbnRhdGlvbi4KKworICAgICAgICBUZXN0czogZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNl
cnZlci1jb25zdHJ1Y3Rvci5odG1sCisgICAgICAgICAgICAgICBmYXN0L211dGF0aW9uL29ic2Vy
dmUtZXhjZXB0aW9ucy5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFVzZUpTQy5jbWFrZToKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICog
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5o
OgorICAgICAgICAoV2ViQ29yZTo6SlNEaWN0aW9uYXJ5Ojp0cnlHZXRQcm9wZXJ0eSk6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpKU011dGF0aW9uQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KToKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9y
Ojpjb25zdHJ1Y3RKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZlKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpWOE11dGF0aW9uQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpWOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OmNvbnN0cnVjdG9y
Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpv
YnNlcnZlQ2FsbGJhY2spOgorICAgICAgICAqIGRvbS9NdXRhdGlvbkNhbGxiYWNrLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25DYWxsYmFjazo6fk11dGF0aW9uQ2FsbGJhY2sp
OgorICAgICAgICAqIGRvbS9NdXRhdGlvbkNhbGxiYWNrLmlkbDogQWRkZWQuCisgICAgICAgICog
ZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNdXRh
dGlvbk9ic2VydmVyT3B0aW9uczo6Y2hpbGRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0
aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRDaGlsZExpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TXV0
YXRpb25PYnNlcnZlck9wdGlvbnM6OmF0dHJpYnV0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TXV0
YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldEF0dHJpYnV0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6
TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmNoYXJhY3RlckRhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldENoYXJhY3RlckRhdGEpOgorICAgICAgICAo
V2ViQ29yZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnN1YnRyZWUpOgorICAgICAgICAoV2Vi
Q29yZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldFN1YnRyZWUpOgorICAgICAgICAoV2Vi
Q29yZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmF0dHJpYnV0ZU9sZFZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRBdHRyaWJ1dGVPbGRWYWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6Y2hhcmFjdGVy
RGF0YU9sZFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25z
OjpzZXRDaGFyYWN0ZXJEYXRhT2xkVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25P
YnNlcnZlck9wdGlvbnM6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKToKKyAgICAgICAgKiBkb20v
V2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V2Vi
S2l0TXV0YXRpb25PYnNlcnZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11
dGF0aW9uT2JzZXJ2ZXI6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6fldlYktpdE11dGF0aW9uT2JzZXJ2ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZSk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpkaXNjb25uZWN0KToKKyAgICAgICAg
KiBkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oOiBBZGRlZC4KKyAgICAgICAgKiBkb20vV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93
LmlkbDoKKwogMjAxMS0xMC0xMCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgTWFrZSBzdGF0aWMgZnVuY3Rpb25zIGluIEhUTUxTZWxlY3RFbGVtZW50LmNwcCBt
ZW1iZXIgZnVuY3Rpb25zIG9mIEhUTUxTZWxlY3RFbGVtZW50IGNsYXNzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAKaW5kZXggNjk5YTlhMjc3MjZiOTQ3NDk2ODE3OTk0NDdhOGY0Yjc5NjEwYzFk
Ni4uZWY4YmQ2YjkwOTRkYWE4MDljM2UwMjZjNzI5MTgyODkyN2ZkYjhiYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcApAQCAtMjQ0LDYgKzI0NCw3IEBACiAjaW5jbHVkZSAiSlNNZXRhZGF0
YS5jcHAiCiAjaW5jbHVkZSAiSlNNZXRhZGF0YUNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU01v
dXNlRXZlbnQuY3BwIgorI2luY2x1ZGUgIkpTTXV0YXRpb25DYWxsYmFjay5jcHAiCiAjaW5jbHVk
ZSAiSlNNdXRhdGlvbkV2ZW50LmNwcCIKICNpbmNsdWRlICJKU011dGF0aW9uUmVjb3JkLmNwcCIK
ICNpbmNsdWRlICJKU05hbWVkTm9kZU1hcC5jcHAiCkBAIC00NjgsNiArNDY5LDcgQEAKICNpbmNs
dWRlICJKU1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0Q1NT
VHJhbnNmb3JtVmFsdWUuY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0Q1NTTWF0cml4LmNwcCIKKyNp
bmNsdWRlICJKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0
UG9pbnQuY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCIKICNpbmNs
dWRlICJKU1dlYlNvY2tldC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA1
ZWEwNGRlMTUwODFmYjFmZTRiNTBmZDk3Njg3NjBlZGRiNzEzYzdlLi44NmQ4MzNiMTA1OGMwMGIx
MTUwZWFiNmFhZjdhYzU2M2RiMTZhMzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
QEAgLTI5Nyw2ICsyOTcsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBNZXRhZGF0YSBcCiAgICAg
TWV0YWRhdGFDYWxsYmFjayBcCiAgICAgTW91c2VFdmVudCBcCisgICAgTXV0YXRpb25DYWxsYmFj
ayBcCiAgICAgTXV0YXRpb25FdmVudCBcCiAgICAgTXV0YXRpb25SZWNvcmQgXAogICAgIE5hbWVk
Tm9kZU1hcCBcCkBAIC01NTMsNiArNTU0LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgV2ViS2l0
Q1NTVHJhbnNmb3JtVmFsdWUgXAogICAgIFdlYktpdEZsYWdzIFwKICAgICBXZWJLaXRMb3NlQ29u
dGV4dCBcCisgICAgV2ViS2l0TXV0YXRpb25PYnNlcnZlciBcCiAgICAgV2ViS2l0UG9pbnQgXAog
ICAgIFdlYktpdFRyYW5zaXRpb25FdmVudCBcCiAgICAgV2ViU29ja2V0IFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDVhZWVmZjY1MTA4MTMyZjdhNDFmMGRlMTJkMTY4Yjg0MmMy
ZTlmOTcuLjE4OWNiYjllNjYxNjhhYjk0YWE2MDM4OWQ2ODgyZmIxYmRkZmJlZDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNzg0LDYgKzc4NCw3IEBAIHdlYmNvcmVfc291cmNl
cyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20u
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5oIFwK
KwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yQ3VzdG9tLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcCBcCkBAIC04MjUsNiAr
ODI2LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1dlYktpdENTU0tleWZyYW1lc1J1bGVDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0Q1NTTWF0cml4Q3VzdG9tLmNwcCBcCisJU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRQb2ludEN1c3RvbS5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViU29ja2V0Q3VzdG9tLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0QmFzZS5jcHAgXApAQCAtMTIy
OSw4ICsxMjMxLDEwIEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9t
L01vdXNlRXZlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmggXAorCVNvdXJjZS9X
ZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9NdXRh
dGlvbkV2ZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQuaCBcCisJ
U291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2RvbS9NdXRhdGlvblJlY29yZC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9NdXRh
dGlvblJlY29yZC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmNwcCBcCkBA
IC0xMzQyLDYgKzEzNDYsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3Jl
L2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0QW5p
bWF0aW9uRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0QW5pbWF0aW9uRXZl
bnQuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIFwK
KwlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9kb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
ZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxF
dmVudC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlIGIvU291
cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCmluZGV4IGUxNmUyZDlkY2E1ZDY1M2Q4ODIyZjU0N2Rl
ZDM1NTcxZjQxMGI2ZDUuLmNhMmU0NzIyZGViZjEzNjllZTJjMDI0OWMxNzAwODNjZDA1Nzg3MGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Vc2VKU0MuY21ha2UKQEAgLTk1LDYgKzk1LDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9T
T1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNNZXNzYWdlQ2hhbm5lbEN1c3RvbS5jcHAKICAgICBi
aW5kaW5ncy9qcy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU01l
c3NhZ2VQb3J0Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTTXV0YXRpb25DYWxsYmFja0N1
c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAKICAgICBi
aW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU05vZGVD
dXN0b20uY3BwCkBAIC0xMjIsNiArMTIzLDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VT
CiAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlmcmFtZVJ1bGVDdXN0b20uY3BwCiAgICAg
YmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ3VzdG9tLmNwcAogICAgIGJpbmRp
bmdzL2pzL0pTV2ViS2l0Q1NTTWF0cml4Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTV2Vi
S2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdFBv
aW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdFVwbG9hZEN1c3RvbS5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQppbmRleCAwZWQ3ZDY3YWE3N2RlZmRhMjYwNzNkNzg1MzA4ZDU5ZTcxZjUzNWYwLi4w
OTU5ZTEzZDlmMTU4NDc4N2FkYzE4MTc4MTgyNmVhNzQ4ODU1OTRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CkBAIC0xMTkzLDYgKzExOTMsNyBAQAogICAgICAgICAgICAgJ2RvbS9NZXNzYWdlRXZlbnQuaWRs
JywKICAgICAgICAgICAgICdkb20vTWVzc2FnZVBvcnQuaWRsJywKICAgICAgICAgICAgICdkb20v
TW91c2VFdmVudC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9NdXRhdGlvbkNhbGxiYWNrLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL011dGF0aW9uRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20v
TXV0YXRpb25SZWNvcmQuaWRsJywKICAgICAgICAgICAgICdkb20vTmFtZWROb2RlTWFwLmlkbCcs
CkBAIC0xMjE4LDYgKzEyMTksNyBAQAogICAgICAgICAgICAgJ2RvbS9UcmVlV2Fsa2VyLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL1VJRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vV2ViS2l0
QW5pbWF0aW9uRXZlbnQuaWRsJywKKyAgICAgICAgICAgICdkb20vV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5pZGwnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaWRsJywK
ICAgICAgICAgICAgICdkb20vV2hlZWxFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkv
QmxvYi5pZGwnLApAQCAtMTg5Niw2ICsxODk4LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pT
TWVzc2FnZVBvcnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU01lc3Nh
Z2VQb3J0Q3VzdG9tLmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTXV0YXRpb25DYWxs
YmFja0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTmFtZWROb2RlTWFw
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vZGVDdXN0b20uY3BwJywKQEAgLTE5
MzUsNiArMTkzOCw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlm
cmFtZVJ1bGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dlYktpdENT
U0tleWZyYW1lc1J1bGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dl
YktpdENTU01hdHJpeEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTV2Vi
S2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pz
L0pTV2ViS2l0UG9pbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dl
YlNvY2tldEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTV29ya2VyQ29u
dGV4dEJhc2UuY3BwJywKQEAgLTIyMDUsNiArMjIwOSw3IEBACiAgICAgICAgICAgICAnYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZVBvcnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5oJywKKyAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2Rlc0NvbGxlY3Rpb24uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVzQ29sbGVjdGlvbi5o
JywKQEAgLTIyMzMsNiArMjIzOCw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4VWludDhBcnJheUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFdlYktpdEFuaW1hdGlvbkN1c3RvbS5jcHAnLAorICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRQb2ludENvbnN0cnVjdG9y
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViU29ja2V0Q3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ29udGV4dEN1
c3RvbS5jcHAnLApAQCAtNTIyMiw4ICs1MjI4LDEwIEBACiAgICAgICAgICAgICAnZG9tL01lc3Nh
Z2VQb3J0Q2hhbm5lbC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9Nb3VzZUV2ZW50LmNwcCcsCiAg
ICAgICAgICAgICAnZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcCcsCisgICAgICAgICAgICAnZG9t
L011dGF0aW9uQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uRXZlbnQuY3Bw
JywKICAgICAgICAgICAgICdkb20vTXV0YXRpb25FdmVudC5oJywKKyAgICAgICAgICAgICdkb20v
TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uUmVj
b3JkLmNwcCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uUmVjb3JkLmgnLAogICAgICAgICAg
ICAgJ2RvbS9OYW1lTm9kZUxpc3QuY3BwJywKQEAgLTUzMjYsNiArNTMzNCw4IEBACiAgICAgICAg
ICAgICAnZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCcsCiAgICAgICAgICAgICAnZG9tL1dlYktp
dEFuaW1hdGlvbkV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1dlYktpdEFuaW1hdGlvbkV2
ZW50LmgnLAorICAgICAgICAgICAgJ2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCcsCisg
ICAgICAgICAgICAnZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCcsCiAgICAgICAgICAgICAn
ZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRU
cmFuc2l0aW9uRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL1doZWVsRXZlbnQuY3BwJywKQEAg
LTc0OTksNiArNzUwOSw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU01ldGFkYXRhQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnPChQUk9E
VUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vdXNlRXZlbnQuY3BwJywKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW91c2VFdmVu
dC5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTXV0YXRpb25DYWxsYmFjay5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvbkNhbGxiYWNrLmgnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvbkV2ZW50LmNw
cCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U011dGF0aW9uRXZlbnQuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU011dGF0aW9uUmVjb3JkLmNwcCcsCkBAIC04MDMyLDYgKzgwNDQsOCBA
QAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNX
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0TG9zZUNvbnRleHQuY3BwJywKICAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0TG9zZUNv
bnRleHQuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwJywKKyAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5o
JywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
V2ViS2l0UG9pbnQuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTV2ViS2l0UG9pbnQuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAnLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnBybwppbmRleCAwNjRkYzk4MTUwZjIxMGM0NjNkM2Y4MTEwYzQzNjkwN2FjM2MwYjYx
Li5mY2QwYTNhMWRlMzU2ZTdhODQ2OTkxODFlYzcyNzBhNDgzMDk4OTYzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBy
bwpAQCAtMTkyLDYgKzE5Miw3IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TWVzc2FnZUNoYW5uZWxDb25zdHJ1Y3Rvci5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0
b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20v
VjhNZXNzYWdlRXZlbnRDdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20v
VjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TmFtZWROb2Rlc0NvbGxlY3Rpb24uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Tm9kZUN1c3RvbS5jcHAgXApAQCAtMjA2LDYgKzIwNyw3IEBAIHY4IHsKICAgICAgICAgYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhTdHlsZVNoZWV0TGlzdEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhXZWJLaXRBbmltYXRpb25DdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgXAogICAgICAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRQb2ludENvbnN0cnVjdG9yLmNwcCBcCiAgICAgICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwIFwKICAgICAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ3VzdG9tLmNwcCBcCkBAIC0zMTcsNiArMzE5LDcg
QEAgdjggewogICAgICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAgXAog
ICAgICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJp
bmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uaCBcCisgICAgICAgIGJpbmRpbmdzL2pzL0pT
TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU05hbWVk
Tm9kZU1hcEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3Rv
bS5jcHAgIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcCBcCkBAIC0zNDMs
NiArMzQ2LDcgQEAgdjggewogICAgICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdENTU0tleWZyYW1l
UnVsZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdENTU0tleWZyYW1l
c1J1bGVDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRDU1NNYXRyaXhD
dXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVy
Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTV2ViS2l0UG9pbnRDdXN0b20uY3Bw
IFwKICAgICAgICAgYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAgXAogICAg
ICAgICBiaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0VXBsb2FkQ3VzdG9tLmNwcCBcCkBAIC01
NjgsNiArNTcyLDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5k
aWNhdG9yLmNwcCBcCiAgICAgZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCBcCiAgICAgZG9tL1dl
YktpdEFuaW1hdGlvbkV2ZW50LmNwcCBcCisgICAgZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIu
Y3BwIFwKICAgICBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBcCiAgICAgZG9tL1doZWVs
RXZlbnQuY3BwIFwKICAgICBkb20vV2luZG93RXZlbnRDb250ZXh0LmNwcCBcCkBAIC0xNTMyLDcg
KzE1MzcsOSBAQCBIRUFERVJTICs9IFwKICAgICBkb20vTWVzc2FnZVBvcnQuaCBcCiAgICAgZG9t
L01vdXNlRXZlbnQuaCBcCiAgICAgZG9tL01vdXNlUmVsYXRlZEV2ZW50LmggXAorICAgIGRvbS9N
dXRhdGlvbkNhbGxiYWNrLmggXAogICAgIGRvbS9NdXRhdGlvbkV2ZW50LmggXAorICAgIGRvbS9N
dXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIFwKICAgICBkb20vTXV0YXRpb25SZWNvcmQuaCBcCiAg
ICAgZG9tL05hbWVkTm9kZU1hcC5oIFwKICAgICBkb20vTmFtZU5vZGVMaXN0LmggXApAQCAtMTU4
Myw2ICsxNTkwLDcgQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9y
LmggXAogICAgIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5oIFwKICAgICBkb20vV2ViS2l0QW5pbWF0
aW9uRXZlbnQuaCBcCisgICAgZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCBcCiAgICAgZG9t
L1dlYktpdFRyYW5zaXRpb25FdmVudC5oIFwKICAgICBkb20vV2hlZWxFdmVudC5oIFwKICAgICBl
ZGl0aW5nL0FwcGVuZE5vZGVDb21tYW5kLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAyNGI4ZTZhZGI3ZTM4YWM4YWVhOGZkMDQ1YTkwZTdh
MmQyMjliMmNhLi4yMDU2Y2JjNDgxYzczOGNiY2U1MTlhYjFmNWU4NDllODM4NTI1MThmIDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTE1OTgs
NiArMTE1OTgsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU011dGF0aW9uQ2FsbGJhY2suY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmls
ZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTXV0YXRpb25DYWxsYmFjay5oIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3Vy
YXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTXV0YXRp
b25FdmVudC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtMjMwMjIsNiAr
MjMwNzgsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTV2ViS2l0UG9pbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTYz
NDMzLDYgKzYzNTQ1LDU4IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3Bw
IgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWd8V2lu
MzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29s
CisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFz
ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJ
PFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJE
ZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIi
CisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJ
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
YmluZGluZ3NcanNcSlNOYW1lZE5vZGVNYXBDdXN0b20uY3BwIgogCQkJCQk+CiAJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgpAQCAtNjQ5NzMsNiArNjUxMzcsNTggQEAKIAkJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxi
aW5kaW5nc1xqc1xKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwIgorCQkJCQk+CisJ
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19D
RkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJ
CQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFt
ZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNc
SlNXZWJLaXRQb2ludEN1c3RvbS5jcHAiCiAJCQkJCT4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggZDJhNDI0MTJmOTIzYmE2NjIwYjUwYmQ1NmU0ODkxYWZiODBhYzM4Yy4uMDRmNTRlZmVi
MTMyYzI2MTA5Mzc4ODMyYzZiNDg4MTMyY2Y2ZjFlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQ2MSw2ICs1NDYxLDE2IEBA
CiAJCUM2RjA4RkJEMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDhGQkExNDMwRkU4RjAw
Njg1ODQ5IC8qIE11dGF0aW9uUmVjb3JkLmggKi87IH07CiAJCUM2RjA4RkM5MTQzMTAwMEQwMDY4
NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA4RkM3MTQzMTAwMEQwMDY4NTg0OSAvKiBKU011dGF0aW9u
UmVjb3JkLmNwcCAqLzsgfTsKIAkJQzZGMDhGQ0ExNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRp
b25SZWNvcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEM2RjA4RkM4MTQzMTAwMEQwMDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmggKi87IH07CisJ
CUM2RjA5MDBBMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwMTE0MzI3QjYxMDA2
ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5oICovOyB9OworCQlDNkYwOTAwRTE0MzI3QjYxMDA2
ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwNTE0MzI3QjYxMDA2ODU4NDkgLyogV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5jcHAgKi87IH07CisJCUM2RjA5MDBGMTQzMjdCNjEwMDY4NTg0
OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwNjE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5oICovOyB9OworCQlDNkYwOTAxMTE0MzI3QjYxMDA2ODU4NDkgLyogTXV0
YXRpb25PYnNlcnZlck9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEM2RjA5MDA4MTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbk9ic2VydmVy
T3B0aW9ucy5oICovOyB9OworCQlDNkYwOTAyODE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlv
bkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEM2RjA5MDIwMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suY3BwICov
OyB9OworCQlDNkYwOTAyOTE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAyMTE0
MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmggKi87IH07CisJCUM2RjA5MDJD
MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkwMjQxNDMyN0Q0RjAw
Njg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgKi87IH07CisJCUM2RjA5MDJE
MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDI1MTQzMjdENEYwMDY4
NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCAqLzsgfTsKKwkJQzZGMDkxN0YxNDNB
MkJCOTAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTE3RTE0M0EyQkI5
MDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCAqLzsgfTsKKwkJ
QzZGMDkxODUxNDNBNkMzQjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTE4NDE0
M0E2QzNCMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCAqLzsgfTsKIAkJ
QzZGNDEwNDcxMzBDNkU4OTAwMzkzREU0IC8qIEVudHJ5QmFzZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkY0MTA0NjEzMEM2RTg5MDAzOTNERTQg
LyogRW50cnlCYXNlLmNwcCAqLzsgfTsKIAkJQ0EzQkY2N0MxMEQ5OUJBRTAwRTZDRTUzIC8qIFNj
cm9sbEFuaW1hdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENBM0JGNjdCMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5jcHAgKi87
IH07CiAJCUNBM0JGNjdFMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0EzQkY2N0QxMEQ5OUJB
RTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEyNzQ3LDYgKzEyNzU3LDE4IEBACiAJCUM2RjA4RkJC
MTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gTXV0YXRpb25SZWNvcmQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
NkYwOEZDNzE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlvblJlY29yZC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU011dGF0aW9uUmVjb3JkLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzZGMDhGQzgxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0
YXRpb25SZWNvcmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNdXRhdGlv
blJlY29yZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAwMTE0MzI3QjYx
MDA2ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBNdXRhdGlvbkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUM2RjA5MDAyMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBNdXRhdGlvbkNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQzZGMDkwMDUxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDA2
MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkwMDcxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAwODE0MzI3
QjYxMDA2ODU4NDkgLyogTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkwMjAxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25D
YWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU011dGF0
aW9uQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAyMTE0
MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTTXV0YXRpb25DYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDNkYwOTAyNDE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5
MDI1MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MTdFMTQzQTJCQjkwMDY4NTg0OSAvKiBK
U1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkxODQxNDNBNkMzQjAwNjg1ODQ5IC8qIEpTTXV0
YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDNkY0MTA0NjEzMEM2RTg5MDAzOTNERTQgLyogRW50cnlCYXNlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEVudHJ5QmFzZS5jcHA7IHBhdGggPSBmaWxl
YXBpL0VudHJ5QmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBM0JGNjdC
MTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxBbmltYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxBbmltYXRvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTgyMjAsNiArMTgyNDIsOCBAQAogCQkJCTQ5QzlG
NDhCMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2suaCAqLywKIAkJCQk0OUM5
RjQ4QzEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAgKi8sCiAJ
CQkJNDlDOUY0OEQxM0Q1N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFja0xpc3QuaCAq
LywKKwkJCQlDNkYwOTAyMDE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmNw
cCAqLywKKwkJCQlDNkYwOTAyMTE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNr
LmggKi8sCiAJCQkJQzZGMDhGQzcxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmQu
Y3BwICovLAogCQkJCUM2RjA4RkM4MTQzMTAwMEQwMDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3Jk
LmggKi8sCiAJCQkJQkNEOUMyQkMwQzE3QjY5RTAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwLmNw
cCAqLywKQEAgLTE4MjU0LDYgKzE4Mjc4LDggQEAKIAkJCQk3NTQxNUQ1NDEyOUFCMkQyMDAzQUQ2
NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdExpc3QuaCAqLywKIAkJCQk2NURGMzFFRjA5RDFDQzYw
MDAwQkUzMjUgLyogSlNUZXh0LmNwcCAqLywKIAkJCQk2NURGMzFGMDA5RDFDQzYwMDAwQkUzMjUg
LyogSlNUZXh0LmggKi8sCisJCQkJQzZGMDkwMjQxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5jcHAgKi8sCisJCQkJQzZGMDkwMjUxNDMyN0Q0RjAwNjg1ODQ5IC8q
IEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBDb3JlOwog
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE5NjAyLDYgKzE5NjI4LDcgQEAKIAkJCQk0
MTBCN0U3MTEwNDVGQUIwMDBEODIyNEYgLyogSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwICovLAog
CQkJCUUxQURFRDQ2MEU3NkI4REQwMDRBMUE1RSAvKiBKU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCAq
LywKIAkJCQk0MUY1ODRDNjEwNDY1MkNCMDA5Q0FBNjQgLyogSlNNZXNzYWdlUG9ydEN1c3RvbS5o
ICovLAorCQkJCUM2RjA5MTg0MTQzQTZDM0IwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2tD
dXN0b20uY3BwICovLAogCQkJCUJDRDlDMjVGMEMxN0FBNjcwMDVDOTBBMiAvKiBKU05hbWVkTm9k
ZU1hcEN1c3RvbS5jcHAgKi8sCiAJCQkJQTlDNkU2NDgwRDc0NjVEODAwNjQ0MkU5IC8qIEpTTmF2
aWdhdG9yQ3VzdG9tLmNwcCAqLywKIAkJCQlCQ0Q5QzI2MDBDMTdBQTY3MDA1QzkwQTIgLyogSlNO
b2RlQ3VzdG9tLmNwcCAqLywKQEAgLTE5NjM0LDYgKzE5NjYxLDcgQEAKIAkJCQlFMUFEMTRDNDEy
OTczNTQ5MDBBQ0E5ODkgLyogSlNXZWJLaXRDU1NLZXlmcmFtZVJ1bGVDdXN0b20uY3BwICovLAog
CQkJCUUxQUQxNEI0MTI5NzM0Q0EwMEFDQTk4OSAvKiBKU1dlYktpdENTU0tleWZyYW1lc1J1bGVD
dXN0b20uY3BwICovLAogCQkJCUJDMjc1QjdDMTFDNUQyMzUwMEM5MjA2QyAvKiBKU1dlYktpdENT
U01hdHJpeEN1c3RvbS5jcHAgKi8sCisJCQkJQzZGMDkxN0UxNDNBMkJCOTAwNjg1ODQ5IC8qIEpT
V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgKi8sCiAJCQkJQkMyNzVCNzgxMUM1RDFD
MzAwQzkyMDZDIC8qIEpTV2ViS2l0UG9pbnRDdXN0b20uY3BwICovLAogCQkJCTUxOEEzNEM2MTAy
NkM4QzkwMDFCNjg5NiAvKiBKU1dlYlNvY2tldEN1c3RvbS5jcHAgKi8sCiAJCQkJRTE4MjU4QUIw
RUYzQ0Q3MDAwOTMzMjQyIC8qIEpTV29ya2VyQ29udGV4dEN1c3RvbS5jcHAgKi8sCkBAIC0yMTA4
MSw5ICsyMTEwOSwxMiBAQAogCQkJCTE0MUI5NEU1MDlFQzQyMjMwMDBFOTQxMyAvKiBNb3VzZUV2
ZW50LmlkbCAqLywKIAkJCQk4NTAzMUIzMTBBNDRFRkM3MDBGOTkyRTAgLyogTW91c2VSZWxhdGVk
RXZlbnQuY3BwICovLAogCQkJCTg1MDMxQjMyMEE0NEVGQzcwMEY5OTJFMCAvKiBNb3VzZVJlbGF0
ZWRFdmVudC5oICovLAorCQkJCUM2RjA5MDAxMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNh
bGxiYWNrLmggKi8sCisJCQkJQzZGMDkwMDIxNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uQ2Fs
bGJhY2suaWRsICovLAogCQkJCTg1MDMxQjMzMEE0NEVGQzcwMEY5OTJFMCAvKiBNdXRhdGlvbkV2
ZW50LmNwcCAqLywKIAkJCQk4NTAzMUIzNDBBNDRFRkM3MDBGOTkyRTAgLyogTXV0YXRpb25FdmVu
dC5oICovLAogCQkJCTkzRUVDMUYzMDlDMjg3NzcwMEM1MTVEMSAvKiBNdXRhdGlvbkV2ZW50Lmlk
bCAqLywKKwkJCQlDNkYwOTAwODE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25PYnNlcnZlck9w
dGlvbnMuaCAqLywKIAkJCQlDNkYwOEZCOTE0MzBGRThGMDA2ODU4NDkgLyogTXV0YXRpb25SZWNv
cmQuY3BwICovLAogCQkJCUM2RjA4RkJBMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29y
ZC5oICovLAogCQkJCUM2RjA4RkJCMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5p
ZGwgKi8sCkBAIC0yMTIyMiw2ICsyMTI1Myw5IEBACiAJCQkJMzFDMEZGMUIwRTRDRUI2RTAwN0Q2
RkU1IC8qIFdlYktpdEFuaW1hdGlvbkV2ZW50LmNwcCAqLywKIAkJCQkzMUMwRkYxQzBFNENFQjZF
MDA3RDZGRTUgLyogV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCAqLywKIAkJCQkzMUMwRkYxRDBFNENF
QjZFMDA3RDZGRTUgLyogV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsICovLAorCQkJCUM2RjA5MDA1
MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCAqLywKKwkJCQlD
NkYwOTAwNjE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oICovLAor
CQkJCUM2RjA5MDA3MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmlk
bCAqLywKIAkJCQkzMUMwRkYxRTBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlvbkV2
ZW50LmNwcCAqLywKIAkJCQkzMUMwRkYxRjBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNp
dGlvbkV2ZW50LmggKi8sCiAJCQkJMzFDMEZGMjAwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdFRy
YW5zaXRpb25FdmVudC5pZGwgKi8sCkBAIC0yMzIxMiw2ICsyMzI0Niw3IEBACiAJCQkJODk4Nzg1
QjcxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5
ODc4NUI5MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhQ2FsbGJhY2suaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4NjYyOUQxMDlEQTJCNDgwMDk2MzNBNSAvKiBKU01vdXNlRXZlbnQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUM2RjA5MDI5MTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTY1REYzMUZDMDlEMUNDNjAwMDBCRTMyNSAvKiBK
U011dGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM2RjA4RkNBMTQzMTAwMEQwMDY4
NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Q5QzJDMTBD
MTdCNjlFMDA1QzkwQTIgLyogSlNOYW1lZE5vZGVNYXAuaCBpbiBIZWFkZXJzICovLApAQCAtMjM0
NTIsNiArMjM0ODcsNyBAQAogCQkJCTMxNjExRTVCMEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktp
dENTU1RyYW5zZm9ybVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4OTg3ODVCNTEyMkNBMkE3
MDAzQUFCREEgLyogSlNXZWJLaXRGbGFncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMUQ1QzEx
MkQ1MzM1NjAwODMyQkVDIC8qIEpTV2ViS2l0TG9zZUNvbnRleHQuaCBpbiBIZWFkZXJzICovLAor
CQkJCUM2RjA5MDJEMTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ5NEJENzlFMEY1NUM5NEMwMDc0NzgyOCAvKiBKU1dlYktp
dFBvaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUMwRkY0MDBFNENFRkFDMDA3RDZGRTUgLyog
SlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTVEQTVFMEZEMTAy
Qjk1MzgwMDA4OENGOSAvKiBKU1dlYlNvY2tldC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzU4NSw3
ICsyMzYyMSw5IEBACiAJCQkJODUwMzFCNDgwQTQ0RUZDNzAwRjk5MkUwIC8qIE1vdXNlUmVsYXRl
ZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURGQzA5OUU2NDkyMDA1NkU1ODEgLyog
TW92ZVNlbGVjdGlvbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIxQUQ0RTYzMTNBMTJB
MEIwMDg0NkIyNyAvKiBNdXRhYmxlVGV4dFRyYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlDNkYw
OTAwQTE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJODUwMzFCNEEwQTQ0RUZDNzAwRjk5MkUwIC8qIE11dGF0aW9uRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUM2RjA5MDExMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbk9ic2VydmVy
T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzZGMDhGQkQxNDMwRkU4RjAwNjg1ODQ5IC8q
IE11dGF0aW9uUmVjb3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODE4NzIyMzA5NzdEM0MwMDA1
ODI2RDkgLyogTmFtZWROb2RlTWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODE4NzIxRTA5NzdE
M0MwMDA1ODI2RDkgLyogTmFtZU5vZGVMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTI0NDUzLDYg
KzI0NDkxLDcgQEAKIAkJCQlCQzlBREQyMzBDQzQwMzI2MDAwOThDNEMgLyogV2ViS2l0Q1NTVHJh
bnNmb3JtVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5ODc4NTY2MTIyQ0EwNjQwMDNBQUJE
QSAvKiBXZWJLaXRGbGFncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMUQ1QkIxMkQ1MzJDNDAw
ODMyQkVDIC8qIFdlYktpdExvc2VDb250ZXh0LmggaW4gSGVhZGVycyAqLywKKwkJCQlDNkYwOTAw
RjE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDk0QkQ3OTUwRjU1QzhFRTAwNzQ3ODI4IC8qIFdlYktpdFBvaW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkzMUMwRkYyNTBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlv
bkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkNGMzMyRjBGMkI5QTI1MDA0QjY3OTUgLyog
V2ViTGF5ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjYyNDYsNiArMjYyODUsOCBAQAogCQkJCTg5
ODc4NUI2MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTg5ODc4NUI4MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhQ2FsbGJhY2suY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTg2NjI5RDIwOURBMkI0ODAwOTYzM0E1IC8qIEpTTW91c2VFdmVu
dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNkYwOTAyODE0MzI3RDRGMDA2ODU4NDkgLyogSlNN
dXRhdGlvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUM2RjA5MTg1MTQzQTZDM0Iw
MDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNjVERjMxRkIwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTTXV0YXRpb25FdmVudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlDNkYwOEZDOTE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlvblJlY29y
ZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0Q5QzJDMDBDMTdCNjlFMDA1QzkwQTIgLyogSlNO
YW1lZE5vZGVNYXAuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNjUxOCw2ICsyNjU1OSw4IEBACiAJ
CQkJMzE2MTFFNUEwRTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODk4Nzg1QjQxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2Vi
S2l0RmxhZ3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNGMUQ1QzAxMkQ1MzM1NjAwODMyQkVD
IC8qIEpTV2ViS2l0TG9zZUNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzZGMDkwMkMx
NDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlDNkYwOTE3RjE0M0EyQkI5MDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9i
c2VydmVyQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5NEJENzlEMEY1NUM5NEMwMDc0
NzgyOCAvKiBKU1dlYktpdFBvaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMjc1Qjc5MTFD
NUQxQzMwMEM5MjA2QyAvKiBKU1dlYktpdFBvaW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTMxQzBGRjNGMEU0Q0VGQUMwMDdENkZFNSAvKiBKU1dlYktpdFRyYW5zaXRpb25FdmVudC5j
cHAgaW4gU291cmNlcyAqLywKQEAgLTI3MzIwLDYgKzI3MzYzLDcgQEAKIAkJCQk0OTgzOTE1ODBG
MUU3NzY5MDBDMjM3ODIgLyogV2ViS2l0Q1NTTWF0cml4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDOUFERDgwMENDNDA5MjIwMDA5OEM0QyAvKiBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk5M0YxRDVCQTEyRDUzMkM0MDA4MzJCRUMgLyogV2ViS2l0TG9z
ZUNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzZGMDkwMEUxNDMyN0I2MTAwNjg1ODQ5
IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFDMEZG
MjQwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdFRyYW5zaXRpb25FdmVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRkNGMzMyRTBGMkI5QTI1MDA0QjY3OTUgLyogV2ViTGF5ZXIubW0gaW4gU291
cmNlcyAqLywKIAkJCQlFMUEzMTYyRTEzNEJDMzJEMDA3QzlBNEYgLyogV2ViTlNBdHRyaWJ1dGVk
U3RyaW5nRXh0cmFzLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGljdGlvbmFyeS5oCmluZGV4IDc3OTBkNzBmZTE5ZGQ3ZDIzNzQ2Yjc2ZmY0NjAyNWQzZTg3
MmRiOGMuLmYxODBiYTUzMWI0OWM3ZjU5N2ZhOWJmYTUyNmYzZGJiYjQ5Mzc4YjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oCkBAIC01Miw2ICs1Miw5IEBAIHB1
YmxpYzoKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgUmVzdWx0PgogICAgIGJv
b2wgdHJ5R2V0UHJvcGVydHkoY29uc3QgY2hhciogcHJvcGVydHlOYW1lLCBUKiBjb250ZXh0LCB2
b2lkICgqc2V0dGVyKShUKiBjb250ZXh0LCBjb25zdCBSZXN1bHQmKSk7CiAKKyAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4KKyAgICBib29sIHRyeUdldFByb3BlcnR5KGNvbnN0IGNoYXIqIHByb3Bl
cnR5TmFtZSwgVCYgY29udGV4dCwgdm9pZCAoVDo6KnNldHRlcikoYm9vbCkpOworCiBwcml2YXRl
OgogICAgIGVudW0gR2V0UHJvcGVydHlSZXN1bHQgewogICAgICAgICBFeGNlcHRpb25UaHJvd24s
CkBAIC0xMDMsNiArMTA2LDMwIEBAIGJvb2wgSlNEaWN0aW9uYXJ5Ojp0cnlHZXRQcm9wZXJ0eShj
b25zdCBjaGFyKiBwcm9wZXJ0eU5hbWUsIFQqIGNvbnRleHQsIHZvaWQgKCpzCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorYm9vbCBKU0RpY3Rpb25hcnk6OnRy
eUdldFByb3BlcnR5KGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSwgVCYgY29udGV4dCwgdm9pZCAo
VDo6KnNldHRlcikoYm9vbCkpCit7CisgICAgSlNDOjpKU1ZhbHVlIHZhbHVlOworICAgIHN3aXRj
aCAodHJ5R2V0UHJvcGVydHkocHJvcGVydHlOYW1lLCB2YWx1ZSkpIHsKKyAgICBjYXNlIEV4Y2Vw
dGlvblRocm93bjoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGNhc2UgUHJvcGVydHlGb3Vu
ZDogeworICAgICAgICBib29sIHJlc3VsdDsKKyAgICAgICAgY29udmVydFZhbHVlKG1fZXhlYywg
dmFsdWUsIHJlc3VsdCk7CisKKyAgICAgICAgaWYgKG1fZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgKGNvbnRleHQuKnNldHRlcikocmVz
dWx0KTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgTm9Qcm9wZXJ0eUZvdW5kOgor
ICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdGVtcGxhdGUg
PHR5cGVuYW1lIFJlc3VsdD4KIGJvb2wgSlNEaWN0aW9uYXJ5Ojp0cnlHZXRQcm9wZXJ0eShjb25z
dCBjaGFyKiBwcm9wZXJ0eU5hbWUsIFJlc3VsdCYgZmluYWxSZXN1bHQpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40NjQ3NTZjMWI4NjAwZjEzMTNjNGEwMGFkNGYyMGNjYjg1MmQ1MzI2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNdXRhdGlvbkNh
bGxiYWNrQ3VzdG9tLmNwcApAQCAtMCwwICsxLDcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisj
aWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgIkpTTXV0YXRpb25DYWxs
YmFjay5oIgorCisjaW5jbHVkZSAiSlNNdXRhdGlvblJlY29yZC5oIgorI2luY2x1ZGUgIkpTV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCIKKyNpbmNsdWRlIDxydW50aW1lL0pTTG9jay5oPgorCit1c2luZyBuYW1lc3BhY2UgSlNDOwor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Jvb2wgSlNNdXRhdGlvbkNhbGxiYWNrOjpoYW5kbGVF
dmVudChNdXRhdGlvblJlY29yZEFycmF5KiBtdXRhdGlvbnMsIFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXIqIG9ic2VydmVyKQoreworICAgIGlmICghY2FuSW52b2tlQ2FsbGJhY2soKSkKKyAgICAgICAg
cmV0dXJuIHRydWU7CisKKyAgICBSZWZQdHI8SlNNdXRhdGlvbkNhbGxiYWNrPiBwcm90ZWN0KHRo
aXMpOworCisgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKKworICAgIEV4
ZWNTdGF0ZSogZXhlYyA9IG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsKKwor
ICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIG11dGF0aW9uTGlzdDsKKyAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IG11dGF0aW9ucy0+c2l6ZSgpOyArK2kpCisgICAgICAgIG11dGF0aW9uTGlzdC5h
cHBlbmQodG9KUyhleGVjLCBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLCBtdXRhdGlvbnMtPmF0KGkp
LmdldCgpKSk7CisKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgIGFyZ3MuYXBw
ZW5kKGNvbnN0cnVjdEFycmF5KGV4ZWMsIG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCksIG11dGF0aW9u
TGlzdCkpOworICAgIGFyZ3MuYXBwZW5kKHRvSlMoZXhlYywgbV9kYXRhLT5nbG9iYWxPYmplY3Qo
KSwgb2JzZXJ2ZXIpKTsKKworICAgIGJvb2wgcmFpc2VkRXhjZXB0aW9uID0gZmFsc2U7CisgICAg
bV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCAmcmFpc2VkRXhjZXB0aW9uKTsKKyAgICByZXR1
cm4gIXJhaXNlZEV4Y2VwdGlvbjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmVlZDE1ZGIwN2QwM2VhODlhODA0ZjA5ZmUwNDE3ZWY3NjZkMzYzZTkKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0
aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCkBAIC0wLDAgKzEsOTIgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSAiSlNXZWJLaXRN
dXRhdGlvbk9ic2VydmVyLmgiCisKKyNpbmNsdWRlICJKU0RpY3Rpb25hcnkuaCIKKyNpbmNsdWRl
ICJKU011dGF0aW9uQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU05vZGUuaCIKKyNpbmNsdWRlICJN
dXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIgorI2luY2x1ZGUgIk5vZGUuaCIKKyNpbmNsdWRlICJX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgiCisjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgorCit1
c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0VuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3I6OmNv
bnN0cnVjdEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlcihFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAg
aWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDEpCisgICAgICAgIHJldHVybiB0aHJvd1ZNRXJy
b3IoZXhlYywgY3JlYXRlVHlwZUVycm9yKGV4ZWMsICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsK
KworICAgIEpTT2JqZWN0KiBvYmplY3QgPSBleGVjLT5hcmd1bWVudCgwKS5nZXRPYmplY3QoKTsK
KyAgICBpZiAoIW9iamVjdCkKKyAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVh
dGVUeXBlRXJyb3IoZXhlYywgIkFyZ3VtZW50IGlzIG5vdCBhbiBPYmplY3QiKSk7CisKKyAgICBK
U1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3RvcioganNDb25zdHJ1Y3RvciA9IHN0YXRp
Y19jYXN0PEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yKj4oZXhlYy0+Y2FsbGVl
KCkpOworICAgIFJlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPiBjYWxsYmFjayA9IEpTTXV0YXRpb25D
YWxsYmFjazo6Y3JlYXRlKG9iamVjdCwganNDb25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCkpOwor
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoYXNPYmplY3QodG9KUyhleGVjLCBqc0NvbnN0cnVj
dG9yLT5nbG9iYWxPYmplY3QoKSwgV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6Y3JlYXRlKGNhbGxi
YWNrLnJlbGVhc2UoKSkpKSk7Cit9CisKK0pTVmFsdWUgSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVy
OjpvYnNlcnZlKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBpZiAoZXhlYy0+YXJndW1lbnRDb3Vu
dCgpIDwgMikKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhlYywgY3JlYXRlVHlwZUVycm9y
KGV4ZWMsICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKyAgICBOb2RlKiB0YXJnZXQgPSB0b05v
ZGUoZXhlYy0+YXJndW1lbnQoMCkpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAg
ICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisKKyAgICBKU1ZhbHVlIG9wdGlvbnNWYWx1ZSA9
IGV4ZWMtPmFyZ3VtZW50KDEpOworICAgIGlmIChvcHRpb25zVmFsdWUuaXNVbmRlZmluZWRPck51
bGwoKSkKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhlYywgY3JlYXRlVHlwZUVycm9yKGV4
ZWMsICJPcHRpb25zIG11c3QgYmUgYW4gb2JqZWN0IikpOworCisgICAgSlNEaWN0aW9uYXJ5IGRp
Y3Rpb25hcnkoZXhlYywgb3B0aW9uc1ZhbHVlLnRvT2JqZWN0KGV4ZWMpKTsKKworICAgIFJlZlB0
cjxNdXRhdGlvbk9ic2VydmVyT3B0aW9ucz4gb3B0aW9ucyA9IE11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zOjpjcmVhdGUoKTsKKyAgICBpZiAoIWRpY3Rpb25hcnkudHJ5R2V0UHJvcGVydHkoImNoaWxk
TGlzdCIsICpvcHRpb25zLCAmTXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldENoaWxkTGlzdCkK
KyAgICAgICAgfHwgIWRpY3Rpb25hcnkudHJ5R2V0UHJvcGVydHkoImF0dHJpYnV0ZXMiLCAqb3B0
aW9ucywgJk11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRBdHRyaWJ1dGVzKQorICAgICAgICB8
fCAhZGljdGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgiY2hhcmFjdGVyRGF0YSIsICpvcHRpb25zLCAm
TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldENoYXJhY3RlckRhdGEpCisgICAgICAgIHx8ICFk
aWN0aW9uYXJ5LnRyeUdldFByb3BlcnR5KCJzdWJ0cmVlIiwgKm9wdGlvbnMsICZNdXRhdGlvbk9i
c2VydmVyT3B0aW9uczo6c2V0U3VidHJlZSkKKyAgICAgICAgfHwgIWRpY3Rpb25hcnkudHJ5R2V0
UHJvcGVydHkoImF0dHJpYnV0ZU9sZFZhbHVlIiwgKm9wdGlvbnMsICZNdXRhdGlvbk9ic2VydmVy
T3B0aW9uczo6c2V0QXR0cmlidXRlT2xkVmFsdWUpCisgICAgICAgIHx8ICFkaWN0aW9uYXJ5LnRy
eUdldFByb3BlcnR5KCJjaGFyYWN0ZXJEYXRhT2xkVmFsdWUiLCAqb3B0aW9ucywgJk11dGF0aW9u
T2JzZXJ2ZXJPcHRpb25zOjpzZXRDaGFyYWN0ZXJEYXRhT2xkVmFsdWUpKQorICAgICAgICByZXR1
cm4ganNVbmRlZmluZWQoKTsKKworICAgIGltcGwoKS0+b2JzZXJ2ZSh0YXJnZXQsIG9wdGlvbnMu
Z2V0KCkpOworICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TXV0YXRpb25DYWxsYmFja0N1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNdXRhdGlvbkNh
bGxiYWNrQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZjQ4NzhlNmY2NjBjODYzNDc5MzRiMTNhYTVi
ZWY4ZWZiM2VlYWE3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAKQEAgLTAsMCArMSw4OCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNp
bmNsdWRlICJWOE11dGF0aW9uQ2FsbGJhY2suaCIKKworI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaCIKKyNpbmNsdWRlICJWOEJpbmRpbmcuaCIKKyNpbmNsdWRlICJWOEN1c3RvbVZv
aWRDYWxsYmFjay5oIgorI2luY2x1ZGUgIlY4TXV0YXRpb25SZWNvcmQuaCIKKyNpbmNsdWRlICJW
OFByb3h5LmgiCisjaW5jbHVkZSAiVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgiCisjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworYm9vbCBWOE11dGF0aW9uQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KE11dGF0aW9u
UmVjb3JkQXJyYXkqIG11dGF0aW9ucywgV2ViS2l0TXV0YXRpb25PYnNlcnZlciogb2JzZXJ2ZXIp
Cit7CisgICAgQVNTRVJUKG11dGF0aW9ucyk7CisgICAgaWYgKCFtdXRhdGlvbnMpCisgICAgICAg
IHJldHVybiB0cnVlOworCisgICAgaWYgKCFjYW5JbnZva2VDYWxsYmFjaygpKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKKworICAgIHY4
OjpIYW5kbGU8djg6OkNvbnRleHQ+IHY4Q29udGV4dCA9IHRvVjhDb250ZXh0KHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSwgbV93b3JsZENvbnRleHQpOworICAgIGlmICh2OENvbnRleHQuSXNFbXB0
eSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHY4OjpDb250ZXh0OjpTY29wZSBzY29w
ZSh2OENvbnRleHQpOworCisgICAgdjg6OkxvY2FsPHY4OjpBcnJheT4gbXV0YXRpb25zQXJyYXkg
PSB2ODo6QXJyYXk6Ok5ldyhtdXRhdGlvbnMtPnNpemUoKSk7CisgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBtdXRhdGlvbnMtPnNpemUoKTsgKytpKQorICAgICAgICBtdXRhdGlvbnNBcnJheS0+
U2V0KHY4OjpJbnRlZ2VyOjpOZXcoaSksIHRvVjgobXV0YXRpb25zLT5hdChpKS5nZXQoKSkpOwor
CisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG9ic2VydmVySGFuZGxlID0gdG9WOChvYnNlcnZl
cik7CisgICAgaWYgKG9ic2VydmVySGFuZGxlLklzRW1wdHkoKSkgeworICAgICAgICBDUkFTSCgp
OworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gYXJndltdID0geworICAgICAgICBtdXRhdGlvbnNBcnJheSwKKyAgICAgICAgb2JzZXJ2ZXJI
YW5kbGUKKyAgICB9OworCisgICAgYm9vbCBjYWxsYmFja1JldHVyblZhbHVlID0gZmFsc2U7Cisg
ICAgcmV0dXJuICFpbnZva2VDYWxsYmFjayhtX2NhbGxiYWNrLCAyLCBhcmd2LCBjYWxsYmFja1Jl
dHVyblZhbHVlLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25P
YnNlcnZlckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YmZkMjk5NmNkNWVm
MDljNGMwMmQ5OGRiNzI2NTRiMWQ5YTg5Mzc3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5j
cHAKQEAgLTAsMCArMSwxMTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTVVU
QVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSAiVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgi
CisKKyNpbmNsdWRlICJNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIgorI2luY2x1ZGUgIk9wdGlv
bnNPYmplY3QuaCIKKyNpbmNsdWRlICJWOEJpbmRpbmcuaCIKKyNpbmNsdWRlICJWOEJpbmRpbmdN
YWNyb3MuaCIKKyNpbmNsdWRlICJWOERPTVdyYXBwZXIuaCIKKyNpbmNsdWRlICJWOE11dGF0aW9u
Q2FsbGJhY2suaCIKKyNpbmNsdWRlICJWOE5vZGUuaCIKKyNpbmNsdWRlICJWOFByb3h5LmgiCisj
aW5jbHVkZSAiVjhVdGlsaXRpZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpjb25zdHJ1Y3RvckNhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJET00uV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5Db25zdHJ1Y3RvciIpOworCisgICAgaWYgKCFhcmdzLklzQ29u
c3RydWN0Q2FsbCgpKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiRE9NIG9iamVjdCBjb25z
dHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIiwgVjhQcm94eTo6VHlwZUVy
cm9yKTsKKworICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKKyAgICAgICAgcmV0dXJuIHRocm93
RXJyb3IoIk5vdCBlbm91Z2ggYXJndW1lbnRzIiwgVjhQcm94eTo6VHlwZUVycm9yKTsKKworICAg
IHY4OjpMb2NhbDx2ODo6VmFsdWU+IGFyZyA9IGFyZ3NbMF07CisgICAgaWYgKCFhcmctPklzT2Jq
ZWN0KCkpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJBcmd1bWVudCBtdXN0IGJlIGFuIE9i
amVjdCIsIFY4UHJveHk6OlR5cGVFcnJvcik7CisKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0ID0gZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIGlmICghY29udGV4
dCkKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoIldlYktpdE11dGF0aW9uT2JzZXJ2ZXIgY29u
c3RydWN0b3IncyBhc3NvY2lhdGVkIGZyYW1lIHVuYXZhaWxhYmxlIiwgVjhQcm94eTo6UmVmZXJl
bmNlRXJyb3IpOworCisgICAgUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+IGNhbGxiYWNrID0gVjhN
dXRhdGlvbkNhbGxiYWNrOjpjcmVhdGUoYXJnLCBjb250ZXh0KTsKKyAgICBSZWZQdHI8V2ViS2l0
TXV0YXRpb25PYnNlcnZlcj4gb2JzZXJ2ZXIgPSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpjcmVh
dGUoY2FsbGJhY2sucmVsZWFzZSgpKTsKKworICAgIFY4RE9NV3JhcHBlcjo6c2V0RE9NV3JhcHBl
cihhcmdzLkhvbGRlcigpLCAmaW5mbywgb2JzZXJ2ZXIuZ2V0KCkpOworICAgIG9ic2VydmVyLT5y
ZWYoKTsKKyAgICBWOERPTVdyYXBwZXI6OnNldEpTV3JhcHBlckZvckRPTU9iamVjdChvYnNlcnZl
ci5nZXQoKSwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD46Ok5ldyhhcmdzLkhvbGRlcigpKSk7
CisgICAgcmV0dXJuIGFyZ3MuSG9sZGVyKCk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6Om9ic2VydmVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1l
bnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUygiRE9NLldlYktpdE11dGF0aW9uT2JzZXJ2ZXIu
b2JzZXJ2ZSIpOworICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMikKKyAgICAgICAgcmV0dXJuIHRo
cm93RXJyb3IoIk5vdCBlbm91Z2ggYXJndW1lbnRzIiwgVjhQcm94eTo6VHlwZUVycm9yKTsKKyAg
ICBXZWJLaXRNdXRhdGlvbk9ic2VydmVyKiBpbXAgPSBWOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6
OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOworICAgIEVYQ0VQVElPTl9CTE9DSyhOb2RlKiwgdGFy
Z2V0LCBWOE5vZGU6Okhhc0luc3RhbmNlKGFyZ3NbMF0pID8gVjhOb2RlOjp0b05hdGl2ZSh2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMF0pKSA6IDApOworCisgICAgaWYgKCFhcmdz
WzFdLT5Jc09iamVjdCgpKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiT3B0aW9ucyBtdXN0
IGJlIGFuIG9iamVjdCIsIFY4UHJveHk6OlR5cGVFcnJvcik7CisKKyAgICBPcHRpb25zT2JqZWN0
IG9wdGlvbnNPYmplY3QoYXJnc1sxXSk7CisgICAgUmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zPiBvcHRpb25zID0gTXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmNyZWF0ZSgpOworCisgICAg
Ym9vbCBvcHRpb247CisgICAgaWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5VmFsdWUoImNoaWxkTGlz
dCIsIG9wdGlvbikpCisgICAgICAgIG9wdGlvbnMtPnNldENoaWxkTGlzdChvcHRpb24pOworICAg
IGlmIChvcHRpb25zT2JqZWN0LmdldEtleVZhbHVlKCJhdHRyaWJ1dGVzIiwgb3B0aW9uKSkKKyAg
ICAgICAgb3B0aW9ucy0+c2V0QXR0cmlidXRlcyhvcHRpb24pOworICAgIGlmIChvcHRpb25zT2Jq
ZWN0LmdldEtleVZhbHVlKCJjaGFyYWN0ZXJEYXRhIiwgb3B0aW9uKSkKKyAgICAgICAgb3B0aW9u
cy0+c2V0Q2hhcmFjdGVyRGF0YShvcHRpb24pOworICAgIGlmIChvcHRpb25zT2JqZWN0LmdldEtl
eVZhbHVlKCJzdWJ0cmVlIiwgb3B0aW9uKSkKKyAgICAgICAgb3B0aW9ucy0+c2V0U3VidHJlZShv
cHRpb24pOworICAgIGlmIChvcHRpb25zT2JqZWN0LmdldEtleVZhbHVlKCJhdHRyaWJ1dGVPbGRW
YWx1ZSIsIG9wdGlvbikpCisgICAgICAgIG9wdGlvbnMtPnNldEF0dHJpYnV0ZU9sZFZhbHVlKG9w
dGlvbik7CisgICAgaWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5VmFsdWUoImNoYXJhY3RlckRhdGFP
bGRWYWx1ZSIsIG9wdGlvbikpCisgICAgICAgIG9wdGlvbnMtPnNldENoYXJhY3RlckRhdGFPbGRW
YWx1ZShvcHRpb24pOworCisgICAgaW1wLT5vYnNlcnZlKHRhcmdldCwgb3B0aW9ucy5nZXQoKSk7
CisgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODA3MzljODhhZDc4YjEzMTU5
OTJkOGY2NjZkOTBiMjQwYWU3ZWFkOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9NdXRhdGlvbkNhbGxiYWNrLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTXV0YXRpb25D
YWxsYmFja19oCisjZGVmaW5lIE11dGF0aW9uQ2FsbGJhY2tfaAorCisjaWYgRU5BQkxFKE1VVEFU
SU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBNdXRhdGlvblJlY29yZDsKK2NsYXNzIFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXI7CisKK3R5cGVkZWYgVmVjdG9yPFJlZlB0cjxNdXRhdGlvblJlY29yZD4gPiBNdXRhdGlvblJl
Y29yZEFycmF5OworCitjbGFzcyBNdXRhdGlvbkNhbGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8
TXV0YXRpb25DYWxsYmFjaz4geworcHVibGljOgorICAgIHZpcnR1YWwgfk11dGF0aW9uQ2FsbGJh
Y2soKSB7IH0KKworICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChNdXRhdGlvblJlY29yZEFy
cmF5KiwgV2ViS2l0TXV0YXRpb25PYnNlcnZlciopID0gMDsKK307CisKK30KKworI2VuZGlmIC8v
IEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNlbmRpZiAvLyBNdXRhdGlvbkNhbGxiYWNr
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNrLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjM4
MTcxNGM4MDllYTdjYTQ3ODRjNmIzYjAzMTFiODk3OWY4MTc1Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsMzggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitt
b2R1bGUgY29yZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TVVUQVRJ
T05fT0JTRVJWRVJTLAorICAgICAgICBDYWxsYmFjaworICAgIF0gTXV0YXRpb25DYWxsYmFjayB7
CisgICAgICAgIFtDdXN0b21dIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gTXV0YXRpb25SZWNvcmRB
cnJheSBtdXRhdGlvbnMsIGluIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIgb2JzZXJ2ZXIpOworICAg
IH07Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlck9w
dGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjNmZTVkMWNkMjg0YmQxZjRiODQzNjdhOWU2ZDVhNzE2ZmZlYmMzZGUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlck9wdGlvbnMu
aApAQCAtMCwwICsxLDkyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBNdXRhdGlvbk9ic2VydmVyT3B0aW9uc19oCisjZGVm
aW5lIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zX2gKKworI2lmIEVOQUJMRShNVVRBVElPTl9PQlNF
UlZFUlMpCisKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTXV0YXRpb25PYnNlcnZl
ck9wdGlvbnMgOiBwdWJsaWMgUmVmQ291bnRlZDxNdXRhdGlvbk9ic2VydmVyT3B0aW9ucz4gewor
cHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zPiBj
cmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNdXRhdGlvbk9ic2Vy
dmVyT3B0aW9ucyk7CisgICAgfQorCisgICAgYm9vbCBjaGlsZExpc3QoKSBjb25zdCB7IHJldHVy
biBtX2NoaWxkTGlzdDsgfQorICAgIHZvaWQgc2V0Q2hpbGRMaXN0KGJvb2wgdmFsdWUpIHsgbV9j
aGlsZExpc3QgPSB2YWx1ZTsgfQorCisgICAgYm9vbCBhdHRyaWJ1dGVzKCkgY29uc3QgeyByZXR1
cm4gbV9hdHRyaWJ1dGVzOyB9CisgICAgdm9pZCBzZXRBdHRyaWJ1dGVzKGJvb2wgdmFsdWUpIHsg
bV9hdHRyaWJ1dGVzID0gdmFsdWU7IH0KKworICAgIGJvb2wgY2hhcmFjdGVyRGF0YSgpIGNvbnN0
IHsgcmV0dXJuIG1fY2hhcmFjdGVyRGF0YTsgfQorICAgIHZvaWQgc2V0Q2hhcmFjdGVyRGF0YShi
b29sIHZhbHVlKSB7IG1fY2hhcmFjdGVyRGF0YSA9IHZhbHVlOyB9CisKKyAgICBib29sIHN1YnRy
ZWUoKSBjb25zdCB7IHJldHVybiBtX3N1YnRyZWU7IH0KKyAgICB2b2lkIHNldFN1YnRyZWUoYm9v
bCB2YWx1ZSkgeyBtX3N1YnRyZWUgPSB2YWx1ZTsgfQorCisgICAgYm9vbCBhdHRyaWJ1dGVPbGRW
YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXR0cmlidXRlT2xkVmFsdWU7IH0KKyAgICB2b2lkIHNl
dEF0dHJpYnV0ZU9sZFZhbHVlKGJvb2wgdmFsdWUpIHsgbV9hdHRyaWJ1dGVPbGRWYWx1ZSA9IHZh
bHVlOyB9CisKKyAgICBib29sIGNoYXJhY3RlckRhdGFPbGRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fYXR0cmlidXRlT2xkVmFsdWU7IH0KKyAgICB2b2lkIHNldENoYXJhY3RlckRhdGFPbGRWYWx1
ZShib29sIHZhbHVlKSB7IG1fY2hhcmFjdGVyRGF0YU9sZFZhbHVlID0gdmFsdWU7IH0KKworICAg
IC8vIEZJWE1FOiBGaWd1cmUgb3V0IGhvdyB0byBtb2RlbCB0aGlzIGJhc2VkIG9uIHRoZSBJREwu
CisgICAgLy8gRE9NU3RyaW5nW10gYXR0cmlidXRlRmlsdGVyOworCitwcml2YXRlOgorICAgIE11
dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKCkKKyAgICAgICAgOiBtX2NoaWxkTGlzdChmYWxzZSkKKyAg
ICAgICAgLCBtX2F0dHJpYnV0ZXMoZmFsc2UpCisgICAgICAgICwgbV9jaGFyYWN0ZXJEYXRhKGZh
bHNlKQorICAgICAgICAsIG1fc3VidHJlZShmYWxzZSkKKyAgICAgICAgLCBtX2F0dHJpYnV0ZU9s
ZFZhbHVlKGZhbHNlKQorICAgICAgICAsIG1fY2hhcmFjdGVyRGF0YU9sZFZhbHVlKGZhbHNlKQor
ICAgIHsKKyAgICB9CisKKyAgICBib29sIG1fY2hpbGRMaXN0OworICAgIGJvb2wgbV9hdHRyaWJ1
dGVzOworICAgIGJvb2wgbV9jaGFyYWN0ZXJEYXRhOworICAgIGJvb2wgbV9zdWJ0cmVlOworICAg
IGJvb2wgbV9hdHRyaWJ1dGVPbGRWYWx1ZTsKKyAgICBib29sIG1fY2hhcmFjdGVyRGF0YU9sZFZh
bHVlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1V
VEFUSU9OX09CU0VSVkVSUykKKworI2VuZGlmIC8vIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zYTY2NTRlNjg1NDA0OGE4ZjZiMmRjMTdlM2FkOTJkNGQyZGU2Njc0Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwCkBA
IC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTVVUQVRJT05f
T0JTRVJWRVJTKQorCisjaW5jbHVkZSAiV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIgorCisjaW5j
bHVkZSAiTXV0YXRpb25DYWxsYmFjay5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NS
ZWZQdHI8V2ViS2l0TXV0YXRpb25PYnNlcnZlcj4gV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6Y3Jl
YXRlKFBhc3NSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4gY2FsbGJhY2spCit7CisgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBXZWJLaXRNdXRhdGlvbk9ic2VydmVyKGNhbGxiYWNrKSk7Cit9CisKK1dl
YktpdE11dGF0aW9uT2JzZXJ2ZXI6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXIoUGFzc1JlZlB0cjxN
dXRhdGlvbkNhbGxiYWNrPiBjYWxsYmFjaykKKyAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2spCit7
Cit9CisKK1dlYktpdE11dGF0aW9uT2JzZXJ2ZXI6On5XZWJLaXRNdXRhdGlvbk9ic2VydmVyKCkK
K3sKK30KKwordm9pZCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZlKE5vZGUqLCBNdXRh
dGlvbk9ic2VydmVyT3B0aW9ucyopCit7CisgICAgLy8gRklYTUU6IGltcGxlbWVudAorfQorCit2
b2lkIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OmRpc2Nvbm5lY3QoKQoreworICAgIC8vIEZJWE1F
OiBpbXBsZW1lbnQKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKE1VVEFUSU9OX09CU0VSVkVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9X
ZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRp
b25PYnNlcnZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4Nzk0NDc1NmIyZmMyNmQxNDRiYWZhMDQzYWM3ZTgy
ZDUwMGIwZGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5oCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXJfaAorI2RlZmluZSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyX2gKKworI2lmIEVOQUJMRShN
VVRBVElPTl9PQlNFUlZFUlMpCisKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIE11dGF0aW9uQ2FsbGJhY2s7CitjbGFzcyBNdXRhdGlvbk9i
c2VydmVyT3B0aW9uczsKK2NsYXNzIE5vZGU7CisKK2NsYXNzIFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJLaXRNdXRhdGlvbk9ic2VydmVyPiB7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViS2l0TXV0YXRpb25PYnNlcnZlcj4gY3JlYXRlKFBh
c3NSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4pOworCisgICAgfldlYktpdE11dGF0aW9uT2JzZXJ2
ZXIoKTsKKworICAgIHZvaWQgb2JzZXJ2ZShOb2RlKiwgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMq
KTsKKyAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKKworcHJpdmF0ZToKKyAgICBXZWJLaXRNdXRhdGlv
bk9ic2VydmVyKFBhc3NSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4pOworCisgICAgUmVmUHRyPE11
dGF0aW9uQ2FsbGJhY2s+IG1fY2FsbGJhY2s7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUo
TVVUQVRJT05fT0JTRVJWRVJTKQorCisjZW5kaWYgLy8gV2ViS2l0TXV0YXRpb25PYnNlcnZlcl9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZGE2ZThjN2VlYzAwYTBiMDAxNTE5ZjFjMzM0NTYyODU4NzM2NTZhNwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmlkbApA
QCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworbW9kdWxlIGNvcmUgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENv
bmRpdGlvbmFsPU1VVEFUSU9OX09CU0VSVkVSUywKKyAgICAgICAgQ2FuQmVDb25zdHJ1Y3RlZCwK
KyAgICAgICAgQ3VzdG9tQ29uc3RydWN0b3IKKyAgICBdIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIg
eworICAgICAgICBbQ3VzdG9tXSB2b2lkIG9ic2VydmUoaW4gTm9kZSB0YXJnZXQsIGluIE11dGF0
aW9uT2JzZXJ2ZXJPcHRpb25zIG9wdGlvbnMpOworICAgICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsK
KyAgICB9OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRs
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IGI4ZGJiYzdhYzI3MDBh
N2Y5NWI5NDUzNTJhMTkwY2UyODdkMmJmOWYuLjhiNTA5YThiNWQ1ZTZlMWNlMTZhODE5MTdmMWMw
Mzk1ZjBmN2ExMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTgwOSw2ICs4MDks
OCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtFbmFibGVk
QXRSdW50aW1lPVF1b3RhXSBTdG9yYWdlSW5mbyB3ZWJraXRTdG9yYWdlSW5mbzsKICNlbmRpZgog
CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9TVVUQVRJT05fT0JTRVJWRVJTXSBXZWJL
aXRNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3IgV2ViS2l0TXV0YXRpb25PYnNlcnZlcjsKKwog
I2VuZGlmIC8vIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkKIAogI2lmIGRlZmluZWQoVjhf
QklORElORykgJiYgVjhfQklORElORwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA0Y2Ew
NmUyZjQyNDY2MzJmODYxYzg3MGU0MjAzNWMzODgwYjBlOWI4Li5kMTliZmZjOWEwMWU3ZjM3NGE4
MzI3YmI0MjBjMjQ4M2Y0ZDdmNDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEyIEBACisyMDExLTEwLTEwICBBZGFtIEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFtNdXRhdGlvbk9ic2VydmVyc10gQWRkIHN0dWIgaW1wbGVtZW50YXRpb24gb2Yg
V2ViS2l0TXV0YXRpb25PYnNlcnZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Njg5NDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZlYXR1cmVzLmd5cGk6IEFkZGVkICdlbmFibGVfbXV0YXRpb25fb2Jz
ZXJ2ZXJzJyB2YXJpYWJsZS4KKwogMjAxMS0xMC0xMCAgRG9taW5pYyBNYXp6b25pICA8ZG1henpv
bmlAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbQ2hyb21pdW1dIEdldCByaWQgb2YgV2ViQWNjZXNz
aWJpbGl0eUNhY2hlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJl
cy5neXBpIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCmluZGV4IGI2NThk
ODNmODZkNzZlYmYyZTc0MGJlOTg0ZWQ5ZmFhZDhhZjUwODguLjI1YWI5NDFkMGVhZDliN2U5YjE3
NWY1MmNmMGQ2MTU5NDAyMzkzNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
ZmVhdHVyZXMuZ3lwaQorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkK
QEAgLTY4LDcgKzY4LDcgQEAKICAgICAgICdFTkFCTEVfTUVESUFfU1RSRUFNPTEnLAogICAgICAg
J0VOQUJMRV9NRVRFUl9UQUc9MScsCiAgICAgICAnRU5BQkxFX01IVE1MPTEnLAotICAgICAgJ0VO
QUJMRV9NVVRBVElPTl9PQlNFUlZFUlM9MCcsCisgICAgICAnRU5BQkxFX01VVEFUSU9OX09CU0VS
VkVSUz08KGVuYWJsZV9tdXRhdGlvbl9vYnNlcnZlcnMpJywKICAgICAgICdFTkFCTEVfTk9USUZJ
Q0FUSU9OUz0xJywKICAgICAgICdFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTPTAnLAogICAgICAg
J0VOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJPTEnLApAQCAtMTE1LDYgKzExNSw3IEBACiAgICAg
ICAndXNlX3NraWElJzogMCwKICAgICAgICdlbmFibGVfdG91Y2hfaWNvbl9sb2FkaW5nJScgOiAw
LAogICAgICAgJ2VuYWJsZV9jc3MzX2ZsZXhib3glJzogMCwKKyAgICAgICdlbmFibGVfbXV0YXRp
b25fb2JzZXJ2ZXJzJSc6IDAsCiAgICAgfSwKICAgICAndXNlX2FjY2VsZXJhdGVkX2NvbXBvc2l0
aW5nJSc6ICc8KHVzZV9hY2NlbGVyYXRlZF9jb21wb3NpdGluZyknLAogICAgICd1c2VfdGhyZWFk
ZWRfY29tcG9zaXRpbmclJzogJzwodXNlX3RocmVhZGVkX2NvbXBvc2l0aW5nKScsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110415</attachid>
            <date>2011-10-10 15:16:59 -0700</date>
            <delta_ts>2011-10-10 17:19:07 -0700</delta_ts>
            <desc>Use notImplemented instead of FIXME</desc>
            <filename>bug-68949-20111010151658.patch</filename>
            <type>text/plain</type>
            <size>80330</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwNzEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNzNiZjE1NThlZjU0ZGFkZDYwYmJk
MjljNWM2NTcwMjdlZjMxNmYyLi5kZDFhODg5MTBkY2UwMzFjODgyZTJlMjllZjI1OTE1YWY0MDRh
NzQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMTAtMTAgIEFkYW0gS2xlaW4gIDxhZGFt
a0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgc3R1YiBp
bXBsZW1lbnRhdGlvbiBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk0OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiYXNpYyB0ZXN0cyBhbmQgc2tpcCB0
aGVtIGluIGFsbCBwb3J0cyBmb3Igbm93LgorCisgICAgICAgICogZmFzdC9tdXRhdGlvbi9tdXRh
dGlvbi1vYnNlcnZlci1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3IuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211dGF0aW9uL29ic2VydmUtZXhjZXB0aW9ucy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMS0xMC0xMCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxk
bWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogYW5ub3RhdGUgRE9NQWdl
bnQsIERlYnVnZ2VyKFByZXNlbnRhdGlvbilNb2RlbCB3aXRoIHR5cGVzLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25zdHJ1Y3Rvci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL211dGF0aW9uLW9ic2VydmVy
LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYmViM2U4NmU3MGUyNDg1YTc3
MjAxODA3NzY0Mjg1OTE3OTI3NDlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNCBAQAorVGVzdCB0aGUgY29uc3RydWN0b3Igb2YgV2ViS2l0TXV0YXRpb25PYnNl
cnZlcgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB3aW5kb3cuV2ViS2l0
TXV0YXRpb25PYnNlcnZlciBpcyBub24tbnVsbC4KK1BBU1MgdHlwZW9mIFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXIucHJvdG90eXBlLm9ic2VydmUgaXMgImZ1bmN0aW9uIgorUEFTUyB0eXBlb2YgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5wcm90b3R5cGUuZGlzY29ubmVjdCBpcyAiZnVuY3Rpb24iCitQ
QVNTIHR5cGVvZiBvYnNlcnZlci5vYnNlcnZlIGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIG9i
c2VydmVyLmRpc2Nvbm5lY3QgaXMgImZ1bmN0aW9uIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
bXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3IuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xOTY2YTYzNWUwYjIzZjAzMGNlNTc5MTg2OWFkYmYxMzdiOTFhNzE0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1jb25z
dHJ1Y3Rvci5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHRpdGxlPjwvdGl0bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPWRlc2NyaXB0aW9uPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBzaG91bGRCZU5v
bk51bGwoJ3dpbmRvdy5XZWJLaXRNdXRhdGlvbk9ic2VydmVyJyk7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCd0eXBlb2YgV2ViS2l0TXV0YXRpb25PYnNlcnZlci5wcm90b3R5cGUub2JzZXJ2
ZScsICdmdW5jdGlvbicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlLmRpc2Nvbm5lY3QnLCAnZnVuY3Rpb24nKTsKKyAg
ICB3aW5kb3cub2JzZXJ2ZXIgPSBuZXcgV2ViS2l0TXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbiht
dXRhdGlvbnMpIHsgfSk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2Ygb2JzZXJ2
ZXIub2JzZXJ2ZScsICdmdW5jdGlvbicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndHlw
ZW9mIG9ic2VydmVyLmRpc2Nvbm5lY3QnLCAnZnVuY3Rpb24nKTsKK30KKworZGVzY3JpcHRpb24o
J1Rlc3QgdGhlIGNvbnN0cnVjdG9yIG9mIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXInKTsKKworaWYg
KCF3aW5kb3cuV2ViS2l0TXV0YXRpb25PYnNlcnZlcikKKyAgICB0ZXN0RmFpbGVkKCdUaGlzIHRl
c3QgcmVxdWlyZXMgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUyknKTsKK2Vsc2UKKyAgICBydW5U
ZXN0KCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2Jz
ZXJ2ZS1leGNlcHRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24v
b2JzZXJ2ZS1leGNlcHRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZWNkNDAxMjFmOTMw
YThmNWE1OTk1NGM3NDdmOTMwOGIyMzQ4N2VkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTUgQEAKK1Rlc3QgdGhhdCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLm9ic2VydmUgdGhyb3dz
IGV4Y2VwdGlvbnMgYXBwcm9wcmlhdGVseQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBvYnNlcnZlci5vYnNlcnZlKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90
IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG9ic2VydmVyLm9ic2VydmUobnVsbCkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG9ic2VydmVyLm9i
c2VydmUodW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFy
Z3VtZW50cy4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5KSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1Mgb2JzZXJ2ZXIub2Jz
ZXJ2ZShkb2N1bWVudC5ib2R5LCBudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBPcHRp
b25zIG11c3QgYmUgYW4gb2JqZWN0LgorUEFTUyBvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJv
ZHksIHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogT3B0aW9ucyBtdXN0IGJl
IGFuIG9iamVjdC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2VydmUtZXhj
ZXB0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlv
bnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43ZmVmM2NmZTkwYmY1NDg3YWFlMmUxYTBmNmU0MmViMWRkMzMx
ZGM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZl
LWV4Y2VwdGlvbnMuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzx0aXRsZT48L3RpdGxl
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD1kZXNjcmlwdGlvbj48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgd2luZG93
Lm9ic2VydmVyID0gbmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24obXV0YXRpb25z
KSB7IH0pOworICAgIHNob3VsZFRocm93KCdvYnNlcnZlci5vYnNlcnZlKCknKTsKKyAgICBzaG91
bGRUaHJvdygnb2JzZXJ2ZXIub2JzZXJ2ZShudWxsKScpOworICAgIHNob3VsZFRocm93KCdvYnNl
cnZlci5vYnNlcnZlKHVuZGVmaW5lZCknKTsKKyAgICBzaG91bGRUaHJvdygnb2JzZXJ2ZXIub2Jz
ZXJ2ZShkb2N1bWVudC5ib2R5KScpOworICAgIHNob3VsZFRocm93KCdvYnNlcnZlci5vYnNlcnZl
KGRvY3VtZW50LmJvZHksIG51bGwpJyk7CisgICAgc2hvdWxkVGhyb3coJ29ic2VydmVyLm9ic2Vy
dmUoZG9jdW1lbnQuYm9keSwgdW5kZWZpbmVkKScpOworfQorCitkZXNjcmlwdGlvbignVGVzdCB0
aGF0IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSB0aHJvd3MgZXhjZXB0aW9ucyBhcHBy
b3ByaWF0ZWx5Jyk7CisKK2lmICghd2luZG93LldlYktpdE11dGF0aW9uT2JzZXJ2ZXIpCisgICAg
dGVzdEZhaWxlZCgnVGhpcyB0ZXN0IHJlcXVpcmVzIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMp
Jyk7CitlbHNlCisgICAgcnVuVGVzdCgpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggNDU2OWQzMGQ4N2Jh
MTdjMmZmYzk3ZTZiNGI4YzRhNTdjMGMwYzA4Yy4uMGE5OTg2YWZlMjdmYjA5OTI1NWVmNzI3ZmRk
YzJkZTIxYWZlODgyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMzI2Miw2ICszMjYyLDkgQEAgQlVHV0s1NzMxMSBT
S0lQIDogZmFzdC9leGNsdXNpb25zID0gUEFTUwogLy8gQ1NTIEZpbHRlcnMgc3VwcG9ydCBub3Qg
eWV0IGVuYWJsZWQKIEJVR1dLNjg0NjkgU0tJUCA6IGNzczMvZmlsdGVycyA9IFBBU1MKIAorLy8g
TXV0YXRpb25PYnNlcnZlcnMgbm90IHlldCBlbmFibGVkLgorQlVHV0s2ODcyOSBTS0lQIDogZmFz
dC9tdXRhdGlvbiA9IFBBU1MKKwogQlVHQ1I4NTc1NSA6IGZhc3QvanMvZXhjZXB0aW9uLXByb3Bl
cnRpZXMuaHRtbCA9IFRFWFQKIAogQlVHV0s2MjQzMCBMSU5VWCBXSU4gOiBmYXN0L2RvbS9IVE1M
UHJvZ3Jlc3NFbGVtZW50L2luZGV0ZXJtaW5hdGUtcHJvZ3Jlc3MtMDAxLmh0bWwgPSBGQUlMCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IDIwY2M2NzJmZWU1ZGY5ZjBiNzgxZTc1MmMyYTk4
MzA3MWQ5NWZmZGUuLmM0Y2IwZDRiNzBkMWU4Y2M5MjY5ZDE5MzliMTVjNzA4Zjg0YjUyYTAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC00NzAsNiArNDcwLDkgQEAgd2ViYXVkaW8KICMg
Q1NTIEZpbHRlcnMgaXMgZGlzYWJsZWQKIGNzczMvZmlsdGVycwogCisjIE11dGF0aW9uT2JzZXJ2
ZXJzIGFyZSBuZXQgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNjg3MjkKK2Zhc3Qv
bXV0YXRpb24KKwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBURVNUUyBGQUlMSU5HCiAjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
U2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IDZkNTI2Yjgy
ZjgyZjZhYjkzM2ExODU5MDBkMzY0NTk5ZmU0ZGZjNzUuLmFmZWM5NzNlZmM4NjU5ZWY4MGVlYTAx
NzhhODY5YTA4YTM3NWMxMmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9T
a2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC00MDcsNiAr
NDA3LDkgQEAgY29tcG9zaXRpbmcvcnRsL3J0bC1pZnJhbWUtcmVsYXRpdmUuaHRtbAogIyBGb3Ig
bm93LCBXZWIgQXVkaW8gQVBJIGlzIGRpc2FibGVkCiB3ZWJhdWRpby8KIAorIyBNdXRhdGlvbk9i
c2VydmVycyBhcmUgbmV0IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzY4NzI5Citm
YXN0L211dGF0aW9uCisKICMgVGVzdHMgZm9yIFdlYlZUVCBwYXJzZXIgZm9yIDx0cmFjaz4uICBG
ZWF0dXJlIGlzIG5vdCB5ZXQgZnVuY3Rpb25hbC4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQzNjY4CiBtZWRpYS90cmFjay8KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
CmluZGV4IGUzOGE0NjIzNTNlZmEzZjliNjRhNjBjNjJkMWI1MjI0NTNlMmNmMTUuLjcxNDZhN2E0
MWIwNDUzOGM1M2EwNGJiZjA1N2Q3NjJlOGM0OTRiM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZApAQCAtMTU4LDYgKzE1OCw5IEBAIGZhc3QvcmVnaW9ucwogIyBDU1MgRXhjbHVzaW9ucyBzdXBw
b3J0IG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81NzMxMQogZmFzdC9leGNs
dXNpb25zCiAKKyMgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykgaXMgbm90IHlldCBlbmFibGVk
LiBodHRwOi8vd2Via2l0Lm9yZy9iLzY4NzI5CitmYXN0L211dGF0aW9uCisKICMgVVNFKFY4KQog
CiAjIHY4IGkxOG4gZXh0ZW5zaW9uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCAzYjA0
Zjk0ZjI2NzM3ODNhNzdiNTBhM2U4MGZkNzlhZDUwNGIwMmI0Li4wMjlhNGI0ZmE0ZTY3NDEyNzM3
YjFkZmIxMzIzYTIwNzc5Yzg3YWNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTQw
MCw2ICsxNDAwLDkgQEAgY3NzMy9zZWxlY3RvcnMzCiAjIEZvciBub3csIFdlYiBBdWRpbyBBUEkg
aXMgZGlzYWJsZWQKIHdlYmF1ZGlvLwogCisjIE11dGF0aW9uT2JzZXJ2ZXJzIGFyZSBuZXQgeWV0
IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNjg3MjkKK2Zhc3QvbXV0YXRpb24KKwogIyBU
ZXN0cyBmb3IgV2ViVlRUIHBhcnNlciBmb3IgPHRyYWNrPi4gIEZlYXR1cmUgaXMgbm90IHlldCBm
dW5jdGlvbmFsLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM2
NjgKIG1lZGlhL3RyYWNrLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0OTAxOGZjNzQyYmUwY2I1
NTVmNTc1MTcyOTM2Yjg0MDI3OWQ1NjNkLi4zNTY0NDZkNDJlZDljODUxZjNiYjE2YTM2ZGQ1MTgw
MWIyYTNkZDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTYzLDYgKzE2Myw3IEBAIFNFVChX
ZWJDb3JlX0lETF9GSUxFUwogICAgIGRvbS9NZXNzYWdlRXZlbnQuaWRsCiAgICAgZG9tL01lc3Nh
Z2VQb3J0LmlkbAogICAgIGRvbS9Nb3VzZUV2ZW50LmlkbAorICAgIGRvbS9NdXRhdGlvbkNhbGxi
YWNrLmlkbAogICAgIGRvbS9NdXRhdGlvbkV2ZW50LmlkbAogICAgIGRvbS9NdXRhdGlvblJlY29y
ZC5pZGwKICAgICBkb20vTmFtZWROb2RlTWFwLmlkbApAQCAtMTg2LDYgKzE4Nyw3IEBAIFNFVChX
ZWJDb3JlX0lETF9GSUxFUwogICAgIGRvbS9UcmVlV2Fsa2VyLmlkbAogICAgIGRvbS9VSUV2ZW50
LmlkbAogICAgIGRvbS9XZWJLaXRBbmltYXRpb25FdmVudC5pZGwKKyAgICBkb20vV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5pZGwKICAgICBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmlkbAogICAg
IGRvbS9XaGVlbEV2ZW50LmlkbAogCkBAIC02MDQsNiArNjA2LDcgQEAgU0VUKFdlYkNvcmVfU09V
UkNFUwogICAgIGRvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5jcHAKICAgICBkb20vVmll
d3BvcnRBcmd1bWVudHMuY3BwCiAgICAgZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmNwcAorICAg
IGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcAogICAgIGRvbS9XZWJLaXRUcmFuc2l0aW9u
RXZlbnQuY3BwCiAgICAgZG9tL1doZWVsRXZlbnQuY3BwCiAgICAgZG9tL1dpbmRvd0V2ZW50Q29u
dGV4dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3YTZhZDFjMTM1OTJiZDQ0ODQ3NTk2MjQ4MzdmMGMwYzY1
MzE2MTNmLi5mMzEzZDRkYjE4MzJlNWIyNTNiMjI1YmUwYzJjNGJkNDVkYjI4ZDRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNzkgQEAKKzIwMTEtMTAtMTAgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgc3R1YiBpbXBsZW1l
bnRhdGlvbiBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Njg3MjkgZm9yIHRoZSBtZXRhYnVnLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
YWRkcyBhIHN0dWIgV2ViS2l0TXV0YXRpb25PYnNlcnZlciBhbmQgaXRzIHN1cHBvcnRpbmcgY2xh
c3NlcworICAgICAgICBNdXRhdGlvbkNhbGxiYWNrIGFuZCBNdXRhdGlvbk9ic2VydmVyT3B0aW9u
cy4KKyAgICAgICAgTm8gaW1wbGVtZW50YXRpb24gaXMgcHJvdmlkZWQgZm9yIHRoZSBhbGwtaW1w
b3J0YW50IG9ic2VydmUoKSBhbmQKKyAgICAgICAgZGlzY29ubmVjdCgpIG1ldGhvZHMuCisKKyAg
ICAgICAgTm90ZSB0aGF0IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIgaXMgdmVuZG9yLXByZWZpeGVk
IHNpbmNlIGl0IGhhcyBhCisgICAgICAgIGNvbnN0cnVjdG9yIGV4cG9zZWQgb24gRE9NV2luZG93
LiAgTm9uZSBvZiB0aGUgcmVzdCBvZiB0aGUgQVBJIG5lZWRzCisgICAgICAgIHByZWZpeGluZywg
YXMgaXQncyBvbmx5IGF2YWlsYWJsZSB2aWEgYSBjYWxsIHRocm91Z2ggYSBNdXRhdGlvbk9ic2Vy
dmVyCisgICAgICAgIGNhbGxiYWNrIChjcmVhdGVkIGJ5IGluc3RhbnRpYXRpbmcgV2ViS2l0TXV0
YXRpb25PYnNlcnZlcikuCisKKyAgICAgICAgR2l2ZW4gdGhlIG51bWJlciBvZiBmaWxlcyByZXF1
aXJlZCB0byBnZXQganVzdCB0aGUgc3R1YiB1cCBhbmQgcnVubmluZywKKyAgICAgICAgaXQgc2Vl
bXMgcmVhc29uYWJsZSB0byBsZWF2ZSB0aGUgYWN0dWFsIGltcGxlbWVudGF0aW9uIGZvciB0aGUg
bmV4dAorICAgICAgICBwYXRjaCAob3IgbW9yZSBsaWtlbHkgc2V2ZXJhbCBwYXRjaGVzKS4gIEkn
dmUgbGVmdCBGSVhNRXMgaW4gYWxsIHRoZSBwbGFjZXMKKyAgICAgICAgdGhhdCdsbCBuZWVkIGF1
Z21lbnRhdGlvbi4KKworICAgICAgICBUZXN0czogZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNl
cnZlci1jb25zdHJ1Y3Rvci5odG1sCisgICAgICAgICAgICAgICBmYXN0L211dGF0aW9uL29ic2Vy
dmUtZXhjZXB0aW9ucy5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFVzZUpTQy5jbWFrZToKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICog
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5o
OgorICAgICAgICAoV2ViQ29yZTo6SlNEaWN0aW9uYXJ5Ojp0cnlHZXRQcm9wZXJ0eSk6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpKU011dGF0aW9uQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KToKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9y
Ojpjb25zdHJ1Y3RKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZlKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpWOE11dGF0aW9uQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpWOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OmNvbnN0cnVjdG9y
Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpv
YnNlcnZlQ2FsbGJhY2spOgorICAgICAgICAqIGRvbS9NdXRhdGlvbkNhbGxiYWNrLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25DYWxsYmFjazo6fk11dGF0aW9uQ2FsbGJhY2sp
OgorICAgICAgICAqIGRvbS9NdXRhdGlvbkNhbGxiYWNrLmlkbDogQWRkZWQuCisgICAgICAgICog
ZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNdXRh
dGlvbk9ic2VydmVyT3B0aW9uczo6Y2hpbGRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0
aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRDaGlsZExpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TXV0
YXRpb25PYnNlcnZlck9wdGlvbnM6OmF0dHJpYnV0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TXV0
YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldEF0dHJpYnV0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6
TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmNoYXJhY3RlckRhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldENoYXJhY3RlckRhdGEpOgorICAgICAgICAo
V2ViQ29yZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnN1YnRyZWUpOgorICAgICAgICAoV2Vi
Q29yZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldFN1YnRyZWUpOgorICAgICAgICAoV2Vi
Q29yZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmF0dHJpYnV0ZU9sZFZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRBdHRyaWJ1dGVPbGRWYWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6Y2hhcmFjdGVy
RGF0YU9sZFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25z
OjpzZXRDaGFyYWN0ZXJEYXRhT2xkVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25P
YnNlcnZlck9wdGlvbnM6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKToKKyAgICAgICAgKiBkb20v
V2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V2Vi
S2l0TXV0YXRpb25PYnNlcnZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11
dGF0aW9uT2JzZXJ2ZXI6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6fldlYktpdE11dGF0aW9uT2JzZXJ2ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZSk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpkaXNjb25uZWN0KToKKyAgICAgICAg
KiBkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oOiBBZGRlZC4KKyAgICAgICAgKiBkb20vV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93
LmlkbDoKKwogMjAxMS0xMC0xMCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgTWFrZSBzdGF0aWMgZnVuY3Rpb25zIGluIEhUTUxTZWxlY3RFbGVtZW50LmNwcCBt
ZW1iZXIgZnVuY3Rpb25zIG9mIEhUTUxTZWxlY3RFbGVtZW50IGNsYXNzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAKaW5kZXggNjk5YTlhMjc3MjZiOTQ3NDk2ODE3OTk0NDdhOGY0Yjc5NjEwYzFk
Ni4uZWY4YmQ2YjkwOTRkYWE4MDljM2UwMjZjNzI5MTgyODkyN2ZkYjhiYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcApAQCAtMjQ0LDYgKzI0NCw3IEBACiAjaW5jbHVkZSAiSlNNZXRhZGF0
YS5jcHAiCiAjaW5jbHVkZSAiSlNNZXRhZGF0YUNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU01v
dXNlRXZlbnQuY3BwIgorI2luY2x1ZGUgIkpTTXV0YXRpb25DYWxsYmFjay5jcHAiCiAjaW5jbHVk
ZSAiSlNNdXRhdGlvbkV2ZW50LmNwcCIKICNpbmNsdWRlICJKU011dGF0aW9uUmVjb3JkLmNwcCIK
ICNpbmNsdWRlICJKU05hbWVkTm9kZU1hcC5jcHAiCkBAIC00NjgsNiArNDY5LDcgQEAKICNpbmNs
dWRlICJKU1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0Q1NT
VHJhbnNmb3JtVmFsdWUuY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0Q1NTTWF0cml4LmNwcCIKKyNp
bmNsdWRlICJKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0
UG9pbnQuY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCIKICNpbmNs
dWRlICJKU1dlYlNvY2tldC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA1
ZWEwNGRlMTUwODFmYjFmZTRiNTBmZDk3Njg3NjBlZGRiNzEzYzdlLi44NmQ4MzNiMTA1OGMwMGIx
MTUwZWFiNmFhZjdhYzU2M2RiMTZhMzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
QEAgLTI5Nyw2ICsyOTcsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBNZXRhZGF0YSBcCiAgICAg
TWV0YWRhdGFDYWxsYmFjayBcCiAgICAgTW91c2VFdmVudCBcCisgICAgTXV0YXRpb25DYWxsYmFj
ayBcCiAgICAgTXV0YXRpb25FdmVudCBcCiAgICAgTXV0YXRpb25SZWNvcmQgXAogICAgIE5hbWVk
Tm9kZU1hcCBcCkBAIC01NTMsNiArNTU0LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgV2ViS2l0
Q1NTVHJhbnNmb3JtVmFsdWUgXAogICAgIFdlYktpdEZsYWdzIFwKICAgICBXZWJLaXRMb3NlQ29u
dGV4dCBcCisgICAgV2ViS2l0TXV0YXRpb25PYnNlcnZlciBcCiAgICAgV2ViS2l0UG9pbnQgXAog
ICAgIFdlYktpdFRyYW5zaXRpb25FdmVudCBcCiAgICAgV2ViU29ja2V0IFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDVhZWVmZjY1MTA4MTMyZjdhNDFmMGRlMTJkMTY4Yjg0MmMy
ZTlmOTcuLjE4OWNiYjllNjYxNjhhYjk0YWE2MDM4OWQ2ODgyZmIxYmRkZmJlZDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNzg0LDYgKzc4NCw3IEBAIHdlYmNvcmVfc291cmNl
cyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20u
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5oIFwK
KwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yQ3VzdG9tLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcCBcCkBAIC04MjUsNiAr
ODI2LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1dlYktpdENTU0tleWZyYW1lc1J1bGVDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0Q1NTTWF0cml4Q3VzdG9tLmNwcCBcCisJU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRQb2ludEN1c3RvbS5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViU29ja2V0Q3VzdG9tLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0QmFzZS5jcHAgXApAQCAtMTIy
OSw4ICsxMjMxLDEwIEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9t
L01vdXNlRXZlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50LmggXAorCVNvdXJjZS9X
ZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9NdXRh
dGlvbkV2ZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQuaCBcCisJ
U291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2RvbS9NdXRhdGlvblJlY29yZC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9NdXRh
dGlvblJlY29yZC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmNwcCBcCkBA
IC0xMzQyLDYgKzEzNDYsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3Jl
L2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0QW5p
bWF0aW9uRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0QW5pbWF0aW9uRXZl
bnQuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIFwK
KwlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9kb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
ZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxF
dmVudC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlIGIvU291
cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCmluZGV4IGUxNmUyZDlkY2E1ZDY1M2Q4ODIyZjU0N2Rl
ZDM1NTcxZjQxMGI2ZDUuLmNhMmU0NzIyZGViZjEzNjllZTJjMDI0OWMxNzAwODNjZDA1Nzg3MGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Vc2VKU0MuY21ha2UKQEAgLTk1LDYgKzk1LDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9T
T1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNNZXNzYWdlQ2hhbm5lbEN1c3RvbS5jcHAKICAgICBi
aW5kaW5ncy9qcy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU01l
c3NhZ2VQb3J0Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTTXV0YXRpb25DYWxsYmFja0N1
c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAKICAgICBi
aW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU05vZGVD
dXN0b20uY3BwCkBAIC0xMjIsNiArMTIzLDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VT
CiAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlmcmFtZVJ1bGVDdXN0b20uY3BwCiAgICAg
YmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ3VzdG9tLmNwcAogICAgIGJpbmRp
bmdzL2pzL0pTV2ViS2l0Q1NTTWF0cml4Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTV2Vi
S2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdFBv
aW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdFVwbG9hZEN1c3RvbS5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQppbmRleCAwZWQ3ZDY3YWE3N2RlZmRhMjYwNzNkNzg1MzA4ZDU5ZTcxZjUzNWYwLi4w
OTU5ZTEzZDlmMTU4NDc4N2FkYzE4MTc4MTgyNmVhNzQ4ODU1OTRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CkBAIC0xMTkzLDYgKzExOTMsNyBAQAogICAgICAgICAgICAgJ2RvbS9NZXNzYWdlRXZlbnQuaWRs
JywKICAgICAgICAgICAgICdkb20vTWVzc2FnZVBvcnQuaWRsJywKICAgICAgICAgICAgICdkb20v
TW91c2VFdmVudC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9NdXRhdGlvbkNhbGxiYWNrLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL011dGF0aW9uRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20v
TXV0YXRpb25SZWNvcmQuaWRsJywKICAgICAgICAgICAgICdkb20vTmFtZWROb2RlTWFwLmlkbCcs
CkBAIC0xMjE4LDYgKzEyMTksNyBAQAogICAgICAgICAgICAgJ2RvbS9UcmVlV2Fsa2VyLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL1VJRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vV2ViS2l0
QW5pbWF0aW9uRXZlbnQuaWRsJywKKyAgICAgICAgICAgICdkb20vV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5pZGwnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaWRsJywK
ICAgICAgICAgICAgICdkb20vV2hlZWxFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkv
QmxvYi5pZGwnLApAQCAtMTg5Niw2ICsxODk4LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pT
TWVzc2FnZVBvcnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU01lc3Nh
Z2VQb3J0Q3VzdG9tLmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTXV0YXRpb25DYWxs
YmFja0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTmFtZWROb2RlTWFw
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vZGVDdXN0b20uY3BwJywKQEAgLTE5
MzUsNiArMTkzOCw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlm
cmFtZVJ1bGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dlYktpdENT
U0tleWZyYW1lc1J1bGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dl
YktpdENTU01hdHJpeEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTV2Vi
S2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pz
L0pTV2ViS2l0UG9pbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dl
YlNvY2tldEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTV29ya2VyQ29u
dGV4dEJhc2UuY3BwJywKQEAgLTIyMDUsNiArMjIwOSw3IEBACiAgICAgICAgICAgICAnYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZVBvcnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5oJywKKyAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2Rlc0NvbGxlY3Rpb24uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVzQ29sbGVjdGlvbi5o
JywKQEAgLTIyMzMsNiArMjIzOCw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4VWludDhBcnJheUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFdlYktpdEFuaW1hdGlvbkN1c3RvbS5jcHAnLAorICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRQb2ludENvbnN0cnVjdG9y
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViU29ja2V0Q3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ29udGV4dEN1
c3RvbS5jcHAnLApAQCAtNTIyMiw4ICs1MjI4LDEwIEBACiAgICAgICAgICAgICAnZG9tL01lc3Nh
Z2VQb3J0Q2hhbm5lbC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9Nb3VzZUV2ZW50LmNwcCcsCiAg
ICAgICAgICAgICAnZG9tL01vdXNlUmVsYXRlZEV2ZW50LmNwcCcsCisgICAgICAgICAgICAnZG9t
L011dGF0aW9uQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uRXZlbnQuY3Bw
JywKICAgICAgICAgICAgICdkb20vTXV0YXRpb25FdmVudC5oJywKKyAgICAgICAgICAgICdkb20v
TXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uUmVj
b3JkLmNwcCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uUmVjb3JkLmgnLAogICAgICAgICAg
ICAgJ2RvbS9OYW1lTm9kZUxpc3QuY3BwJywKQEAgLTUzMjYsNiArNTMzNCw4IEBACiAgICAgICAg
ICAgICAnZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCcsCiAgICAgICAgICAgICAnZG9tL1dlYktp
dEFuaW1hdGlvbkV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1dlYktpdEFuaW1hdGlvbkV2
ZW50LmgnLAorICAgICAgICAgICAgJ2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCcsCisg
ICAgICAgICAgICAnZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCcsCiAgICAgICAgICAgICAn
ZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRU
cmFuc2l0aW9uRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL1doZWVsRXZlbnQuY3BwJywKQEAg
LTc0OTksNiArNzUwOSw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU01ldGFkYXRhQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnPChQUk9E
VUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vdXNlRXZlbnQuY3BwJywKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW91c2VFdmVu
dC5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTXV0YXRpb25DYWxsYmFjay5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvbkNhbGxiYWNrLmgnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvbkV2ZW50LmNw
cCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U011dGF0aW9uRXZlbnQuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU011dGF0aW9uUmVjb3JkLmNwcCcsCkBAIC04MDMyLDYgKzgwNDQsOCBA
QAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNX
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0TG9zZUNvbnRleHQuY3BwJywKICAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0TG9zZUNv
bnRleHQuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwJywKKyAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5o
JywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
V2ViS2l0UG9pbnQuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTV2ViS2l0UG9pbnQuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAnLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnBybwppbmRleCAwNjRkYzk4MTUwZjIxMGM0NjNkM2Y4MTEwYzQzNjkwN2FjM2MwYjYx
Li5mY2QwYTNhMWRlMzU2ZTdhODQ2OTkxODFlYzcyNzBhNDgzMDk4OTYzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBy
bwpAQCAtMTkyLDYgKzE5Miw3IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TWVzc2FnZUNoYW5uZWxDb25zdHJ1Y3Rvci5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0
b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20v
VjhNZXNzYWdlRXZlbnRDdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20v
VjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TmFtZWROb2Rlc0NvbGxlY3Rpb24uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Tm9kZUN1c3RvbS5jcHAgXApAQCAtMjA2LDYgKzIwNyw3IEBAIHY4IHsKICAgICAgICAgYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhTdHlsZVNoZWV0TGlzdEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhXZWJLaXRBbmltYXRpb25DdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgXAogICAgICAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRQb2ludENvbnN0cnVjdG9yLmNwcCBcCiAgICAgICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwIFwKICAgICAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ3VzdG9tLmNwcCBcCkBAIC0zMTcsNiArMzE5LDcg
QEAgdjggewogICAgICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAgXAog
ICAgICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJp
bmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uaCBcCisgICAgICAgIGJpbmRpbmdzL2pzL0pT
TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU05hbWVk
Tm9kZU1hcEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3Rv
bS5jcHAgIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcCBcCkBAIC0zNDMs
NiArMzQ2LDcgQEAgdjggewogICAgICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdENTU0tleWZyYW1l
UnVsZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdENTU0tleWZyYW1l
c1J1bGVDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRDU1NNYXRyaXhD
dXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVy
Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTV2ViS2l0UG9pbnRDdXN0b20uY3Bw
IFwKICAgICAgICAgYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAgXAogICAg
ICAgICBiaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0VXBsb2FkQ3VzdG9tLmNwcCBcCkBAIC01
NjgsNiArNTcyLDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5k
aWNhdG9yLmNwcCBcCiAgICAgZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCBcCiAgICAgZG9tL1dl
YktpdEFuaW1hdGlvbkV2ZW50LmNwcCBcCisgICAgZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIu
Y3BwIFwKICAgICBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBcCiAgICAgZG9tL1doZWVs
RXZlbnQuY3BwIFwKICAgICBkb20vV2luZG93RXZlbnRDb250ZXh0LmNwcCBcCkBAIC0xNTMyLDcg
KzE1MzcsOSBAQCBIRUFERVJTICs9IFwKICAgICBkb20vTWVzc2FnZVBvcnQuaCBcCiAgICAgZG9t
L01vdXNlRXZlbnQuaCBcCiAgICAgZG9tL01vdXNlUmVsYXRlZEV2ZW50LmggXAorICAgIGRvbS9N
dXRhdGlvbkNhbGxiYWNrLmggXAogICAgIGRvbS9NdXRhdGlvbkV2ZW50LmggXAorICAgIGRvbS9N
dXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIFwKICAgICBkb20vTXV0YXRpb25SZWNvcmQuaCBcCiAg
ICAgZG9tL05hbWVkTm9kZU1hcC5oIFwKICAgICBkb20vTmFtZU5vZGVMaXN0LmggXApAQCAtMTU4
Myw2ICsxNTkwLDcgQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9y
LmggXAogICAgIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5oIFwKICAgICBkb20vV2ViS2l0QW5pbWF0
aW9uRXZlbnQuaCBcCisgICAgZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCBcCiAgICAgZG9t
L1dlYktpdFRyYW5zaXRpb25FdmVudC5oIFwKICAgICBkb20vV2hlZWxFdmVudC5oIFwKICAgICBl
ZGl0aW5nL0FwcGVuZE5vZGVDb21tYW5kLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAyNGI4ZTZhZGI3ZTM4YWM4YWVhOGZkMDQ1YTkwZTdh
MmQyMjliMmNhLi4yMDU2Y2JjNDgxYzczOGNiY2U1MTlhYjFmNWU4NDllODM4NTI1MThmIDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTE1OTgs
NiArMTE1OTgsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU011dGF0aW9uQ2FsbGJhY2suY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmls
ZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTXV0YXRpb25DYWxsYmFjay5oIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3Vy
YXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTXV0YXRp
b25FdmVudC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtMjMwMjIsNiAr
MjMwNzgsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTV2ViS2l0UG9pbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTYz
NDMzLDYgKzYzNTQ1LDU4IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3Bw
IgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWd8V2lu
MzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29s
CisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFz
ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJ
PFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJE
ZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIi
CisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJ
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
YmluZGluZ3NcanNcSlNOYW1lZE5vZGVNYXBDdXN0b20uY3BwIgogCQkJCQk+CiAJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgpAQCAtNjQ5NzMsNiArNjUxMzcsNTggQEAKIAkJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxi
aW5kaW5nc1xqc1xKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwIgorCQkJCQk+CisJ
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19D
RkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJ
CQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFt
ZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNc
SlNXZWJLaXRQb2ludEN1c3RvbS5jcHAiCiAJCQkJCT4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggZDJhNDI0MTJmOTIzYmE2NjIwYjUwYmQ1NmU0ODkxYWZiODBhYzM4Yy4uMDRmNTRlZmVi
MTMyYzI2MTA5Mzc4ODMyYzZiNDg4MTMyY2Y2ZjFlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQ2MSw2ICs1NDYxLDE2IEBA
CiAJCUM2RjA4RkJEMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDhGQkExNDMwRkU4RjAw
Njg1ODQ5IC8qIE11dGF0aW9uUmVjb3JkLmggKi87IH07CiAJCUM2RjA4RkM5MTQzMTAwMEQwMDY4
NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA4RkM3MTQzMTAwMEQwMDY4NTg0OSAvKiBKU011dGF0aW9u
UmVjb3JkLmNwcCAqLzsgfTsKIAkJQzZGMDhGQ0ExNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRp
b25SZWNvcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEM2RjA4RkM4MTQzMTAwMEQwMDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmggKi87IH07CisJ
CUM2RjA5MDBBMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwMTE0MzI3QjYxMDA2
ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5oICovOyB9OworCQlDNkYwOTAwRTE0MzI3QjYxMDA2
ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwNTE0MzI3QjYxMDA2ODU4NDkgLyogV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5jcHAgKi87IH07CisJCUM2RjA5MDBGMTQzMjdCNjEwMDY4NTg0
OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwNjE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5oICovOyB9OworCQlDNkYwOTAxMTE0MzI3QjYxMDA2ODU4NDkgLyogTXV0
YXRpb25PYnNlcnZlck9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEM2RjA5MDA4MTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbk9ic2VydmVy
T3B0aW9ucy5oICovOyB9OworCQlDNkYwOTAyODE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlv
bkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEM2RjA5MDIwMTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suY3BwICov
OyB9OworCQlDNkYwOTAyOTE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAyMTE0
MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmggKi87IH07CisJCUM2RjA5MDJD
MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkwMjQxNDMyN0Q0RjAw
Njg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgKi87IH07CisJCUM2RjA5MDJE
MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RjA5MDI1MTQzMjdENEYwMDY4
NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCAqLzsgfTsKKwkJQzZGMDkxN0YxNDNB
MkJCOTAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTE3RTE0M0EyQkI5
MDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCAqLzsgfTsKKwkJ
QzZGMDkxODUxNDNBNkMzQjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTE4NDE0
M0E2QzNCMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCAqLzsgfTsKIAkJ
QzZGNDEwNDcxMzBDNkU4OTAwMzkzREU0IC8qIEVudHJ5QmFzZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkY0MTA0NjEzMEM2RTg5MDAzOTNERTQg
LyogRW50cnlCYXNlLmNwcCAqLzsgfTsKIAkJQ0EzQkY2N0MxMEQ5OUJBRTAwRTZDRTUzIC8qIFNj
cm9sbEFuaW1hdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENBM0JGNjdCMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5jcHAgKi87
IH07CiAJCUNBM0JGNjdFMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0EzQkY2N0QxMEQ5OUJB
RTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEyNzQ3LDYgKzEyNzU3LDE4IEBACiAJCUM2RjA4RkJC
MTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gTXV0YXRpb25SZWNvcmQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
NkYwOEZDNzE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlvblJlY29yZC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU011dGF0aW9uUmVjb3JkLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzZGMDhGQzgxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0
YXRpb25SZWNvcmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNdXRhdGlv
blJlY29yZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAwMTE0MzI3QjYx
MDA2ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBNdXRhdGlvbkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUM2RjA5MDAyMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBNdXRhdGlvbkNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQzZGMDkwMDUxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDA2
MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkwMDcxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAwODE0MzI3
QjYxMDA2ODU4NDkgLyogTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkwMjAxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25D
YWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU011dGF0
aW9uQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAyMTE0
MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTTXV0YXRpb25DYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDNkYwOTAyNDE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5
MDI1MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MTdFMTQzQTJCQjkwMDY4NTg0OSAvKiBK
U1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkxODQxNDNBNkMzQjAwNjg1ODQ5IC8qIEpTTXV0
YXRpb25DYWxsYmFja0N1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDNkY0MTA0NjEzMEM2RTg5MDAzOTNERTQgLyogRW50cnlCYXNlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEVudHJ5QmFzZS5jcHA7IHBhdGggPSBmaWxl
YXBpL0VudHJ5QmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBM0JGNjdC
MTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxBbmltYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxBbmltYXRvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTgyMjAsNiArMTgyNDIsOCBAQAogCQkJCTQ5QzlG
NDhCMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlhU3RyZWFtVHJhY2suaCAqLywKIAkJCQk0OUM5
RjQ4QzEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRyYWNrTGlzdC5jcHAgKi8sCiAJ
CQkJNDlDOUY0OEQxM0Q1N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1UcmFja0xpc3QuaCAq
LywKKwkJCQlDNkYwOTAyMDE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmNw
cCAqLywKKwkJCQlDNkYwOTAyMTE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNr
LmggKi8sCiAJCQkJQzZGMDhGQzcxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25SZWNvcmQu
Y3BwICovLAogCQkJCUM2RjA4RkM4MTQzMTAwMEQwMDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3Jk
LmggKi8sCiAJCQkJQkNEOUMyQkMwQzE3QjY5RTAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwLmNw
cCAqLywKQEAgLTE4MjU0LDYgKzE4Mjc4LDggQEAKIAkJCQk3NTQxNUQ1NDEyOUFCMkQyMDAzQUQ2
NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdExpc3QuaCAqLywKIAkJCQk2NURGMzFFRjA5RDFDQzYw
MDAwQkUzMjUgLyogSlNUZXh0LmNwcCAqLywKIAkJCQk2NURGMzFGMDA5RDFDQzYwMDAwQkUzMjUg
LyogSlNUZXh0LmggKi8sCisJCQkJQzZGMDkwMjQxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5jcHAgKi8sCisJCQkJQzZGMDkwMjUxNDMyN0Q0RjAwNjg1ODQ5IC8q
IEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBDb3JlOwog
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE5NjAyLDYgKzE5NjI4LDcgQEAKIAkJCQk0
MTBCN0U3MTEwNDVGQUIwMDBEODIyNEYgLyogSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwICovLAog
CQkJCUUxQURFRDQ2MEU3NkI4REQwMDRBMUE1RSAvKiBKU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCAq
LywKIAkJCQk0MUY1ODRDNjEwNDY1MkNCMDA5Q0FBNjQgLyogSlNNZXNzYWdlUG9ydEN1c3RvbS5o
ICovLAorCQkJCUM2RjA5MTg0MTQzQTZDM0IwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2tD
dXN0b20uY3BwICovLAogCQkJCUJDRDlDMjVGMEMxN0FBNjcwMDVDOTBBMiAvKiBKU05hbWVkTm9k
ZU1hcEN1c3RvbS5jcHAgKi8sCiAJCQkJQTlDNkU2NDgwRDc0NjVEODAwNjQ0MkU5IC8qIEpTTmF2
aWdhdG9yQ3VzdG9tLmNwcCAqLywKIAkJCQlCQ0Q5QzI2MDBDMTdBQTY3MDA1QzkwQTIgLyogSlNO
b2RlQ3VzdG9tLmNwcCAqLywKQEAgLTE5NjM0LDYgKzE5NjYxLDcgQEAKIAkJCQlFMUFEMTRDNDEy
OTczNTQ5MDBBQ0E5ODkgLyogSlNXZWJLaXRDU1NLZXlmcmFtZVJ1bGVDdXN0b20uY3BwICovLAog
CQkJCUUxQUQxNEI0MTI5NzM0Q0EwMEFDQTk4OSAvKiBKU1dlYktpdENTU0tleWZyYW1lc1J1bGVD
dXN0b20uY3BwICovLAogCQkJCUJDMjc1QjdDMTFDNUQyMzUwMEM5MjA2QyAvKiBKU1dlYktpdENT
U01hdHJpeEN1c3RvbS5jcHAgKi8sCisJCQkJQzZGMDkxN0UxNDNBMkJCOTAwNjg1ODQ5IC8qIEpT
V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgKi8sCiAJCQkJQkMyNzVCNzgxMUM1RDFD
MzAwQzkyMDZDIC8qIEpTV2ViS2l0UG9pbnRDdXN0b20uY3BwICovLAogCQkJCTUxOEEzNEM2MTAy
NkM4QzkwMDFCNjg5NiAvKiBKU1dlYlNvY2tldEN1c3RvbS5jcHAgKi8sCiAJCQkJRTE4MjU4QUIw
RUYzQ0Q3MDAwOTMzMjQyIC8qIEpTV29ya2VyQ29udGV4dEN1c3RvbS5jcHAgKi8sCkBAIC0yMTA4
MSw5ICsyMTEwOSwxMiBAQAogCQkJCTE0MUI5NEU1MDlFQzQyMjMwMDBFOTQxMyAvKiBNb3VzZUV2
ZW50LmlkbCAqLywKIAkJCQk4NTAzMUIzMTBBNDRFRkM3MDBGOTkyRTAgLyogTW91c2VSZWxhdGVk
RXZlbnQuY3BwICovLAogCQkJCTg1MDMxQjMyMEE0NEVGQzcwMEY5OTJFMCAvKiBNb3VzZVJlbGF0
ZWRFdmVudC5oICovLAorCQkJCUM2RjA5MDAxMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNh
bGxiYWNrLmggKi8sCisJCQkJQzZGMDkwMDIxNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uQ2Fs
bGJhY2suaWRsICovLAogCQkJCTg1MDMxQjMzMEE0NEVGQzcwMEY5OTJFMCAvKiBNdXRhdGlvbkV2
ZW50LmNwcCAqLywKIAkJCQk4NTAzMUIzNDBBNDRFRkM3MDBGOTkyRTAgLyogTXV0YXRpb25FdmVu
dC5oICovLAogCQkJCTkzRUVDMUYzMDlDMjg3NzcwMEM1MTVEMSAvKiBNdXRhdGlvbkV2ZW50Lmlk
bCAqLywKKwkJCQlDNkYwOTAwODE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25PYnNlcnZlck9w
dGlvbnMuaCAqLywKIAkJCQlDNkYwOEZCOTE0MzBGRThGMDA2ODU4NDkgLyogTXV0YXRpb25SZWNv
cmQuY3BwICovLAogCQkJCUM2RjA4RkJBMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29y
ZC5oICovLAogCQkJCUM2RjA4RkJCMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5p
ZGwgKi8sCkBAIC0yMTIyMiw2ICsyMTI1Myw5IEBACiAJCQkJMzFDMEZGMUIwRTRDRUI2RTAwN0Q2
RkU1IC8qIFdlYktpdEFuaW1hdGlvbkV2ZW50LmNwcCAqLywKIAkJCQkzMUMwRkYxQzBFNENFQjZF
MDA3RDZGRTUgLyogV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCAqLywKIAkJCQkzMUMwRkYxRDBFNENF
QjZFMDA3RDZGRTUgLyogV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsICovLAorCQkJCUM2RjA5MDA1
MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCAqLywKKwkJCQlD
NkYwOTAwNjE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oICovLAor
CQkJCUM2RjA5MDA3MTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmlk
bCAqLywKIAkJCQkzMUMwRkYxRTBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlvbkV2
ZW50LmNwcCAqLywKIAkJCQkzMUMwRkYxRjBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNp
dGlvbkV2ZW50LmggKi8sCiAJCQkJMzFDMEZGMjAwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdFRy
YW5zaXRpb25FdmVudC5pZGwgKi8sCkBAIC0yMzIxMiw2ICsyMzI0Niw3IEBACiAJCQkJODk4Nzg1
QjcxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0YWRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5
ODc4NUI5MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhQ2FsbGJhY2suaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4NjYyOUQxMDlEQTJCNDgwMDk2MzNBNSAvKiBKU01vdXNlRXZlbnQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUM2RjA5MDI5MTQzMjdENEYwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTY1REYzMUZDMDlEMUNDNjAwMDBCRTMyNSAvKiBK
U011dGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM2RjA4RkNBMTQzMTAwMEQwMDY4
NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Q5QzJDMTBD
MTdCNjlFMDA1QzkwQTIgLyogSlNOYW1lZE5vZGVNYXAuaCBpbiBIZWFkZXJzICovLApAQCAtMjM0
NTIsNiArMjM0ODcsNyBAQAogCQkJCTMxNjExRTVCMEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktp
dENTU1RyYW5zZm9ybVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4OTg3ODVCNTEyMkNBMkE3
MDAzQUFCREEgLyogSlNXZWJLaXRGbGFncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMUQ1QzEx
MkQ1MzM1NjAwODMyQkVDIC8qIEpTV2ViS2l0TG9zZUNvbnRleHQuaCBpbiBIZWFkZXJzICovLAor
CQkJCUM2RjA5MDJEMTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ5NEJENzlFMEY1NUM5NEMwMDc0NzgyOCAvKiBKU1dlYktp
dFBvaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUMwRkY0MDBFNENFRkFDMDA3RDZGRTUgLyog
SlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTVEQTVFMEZEMTAy
Qjk1MzgwMDA4OENGOSAvKiBKU1dlYlNvY2tldC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzU4NSw3
ICsyMzYyMSw5IEBACiAJCQkJODUwMzFCNDgwQTQ0RUZDNzAwRjk5MkUwIC8qIE1vdXNlUmVsYXRl
ZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURGQzA5OUU2NDkyMDA1NkU1ODEgLyog
TW92ZVNlbGVjdGlvbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIxQUQ0RTYzMTNBMTJB
MEIwMDg0NkIyNyAvKiBNdXRhYmxlVGV4dFRyYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlDNkYw
OTAwQTE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJODUwMzFCNEEwQTQ0RUZDNzAwRjk5MkUwIC8qIE11dGF0aW9uRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUM2RjA5MDExMTQzMjdCNjEwMDY4NTg0OSAvKiBNdXRhdGlvbk9ic2VydmVy
T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzZGMDhGQkQxNDMwRkU4RjAwNjg1ODQ5IC8q
IE11dGF0aW9uUmVjb3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODE4NzIyMzA5NzdEM0MwMDA1
ODI2RDkgLyogTmFtZWROb2RlTWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODE4NzIxRTA5NzdE
M0MwMDA1ODI2RDkgLyogTmFtZU5vZGVMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTI0NDUzLDYg
KzI0NDkxLDcgQEAKIAkJCQlCQzlBREQyMzBDQzQwMzI2MDAwOThDNEMgLyogV2ViS2l0Q1NTVHJh
bnNmb3JtVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5ODc4NTY2MTIyQ0EwNjQwMDNBQUJE
QSAvKiBXZWJLaXRGbGFncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMUQ1QkIxMkQ1MzJDNDAw
ODMyQkVDIC8qIFdlYktpdExvc2VDb250ZXh0LmggaW4gSGVhZGVycyAqLywKKwkJCQlDNkYwOTAw
RjE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDk0QkQ3OTUwRjU1QzhFRTAwNzQ3ODI4IC8qIFdlYktpdFBvaW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkzMUMwRkYyNTBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlv
bkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkNGMzMyRjBGMkI5QTI1MDA0QjY3OTUgLyog
V2ViTGF5ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjYyNDYsNiArMjYyODUsOCBAQAogCQkJCTg5
ODc4NUI2MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTg5ODc4NUI4MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhQ2FsbGJhY2suY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTg2NjI5RDIwOURBMkI0ODAwOTYzM0E1IC8qIEpTTW91c2VFdmVu
dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNkYwOTAyODE0MzI3RDRGMDA2ODU4NDkgLyogSlNN
dXRhdGlvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUM2RjA5MTg1MTQzQTZDM0Iw
MDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNjVERjMxRkIwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTTXV0YXRpb25FdmVudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlDNkYwOEZDOTE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlvblJlY29y
ZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0Q5QzJDMDBDMTdCNjlFMDA1QzkwQTIgLyogSlNO
YW1lZE5vZGVNYXAuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNjUxOCw2ICsyNjU1OSw4IEBACiAJ
CQkJMzE2MTFFNUEwRTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODk4Nzg1QjQxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2Vi
S2l0RmxhZ3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNGMUQ1QzAxMkQ1MzM1NjAwODMyQkVD
IC8qIEpTV2ViS2l0TG9zZUNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzZGMDkwMkMx
NDMyN0Q0RjAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlDNkYwOTE3RjE0M0EyQkI5MDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9i
c2VydmVyQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5NEJENzlEMEY1NUM5NEMwMDc0
NzgyOCAvKiBKU1dlYktpdFBvaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMjc1Qjc5MTFD
NUQxQzMwMEM5MjA2QyAvKiBKU1dlYktpdFBvaW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTMxQzBGRjNGMEU0Q0VGQUMwMDdENkZFNSAvKiBKU1dlYktpdFRyYW5zaXRpb25FdmVudC5j
cHAgaW4gU291cmNlcyAqLywKQEAgLTI3MzIwLDYgKzI3MzYzLDcgQEAKIAkJCQk0OTgzOTE1ODBG
MUU3NzY5MDBDMjM3ODIgLyogV2ViS2l0Q1NTTWF0cml4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDOUFERDgwMENDNDA5MjIwMDA5OEM0QyAvKiBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk5M0YxRDVCQTEyRDUzMkM0MDA4MzJCRUMgLyogV2ViS2l0TG9z
ZUNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzZGMDkwMEUxNDMyN0I2MTAwNjg1ODQ5
IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFDMEZG
MjQwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdFRyYW5zaXRpb25FdmVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRkNGMzMyRTBGMkI5QTI1MDA0QjY3OTUgLyogV2ViTGF5ZXIubW0gaW4gU291
cmNlcyAqLywKIAkJCQlFMUEzMTYyRTEzNEJDMzJEMDA3QzlBNEYgLyogV2ViTlNBdHRyaWJ1dGVk
U3RyaW5nRXh0cmFzLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGljdGlvbmFyeS5oCmluZGV4IDc3OTBkNzBmZTE5ZGQ3ZDIzNzQ2Yjc2ZmY0NjAyNWQzZTg3
MmRiOGMuLmYxODBiYTUzMWI0OWM3ZjU5N2ZhOWJmYTUyNmYzZGJiYjQ5Mzc4YjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oCkBAIC01Miw2ICs1Miw5IEBAIHB1
YmxpYzoKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgUmVzdWx0PgogICAgIGJv
b2wgdHJ5R2V0UHJvcGVydHkoY29uc3QgY2hhciogcHJvcGVydHlOYW1lLCBUKiBjb250ZXh0LCB2
b2lkICgqc2V0dGVyKShUKiBjb250ZXh0LCBjb25zdCBSZXN1bHQmKSk7CiAKKyAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4KKyAgICBib29sIHRyeUdldFByb3BlcnR5KGNvbnN0IGNoYXIqIHByb3Bl
cnR5TmFtZSwgVCYgY29udGV4dCwgdm9pZCAoVDo6KnNldHRlcikoYm9vbCkpOworCiBwcml2YXRl
OgogICAgIGVudW0gR2V0UHJvcGVydHlSZXN1bHQgewogICAgICAgICBFeGNlcHRpb25UaHJvd24s
CkBAIC0xMDMsNiArMTA2LDMwIEBAIGJvb2wgSlNEaWN0aW9uYXJ5Ojp0cnlHZXRQcm9wZXJ0eShj
b25zdCBjaGFyKiBwcm9wZXJ0eU5hbWUsIFQqIGNvbnRleHQsIHZvaWQgKCpzCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorYm9vbCBKU0RpY3Rpb25hcnk6OnRy
eUdldFByb3BlcnR5KGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSwgVCYgY29udGV4dCwgdm9pZCAo
VDo6KnNldHRlcikoYm9vbCkpCit7CisgICAgSlNDOjpKU1ZhbHVlIHZhbHVlOworICAgIHN3aXRj
aCAodHJ5R2V0UHJvcGVydHkocHJvcGVydHlOYW1lLCB2YWx1ZSkpIHsKKyAgICBjYXNlIEV4Y2Vw
dGlvblRocm93bjoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGNhc2UgUHJvcGVydHlGb3Vu
ZDogeworICAgICAgICBib29sIHJlc3VsdDsKKyAgICAgICAgY29udmVydFZhbHVlKG1fZXhlYywg
dmFsdWUsIHJlc3VsdCk7CisKKyAgICAgICAgaWYgKG1fZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgKGNvbnRleHQuKnNldHRlcikocmVz
dWx0KTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgTm9Qcm9wZXJ0eUZvdW5kOgor
ICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdGVtcGxhdGUg
PHR5cGVuYW1lIFJlc3VsdD4KIGJvb2wgSlNEaWN0aW9uYXJ5Ojp0cnlHZXRQcm9wZXJ0eShjb25z
dCBjaGFyKiBwcm9wZXJ0eU5hbWUsIFJlc3VsdCYgZmluYWxSZXN1bHQpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40NjQ3NTZjMWI4NjAwZjEzMTNjNGEwMGFkNGYyMGNjYjg1MmQ1MzI2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNdXRhdGlvbkNh
bGxiYWNrQ3VzdG9tLmNwcApAQCAtMCwwICsxLDcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisj
aWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgIkpTTXV0YXRpb25DYWxs
YmFjay5oIgorCisjaW5jbHVkZSAiSlNNdXRhdGlvblJlY29yZC5oIgorI2luY2x1ZGUgIkpTV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCIKKyNpbmNsdWRlIDxydW50aW1lL0pTTG9jay5oPgorCit1c2luZyBuYW1lc3BhY2UgSlNDOwor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Jvb2wgSlNNdXRhdGlvbkNhbGxiYWNrOjpoYW5kbGVF
dmVudChNdXRhdGlvblJlY29yZEFycmF5KiBtdXRhdGlvbnMsIFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXIqIG9ic2VydmVyKQoreworICAgIGlmICghY2FuSW52b2tlQ2FsbGJhY2soKSkKKyAgICAgICAg
cmV0dXJuIHRydWU7CisKKyAgICBSZWZQdHI8SlNNdXRhdGlvbkNhbGxiYWNrPiBwcm90ZWN0KHRo
aXMpOworCisgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKKworICAgIEV4
ZWNTdGF0ZSogZXhlYyA9IG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsKKwor
ICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIG11dGF0aW9uTGlzdDsKKyAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IG11dGF0aW9ucy0+c2l6ZSgpOyArK2kpCisgICAgICAgIG11dGF0aW9uTGlzdC5h
cHBlbmQodG9KUyhleGVjLCBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLCBtdXRhdGlvbnMtPmF0KGkp
LmdldCgpKSk7CisKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgIGFyZ3MuYXBw
ZW5kKGNvbnN0cnVjdEFycmF5KGV4ZWMsIG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCksIG11dGF0aW9u
TGlzdCkpOworICAgIGFyZ3MuYXBwZW5kKHRvSlMoZXhlYywgbV9kYXRhLT5nbG9iYWxPYmplY3Qo
KSwgb2JzZXJ2ZXIpKTsKKworICAgIGJvb2wgcmFpc2VkRXhjZXB0aW9uID0gZmFsc2U7CisgICAg
bV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCAmcmFpc2VkRXhjZXB0aW9uKTsKKyAgICByZXR1
cm4gIXJhaXNlZEV4Y2VwdGlvbjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmVlZDE1ZGIwN2QwM2VhODlhODA0ZjA5ZmUwNDE3ZWY3NjZkMzYzZTkKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0
aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCkBAIC0wLDAgKzEsOTIgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSAiSlNXZWJLaXRN
dXRhdGlvbk9ic2VydmVyLmgiCisKKyNpbmNsdWRlICJKU0RpY3Rpb25hcnkuaCIKKyNpbmNsdWRl
ICJKU011dGF0aW9uQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU05vZGUuaCIKKyNpbmNsdWRlICJN
dXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIgorI2luY2x1ZGUgIk5vZGUuaCIKKyNpbmNsdWRlICJX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgiCisjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgorCit1
c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0VuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3I6OmNv
bnN0cnVjdEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlcihFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAg
aWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDEpCisgICAgICAgIHJldHVybiB0aHJvd1ZNRXJy
b3IoZXhlYywgY3JlYXRlVHlwZUVycm9yKGV4ZWMsICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsK
KworICAgIEpTT2JqZWN0KiBvYmplY3QgPSBleGVjLT5hcmd1bWVudCgwKS5nZXRPYmplY3QoKTsK
KyAgICBpZiAoIW9iamVjdCkKKyAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVh
dGVUeXBlRXJyb3IoZXhlYywgIkFyZ3VtZW50IGlzIG5vdCBhbiBPYmplY3QiKSk7CisKKyAgICBK
U1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3RvcioganNDb25zdHJ1Y3RvciA9IHN0YXRp
Y19jYXN0PEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yKj4oZXhlYy0+Y2FsbGVl
KCkpOworICAgIFJlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPiBjYWxsYmFjayA9IEpTTXV0YXRpb25D
YWxsYmFjazo6Y3JlYXRlKG9iamVjdCwganNDb25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCkpOwor
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoYXNPYmplY3QodG9KUyhleGVjLCBqc0NvbnN0cnVj
dG9yLT5nbG9iYWxPYmplY3QoKSwgV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6Y3JlYXRlKGNhbGxi
YWNrLnJlbGVhc2UoKSkpKSk7Cit9CisKK0pTVmFsdWUgSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVy
OjpvYnNlcnZlKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBpZiAoZXhlYy0+YXJndW1lbnRDb3Vu
dCgpIDwgMikKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhlYywgY3JlYXRlVHlwZUVycm9y
KGV4ZWMsICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKyAgICBOb2RlKiB0YXJnZXQgPSB0b05v
ZGUoZXhlYy0+YXJndW1lbnQoMCkpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAg
ICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisKKyAgICBKU1ZhbHVlIG9wdGlvbnNWYWx1ZSA9
IGV4ZWMtPmFyZ3VtZW50KDEpOworICAgIGlmIChvcHRpb25zVmFsdWUuaXNVbmRlZmluZWRPck51
bGwoKSkKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhlYywgY3JlYXRlVHlwZUVycm9yKGV4
ZWMsICJPcHRpb25zIG11c3QgYmUgYW4gb2JqZWN0IikpOworCisgICAgSlNEaWN0aW9uYXJ5IGRp
Y3Rpb25hcnkoZXhlYywgb3B0aW9uc1ZhbHVlLnRvT2JqZWN0KGV4ZWMpKTsKKworICAgIFJlZlB0
cjxNdXRhdGlvbk9ic2VydmVyT3B0aW9ucz4gb3B0aW9ucyA9IE11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zOjpjcmVhdGUoKTsKKyAgICBpZiAoIWRpY3Rpb25hcnkudHJ5R2V0UHJvcGVydHkoImNoaWxk
TGlzdCIsICpvcHRpb25zLCAmTXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldENoaWxkTGlzdCkK
KyAgICAgICAgfHwgIWRpY3Rpb25hcnkudHJ5R2V0UHJvcGVydHkoImF0dHJpYnV0ZXMiLCAqb3B0
aW9ucywgJk11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRBdHRyaWJ1dGVzKQorICAgICAgICB8
fCAhZGljdGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgiY2hhcmFjdGVyRGF0YSIsICpvcHRpb25zLCAm
TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OnNldENoYXJhY3RlckRhdGEpCisgICAgICAgIHx8ICFk
aWN0aW9uYXJ5LnRyeUdldFByb3BlcnR5KCJzdWJ0cmVlIiwgKm9wdGlvbnMsICZNdXRhdGlvbk9i
c2VydmVyT3B0aW9uczo6c2V0U3VidHJlZSkKKyAgICAgICAgfHwgIWRpY3Rpb25hcnkudHJ5R2V0
UHJvcGVydHkoImF0dHJpYnV0ZU9sZFZhbHVlIiwgKm9wdGlvbnMsICZNdXRhdGlvbk9ic2VydmVy
T3B0aW9uczo6c2V0QXR0cmlidXRlT2xkVmFsdWUpCisgICAgICAgIHx8ICFkaWN0aW9uYXJ5LnRy
eUdldFByb3BlcnR5KCJjaGFyYWN0ZXJEYXRhT2xkVmFsdWUiLCAqb3B0aW9ucywgJk11dGF0aW9u
T2JzZXJ2ZXJPcHRpb25zOjpzZXRDaGFyYWN0ZXJEYXRhT2xkVmFsdWUpKQorICAgICAgICByZXR1
cm4ganNVbmRlZmluZWQoKTsKKworICAgIGltcGwoKS0+b2JzZXJ2ZSh0YXJnZXQsIG9wdGlvbnMu
Z2V0KCkpOworICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TXV0YXRpb25DYWxsYmFja0N1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNdXRhdGlvbkNh
bGxiYWNrQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZjQ4NzhlNmY2NjBjODYzNDc5MzRiMTNhYTVi
ZWY4ZWZiM2VlYWE3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAKQEAgLTAsMCArMSw4OCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNp
bmNsdWRlICJWOE11dGF0aW9uQ2FsbGJhY2suaCIKKworI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaCIKKyNpbmNsdWRlICJWOEJpbmRpbmcuaCIKKyNpbmNsdWRlICJWOEN1c3RvbVZv
aWRDYWxsYmFjay5oIgorI2luY2x1ZGUgIlY4TXV0YXRpb25SZWNvcmQuaCIKKyNpbmNsdWRlICJW
OFByb3h5LmgiCisjaW5jbHVkZSAiVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgiCisjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworYm9vbCBWOE11dGF0aW9uQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KE11dGF0aW9u
UmVjb3JkQXJyYXkqIG11dGF0aW9ucywgV2ViS2l0TXV0YXRpb25PYnNlcnZlciogb2JzZXJ2ZXIp
Cit7CisgICAgQVNTRVJUKG11dGF0aW9ucyk7CisgICAgaWYgKCFtdXRhdGlvbnMpCisgICAgICAg
IHJldHVybiB0cnVlOworCisgICAgaWYgKCFjYW5JbnZva2VDYWxsYmFjaygpKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKKworICAgIHY4
OjpIYW5kbGU8djg6OkNvbnRleHQ+IHY4Q29udGV4dCA9IHRvVjhDb250ZXh0KHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSwgbV93b3JsZENvbnRleHQpOworICAgIGlmICh2OENvbnRleHQuSXNFbXB0
eSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHY4OjpDb250ZXh0OjpTY29wZSBzY29w
ZSh2OENvbnRleHQpOworCisgICAgdjg6OkxvY2FsPHY4OjpBcnJheT4gbXV0YXRpb25zQXJyYXkg
PSB2ODo6QXJyYXk6Ok5ldyhtdXRhdGlvbnMtPnNpemUoKSk7CisgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBtdXRhdGlvbnMtPnNpemUoKTsgKytpKQorICAgICAgICBtdXRhdGlvbnNBcnJheS0+
U2V0KHY4OjpJbnRlZ2VyOjpOZXcoaSksIHRvVjgobXV0YXRpb25zLT5hdChpKS5nZXQoKSkpOwor
CisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG9ic2VydmVySGFuZGxlID0gdG9WOChvYnNlcnZl
cik7CisgICAgaWYgKG9ic2VydmVySGFuZGxlLklzRW1wdHkoKSkgeworICAgICAgICBDUkFTSCgp
OworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gYXJndltdID0geworICAgICAgICBtdXRhdGlvbnNBcnJheSwKKyAgICAgICAgb2JzZXJ2ZXJI
YW5kbGUKKyAgICB9OworCisgICAgYm9vbCBjYWxsYmFja1JldHVyblZhbHVlID0gZmFsc2U7Cisg
ICAgcmV0dXJuICFpbnZva2VDYWxsYmFjayhtX2NhbGxiYWNrLCAyLCBhcmd2LCBjYWxsYmFja1Jl
dHVyblZhbHVlLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25P
YnNlcnZlckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YmZkMjk5NmNkNWVm
MDljNGMwMmQ5OGRiNzI2NTRiMWQ5YTg5Mzc3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5j
cHAKQEAgLTAsMCArMSwxMTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTVVU
QVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSAiVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgi
CisKKyNpbmNsdWRlICJNdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oIgorI2luY2x1ZGUgIk9wdGlv
bnNPYmplY3QuaCIKKyNpbmNsdWRlICJWOEJpbmRpbmcuaCIKKyNpbmNsdWRlICJWOEJpbmRpbmdN
YWNyb3MuaCIKKyNpbmNsdWRlICJWOERPTVdyYXBwZXIuaCIKKyNpbmNsdWRlICJWOE11dGF0aW9u
Q2FsbGJhY2suaCIKKyNpbmNsdWRlICJWOE5vZGUuaCIKKyNpbmNsdWRlICJWOFByb3h5LmgiCisj
aW5jbHVkZSAiVjhVdGlsaXRpZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpjb25zdHJ1Y3RvckNhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJET00uV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5Db25zdHJ1Y3RvciIpOworCisgICAgaWYgKCFhcmdzLklzQ29u
c3RydWN0Q2FsbCgpKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiRE9NIG9iamVjdCBjb25z
dHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIiwgVjhQcm94eTo6VHlwZUVy
cm9yKTsKKworICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKKyAgICAgICAgcmV0dXJuIHRocm93
RXJyb3IoIk5vdCBlbm91Z2ggYXJndW1lbnRzIiwgVjhQcm94eTo6VHlwZUVycm9yKTsKKworICAg
IHY4OjpMb2NhbDx2ODo6VmFsdWU+IGFyZyA9IGFyZ3NbMF07CisgICAgaWYgKCFhcmctPklzT2Jq
ZWN0KCkpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJBcmd1bWVudCBtdXN0IGJlIGFuIE9i
amVjdCIsIFY4UHJveHk6OlR5cGVFcnJvcik7CisKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0ID0gZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIGlmICghY29udGV4
dCkKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoIldlYktpdE11dGF0aW9uT2JzZXJ2ZXIgY29u
c3RydWN0b3IncyBhc3NvY2lhdGVkIGZyYW1lIHVuYXZhaWxhYmxlIiwgVjhQcm94eTo6UmVmZXJl
bmNlRXJyb3IpOworCisgICAgUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+IGNhbGxiYWNrID0gVjhN
dXRhdGlvbkNhbGxiYWNrOjpjcmVhdGUoYXJnLCBjb250ZXh0KTsKKyAgICBSZWZQdHI8V2ViS2l0
TXV0YXRpb25PYnNlcnZlcj4gb2JzZXJ2ZXIgPSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpjcmVh
dGUoY2FsbGJhY2sucmVsZWFzZSgpKTsKKworICAgIFY4RE9NV3JhcHBlcjo6c2V0RE9NV3JhcHBl
cihhcmdzLkhvbGRlcigpLCAmaW5mbywgb2JzZXJ2ZXIuZ2V0KCkpOworICAgIG9ic2VydmVyLT5y
ZWYoKTsKKyAgICBWOERPTVdyYXBwZXI6OnNldEpTV3JhcHBlckZvckRPTU9iamVjdChvYnNlcnZl
ci5nZXQoKSwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD46Ok5ldyhhcmdzLkhvbGRlcigpKSk7
CisgICAgcmV0dXJuIGFyZ3MuSG9sZGVyKCk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6Om9ic2VydmVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1l
bnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUygiRE9NLldlYktpdE11dGF0aW9uT2JzZXJ2ZXIu
b2JzZXJ2ZSIpOworICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMikKKyAgICAgICAgcmV0dXJuIHRo
cm93RXJyb3IoIk5vdCBlbm91Z2ggYXJndW1lbnRzIiwgVjhQcm94eTo6VHlwZUVycm9yKTsKKyAg
ICBXZWJLaXRNdXRhdGlvbk9ic2VydmVyKiBpbXAgPSBWOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6
OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOworICAgIEVYQ0VQVElPTl9CTE9DSyhOb2RlKiwgdGFy
Z2V0LCBWOE5vZGU6Okhhc0luc3RhbmNlKGFyZ3NbMF0pID8gVjhOb2RlOjp0b05hdGl2ZSh2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMF0pKSA6IDApOworCisgICAgaWYgKCFhcmdz
WzFdLT5Jc09iamVjdCgpKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiT3B0aW9ucyBtdXN0
IGJlIGFuIG9iamVjdCIsIFY4UHJveHk6OlR5cGVFcnJvcik7CisKKyAgICBPcHRpb25zT2JqZWN0
IG9wdGlvbnNPYmplY3QoYXJnc1sxXSk7CisgICAgUmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zPiBvcHRpb25zID0gTXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmNyZWF0ZSgpOworCisgICAg
Ym9vbCBvcHRpb247CisgICAgaWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5VmFsdWUoImNoaWxkTGlz
dCIsIG9wdGlvbikpCisgICAgICAgIG9wdGlvbnMtPnNldENoaWxkTGlzdChvcHRpb24pOworICAg
IGlmIChvcHRpb25zT2JqZWN0LmdldEtleVZhbHVlKCJhdHRyaWJ1dGVzIiwgb3B0aW9uKSkKKyAg
ICAgICAgb3B0aW9ucy0+c2V0QXR0cmlidXRlcyhvcHRpb24pOworICAgIGlmIChvcHRpb25zT2Jq
ZWN0LmdldEtleVZhbHVlKCJjaGFyYWN0ZXJEYXRhIiwgb3B0aW9uKSkKKyAgICAgICAgb3B0aW9u
cy0+c2V0Q2hhcmFjdGVyRGF0YShvcHRpb24pOworICAgIGlmIChvcHRpb25zT2JqZWN0LmdldEtl
eVZhbHVlKCJzdWJ0cmVlIiwgb3B0aW9uKSkKKyAgICAgICAgb3B0aW9ucy0+c2V0U3VidHJlZShv
cHRpb24pOworICAgIGlmIChvcHRpb25zT2JqZWN0LmdldEtleVZhbHVlKCJhdHRyaWJ1dGVPbGRW
YWx1ZSIsIG9wdGlvbikpCisgICAgICAgIG9wdGlvbnMtPnNldEF0dHJpYnV0ZU9sZFZhbHVlKG9w
dGlvbik7CisgICAgaWYgKG9wdGlvbnNPYmplY3QuZ2V0S2V5VmFsdWUoImNoYXJhY3RlckRhdGFP
bGRWYWx1ZSIsIG9wdGlvbikpCisgICAgICAgIG9wdGlvbnMtPnNldENoYXJhY3RlckRhdGFPbGRW
YWx1ZShvcHRpb24pOworCisgICAgaW1wLT5vYnNlcnZlKHRhcmdldCwgb3B0aW9ucy5nZXQoKSk7
CisgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODA3MzljODhhZDc4YjEzMTU5
OTJkOGY2NjZkOTBiMjQwYWU3ZWFkOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9NdXRhdGlvbkNhbGxiYWNrLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTXV0YXRpb25D
YWxsYmFja19oCisjZGVmaW5lIE11dGF0aW9uQ2FsbGJhY2tfaAorCisjaWYgRU5BQkxFKE1VVEFU
SU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBNdXRhdGlvblJlY29yZDsKK2NsYXNzIFdlYktpdE11dGF0aW9uT2JzZXJ2
ZXI7CisKK3R5cGVkZWYgVmVjdG9yPFJlZlB0cjxNdXRhdGlvblJlY29yZD4gPiBNdXRhdGlvblJl
Y29yZEFycmF5OworCitjbGFzcyBNdXRhdGlvbkNhbGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8
TXV0YXRpb25DYWxsYmFjaz4geworcHVibGljOgorICAgIHZpcnR1YWwgfk11dGF0aW9uQ2FsbGJh
Y2soKSB7IH0KKworICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChNdXRhdGlvblJlY29yZEFy
cmF5KiwgV2ViS2l0TXV0YXRpb25PYnNlcnZlciopID0gMDsKK307CisKK30KKworI2VuZGlmIC8v
IEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNlbmRpZiAvLyBNdXRhdGlvbkNhbGxiYWNr
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNrLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjM4
MTcxNGM4MDllYTdjYTQ3ODRjNmIzYjAzMTFiODk3OWY4MTc1Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uQ2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsMzggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitt
b2R1bGUgY29yZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TVVUQVRJ
T05fT0JTRVJWRVJTLAorICAgICAgICBDYWxsYmFjaworICAgIF0gTXV0YXRpb25DYWxsYmFjayB7
CisgICAgICAgIFtDdXN0b21dIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gTXV0YXRpb25SZWNvcmRB
cnJheSBtdXRhdGlvbnMsIGluIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIgb2JzZXJ2ZXIpOworICAg
IH07Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlck9w
dGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjNmZTVkMWNkMjg0YmQxZjRiODQzNjdhOWU2ZDVhNzE2ZmZlYmMzZGUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlck9wdGlvbnMu
aApAQCAtMCwwICsxLDkyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBNdXRhdGlvbk9ic2VydmVyT3B0aW9uc19oCisjZGVm
aW5lIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zX2gKKworI2lmIEVOQUJMRShNVVRBVElPTl9PQlNF
UlZFUlMpCisKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTXV0YXRpb25PYnNlcnZl
ck9wdGlvbnMgOiBwdWJsaWMgUmVmQ291bnRlZDxNdXRhdGlvbk9ic2VydmVyT3B0aW9ucz4gewor
cHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zPiBj
cmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNdXRhdGlvbk9ic2Vy
dmVyT3B0aW9ucyk7CisgICAgfQorCisgICAgYm9vbCBjaGlsZExpc3QoKSBjb25zdCB7IHJldHVy
biBtX2NoaWxkTGlzdDsgfQorICAgIHZvaWQgc2V0Q2hpbGRMaXN0KGJvb2wgdmFsdWUpIHsgbV9j
aGlsZExpc3QgPSB2YWx1ZTsgfQorCisgICAgYm9vbCBhdHRyaWJ1dGVzKCkgY29uc3QgeyByZXR1
cm4gbV9hdHRyaWJ1dGVzOyB9CisgICAgdm9pZCBzZXRBdHRyaWJ1dGVzKGJvb2wgdmFsdWUpIHsg
bV9hdHRyaWJ1dGVzID0gdmFsdWU7IH0KKworICAgIGJvb2wgY2hhcmFjdGVyRGF0YSgpIGNvbnN0
IHsgcmV0dXJuIG1fY2hhcmFjdGVyRGF0YTsgfQorICAgIHZvaWQgc2V0Q2hhcmFjdGVyRGF0YShi
b29sIHZhbHVlKSB7IG1fY2hhcmFjdGVyRGF0YSA9IHZhbHVlOyB9CisKKyAgICBib29sIHN1YnRy
ZWUoKSBjb25zdCB7IHJldHVybiBtX3N1YnRyZWU7IH0KKyAgICB2b2lkIHNldFN1YnRyZWUoYm9v
bCB2YWx1ZSkgeyBtX3N1YnRyZWUgPSB2YWx1ZTsgfQorCisgICAgYm9vbCBhdHRyaWJ1dGVPbGRW
YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXR0cmlidXRlT2xkVmFsdWU7IH0KKyAgICB2b2lkIHNl
dEF0dHJpYnV0ZU9sZFZhbHVlKGJvb2wgdmFsdWUpIHsgbV9hdHRyaWJ1dGVPbGRWYWx1ZSA9IHZh
bHVlOyB9CisKKyAgICBib29sIGNoYXJhY3RlckRhdGFPbGRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fYXR0cmlidXRlT2xkVmFsdWU7IH0KKyAgICB2b2lkIHNldENoYXJhY3RlckRhdGFPbGRWYWx1
ZShib29sIHZhbHVlKSB7IG1fY2hhcmFjdGVyRGF0YU9sZFZhbHVlID0gdmFsdWU7IH0KKworICAg
IC8vIEZJWE1FOiBGaWd1cmUgb3V0IGhvdyB0byBtb2RlbCB0aGlzIGJhc2VkIG9uIHRoZSBJREwu
CisgICAgLy8gRE9NU3RyaW5nW10gYXR0cmlidXRlRmlsdGVyOworCitwcml2YXRlOgorICAgIE11
dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKCkKKyAgICAgICAgOiBtX2NoaWxkTGlzdChmYWxzZSkKKyAg
ICAgICAgLCBtX2F0dHJpYnV0ZXMoZmFsc2UpCisgICAgICAgICwgbV9jaGFyYWN0ZXJEYXRhKGZh
bHNlKQorICAgICAgICAsIG1fc3VidHJlZShmYWxzZSkKKyAgICAgICAgLCBtX2F0dHJpYnV0ZU9s
ZFZhbHVlKGZhbHNlKQorICAgICAgICAsIG1fY2hhcmFjdGVyRGF0YU9sZFZhbHVlKGZhbHNlKQor
ICAgIHsKKyAgICB9CisKKyAgICBib29sIG1fY2hpbGRMaXN0OworICAgIGJvb2wgbV9hdHRyaWJ1
dGVzOworICAgIGJvb2wgbV9jaGFyYWN0ZXJEYXRhOworICAgIGJvb2wgbV9zdWJ0cmVlOworICAg
IGJvb2wgbV9hdHRyaWJ1dGVPbGRWYWx1ZTsKKyAgICBib29sIG1fY2hhcmFjdGVyRGF0YU9sZFZh
bHVlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1V
VEFUSU9OX09CU0VSVkVSUykKKworI2VuZGlmIC8vIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xNDg3MzY0YzgxODI5NGI2NmU0ZmU2NTZjMGNhOTBiYTg0NTY5MzY2Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwCkBA
IC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTVVUQVRJT05f
T0JTRVJWRVJTKQorCisjaW5jbHVkZSAiV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIgorCisjaW5j
bHVkZSAiTXV0YXRpb25DYWxsYmFjay5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxXZWJLaXRNdXRhdGlvbk9ic2VydmVy
PiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpjcmVhdGUoUGFzc1JlZlB0cjxNdXRhdGlvbkNhbGxi
YWNrPiBjYWxsYmFjaykKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXIoY2FsbGJhY2spKTsKK30KKworV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6V2ViS2l0
TXV0YXRpb25PYnNlcnZlcihQYXNzUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQor
ICAgIDogbV9jYWxsYmFjayhjYWxsYmFjaykKK3sKK30KKworV2ViS2l0TXV0YXRpb25PYnNlcnZl
cjo6fldlYktpdE11dGF0aW9uT2JzZXJ2ZXIoKQoreworfQorCit2b2lkIFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXI6Om9ic2VydmUoTm9kZSosIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKikKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OmRp
c2Nvbm5lY3QoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODc5NDQ3
NTZiMmZjMjZkMTQ0YmFmYTA0M2FjN2U4MmQ1MDBiMGRiCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaApAQCAtMCwwICsxLDY1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyX2gKKyNkZWZpbmUgV2ViS2l0TXV0YXRpb25P
YnNlcnZlcl9oCisKKyNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNdXRhdGlvbkNh
bGxiYWNrOworY2xhc3MgTXV0YXRpb25PYnNlcnZlck9wdGlvbnM7CitjbGFzcyBOb2RlOworCitj
bGFzcyBXZWJLaXRNdXRhdGlvbk9ic2VydmVyIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViS2l0TXV0
YXRpb25PYnNlcnZlcj4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXI+IGNyZWF0ZShQYXNzUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+KTsKKwor
ICAgIH5XZWJLaXRNdXRhdGlvbk9ic2VydmVyKCk7CisKKyAgICB2b2lkIG9ic2VydmUoTm9kZSos
IE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zKik7CisgICAgdm9pZCBkaXNjb25uZWN0KCk7CisKK3By
aXZhdGU6CisgICAgV2ViS2l0TXV0YXRpb25PYnNlcnZlcihQYXNzUmVmUHRyPE11dGF0aW9uQ2Fs
bGJhY2s+KTsKKworICAgIFJlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPiBtX2NhbGxiYWNrOworfTsK
KworfQorCisjZW5kaWYgLy8gRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2VuZGlmIC8v
IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11
dGF0aW9uT2JzZXJ2ZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhNmU4YzdlZWMwMGEwYjAwMTUxOWYxYzMz
NDU2Mjg1ODczNjU2YTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5pZGwKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKyAg
ICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1NVVRBVElPTl9PQlNFUlZFUlMsCisg
ICAgICAgIENhbkJlQ29uc3RydWN0ZWQsCisgICAgICAgIEN1c3RvbUNvbnN0cnVjdG9yCisgICAg
XSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyIHsKKyAgICAgICAgW0N1c3RvbV0gdm9pZCBvYnNlcnZl
KGluIE5vZGUgdGFyZ2V0LCBpbiBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyBvcHRpb25zKTsKKyAg
ICAgICAgdm9pZCBkaXNjb25uZWN0KCk7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbAppbmRleCBiOGRiYmM3YWMyNzAwYTdmOTViOTQ1MzUyYTE5MGNlMjg3ZDJiZjlmLi44YjUw
OWE4YjVkNWU2ZTFjZTE2YTgxOTE3ZjFjMDM5NWYwZjdhMTMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaWRsCkBAIC04MDksNiArODA5LDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBbRW5hYmxlZEF0UnVudGltZT1RdW90YV0gU3RvcmFnZUluZm8gd2Vi
a2l0U3RvcmFnZUluZm87CiAjZW5kaWYKIAorICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFs
PU1VVEFUSU9OX09CU0VSVkVSU10gV2ViS2l0TXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yIFdl
YktpdE11dGF0aW9uT2JzZXJ2ZXI7CisKICNlbmRpZiAvLyBkZWZpbmVkKExBTkdVQUdFX0pBVkFT
Q1JJUFQpCiAKICNpZiBkZWZpbmVkKFY4X0JJTkRJTkcpICYmIFY4X0JJTkRJTkcKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKaW5kZXggNGNhMDZlMmY0MjQ2NjMyZjg2MWM4NzBlNDIwMzVjMzg4MGIw
ZTliOC4uZDE5YmZmYzlhMDFlN2YzNzRhODMyN2JiNDIwYzI0ODNmNGQ3ZjQ4MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0xMC0xMCAgQWRhbSBLbGVp
biAgPGFkYW1rQGNocm9taXVtLm9yZz4KKworICAgICAgICBbTXV0YXRpb25PYnNlcnZlcnNdIEFk
ZCBzdHViIGltcGxlbWVudGF0aW9uIG9mIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTQ5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmZWF0dXJlcy5neXBpOiBB
ZGRlZCAnZW5hYmxlX211dGF0aW9uX29ic2VydmVycycgdmFyaWFibGUuCisKIDIwMTEtMTAtMTAg
IERvbWluaWMgTWF6em9uaSAgPGRtYXp6b25pQGdvb2dsZS5jb20+CiAKICAgICAgICAgW0Nocm9t
aXVtXSBHZXQgcmlkIG9mIFdlYkFjY2Vzc2liaWxpdHlDYWNoZS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaSBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
ZmVhdHVyZXMuZ3lwaQppbmRleCBiNjU4ZDgzZjg2ZDc2ZWJmMmU3NDBiZTk4NGVkOWZhYWQ4YWY1
MDg4Li4yNWFiOTQxZDBlYWQ5YjdlOWIxNzVmNTJjZjBkNjE1OTQwMjM5MzU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCkBAIC02OCw3ICs2OCw3IEBACiAgICAgICAnRU5BQkxF
X01FRElBX1NUUkVBTT0xJywKICAgICAgICdFTkFCTEVfTUVURVJfVEFHPTEnLAogICAgICAgJ0VO
QUJMRV9NSFRNTD0xJywKLSAgICAgICdFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTPTAnLAorICAg
ICAgJ0VOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlM9PChlbmFibGVfbXV0YXRpb25fb2JzZXJ2ZXJz
KScsCiAgICAgICAnRU5BQkxFX05PVElGSUNBVElPTlM9MScsCiAgICAgICAnRU5BQkxFX09SSUVO
VEFUSU9OX0VWRU5UUz0wJywKICAgICAgICdFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQST0xJywK
QEAgLTExNSw2ICsxMTUsNyBAQAogICAgICAgJ3VzZV9za2lhJSc6IDAsCiAgICAgICAnZW5hYmxl
X3RvdWNoX2ljb25fbG9hZGluZyUnIDogMCwKICAgICAgICdlbmFibGVfY3NzM19mbGV4Ym94JSc6
IDAsCisgICAgICAnZW5hYmxlX211dGF0aW9uX29ic2VydmVycyUnOiAwLAogICAgIH0sCiAgICAg
J3VzZV9hY2NlbGVyYXRlZF9jb21wb3NpdGluZyUnOiAnPCh1c2VfYWNjZWxlcmF0ZWRfY29tcG9z
aXRpbmcpJywKICAgICAndXNlX3RocmVhZGVkX2NvbXBvc2l0aW5nJSc6ICc8KHVzZV90aHJlYWRl
ZF9jb21wb3NpdGluZyknLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110447</attachid>
            <date>2011-10-10 17:19:13 -0700</date>
            <delta_ts>2011-10-11 10:00:24 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-68949-20111010171911.patch</filename>
            <type>text/plain</type>
            <size>80441</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwNzEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNzNiZjE1NThlZjU0ZGFkZDYwYmJk
MjljNWM2NTcwMjdlZjMxNmYyLi5lZGZlMzVhNjRlNDZhYmUwN2M5ZDYxODIzNWQwOTkxODM0NzUz
N2U5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMTAtMTAgIEFkYW0gS2xlaW4gIDxhZGFt
a0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgc3R1YiBp
bXBsZW1lbnRhdGlvbiBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk0OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IFJ5b3N1a2UgTml3YSwgT2xpdmVyIEh1bnQsIGFuZCBEaW1pdHJpIEdsYXprb3YuCisKKyAg
ICAgICAgQWRkIGJhc2ljIHRlc3RzIGFuZCBza2lwIHRoZW0gaW4gYWxsIHBvcnRzIGZvciBub3cu
CisKKyAgICAgICAgKiBmYXN0L211dGF0aW9uL211dGF0aW9uLW9ic2VydmVyLWNvbnN0cnVjdG9y
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1v
YnNlcnZlci1jb25zdHJ1Y3Rvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211dGF0aW9u
L29ic2VydmUtZXhjZXB0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
bXV0YXRpb24vb2JzZXJ2ZS1leGNlcHRpb25zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9xdC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgorCiAy
MDExLTEwLTEwICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBhbm5vdGF0ZSBET01BZ2VudCwgRGVidWdnZXIoUHJlc2VudGF0aW9u
KU1vZGVsIHdpdGggdHlwZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9u
L211dGF0aW9uLW9ic2VydmVyLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjJiZWIzZTg2ZTcwZTI0ODVhNzcyMDE4MDc3NjQyODU5MTc5Mjc0OWQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL211dGF0aW9uLW9ic2Vy
dmVyLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitUZXN0IHRoZSBj
b25zdHJ1Y3RvciBvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQQVNTIHdpbmRvdy5XZWJLaXRNdXRhdGlvbk9ic2VydmVyIGlzIG5vbi1u
dWxsLgorUEFTUyB0eXBlb2YgV2ViS2l0TXV0YXRpb25PYnNlcnZlci5wcm90b3R5cGUub2JzZXJ2
ZSBpcyAiZnVuY3Rpb24iCitQQVNTIHR5cGVvZiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLnByb3Rv
dHlwZS5kaXNjb25uZWN0IGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIG9ic2VydmVyLm9ic2Vy
dmUgaXMgImZ1bmN0aW9uIgorUEFTUyB0eXBlb2Ygb2JzZXJ2ZXIuZGlzY29ubmVjdCBpcyAiZnVu
Y3Rpb24iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZl
ci1jb25zdHJ1Y3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9tdXRhdGlvbi1v
YnNlcnZlci1jb25zdHJ1Y3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE5NjZhNjM1ZTBiMjNmMDMwY2U1
NzkxODY5YWRiZjEzN2I5MWE3MTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L211dGF0aW9uL211dGF0aW9uLW9ic2VydmVyLWNvbnN0cnVjdG9yLmh0bWwKQEAgLTAsMCArMSwz
NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8dGl0bGU+PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ZGVz
Y3JpcHRpb24+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCitmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgIHNob3VsZEJlTm9uTnVsbCgnd2luZG93LldlYktpdE11dGF0
aW9uT2JzZXJ2ZXInKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3R5cGVvZiBXZWJLaXRN
dXRhdGlvbk9ic2VydmVyLnByb3RvdHlwZS5vYnNlcnZlJywgJ2Z1bmN0aW9uJyk7CisgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2YgV2ViS2l0TXV0YXRpb25PYnNlcnZlci5wcm90b3R5
cGUuZGlzY29ubmVjdCcsICdmdW5jdGlvbicpOworICAgIHdpbmRvdy5vYnNlcnZlciA9IG5ldyBX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKG11dGF0aW9ucykgeyB9KTsKKyAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3R5cGVvZiBvYnNlcnZlci5vYnNlcnZlJywgJ2Z1bmN0aW9uJyk7
CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2Ygb2JzZXJ2ZXIuZGlzY29ubmVjdCcs
ICdmdW5jdGlvbicpOworfQorCitkZXNjcmlwdGlvbignVGVzdCB0aGUgY29uc3RydWN0b3Igb2Yg
V2ViS2l0TXV0YXRpb25PYnNlcnZlcicpOworCitpZiAoIXdpbmRvdy5XZWJLaXRNdXRhdGlvbk9i
c2VydmVyKQorICAgIHRlc3RGYWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyBFTkFCTEUoTVVUQVRJ
T05fT0JTRVJWRVJTKScpOworZWxzZQorICAgIHJ1blRlc3QoKTsKKwordmFyIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlvbnMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlvbnMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjNmNGUzY2QxZWQ3MzY3YzEyY2JkNTc2MDUyNTc2NGZhZDhlOGVi
NzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2VydmUt
ZXhjZXB0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdCB0aGF0IFdlYktp
dE11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSB0aHJvd3MgZXhjZXB0aW9ucyBhcHByb3ByaWF0ZWx5
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG9ic2VydmVyLm9ic2VydmUo
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1Mg
b2JzZXJ2ZXIub2JzZXJ2ZShudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5v
dWdoIGFyZ3VtZW50cy4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZSh1bmRlZmluZWQpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBvYnNlcnZlci5v
YnNlcnZlKGRvY3VtZW50LmJvZHkpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91
Z2ggYXJndW1lbnRzLgorUEFTUyBvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJvZHksIG51bGwp
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24g
MTcuCitQQVNTIG9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwgdW5kZWZpbmVkKSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3Lgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2JzZXJ2ZS1leGNlcHRpb25zLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2VydmUtZXhjZXB0aW9ucy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdmZWYzY2ZlOTBiZjU0ODdhYWUyZTFhMGY2ZTQyZWIxZGQzMzFkYzgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2VydmUtZXhjZXB0aW9ucy5o
dG1sCkBAIC0wLDAgKzEsMzYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHRpdGxlPjwvdGl0bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPWRlc2NyaXB0aW9uPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICB3aW5kb3cub2JzZXJ2ZXIgPSBu
ZXcgV2ViS2l0TXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbihtdXRhdGlvbnMpIHsgfSk7CisgICAg
c2hvdWxkVGhyb3coJ29ic2VydmVyLm9ic2VydmUoKScpOworICAgIHNob3VsZFRocm93KCdvYnNl
cnZlci5vYnNlcnZlKG51bGwpJyk7CisgICAgc2hvdWxkVGhyb3coJ29ic2VydmVyLm9ic2VydmUo
dW5kZWZpbmVkKScpOworICAgIHNob3VsZFRocm93KCdvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50
LmJvZHkpJyk7CisgICAgc2hvdWxkVGhyb3coJ29ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9k
eSwgbnVsbCknKTsKKyAgICBzaG91bGRUaHJvdygnb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5i
b2R5LCB1bmRlZmluZWQpJyk7Cit9CisKK2Rlc2NyaXB0aW9uKCdUZXN0IHRoYXQgV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5vYnNlcnZlIHRocm93cyBleGNlcHRpb25zIGFwcHJvcHJpYXRlbHknKTsK
KworaWYgKCF3aW5kb3cuV2ViS2l0TXV0YXRpb25PYnNlcnZlcikKKyAgICB0ZXN0RmFpbGVkKCdU
aGlzIHRlc3QgcmVxdWlyZXMgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUyknKTsKK2Vsc2UKKyAg
ICBydW5UZXN0KCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCA0NTY5ZDMwZDg3YmExN2MyZmZjOTdlNmI0
YjhjNGE1N2MwYzBjMDhjLi4wYTk5ODZhZmUyN2ZiMDk5MjU1ZWY3MjdmZGRjMmRlMjFhZmU4ODIz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0
aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3Rh
dGlvbnMudHh0CkBAIC0zMjYyLDYgKzMyNjIsOSBAQCBCVUdXSzU3MzExIFNLSVAgOiBmYXN0L2V4
Y2x1c2lvbnMgPSBQQVNTCiAvLyBDU1MgRmlsdGVycyBzdXBwb3J0IG5vdCB5ZXQgZW5hYmxlZAog
QlVHV0s2ODQ2OSBTS0lQIDogY3NzMy9maWx0ZXJzID0gUEFTUwogCisvLyBNdXRhdGlvbk9ic2Vy
dmVycyBub3QgeWV0IGVuYWJsZWQuCitCVUdXSzY4NzI5IFNLSVAgOiBmYXN0L211dGF0aW9uID0g
UEFTUworCiBCVUdDUjg1NzU1IDogZmFzdC9qcy9leGNlcHRpb24tcHJvcGVydGllcy5odG1sID0g
VEVYVAogCiBCVUdXSzYyNDMwIExJTlVYIFdJTiA6IGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1l
bnQvaW5kZXRlcm1pbmF0ZS1wcm9ncmVzcy0wMDEuaHRtbCA9IEZBSUwKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1NraXBwZWQKaW5kZXggMjBjYzY3MmZlZTVkZjlmMGI3ODFlNzUyYzJhOTgzMDcxZDk1ZmZkZS4u
YzRjYjBkNGI3MGQxZThjYzkyNjlkMTkzOWIxNWM3MDhmODRiNTJhMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1NraXBwZWQKQEAgLTQ3MCw2ICs0NzAsOSBAQCB3ZWJhdWRpbwogIyBDU1MgRmlsdGVycyBp
cyBkaXNhYmxlZAogY3NzMy9maWx0ZXJzCiAKKyMgTXV0YXRpb25PYnNlcnZlcnMgYXJlIG5ldCB5
ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi82ODcyOQorZmFzdC9tdXRhdGlvbgorCiAj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIFRFU1RTIEZBSUxJTkcKICMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKaW5kZXggNmQ1MjZiODJmODJmNmFiOTMzYTE4
NTkwMGQzNjQ1OTlmZTRkZmM3NS4uYWZlYzk3M2VmYzg2NTllZjgwZWVhMDE3OGE4NjlhMDhhMzc1
YzEyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKQEAgLTQwNyw2ICs0MDcsOSBAQCBjb21w
b3NpdGluZy9ydGwvcnRsLWlmcmFtZS1yZWxhdGl2ZS5odG1sCiAjIEZvciBub3csIFdlYiBBdWRp
byBBUEkgaXMgZGlzYWJsZWQKIHdlYmF1ZGlvLwogCisjIE11dGF0aW9uT2JzZXJ2ZXJzIGFyZSBu
ZXQgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNjg3MjkKK2Zhc3QvbXV0YXRpb24K
KwogIyBUZXN0cyBmb3IgV2ViVlRUIHBhcnNlciBmb3IgPHRyYWNrPi4gIEZlYXR1cmUgaXMgbm90
IHlldCBmdW5jdGlvbmFsLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDM2NjgKIG1lZGlhL3RyYWNrLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggZTM4YTQ2
MjM1M2VmYTNmOWI2NGE2MGM2MmQxYjUyMjQ1M2UyY2YxNS4uNzE0NmE3YTQxYjA0NTM4YzUzYTA0
YmJmMDU3ZDc2MmU4YzQ5NGIzYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
U2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0xNTgsNiAr
MTU4LDkgQEAgZmFzdC9yZWdpb25zCiAjIENTUyBFeGNsdXNpb25zIHN1cHBvcnQgbm90IHlldCBl
bmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzU3MzExCiBmYXN0L2V4Y2x1c2lvbnMKIAorIyBF
TkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKSBpcyBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJr
aXQub3JnL2IvNjg3MjkKK2Zhc3QvbXV0YXRpb24KKwogIyBVU0UoVjgpCiAKICMgdjggaTE4biBl
eHRlbnNpb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IDNiMDRmOTRmMjY3Mzc4M2E3
N2I1MGEzZTgwZmQ3OWFkNTA0YjAyYjQuLjAyOWE0YjRmYTRlNjc0MTI3MzdiMWRmYjEzMjNhMjA3
NzljODdhY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0xNDAwLDYgKzE0MDAsOSBA
QCBjc3MzL3NlbGVjdG9yczMKICMgRm9yIG5vdywgV2ViIEF1ZGlvIEFQSSBpcyBkaXNhYmxlZAog
d2ViYXVkaW8vCiAKKyMgTXV0YXRpb25PYnNlcnZlcnMgYXJlIG5ldCB5ZXQgZW5hYmxlZC4gaHR0
cDovL3dlYmtpdC5vcmcvYi82ODcyOQorZmFzdC9tdXRhdGlvbgorCiAjIFRlc3RzIGZvciBXZWJW
VFQgcGFyc2VyIGZvciA8dHJhY2s+LiAgRmVhdHVyZSBpcyBub3QgeWV0IGZ1bmN0aW9uYWwuCiAj
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzY2OAogbWVkaWEvdHJh
Y2svCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDQ5MDE4ZmM3NDJiZTBjYjU1NWY1NzUxNzI5MzZi
ODQwMjc5ZDU2M2QuLjM1NjQ0NmQ0MmVkOWM4NTFmM2JiMTZhMzZkZDUxODAxYjJhM2RkODAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNjMsNiArMTYzLDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJ
TEVTCiAgICAgZG9tL01lc3NhZ2VFdmVudC5pZGwKICAgICBkb20vTWVzc2FnZVBvcnQuaWRsCiAg
ICAgZG9tL01vdXNlRXZlbnQuaWRsCisgICAgZG9tL011dGF0aW9uQ2FsbGJhY2suaWRsCiAgICAg
ZG9tL011dGF0aW9uRXZlbnQuaWRsCiAgICAgZG9tL011dGF0aW9uUmVjb3JkLmlkbAogICAgIGRv
bS9OYW1lZE5vZGVNYXAuaWRsCkBAIC0xODYsNiArMTg3LDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJ
TEVTCiAgICAgZG9tL1RyZWVXYWxrZXIuaWRsCiAgICAgZG9tL1VJRXZlbnQuaWRsCiAgICAgZG9t
L1dlYktpdEFuaW1hdGlvbkV2ZW50LmlkbAorICAgIGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVy
LmlkbAogICAgIGRvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaWRsCiAgICAgZG9tL1doZWVsRXZl
bnQuaWRsCiAKQEAgLTYwNCw2ICs2MDYsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9t
L1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmNwcAogICAgIGRvbS9WaWV3cG9ydEFyZ3VtZW50
cy5jcHAKICAgICBkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuY3BwCisgICAgZG9tL1dlYktpdE11
dGF0aW9uT2JzZXJ2ZXIuY3BwCiAgICAgZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAKICAg
ICBkb20vV2hlZWxFdmVudC5jcHAKICAgICBkb20vV2luZG93RXZlbnRDb250ZXh0LmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDdhNmFkMWMxMzU5MmJkNDQ4NDc1OTYyNDgzN2YwYzBjNjUzMTYxM2YuLmQwZDg4
OWNiYjk2NTQ2ZDgxZDMwY2UyYTRmMDViZTNlNDVlMTcwMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSw3OSBAQAorMjAxMS0xMC0xMCAgQWRhbSBLbGVpbiAgPGFkYW1rQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBbTXV0YXRpb25PYnNlcnZlcnNdIEFkZCBzdHViIGltcGxlbWVudGF0aW9uIG9mIFdl
YktpdE11dGF0aW9uT2JzZXJ2ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY4OTQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLCBP
bGl2ZXIgSHVudCwgYW5kIERpbWl0cmkgR2xhemtvdi4KKworICAgICAgICBTZWUgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzI5IGZvciB0aGUgbWV0YWJ1Zy4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGFkZHMgYSBzdHViIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIgYW5k
IGl0cyBzdXBwb3J0aW5nIGNsYXNzZXMKKyAgICAgICAgTXV0YXRpb25DYWxsYmFjayBhbmQgTXV0
YXRpb25PYnNlcnZlck9wdGlvbnMuCisgICAgICAgIE5vIGltcGxlbWVudGF0aW9uIGlzIHByb3Zp
ZGVkIGZvciB0aGUgYWxsLWltcG9ydGFudCBvYnNlcnZlKCkgYW5kCisgICAgICAgIGRpc2Nvbm5l
Y3QoKSBtZXRob2RzLgorCisgICAgICAgIE5vdGUgdGhhdCBXZWJLaXRNdXRhdGlvbk9ic2VydmVy
IGlzIHZlbmRvci1wcmVmaXhlZCBzaW5jZSBpdCBoYXMgYQorICAgICAgICBjb25zdHJ1Y3RvciBl
eHBvc2VkIG9uIERPTVdpbmRvdy4gIE5vbmUgb2YgdGhlIHJlc3Qgb2YgdGhlIEFQSSBuZWVkcwor
ICAgICAgICBwcmVmaXhpbmcsIGFzIGl0J3Mgb25seSBhdmFpbGFibGUgdmlhIGEgY2FsbCB0aHJv
dWdoIGEgTXV0YXRpb25PYnNlcnZlcgorICAgICAgICBjYWxsYmFjayAoY3JlYXRlZCBieSBpbnN0
YW50aWF0aW5nIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIpLgorCisgICAgICAgIEdpdmVuIHRoZSBu
dW1iZXIgb2YgZmlsZXMgcmVxdWlyZWQgdG8gZ2V0IGp1c3QgdGhlIHN0dWIgdXAgYW5kIHJ1bm5p
bmcsCisgICAgICAgIGl0IHNlZW1zIHJlYXNvbmFibGUgdG8gbGVhdmUgdGhlIGFjdHVhbCBpbXBs
ZW1lbnRhdGlvbiBmb3IgdGhlIG5leHQKKyAgICAgICAgcGF0Y2ggKG9yIG1vcmUgbGlrZWx5IHNl
dmVyYWwgcGF0Y2hlcykuICBJJ3ZlIGxlZnQgRklYTUVzIGluIGFsbCB0aGUgcGxhY2VzCisgICAg
ICAgIHRoYXQnbGwgbmVlZCBhdWdtZW50YXRpb24uCisKKyAgICAgICAgVGVzdHM6IGZhc3QvbXV0
YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItY29uc3RydWN0b3IuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWV4Y2VwdGlvbnMuaHRtbAorCisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAg
KiBVc2VKU0MuY21ha2U6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNv
cmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0RpY3Rpb25hcnkuaDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRGljdGlvbmFyeTo6dHJ5
R2V0UHJvcGVydHkpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTXV0YXRpb25DYWxsYmFja0N1
c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNNdXRhdGlvbkNhbGxiYWNrOjpo
YW5kbGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpKU1dlYktpdE11dGF0aW9u
T2JzZXJ2ZXJDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0SlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkpTV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZSk6Cisg
ICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4TXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VjhNdXRhdGlvbkNhbGxiYWNrOjpoYW5kbGVFdmVu
dCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZl
ckN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VjhXZWJLaXRNdXRhdGlvbk9i
c2VydmVyOjpjb25zdHJ1Y3RvckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4V2ViS2l0
TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZUNhbGxiYWNrKToKKyAgICAgICAgKiBkb20vTXV0YXRp
b25DYWxsYmFjay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uQ2FsbGJhY2s6
On5NdXRhdGlvbkNhbGxiYWNrKToKKyAgICAgICAgKiBkb20vTXV0YXRpb25DYWxsYmFjay5pZGw6
IEFkZGVkLgorICAgICAgICAqIGRvbS9NdXRhdGlvbk9ic2VydmVyT3B0aW9ucy5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6TXV0YXRpb25PYnNlcnZlck9wdGlvbnM6OmNoaWxkTGlzdCk6CisgICAg
ICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6c2V0Q2hpbGRMaXN0KToKKyAg
ICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjphdHRyaWJ1dGVzKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRBdHRyaWJ1dGVzKToK
KyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpjaGFyYWN0ZXJEYXRh
KToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRDaGFyYWN0
ZXJEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzdWJ0
cmVlKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRTdWJ0
cmVlKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjphdHRyaWJ1
dGVPbGRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6
c2V0QXR0cmlidXRlT2xkVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25PYnNlcnZl
ck9wdGlvbnM6OmNoYXJhY3RlckRhdGFPbGRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpNdXRh
dGlvbk9ic2VydmVyT3B0aW9uczo6c2V0Q2hhcmFjdGVyRGF0YU9sZFZhbHVlKToKKyAgICAgICAg
KFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpNdXRhdGlvbk9ic2VydmVyT3B0aW9u
cyk6CisgICAgICAgICogZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXI6On5XZWJLaXRNdXRh
dGlvbk9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXI6
Om9ic2VydmUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6ZGlz
Y29ubmVjdCk6CisgICAgICAgICogZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaDogQWRkZWQu
CisgICAgICAgICogZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsOiBBZGRlZC4KKyAgICAg
ICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTEtMTAtMTAgIEtlbnQgVGFtdXJhICA8dGtl
bnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE1ha2Ugc3RhdGljIGZ1bmN0aW9ucyBpbiBIVE1M
U2VsZWN0RWxlbWVudC5jcHAgbWVtYmVyIGZ1bmN0aW9ucyBvZiBIVE1MU2VsZWN0RWxlbWVudCBj
bGFzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDY5OWE5YTI3NzI2Yjk0NzQ5Njgx
Nzk5NDQ3YThmNGI3OTYxMGMxZDYuLmVmOGJkNmI5MDk0ZGFhODA5YzNlMDI2YzcyOTE4Mjg5Mjdm
ZGI4YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTI0NCw2ICsyNDQsNyBAQAog
I2luY2x1ZGUgIkpTTWV0YWRhdGEuY3BwIgogI2luY2x1ZGUgIkpTTWV0YWRhdGFDYWxsYmFjay5j
cHAiCiAjaW5jbHVkZSAiSlNNb3VzZUV2ZW50LmNwcCIKKyNpbmNsdWRlICJKU011dGF0aW9uQ2Fs
bGJhY2suY3BwIgogI2luY2x1ZGUgIkpTTXV0YXRpb25FdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNN
dXRhdGlvblJlY29yZC5jcHAiCiAjaW5jbHVkZSAiSlNOYW1lZE5vZGVNYXAuY3BwIgpAQCAtNDY4
LDYgKzQ2OSw3IEBACiAjaW5jbHVkZSAiSlNXZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcCIKICNp
bmNsdWRlICJKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCIKICNpbmNsdWRlICJKU1dlYktp
dENTU01hdHJpeC5jcHAiCisjaW5jbHVkZSAiSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCIK
ICNpbmNsdWRlICJKU1dlYktpdFBvaW50LmNwcCIKICNpbmNsdWRlICJKU1dlYktpdFRyYW5zaXRp
b25FdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNXZWJTb2NrZXQuY3BwIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKaW5kZXggNWVhMDRkZTE1MDgxZmIxZmU0YjUwZmQ5NzY4NzYwZWRkYjcxM2M3
ZS4uODZkODMzYjEwNThjMDBiMTE1MGVhYjZhYWY3YWM1NjNkYjE2YTM4NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yOTcsNiArMjk3LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAg
ICAgTWV0YWRhdGEgXAogICAgIE1ldGFkYXRhQ2FsbGJhY2sgXAogICAgIE1vdXNlRXZlbnQgXAor
ICAgIE11dGF0aW9uQ2FsbGJhY2sgXAogICAgIE11dGF0aW9uRXZlbnQgXAogICAgIE11dGF0aW9u
UmVjb3JkIFwKICAgICBOYW1lZE5vZGVNYXAgXApAQCAtNTUzLDYgKzU1NCw3IEBAIERPTV9DTEFT
U0VTID0gXAogICAgIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlIFwKICAgICBXZWJLaXRGbGFncyBc
CiAgICAgV2ViS2l0TG9zZUNvbnRleHQgXAorICAgIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIgXAog
ICAgIFdlYktpdFBvaW50IFwKICAgICBXZWJLaXRUcmFuc2l0aW9uRXZlbnQgXAogICAgIFdlYlNv
Y2tldCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA1YWVlZmY2NTEwODEzMmY3
YTQxZjBkZTEyZDE2OGI4NDJjMmU5Zjk3Li4xODljYmI5ZTY2MTY4YWI5NGFhNjAzODlkNjg4MmZi
MWJkZGZiZWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTc4NCw2ICs3ODQs
NyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNN
ZXNzYWdlUG9ydEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVz
c2FnZVBvcnRDdXN0b20uaCBcCisJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNdXRhdGlv
bkNhbGxiYWNrQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYW1l
ZE5vZGVNYXBDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmln
YXRvckN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUN1c3Rv
bS5jcHAgXApAQCAtODI1LDYgKzgyNiw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ3VzdG9tLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0
b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdENTU01hdHJpeEN1
c3RvbS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0TXV0YXRpb25P
YnNlcnZlckN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViS2l0
UG9pbnRDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYlNvY2tl
dEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyQ29udGV4
dEJhc2UuY3BwIFwKQEAgLTEyMjksOCArMTIzMSwxMCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAog
CVNvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9N
b3VzZVJlbGF0ZWRFdmVudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRF
dmVudC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFjay5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9kb20vTXV0YXRpb25FdmVudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9N
dXRhdGlvbkV2ZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyT3B0
aW9ucy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25SZWNvcmQuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9kb20vTXV0YXRpb25SZWNvcmQuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL05h
bWVkTm9kZU1hcC5jcHAgXApAQCAtMTM0Miw2ICsxMzQ2LDggQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaCBcCiAJU291cmNlL1dl
YkNvcmUvZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9t
L1dlYktpdEFuaW1hdGlvbkV2ZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRh
dGlvbk9ic2VydmVyLmNwcCBcCisJU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBcCiAJU291cmNl
L1dlYkNvcmUvZG9tL1doZWVsRXZlbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1VzZUpTQy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQppbmRleCBlMTZlMmQ5
ZGNhNWQ2NTNkODgyMmY1NDdkZWQzNTU3MWY0MTBiNmQ1Li5jYTJlNDcyMmRlYmYxMzY5ZWUyYzAy
NDljMTcwMDgzY2QwNTc4NzBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCkBAIC05NSw2ICs5NSw3IEBAIExJ
U1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTTWVzc2FnZUNoYW5u
ZWxDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwCiAg
ICAgYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5jcHAKKyAgICBiaW5kaW5ncy9qcy9K
U011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNOYW1lZE5vZGVN
YXBDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JDdXN0b20uY3BwCiAgICAg
YmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcApAQCAtMTIyLDYgKzEyMyw3IEBAIExJU1QoQVBQ
RU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTV2ViS2l0Q1NTS2V5ZnJhbWVS
dWxlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZUN1
c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1dlYktpdENTU01hdHJpeEN1c3RvbS5jcHAKKyAg
ICBiaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCiAgICAgYmlu
ZGluZ3MvanMvSlNXZWJLaXRQb2ludEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1hNTEh0
dHBSZXF1ZXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RVcGxv
YWRDdXN0b20uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMGVkN2Q2N2FhNzdkZWZkYTI2MDczZDc4
NTMwOGQ1OWU3MWY1MzVmMC4uMDk1OWUxM2Q5ZjE1ODQ3ODdhZGMxODE3ODE4MjZlYTc0ODg1NTk0
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTE5Myw2ICsxMTkzLDcgQEAKICAgICAgICAgICAgICdk
b20vTWVzc2FnZUV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL01lc3NhZ2VQb3J0LmlkbCcs
CiAgICAgICAgICAgICAnZG9tL01vdXNlRXZlbnQuaWRsJywKKyAgICAgICAgICAgICdkb20vTXV0
YXRpb25DYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ2RvbS9NdXRhdGlvbkV2ZW50LmlkbCcs
CiAgICAgICAgICAgICAnZG9tL011dGF0aW9uUmVjb3JkLmlkbCcsCiAgICAgICAgICAgICAnZG9t
L05hbWVkTm9kZU1hcC5pZGwnLApAQCAtMTIxOCw2ICsxMjE5LDcgQEAKICAgICAgICAgICAgICdk
b20vVHJlZVdhbGtlci5pZGwnLAogICAgICAgICAgICAgJ2RvbS9VSUV2ZW50LmlkbCcsCiAgICAg
ICAgICAgICAnZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmlkbCcsCisgICAgICAgICAgICAnZG9t
L1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsJywKICAgICAgICAgICAgICdkb20vV2ViS2l0VHJh
bnNpdGlvbkV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1doZWVsRXZlbnQuaWRsJywKICAg
ICAgICAgICAgICdmaWxlYXBpL0Jsb2IuaWRsJywKQEAgLTE4OTYsNiArMTg5OCw3IEBACiAgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAg
ICAgICdiaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAn
YmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5oJywKKyAgICAgICAgICAgICdiaW5kaW5n
cy9qcy9KU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5n
cy9qcy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pz
L0pTTmF2aWdhdG9yQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNOb2Rl
Q3VzdG9tLmNwcCcsCkBAIC0xOTM1LDYgKzE5MzgsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdz
L2pzL0pTV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvanMvSlNXZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvanMvSlNXZWJLaXRDU1NNYXRyaXhDdXN0b20uY3BwJywKKyAgICAgICAgICAg
ICdiaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy9qcy9KU1dlYktpdFBvaW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvanMvSlNXZWJTb2NrZXRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5k
aW5ncy9qcy9KU1dvcmtlckNvbnRleHRCYXNlLmNwcCcsCkBAIC0yMjA1LDYgKzIyMDksNyBAQAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VFdmVudEN1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VQb3J0Q3VzdG9tLmNw
cCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZVBvcnRDdXN0b20u
aCcsCisgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TXV0YXRpb25DYWxsYmFja0N1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1h
cEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9k
ZXNDb2xsZWN0aW9uLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFt
ZWROb2Rlc0NvbGxlY3Rpb24uaCcsCkBAIC0yMjMzLDYgKzIyMzgsNyBAQAogICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQ4QXJyYXlDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRBbmltYXRpb25DdXN0b20u
Y3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRhdGlvbk9i
c2VydmVyQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2Vi
S2l0UG9pbnRDb25zdHJ1Y3Rvci5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFdlYlNvY2tldEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwJywKQEAgLTUyMjIsOCArNTIyOCwxMCBAQAogICAg
ICAgICAgICAgJ2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuY3BwJywKICAgICAgICAgICAgICdkb20v
TW91c2VFdmVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9Nb3VzZVJlbGF0ZWRFdmVudC5jcHAn
LAorICAgICAgICAgICAgJ2RvbS9NdXRhdGlvbkNhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ2Rv
bS9NdXRhdGlvbkV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL011dGF0aW9uRXZlbnQuaCcs
CisgICAgICAgICAgICAnZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmgnLAogICAgICAgICAg
ICAgJ2RvbS9NdXRhdGlvblJlY29yZC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9NdXRhdGlvblJl
Y29yZC5oJywKICAgICAgICAgICAgICdkb20vTmFtZU5vZGVMaXN0LmNwcCcsCkBAIC01MzI2LDYg
KzUzMzQsOCBAQAogICAgICAgICAgICAgJ2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAnLAogICAg
ICAgICAgICAgJ2RvbS9XZWJLaXRBbmltYXRpb25FdmVudC5jcHAnLAogICAgICAgICAgICAgJ2Rv
bS9XZWJLaXRBbmltYXRpb25FdmVudC5oJywKKyAgICAgICAgICAgICdkb20vV2ViS2l0TXV0YXRp
b25PYnNlcnZlci5jcHAnLAorICAgICAgICAgICAgJ2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVy
LmgnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwJywKICAgICAg
ICAgICAgICdkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9X
aGVlbEV2ZW50LmNwcCcsCkBAIC03NDk5LDYgKzc1MDksOCBAQAogICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZXRhZGF0YUNhbGxiYWNrLmgnLAog
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNb3Vz
ZUV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU01vdXNlRXZlbnQuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU011dGF0aW9uQ2FsbGJhY2suY3BwJywKKyAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTXV0YXRpb25DYWxsYmFj
ay5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTXV0YXRpb25FdmVudC5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvbkV2ZW50LmgnLAogICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNdXRhdGlvblJlY29yZC5jcHAnLApA
QCAtODAzMiw2ICs4MDQ0LDggQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCcsCiAgICAgICAgICAg
ICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdExvc2VDb250
ZXh0LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1dlYktpdExvc2VDb250ZXh0LmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCcsCisg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktp
dE11dGF0aW9uT2JzZXJ2ZXIuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFBvaW50LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9E
VUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFBvaW50LmgnLAogICAgICAg
ICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRUcmFu
c2l0aW9uRXZlbnQuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJv
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMDY0ZGM5ODE1MGYyMTBjNDYzZDNm
ODExMGM0MzY5MDdhYzNjMGI2MS4uZmNkMGEzYTFkZTM1NmU3YTg0Njk5MTgxZWM3MjcwYTQ4MzA5
ODk2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTE5Miw2ICsxOTIsNyBAQCB2OCB7CiAgICAgICAgIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VDaGFubmVsQ29uc3RydWN0b3IuY3BwIFwKICAgICAg
ICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZVBvcnRDdXN0b20uY3BwIFwKICAgICAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCBcCisgICAgICAgIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOE11dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwIFwKICAgICAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0aW9uLmNwcCBcCiAgICAgICAgIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwIFwKQEAgLTIwNiw2ICsyMDcsNyBAQCB2
OCB7CiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRDdXN0b20uY3BwIFwK
ICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldExpc3RDdXN0b20uY3BwIFwK
ICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0QW5pbWF0aW9uQ3VzdG9tLmNwcCBc
CisgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0
b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0UG9pbnRDb25zdHJ1
Y3Rvci5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3Vz
dG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckN1c3RvbS5jcHAg
XApAQCAtMzE3LDYgKzMxOSw3IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvanMvSlNNZXNzYWdl
RXZlbnRDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3Rv
bS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmggXAorICAg
ICAgICBiaW5kaW5ncy9qcy9KU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwIFwKICAgICAgICAg
YmluZGluZ3MvanMvSlNOYW1lZE5vZGVNYXBDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3Mv
anMvSlNOYXZpZ2F0b3JDdXN0b20uY3BwICBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTm9kZUN1
c3RvbS5jcHAgXApAQCAtMzQzLDYgKzM0Niw3IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvanMv
SlNXZWJLaXRDU1NLZXlmcmFtZVJ1bGVDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMv
SlNXZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pz
L0pTV2ViS2l0Q1NTTWF0cml4Q3VzdG9tLmNwcCBcCisgICAgICAgIGJpbmRpbmdzL2pzL0pTV2Vi
S2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1dl
YktpdFBvaW50Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVl
c3RDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdFVwbG9h
ZEN1c3RvbS5jcHAgXApAQCAtNTY4LDYgKzU3Miw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9V
c2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5jcHAgXAogICAgIGRvbS9WaWV3cG9ydEFyZ3VtZW50
cy5jcHAgXAogICAgIGRvbS9XZWJLaXRBbmltYXRpb25FdmVudC5jcHAgXAorICAgIGRvbS9XZWJL
aXRNdXRhdGlvbk9ic2VydmVyLmNwcCBcCiAgICAgZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5j
cHAgXAogICAgIGRvbS9XaGVlbEV2ZW50LmNwcCBcCiAgICAgZG9tL1dpbmRvd0V2ZW50Q29udGV4
dC5jcHAgXApAQCAtMTUzMiw3ICsxNTM3LDkgQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL01lc3Nh
Z2VQb3J0LmggXAogICAgIGRvbS9Nb3VzZUV2ZW50LmggXAogICAgIGRvbS9Nb3VzZVJlbGF0ZWRF
dmVudC5oIFwKKyAgICBkb20vTXV0YXRpb25DYWxsYmFjay5oIFwKICAgICBkb20vTXV0YXRpb25F
dmVudC5oIFwKKyAgICBkb20vTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCBcCiAgICAgZG9tL011
dGF0aW9uUmVjb3JkLmggXAogICAgIGRvbS9OYW1lZE5vZGVNYXAuaCBcCiAgICAgZG9tL05hbWVO
b2RlTGlzdC5oIFwKQEAgLTE1ODMsNiArMTU5MCw3IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9V
c2VyR2VzdHVyZUluZGljYXRvci5oIFwKICAgICBkb20vVmlld3BvcnRBcmd1bWVudHMuaCBcCiAg
ICAgZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmggXAorICAgIGRvbS9XZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmggXAogICAgIGRvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBcCiAgICAgZG9tL1do
ZWVsRXZlbnQuaCBcCiAgICAgZWRpdGluZy9BcHBlbmROb2RlQ29tbWFuZC5oIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMjRiOGU2YWRiN2Uz
OGFjOGFlYThmZDA0NWE5MGU3YTJkMjI5YjJjYS4uMjA1NmNiYzQ4MWM3MzhjYmNlNTE5YWIxZjVl
ODQ5ZTgzODUyNTE4ZiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKQEAgLTExNTk4LDYgKzExNTk4LDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNdXRhdGlvbkNhbGxiYWNrLmNwcCIKKwkJCQk+
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRl
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25m
aWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU011
dGF0aW9uQ2FsbGJhY2suaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0
aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlc1xKU011dGF0aW9uRXZlbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KQEAgLTIzMDIyLDYgKzIzMDc4LDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZp
bGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCIKKwkJ
CQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIi
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZM
aXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19B
bGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rp
b258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU1dlYktpdFBvaW50LmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVD
b25maWd1cmF0aW9uCkBAIC02MzQzMyw2ICs2MzU0NSw1OCBAQAogCQkJCQk+CiAJCQkJPC9GaWxl
PgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNNdXRhdGlv
bkNhbGxiYWNrQ3VzdG9tLmNwcCIKKwkJCQkJPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJ
CQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJ
CQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdp
bjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9v
bAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVn
X0FsbHxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJ
CQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1l
PSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkv
PgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTTmFtZWROb2RlTWFwQ3VzdG9tLmNwcCIK
IAkJCQkJPgogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTY0OTczLDYgKzY1MTM3LDU4IEBA
CiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCisJCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3Vz
dG9tLmNwcCIKKwkJCQkJPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRl
YnVnfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJ
CQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9
IlJlbGVhc2V8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4K
KwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJ
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJ
TmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIK
KwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJQcm9kdWN0aW9u
fFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8
VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGJpbmRpbmdzXGpzXEpTV2ViS2l0UG9pbnRDdXN0b20uY3BwIgogCQkJCQk+CiAJCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQyYTQyNDEyZjkyM2JhNjYyMGI1MGJkNTZlNDg5MWFm
YjgwYWMzOGMuLjA0ZjU0ZWZlYjEzMmMyNjEwOTM3ODgzMmM2YjQ4ODEzMmNmNmYxZWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTU0NjEsNiArNTQ2MSwxNiBAQAogCQlDNkYwOEZCRDE0MzBGRThGMDA2ODU4NDkgLyogTXV0YXRp
b25SZWNvcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEM2RjA4RkJBMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5oICovOyB9OwogCQlD
NkYwOEZDOTE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlvblJlY29yZC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOEZDNzE0MzEwMDBEMDA2
ODU4NDkgLyogSlNNdXRhdGlvblJlY29yZC5jcHAgKi87IH07CiAJCUM2RjA4RkNBMTQzMTAwMEQw
MDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOEZDODE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlv
blJlY29yZC5oICovOyB9OworCQlDNkYwOTAwQTE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25D
YWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzZGMDkwMDExNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uQ2FsbGJhY2suaCAqLzsgfTsKKwkJ
QzZGMDkwMEUxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkwMDUxNDMy
N0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwICovOyB9OworCQlDNkYw
OTAwRjE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGMDkwMDYxNDMyN0I2MTAw
Njg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCAqLzsgfTsKKwkJQzZGMDkwMTExNDMy
N0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAwODE0MzI3QjYxMDA2ODU4NDkg
LyogTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCAqLzsgfTsKKwkJQzZGMDkwMjgxNDMyN0Q0RjAw
Njg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkYwOTAyMDE0MzI3RDRGMDA2ODU4NDkgLyogSlNNdXRh
dGlvbkNhbGxiYWNrLmNwcCAqLzsgfTsKKwkJQzZGMDkwMjkxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpT
TXV0YXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzZGMDkwMjExNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFjay5o
ICovOyB9OworCQlDNkYwOTAyQzE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEM2RjA5MDI0MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3Bw
ICovOyB9OworCQlDNkYwOTAyRDE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
NkYwOTAyNTE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggKi87
IH07CisJCUM2RjA5MTdGMTQzQTJCQjkwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2
ZXJDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzZGMDkxN0UxNDNBMkJCOTAwNjg1ODQ5IC8qIEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1
c3RvbS5jcHAgKi87IH07CisJCUM2RjA5MTg1MTQzQTZDM0IwMDY4NTg0OSAvKiBKU011dGF0aW9u
Q2FsbGJhY2tDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzZGMDkxODQxNDNBNkMzQjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFja0N1
c3RvbS5jcHAgKi87IH07CiAJCUM2RjQxMDQ3MTMwQzZFODkwMDM5M0RFNCAvKiBFbnRyeUJhc2Uu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGNDEw
NDYxMzBDNkU4OTAwMzkzREU0IC8qIEVudHJ5QmFzZS5jcHAgKi87IH07CiAJCUNBM0JGNjdDMTBE
OTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQTNCRjY3QjEwRDk5QkFFMDBFNkNFNTMgLyogU2Ny
b2xsQW5pbWF0b3IuY3BwICovOyB9OwogCQlDQTNCRjY3RTEwRDk5QkFFMDBFNkNFNTMgLyogU2Ny
b2xsQW5pbWF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMjc0Nyw2ICsxMjc1
NywxOCBAQAogCQlDNkYwOEZCQjE0MzBGRThGMDA2ODU4NDkgLyogTXV0YXRpb25SZWNvcmQuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE11dGF0aW9uUmVjb3JkLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQzZGMDhGQzcxNDMxMDAwRDAwNjg1ODQ5IC8qIEpTTXV0YXRpb25S
ZWNvcmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNdXRhdGlv
blJlY29yZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM2RjA4RkM4MTQzMTAw
MEQwMDY4NTg0OSAvKiBKU011dGF0aW9uUmVjb3JkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTTXV0YXRpb25SZWNvcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQzZGMDkwMDExNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uQ2FsbGJhY2suaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTXV0YXRpb25DYWxsYmFjay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDNkYwOTAwMjE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25D
YWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTXV0YXRpb25DYWxsYmFjay5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDA1MTQzMjdCNjEwMDY4NTg0OSAv
KiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDNkYwOTAwNjE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXRNdXRhdGlvbk9i
c2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDA3MTQzMjdCNjEw
MDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQzZGMDkwMDgxNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25z
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MDIwMTQzMjdENEYwMDY4
NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNNdXRhdGlvbkNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQzZGMDkwMjExNDMyN0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFjay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU011dGF0aW9uQ2FsbGJhY2suaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZGMDkwMjQxNDMyN0Q0RjAwNjg1ODQ5IC8q
IEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDNkYwOTAyNTE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlv
bk9ic2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkYwOTE3RTE0
M0EyQkI5MDA2ODU4NDkgLyogSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViS2l0TXV0YXRpb25PYnNlcnZl
ckN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM2RjA5MTg0MTQzQTZD
M0IwMDY4NTg0OSAvKiBKU011dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzZGNDEwNDYxMzBDNkU4OTAwMzkzREU0IC8qIEVu
dHJ5QmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBFbnRyeUJh
c2UuY3BwOyBwYXRoID0gZmlsZWFwaS9FbnRyeUJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDQTNCRjY3QjEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Nyb2xsQW5pbWF0b3IuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMg
LyogU2Nyb2xsQW5pbWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Ny
b2xsQW5pbWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MjIwLDYgKzE4
MjQyLDggQEAKIAkJCQk0OUM5RjQ4QjEzRDU3RDMyMDA1MjYwMEEgLyogSlNNZWRpYVN0cmVhbVRy
YWNrLmggKi8sCiAJCQkJNDlDOUY0OEMxM0Q1N0QzMjAwNTI2MDBBIC8qIEpTTWVkaWFTdHJlYW1U
cmFja0xpc3QuY3BwICovLAogCQkJCTQ5QzlGNDhEMTNENTdEMzIwMDUyNjAwQSAvKiBKU01lZGlh
U3RyZWFtVHJhY2tMaXN0LmggKi8sCisJCQkJQzZGMDkwMjAxNDMyN0Q0RjAwNjg1ODQ5IC8qIEpT
TXV0YXRpb25DYWxsYmFjay5jcHAgKi8sCisJCQkJQzZGMDkwMjExNDMyN0Q0RjAwNjg1ODQ5IC8q
IEpTTXV0YXRpb25DYWxsYmFjay5oICovLAogCQkJCUM2RjA4RkM3MTQzMTAwMEQwMDY4NTg0OSAv
KiBKU011dGF0aW9uUmVjb3JkLmNwcCAqLywKIAkJCQlDNkYwOEZDODE0MzEwMDBEMDA2ODU4NDkg
LyogSlNNdXRhdGlvblJlY29yZC5oICovLAogCQkJCUJDRDlDMkJDMEMxN0I2OUUwMDVDOTBBMiAv
KiBKU05hbWVkTm9kZU1hcC5jcHAgKi8sCkBAIC0xODI1NCw2ICsxODI3OCw4IEBACiAJCQkJNzU0
MTVENTQxMjlBQjJEMjAwM0FENjY5IC8qIEpTU3BlZWNoSW5wdXRSZXN1bHRMaXN0LmggKi8sCiAJ
CQkJNjVERjMxRUYwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTVGV4dC5jcHAgKi8sCiAJCQkJNjVERjMx
RjAwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTVGV4dC5oICovLAorCQkJCUM2RjA5MDI0MTQzMjdENEYw
MDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwICovLAorCQkJCUM2RjA5MDI1
MTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCAqLywKIAkJCSk7
CiAJCQluYW1lID0gQ29yZTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0xOTYwMiw2
ICsxOTYyOCw3IEBACiAJCQkJNDEwQjdFNzExMDQ1RkFCMDAwRDgyMjRGIC8qIEpTTWVzc2FnZUV2
ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlFMUFERUQ0NjBFNzZCOEREMDA0QTFBNUUgLyogSlNNZXNz
YWdlUG9ydEN1c3RvbS5jcHAgKi8sCiAJCQkJNDFGNTg0QzYxMDQ2NTJDQjAwOUNBQTY0IC8qIEpT
TWVzc2FnZVBvcnRDdXN0b20uaCAqLywKKwkJCQlDNkYwOTE4NDE0M0E2QzNCMDA2ODU4NDkgLyog
SlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNwcCAqLywKIAkJCQlCQ0Q5QzI1RjBDMTdBQTY3MDA1
QzkwQTIgLyogSlNOYW1lZE5vZGVNYXBDdXN0b20uY3BwICovLAogCQkJCUE5QzZFNjQ4MEQ3NDY1
RDgwMDY0NDJFOSAvKiBKU05hdmlnYXRvckN1c3RvbS5jcHAgKi8sCiAJCQkJQkNEOUMyNjAwQzE3
QUE2NzAwNUM5MEEyIC8qIEpTTm9kZUN1c3RvbS5jcHAgKi8sCkBAIC0xOTYzNCw2ICsxOTY2MSw3
IEBACiAJCQkJRTFBRDE0QzQxMjk3MzU0OTAwQUNBOTg5IC8qIEpTV2ViS2l0Q1NTS2V5ZnJhbWVS
dWxlQ3VzdG9tLmNwcCAqLywKIAkJCQlFMUFEMTRCNDEyOTczNENBMDBBQ0E5ODkgLyogSlNXZWJL
aXRDU1NLZXlmcmFtZXNSdWxlQ3VzdG9tLmNwcCAqLywKIAkJCQlCQzI3NUI3QzExQzVEMjM1MDBD
OTIwNkMgLyogSlNXZWJLaXRDU1NNYXRyaXhDdXN0b20uY3BwICovLAorCQkJCUM2RjA5MTdFMTQz
QTJCQjkwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwICovLAog
CQkJCUJDMjc1Qjc4MTFDNUQxQzMwMEM5MjA2QyAvKiBKU1dlYktpdFBvaW50Q3VzdG9tLmNwcCAq
LywKIAkJCQk1MThBMzRDNjEwMjZDOEM5MDAxQjY4OTYgLyogSlNXZWJTb2NrZXRDdXN0b20uY3Bw
ICovLAogCQkJCUUxODI1OEFCMEVGM0NENzAwMDkzMzI0MiAvKiBKU1dvcmtlckNvbnRleHRDdXN0
b20uY3BwICovLApAQCAtMjEwODEsOSArMjExMDksMTIgQEAKIAkJCQkxNDFCOTRFNTA5RUM0MjIz
MDAwRTk0MTMgLyogTW91c2VFdmVudC5pZGwgKi8sCiAJCQkJODUwMzFCMzEwQTQ0RUZDNzAwRjk5
MkUwIC8qIE1vdXNlUmVsYXRlZEV2ZW50LmNwcCAqLywKIAkJCQk4NTAzMUIzMjBBNDRFRkM3MDBG
OTkyRTAgLyogTW91c2VSZWxhdGVkRXZlbnQuaCAqLywKKwkJCQlDNkYwOTAwMTE0MzI3QjYxMDA2
ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5oICovLAorCQkJCUM2RjA5MDAyMTQzMjdCNjEwMDY4
NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmlkbCAqLywKIAkJCQk4NTAzMUIzMzBBNDRFRkM3MDBG
OTkyRTAgLyogTXV0YXRpb25FdmVudC5jcHAgKi8sCiAJCQkJODUwMzFCMzQwQTQ0RUZDNzAwRjk5
MkUwIC8qIE11dGF0aW9uRXZlbnQuaCAqLywKIAkJCQk5M0VFQzFGMzA5QzI4Nzc3MDBDNTE1RDEg
LyogTXV0YXRpb25FdmVudC5pZGwgKi8sCisJCQkJQzZGMDkwMDgxNDMyN0I2MTAwNjg1ODQ5IC8q
IE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggKi8sCiAJCQkJQzZGMDhGQjkxNDMwRkU4RjAwNjg1
ODQ5IC8qIE11dGF0aW9uUmVjb3JkLmNwcCAqLywKIAkJCQlDNkYwOEZCQTE0MzBGRThGMDA2ODU4
NDkgLyogTXV0YXRpb25SZWNvcmQuaCAqLywKIAkJCQlDNkYwOEZCQjE0MzBGRThGMDA2ODU4NDkg
LyogTXV0YXRpb25SZWNvcmQuaWRsICovLApAQCAtMjEyMjIsNiArMjEyNTMsOSBAQAogCQkJCTMx
QzBGRjFCMEU0Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRBbmltYXRpb25FdmVudC5jcHAgKi8sCiAJ
CQkJMzFDMEZGMUMwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdEFuaW1hdGlvbkV2ZW50LmggKi8s
CiAJCQkJMzFDMEZGMUQwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdEFuaW1hdGlvbkV2ZW50Lmlk
bCAqLywKKwkJCQlDNkYwOTAwNTE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5jcHAgKi8sCisJCQkJQzZGMDkwMDYxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0
aW9uT2JzZXJ2ZXIuaCAqLywKKwkJCQlDNkYwOTAwNzE0MzI3QjYxMDA2ODU4NDkgLyogV2ViS2l0
TXV0YXRpb25PYnNlcnZlci5pZGwgKi8sCiAJCQkJMzFDMEZGMUUwRTRDRUI2RTAwN0Q2RkU1IC8q
IFdlYktpdFRyYW5zaXRpb25FdmVudC5jcHAgKi8sCiAJCQkJMzFDMEZGMUYwRTRDRUI2RTAwN0Q2
RkU1IC8qIFdlYktpdFRyYW5zaXRpb25FdmVudC5oICovLAogCQkJCTMxQzBGRjIwMEU0Q0VCNkUw
MDdENkZFNSAvKiBXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaWRsICovLApAQCAtMjMyMTIsNiArMjMy
NDYsNyBAQAogCQkJCTg5ODc4NUI3MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhLmggaW4g
SGVhZGVycyAqLywKIAkJCQk4OTg3ODVCOTEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0YUNh
bGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODY2MjlEMTA5REEyQjQ4MDA5NjMzQTUgLyog
SlNNb3VzZUV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlDNkYwOTAyOTE0MzI3RDRGMDA2ODU4
NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NURGMzFGQzA5
RDFDQzYwMDAwQkUzMjUgLyogSlNNdXRhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlD
NkYwOEZDQTE0MzEwMDBEMDA2ODU4NDkgLyogSlNNdXRhdGlvblJlY29yZC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkNEOUMyQzEwQzE3QjY5RTAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwLmggaW4g
SGVhZGVycyAqLywKQEAgLTIzNDUyLDYgKzIzNDg3LDcgQEAKIAkJCQkzMTYxMUU1QjBFMUM0REUw
MDBGNkE1NzkgLyogSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODk4Nzg1QjUxMjJDQTJBNzAwM0FBQkRBIC8qIEpTV2ViS2l0RmxhZ3MuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTkzRjFENUMxMTJENTMzNTYwMDgzMkJFQyAvKiBKU1dlYktpdExvc2VDb250ZXh0
LmggaW4gSGVhZGVycyAqLywKKwkJCQlDNkYwOTAyRDE0MzI3RDRGMDA2ODU4NDkgLyogSlNXZWJL
aXRNdXRhdGlvbk9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTRCRDc5RTBGNTVDOTRD
MDA3NDc4MjggLyogSlNXZWJLaXRQb2ludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFDMEZGNDAw
RTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQk1REE1RTBGRDEwMkI5NTM4MDAwODhDRjkgLyogSlNXZWJTb2NrZXQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjM1ODUsNyArMjM2MjEsOSBAQAogCQkJCTg1MDMxQjQ4MEE0NEVGQzcwMEY5
OTJFMCAvKiBNb3VzZVJlbGF0ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlERkMw
OTlFNjQ5MjAwNTZFNTgxIC8qIE1vdmVTZWxlY3Rpb25Db21tYW5kLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCMUFENEU2MzEzQTEyQTBCMDA4NDZCMjcgLyogTXV0YWJsZVRleHRUcmFjay5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQzZGMDkwMEExNDMyN0I2MTAwNjg1ODQ5IC8qIE11dGF0aW9uQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMxQjRBMEE0NEVGQzcwMEY5OTJFMCAvKiBNdXRh
dGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlDNkYwOTAxMTE0MzI3QjYxMDA2ODU4NDkg
LyogTXV0YXRpb25PYnNlcnZlck9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUM2RjA4RkJE
MTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTgxODcyMjMwOTc3RDNDMDAwNTgyNkQ5IC8qIE5hbWVkTm9kZU1hcC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTgxODcyMUUwOTc3RDNDMDAwNTgyNkQ5IC8qIE5hbWVOb2RlTGlzdC5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yNDQ1Myw2ICsyNDQ5MSw3IEBACiAJCQkJQkM5QUREMjMwQ0M0MDMyNjAwMDk4
QzRDIC8qIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4OTg3
ODU2NjEyMkNBMDY0MDAzQUFCREEgLyogV2ViS2l0RmxhZ3MuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTkzRjFENUJCMTJENTMyQzQwMDgzMkJFQyAvKiBXZWJLaXRMb3NlQ29udGV4dC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQzZGMDkwMEYxNDMyN0I2MTAwNjg1ODQ5IC8qIFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5NEJENzk1MEY1NUM4RUUwMDc0NzgyOCAvKiBX
ZWJLaXRQb2ludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFDMEZGMjUwRTRDRUI2RTAwN0Q2RkU1
IC8qIFdlYktpdFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDRjMzMkYw
RjJCOUEyNTAwNEI2Nzk1IC8qIFdlYkxheWVyLmggaW4gSGVhZGVycyAqLywKQEAgLTI2MjQ2LDYg
KzI2Mjg1LDggQEAKIAkJCQk4OTg3ODVCNjEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRhZGF0YS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk4OTg3ODVCODEyMkNBMkE3MDAzQUFCREEgLyogSlNNZXRh
ZGF0YUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NjYyOUQyMDlEQTJCNDgwMDk2
MzNBNSAvKiBKU01vdXNlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzZGMDkwMjgxNDMy
N0Q0RjAwNjg1ODQ5IC8qIEpTTXV0YXRpb25DYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlDNkYwOTE4NTE0M0E2QzNCMDA2ODU4NDkgLyogSlNNdXRhdGlvbkNhbGxiYWNrQ3VzdG9tLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTY1REYzMUZCMDlEMUNDNjAwMDBCRTMyNSAvKiBKU011dGF0
aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzZGMDhGQzkxNDMxMDAwRDAwNjg1ODQ5
IC8qIEpTTXV0YXRpb25SZWNvcmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNEOUMyQzAwQzE3
QjY5RTAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjY1
MTgsNiArMjY1NTksOCBAQAogCQkJCTMxNjExRTVBMEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktp
dENTU1RyYW5zZm9ybVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg5ODc4NUI0MTIyQ0Ey
QTcwMDNBQUJEQSAvKiBKU1dlYktpdEZsYWdzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzRjFE
NUMwMTJENTMzNTYwMDgzMkJFQyAvKiBKU1dlYktpdExvc2VDb250ZXh0LmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCUM2RjA5MDJDMTQzMjdENEYwMDY4NTg0OSAvKiBKU1dlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzZGMDkxN0YxNDNBMkJCOTAwNjg1ODQ5IC8q
IEpTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0
OTRCRDc5RDBGNTVDOTRDMDA3NDc4MjggLyogSlNXZWJLaXRQb2ludC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQzI3NUI3OTExQzVEMUMzMDBDOTIwNkMgLyogSlNXZWJLaXRQb2ludEN1c3RvbS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUMwRkYzRjBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJL
aXRUcmFuc2l0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNzMyMCw2ICsyNzM2Myw3
IEBACiAJCQkJNDk4MzkxNTgwRjFFNzc2OTAwQzIzNzgyIC8qIFdlYktpdENTU01hdHJpeC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCQzlBREQ4MDBDQzQwOTIyMDAwOThDNEMgLyogV2ViS2l0Q1NT
VHJhbnNmb3JtVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNGMUQ1QkExMkQ1MzJDNDAw
ODMyQkVDIC8qIFdlYktpdExvc2VDb250ZXh0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUM2RjA5
MDBFMTQzMjdCNjEwMDY4NTg0OSAvKiBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTMxQzBGRjI0MEU0Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRUcmFuc2l0aW9u
RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZDRjMzMkUwRjJCOUEyNTAwNEI2Nzk1IC8q
IFdlYkxheWVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFBMzE2MkUxMzRCQzMyRDAwN0M5QTRG
IC8qIFdlYk5TQXR0cmlidXRlZFN0cmluZ0V4dHJhcy5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuaAppbmRleCA3NzkwZDcwZmUxOWRkN2Qy
Mzc0NmI3NmZmNDYwMjVkM2U4NzJkYjhjLi5mMTgwYmE1MzFiNDljN2Y1OTdmYTliZmE1MjZmM2Ri
YmI0OTM3OGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpY3Rp
b25hcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuaApA
QCAtNTIsNiArNTIsOSBAQCBwdWJsaWM6CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVu
YW1lIFJlc3VsdD4KICAgICBib29sIHRyeUdldFByb3BlcnR5KGNvbnN0IGNoYXIqIHByb3BlcnR5
TmFtZSwgVCogY29udGV4dCwgdm9pZCAoKnNldHRlcikoVCogY29udGV4dCwgY29uc3QgUmVzdWx0
JikpOwogCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisgICAgYm9vbCB0cnlHZXRQcm9wZXJ0
eShjb25zdCBjaGFyKiBwcm9wZXJ0eU5hbWUsIFQmIGNvbnRleHQsIHZvaWQgKFQ6OipzZXR0ZXIp
KGJvb2wpKTsKKwogcHJpdmF0ZToKICAgICBlbnVtIEdldFByb3BlcnR5UmVzdWx0IHsKICAgICAg
ICAgRXhjZXB0aW9uVGhyb3duLApAQCAtMTAzLDYgKzEwNiwzMCBAQCBib29sIEpTRGljdGlvbmFy
eTo6dHJ5R2V0UHJvcGVydHkoY29uc3QgY2hhciogcHJvcGVydHlOYW1lLCBUKiBjb250ZXh0LCB2
b2lkICgqcwogICAgIHJldHVybiB0cnVlOwogfQogCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK2Jv
b2wgSlNEaWN0aW9uYXJ5Ojp0cnlHZXRQcm9wZXJ0eShjb25zdCBjaGFyKiBwcm9wZXJ0eU5hbWUs
IFQmIGNvbnRleHQsIHZvaWQgKFQ6OipzZXR0ZXIpKGJvb2wpKQoreworICAgIEpTQzo6SlNWYWx1
ZSB2YWx1ZTsKKyAgICBzd2l0Y2ggKHRyeUdldFByb3BlcnR5KHByb3BlcnR5TmFtZSwgdmFsdWUp
KSB7CisgICAgY2FzZSBFeGNlcHRpb25UaHJvd246CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBjYXNlIFByb3BlcnR5Rm91bmQ6IHsKKyAgICAgICAgYm9vbCByZXN1bHQ7CisgICAgICAgIGNv
bnZlcnRWYWx1ZShtX2V4ZWMsIHZhbHVlLCByZXN1bHQpOworCisgICAgICAgIGlmIChtX2V4ZWMt
PmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIChj
b250ZXh0LipzZXR0ZXIpKHJlc3VsdCk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNl
IE5vUHJvcGVydHlGb3VuZDoKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHRy
dWU7Cit9CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBSZXN1bHQ+CiBib29sIEpTRGljdGlvbmFyeTo6
dHJ5R2V0UHJvcGVydHkoY29uc3QgY2hhciogcHJvcGVydHlOYW1lLCBSZXN1bHQmIGZpbmFsUmVz
dWx0KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNdXRhdGlv
bkNhbGxiYWNrQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTXV0YXRp
b25DYWxsYmFja0N1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDY0NzU2YzFiODYwMGYxMzEzYzRhMDBh
ZDRmMjBjY2I4NTJkNTMyNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTTXV0YXRpb25DYWxsYmFja0N1c3RvbS5jcHAKQEAgLTAsMCArMSw3MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNpbmNs
dWRlICJKU011dGF0aW9uQ2FsbGJhY2suaCIKKworI2luY2x1ZGUgIkpTTXV0YXRpb25SZWNvcmQu
aCIKKyNpbmNsdWRlICJKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJTY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4KKwordXNp
bmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sIEpTTXV0YXRp
b25DYWxsYmFjazo6aGFuZGxlRXZlbnQoTXV0YXRpb25SZWNvcmRBcnJheSogbXV0YXRpb25zLCBX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyKiBvYnNlcnZlcikKK3sKKyAgICBpZiAoIWNhbkludm9rZUNh
bGxiYWNrKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgUmVmUHRyPEpTTXV0YXRpb25D
YWxsYmFjaz4gcHJvdGVjdCh0aGlzKTsKKworICAgIEpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRp
b25zT25seSk7CisKKyAgICBFeGVjU3RhdGUqIGV4ZWMgPSBtX2RhdGEtPmdsb2JhbE9iamVjdCgp
LT5nbG9iYWxFeGVjKCk7CisKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBtdXRhdGlvbkxpc3Q7
CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtdXRhdGlvbnMtPnNpemUoKTsgKytpKQorICAg
ICAgICBtdXRhdGlvbkxpc3QuYXBwZW5kKHRvSlMoZXhlYywgbV9kYXRhLT5nbG9iYWxPYmplY3Qo
KSwgbXV0YXRpb25zLT5hdChpKS5nZXQoKSkpOworCisgICAgTWFya2VkQXJndW1lbnRCdWZmZXIg
YXJnczsKKyAgICBhcmdzLmFwcGVuZChjb25zdHJ1Y3RBcnJheShleGVjLCBtX2RhdGEtPmdsb2Jh
bE9iamVjdCgpLCBtdXRhdGlvbkxpc3QpKTsKKyAgICBhcmdzLmFwcGVuZCh0b0pTKGV4ZWMsIG1f
ZGF0YS0+Z2xvYmFsT2JqZWN0KCksIG9ic2VydmVyKSk7CisKKyAgICBib29sIHJhaXNlZEV4Y2Vw
dGlvbiA9IGZhbHNlOworICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgJnJhaXNlZEV4
Y2VwdGlvbik7CisgICAgcmV0dXJuICFyYWlzZWRFeGNlcHRpb247Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYktpdE11dGF0aW9uT2JzZXJ2
ZXJDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlv
bk9ic2VydmVyQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NjZiNTlmYjhiODg3ZDYxMzNmYWJhOTI1
MTdlZmQ1MmU5YzYxODY1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcApAQCAtMCwwICsxLDk3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKwor
I2luY2x1ZGUgIkpTV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIgorCisjaW5jbHVkZSAiRXhjZXB0
aW9uQ29kZS5oIgorI2luY2x1ZGUgIkpTRGljdGlvbmFyeS5oIgorI2luY2x1ZGUgIkpTTXV0YXRp
b25DYWxsYmFjay5oIgorI2luY2x1ZGUgIkpTTm9kZS5oIgorI2luY2x1ZGUgIk11dGF0aW9uT2Jz
ZXJ2ZXJPcHRpb25zLmgiCisjaW5jbHVkZSAiTm9kZS5oIgorI2luY2x1ZGUgIldlYktpdE11dGF0
aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CisKK3VzaW5nIG5hbWVz
cGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0SlNX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBpZiAoZXhlYy0+
YXJndW1lbnRDb3VudCgpIDwgMSkKKyAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBj
cmVhdGVUeXBlRXJyb3IoZXhlYywgIk5vdCBlbm91Z2ggYXJndW1lbnRzIikpOworCisgICAgSlNP
YmplY3QqIG9iamVjdCA9IGV4ZWMtPmFyZ3VtZW50KDApLmdldE9iamVjdCgpOworICAgIGlmICgh
b2JqZWN0KSB7CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBUWVBFX01JU01BVENIX0VS
Uik7CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAg
fQorCisgICAgSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3IqIGpzQ29uc3RydWN0
b3IgPSBzdGF0aWNfY2FzdDxKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3Rvcio+KGV4
ZWMtPmNhbGxlZSgpKTsKKyAgICBSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4gY2FsbGJhY2sgPSBK
U011dGF0aW9uQ2FsbGJhY2s6OmNyZWF0ZShvYmplY3QsIGpzQ29uc3RydWN0b3ItPmdsb2JhbE9i
amVjdCgpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGFzT2JqZWN0KHRvSlMoZXhlYywg
anNDb25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCksIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OmNy
ZWF0ZShjYWxsYmFjay5yZWxlYXNlKCkpKSkpOworfQorCitKU1ZhbHVlIEpTV2ViS2l0TXV0YXRp
b25PYnNlcnZlcjo6b2JzZXJ2ZShFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgaWYgKGV4ZWMtPmFy
Z3VtZW50Q291bnQoKSA8IDIpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGV4ZWMsIGNyZWF0
ZVR5cGVFcnJvcihleGVjLCAiTm90IGVub3VnaCBhcmd1bWVudHMiKSk7CisgICAgTm9kZSogdGFy
Z2V0ID0gdG9Ob2RlKGV4ZWMtPmFyZ3VtZW50KDApKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0
aW9uKCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworCisgICAgSlNPYmplY3QqIG9w
dGlvbnNPYmplY3QgPSBleGVjLT5hcmd1bWVudCgxKS5nZXRPYmplY3QoKTsKKyAgICBpZiAoIW9w
dGlvbnNPYmplY3QpIHsKKyAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIFRZUEVfTUlTTUFU
Q0hfRVJSKTsKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgfQorCisgICAgSlNE
aWN0aW9uYXJ5IGRpY3Rpb25hcnkoZXhlYywgb3B0aW9uc09iamVjdCk7CisKKyAgICBSZWZQdHI8
TXV0YXRpb25PYnNlcnZlck9wdGlvbnM+IG9wdGlvbnMgPSBNdXRhdGlvbk9ic2VydmVyT3B0aW9u
czo6Y3JlYXRlKCk7CisgICAgaWYgKCFkaWN0aW9uYXJ5LnRyeUdldFByb3BlcnR5KCJjaGlsZExp
c3QiLCAqb3B0aW9ucywgJk11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRDaGlsZExpc3QpCisg
ICAgICAgIHx8ICFkaWN0aW9uYXJ5LnRyeUdldFByb3BlcnR5KCJhdHRyaWJ1dGVzIiwgKm9wdGlv
bnMsICZNdXRhdGlvbk9ic2VydmVyT3B0aW9uczo6c2V0QXR0cmlidXRlcykKKyAgICAgICAgfHwg
IWRpY3Rpb25hcnkudHJ5R2V0UHJvcGVydHkoImNoYXJhY3RlckRhdGEiLCAqb3B0aW9ucywgJk11
dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOjpzZXRDaGFyYWN0ZXJEYXRhKQorICAgICAgICB8fCAhZGlj
dGlvbmFyeS50cnlHZXRQcm9wZXJ0eSgic3VidHJlZSIsICpvcHRpb25zLCAmTXV0YXRpb25PYnNl
cnZlck9wdGlvbnM6OnNldFN1YnRyZWUpCisgICAgICAgIHx8ICFkaWN0aW9uYXJ5LnRyeUdldFBy
b3BlcnR5KCJhdHRyaWJ1dGVPbGRWYWx1ZSIsICpvcHRpb25zLCAmTXV0YXRpb25PYnNlcnZlck9w
dGlvbnM6OnNldEF0dHJpYnV0ZU9sZFZhbHVlKQorICAgICAgICB8fCAhZGljdGlvbmFyeS50cnlH
ZXRQcm9wZXJ0eSgiY2hhcmFjdGVyRGF0YU9sZFZhbHVlIiwgKm9wdGlvbnMsICZNdXRhdGlvbk9i
c2VydmVyT3B0aW9uczo6c2V0Q2hhcmFjdGVyRGF0YU9sZFZhbHVlKSkKKyAgICAgICAgcmV0dXJu
IGpzVW5kZWZpbmVkKCk7CisKKyAgICBpbXBsKCktPm9ic2VydmUodGFyZ2V0LCBvcHRpb25zLmdl
dCgpKTsKKyAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE11dGF0aW9uQ2FsbGJhY2tDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TXV0YXRpb25DYWxs
YmFja0N1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmY0ODc4ZTZmNjYwYzg2MzQ3OTM0YjEzYWE1YmVm
OGVmYjNlZWFhNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOE11dGF0aW9uQ2FsbGJhY2tDdXN0b20uY3BwCkBAIC0wLDAgKzEsODggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5j
bHVkZSAiVjhNdXRhdGlvbkNhbGxiYWNrLmgiCisKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25D
b250ZXh0LmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhDdXN0b21Wb2lk
Q2FsbGJhY2suaCIKKyNpbmNsdWRlICJWOE11dGF0aW9uUmVjb3JkLmgiCisjaW5jbHVkZSAiVjhQ
cm94eS5oIgorI2luY2x1ZGUgIlY4V2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIgorI2luY2x1ZGUg
PHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2Jvb2wgVjhNdXRhdGlvbkNhbGxiYWNrOjpoYW5kbGVFdmVudChNdXRhdGlvblJl
Y29yZEFycmF5KiBtdXRhdGlvbnMsIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIqIG9ic2VydmVyKQor
eworICAgIEFTU0VSVChtdXRhdGlvbnMpOworICAgIGlmICghbXV0YXRpb25zKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgIGlmICghY2FuSW52b2tlQ2FsbGJhY2soKSkKKyAgICAgICAgcmV0
dXJuIHRydWU7CisKKyAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7CisKKyAgICB2ODo6
SGFuZGxlPHY4OjpDb250ZXh0PiB2OENvbnRleHQgPSB0b1Y4Q29udGV4dChzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCksIG1fd29ybGRDb250ZXh0KTsKKyAgICBpZiAodjhDb250ZXh0LklzRW1wdHko
KSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICB2ODo6Q29udGV4dDo6U2NvcGUgc2NvcGUo
djhDb250ZXh0KTsKKworICAgIHY4OjpMb2NhbDx2ODo6QXJyYXk+IG11dGF0aW9uc0FycmF5ID0g
djg6OkFycmF5OjpOZXcobXV0YXRpb25zLT5zaXplKCkpOworICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgbXV0YXRpb25zLT5zaXplKCk7ICsraSkKKyAgICAgICAgbXV0YXRpb25zQXJyYXktPlNl
dCh2ODo6SW50ZWdlcjo6TmV3KGkpLCB0b1Y4KG11dGF0aW9ucy0+YXQoaSkuZ2V0KCkpKTsKKwor
ICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBvYnNlcnZlckhhbmRsZSA9IHRvVjgob2JzZXJ2ZXIp
OworICAgIGlmIChvYnNlcnZlckhhbmRsZS5Jc0VtcHR5KCkpIHsKKyAgICAgICAgQ1JBU0goKTsK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IGFyZ3ZbXSA9IHsKKyAgICAgICAgbXV0YXRpb25zQXJyYXksCisgICAgICAgIG9ic2VydmVySGFu
ZGxlCisgICAgfTsKKworICAgIGJvb2wgY2FsbGJhY2tSZXR1cm5WYWx1ZSA9IGZhbHNlOworICAg
IHJldHVybiAhaW52b2tlQ2FsbGJhY2sobV9jYWxsYmFjaywgMiwgYXJndiwgY2FsbGJhY2tSZXR1
cm5WYWx1ZSwgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXJDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2Vi
S2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWUyOGZlOTg3ZDQ4ZTU0
MzEzZjYyMmY3Njc4YWVkYzM3MzgyMDAxNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3Bw
CkBAIC0wLDAgKzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE1VVEFU
SU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgIlY4V2ViS2l0TXV0YXRpb25PYnNlcnZlci5oIgor
CisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIk11dGF0aW9uT2JzZXJ2ZXJP
cHRpb25zLmgiCisjaW5jbHVkZSAiT3B0aW9uc09iamVjdC5oIgorI2luY2x1ZGUgIlY4QmluZGlu
Zy5oIgorI2luY2x1ZGUgIlY4QmluZGluZ01hY3Jvcy5oIgorI2luY2x1ZGUgIlY4RE9NV3JhcHBl
ci5oIgorI2luY2x1ZGUgIlY4TXV0YXRpb25DYWxsYmFjay5oIgorI2luY2x1ZGUgIlY4Tm9kZS5o
IgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRlICJWOFV0aWxpdGllcy5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXI6OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykK
K3sKKyAgICBJTkNfU1RBVFMoIkRPTS5XZWJLaXRNdXRhdGlvbk9ic2VydmVyLkNvbnN0cnVjdG9y
Iik7CisKKyAgICBpZiAoIWFyZ3MuSXNDb25zdHJ1Y3RDYWxsKCkpCisgICAgICAgIHJldHVybiB0
aHJvd0Vycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBm
dW5jdGlvbi4iLCBWOFByb3h5OjpUeXBlRXJyb3IpOworCisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkg
PCAxKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBW
OFByb3h5OjpUeXBlRXJyb3IpOworCisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gYXJnID0gYXJn
c1swXTsKKyAgICBpZiAoIWFyZy0+SXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHRocm93RXJy
b3IoVFlQRV9NSVNNQVRDSF9FUlIpOworCisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCA9IGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICBpZiAoIWNvbnRleHQpCisg
ICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJXZWJLaXRNdXRhdGlvbk9ic2VydmVyIGNvbnN0cnVj
dG9yJ3MgYXNzb2NpYXRlZCBmcmFtZSB1bmF2YWlsYWJsZSIsIFY4UHJveHk6OlJlZmVyZW5jZUVy
cm9yKTsKKworICAgIFJlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPiBjYWxsYmFjayA9IFY4TXV0YXRp
b25DYWxsYmFjazo6Y3JlYXRlKGFyZywgY29udGV4dCk7CisgICAgUmVmUHRyPFdlYktpdE11dGF0
aW9uT2JzZXJ2ZXI+IG9ic2VydmVyID0gV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6Y3JlYXRlKGNh
bGxiYWNrLnJlbGVhc2UoKSk7CisKKyAgICBWOERPTVdyYXBwZXI6OnNldERPTVdyYXBwZXIoYXJn
cy5Ib2xkZXIoKSwgJmluZm8sIG9ic2VydmVyLmdldCgpKTsKKyAgICBvYnNlcnZlci0+cmVmKCk7
CisgICAgVjhET01XcmFwcGVyOjpzZXRKU1dyYXBwZXJGb3JET01PYmplY3Qob2JzZXJ2ZXIuZ2V0
KCksIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+OjpOZXcoYXJncy5Ib2xkZXIoKSkpOworICAg
IHJldHVybiBhcmdzLkhvbGRlcigpOworfQorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXZWJL
aXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYg
YXJncykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5XZWJLaXRNdXRhdGlvbk9ic2VydmVyLm9ic2Vy
dmUiKTsKKyAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDIpCisgICAgICAgIHJldHVybiB0aHJvd0Vy
cm9yKCJOb3QgZW5vdWdoIGFyZ3VtZW50cyIsIFY4UHJveHk6OlR5cGVFcnJvcik7CisgICAgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlciogaW1wID0gVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjp0b05h
dGl2ZShhcmdzLkhvbGRlcigpKTsKKyAgICBFWENFUFRJT05fQkxPQ0soTm9kZSosIHRhcmdldCwg
VjhOb2RlOjpIYXNJbnN0YW5jZShhcmdzWzBdKSA/IFY4Tm9kZTo6dG9OYXRpdmUodjg6OkhhbmRs
ZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzBdKSkgOiAwKTsKKworICAgIGlmICghYXJnc1sxXS0+
SXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoVFlQRV9NSVNNQVRDSF9FUlIp
OworCisgICAgT3B0aW9uc09iamVjdCBvcHRpb25zT2JqZWN0KGFyZ3NbMV0pOworICAgIFJlZlB0
cjxNdXRhdGlvbk9ic2VydmVyT3B0aW9ucz4gb3B0aW9ucyA9IE11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zOjpjcmVhdGUoKTsKKworICAgIGJvb2wgb3B0aW9uOworICAgIGlmIChvcHRpb25zT2JqZWN0
LmdldEtleVZhbHVlKCJjaGlsZExpc3QiLCBvcHRpb24pKQorICAgICAgICBvcHRpb25zLT5zZXRD
aGlsZExpc3Qob3B0aW9uKTsKKyAgICBpZiAob3B0aW9uc09iamVjdC5nZXRLZXlWYWx1ZSgiYXR0
cmlidXRlcyIsIG9wdGlvbikpCisgICAgICAgIG9wdGlvbnMtPnNldEF0dHJpYnV0ZXMob3B0aW9u
KTsKKyAgICBpZiAob3B0aW9uc09iamVjdC5nZXRLZXlWYWx1ZSgiY2hhcmFjdGVyRGF0YSIsIG9w
dGlvbikpCisgICAgICAgIG9wdGlvbnMtPnNldENoYXJhY3RlckRhdGEob3B0aW9uKTsKKyAgICBp
ZiAob3B0aW9uc09iamVjdC5nZXRLZXlWYWx1ZSgic3VidHJlZSIsIG9wdGlvbikpCisgICAgICAg
IG9wdGlvbnMtPnNldFN1YnRyZWUob3B0aW9uKTsKKyAgICBpZiAob3B0aW9uc09iamVjdC5nZXRL
ZXlWYWx1ZSgiYXR0cmlidXRlT2xkVmFsdWUiLCBvcHRpb24pKQorICAgICAgICBvcHRpb25zLT5z
ZXRBdHRyaWJ1dGVPbGRWYWx1ZShvcHRpb24pOworICAgIGlmIChvcHRpb25zT2JqZWN0LmdldEtl
eVZhbHVlKCJjaGFyYWN0ZXJEYXRhT2xkVmFsdWUiLCBvcHRpb24pKQorICAgICAgICBvcHRpb25z
LT5zZXRDaGFyYWN0ZXJEYXRhT2xkVmFsdWUob3B0aW9uKTsKKworICAgIGltcC0+b2JzZXJ2ZSh0
YXJnZXQsIG9wdGlvbnMuZ2V0KCkpOworICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4o
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1VVEFU
SU9OX09CU0VSVkVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNh
bGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFjay5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgwNzM5Yzg4YWQ3OGIxMzE1OTkyZDhmNjY2ZDkwYjI0MGFlN2VhZDkKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFjay5oCkBAIC0wLDAgKzEs
NTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIE11dGF0aW9uQ2FsbGJhY2tfaAorI2RlZmluZSBNdXRhdGlvbkNhbGxiYWNr
X2gKKworI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTXV0YXRpb25SZWNvcmQ7CitjbGFz
cyBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOworCit0eXBlZGVmIFZlY3RvcjxSZWZQdHI8TXV0YXRp
b25SZWNvcmQ+ID4gTXV0YXRpb25SZWNvcmRBcnJheTsKKworY2xhc3MgTXV0YXRpb25DYWxsYmFj
ayA6IHB1YmxpYyBSZWZDb3VudGVkPE11dGF0aW9uQ2FsbGJhY2s+IHsKK3B1YmxpYzoKKyAgICB2
aXJ0dWFsIH5NdXRhdGlvbkNhbGxiYWNrKCkgeyB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaGFuZGxl
RXZlbnQoTXV0YXRpb25SZWNvcmRBcnJheSosIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIqKSA9IDA7
Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjZW5k
aWYgLy8gTXV0YXRpb25DYWxsYmFja19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
TXV0YXRpb25DYWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25DYWxsYmFj
ay5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTYzODE3MTRjODA5ZWE3Y2E0Nzg0YzZiM2IwMzExYjg5NzlmODE3
NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbkNhbGxiYWNr
LmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIGNvcmUgeworICAgIGludGVyZmFjZSBbCisgICAg
ICAgIENvbmRpdGlvbmFsPU1VVEFUSU9OX09CU0VSVkVSUywKKyAgICAgICAgQ2FsbGJhY2sKKyAg
ICBdIE11dGF0aW9uQ2FsbGJhY2sgeworICAgICAgICBbQ3VzdG9tXSBib29sZWFuIGhhbmRsZUV2
ZW50KGluIE11dGF0aW9uUmVjb3JkQXJyYXkgbXV0YXRpb25zLCBpbiBXZWJLaXRNdXRhdGlvbk9i
c2VydmVyIG9ic2VydmVyKTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL011dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRp
b25PYnNlcnZlck9wdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZmU1ZDFjZDI4NGJkMWY0Yjg0MzY3YTll
NmQ1YTcxNmZmZWJjM2RlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL011
dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLmgKQEAgLTAsMCArMSw5MiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTXV0YXRpb25P
YnNlcnZlck9wdGlvbnNfaAorI2RlZmluZSBNdXRhdGlvbk9ic2VydmVyT3B0aW9uc19oCisKKyNp
ZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zIDogcHVibGljIFJlZkNvdW50ZWQ8TXV0YXRp
b25PYnNlcnZlck9wdGlvbnM+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNdXRh
dGlvbk9ic2VydmVyT3B0aW9ucz4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMpOworICAgIH0KKworICAgIGJvb2wgY2hp
bGRMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9jaGlsZExpc3Q7IH0KKyAgICB2b2lkIHNldENoaWxk
TGlzdChib29sIHZhbHVlKSB7IG1fY2hpbGRMaXN0ID0gdmFsdWU7IH0KKworICAgIGJvb2wgYXR0
cmlidXRlcygpIGNvbnN0IHsgcmV0dXJuIG1fYXR0cmlidXRlczsgfQorICAgIHZvaWQgc2V0QXR0
cmlidXRlcyhib29sIHZhbHVlKSB7IG1fYXR0cmlidXRlcyA9IHZhbHVlOyB9CisKKyAgICBib29s
IGNoYXJhY3RlckRhdGEoKSBjb25zdCB7IHJldHVybiBtX2NoYXJhY3RlckRhdGE7IH0KKyAgICB2
b2lkIHNldENoYXJhY3RlckRhdGEoYm9vbCB2YWx1ZSkgeyBtX2NoYXJhY3RlckRhdGEgPSB2YWx1
ZTsgfQorCisgICAgYm9vbCBzdWJ0cmVlKCkgY29uc3QgeyByZXR1cm4gbV9zdWJ0cmVlOyB9Cisg
ICAgdm9pZCBzZXRTdWJ0cmVlKGJvb2wgdmFsdWUpIHsgbV9zdWJ0cmVlID0gdmFsdWU7IH0KKwor
ICAgIGJvb2wgYXR0cmlidXRlT2xkVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2F0dHJpYnV0ZU9s
ZFZhbHVlOyB9CisgICAgdm9pZCBzZXRBdHRyaWJ1dGVPbGRWYWx1ZShib29sIHZhbHVlKSB7IG1f
YXR0cmlidXRlT2xkVmFsdWUgPSB2YWx1ZTsgfQorCisgICAgYm9vbCBjaGFyYWN0ZXJEYXRhT2xk
VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2F0dHJpYnV0ZU9sZFZhbHVlOyB9CisgICAgdm9pZCBz
ZXRDaGFyYWN0ZXJEYXRhT2xkVmFsdWUoYm9vbCB2YWx1ZSkgeyBtX2NoYXJhY3RlckRhdGFPbGRW
YWx1ZSA9IHZhbHVlOyB9CisKKyAgICAvLyBGSVhNRTogRmlndXJlIG91dCBob3cgdG8gbW9kZWwg
dGhpcyBiYXNlZCBvbiB0aGUgSURMLgorICAgIC8vIERPTVN0cmluZ1tdIGF0dHJpYnV0ZUZpbHRl
cjsKKworcHJpdmF0ZToKKyAgICBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucygpCisgICAgICAgIDog
bV9jaGlsZExpc3QoZmFsc2UpCisgICAgICAgICwgbV9hdHRyaWJ1dGVzKGZhbHNlKQorICAgICAg
ICAsIG1fY2hhcmFjdGVyRGF0YShmYWxzZSkKKyAgICAgICAgLCBtX3N1YnRyZWUoZmFsc2UpCisg
ICAgICAgICwgbV9hdHRyaWJ1dGVPbGRWYWx1ZShmYWxzZSkKKyAgICAgICAgLCBtX2NoYXJhY3Rl
ckRhdGFPbGRWYWx1ZShmYWxzZSkKKyAgICB7CisgICAgfQorCisgICAgYm9vbCBtX2NoaWxkTGlz
dDsKKyAgICBib29sIG1fYXR0cmlidXRlczsKKyAgICBib29sIG1fY2hhcmFjdGVyRGF0YTsKKyAg
ICBib29sIG1fc3VidHJlZTsKKyAgICBib29sIG1fYXR0cmlidXRlT2xkVmFsdWU7CisgICAgYm9v
bCBtX2NoYXJhY3RlckRhdGFPbGRWYWx1ZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisKKyNlbmRpZiAvLyBNdXRh
dGlvbk9ic2VydmVyT3B0aW9uc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2Vi
S2l0TXV0YXRpb25PYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRp
b25PYnNlcnZlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTQ4NzM2NGM4MTgyOTRiNjZlNGZlNjU2YzBjYTkw
YmE4NDU2OTM2NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRN
dXRhdGlvbk9ic2VydmVyLmNwcApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
CisjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKworI2luY2x1ZGUgIldlYktpdE11dGF0
aW9uT2JzZXJ2ZXIuaCIKKworI2luY2x1ZGUgIk11dGF0aW9uQ2FsbGJhY2suaCIKKyNpbmNsdWRl
ICJOb3RJbXBsZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8
V2ViS2l0TXV0YXRpb25PYnNlcnZlcj4gV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6Y3JlYXRlKFBh
c3NSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4gY2FsbGJhY2spCit7CisgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBXZWJLaXRNdXRhdGlvbk9ic2VydmVyKGNhbGxiYWNrKSk7Cit9CisKK1dlYktpdE11
dGF0aW9uT2JzZXJ2ZXI6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXIoUGFzc1JlZlB0cjxNdXRhdGlv
bkNhbGxiYWNrPiBjYWxsYmFjaykKKyAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2spCit7Cit9CisK
K1dlYktpdE11dGF0aW9uT2JzZXJ2ZXI6On5XZWJLaXRNdXRhdGlvbk9ic2VydmVyKCkKK3sKK30K
Kwordm9pZCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZlKE5vZGUqLCBNdXRhdGlvbk9i
c2VydmVyT3B0aW9ucyopCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBXZWJL
aXRNdXRhdGlvbk9ic2VydmVyOjpkaXNjb25uZWN0KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTVVUQVRJ
T05fT0JTRVJWRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0
aW9uT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVy
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDg3OTQ0NzU2YjJmYzI2ZDE0NGJhZmEwNDNhYzdlODJkNTAwYjBkYgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViS2l0TXV0YXRpb25PYnNlcnZlcl9oCisj
ZGVmaW5lIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJfaAorCisjaWYgRU5BQkxFKE1VVEFUSU9OX09C
U0VSVkVSUykKKworI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgTXV0YXRpb25DYWxsYmFjazsKK2NsYXNzIE11dGF0aW9uT2JzZXJ2ZXJPcHRp
b25zOworY2xhc3MgTm9kZTsKKworY2xhc3MgV2ViS2l0TXV0YXRpb25PYnNlcnZlciA6IHB1Ymxp
YyBSZWZDb3VudGVkPFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxXZWJLaXRNdXRhdGlvbk9ic2VydmVyPiBjcmVhdGUoUGFzc1JlZlB0cjxN
dXRhdGlvbkNhbGxiYWNrPik7CisKKyAgICB+V2ViS2l0TXV0YXRpb25PYnNlcnZlcigpOworCisg
ICAgdm9pZCBvYnNlcnZlKE5vZGUqLCBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyopOworICAgIHZv
aWQgZGlzY29ubmVjdCgpOworCitwcml2YXRlOgorICAgIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIo
UGFzc1JlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPik7CisKKyAgICBSZWZQdHI8TXV0YXRpb25DYWxs
YmFjaz4gbV9jYWxsYmFjazsKK307CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElPTl9P
QlNFUlZFUlMpCisKKyNlbmRpZiAvLyBXZWJLaXRNdXRhdGlvbk9ic2VydmVyX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYTZl
OGM3ZWVjMDBhMGIwMDE1MTlmMWMzMzQ1NjI4NTg3MzY1NmE3Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsCkBAIC0wLDAgKzEs
NDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCittb2R1bGUgY29yZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9
TVVUQVRJT05fT0JTRVJWRVJTLAorICAgICAgICBDYW5CZUNvbnN0cnVjdGVkLAorICAgICAgICBD
dXN0b21Db25zdHJ1Y3RvcgorICAgIF0gV2ViS2l0TXV0YXRpb25PYnNlcnZlciB7CisgICAgICAg
IFtDdXN0b21dIHZvaWQgb2JzZXJ2ZShpbiBOb2RlIHRhcmdldCwgaW4gTXV0YXRpb25PYnNlcnZl
ck9wdGlvbnMgb3B0aW9ucyk7CisgICAgICAgIHZvaWQgZGlzY29ubmVjdCgpOworICAgIH07Cit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggYjhkYmJjN2FjMjcwMGE3Zjk1Yjk0NTM1
MmExOTBjZTI4N2QyYmY5Zi4uOGI1MDlhOGI1ZDVlNmUxY2UxNmE4MTkxN2YxYzAzOTVmMGY3YTEz
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtODA5LDYgKzgwOSw4IEBAIG1vZHVs
ZSB3aW5kb3cgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0VuYWJsZWRBdFJ1bnRpbWU9
UXVvdGFdIFN0b3JhZ2VJbmZvIHdlYmtpdFN0b3JhZ2VJbmZvOwogI2VuZGlmCiAKKyAgICAgICAg
YXR0cmlidXRlIFtDb25kaXRpb25hbD1NVVRBVElPTl9PQlNFUlZFUlNdIFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXJDb25zdHJ1Y3RvciBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOworCiAjZW5kaWYgLy8g
ZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKQogCiAjaWYgZGVmaW5lZChWOF9CSU5ESU5HKSAm
JiBWOF9CSU5ESU5HCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDRjYTA2ZTJmNDI0NjYz
MmY4NjFjODcwZTQyMDM1YzM4ODBiMGU5YjguLmUxNjNmNmEyNDEyNmE5ZWNhZTgwYjhjYzJiOTdl
MDUzMGM3YjQxNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTEtMTAtMTAgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
W011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgc3R1YiBpbXBsZW1lbnRhdGlvbiBvZiBXZWJLaXRNdXRh
dGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02ODk0OQorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YSwgT2xpdmVyIEh1
bnQsIGFuZCBEaW1pdHJpIEdsYXprb3YuCisKKyAgICAgICAgKiBmZWF0dXJlcy5neXBpOiBBZGRl
ZCAnZW5hYmxlX211dGF0aW9uX29ic2VydmVycycgdmFyaWFibGUuCisKIDIwMTEtMTAtMTAgIERv
bWluaWMgTWF6em9uaSAgPGRtYXp6b25pQGdvb2dsZS5jb20+CiAKICAgICAgICAgW0Nocm9taXVt
XSBHZXQgcmlkIG9mIFdlYkFjY2Vzc2liaWxpdHlDYWNoZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaSBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVh
dHVyZXMuZ3lwaQppbmRleCBiNjU4ZDgzZjg2ZDc2ZWJmMmU3NDBiZTk4NGVkOWZhYWQ4YWY1MDg4
Li4yNWFiOTQxZDBlYWQ5YjdlOWIxNzVmNTJjZjBkNjE1OTQwMjM5MzU1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9mZWF0dXJlcy5neXBpCkBAIC02OCw3ICs2OCw3IEBACiAgICAgICAnRU5BQkxFX01F
RElBX1NUUkVBTT0xJywKICAgICAgICdFTkFCTEVfTUVURVJfVEFHPTEnLAogICAgICAgJ0VOQUJM
RV9NSFRNTD0xJywKLSAgICAgICdFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTPTAnLAorICAgICAg
J0VOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlM9PChlbmFibGVfbXV0YXRpb25fb2JzZXJ2ZXJzKScs
CiAgICAgICAnRU5BQkxFX05PVElGSUNBVElPTlM9MScsCiAgICAgICAnRU5BQkxFX09SSUVOVEFU
SU9OX0VWRU5UUz0wJywKICAgICAgICdFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQST0xJywKQEAg
LTExNSw2ICsxMTUsNyBAQAogICAgICAgJ3VzZV9za2lhJSc6IDAsCiAgICAgICAnZW5hYmxlX3Rv
dWNoX2ljb25fbG9hZGluZyUnIDogMCwKICAgICAgICdlbmFibGVfY3NzM19mbGV4Ym94JSc6IDAs
CisgICAgICAnZW5hYmxlX211dGF0aW9uX29ic2VydmVycyUnOiAwLAogICAgIH0sCiAgICAgJ3Vz
ZV9hY2NlbGVyYXRlZF9jb21wb3NpdGluZyUnOiAnPCh1c2VfYWNjZWxlcmF0ZWRfY29tcG9zaXRp
bmcpJywKICAgICAndXNlX3RocmVhZGVkX2NvbXBvc2l0aW5nJSc6ICc8KHVzZV90aHJlYWRlZF9j
b21wb3NpdGluZyknLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>