<?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>153920</bug_id>
          
          <creation_ts>2016-02-05 09:35:16 -0800</creation_ts>
          <short_desc>Attributes on the Window instance should be configurable unless [Unforgeable]</short_desc>
          <delta_ts>2016-02-10 13:33:56 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Bindings</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>154037</blocked>
    
    <blocked>154038</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barraclough</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1162409</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-05 09:35:16 -0800</bug_when>
    <thetext>Attributes on the Window instance should be configurable unless [Unforgeable]:
1. &apos;constructor&apos; property: http://www.w3.org/TR/WebIDL/#interface-prototype-object
2. Constructor properties (e.g. window.Node): http://www.w3.org/TR/WebIDL/#es-interfaces
3. IDL attributes: http://heycam.github.io/webidl/#es-attributes (configurable unless [Unforgeable], e.g. window.location)

Firefox complies with the WebIDL specification but WebKit does not for 1. and 3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1162422</commentid>
    <comment_count>1</comment_count>
      <attachid>270750</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-05 10:22:23 -0800</bug_when>
    <thetext>Created attachment 270750
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1162768</commentid>
    <comment_count>2</comment_count>
      <attachid>270828</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-07 12:49:45 -0800</bug_when>
    <thetext>Created attachment 270828
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1162789</commentid>
    <comment_count>3</comment_count>
      <attachid>270832</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-07 14:52:22 -0800</bug_when>
    <thetext>Created attachment 270832
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163026</commentid>
    <comment_count>4</comment_count>
      <attachid>270832</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-02-08 14:57:54 -0800</bug_when>
    <thetext>Comment on attachment 270832
Patch

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

&gt; Source/JavaScriptCore/runtime/JSObject.cpp:1676
&gt;          for (auto iter = hashTable-&gt;begin(); iter != hashTable-&gt;end(); ++iter) {

Modern for loop would be nicer here.

&gt; Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:205
&gt; +        const HashTableValue* entry = JSDOMWindow::info()-&gt;staticPropHashTable-&gt;entry(propertyName);

auto* would be better, and I’d put the definition inside the if</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163060</commentid>
    <comment_count>5</comment_count>
      <attachid>270832</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2016-02-08 16:40:29 -0800</bug_when>
    <thetext>Comment on attachment 270832
Patch

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

&gt; Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:210
&gt;      }

Per conversation, looks like you&apos;ve changed behavior for (thisObject-&gt;staticFunctionsReified() &amp;&amp; !allowsAccess) – seems unlikely that this right. Some properties that were previously accessible (with altered attributes) will now be inaccessible.

&gt; LayoutTests/js/getOwnPropertyDescriptor-window-attributes.html:61
&gt; +shouldBeTrue(&quot;descriptor.configurable&quot;);

Should we also be checking descriptor.value?

&gt; LayoutTests/js/getOwnPropertyDescriptor-window-attributes.html:69
&gt; +shouldBeTrue(&quot;descriptor.configurable&quot;);

Should we also be checking descriptor.value?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163137</commentid>
    <comment_count>6</comment_count>
      <attachid>270832</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-08 20:42:56 -0800</bug_when>
    <thetext>Comment on attachment 270832
Patch

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

&gt;&gt; Source/JavaScriptCore/runtime/JSObject.cpp:1676
&gt;&gt;          for (auto iter = hashTable-&gt;begin(); iter != hashTable-&gt;end(); ++iter) {
&gt; 
&gt; Modern for loop would be nicer here.

I will need to tweak HashTable::ConstIterator but OK.

&gt;&gt; Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:205
&gt;&gt; +        const HashTableValue* entry = JSDOMWindow::info()-&gt;staticPropHashTable-&gt;entry(propertyName);
&gt; 
&gt; auto* would be better, and I’d put the definition inside the if

OK.

&gt;&gt; Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:210
&gt;&gt;      }
&gt; 
&gt; Per conversation, looks like you&apos;ve changed behavior for (thisObject-&gt;staticFunctionsReified() &amp;&amp; !allowsAccess) – seems unlikely that this right. Some properties that were previously accessible (with altered attributes) will now be inaccessible.

Good catch. I have checked the behavior of Firefox and Chrome and it seems they keep using the original property getter for cross-origin access, even if that property was deleted / redefined.
I propose we do the same.

I will also add test coverage for this.

&gt;&gt; LayoutTests/js/getOwnPropertyDescriptor-window-attributes.html:61
&gt;&gt; +shouldBeTrue(&quot;descriptor.configurable&quot;);
&gt; 
&gt; Should we also be checking descriptor.value?

Will do.

&gt;&gt; LayoutTests/js/getOwnPropertyDescriptor-window-attributes.html:69
&gt;&gt; +shouldBeTrue(&quot;descriptor.configurable&quot;);
&gt; 
&gt; Should we also be checking descriptor.value?

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163138</commentid>
    <comment_count>7</comment_count>
      <attachid>270910</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-08 21:12:54 -0800</bug_when>
    <thetext>Created attachment 270910
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163145</commentid>
    <comment_count>8</comment_count>
      <attachid>270912</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-08 22:02:45 -0800</bug_when>
    <thetext>Created attachment 270912
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163146</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-02-08 22:05:05 -0800</bug_when>
    <thetext>&lt;rdar://problem/24563211&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163148</commentid>
    <comment_count>10</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2016-02-08 23:22:42 -0800</bug_when>
    <thetext>&gt; Good catch. I have checked the behavior of Firefox and Chrome and it seems
&gt; they keep using the original property getter for cross-origin access, even
&gt; if that property was deleted / redefined.
&gt; I propose we do the same.

Oh, that makes a lot of sense. As a future refactoring, it&apos;s probably cleanest (&amp; therefore less error prone) to just make DOMWindow&apos;s getOwnPropertySlot do the cross origin check at the head of the function, separate from the set of real properties for when access is allowed.

    if (!allowAccess) {
        // return one of a few hard-coded permitted properties,
        // else fail.
    }
    // real properties for access allowed.

In fact, splitting it that way would probably make it clean to return different accessors in the cross-origin cases. If we did it right we can probably do away with dynamic security checks in the accessors for cacheable cases – I&apos;m guessing that we can prove that anywhere we would return the real (access allowed) accessor, it would be safe to cache &amp; never perform a security check, since permission is static.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163149</commentid>
    <comment_count>11</comment_count>
      <attachid>270912</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2016-02-08 23:46:31 -0800</bug_when>
    <thetext>Comment on attachment 270912
Patch

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

&gt; Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:208
&gt; +            return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot);

Oh! – I just realized another possible case to check. What if there exists a item on the page that would be accessible via a named property, but that is shadowed by a configurable property in the static table, and that static property is deleted?

What I think should happen is, if you try to access that property before deletion you&apos;ll get the property from the static table, and after deletion you should get the named property. What I think will happen with your code as-is, is that before deletion you&apos;ll correctly get the property from the static table, but after deletion you&apos;ll return early here – returning property not found before the named lookup has a chance to run.

If I&apos;m right about there being a problem, then I think a fix would be to invert the if:

    if (!thisObject-&gt;staticFunctionsReified() || !allowsAccess) {
        slot.setCacheableCustom(thisObject, allowsAccess ? entry-&gt;attributes() : ReadOnly | DontDelete | DontEnum, entry-&gt;propertyGetter());
        return true;
    }

(This would all also be easier when we switch to be more spec-compliant &amp; move the named properties onto their own NPO object in the photo chain!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163200</commentid>
    <comment_count>12</comment_count>
      <attachid>270930</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-09 09:19:33 -0800</bug_when>
    <thetext>Created attachment 270930
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163202</commentid>
    <comment_count>13</comment_count>
      <attachid>270932</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-09 09:21:18 -0800</bug_when>
    <thetext>Created attachment 270932
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163206</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-09 09:22:24 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; Comment on attachment 270912 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=270912&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:208
&gt; &gt; +            return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot);
&gt; 
&gt; Oh! – I just realized another possible case to check. What if there exists a
&gt; item on the page that would be accessible via a named property, but that is
&gt; shadowed by a configurable property in the static table, and that static
&gt; property is deleted?
&gt; 
&gt; What I think should happen is, if you try to access that property before
&gt; deletion you&apos;ll get the property from the static table, and after deletion
&gt; you should get the named property. What I think will happen with your code
&gt; as-is, is that before deletion you&apos;ll correctly get the property from the
&gt; static table, but after deletion you&apos;ll return early here – returning
&gt; property not found before the named lookup has a chance to run.
&gt; 
&gt; If I&apos;m right about there being a problem, then I think a fix would be to
&gt; invert the if:
&gt; 
&gt;     if (!thisObject-&gt;staticFunctionsReified() || !allowsAccess) {
&gt;         slot.setCacheableCustom(thisObject, allowsAccess ?
&gt; entry-&gt;attributes() : ReadOnly | DontDelete | DontEnum,
&gt; entry-&gt;propertyGetter());
&gt;         return true;
&gt;     }
&gt; 
&gt; (This would all also be easier when we switch to be more spec-compliant &amp;
&gt; move the named properties onto their own NPO object in the photo chain!)

Yes, you are right that it did not behave as expected in this case. I have added test coverage for this and made the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163207</commentid>
    <comment_count>15</comment_count>
      <attachid>270935</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-09 09:23:31 -0800</bug_when>
    <thetext>Created attachment 270935
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163487</commentid>
    <comment_count>16</comment_count>
      <attachid>270935</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-02-10 09:31:21 -0800</bug_when>
    <thetext>Comment on attachment 270935
Patch

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

&gt; Source/JavaScriptCore/runtime/Lookup.h:138
&gt; +        const HashTableValue&amp; operator*() { return *value(); }

I think this should be a const member, as should value(), key(), and operator-&gt;().

&gt; Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:205
&gt; +    // When accessing cross-origin known Window properties, we always use the original property getter,
&gt; +    // even if the property was removed / redefined. This matches Firefox and Chrome&apos;s behavior.

These comments about matching other browsers often are slightly confusing and a liability long term. If you feel the need to state this in terms of the other browsers’  behavior because no standard makes this clear, then I think you should say &quot;as of early 2016&quot; instead of making it sound timeless.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163548</commentid>
    <comment_count>17</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-10 11:47:12 -0800</bug_when>
    <thetext>Committed r196374: &lt;http://trac.webkit.org/changeset/196374&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270750</attachid>
            <date>2016-02-05 10:22:23 -0800</date>
            <delta_ts>2016-02-07 12:49:45 -0800</delta_ts>
            <desc>WIP Patch</desc>
            <filename>153920_window_attributes_configurable_wip.patch</filename>
            <type>text/plain</type>
            <size>15469</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGll
cy1jb25maWd1cmFibGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93
L3dpbmRvdy1wcm9wZXJ0aWVzLWNvbmZpZ3VyYWJsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBmMzY2MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1jb25maWd1cmFibGUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjcgQEAKK1Rlc3RzIHRoYXQgV2luZG93IHByb3BlcnRpZXMg
YXJlIGluZGVlZCBjb25maWd1cmFibGUgdW5sZXNzIFtVbmZvcmdlYWJsZV0KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKKyogUmVndWxhciBJREwgYXR0cmlidXRlLgorUEFTUyBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ25hbWUnKS5jb25maWd1cmFibGUg
aXMgdHJ1ZQorUEFTUyB3aW5kb3cubmFtZSBpcyAiIgorUEFTUyBkZWxldGUgd2luZG93Lm5hbWUg
aXMgdHJ1ZQorRkFJTCB3aW5kb3cubmFtZSBzaG91bGQgYmUgdW5kZWZpbmVkLiBXYXMgCisKKyog
Q29uc3RydWN0b3IgYXR0cmlidXRlcy4KK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcih3aW5kb3csICdOb2RlJykuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1Mgd2luZG93Lk5v
ZGUgaXMgbm90IHVuZGVmaW5lZAorUEFTUyBkZWxldGUgd2luZG93Lk5vZGUgaXMgdHJ1ZQorRkFJ
TCB3aW5kb3cuTm9kZSBzaG91bGQgYmUgdW5kZWZpbmVkLiBXYXMgW29iamVjdCBOb2RlQ29uc3Ry
dWN0b3JdCisKKyogW1VuZm9yZ2VhYmxlXSBJREwgYXR0cmlidXRlLgorUEFTUyBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ3dpbmRvdycpLmNvbmZpZ3VyYWJsZSBpcyBm
YWxzZQorUEFTUyB3aW5kb3cud2luZG93IGlzIG5vdCB1bmRlZmluZWQKK1BBU1MgZGVsZXRlIHdp
bmRvdy53aW5kb3cgaXMgZmFsc2UKK1BBU1Mgd2luZG93LndpbmRvdyBpcyBub3QgdW5kZWZpbmVk
CisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMt
Y29uZmlndXJhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnRpZXMtY29uZmlndXJhYmxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uY2MzZDQwYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dp
bmRvdy93aW5kb3ctcHJvcGVydGllcy1jb25maWd1cmFibGUuaHRtbApAQCAtMCwwICsxLDMyIEBA
Cis8IURPQ1lUUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlv
bigiVGVzdHMgdGhhdCBXaW5kb3cgcHJvcGVydGllcyBhcmUgaW5kZWVkIGNvbmZpZ3VyYWJsZSB1
bmxlc3MgW1VuZm9yZ2VhYmxlXSIpOworCitkZWJ1ZygiKiBSZWd1bGFyIElETCBhdHRyaWJ1dGUu
Iik7CitzaG91bGRCZVRydWUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93
LCAnbmFtZScpLmNvbmZpZ3VyYWJsZSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cu
bmFtZSIsICIiKTsKK3Nob3VsZEJlVHJ1ZSgiZGVsZXRlIHdpbmRvdy5uYW1lIik7CitzaG91bGRC
ZVVuZGVmaW5lZCgid2luZG93Lm5hbWUiKTsKKworZGVidWcoIiIpOworZGVidWcoIiogQ29uc3Ry
dWN0b3IgYXR0cmlidXRlcy4iKTsKK3Nob3VsZEJlVHJ1ZSgiT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcih3aW5kb3csICdOb2RlJykuY29uZmlndXJhYmxlIik7CitzaG91bGROb3RCZSgi
d2luZG93Lk5vZGUiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZVRydWUoImRlbGV0ZSB3aW5kb3cu
Tm9kZSIpOworc2hvdWxkQmVVbmRlZmluZWQoIndpbmRvdy5Ob2RlIik7CisKK2RlYnVnKCIiKTsK
K2RlYnVnKCIqIFtVbmZvcmdlYWJsZV0gSURMIGF0dHJpYnV0ZS4iKTsKK3Nob3VsZEJlRmFsc2Uo
Ik9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnd2luZG93JykuY29uZmln
dXJhYmxlIik7CitzaG91bGROb3RCZSgid2luZG93LndpbmRvdyIsICJ1bmRlZmluZWQiKTsKK3No
b3VsZEJlRmFsc2UoImRlbGV0ZSB3aW5kb3cud2luZG93Iik7CitzaG91bGROb3RCZSgid2luZG93
LndpbmRvdyIsICJ1bmRlZmluZWQiKTsKKworZGVidWcoIiIpOworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0cmlidXRlcy1leHBl
Y3RlZC50eHQKaW5kZXggMTJiZDVlNy4uMTc0NDlkZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
anMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXVuZm9yZ2VhYmxlLWF0dHJpYnV0ZXMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci11bmZv
cmdlYWJsZS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtOTgsMTQgKzk4LDYgQEAgUEFTUyBk
ZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZQogUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxs
KGludmFsaWRPYmplY3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBET01XaW5kb3cu
bG9jYXRpb24gZ2V0dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRv
dy4KIFBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbCh3aW5kb3cpID09PSB3aW5kb3cubG9jYXRpb24g
aXMgdHJ1ZQogCi0qIFdpbmRvdy5zZWxmCi1QQVNTIGRlc2NyaXB0b3IuZ2V0IGlzIGFuIGluc3Rh
bmNlIG9mIEZ1bmN0aW9uCi1QQVNTIGRlc2NyaXB0b3Iuc2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1
bmN0aW9uCi1QQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyB0cnVlCi1QQVNTIGRlc2NyaXB0
b3IuY29uZmlndXJhYmxlIGlzIGZhbHNlCi1QQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwoaW52YWxp
ZE9iamVjdCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIERPTVdpbmRvdy5zZWxmIGdl
dHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBET01XaW5kb3cuCi1QQVNTIGRl
c2NyaXB0b3IuZ2V0LmNhbGwod2luZG93KSA9PT0gd2luZG93LnNlbGYgaXMgdHJ1ZQotCiAqIFdp
bmRvdy53aW5kb3cKIFBBU1MgZGVzY3JpcHRvci5nZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rp
b24KIFBBU1MgZGVzY3JpcHRvci5zZXQgaXMgdW5kZWZpbmVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXVuZm9yZ2VhYmxlLWF0dHJpYnV0ZXMu
aHRtbCBiL0xheW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci11bmZvcmdlYWJs
ZS1hdHRyaWJ1dGVzLmh0bWwKaW5kZXggMzI5MWVkZC4uNDlmNjEyNyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXVuZm9yZ2VhYmxlLWF0dHJpYnV0
ZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5m
b3JnZWFibGUtYXR0cmlidXRlcy5odG1sCkBAIC00MywxMiArNDMsNiBAQCBjaGVja1VuZm9yZ2Vh
YmxlUHJvcGVydHlEZXNjcmlwdG9yKGRlc2NyaXB0b3IpOwogc2hvdWxkQmVUcnVlKCJkZXNjcmlw
dG9yLmdldC5jYWxsKHdpbmRvdykgPT09IHdpbmRvdy5sb2NhdGlvbiIpOwogCiBkZWJ1ZygiIik7
Ci1kZWJ1ZygiKiBXaW5kb3cuc2VsZiIpOwotZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3Iod2luZG93LCAic2VsZiIpOwotY2hlY2tVbmZvcmdlYWJsZVByb3BlcnR5
RGVzY3JpcHRvcihkZXNjcmlwdG9yKTsKLXNob3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci5nZXQuY2Fs
bCh3aW5kb3cpID09PSB3aW5kb3cuc2VsZiIpOwotCi1kZWJ1ZygiIik7CiBkZWJ1ZygiKiBXaW5k
b3cud2luZG93Iik7CiBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cih3aW5kb3csICJ3aW5kb3ciKTsKIGNoZWNrVW5mb3JnZWFibGVQcm9wZXJ0eURlc2NyaXB0b3Io
ZGVzY3JpcHRvciwgdHJ1ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3Itd2luZG93LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXdpbmRvdy1hdHRyaWJ1dGVzLWV4cGVjdGVk
LnR4dAppbmRleCBlODAwYmEzLi4xYTU3ZTYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Itd2luZG93LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmli
dXRlcy1leHBlY3RlZC50eHQKQEAgLTcsNyArNyw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
CiBQQVNTIGRlc2NyaXB0b3IuZ2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRl
c2NyaXB0b3Iuc2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3Iu
ZW51bWVyYWJsZSBpcyB0cnVlCi1GQUlMIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIHNob3VsZCBi
ZSB0cnVlLiBXYXMgZmFsc2UuCitQQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIHRydWUK
IFBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbChub25XaW5kb3dPYmplY3QpIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IFRoZSBET01XaW5kb3cuc2NyZWVuIGdldHRlciBjYW4gb25seSBiZSB1c2Vk
IG9uIGluc3RhbmNlcyBvZiBET01XaW5kb3cuCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwod2lu
ZG93KSA9PT0gd2luZG93LnNjcmVlbiBpcyB0cnVlCiBGQUlMIGRlc2NyaXB0b3IuZ2V0LmNhbGwo
KSA9PT0gd2luZG93LnNjcmVlbiBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogVGhlIERPTVdpbmRvdy5zY3JlZW4gZ2V0dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5z
dGFuY2VzIG9mIERPTVdpbmRvdwpAQCAtMTYsMTYgKzE2LDI1IEBAIEZBSUwgZGVzY3JpcHRvci5n
ZXQuY2FsbCgpID09PSB3aW5kb3cuc2NyZWVuIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRp
b24gVHlwCiBQQVNTIGRlc2NyaXB0b3IuZ2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQ
QVNTIGRlc2NyaXB0b3Iuc2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2Ny
aXB0b3IuZW51bWVyYWJsZSBpcyB0cnVlCi1GQUlMIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIHNo
b3VsZCBiZSB0cnVlLiBXYXMgZmFsc2UuCitQQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlz
IHRydWUKIFBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbChub25XaW5kb3dPYmplY3QpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBET01XaW5kb3cubmF2aWdhdG9yIGdldHRlciBjYW4gb25s
eSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBET01XaW5kb3cuCiBQQVNTIGRlc2NyaXB0b3IuZ2V0
LmNhbGwod2luZG93KSA9PT0gd2luZG93Lm5hdmlnYXRvciBpcyB0cnVlCiBGQUlMIGRlc2NyaXB0
b3IuZ2V0LmNhbGwoKSA9PT0gd2luZG93Lm5hdmlnYXRvciBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIERPTVdpbmRvdy5uYXZpZ2F0b3IgZ2V0dGVyIGNhbiBv
bmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdwogCisqIFdpbmRvdy5zZWxmCitQ
QVNTIGRlc2NyaXB0b3IuZ2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCitQQVNTIGRlc2Ny
aXB0b3Iuc2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCitQQVNTIGRlc2NyaXB0b3IuZW51
bWVyYWJsZSBpcyB0cnVlCitQQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIHRydWUKK1BB
U1MgZGVzY3JpcHRvci5nZXQuY2FsbChub25XaW5kb3dPYmplY3QpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IFRoZSBET01XaW5kb3cuc2VsZiBnZXR0ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBp
bnN0YW5jZXMgb2YgRE9NV2luZG93LgorUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRvdykg
PT09IHdpbmRvdy5zZWxmIGlzIHRydWUKK0ZBSUwgZGVzY3JpcHRvci5nZXQuY2FsbCgpID09PSB3
aW5kb3cuc2VsZiBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhl
IERPTVdpbmRvdy5zZWxmIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBE
T01XaW5kb3cKKwogKiBXaW5kb3cuZnJhbWVFbGVtZW50CiBQQVNTIGRlc2NyaXB0b3IuZ2V0IGlz
IGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3Iuc2V0IGlzIHVuZGVmaW5l
ZC4KIFBBU1MgZGVzY3JpcHRvci5lbnVtZXJhYmxlIGlzIHRydWUKLUZBSUwgZGVzY3JpcHRvci5j
b25maWd1cmFibGUgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KK1BBU1MgZGVzY3JpcHRvci5j
b25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKG5vbldpbmRvd09i
amVjdCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIERPTVdpbmRvdy5mcmFtZUVsZW1l
bnQgZ2V0dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdy4KIFBB
U1MgZGVzY3JpcHRvci5nZXQuY2FsbCh3aW5kb3cpID09PSB3aW5kb3cuZnJhbWVFbGVtZW50IGlz
IHRydWUKIEZBSUwgZGVzY3JpcHRvci5nZXQuY2FsbCgpID09PSB3aW5kb3cuZnJhbWVFbGVtZW50
IHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgRE9NV2luZG93
LmZyYW1lRWxlbWVudCBnZXR0ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgRE9N
V2luZG93CkBAIC0zNCwxMCArNDMsMjEgQEAgRkFJTCBkZXNjcmlwdG9yLmdldC5jYWxsKCkgPT09
IHdpbmRvdy5mcmFtZUVsZW1lbnQgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGkKIFBBU1Mg
ZGVzY3JpcHRvci5nZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KIFBBU1MgZGVzY3JpcHRv
ci5zZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KIFBBU1MgZGVzY3JpcHRvci5lbnVtZXJh
YmxlIGlzIHRydWUKLUZBSUwgZGVzY3JpcHRvci5jb25maWd1cmFibGUgc2hvdWxkIGJlIHRydWUu
IFdhcyBmYWxzZS4KK1BBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBk
ZXNjcmlwdG9yLmdldC5jYWxsKG5vbldpbmRvd09iamVjdCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogVGhlIERPTVdpbmRvdy5uYW1lIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3Rh
bmNlcyBvZiBET01XaW5kb3cuCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93KSA9PT0g
d2luZG93Lm5hbWUgaXMgdHJ1ZQogRkFJTCBkZXNjcmlwdG9yLmdldC5jYWxsKCkgPT09IHdpbmRv
dy5uYW1lIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgRE9N
V2luZG93Lm5hbWUgZ2V0dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdp
bmRvdworCisqIHdpbmRvdy5Ob2RlCitQQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyBmYWxz
ZQorUEFTUyBkZXNjcmlwdG9yLndyaXRhYmxlIGlzIHRydWUKK1BBU1MgZGVzY3JpcHRvci5jb25m
aWd1cmFibGUgaXMgdHJ1ZQorCisqIHdpbmRvdy5jb25zdHJ1Y3RvcgorUEFTUyBkZXNjcmlwdG9y
LmVudW1lcmFibGUgaXMgZmFsc2UKK1BBU1MgZGVzY3JpcHRvci53cml0YWJsZSBpcyB0cnVlCitQ
QVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIHRydWUKKwogUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9q
cy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Itd2luZG93LWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91
dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1s
CmluZGV4IDEwNmU0NTguLjI1MDVjNDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2dldE93
blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1sCkBA
IC0zMyw2ICszMywxMyBAQCBzaG91bGRCZVRydWUoImRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93
KSA9PT0gd2luZG93Lm5hdmlnYXRvciIpOwogc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdldC5j
YWxsKCkgPT09IHdpbmRvdy5uYXZpZ2F0b3IiKTsKIAogZGVidWcoIiIpOworZGVidWcoIiogV2lu
ZG93LnNlbGYiKTsKK2Rlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KHdpbmRvdywgInNlbGYiKTsKK2NoZWNrV2luZG93UHJvcGVydHlEZXNjcmlwdG9yKGRlc2NyaXB0
b3IpOworc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRvdykgPT09IHdpbmRv
dy5zZWxmIik7CitzaG91bGRCZVRydWUoImRlc2NyaXB0b3IuZ2V0LmNhbGwoKSA9PT0gd2luZG93
LnNlbGYiKTsKKworZGVidWcoIiIpOwogZGVidWcoIiogV2luZG93LmZyYW1lRWxlbWVudCIpOwog
ZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAiZnJh
bWVFbGVtZW50Iik7CiBjaGVja1dpbmRvd1Byb3BlcnR5RGVzY3JpcHRvcihkZXNjcmlwdG9yLCB0
cnVlKTsKQEAgLTQ2LDUgKzUzLDIxIEBAIGNoZWNrV2luZG93UHJvcGVydHlEZXNjcmlwdG9yKGRl
c2NyaXB0b3IsIGZhbHNlKTsKIHNob3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci5nZXQuY2FsbCh3aW5k
b3cpID09PSB3aW5kb3cubmFtZSIpOwogc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdldC5jYWxs
KCkgPT09IHdpbmRvdy5uYW1lIik7CiAKK2RlYnVnKCIiKTsKK2RlYnVnKCIqIHdpbmRvdy5Ob2Rl
Iik7CitkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cs
ICJOb2RlIik7CitzaG91bGRCZUZhbHNlKCJkZXNjcmlwdG9yLmVudW1lcmFibGUiKTsKK3Nob3Vs
ZEJlVHJ1ZSgiZGVzY3JpcHRvci53cml0YWJsZSIpOworc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9y
LmNvbmZpZ3VyYWJsZSIpOworCitkZWJ1ZygiIik7CisvLyBGSVhNRTogJ2NvbnN0cnVjdG9yJyBz
aG91bGQgYmUgb24gdGhlIHByb3RvdHlwZS4KK2RlYnVnKCIqIHdpbmRvdy5jb25zdHJ1Y3RvciIp
OworZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAi
Y29uc3RydWN0b3IiKTsKK3Nob3VsZEJlRmFsc2UoImRlc2NyaXB0b3IuZW51bWVyYWJsZSIpOwor
c2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLndyaXRhYmxlIik7CitzaG91bGRCZVRydWUoImRlc2Ny
aXB0b3IuY29uZmlndXJhYmxlIik7CisKK2RlYnVnKCIiKTsKIDwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCBlMTZi
NDkyLi45MjFmMjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtNjg1LDYgKzY4NSw4IEBAIHN1YiBDb25zdHJ1Y3RvclNo
b3VsZEJlT25JbnN0YW5jZQogewogICAgIG15ICRpbnRlcmZhY2UgPSBzaGlmdDsKIAorICAgICMg
RklYTUU6IGNvbnN0cnVjdG9yIHNob3VsZCBhbHdheXMgYmUgb24gdGhlIHByb3RvdHlwZToKKyAg
ICAjIGh0dHA6Ly93d3cudzMub3JnL1RSL1dlYklETC8jaW50ZXJmYWNlLXByb3RvdHlwZS1vYmpl
Y3QKICAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hl
Y2tTZWN1cml0eSJ9OwogICAgIHJldHVybiAwOwogfQpAQCAtMTM1NywxMyArMTM1OSw3IEBAIHN1
YiBHZW5lcmF0ZUF0dHJpYnV0ZXNIYXNoVGFibGUKIAogICAgICAgICAgICAgbXkgJHNldHRlciA9
ICJzZXRKUyIgLiAkaW50ZXJmYWNlTmFtZSAuICJDb25zdHJ1Y3RvciI7CiAgICAgICAgICAgICBw
dXNoKEAkaGFzaFZhbHVlMiwgJHNldHRlcik7Ci0KLSAgICAgICAgICAgICMgRklYTUU6IERvIHdl
IHJlYWxseSBuZWVkIHRvIHNwZWNpYWwtY2FzZSBET01XaW5kb3c/Ci0gICAgICAgICAgICBpZiAo
JGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIpIHsKLSAgICAgICAgICAgICAgICBwdXNoKEAk
aGFzaFNwZWNpYWxzLCAiRG9udEVudW0gfCBEb250RGVsZXRlIik7Ci0gICAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgICAgIHB1c2goQCRoYXNoU3BlY2lhbHMsICJEb250RW51bSIpOwot
ICAgICAgICAgICAgfQorICAgICAgICAgICAgcHVzaChAJGhhc2hTcGVjaWFscywgIkRvbnRFbnVt
Iik7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTEzNzYsMTMgKzEzNzIsMTEgQEAgc3ViIEdlbmVy
YXRlQXR0cmlidXRlc0hhc2hUYWJsZQogICAgICAgICBwdXNoKEAkaGFzaEtleXMsICRuYW1lKTsK
IAogICAgICAgICBteSBAc3BlY2lhbHMgPSAoKTsKLSAgICAgICAgIyBBcyBwZXIgV2ViIElETCBz
cGVjaWZpY2F0aW9uLCBjb25zdHJ1Y3RvciBwcm9wZXJ0aWVzIG9uIHRoZSBFQ01BU2NyaXB0IGds
b2JhbCBvYmplY3Qgc2hvdWxkIGJlCi0gICAgICAgICMgY29uZmlndXJhYmxlIGFuZCBzaG91bGQg
bm90IGJlIGVudW1lcmFibGUuCi0gICAgICAgIG15ICRpc19nbG9iYWxfY29uc3RydWN0b3IgPSAk
YXR0cmlidXRlLT5zaWduYXR1cmUtPnR5cGUgPX4gL0NvbnN0cnVjdG9yJC87Ci0KLSAgICAgICAg
cHVzaChAc3BlY2lhbHMsICJEb250RGVsZXRlIikgaWYgKCRpc0luc3RhbmNlICYmICEkaXNfZ2xv
YmFsX2NvbnN0cnVjdG9yKSB8fCAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJVbmZvcmdlYWJsZSJ9CisgICAgICAgIHB1c2goQHNwZWNpYWxzLCAiRG9udERlbGV0
ZSIpIGlmICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlVuZm9y
Z2VhYmxlIn0KICAgICAgICAgICAgIHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJVbmZvcmdlYWJsZSJ9OwogCisgICAgICAgICMgQXMgcGVyIFdlYiBJREwgc3BlY2lmaWNhdGlv
biwgY29uc3RydWN0b3IgcHJvcGVydGllcyBvbiB0aGUgRUNNQVNjcmlwdCBnbG9iYWwgb2JqZWN0
IHNob3VsZCBub3QgYmUgZW51bWVyYWJsZS4KKyAgICAgICAgbXkgJGlzX2dsb2JhbF9jb25zdHJ1
Y3RvciA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9fiAvQ29uc3RydWN0b3IkLzsKICAg
ICAgICAgcHVzaChAc3BlY2lhbHMsICJEb250RW51bSIpIGlmICgkYXR0cmlidXRlLT5zaWduYXR1
cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJOb3RFbnVtZXJhYmxlIn0gfHwgJGlzX2dsb2JhbF9j
b25zdHJ1Y3Rvcik7CiAgICAgICAgIHB1c2goQHNwZWNpYWxzLCAiUmVhZE9ubHkiKSBpZiBJc1Jl
YWRvbmx5KCRhdHRyaWJ1dGUpOwogICAgICAgICBwdXNoKEBzcGVjaWFscywgIkN1c3RvbUFjY2Vz
c29yIikgdW5sZXNzICRpc19nbG9iYWxfY29uc3RydWN0b3Igb3IgSXNKU0J1aWx0aW4oJGludGVy
ZmFjZSwgJGF0dHJpYnV0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCmluZGV4
IDI1ZDZjZTIuLjMwYjk5YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCkBA
IC04Myw3ICs4Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rl
c3RBY3RpdmVET01PYmplY3RUYWJsZUluZGV4WzRdID0gewogc3RhdGljIGNvbnN0IEhhc2hUYWJs
ZVZhbHVlIEpTVGVzdEFjdGl2ZURPTU9iamVjdFRhYmxlVmFsdWVzW10gPQogewogICAgIHsgImNv
bnN0cnVjdG9yIiwgRG9udEVudW0sIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0QWN0aXZlRE9NT2JqZWN0Q29uc3Ry
dWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVG
dW5jPihzZXRKU1Rlc3RBY3RpdmVET01PYmplY3RDb25zdHJ1Y3RvcikgfSB9LAotICAgIHsgImV4
Y2l0aW5nQXR0ciIsIERvbnREZWxldGUgfCBSZWFkT25seSB8IEN1c3RvbUFjY2Vzc29yLCBOb0lu
dHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1
bmM+KGpzVGVzdEFjdGl2ZURPTU9iamVjdEV4Y2l0aW5nQXR0ciksIChpbnRwdHJfdCkgc3RhdGlj
X2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJleGNp
dGluZ0F0dHIiLCBSZWFkT25seSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgeyAoaW50
cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEFjdGl2
ZURPTU9iamVjdEV4Y2l0aW5nQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVy
dHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKIH07CiAKIHN0YXRpYyBjb25zdCBIYXNoVGFi
bGUgSlNUZXN0QWN0aXZlRE9NT2JqZWN0VGFibGUgPSB7IDIsIDMsIHRydWUsIEpTVGVzdEFjdGl2
ZURPTU9iamVjdFRhYmxlVmFsdWVzLCBKU1Rlc3RBY3RpdmVET01PYmplY3RUYWJsZUluZGV4IH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RFeGNlcHRpb24uY3BwCmluZGV4IGEwZTc2ODMuLjJkNmM1NTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
eGNlcHRpb24uY3BwCkBAIC03NCw3ICs3NCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFj
dEhhc2hJbmRleCBKU1Rlc3RFeGNlcHRpb25UYWJsZUluZGV4WzJdID0gewogCiBzdGF0aWMgY29u
c3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0RXhjZXB0aW9uVGFibGVWYWx1ZXNbXSA9CiB7Ci0gICAg
eyAibmFtZSIsIERvbnREZWxldGUgfCBSZWFkT25seSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJp
bnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzVGVzdEV4Y2VwdGlvbk5hbWUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5
U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAibmFtZSIsIFJlYWRPbmx5IHwgQ3Vz
dG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0
eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0RXhjZXB0aW9uTmFtZSksIChpbnRwdHJfdCkgc3Rh
dGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKIH07CiAKIHN0
YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0RXhjZXB0aW9uVGFibGUgPSB7IDEsIDEsIHRydWUs
IEpTVGVzdEV4Y2VwdGlvblRhYmxlVmFsdWVzLCBKU1Rlc3RFeGNlcHRpb25UYWJsZUluZGV4IH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RPYmouY3BwCmluZGV4IDkyODc0MDAuLjU4MjcyZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC00MDIsNyAr
NDAyLDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE9ialRhYmxlVmFsdWVz
W10gPQogI2Vsc2UKICAgICB7IDAsIDAsIE5vSW50cmluc2ljLCB7IDAsIDAgfSB9LAogI2VuZGlm
Ci0gICAgeyAiY29udGVudERvY3VtZW50IiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgQ3VzdG9t
QWNjZXNzb3IsIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ29udGVudERvY3VtZW50KSwgKGludHB0cl90KSBz
dGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsg
ImNvbnRlbnREb2N1bWVudCIsIFJlYWRPbmx5IHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2lj
LCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNU
ZXN0T2JqQ29udGVudERvY3VtZW50KSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0
eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAogfTsKIAogc3RhdGljIGNvbnN0IEhhc2hUYWJs
ZSBKU1Rlc3RPYmpUYWJsZSA9IHsgNSwgMTUsIHRydWUsIEpTVGVzdE9ialRhYmxlVmFsdWVzLCBK
U1Rlc3RPYmpUYWJsZUluZGV4IH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270828</attachid>
            <date>2016-02-07 12:49:45 -0800</date>
            <delta_ts>2016-02-07 14:52:17 -0800</delta_ts>
            <desc>WIP Patch</desc>
            <filename>153920_Window_properties_configurable_wip.patch</filename>
            <type>text/plain</type>
            <size>24159</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGll
cy1jb25maWd1cmFibGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93
L3dpbmRvdy1wcm9wZXJ0aWVzLWNvbmZpZ3VyYWJsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGNhMjBhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1jb25maWd1cmFibGUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjcgQEAKK1Rlc3RzIHRoYXQgV2luZG93IHByb3BlcnRpZXMg
YXJlIGluZGVlZCBjb25maWd1cmFibGUgdW5sZXNzIFtVbmZvcmdlYWJsZV0KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKKyogUmVndWxhciBJREwgYXR0cmlidXRlLgorUEFTUyBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ25hbWUnKS5jb25maWd1cmFibGUg
aXMgdHJ1ZQorUEFTUyB3aW5kb3cubmFtZSBpcyAiIgorUEFTUyBkZWxldGUgd2luZG93Lm5hbWUg
aXMgdHJ1ZQorUEFTUyB3aW5kb3cubmFtZSBpcyB1bmRlZmluZWQuCisKKyogQ29uc3RydWN0b3Ig
YXR0cmlidXRlcy4KK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cs
ICdOb2RlJykuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1Mgd2luZG93Lk5vZGUgaXMgbm90IHVu
ZGVmaW5lZAorUEFTUyBkZWxldGUgd2luZG93Lk5vZGUgaXMgdHJ1ZQorUEFTUyB3aW5kb3cuTm9k
ZSBpcyB1bmRlZmluZWQuCisKKyogW1VuZm9yZ2VhYmxlXSBJREwgYXR0cmlidXRlLgorUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ3dpbmRvdycpLmNvbmZpZ3Vy
YWJsZSBpcyBmYWxzZQorUEFTUyB3aW5kb3cud2luZG93IGlzIG5vdCB1bmRlZmluZWQKK1BBU1Mg
ZGVsZXRlIHdpbmRvdy53aW5kb3cgaXMgZmFsc2UKK1BBU1Mgd2luZG93LndpbmRvdyBpcyBub3Qg
dW5kZWZpbmVkCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnRpZXMtY29uZmlndXJhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cv
d2luZG93LXByb3BlcnRpZXMtY29uZmlndXJhYmxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uY2MzZDQwYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1jb25maWd1cmFibGUuaHRtbApAQCAtMCww
ICsxLDMyIEBACis8IURPQ1lUUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBXaW5kb3cgcHJvcGVydGllcyBhcmUgaW5kZWVkIGNvbmZp
Z3VyYWJsZSB1bmxlc3MgW1VuZm9yZ2VhYmxlXSIpOworCitkZWJ1ZygiKiBSZWd1bGFyIElETCBh
dHRyaWJ1dGUuIik7CitzaG91bGRCZVRydWUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3Iod2luZG93LCAnbmFtZScpLmNvbmZpZ3VyYWJsZSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ3aW5kb3cubmFtZSIsICIiKTsKK3Nob3VsZEJlVHJ1ZSgiZGVsZXRlIHdpbmRvdy5uYW1lIik7
CitzaG91bGRCZVVuZGVmaW5lZCgid2luZG93Lm5hbWUiKTsKKworZGVidWcoIiIpOworZGVidWco
IiogQ29uc3RydWN0b3IgYXR0cmlidXRlcy4iKTsKK3Nob3VsZEJlVHJ1ZSgiT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdOb2RlJykuY29uZmlndXJhYmxlIik7CitzaG91
bGROb3RCZSgid2luZG93Lk5vZGUiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZVRydWUoImRlbGV0
ZSB3aW5kb3cuTm9kZSIpOworc2hvdWxkQmVVbmRlZmluZWQoIndpbmRvdy5Ob2RlIik7CisKK2Rl
YnVnKCIiKTsKK2RlYnVnKCIqIFtVbmZvcmdlYWJsZV0gSURMIGF0dHJpYnV0ZS4iKTsKK3Nob3Vs
ZEJlRmFsc2UoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnd2luZG93
JykuY29uZmlndXJhYmxlIik7CitzaG91bGROb3RCZSgid2luZG93LndpbmRvdyIsICJ1bmRlZmlu
ZWQiKTsKK3Nob3VsZEJlRmFsc2UoImRlbGV0ZSB3aW5kb3cud2luZG93Iik7CitzaG91bGROb3RC
ZSgid2luZG93LndpbmRvdyIsICJ1bmRlZmluZWQiKTsKKworZGVidWcoIiIpOworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9n
bG9iYWwtY29uc3RydWN0b3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9nbG9iYWwtY29u
c3RydWN0b3JzLmh0bWwKaW5kZXggMGIzOWRkMC4uOWQyZGU5YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMuaHRtbApAQCAtOTUsMTUgKzk1LDE3IEBAIGZ1
bmN0aW9uIHRlc3QoKQogICAgIAogICAgIG9yaWdpbmFsTm9kZUNvbnN0cnVjdG9yID0gd2luZG93
Lk5vZGU7ICAgIAogCi0gICAgLy8gU2hhZG93IHdpbmRvdy5Ob2RlCisgICAgLy8gU2V0IHdpbmRv
dy5Ob2RlCiAgICAgd2luZG93Lk5vZGUgPSAxOwogICAgIHByaW50KCJbU2V0IHdpbmRvdy5Ob2Rl
ID0gMV0iKTsKICAgICBzaG91bGRCZSgid2luZG93Lk5vZGUiLCAxKTsKICAgICAKLSAgICAvLyBV
bnNoYWRvdyB3aW5kb3cuTm9kZQorICAgIC8vIERlbGV0ZSB3aW5kb3cuTm9kZQogICAgIGRlbGV0
ZSB3aW5kb3cuTm9kZTsKICAgICBwcmludCgiW0RlbGV0ZWQgd2luZG93Lk5vZGVdIik7Ci0gICAg
c2hvdWxkQmUoIndpbmRvdy5Ob2RlIiwgb3JpZ2luYWxOb2RlQ29uc3RydWN0b3IpOworICAgIHNo
b3VsZEJlKCJ3aW5kb3cuTm9kZSIsIHVuZGVmaW5lZCk7CisKKyAgICB3aW5kb3cuTm9kZSA9IG9y
aWdpbmFsTm9kZUNvbnN0cnVjdG9yOwogCiAgICAgLy8gQXR0ZW1wdCB0byBzaGFkb3cgd2luZG93
Lk5vZGUgd2l0aCBhIGZyYW1lIG5hbWVkICdOb2RlJwogICAgIHZhciBpZnJhbWUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2dl
dE93blByb3BlcnR5RGVzY3JpcHRvci11bmZvcmdlYWJsZS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci11bmZvcmdlYWJsZS1h
dHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCAxMmJkNWU3Li4xNzQ0OWRkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0
cmlidXRlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yLXVuZm9yZ2VhYmxlLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CkBAIC05OCwxNCAr
OTgsNiBAQCBQQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIGZhbHNlCiBQQVNTIGRlc2Ny
aXB0b3IuZ2V0LmNhbGwoaW52YWxpZE9iamVjdCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
VGhlIERPTVdpbmRvdy5sb2NhdGlvbiBnZXR0ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5j
ZXMgb2YgRE9NV2luZG93LgogUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRvdykgPT09IHdp
bmRvdy5sb2NhdGlvbiBpcyB0cnVlCiAKLSogV2luZG93LnNlbGYKLVBBU1MgZGVzY3JpcHRvci5n
ZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KLVBBU1MgZGVzY3JpcHRvci5zZXQgaXMgYW4g
aW5zdGFuY2Ugb2YgRnVuY3Rpb24KLVBBU1MgZGVzY3JpcHRvci5lbnVtZXJhYmxlIGlzIHRydWUK
LVBBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMgZmFsc2UKLVBBU1MgZGVzY3JpcHRvci5n
ZXQuY2FsbChpbnZhbGlkT2JqZWN0KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgRE9N
V2luZG93LnNlbGYgZ2V0dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdp
bmRvdy4KLVBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbCh3aW5kb3cpID09PSB3aW5kb3cuc2VsZiBp
cyB0cnVlCi0KICogV2luZG93LndpbmRvdwogUEFTUyBkZXNjcmlwdG9yLmdldCBpcyBhbiBpbnN0
YW5jZSBvZiBGdW5jdGlvbgogUEFTUyBkZXNjcmlwdG9yLnNldCBpcyB1bmRlZmluZWQuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFi
bGUtYXR0cmlidXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yLXVuZm9yZ2VhYmxlLWF0dHJpYnV0ZXMuaHRtbAppbmRleCAzMjkxZWRkLi40OWY2MTI3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3Jn
ZWFibGUtYXR0cmlidXRlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5
RGVzY3JpcHRvci11bmZvcmdlYWJsZS1hdHRyaWJ1dGVzLmh0bWwKQEAgLTQzLDEyICs0Myw2IEBA
IGNoZWNrVW5mb3JnZWFibGVQcm9wZXJ0eURlc2NyaXB0b3IoZGVzY3JpcHRvcik7CiBzaG91bGRC
ZVRydWUoImRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93KSA9PT0gd2luZG93LmxvY2F0aW9uIik7
CiAKIGRlYnVnKCIiKTsKLWRlYnVnKCIqIFdpbmRvdy5zZWxmIik7Ci1kZXNjcmlwdG9yID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICJzZWxmIik7Ci1jaGVja1VuZm9y
Z2VhYmxlUHJvcGVydHlEZXNjcmlwdG9yKGRlc2NyaXB0b3IpOwotc2hvdWxkQmVUcnVlKCJkZXNj
cmlwdG9yLmdldC5jYWxsKHdpbmRvdykgPT09IHdpbmRvdy5zZWxmIik7Ci0KLWRlYnVnKCIiKTsK
IGRlYnVnKCIqIFdpbmRvdy53aW5kb3ciKTsKIGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKHdpbmRvdywgIndpbmRvdyIpOwogY2hlY2tVbmZvcmdlYWJsZVByb3Bl
cnR5RGVzY3JpcHRvcihkZXNjcmlwdG9yLCB0cnVlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Itd2luZG93LWF0dHJp
YnV0ZXMtZXhwZWN0ZWQudHh0CmluZGV4IGU4MDBiYTMuLjFhNTdlNjEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
LXdpbmRvdy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtNyw3ICs3LDcgQEAgT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUKIFBBU1MgZGVzY3JpcHRvci5nZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVu
Y3Rpb24KIFBBU1MgZGVzY3JpcHRvci5zZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KIFBB
U1MgZGVzY3JpcHRvci5lbnVtZXJhYmxlIGlzIHRydWUKLUZBSUwgZGVzY3JpcHRvci5jb25maWd1
cmFibGUgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KK1BBU1MgZGVzY3JpcHRvci5jb25maWd1
cmFibGUgaXMgdHJ1ZQogUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKG5vbldpbmRvd09iamVjdCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIERPTVdpbmRvdy5zY3JlZW4gZ2V0dGVyIGNh
biBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdy4KIFBBU1MgZGVzY3JpcHRv
ci5nZXQuY2FsbCh3aW5kb3cpID09PSB3aW5kb3cuc2NyZWVuIGlzIHRydWUKIEZBSUwgZGVzY3Jp
cHRvci5nZXQuY2FsbCgpID09PSB3aW5kb3cuc2NyZWVuIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBUaGUgRE9NV2luZG93LnNjcmVlbiBnZXR0ZXIgY2FuIG9ubHkg
YmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgRE9NV2luZG93CkBAIC0xNiwxNiArMTYsMjUgQEAgRkFJ
TCBkZXNjcmlwdG9yLmdldC5jYWxsKCkgPT09IHdpbmRvdy5zY3JlZW4gc2hvdWxkIGJlIHRydWUu
IFRocmV3IGV4Y2VwdGlvbiBUeXAKIFBBU1MgZGVzY3JpcHRvci5nZXQgaXMgYW4gaW5zdGFuY2Ug
b2YgRnVuY3Rpb24KIFBBU1MgZGVzY3JpcHRvci5zZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rp
b24KIFBBU1MgZGVzY3JpcHRvci5lbnVtZXJhYmxlIGlzIHRydWUKLUZBSUwgZGVzY3JpcHRvci5j
b25maWd1cmFibGUgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KK1BBU1MgZGVzY3JpcHRvci5j
b25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKG5vbldpbmRvd09i
amVjdCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIERPTVdpbmRvdy5uYXZpZ2F0b3Ig
Z2V0dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdy4KIFBBU1Mg
ZGVzY3JpcHRvci5nZXQuY2FsbCh3aW5kb3cpID09PSB3aW5kb3cubmF2aWdhdG9yIGlzIHRydWUK
IEZBSUwgZGVzY3JpcHRvci5nZXQuY2FsbCgpID09PSB3aW5kb3cubmF2aWdhdG9yIHNob3VsZCBi
ZSB0cnVlLiBUaHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgRE9NV2luZG93Lm5hdmlnYXRv
ciBnZXR0ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgRE9NV2luZG93CiAKKyog
V2luZG93LnNlbGYKK1BBU1MgZGVzY3JpcHRvci5nZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rp
b24KK1BBU1MgZGVzY3JpcHRvci5zZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KK1BBU1Mg
ZGVzY3JpcHRvci5lbnVtZXJhYmxlIGlzIHRydWUKK1BBU1MgZGVzY3JpcHRvci5jb25maWd1cmFi
bGUgaXMgdHJ1ZQorUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKG5vbldpbmRvd09iamVjdCkgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIERPTVdpbmRvdy5zZWxmIGdldHRlciBjYW4gb25s
eSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBET01XaW5kb3cuCitQQVNTIGRlc2NyaXB0b3IuZ2V0
LmNhbGwod2luZG93KSA9PT0gd2luZG93LnNlbGYgaXMgdHJ1ZQorRkFJTCBkZXNjcmlwdG9yLmdl
dC5jYWxsKCkgPT09IHdpbmRvdy5zZWxmIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBUaGUgRE9NV2luZG93LnNlbGYgZ2V0dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24g
aW5zdGFuY2VzIG9mIERPTVdpbmRvdworCiAqIFdpbmRvdy5mcmFtZUVsZW1lbnQKIFBBU1MgZGVz
Y3JpcHRvci5nZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KIFBBU1MgZGVzY3JpcHRvci5z
ZXQgaXMgdW5kZWZpbmVkLgogUEFTUyBkZXNjcmlwdG9yLmVudW1lcmFibGUgaXMgdHJ1ZQotRkFJ
TCBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSBzaG91bGQgYmUgdHJ1ZS4gV2FzIGZhbHNlLgorUEFT
UyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNh
bGwobm9uV2luZG93T2JqZWN0KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgRE9NV2lu
ZG93LmZyYW1lRWxlbWVudCBnZXR0ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2Yg
RE9NV2luZG93LgogUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRvdykgPT09IHdpbmRvdy5m
cmFtZUVsZW1lbnQgaXMgdHJ1ZQogRkFJTCBkZXNjcmlwdG9yLmdldC5jYWxsKCkgPT09IHdpbmRv
dy5mcmFtZUVsZW1lbnQgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IFRoZSBET01XaW5kb3cuZnJhbWVFbGVtZW50IGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGlu
c3RhbmNlcyBvZiBET01XaW5kb3cKQEAgLTM0LDEwICs0MywyMSBAQCBGQUlMIGRlc2NyaXB0b3Iu
Z2V0LmNhbGwoKSA9PT0gd2luZG93LmZyYW1lRWxlbWVudCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcg
ZXhjZXB0aQogUEFTUyBkZXNjcmlwdG9yLmdldCBpcyBhbiBpbnN0YW5jZSBvZiBGdW5jdGlvbgog
UEFTUyBkZXNjcmlwdG9yLnNldCBpcyBhbiBpbnN0YW5jZSBvZiBGdW5jdGlvbgogUEFTUyBkZXNj
cmlwdG9yLmVudW1lcmFibGUgaXMgdHJ1ZQotRkFJTCBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSBz
aG91bGQgYmUgdHJ1ZS4gV2FzIGZhbHNlLgorUEFTUyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSBp
cyB0cnVlCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwobm9uV2luZG93T2JqZWN0KSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBUaGUgRE9NV2luZG93Lm5hbWUgZ2V0dGVyIGNhbiBvbmx5IGJl
IHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdy4KIFBBU1MgZGVzY3JpcHRvci5nZXQuY2Fs
bCh3aW5kb3cpID09PSB3aW5kb3cubmFtZSBpcyB0cnVlCiBGQUlMIGRlc2NyaXB0b3IuZ2V0LmNh
bGwoKSA9PT0gd2luZG93Lm5hbWUgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IFRoZSBET01XaW5kb3cubmFtZSBnZXR0ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0
YW5jZXMgb2YgRE9NV2luZG93CisKKyogd2luZG93Lk5vZGUKK1BBU1MgZGVzY3JpcHRvci5lbnVt
ZXJhYmxlIGlzIGZhbHNlCitQQVNTIGRlc2NyaXB0b3Iud3JpdGFibGUgaXMgdHJ1ZQorUEFTUyBk
ZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCisKKyogd2luZG93LmNvbnN0cnVjdG9yCitQ
QVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBkZXNjcmlwdG9yLndyaXRh
YmxlIGlzIHRydWUKK1BBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMgdHJ1ZQorCiBQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRl
cy5odG1sIGIvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXdpbmRvdy1h
dHRyaWJ1dGVzLmh0bWwKaW5kZXggMTA2ZTQ1OC4uMjUwNWM0NiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXdpbmRvdy1hdHRyaWJ1dGVzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXdpbmRvdy1hdHRy
aWJ1dGVzLmh0bWwKQEAgLTMzLDYgKzMzLDEzIEBAIHNob3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci5n
ZXQuY2FsbCh3aW5kb3cpID09PSB3aW5kb3cubmF2aWdhdG9yIik7CiBzaG91bGRCZVRydWUoImRl
c2NyaXB0b3IuZ2V0LmNhbGwoKSA9PT0gd2luZG93Lm5hdmlnYXRvciIpOwogCiBkZWJ1ZygiIik7
CitkZWJ1ZygiKiBXaW5kb3cuc2VsZiIpOworZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3Iod2luZG93LCAic2VsZiIpOworY2hlY2tXaW5kb3dQcm9wZXJ0eURlc2Ny
aXB0b3IoZGVzY3JpcHRvcik7CitzaG91bGRCZVRydWUoImRlc2NyaXB0b3IuZ2V0LmNhbGwod2lu
ZG93KSA9PT0gd2luZG93LnNlbGYiKTsKK3Nob3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci5nZXQuY2Fs
bCgpID09PSB3aW5kb3cuc2VsZiIpOworCitkZWJ1ZygiIik7CiBkZWJ1ZygiKiBXaW5kb3cuZnJh
bWVFbGVtZW50Iik7CiBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cih3aW5kb3csICJmcmFtZUVsZW1lbnQiKTsKIGNoZWNrV2luZG93UHJvcGVydHlEZXNjcmlwdG9y
KGRlc2NyaXB0b3IsIHRydWUpOwpAQCAtNDYsNSArNTMsMjEgQEAgY2hlY2tXaW5kb3dQcm9wZXJ0
eURlc2NyaXB0b3IoZGVzY3JpcHRvciwgZmFsc2UpOwogc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9y
LmdldC5jYWxsKHdpbmRvdykgPT09IHdpbmRvdy5uYW1lIik7CiBzaG91bGRCZVRydWUoImRlc2Ny
aXB0b3IuZ2V0LmNhbGwoKSA9PT0gd2luZG93Lm5hbWUiKTsKIAorZGVidWcoIiIpOworZGVidWco
Iiogd2luZG93Lk5vZGUiKTsKK2Rlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKHdpbmRvdywgIk5vZGUiKTsKK3Nob3VsZEJlRmFsc2UoImRlc2NyaXB0b3IuZW51bWVy
YWJsZSIpOworc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLndyaXRhYmxlIik7CitzaG91bGRCZVRy
dWUoImRlc2NyaXB0b3IuY29uZmlndXJhYmxlIik7CisKK2RlYnVnKCIiKTsKKy8vIEZJWE1FOiAn
Y29uc3RydWN0b3InIHNob3VsZCBiZSBvbiB0aGUgcHJvdG90eXBlLgorZGVidWcoIiogd2luZG93
LmNvbnN0cnVjdG9yIik7CitkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcih3aW5kb3csICJjb25zdHJ1Y3RvciIpOworc2hvdWxkQmVGYWxzZSgiZGVzY3JpcHRvci5l
bnVtZXJhYmxlIik7CitzaG91bGRCZVRydWUoImRlc2NyaXB0b3Iud3JpdGFibGUiKTsKK3Nob3Vs
ZEJlVHJ1ZSgiZGVzY3JpcHRvci5jb25maWd1cmFibGUiKTsKKworZGVidWcoIiIpOwogPC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKaW5kZXggNzgzOWEw
Mi4uOGEyNzAxOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNw
cApAQCAtNjgsNyArNjgsNyBAQCBjb25zdCBDbGFzc0luZm8gSlNPYmplY3Q6OnNfaW5mbyA9IHsg
Ik9iamVjdCIsIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNPYmplYwogCiBjb25zdCBDbGFz
c0luZm8gSlNGaW5hbE9iamVjdDo6c19pbmZvID0geyAiT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywg
MCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0ZpbmFsT2JqZWN0KSB9OwogCi1zdGF0aWMgaW5saW5l
IHZvaWQgZ2V0Q2xhc3NQcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQ2xhc3NJ
bmZvKiBjbGFzc0luZm8sIFByb3BlcnR5TmFtZUFycmF5JiBwcm9wZXJ0eU5hbWVzLCBFbnVtZXJh
dGlvbk1vZGUgbW9kZSwgYm9vbCBkaWRSZWlmeSkKK3N0YXRpYyBpbmxpbmUgdm9pZCBnZXRDbGFz
c1Byb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5m
bywgUHJvcGVydHlOYW1lQXJyYXkmIHByb3BlcnR5TmFtZXMsIEVudW1lcmF0aW9uTW9kZSBtb2Rl
KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAKQEAgLTc5LDcgKzc5LDcgQEAgc3RhdGlj
IGlubGluZSB2b2lkIGdldENsYXNzUHJvcGVydHlOYW1lcyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0
IENsYXNzSW5mbyogY2xhc3MKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGZvciAo
YXV0byBpdGVyID0gdGFibGUtPmJlZ2luKCk7IGl0ZXIgIT0gdGFibGUtPmVuZCgpOyArK2l0ZXIp
IHsKLSAgICAgICAgICAgIGlmICgoIShpdGVyLT5hdHRyaWJ1dGVzKCkgJiBEb250RW51bSkgfHwg
bW9kZS5pbmNsdWRlRG9udEVudW1Qcm9wZXJ0aWVzKCkpICYmICEoKGl0ZXItPmF0dHJpYnV0ZXMo
KSAmIEJ1aWx0aW5PckZ1bmN0aW9uT3JBY2Nlc3NvcikgJiYgZGlkUmVpZnkpKQorICAgICAgICAg
ICAgaWYgKCEoaXRlci0+YXR0cmlidXRlcygpICYgRG9udEVudW0pIHx8IG1vZGUuaW5jbHVkZURv
bnRFbnVtUHJvcGVydGllcygpKQogICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZXMuYWRkKElk
ZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCBpdGVyLmtleSgpKSk7CiAgICAgICAgIH0KICAgICB9
CkBAIC00MTMsNyArNDEzLDcgQEAgdm9pZCBKU09iamVjdDo6cHV0SW5saW5lU2xvdyhFeGVjU3Rh
dGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUKICAgICAgICAgY29u
c3QgQ2xhc3NJbmZvKiBpbmZvID0gb2JqLT5jbGFzc0luZm8oKTsKICAgICAgICAgaWYgKGluZm8t
Pmhhc1N0YXRpY1NldHRlck9yUmVhZG9ubHlQcm9wZXJ0aWVzKCkpIHsKICAgICAgICAgICAgIGlm
IChjb25zdCBIYXNoVGFibGVWYWx1ZSogZW50cnkgPSBvYmotPmZpbmRQcm9wZXJ0eUhhc2hFbnRy
eShwcm9wZXJ0eU5hbWUpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFvYmotPnN0YXRpY0Z1bmN0
aW9uc1JlaWZpZWQoKSB8fCAhKGVudHJ5LT5hdHRyaWJ1dGVzKCkgJiBCdWlsdGluT3JGdW5jdGlv
bk9yQWNjZXNzb3IpKSB7CisgICAgICAgICAgICAgICAgaWYgKCFvYmotPnN0YXRpY0Z1bmN0aW9u
c1JlaWZpZWQoKSkgewogICAgICAgICAgICAgICAgICAgICBwdXRFbnRyeShleGVjLCBlbnRyeSwg
b2JqLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICAgICAgICAgIH0KQEAgLTEyODQsMzMgKzEyODQsMTkgQEAgYm9vbCBKU09i
amVjdDo6aGFzUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUp
IGNvbnN0CiBib29sIEpTT2JqZWN0OjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNlbGwsIEV4ZWNT
dGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKIHsKICAgICBKU09iamVjdCog
dGhpc09iamVjdCA9IGpzQ2FzdDxKU09iamVjdCo+KGNlbGwpOworICAgIFZNJiB2bSA9IGV4ZWMt
PnZtKCk7CiAgICAgCiAgICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBpbmRleCA9IHBhcnNlSW5k
ZXgocHJvcGVydHlOYW1lKSkKLSAgICAgICAgcmV0dXJuIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxl
KGV4ZWMtPnZtKCkpLT5kZWxldGVQcm9wZXJ0eUJ5SW5kZXgodGhpc09iamVjdCwgZXhlYywgaW5k
ZXgudmFsdWUoKSk7CisgICAgICAgIHJldHVybiB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSh2bSkt
PmRlbGV0ZVByb3BlcnR5QnlJbmRleCh0aGlzT2JqZWN0LCBleGVjLCBpbmRleC52YWx1ZSgpKTsK
IAogICAgIGlmICghdGhpc09iamVjdC0+c3RhdGljRnVuY3Rpb25zUmVpZmllZCgpKQotICAgICAg
ICB0aGlzT2JqZWN0LT5yZWlmeVN0YXRpY0Z1bmN0aW9uc0ZvckRlbGV0ZShleGVjKTsKKyAgICAg
ICAgdGhpc09iamVjdC0+cmVpZnlBbGxTdGF0aWNQcm9wZXJ0aWVzKGV4ZWMpOwogCiAgICAgdW5z
aWduZWQgYXR0cmlidXRlczsKLSAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIGlmIChpc1Zh
bGlkT2Zmc2V0KHRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSktPmdldCh2bSwgcHJvcGVydHlOYW1l
LCBhdHRyaWJ1dGVzKSkpIHsKICAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiBEb250RGVsZXRlICYm
ICF2bS5pc0luRGVmaW5lT3duUHJvcGVydHkoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICAgICAgdGhpc09iamVjdC0+cmVtb3ZlRGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWUpOwotICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICAvLyBMb29rIGluIHRoZSBzdGF0aWMgaGFz
aHRhYmxlIG9mIHByb3BlcnRpZXMKLSAgICBjb25zdCBIYXNoVGFibGVWYWx1ZSogZW50cnkgPSB0
aGlzT2JqZWN0LT5maW5kUHJvcGVydHlIYXNoRW50cnkocHJvcGVydHlOYW1lKTsKLSAgICBpZiAo
ZW50cnkpIHsKLSAgICAgICAgaWYgKGVudHJ5LT5hdHRyaWJ1dGVzKCkgJiBEb250RGVsZXRlICYm
ICF2bS5pc0luRGVmaW5lT3duUHJvcGVydHkoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsg
Ly8gdGhpcyBidWlsdGluIHByb3BlcnR5IGNhbid0IGJlIGRlbGV0ZWQKLQotICAgICAgICBQdXRQ
cm9wZXJ0eVNsb3Qgc2xvdCh0aGlzT2JqZWN0KTsKLSAgICAgICAgaWYgKCEoZW50cnktPmF0dHJp
YnV0ZXMoKSAmIEJ1aWx0aW5PckZ1bmN0aW9uT3JBY2Nlc3NvcikpIHsKLSAgICAgICAgICAgIEFT
U0VSVCh0aGlzT2JqZWN0LT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpOwotICAgICAgICAgICAg
cHV0RW50cnkoZXhlYywgZW50cnksIHRoaXNPYmplY3QsIHByb3BlcnR5TmFtZSwganNVbmRlZmlu
ZWQoKSwgc2xvdCk7Ci0gICAgICAgIH0KICAgICB9CiAKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTE2
MTMsNyArMTU5OSw4IEBAIHZvaWQgSlNPYmplY3Q6OmdldE93blByb3BlcnR5TmFtZXMoSlNPYmpl
Y3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hCiAKIHZvaWQgSlNPYmplY3Q6
OmdldE93bk5vbkluZGV4UHJvcGVydHlOYW1lcyhKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUq
IGV4ZWMsIFByb3BlcnR5TmFtZUFycmF5JiBwcm9wZXJ0eU5hbWVzLCBFbnVtZXJhdGlvbk1vZGUg
bW9kZSkKIHsKLSAgICBnZXRDbGFzc1Byb3BlcnR5TmFtZXMoZXhlYywgb2JqZWN0LT5jbGFzc0lu
Zm8oKSwgcHJvcGVydHlOYW1lcywgbW9kZSwgb2JqZWN0LT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVk
KCkpOworICAgIGlmICghb2JqZWN0LT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpCisgICAgICAg
IGdldENsYXNzUHJvcGVydHlOYW1lcyhleGVjLCBvYmplY3QtPmNsYXNzSW5mbygpLCBwcm9wZXJ0
eU5hbWVzLCBtb2RlKTsKIAogICAgIGlmICghbW9kZS5pbmNsdWRlSlNPYmplY3RQcm9wZXJ0aWVz
KCkpCiAgICAgICAgIHJldHVybjsKQEAgLTE2NjcsOSArMTY1NCw3IEBAIHZvaWQgSlNPYmplY3Q6
OnByZXZlbnRFeHRlbnNpb25zKFZNJiB2bSkKICAgICBzZXRTdHJ1Y3R1cmUodm0sIFN0cnVjdHVy
ZTo6cHJldmVudEV4dGVuc2lvbnNUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pKSk7CiB9CiAK
LS8vIFRoaXMgcHJlc2VudGx5IHdpbGwgZmxhdHRlbiB0byBhbiB1bmNhY2hhYmxlIGRpY3Rpb25h
cnk7IHRoaXMgaXMgc3VpdGFibGUKLS8vIGZvciB1c2UgaW4gZGVsZXRlLCB3ZSBtYXkgd2FudCB0
byBkbyBzb21ldGhpbmcgZGlmZmVyZW50IGVsc2V3aGVyZS4KLXZvaWQgSlNPYmplY3Q6OnJlaWZ5
U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKEV4ZWNTdGF0ZSogZXhlYykKK3ZvaWQgSlNPYmplY3Q6
OnJlaWZ5QWxsU3RhdGljUHJvcGVydGllcyhFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgQVNTRVJU
KCFzdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpOwogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CkBA
IC0xNjg4LDI0ICsxNjczLDYgQEAgdm9pZCBKU09iamVjdDo6cmVpZnlTdGF0aWNGdW5jdGlvbnNG
b3JEZWxldGUoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICBjb25zdCBIYXNoVGFibGUqIGhhc2hU
YWJsZSA9IGluZm8tPnN0YXRpY1Byb3BIYXNoVGFibGU7CiAgICAgICAgIGlmICghaGFzaFRhYmxl
KQogICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIFByb3BlcnR5U2xvdCBzbG90KHRoaXMp
OwotICAgICAgICBmb3IgKGF1dG8gaXRlciA9IGhhc2hUYWJsZS0+YmVnaW4oKTsgaXRlciAhPSBo
YXNoVGFibGUtPmVuZCgpOyArK2l0ZXIpIHsKLSAgICAgICAgICAgIGlmIChpdGVyLT5hdHRyaWJ1
dGVzKCkgJiBCdWlsdGluT3JGdW5jdGlvbk9yQWNjZXNzb3IpCi0gICAgICAgICAgICAgICAgc2V0
VXBTdGF0aWNGdW5jdGlvblNsb3QoZ2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKSwgaXRlci52
YWx1ZSgpLCB0aGlzLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgaXRlci5rZXkoKSksIHNs
b3QpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgc3RydWN0dXJlKHZtKS0+c2V0U3RhdGljRnVu
Y3Rpb25zUmVpZmllZCh0cnVlKTsKLX0KLQotdm9pZCBKU09iamVjdDo6cmVpZnlBbGxTdGF0aWNQ
cm9wZXJ0aWVzKEV4ZWNTdGF0ZSogZXhlYykKLXsKLSAgICBWTSYgdm0gPSBleGVjLT52bSgpOwot
Ci0gICAgZm9yIChjb25zdCBDbGFzc0luZm8qIGluZm8gPSBjbGFzc0luZm8oKTsgaW5mbzsgaW5m
byA9IGluZm8tPnBhcmVudENsYXNzKSB7Ci0gICAgICAgIGNvbnN0IEhhc2hUYWJsZSogaGFzaFRh
YmxlID0gaW5mby0+c3RhdGljUHJvcEhhc2hUYWJsZTsKLSAgICAgICAgaWYgKCFoYXNoVGFibGUp
Ci0gICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBmb3IgKGF1dG8gaXRlciA9IGhhc2hU
YWJsZS0+YmVnaW4oKTsgaXRlciAhPSBoYXNoVGFibGUtPmVuZCgpOyArK2l0ZXIpIHsKICAgICAg
ICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3QuaAppbmRleCBjYzlmY2EwLi4wNGIyNjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT2JqZWN0LmgKQEAgLTYyMyw3ICs2MjMsNiBAQCBwdWJsaWM6CiAgICAgfQog
CiAgICAgYm9vbCBzdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkgeyByZXR1cm4gc3RydWN0dXJlKCkt
PnN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQoKTsgfQotICAgIHZvaWQgcmVpZnlTdGF0aWNGdW5jdGlv
bnNGb3JEZWxldGUoRXhlY1N0YXRlKik7CiAgICAgdm9pZCByZWlmeUFsbFN0YXRpY1Byb3BlcnRp
ZXMoRXhlY1N0YXRlKik7CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBCdXR0ZXJmbHkqIGdyb3dP
dXRPZkxpbmVTdG9yYWdlKFZNJiwgc2l6ZV90IG9sZFNpemUsIHNpemVfdCBuZXdTaXplKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAppbmRl
eCAyMGRlOGI0Li4wY2ZkMzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dDdXN0b20uY3BwCkBAIC0yMDEsMTAgKzIwMSwxMiBAQCBib29sIEpTRE9NV2lu
ZG93OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVj
LCBQcm9wZXJ0eQogICAgIH0KICNlbmRpZgogCi0gICAgY29uc3QgSGFzaFRhYmxlVmFsdWUqIGVu
dHJ5ID0gSlNET01XaW5kb3c6OmluZm8oKS0+c3RhdGljUHJvcEhhc2hUYWJsZS0+ZW50cnkocHJv
cGVydHlOYW1lKTsKLSAgICBpZiAoZW50cnkpIHsKLSAgICAgICAgc2xvdC5zZXRDYWNoZWFibGVD
dXN0b20odGhpc09iamVjdCwgYWxsb3dzQWNjZXNzID8gZW50cnktPmF0dHJpYnV0ZXMoKSA6IFJl
YWRPbmx5IHwgRG9udERlbGV0ZSB8IERvbnRFbnVtLCBlbnRyeS0+cHJvcGVydHlHZXR0ZXIoKSk7
Ci0gICAgICAgIHJldHVybiB0cnVlOworICAgIGlmICghdGhpc09iamVjdC0+c3RhdGljRnVuY3Rp
b25zUmVpZmllZCgpKSB7CisgICAgICAgIGNvbnN0IEhhc2hUYWJsZVZhbHVlKiBlbnRyeSA9IEpT
RE9NV2luZG93OjppbmZvKCktPnN0YXRpY1Byb3BIYXNoVGFibGUtPmVudHJ5KHByb3BlcnR5TmFt
ZSk7CisgICAgICAgIGlmIChlbnRyeSkgeworICAgICAgICAgICAgc2xvdC5zZXRDYWNoZWFibGVD
dXN0b20odGhpc09iamVjdCwgYWxsb3dzQWNjZXNzID8gZW50cnktPmF0dHJpYnV0ZXMoKSA6IFJl
YWRPbmx5IHwgRG9udERlbGV0ZSB8IERvbnRFbnVtLCBlbnRyeS0+cHJvcGVydHlHZXR0ZXIoKSk7
CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQogICAgIH0KIAogI2lmIEVOQUJM
RShVU0VSX01FU1NBR0VfSEFORExFUlMpCkBAIC0zNjUsMTAgKzM2NywxMCBAQCB2b2lkIEpTRE9N
V2luZG93OjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBw
cm9wZXJ0eU5hbWUsCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAobG9va3VwUHV0
KGV4ZWMsIHByb3BlcnR5TmFtZSwgdGhpc09iamVjdCwgdmFsdWUsICpzX2luZm8uc3RhdGljUHJv
cEhhc2hUYWJsZSwgc2xvdCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChCaW5kaW5nU2Vj
dXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coZXhlYywgdGhpc09iamVjdC0+d3Jh
cHBlZCgpKSkKKyAgICAvLyBTdGF0aWMgcHJvcGVydHkgc2V0dGVycyB0YWtlIGNhcmUgb2YgZG9p
bmcgdGhlIHNlY3VyaXR5IGNoZWNrIG9uIHRoZWlyIG93biBhcyBzb21lIG9mIHRoZW0KKyAgICAv
LyBhcmUgYWNjZXNzaWJsZSBjcm9zcy1vcmlnaW4uCisgICAgYm9vbCBpc1dpbmRvd1N0YXRpY1By
b3BlcnR5ID0gISFzX2luZm8uc3RhdGljUHJvcEhhc2hUYWJsZS0+ZW50cnkocHJvcGVydHlOYW1l
KTsKKyAgICBpZiAoaXNXaW5kb3dTdGF0aWNQcm9wZXJ0eSB8fCBCaW5kaW5nU2VjdXJpdHk6OnNo
b3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coZXhlYywgdGhpc09iamVjdC0+d3JhcHBlZCgpKSkK
ICAgICAgICAgQmFzZTo6cHV0KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUs
IHNsb3QpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtCmluZGV4IGI0YzJhODUuLjY4YWQ3ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC02ODUsNiAr
Njg1LDggQEAgc3ViIENvbnN0cnVjdG9yU2hvdWxkQmVPbkluc3RhbmNlCiB7CiAgICAgbXkgJGlu
dGVyZmFjZSA9IHNoaWZ0OwogCisgICAgIyBGSVhNRTogY29uc3RydWN0b3Igc2hvdWxkIGFsd2F5
cyBiZSBvbiB0aGUgcHJvdG90eXBlOgorICAgICMgaHR0cDovL3d3dy53My5vcmcvVFIvV2ViSURM
LyNpbnRlcmZhY2UtcHJvdG90eXBlLW9iamVjdAogICAgIHJldHVybiAxIGlmICRpbnRlcmZhY2Ut
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDaGVja1NlY3VyaXR5In07CiAgICAgcmV0dXJuIDA7CiB9
CkBAIC0xMzU3LDEzICsxMzU5LDcgQEAgc3ViIEdlbmVyYXRlQXR0cmlidXRlc0hhc2hUYWJsZQog
CiAgICAgICAgICAgICBteSAkc2V0dGVyID0gInNldEpTIiAuICRpbnRlcmZhY2VOYW1lIC4gIkNv
bnN0cnVjdG9yIjsKICAgICAgICAgICAgIHB1c2goQCRoYXNoVmFsdWUyLCAkc2V0dGVyKTsKLQot
ICAgICAgICAgICAgIyBGSVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3BlY2lhbC1jYXNlIERP
TVdpbmRvdz8KLSAgICAgICAgICAgIGlmICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93Iikg
ewotICAgICAgICAgICAgICAgIHB1c2goQCRoYXNoU3BlY2lhbHMsICJEb250RW51bSB8IERvbnRE
ZWxldGUiKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgcHVzaChAJGhh
c2hTcGVjaWFscywgIkRvbnRFbnVtIik7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBwdXNo
KEAkaGFzaFNwZWNpYWxzLCAiRG9udEVudW0iKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMTM3
NiwxMyArMTM3MiwxMSBAQCBzdWIgR2VuZXJhdGVBdHRyaWJ1dGVzSGFzaFRhYmxlCiAgICAgICAg
IHB1c2goQCRoYXNoS2V5cywgJG5hbWUpOwogCiAgICAgICAgIG15IEBzcGVjaWFscyA9ICgpOwot
ICAgICAgICAjIEFzIHBlciBXZWIgSURMIHNwZWNpZmljYXRpb24sIGNvbnN0cnVjdG9yIHByb3Bl
cnRpZXMgb24gdGhlIEVDTUFTY3JpcHQgZ2xvYmFsIG9iamVjdCBzaG91bGQgYmUKLSAgICAgICAg
IyBjb25maWd1cmFibGUgYW5kIHNob3VsZCBub3QgYmUgZW51bWVyYWJsZS4KLSAgICAgICAgbXkg
JGlzX2dsb2JhbF9jb25zdHJ1Y3RvciA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9fiAv
Q29uc3RydWN0b3IkLzsKLQotICAgICAgICBwdXNoKEBzcGVjaWFscywgIkRvbnREZWxldGUiKSBp
ZiAoJGlzSW5zdGFuY2UgJiYgISRpc19nbG9iYWxfY29uc3RydWN0b3IpIHx8ICRhdHRyaWJ1dGUt
PnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlVuZm9yZ2VhYmxlIn0KKyAgICAgICAg
cHVzaChAc3BlY2lhbHMsICJEb250RGVsZXRlIikgaWYgJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiVW5mb3JnZWFibGUifQogICAgICAgICAgICAgfHwgJGludGVy
ZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlVuZm9yZ2VhYmxlIn07CiAKKyAgICAgICAgIyBB
cyBwZXIgV2ViIElETCBzcGVjaWZpY2F0aW9uLCBjb25zdHJ1Y3RvciBwcm9wZXJ0aWVzIG9uIHRo
ZSBFQ01BU2NyaXB0IGdsb2JhbCBvYmplY3Qgc2hvdWxkIG5vdCBiZSBlbnVtZXJhYmxlLgorICAg
ICAgICBteSAkaXNfZ2xvYmFsX2NvbnN0cnVjdG9yID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50
eXBlID1+IC9Db25zdHJ1Y3RvciQvOwogICAgICAgICBwdXNoKEBzcGVjaWFscywgIkRvbnRFbnVt
IikgaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5vdEVu
dW1lcmFibGUifSB8fCAkaXNfZ2xvYmFsX2NvbnN0cnVjdG9yKTsKICAgICAgICAgcHVzaChAc3Bl
Y2lhbHMsICJSZWFkT25seSIpIGlmIElzUmVhZG9ubHkoJGF0dHJpYnV0ZSk7CiAgICAgICAgIHB1
c2goQHNwZWNpYWxzLCAiQ3VzdG9tQWNjZXNzb3IiKSB1bmxlc3MgJGlzX2dsb2JhbF9jb25zdHJ1
Y3RvciBvciBJc0pTQnVpbHRpbigkaW50ZXJmYWNlLCAkYXR0cmlidXRlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01P
YmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEFjdGl2ZURPTU9iamVjdC5jcHAKaW5kZXggMDYxMWRmMy4uZGMzNTg1OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9i
amVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKQEAgLTgzLDcgKzgzLDcgQEAgc3RhdGljIGNvbnN0IHN0
cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdEFjdGl2ZURPTU9iamVjdFRhYmxlSW5kZXhbNF0g
PSB7CiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0QWN0aXZlRE9NT2JqZWN0VGFi
bGVWYWx1ZXNbXSA9CiB7CiAgICAgeyAiY29uc3RydWN0b3IiLCBEb250RW51bSwgTm9JbnRyaW5z
aWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihq
c1Rlc3RBY3RpdmVET01PYmplY3RDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8
UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEFjdGl2ZURPTU9iamVjdENv
bnN0cnVjdG9yKSB9IH0sCi0gICAgeyAiZXhjaXRpbmdBdHRyIiwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5IHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0QWN0aXZlRE9NT2JqZWN0RXhjaXRp
bmdBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVl
RnVuYz4oMCkgfSB9LAorICAgIHsgImV4Y2l0aW5nQXR0ciIsIFJlYWRPbmx5IHwgQ3VzdG9tQWNj
ZXNzb3IsIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYz4oanNUZXN0QWN0aXZlRE9NT2JqZWN0RXhjaXRpbmdBdHRyKSwgKGludHB0
cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAog
fTsKIAogc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RBY3RpdmVET01PYmplY3RUYWJsZSA9
IHsgMiwgMywgdHJ1ZSwgSlNUZXN0QWN0aXZlRE9NT2JqZWN0VGFibGVWYWx1ZXMsIEpTVGVzdEFj
dGl2ZURPTU9iamVjdFRhYmxlSW5kZXggfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKaW5kZXggMDkz
NDZlMy4uNWY4OWY4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKQEAgLTc0LDcgKzc0LDcgQEAg
c3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdEV4Y2VwdGlvblRhYmxl
SW5kZXhbMl0gPSB7CiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RFeGNlcHRp
b25UYWJsZVZhbHVlc1tdID0KIHsKLSAgICB7ICJuYW1lIiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
IHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0RXhjZXB0aW9uTmFtZSksIChpbnRwdHJf
dCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAg
ICB7ICJuYW1lIiwgUmVhZE9ubHkgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIHsgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RFeGNl
cHRpb25OYW1lKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZh
bHVlRnVuYz4oMCkgfSB9LAogfTsKIAogc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RFeGNl
cHRpb25UYWJsZSA9IHsgMSwgMSwgdHJ1ZSwgSlNUZXN0RXhjZXB0aW9uVGFibGVWYWx1ZXMsIEpT
VGVzdEV4Y2VwdGlvblRhYmxlSW5kZXggfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggMGYyODhhMS4uOWFjZDRl
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE9iai5jcHAKQEAgLTQwMiw3ICs0MDIsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxl
VmFsdWUgSlNUZXN0T2JqVGFibGVWYWx1ZXNbXSA9CiAjZWxzZQogICAgIHsgMCwgMCwgTm9JbnRy
aW5zaWMsIHsgMCwgMCB9IH0sCiAjZW5kaWYKLSAgICB7ICJjb250ZW50RG9jdW1lbnQiLCBEb250
RGVsZXRlIHwgUmVhZE9ubHkgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIHsgKGludHB0
cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpDb250
ZW50RG9jdW1lbnQpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0
VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAiY29udGVudERvY3VtZW50IiwgUmVhZE9ubHkgfCBD
dXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3Bl
cnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpDb250ZW50RG9jdW1lbnQpLCAoaW50cHRy
X3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCiB9
OwogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdE9ialRhYmxlID0geyA1LCAxNSwgdHJ1
ZSwgSlNUZXN0T2JqVGFibGVWYWx1ZXMsIEpTVGVzdE9ialRhYmxlSW5kZXggfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270832</attachid>
            <date>2016-02-07 14:52:22 -0800</date>
            <delta_ts>2016-02-08 21:12:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-153920-20160207145159.patch</filename>
            <type>text/plain</type>
            <size>34532</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2MjM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
NjQyZjNiZWIyZDY2ZjcwNzIzOTM5MWIxNDY1MmUyZmViYzI1ZjdlLi40M2E5ZjI4MDE0ZTM2MTZl
MTk4OTY5NGRlYjc4MTEyNDIxZWI4ZDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NyBAQAorMjAxNi0wMi0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIEF0dHJpYnV0ZXMgb24gdGhlIFdpbmRvdyBpbnN0YW5jZSBzaG91bGQgYmUgY29u
ZmlndXJhYmxlIHVubGVzcyBbVW5mb3JnZWFibGVdCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM5MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNYXJraW5nIHRoZSBXaW5kb3cgaW5zdGFuY2UgYXR0cmli
dXRlcyBhcyBjb25maWd1cmFibGUgYnV0IGNhdXNlCisgICAgICAgIGdldE93blByb3BlcnR5RGVz
Y3JpcHRvcigpIHRvIHJlcG9ydCB0aGVtIGFzIGNvbmZpZ3VyYWJsZSwgYXMKKyAgICAgICAgZXhw
ZWN0ZWQuIEhvd2V2ZXIsIHRyeWluZyB0byBkZWxldGUgdGhlbSB3b3VsZCBhY3R1YWxseSBsZWFk
IHRvCisgICAgICAgIHVuZXhwZWN0ZWQgYmVoYXZpb3IgYmVjYXVzZToKKyAgICAgICAgLSBXZSBk
aWQgbm90IHJlaWZ5IGN1c3RvbSBhY2Nlc3NvciBwcm9wZXJ0aWVzIChtb3N0IG9mIHRoZSBXaW5k
b3cKKyAgICAgICAgICBwcm9wZXJ0aWVzIGFyZSBjdXN0b20gYWNjZXNzb3JzKSB1cG9uIGRlbGV0
aW9uLgorICAgICAgICAtIEZvciBub24tcmVpZmllZCBzdGF0aWMgcHJvcGVydGllcyBtYXJrZWQg
YXMgY29uZmlndXJhYmxlLAorICAgICAgICAgIEpTT2JqZWN0OjpkZWxldGVQcm9wZXJ0eSgpIHdv
dWxkIGF0dGVtcHQgdG8gY2FsbCB0aGUgcHJvcGVydHkKKyAgICAgICAgICBzZXR0ZXIgd2l0aCB1
bmRlZmluZWQuIEFzIGEgcmVzdWx0LCBjYWxsaW5nIGRlbGV0ZSB3aW5kb3cubmFtZQorICAgICAg
ICAgIHdvdWxkIGNhdXNlIHdpbmRvdy5uYW1lIHRvIGJlY29tZSB0aGUgc3RyaW5nICJ1bmRlZmlu
ZWQiIGluc3RlYWQKKyAgICAgICAgICBvZiB0aGUgdW5kZWZpbmVkIHZhbHVlLgorCisgICAgICAg
ICogcnVudGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OmdldENsYXNzUHJvcGVydHlO
YW1lcyk6CisgICAgICAgIE5vdyB0aGF0IHdlIHJlaWZ5IEFMTCBwcm9wZXJ0aWVzLCB3ZSBvbmx5
IG5lZWQgdG8gY2hlY2sgdGhlIHByb3BlcnR5IHRhYmxlCisgICAgICAgIGlmIHdlIGhhdmUgbm90
IHJlaWZpZWQuIEFzIGEgcmVzdWx0LCBJIGRyb3BwZWQgdGhlICdkaWRSZWlmeScgcGFyYW1ldGVy
IGZvcgorICAgICAgICB0aGlzIGZ1bmN0aW9uIGFuZCBpbnN0ZWFkIG9ubHkgY2FsbCB0aGlzIGZ1
bmN0aW9uIGlmIHdlIGhhdmUgbm90IHlldCByZWlmaWVkLgorCisgICAgICAgIChKU0M6OkpTT2Jq
ZWN0OjpwdXRJbmxpbmVTbG93KToKKyAgICAgICAgT25seSBjYWxsIHB1dEVudHJ5KCkgaWYgd2Ug
aGF2ZSBub3QgcmVpZmllZDogRHJvcCB0aGUKKyAgICAgICAgJ3x8ICEoZW50cnktPmF0dHJpYnV0
ZXMoKSAmIEJ1aWx0aW5PckZ1bmN0aW9uT3JBY2Nlc3NvciknCisgICAgICAgIGNoZWNrIGFzIHN1
Y2ggcHJvcGVydGllcyBub3cgZ2V0IHJlaWZpZWQgYXMgd2VsbC4KKworICAgICAgICAoSlNDOjpK
U09iamVjdDo6ZGVsZXRlUHJvcGVydHkpOgorICAgICAgICAtIENhbGwgcmVpZnlBbGxTdGF0aWNQ
cm9wZXJ0aWVzKCkgaW5zdGVhZCBvZiByZWlmeVN0YXRpY0Z1bmN0aW9uc0ZvckRlbGV0ZSgpCisg
ICAgICAgICAgc28gdGhhdCB3ZSBub3cgcmVpZnkgYWxsIHByb3BlcnRpZXMgdXBvbiBkZWxldGlv
biwgaW5jbHVkaW5nIHRoZSBjdXN0b20KKyAgICAgICAgICBhY2Nlc3NvcnMuIHJlaWZ5U3RhdGlj
RnVuY3Rpb25zRm9yRGVsZXRlKCkgaXMgbm93IHJlbW92ZWQgYW5kIHRoZSBzYW1lCisgICAgICAg
ICAgcmVpZmljYXRpb24gZnVuY3Rpb24gaXMgbm93IHVzZWQgYnk6IGRlbGV0aW9uLCBnZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoKQorICAgICAgICAgIGFuZCBlYWdlciByZWlmaWNhdGlvbiBvZiB0
aGUgcHJvdG90eXBlIG9iamVjdHMgaW4gdGhlIGJpbmRpbmdzLgorICAgICAgICAtIERyb3AgY29k
ZSB0aGF0IGZhbGxzIGJhY2sgdG8gY2FsbGluZyB0aGUgc3RhdGljIHByb3BlcnR5IHNldHRlciB3
aXRoCisgICAgICAgICAgdW5kZWZpbmVkIGlmIHdlIGNhbm5vdCBmaW5kIHRoZSBwcm9wZXJ0eSBp
biB0aGUgcHJvcGVydHkgc3RvcmFnZS4gQXMKKyAgICAgICAgICB3ZSBub3cgcmVpZnkgQUxMIHBy
b3BlcnRpZXMsIHRoZSBjb2RlIHJlbW92aW5nIHRoZSBwcm9wZXJ0eSBmcm9tIHRoZQorICAgICAg
ICAgIHByb3BlcnR5IHN0b3JhZ2Ugc2hvdWxkIHN1Y2NlZWQsIHByb3ZpZGVkIHRoYXQgdGhlIHBy
b3BlcnR5IGFjdHVhbGx5CisgICAgICAgICAgZXhpc3RzLgorCisgICAgICAgIChKU0M6OkpTT2Jq
ZWN0OjpnZXRPd25Ob25JbmRleFByb3BlcnR5TmFtZXMpOgorICAgICAgICBPbmx5IGNhbGwgZ2V0
Q2xhc3NQcm9wZXJ0eU5hbWVzKCkgaWYgd2UgaGF2ZSBub3QgcmVpZmllZC4gV2Ugc2hvdWxkIG5v
IGxvbmdlcgorICAgICAgICBjaGVjayB0aGUgc3RhdGljIHByb3BlcnR5IHRhYmxlIGFmdGVyIHJl
aWZ5aW5nIG5vdyB0aGF0IHdlIHJlaWZ5IGFsbAorICAgICAgICBwcm9wZXJ0aWVzLgorCisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjpyZWlmeUFsbFN0YXRpY1Byb3BlcnRpZXMpOgorICAgICAgICBN
ZXJnZSB3aXRoIHJlaWZ5U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKCkuIFRoZSBvbmx5IGJlaGF2
aW9yIGNoYW5nZSBpcyB0aGUKKyAgICAgICAgZmxhdHRlbmluZyB0byBhbiB1bmNhY2hlYWJsZSBk
aWN0aW9uYXJ5LCBsaWtlIHJlaWZ5U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKCkKKyAgICAgICAg
dXNlZCB0byBkby4KKworICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKwogMjAxNi0wMi0w
NiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEZUTCBtdXN0IHN0
b3JlIHRoZSBjYWxsIHNpdGUgaW5kZXggYmVmb3JlIHJ1bnRpbWUgY2FsbHMsIGV2ZW4gaWYgaXQn
cyB0aGUgdGFpbCBjYWxsIHNsb3cgcGF0aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDhkZDE3ZTgwZjVhNWRhYzlh
ZjZjNDE0M2UxNGMwZmZkZDIxZDc3YTguLjQ5YmUwYjY3YTgwYzdmMjM2OGI2NmZkMDliMmE5OThl
MDc2MWQwZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NyBAQAorMjAxNi0wMi0wNyAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEF0dHJpYnV0ZXMgb24gdGhlIFdp
bmRvdyBpbnN0YW5jZSBzaG91bGQgYmUgY29uZmlndXJhYmxlIHVubGVzcyBbVW5mb3JnZWFibGVd
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM5MjAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBdHRyaWJ1
dGVzIG9uIHRoZSBXaW5kb3cgaW5zdGFuY2Ugc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZSB1bmxlc3Mg
W1VuZm9yZ2VhYmxlXToKKyAgICAgICAgMS4gJ2NvbnN0cnVjdG9yJyBwcm9wZXJ0eToKKyAgICAg
ICAgICAgLSBodHRwOi8vd3d3LnczLm9yZy9UUi9XZWJJREwvI2ludGVyZmFjZS1wcm90b3R5cGUt
b2JqZWN0CisgICAgICAgIDIuIENvbnN0cnVjdG9yIHByb3BlcnRpZXMgKGUuZy4gd2luZG93Lk5v
ZGUpOgorICAgICAgICAgICAtIGh0dHA6Ly93d3cudzMub3JnL1RSL1dlYklETC8jZXMtaW50ZXJm
YWNlcworICAgICAgICAzLiBJREwgYXR0cmlidXRlczoKKyAgICAgICAgICAgLSBodHRwOi8vaGV5
Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2VzLWF0dHJpYnV0ZXMgKGNvbmZpZ3VyYWJsZSB1bmxlc3MK
KyAgICAgICAgICAgICBbVW5mb3JnZWFibGVdLCBlLmcuIHdpbmRvdy5sb2NhdGlvbikKKworICAg
ICAgICBGaXJlZm94IGNvbXBsaWVzIHdpdGggdGhlIFdlYklETCBzcGVjaWZpY2F0aW9uIGJ1dCBX
ZWJLaXQgZG9lcyBub3QgZm9yIDEuIGFuZCAzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL1dp
bmRvdy93aW5kb3ctcHJvcGVydGllcy1jb25maWd1cmFibGUuaHRtbAorCisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01X
aW5kb3c6OmdldE93blByb3BlcnR5U2xvdCk6CisgICAgICAgIE9ubHkgY2hlY2sgdGhlIHN0YXRp
YyBwcm9wZXJ0eSB0YWJsZSBpZiB3ZSBoYXZlIG5vdCByZWlmaWVkIHlldCwgb3RoZXJ3aXNlCisg
ICAgICAgIGRlbGV0ZWQgcHJvcGVydGllcyB3b3VsZCBtYWdpY2FsbHkgcmUtYXBwZWFyLgorCisg
ICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6cHV0KToKKyAgICAgICAgVGhlIHByZXZpb3Vz
IGNvZGUgdXNlZCB0byBjYWxsIHRoZSBzdGF0aWMgcHJvcGVydHkgc2V0dGVyIGZvciBwcm9wZXJ0
aWVzIGluCisgICAgICAgIHRoZSBzdGF0aWMgdGFibGUuIEhvd2V2ZXIsIHRoaXMgZG9lcyBub3Qg
ZG8gdGhlIHJpZ2h0IHRoaW5nIGlmIHByb3BlcnRpZXMKKyAgICAgICAgd2VyZSByZWlmaWVkLiBG
b3IgZXhhbXBsZSwgZGVsZXRpbmcgd2luZG93Lm5hbWUgYW5kIHRoZW4gdHJ5aW5nIHRvIHNldCBp
dAorICAgICAgICBhZ2FpbiB3b3VsZCBub3Qgd29yay4gVGhlcmVmb3JlLCB1cGRhdGUgdGhpcyBj
b2RlIHRvIG9ubHkgZG8gdGhpcyBpZiB0aGUKKyAgICAgICAgcHJvcGVydGllcyBoYXZlIG5vdCBi
ZWVuIHJlaWZpZWQsIHNpbWlsYXJseSB0byB3aGF0IGlzIGRvbmUgaW4KKyAgICAgICAgSlNPYmpl
Y3Q6OnB1dElubGluZVNsb3coKS4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckpTLnBtOgorICAgICAgICAoQ29uc3RydWN0b3JTaG91bGRCZU9uSW5zdGFuY2UpOgor
ICAgICAgICBBZGQgYSBGSVhNRSBjb21tZW50IGluZGljYXRpbmcgdGhhdCB3aW5kb3cuY29uc3Ry
dWN0b3Igc2hvdWxkIGJlIG9uCisgICAgICAgIHRoZSBwcm90b3R5cGUgYXMgcGVyIHRoZSBXZWIg
SURMIHNwZWNpZmljYXRpb24uCisKKyAgICAgICAgKEdlbmVyYXRlQXR0cmlidXRlc0hhc2hUYWJs
ZSk6CisgICAgICAgIC0gTWFyayAnY29uc3RydWN0b3InIHByb3BlcnR5IGFzIGNvbmZpZ3VyYWJs
ZSBmb3IgV2luZG93LCBhcyBwZXIgdGhlCisgICAgICAgICAgc3BlY2lmaWNhdGlvbiBhbmQgY29u
c2lzdGVudGx5IHdpdGggb3RoZXIgJ2NvbnN0cnVjdG9yJyBwcm9wZXJ0aWVzOgorICAgICAgICAg
IGh0dHA6Ly93d3cudzMub3JnL1RSL1dlYklETC8jaW50ZXJmYWNlLXByb3RvdHlwZS1vYmplY3QK
KyAgICAgICAgLSBNYXJrIHByb3BlcnRpZXMgYXMgY29uZmlndXJhYmxlIGV2ZW4gdGhvdWdoIHRo
ZXkgYXJlIG9uIHRoZSBpbnN0YW5jZS4KKyAgICAgICAgICBXaW5kb3cgaGFzIGl0cyBwcm9wZXJ0
aWVzIG9uIHRoZSBpbnN0YW5jZSBhcyBwZXIgdGhlIHNwZWNpZmljYXRpb246CisgICAgICAgICAg
MS4gaHR0cDovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNlcy1hdHRyaWJ1dGVzCisgICAgICAg
ICAgMi4gaHR0cDovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNQcmltYXJ5R2xvYmFsICh3aW5k
b3cgaXMgW1ByaW1hcnlHbG9iYWxdCisgICAgICAgICAgSG93ZXZlciwgdGhlc2UgcHJvcGVydGll
cyBzaG91bGQgYmUgY29uZmlndXJhYmxlIGFzIGxvbmcgYXMgdGhleSBhcmUKKyAgICAgICAgICBu
b3QgbWFya2VkIGFzIFtVbmZvcmdlYWJsZV0sIGFzIHBlciAxLgorCisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHA6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHA6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgIFJlYmFzZWxp
bmUgYmluZGluZ3MgdGVzdHMuCisKIDIwMTYtMDItMDYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBQcmV2ZW50IGNyb3NzLW9yaWdpbiBhY2Nlc3MgdG8gd2luZG93
Lmhpc3RvcnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAppbmRl
eCA3ODM5YTAyNDdlMjBkNWZhNGI4Njk5MTU0Y2I0MDNlNTM3OTI1MzEzLi44ZTUxODgwM2RjNDk4
NDNmNGI1ZjBjMzE4YWNmMjdhYzVhZGJmOGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuY3BwCkBAIC02OCw3ICs2OCw3IEBAIGNvbnN0IENsYXNzSW5mbyBKU09i
amVjdDo6c19pbmZvID0geyAiT2JqZWN0IiwgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU09i
amVjCiAKIGNvbnN0IENsYXNzSW5mbyBKU0ZpbmFsT2JqZWN0OjpzX2luZm8gPSB7ICJPYmplY3Qi
LCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTRmluYWxPYmplY3QpIH07
CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBnZXRDbGFzc1Byb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgUHJvcGVydHlOYW1lQXJyYXkmIHByb3Bl
cnR5TmFtZXMsIEVudW1lcmF0aW9uTW9kZSBtb2RlLCBib29sIGRpZFJlaWZ5KQorc3RhdGljIGlu
bGluZSB2b2lkIGdldENsYXNzUHJvcGVydHlOYW1lcyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IENs
YXNzSW5mbyogY2xhc3NJbmZvLCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywgRW51
bWVyYXRpb25Nb2RlIG1vZGUpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKIApAQCAtNzks
NyArNzksNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZ2V0Q2xhc3NQcm9wZXJ0eU5hbWVzKEV4ZWNT
dGF0ZSogZXhlYywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzcwogICAgICAgICAgICAgY29udGludWU7
CiAKICAgICAgICAgZm9yIChhdXRvIGl0ZXIgPSB0YWJsZS0+YmVnaW4oKTsgaXRlciAhPSB0YWJs
ZS0+ZW5kKCk7ICsraXRlcikgewotICAgICAgICAgICAgaWYgKCghKGl0ZXItPmF0dHJpYnV0ZXMo
KSAmIERvbnRFbnVtKSB8fCBtb2RlLmluY2x1ZGVEb250RW51bVByb3BlcnRpZXMoKSkgJiYgISgo
aXRlci0+YXR0cmlidXRlcygpICYgQnVpbHRpbk9yRnVuY3Rpb25PckFjY2Vzc29yKSAmJiBkaWRS
ZWlmeSkpCisgICAgICAgICAgICBpZiAoIShpdGVyLT5hdHRyaWJ1dGVzKCkgJiBEb250RW51bSkg
fHwgbW9kZS5pbmNsdWRlRG9udEVudW1Qcm9wZXJ0aWVzKCkpCiAgICAgICAgICAgICAgICAgcHJv
cGVydHlOYW1lcy5hZGQoSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sIGl0ZXIua2V5KCkpKTsK
ICAgICAgICAgfQogICAgIH0KQEAgLTQxMCwxMCArNDEwLDkgQEAgdm9pZCBKU09iamVjdDo6cHV0
SW5saW5lU2xvdyhFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpT
VmFsdWUKICAgICAgICAgICAgIC8vIHByb3RvdHlwZXMgaXQgc2hvdWxkIGJlIHJlcGxhY2VkLCBz
byBicmVhayBoZXJlLgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgY29u
c3QgQ2xhc3NJbmZvKiBpbmZvID0gb2JqLT5jbGFzc0luZm8oKTsKLSAgICAgICAgaWYgKGluZm8t
Pmhhc1N0YXRpY1NldHRlck9yUmVhZG9ubHlQcm9wZXJ0aWVzKCkpIHsKLSAgICAgICAgICAgIGlm
IChjb25zdCBIYXNoVGFibGVWYWx1ZSogZW50cnkgPSBvYmotPmZpbmRQcm9wZXJ0eUhhc2hFbnRy
eShwcm9wZXJ0eU5hbWUpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFvYmotPnN0YXRpY0Z1bmN0
aW9uc1JlaWZpZWQoKSB8fCAhKGVudHJ5LT5hdHRyaWJ1dGVzKCkgJiBCdWlsdGluT3JGdW5jdGlv
bk9yQWNjZXNzb3IpKSB7CisgICAgICAgIGlmICghb2JqLT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVk
KCkpIHsKKyAgICAgICAgICAgIGlmIChvYmotPmNsYXNzSW5mbygpLT5oYXNTdGF0aWNTZXR0ZXJP
clJlYWRvbmx5UHJvcGVydGllcygpKSB7CisgICAgICAgICAgICAgICAgaWYgKGF1dG8qIGVudHJ5
ID0gb2JqLT5maW5kUHJvcGVydHlIYXNoRW50cnkocHJvcGVydHlOYW1lKSkgewogICAgICAgICAg
ICAgICAgICAgICBwdXRFbnRyeShleGVjLCBlbnRyeSwgb2JqLCBwcm9wZXJ0eU5hbWUsIHZhbHVl
LCBzbG90KTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0K
QEAgLTEyODQsMzMgKzEyODMsMTkgQEAgYm9vbCBKU09iamVjdDo6aGFzUHJvcGVydHkoRXhlY1N0
YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpIGNvbnN0CiBib29sIEpTT2JqZWN0Ojpk
ZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1l
IHByb3BlcnR5TmFtZSkKIHsKICAgICBKU09iamVjdCogdGhpc09iamVjdCA9IGpzQ2FzdDxKU09i
amVjdCo+KGNlbGwpOworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgCiAgICAgaWYgKE9w
dGlvbmFsPHVpbnQzMl90PiBpbmRleCA9IHBhcnNlSW5kZXgocHJvcGVydHlOYW1lKSkKLSAgICAg
ICAgcmV0dXJuIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxlKGV4ZWMtPnZtKCkpLT5kZWxldGVQcm9w
ZXJ0eUJ5SW5kZXgodGhpc09iamVjdCwgZXhlYywgaW5kZXgudmFsdWUoKSk7CisgICAgICAgIHJl
dHVybiB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSh2bSktPmRlbGV0ZVByb3BlcnR5QnlJbmRleCh0
aGlzT2JqZWN0LCBleGVjLCBpbmRleC52YWx1ZSgpKTsKIAogICAgIGlmICghdGhpc09iamVjdC0+
c3RhdGljRnVuY3Rpb25zUmVpZmllZCgpKQotICAgICAgICB0aGlzT2JqZWN0LT5yZWlmeVN0YXRp
Y0Z1bmN0aW9uc0ZvckRlbGV0ZShleGVjKTsKKyAgICAgICAgdGhpc09iamVjdC0+cmVpZnlBbGxT
dGF0aWNQcm9wZXJ0aWVzKGV4ZWMpOwogCiAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKLSAgICBW
TSYgdm0gPSBleGVjLT52bSgpOwogICAgIGlmIChpc1ZhbGlkT2Zmc2V0KHRoaXNPYmplY3QtPnN0
cnVjdHVyZSh2bSktPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKSkpIHsKICAgICAg
ICAgaWYgKGF0dHJpYnV0ZXMgJiBEb250RGVsZXRlICYmICF2bS5pc0luRGVmaW5lT3duUHJvcGVy
dHkoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgdGhpc09iamVjdC0+cmVt
b3ZlRGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWUpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
Ci0KLSAgICAvLyBMb29rIGluIHRoZSBzdGF0aWMgaGFzaHRhYmxlIG9mIHByb3BlcnRpZXMKLSAg
ICBjb25zdCBIYXNoVGFibGVWYWx1ZSogZW50cnkgPSB0aGlzT2JqZWN0LT5maW5kUHJvcGVydHlI
YXNoRW50cnkocHJvcGVydHlOYW1lKTsKLSAgICBpZiAoZW50cnkpIHsKLSAgICAgICAgaWYgKGVu
dHJ5LT5hdHRyaWJ1dGVzKCkgJiBEb250RGVsZXRlICYmICF2bS5pc0luRGVmaW5lT3duUHJvcGVy
dHkoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gdGhpcyBidWlsdGluIHByb3BlcnR5
IGNhbid0IGJlIGRlbGV0ZWQKLQotICAgICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdCh0aGlzT2Jq
ZWN0KTsKLSAgICAgICAgaWYgKCEoZW50cnktPmF0dHJpYnV0ZXMoKSAmIEJ1aWx0aW5PckZ1bmN0
aW9uT3JBY2Nlc3NvcikpIHsKLSAgICAgICAgICAgIEFTU0VSVCh0aGlzT2JqZWN0LT5zdGF0aWNG
dW5jdGlvbnNSZWlmaWVkKCkpOwotICAgICAgICAgICAgcHV0RW50cnkoZXhlYywgZW50cnksIHRo
aXNPYmplY3QsIHByb3BlcnR5TmFtZSwganNVbmRlZmluZWQoKSwgc2xvdCk7Ci0gICAgICAgIH0K
ICAgICB9CiAKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTE2MTMsNyArMTU5OCw4IEBAIHZvaWQgSlNP
YmplY3Q6OmdldE93blByb3BlcnR5TmFtZXMoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBl
eGVjLCBQcm9wZXJ0eU5hCiAKIHZvaWQgSlNPYmplY3Q6OmdldE93bk5vbkluZGV4UHJvcGVydHlO
YW1lcyhKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZUFycmF5
JiBwcm9wZXJ0eU5hbWVzLCBFbnVtZXJhdGlvbk1vZGUgbW9kZSkKIHsKLSAgICBnZXRDbGFzc1By
b3BlcnR5TmFtZXMoZXhlYywgb2JqZWN0LT5jbGFzc0luZm8oKSwgcHJvcGVydHlOYW1lcywgbW9k
ZSwgb2JqZWN0LT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpOworICAgIGlmICghb2JqZWN0LT5z
dGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpCisgICAgICAgIGdldENsYXNzUHJvcGVydHlOYW1lcyhl
eGVjLCBvYmplY3QtPmNsYXNzSW5mbygpLCBwcm9wZXJ0eU5hbWVzLCBtb2RlKTsKIAogICAgIGlm
ICghbW9kZS5pbmNsdWRlSlNPYmplY3RQcm9wZXJ0aWVzKCkpCiAgICAgICAgIHJldHVybjsKQEAg
LTE2NjcsOSArMTY1Myw3IEBAIHZvaWQgSlNPYmplY3Q6OnByZXZlbnRFeHRlbnNpb25zKFZNJiB2
bSkKICAgICBzZXRTdHJ1Y3R1cmUodm0sIFN0cnVjdHVyZTo6cHJldmVudEV4dGVuc2lvbnNUcmFu
c2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pKSk7CiB9CiAKLS8vIFRoaXMgcHJlc2VudGx5IHdpbGwg
ZmxhdHRlbiB0byBhbiB1bmNhY2hhYmxlIGRpY3Rpb25hcnk7IHRoaXMgaXMgc3VpdGFibGUKLS8v
IGZvciB1c2UgaW4gZGVsZXRlLCB3ZSBtYXkgd2FudCB0byBkbyBzb21ldGhpbmcgZGlmZmVyZW50
IGVsc2V3aGVyZS4KLXZvaWQgSlNPYmplY3Q6OnJlaWZ5U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRl
KEV4ZWNTdGF0ZSogZXhlYykKK3ZvaWQgSlNPYmplY3Q6OnJlaWZ5QWxsU3RhdGljUHJvcGVydGll
cyhFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgQVNTRVJUKCFzdGF0aWNGdW5jdGlvbnNSZWlmaWVk
KCkpOwogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CkBAIC0xNjg4LDI0ICsxNjcyLDYgQEAgdm9p
ZCBKU09iamVjdDo6cmVpZnlTdGF0aWNGdW5jdGlvbnNGb3JEZWxldGUoRXhlY1N0YXRlKiBleGVj
KQogICAgICAgICBjb25zdCBIYXNoVGFibGUqIGhhc2hUYWJsZSA9IGluZm8tPnN0YXRpY1Byb3BI
YXNoVGFibGU7CiAgICAgICAgIGlmICghaGFzaFRhYmxlKQogICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgIFByb3BlcnR5U2xvdCBzbG90KHRoaXMpOwotICAgICAgICBmb3IgKGF1dG8gaXRl
ciA9IGhhc2hUYWJsZS0+YmVnaW4oKTsgaXRlciAhPSBoYXNoVGFibGUtPmVuZCgpOyArK2l0ZXIp
IHsKLSAgICAgICAgICAgIGlmIChpdGVyLT5hdHRyaWJ1dGVzKCkgJiBCdWlsdGluT3JGdW5jdGlv
bk9yQWNjZXNzb3IpCi0gICAgICAgICAgICAgICAgc2V0VXBTdGF0aWNGdW5jdGlvblNsb3QoZ2xv
YmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKSwgaXRlci52YWx1ZSgpLCB0aGlzLCBJZGVudGlmaWVy
Ojpmcm9tU3RyaW5nKCZ2bSwgaXRlci5rZXkoKSksIHNsb3QpOwotICAgICAgICB9Ci0gICAgfQot
Ci0gICAgc3RydWN0dXJlKHZtKS0+c2V0U3RhdGljRnVuY3Rpb25zUmVpZmllZCh0cnVlKTsKLX0K
LQotdm9pZCBKU09iamVjdDo6cmVpZnlBbGxTdGF0aWNQcm9wZXJ0aWVzKEV4ZWNTdGF0ZSogZXhl
YykKLXsKLSAgICBWTSYgdm0gPSBleGVjLT52bSgpOwotCi0gICAgZm9yIChjb25zdCBDbGFzc0lu
Zm8qIGluZm8gPSBjbGFzc0luZm8oKTsgaW5mbzsgaW5mbyA9IGluZm8tPnBhcmVudENsYXNzKSB7
Ci0gICAgICAgIGNvbnN0IEhhc2hUYWJsZSogaGFzaFRhYmxlID0gaW5mby0+c3RhdGljUHJvcEhh
c2hUYWJsZTsKLSAgICAgICAgaWYgKCFoYXNoVGFibGUpCi0gICAgICAgICAgICBjb250aW51ZTsK
IAogICAgICAgICBmb3IgKGF1dG8gaXRlciA9IGhhc2hUYWJsZS0+YmVnaW4oKTsgaXRlciAhPSBo
YXNoVGFibGUtPmVuZCgpOyArK2l0ZXIpIHsKICAgICAgICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0
ZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAppbmRleCBjYzlmY2Ew
Njc4Zjk2N2ZkZTc0OTViZGE1ZTVkMWRmMzQxNWY4ZTY0Li4wNGIyNjVlZTYwOWM1N2Y3OGFlYWRj
NTgwMjRiZDM4MGVhZjkxNjg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0LmgKQEAgLTYyMyw3ICs2MjMsNiBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgYm9vbCBzdGF0
aWNGdW5jdGlvbnNSZWlmaWVkKCkgeyByZXR1cm4gc3RydWN0dXJlKCktPnN0YXRpY0Z1bmN0aW9u
c1JlaWZpZWQoKTsgfQotICAgIHZvaWQgcmVpZnlTdGF0aWNGdW5jdGlvbnNGb3JEZWxldGUoRXhl
Y1N0YXRlKik7CiAgICAgdm9pZCByZWlmeUFsbFN0YXRpY1Byb3BlcnRpZXMoRXhlY1N0YXRlKik7
CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBCdXR0ZXJmbHkqIGdyb3dPdXRPZkxpbmVTdG9yYWdl
KFZNJiwgc2l6ZV90IG9sZFNpemUsIHNpemVfdCBuZXdTaXplKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAppbmRleCAyMGRlOGI0MGQyNmJh
ZTAyYWNkYjQ2NWUxOThjMDgzODAyZjBjNDhjLi41YmViZjcwM2Q5YjI0ZWU2NDVhOGM2ZWVhMjcz
ZjJkYTc0NTE0ZTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dDdXN0b20uY3BwCkBAIC0yMDEsMTAgKzIwMSwxMiBAQCBib29sIEpTRE9NV2luZG93Ojpn
ZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9w
ZXJ0eQogICAgIH0KICNlbmRpZgogCi0gICAgY29uc3QgSGFzaFRhYmxlVmFsdWUqIGVudHJ5ID0g
SlNET01XaW5kb3c6OmluZm8oKS0+c3RhdGljUHJvcEhhc2hUYWJsZS0+ZW50cnkocHJvcGVydHlO
YW1lKTsKLSAgICBpZiAoZW50cnkpIHsKLSAgICAgICAgc2xvdC5zZXRDYWNoZWFibGVDdXN0b20o
dGhpc09iamVjdCwgYWxsb3dzQWNjZXNzID8gZW50cnktPmF0dHJpYnV0ZXMoKSA6IFJlYWRPbmx5
IHwgRG9udERlbGV0ZSB8IERvbnRFbnVtLCBlbnRyeS0+cHJvcGVydHlHZXR0ZXIoKSk7Ci0gICAg
ICAgIHJldHVybiB0cnVlOworICAgIGlmICghdGhpc09iamVjdC0+c3RhdGljRnVuY3Rpb25zUmVp
ZmllZCgpKSB7CisgICAgICAgIGNvbnN0IEhhc2hUYWJsZVZhbHVlKiBlbnRyeSA9IEpTRE9NV2lu
ZG93OjppbmZvKCktPnN0YXRpY1Byb3BIYXNoVGFibGUtPmVudHJ5KHByb3BlcnR5TmFtZSk7Cisg
ICAgICAgIGlmIChlbnRyeSkgeworICAgICAgICAgICAgc2xvdC5zZXRDYWNoZWFibGVDdXN0b20o
dGhpc09iamVjdCwgYWxsb3dzQWNjZXNzID8gZW50cnktPmF0dHJpYnV0ZXMoKSA6IFJlYWRPbmx5
IHwgRG9udERlbGV0ZSB8IERvbnRFbnVtLCBlbnRyeS0+cHJvcGVydHlHZXR0ZXIoKSk7CisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQogICAgIH0KIAogI2lmIEVOQUJMRShVU0VS
X01FU1NBR0VfSEFORExFUlMpCkBAIC0zNjUsOCArMzY3LDEwIEBAIHZvaWQgSlNET01XaW5kb3c6
OnB1dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSwKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChsb29rdXBQdXQoZXhlYywg
cHJvcGVydHlOYW1lLCB0aGlzT2JqZWN0LCB2YWx1ZSwgKnNfaW5mby5zdGF0aWNQcm9wSGFzaFRh
YmxlLCBzbG90KSkKLSAgICAgICAgcmV0dXJuOworICAgIGlmICghdGhpc09iamVjdC0+c3RhdGlj
RnVuY3Rpb25zUmVpZmllZCgpKSB7CisgICAgICAgIGlmIChsb29rdXBQdXQoZXhlYywgcHJvcGVy
dHlOYW1lLCB0aGlzT2JqZWN0LCB2YWx1ZSwgKnNfaW5mby5zdGF0aWNQcm9wSGFzaFRhYmxlLCBz
bG90KSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBpZiAoQmluZGluZ1NlY3Vy
aXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KGV4ZWMsIHRoaXNPYmplY3QtPndyYXBw
ZWQoKSkpCiAgICAgICAgIEJhc2U6OnB1dCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUs
IHZhbHVlLCBzbG90KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG0KaW5kZXggYjRjMmE4NTM4YmY5YzdiYTI5MTM2Y2FhNTc2MTc3NTM3
NmM2NmVlNC4uNjhhZDdkMzE5YTcwZTdlNTdhMDYwYzM0NzQ3ODE4YWE5M2Y0NzA1ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0K
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0K
QEAgLTY4NSw2ICs2ODUsOCBAQCBzdWIgQ29uc3RydWN0b3JTaG91bGRCZU9uSW5zdGFuY2UKIHsK
ICAgICBteSAkaW50ZXJmYWNlID0gc2hpZnQ7CiAKKyAgICAjIEZJWE1FOiBjb25zdHJ1Y3RvciBz
aG91bGQgYWx3YXlzIGJlIG9uIHRoZSBwcm90b3R5cGU6CisgICAgIyBodHRwOi8vd3d3LnczLm9y
Zy9UUi9XZWJJREwvI2ludGVyZmFjZS1wcm90b3R5cGUtb2JqZWN0CiAgICAgcmV0dXJuIDEgaWYg
JGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNrU2VjdXJpdHkifTsKICAgICBy
ZXR1cm4gMDsKIH0KQEAgLTEzNTcsMTMgKzEzNTksNyBAQCBzdWIgR2VuZXJhdGVBdHRyaWJ1dGVz
SGFzaFRhYmxlCiAKICAgICAgICAgICAgIG15ICRzZXR0ZXIgPSAic2V0SlMiIC4gJGludGVyZmFj
ZU5hbWUgLiAiQ29uc3RydWN0b3IiOwogICAgICAgICAgICAgcHVzaChAJGhhc2hWYWx1ZTIsICRz
ZXR0ZXIpOwotCi0gICAgICAgICAgICAjIEZJWE1FOiBEbyB3ZSByZWFsbHkgbmVlZCB0byBzcGVj
aWFsLWNhc2UgRE9NV2luZG93PwotICAgICAgICAgICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJE
T01XaW5kb3ciKSB7Ci0gICAgICAgICAgICAgICAgcHVzaChAJGhhc2hTcGVjaWFscywgIkRvbnRF
bnVtIHwgRG9udERlbGV0ZSIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICBwdXNoKEAkaGFzaFNwZWNpYWxzLCAiRG9udEVudW0iKTsKLSAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIHB1c2goQCRoYXNoU3BlY2lhbHMsICJEb250RW51bSIpOwogICAgICAgICB9CiAgICAg
fQogCkBAIC0xMzc2LDEzICsxMzcyLDExIEBAIHN1YiBHZW5lcmF0ZUF0dHJpYnV0ZXNIYXNoVGFi
bGUKICAgICAgICAgcHVzaChAJGhhc2hLZXlzLCAkbmFtZSk7CiAKICAgICAgICAgbXkgQHNwZWNp
YWxzID0gKCk7Ci0gICAgICAgICMgQXMgcGVyIFdlYiBJREwgc3BlY2lmaWNhdGlvbiwgY29uc3Ry
dWN0b3IgcHJvcGVydGllcyBvbiB0aGUgRUNNQVNjcmlwdCBnbG9iYWwgb2JqZWN0IHNob3VsZCBi
ZQotICAgICAgICAjIGNvbmZpZ3VyYWJsZSBhbmQgc2hvdWxkIG5vdCBiZSBlbnVtZXJhYmxlLgot
ICAgICAgICBteSAkaXNfZ2xvYmFsX2NvbnN0cnVjdG9yID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJl
LT50eXBlID1+IC9Db25zdHJ1Y3RvciQvOwotCi0gICAgICAgIHB1c2goQHNwZWNpYWxzLCAiRG9u
dERlbGV0ZSIpIGlmICgkaXNJbnN0YW5jZSAmJiAhJGlzX2dsb2JhbF9jb25zdHJ1Y3RvcikgfHwg
JGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVW5mb3JnZWFibGUi
fQorICAgICAgICBwdXNoKEBzcGVjaWFscywgIkRvbnREZWxldGUiKSBpZiAkYXR0cmlidXRlLT5z
aWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJVbmZvcmdlYWJsZSJ9CiAgICAgICAgICAg
ICB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVW5mb3JnZWFibGUifTsKIAor
ICAgICAgICAjIEFzIHBlciBXZWIgSURMIHNwZWNpZmljYXRpb24sIGNvbnN0cnVjdG9yIHByb3Bl
cnRpZXMgb24gdGhlIEVDTUFTY3JpcHQgZ2xvYmFsIG9iamVjdCBzaG91bGQgbm90IGJlIGVudW1l
cmFibGUuCisgICAgICAgIG15ICRpc19nbG9iYWxfY29uc3RydWN0b3IgPSAkYXR0cmlidXRlLT5z
aWduYXR1cmUtPnR5cGUgPX4gL0NvbnN0cnVjdG9yJC87CiAgICAgICAgIHB1c2goQHNwZWNpYWxz
LCAiRG9udEVudW0iKSBpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiTm90RW51bWVyYWJsZSJ9IHx8ICRpc19nbG9iYWxfY29uc3RydWN0b3IpOwogICAgICAg
ICBwdXNoKEBzcGVjaWFscywgIlJlYWRPbmx5IikgaWYgSXNSZWFkb25seSgkYXR0cmlidXRlKTsK
ICAgICAgICAgcHVzaChAc3BlY2lhbHMsICJDdXN0b21BY2Nlc3NvciIpIHVubGVzcyAkaXNfZ2xv
YmFsX2NvbnN0cnVjdG9yIG9yIElzSlNCdWlsdGluKCRpbnRlcmZhY2UsICRhdHRyaWJ1dGUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEFjdGl2ZURPTU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAppbmRleCAwNjExZGYzZjI2NjE2NDEzNDFh
MDgwNjhmNWU1ZGI3NGU4OTUwMDU3Li5kYzM1ODU5NzczMjkxMGVhODU0NTUzMmRhOGI1NDVmMWQ3
YjJlNmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcApAQCAtODMsNyArODMs
NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0QWN0aXZlRE9N
T2JqZWN0VGFibGVJbmRleFs0XSA9IHsKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rl
c3RBY3RpdmVET01PYmplY3RUYWJsZVZhbHVlc1tdID0KIHsKICAgICB7ICJjb25zdHJ1Y3RvciIs
IERvbnRFbnVtLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlT
bG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEFjdGl2ZURPTU9iamVjdENvbnN0cnVjdG9yKSwgKGlu
dHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNU
ZXN0QWN0aXZlRE9NT2JqZWN0Q29uc3RydWN0b3IpIH0gfSwKLSAgICB7ICJleGNpdGluZ0F0dHIi
LCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIHsg
KGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RB
Y3RpdmVET01PYmplY3RFeGNpdGluZ0F0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFBy
b3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAiZXhjaXRpbmdBdHRyIiwg
UmVhZE9ubHkgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRp
Y19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RBY3RpdmVET01PYmplY3RF
eGNpdGluZ0F0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0
VmFsdWVGdW5jPigwKSB9IH0sCiB9OwogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEFj
dGl2ZURPTU9iamVjdFRhYmxlID0geyAyLCAzLCB0cnVlLCBKU1Rlc3RBY3RpdmVET01PYmplY3RU
YWJsZVZhbHVlcywgSlNUZXN0QWN0aXZlRE9NT2JqZWN0VGFibGVJbmRleCB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhj
ZXB0aW9uLmNwcAppbmRleCAwOTM0NmUzYzQ5ODFkMTg1ODAxZTQ5MjU3Y2Q5M2ZkYzEyZDczZTIy
Li41Zjg5ZjhlMzg1YTkwZWFkNjYyY2RjYTc3NDJiYTc3MDVkNzg5NDMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhj
ZXB0aW9uLmNwcApAQCAtNzQsNyArNzQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RI
YXNoSW5kZXggSlNUZXN0RXhjZXB0aW9uVGFibGVJbmRleFsyXSA9IHsKIAogc3RhdGljIGNvbnN0
IEhhc2hUYWJsZVZhbHVlIEpTVGVzdEV4Y2VwdGlvblRhYmxlVmFsdWVzW10gPQogewotICAgIHsg
Im5hbWUiLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5z
aWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihq
c1Rlc3RFeGNlcHRpb25OYW1lKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsgIm5hbWUiLCBSZWFkT25seSB8IEN1c3Rv
bUFjY2Vzc29yLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlT
bG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEV4Y2VwdGlvbk5hbWUpLCAoaW50cHRyX3QpIHN0YXRp
Y19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCiB9OwogCiBzdGF0
aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEV4Y2VwdGlvblRhYmxlID0geyAxLCAxLCB0cnVlLCBK
U1Rlc3RFeGNlcHRpb25UYWJsZVZhbHVlcywgSlNUZXN0RXhjZXB0aW9uVGFibGVJbmRleCB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
T2JqLmNwcAppbmRleCAwZjI4OGExZjY5MmFlMDY0OGY4OTMwNzcyM2ZjNmIyNzEwZTNhNzFkLi45
YWNkNGViN2Y3NzllYTQ5MzFjNDY4NTIxMmY2NWM0OTRmOWY2ZTllIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAt
NDAyLDcgKzQwMiw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpUYWJs
ZVZhbHVlc1tdID0KICNlbHNlCiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgeyAwLCAwIH0gfSwK
ICNlbmRpZgotICAgIHsgImNvbnRlbnREb2N1bWVudCIsIERvbnREZWxldGUgfCBSZWFkT25seSB8
IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakNvbnRlbnREb2N1bWVudCksIChpbnRw
dHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwK
KyAgICB7ICJjb250ZW50RG9jdW1lbnQiLCBSZWFkT25seSB8IEN1c3RvbUFjY2Vzc29yLCBOb0lu
dHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1
bmM+KGpzVGVzdE9iakNvbnRlbnREb2N1bWVudCksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0
UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKIH07CiAKIHN0YXRpYyBjb25zdCBI
YXNoVGFibGUgSlNUZXN0T2JqVGFibGUgPSB7IDUsIDE1LCB0cnVlLCBKU1Rlc3RPYmpUYWJsZVZh
bHVlcywgSlNUZXN0T2JqVGFibGVJbmRleCB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg1NGMyOGQzNjNkNDQ1NTRlZTRm
MzE4MjJmMTA2ZDIzZTMxOGNiN2IuLjJiYTA1YWRmNzk4ZmZkZWY3NGEyNmRjZThiMTE1MDRkMDRi
MTBmZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxNi0wMi0wNyAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEF0dHJpYnV0ZXMgb24gdGhlIFdpbmRvdyBpbnN0
YW5jZSBzaG91bGQgYmUgY29uZmlndXJhYmxlIHVubGVzcyBbVW5mb3JnZWFibGVdCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM5MjAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL1dpbmRv
dy93aW5kb3ctcHJvcGVydGllcy1jb25maWd1cmFibGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtY29uZmlndXJhYmxlLmh0
bWw6IEFkZGVkLgorICAgICAgICBBZGQgYSB0ZXN0IHRvIGNoZWNrIHRoYXQgV2luZG93IHByb3Bl
cnRpZXMgYXJlIHJlcG9ydGVkIGFzIGNvbmZpZ3VyYWJsZQorICAgICAgICB1bmxlc3MgdGhlIFtV
bmZvcmdlYWJsZV0gb25lcyBhbmQgdGhhdCBkZWxldGluZyB0aGVtIGFjdHVhbGx5IHdvcmtzLgor
CisgICAgICAgICogZmFzdC9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy5odG1sOgorICAgICAgICBV
cGRhdGUgdGVzdCBzbyBpdCBubyBsb25nZXIgZXhwZWN0cyB3aW5kb3cuTm9kZSB0byBiZSBzaGFk
b3dhYmxlLiBBcyBwZXIKKyAgICAgICAgdGhlIHNwZWNpZmljYXRpb24sIHRoZSAiTm9kZSIgcHJv
cGVydHkgaXMgb24gdGhlIHdpbmRvdyBpbnN0YW5jZSwgbm90IGl0cworICAgICAgICBwcm90b3R5
cGUuIFRoZXJlZm9yZSwgaXQgc2hvdWxkIGNhbm5vdCBiZSBzaGFkb3dlZCBhbmQgc2V0dGluZyBp
dCB0bworICAgICAgICBzb21ldGhpbmcgYWN0dWFsbHkgb3ZlcndpdGVzIHRoZSBwcmV2aW91cyB2
YWx1ZSwgZ2l2ZW4gdGhhdCB0aGUgcHJvcGVydHkKKyAgICAgICAgaXMgd3JpdGFibGUgYXMgcGVy
OgorICAgICAgICAtIGh0dHA6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jZXMtaW50ZXJmYWNl
cworICAgICAgICBJIGhhdmUgdmVyaWZpZWQgdGhhdCB0aGUgbmV3IGJlaGF2aW9yIGlzIGNvbnNp
c3RlbnQgd2l0aCBGaXJlZm94LgorCisgICAgICAgICoganMvZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yLXVuZm9yZ2VhYmxlLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGpzL2dl
dE93blByb3BlcnR5RGVzY3JpcHRvci11bmZvcmdlYWJsZS1hdHRyaWJ1dGVzLmh0bWw6CisgICAg
ICAgIERyb3Agd2luZG93LnNlbGYgZnJvbSB0aGUgbGlzdCBvZiB1bmZvcmdlYWJsZSBhdHRyaWJ1
dGVzLiBUaGlzIGF0dHJpYnV0ZQorICAgICAgICBpcyBub3QgdW5mb3JnZWFibGUgaW4gb3VyIGlt
cGxlbWVudGF0aW9uIG9yIGluIHRoZSBzcGVjaWZpY2F0aW9uOgorICAgICAgICAtIGh0dHBzOi8v
aHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2Jyb3dzZXJzLmh0bWwjdGhlLXdpbmRvdy1v
YmplY3QKKworICAgICAgICAqIGpzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0
cmlidXRlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICoganMvZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yLXdpbmRvdy1hdHRyaWJ1dGVzLmh0bWw6CisgICAgICAgIC0gQWRkIGNvdmVyYWdlIGZvciB3
aW5kb3cuc2VsZiB3aGljaCBpcyBhIHJlZ3VsYXIgV2luZG93IHByb3BlcnR5LgorICAgICAgICAt
IEFkZCBjb3ZlcmFnZSBmb3Igd2luZG93Lk5vZGUgd2hpY2ggaXMgYSBjb25zdHJ1Y3RvciBwcm9w
ZXJ0eQorICAgICAgICAtIEFkZCBjb3ZlcmFnZSBmb3Igd2luZG93LmNvbnN0cnVjdG9yLiBJdCBz
aG91bGQgcmVhbGx5IGJlIG9uIHRoZSBwcm90b3R5cGUKKyAgICAgICAgICBhcyBwZXIgdGhlIHNw
ZWNpZmljYXRpb24gYnV0IHRoaXMgYXQgbGVhc3QgY2hlY2tzIHRoYXQgdGhlIHByb3BlcnR5IGlz
CisgICAgICAgICAgY29uZmlndXJhYmxlLCBhcyBwZXIgdGhlIHNwZWNpZmljYXRpb24uCisgICAg
ICAgIC0gUmViYXNlbGluZSB0aGUgdGVzdCBhcyBtb3JlIGNoZWNrcyBhcmUgcGFzc2luZyBub3cg
dGhhdCBXaW5kb3cgcHJvcGVydGllcworICAgICAgICAgIGFyZSBtYXJrZWQgYXMgY29uZmlndXJh
YmxlLgorCiAyMDE2LTAyLTA2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgdXBkYXRlIHNldmVyYWwgbGF5b3V0IHRlc3RzIGZvciBXSzEgYWZ0
ZXIgcjE5NjIyNy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcHJvcGVydGllcy1jb25maWd1cmFibGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWNvbmZpZ3VyYWJsZS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYjg4MjZmYWU1ZmZhOWRlZTRiOGEzOWZiNGRlYmQ1YzAwYWIzMjc0OAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVy
dGllcy1jb25maWd1cmFibGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzcgQEAKK1Rlc3RzIHRo
YXQgV2luZG93IHByb3BlcnRpZXMgYXJlIGluZGVlZCBjb25maWd1cmFibGUgdW5sZXNzIFtVbmZv
cmdlYWJsZV0KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKyogUmVndWxhciBJREwg
YXR0cmlidXRlLgorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywg
J25hbWUnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyB3aW5kb3cubmFtZSBpcyAiIgorUEFT
UyBkZWxldGUgd2luZG93Lm5hbWUgaXMgdHJ1ZQorUEFTUyB3aW5kb3cubmFtZSBpcyB1bmRlZmlu
ZWQuCit3aW5kb3cubmFtZSA9IDMKK1BBU1Mgd2luZG93Lm5hbWUgaXMgMworUEFTUyBkZWxldGUg
d2luZG93Lm5hbWUgaXMgdHJ1ZQorUEFTUyB3aW5kb3cubmFtZSBpcyB1bmRlZmluZWQuCisKKyog
Q29uc3RydWN0b3IgYXR0cmlidXRlcy4KK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcih3aW5kb3csICdOb2RlJykuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1Mgd2luZG93Lk5v
ZGUgaXMgbm90IHVuZGVmaW5lZAorUEFTUyBkZWxldGUgd2luZG93Lk5vZGUgaXMgdHJ1ZQorUEFT
UyB3aW5kb3cuTm9kZSBpcyB1bmRlZmluZWQuCit3aW5kb3cuTm9kZSA9IDMKK1BBU1Mgd2luZG93
Lk5vZGUgaXMgMworUEFTUyBkZWxldGUgd2luZG93Lk5vZGUgaXMgdHJ1ZQorUEFTUyB3aW5kb3cu
Tm9kZSBpcyB1bmRlZmluZWQuCisKKyogW1VuZm9yZ2VhYmxlXSBJREwgYXR0cmlidXRlLgorUEFT
UyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ3dpbmRvdycpLmNvbmZp
Z3VyYWJsZSBpcyBmYWxzZQorUEFTUyB3aW5kb3cud2luZG93IGlzIG5vdCB1bmRlZmluZWQKK1BB
U1MgZGVsZXRlIHdpbmRvdy53aW5kb3cgaXMgZmFsc2UKK1BBU1Mgd2luZG93LndpbmRvdyBpcyBu
b3QgdW5kZWZpbmVkCit3aW5kb3cud2luZG93ID0gMworUEFTUyB3aW5kb3cud2luZG93IGlzIG5v
dCAzCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRp
ZXMtY29uZmlndXJhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMtY29uZmlndXJhYmxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBlYTE5MjMxMDgyNTIz
MTFiZmNlYmZmYTBmNzllOGM3NDdmNjQxMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1jb25maWd1cmFibGUuaHRtbApAQCAt
MCwwICsxLDQyIEBACis8IURPQ1lUUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBXaW5kb3cgcHJvcGVydGllcyBhcmUgaW5kZWVkIGNv
bmZpZ3VyYWJsZSB1bmxlc3MgW1VuZm9yZ2VhYmxlXSIpOworCitkZWJ1ZygiKiBSZWd1bGFyIElE
TCBhdHRyaWJ1dGUuIik7CitzaG91bGRCZVRydWUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3Iod2luZG93LCAnbmFtZScpLmNvbmZpZ3VyYWJsZSIpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ3aW5kb3cubmFtZSIsICIiKTsKK3Nob3VsZEJlVHJ1ZSgiZGVsZXRlIHdpbmRvdy5uYW1l
Iik7CitzaG91bGRCZVVuZGVmaW5lZCgid2luZG93Lm5hbWUiKTsKK2V2YWxBbmRMb2coIndpbmRv
dy5uYW1lID0gMyIpOworc2hvdWxkQmUoIndpbmRvdy5uYW1lIiwgIjMiKTsKK3Nob3VsZEJlVHJ1
ZSgiZGVsZXRlIHdpbmRvdy5uYW1lIik7CitzaG91bGRCZVVuZGVmaW5lZCgid2luZG93Lm5hbWUi
KTsKKworZGVidWcoIiIpOworZGVidWcoIiogQ29uc3RydWN0b3IgYXR0cmlidXRlcy4iKTsKK3No
b3VsZEJlVHJ1ZSgiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdOb2Rl
JykuY29uZmlndXJhYmxlIik7CitzaG91bGROb3RCZSgid2luZG93Lk5vZGUiLCAidW5kZWZpbmVk
Iik7CitzaG91bGRCZVRydWUoImRlbGV0ZSB3aW5kb3cuTm9kZSIpOworc2hvdWxkQmVVbmRlZmlu
ZWQoIndpbmRvdy5Ob2RlIik7CitldmFsQW5kTG9nKCJ3aW5kb3cuTm9kZSA9IDMiKTsKK3Nob3Vs
ZEJlKCJ3aW5kb3cuTm9kZSIsICIzIik7CitzaG91bGRCZVRydWUoImRlbGV0ZSB3aW5kb3cuTm9k
ZSIpOworc2hvdWxkQmVVbmRlZmluZWQoIndpbmRvdy5Ob2RlIik7CisKK2RlYnVnKCIiKTsKK2Rl
YnVnKCIqIFtVbmZvcmdlYWJsZV0gSURMIGF0dHJpYnV0ZS4iKTsKK3Nob3VsZEJlRmFsc2UoIk9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnd2luZG93JykuY29uZmlndXJh
YmxlIik7CitzaG91bGROb3RCZSgid2luZG93LndpbmRvdyIsICJ1bmRlZmluZWQiKTsKK3Nob3Vs
ZEJlRmFsc2UoImRlbGV0ZSB3aW5kb3cud2luZG93Iik7CitzaG91bGROb3RCZSgid2luZG93Lndp
bmRvdyIsICJ1bmRlZmluZWQiKTsKK2V2YWxBbmRMb2coIndpbmRvdy53aW5kb3cgPSAzIik7Citz
aG91bGROb3RCZSgid2luZG93LndpbmRvdyIsICIzIik7CisKK2RlYnVnKCIiKTsKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
Z2xvYmFsLWNvbnN0cnVjdG9ycy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vZ2xvYmFsLWNv
bnN0cnVjdG9ycy5odG1sCmluZGV4IDBiMzlkZDA3MDMzNmUxYzM4OTZkODcwZjk5N2RlOWY4OTQ3
YWQwNWMuLjlkMmRlOWIwOTg5NjI3ZjRiYmI2MmQzMzFkMTAwNDE3ZmYyMjYxMWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLmh0bWwKQEAgLTk1LDE1ICs5
NSwxNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAKICAgICBvcmlnaW5hbE5vZGVDb25zdHJ1Y3Rv
ciA9IHdpbmRvdy5Ob2RlOyAgICAKIAotICAgIC8vIFNoYWRvdyB3aW5kb3cuTm9kZQorICAgIC8v
IFNldCB3aW5kb3cuTm9kZQogICAgIHdpbmRvdy5Ob2RlID0gMTsKICAgICBwcmludCgiW1NldCB3
aW5kb3cuTm9kZSA9IDFdIik7CiAgICAgc2hvdWxkQmUoIndpbmRvdy5Ob2RlIiwgMSk7CiAgICAg
Ci0gICAgLy8gVW5zaGFkb3cgd2luZG93Lk5vZGUKKyAgICAvLyBEZWxldGUgd2luZG93Lk5vZGUK
ICAgICBkZWxldGUgd2luZG93Lk5vZGU7CiAgICAgcHJpbnQoIltEZWxldGVkIHdpbmRvdy5Ob2Rl
XSIpOwotICAgIHNob3VsZEJlKCJ3aW5kb3cuTm9kZSIsIG9yaWdpbmFsTm9kZUNvbnN0cnVjdG9y
KTsKKyAgICBzaG91bGRCZSgid2luZG93Lk5vZGUiLCB1bmRlZmluZWQpOworCisgICAgd2luZG93
Lk5vZGUgPSBvcmlnaW5hbE5vZGVDb25zdHJ1Y3RvcjsKIAogICAgIC8vIEF0dGVtcHQgdG8gc2hh
ZG93IHdpbmRvdy5Ob2RlIHdpdGggYSBmcmFtZSBuYW1lZCAnTm9kZScKICAgICB2YXIgaWZyYW1l
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0cmlidXRlcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5m
b3JnZWFibGUtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKaW5kZXggMTJiZDVlNzMzYzlhZGJjMDEz
YmZjN2EzN2ZiYWE4MDQ3NTRjNTc4YS4uMTc0NDlkZGE4Nzg4MzdlNzE5OWM3YWY0OTZkOWYxZjIw
ZTk1OTMxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yLXVuZm9yZ2VhYmxlLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci11bmZvcmdlYWJsZS1hdHRyaWJ1dGVzLWV4cGVj
dGVkLnR4dApAQCAtOTgsMTQgKzk4LDYgQEAgUEFTUyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSBp
cyBmYWxzZQogUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKGludmFsaWRPYmplY3QpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBET01XaW5kb3cubG9jYXRpb24gZ2V0dGVyIGNhbiBvbmx5
IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdy4KIFBBU1MgZGVzY3JpcHRvci5nZXQu
Y2FsbCh3aW5kb3cpID09PSB3aW5kb3cubG9jYXRpb24gaXMgdHJ1ZQogCi0qIFdpbmRvdy5zZWxm
Ci1QQVNTIGRlc2NyaXB0b3IuZ2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCi1QQVNTIGRl
c2NyaXB0b3Iuc2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCi1QQVNTIGRlc2NyaXB0b3Iu
ZW51bWVyYWJsZSBpcyB0cnVlCi1QQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIGZhbHNl
Ci1QQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwoaW52YWxpZE9iamVjdCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogVGhlIERPTVdpbmRvdy5zZWxmIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9u
IGluc3RhbmNlcyBvZiBET01XaW5kb3cuCi1QQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93
KSA9PT0gd2luZG93LnNlbGYgaXMgdHJ1ZQotCiAqIFdpbmRvdy53aW5kb3cKIFBBU1MgZGVzY3Jp
cHRvci5nZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KIFBBU1MgZGVzY3JpcHRvci5zZXQg
aXMgdW5kZWZpbmVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yLXVuZm9yZ2VhYmxlLWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRlc3RzL2pzL2dl
dE93blByb3BlcnR5RGVzY3JpcHRvci11bmZvcmdlYWJsZS1hdHRyaWJ1dGVzLmh0bWwKaW5kZXgg
MzI5MWVkZDdiYmFiZWI2MWFkNmJjOTFhMjdiNjYwMjA2MGI1NmVjYy4uNDlmNjEyNzI0Yjk0OWIy
ZDIxYmRlOWY5OWY0ZmEwMjhiZGFjOTcwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yLXVuZm9yZ2VhYmxlLWF0dHJpYnV0ZXMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0cmli
dXRlcy5odG1sCkBAIC00MywxMiArNDMsNiBAQCBjaGVja1VuZm9yZ2VhYmxlUHJvcGVydHlEZXNj
cmlwdG9yKGRlc2NyaXB0b3IpOwogc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdldC5jYWxsKHdp
bmRvdykgPT09IHdpbmRvdy5sb2NhdGlvbiIpOwogCiBkZWJ1ZygiIik7Ci1kZWJ1ZygiKiBXaW5k
b3cuc2VsZiIpOwotZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
d2luZG93LCAic2VsZiIpOwotY2hlY2tVbmZvcmdlYWJsZVByb3BlcnR5RGVzY3JpcHRvcihkZXNj
cmlwdG9yKTsKLXNob3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci5nZXQuY2FsbCh3aW5kb3cpID09PSB3
aW5kb3cuc2VsZiIpOwotCi1kZWJ1ZygiIik7CiBkZWJ1ZygiKiBXaW5kb3cud2luZG93Iik7CiBk
ZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICJ3aW5k
b3ciKTsKIGNoZWNrVW5mb3JnZWFibGVQcm9wZXJ0eURlc2NyaXB0b3IoZGVzY3JpcHRvciwgdHJ1
ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3It
d2luZG93LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yLXdpbmRvdy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCBlODAw
YmEzOGQyZjAyMDAyZDFmMTcyODRkZDBjODFjYjMxZGJjYmY0Li4xYTU3ZTYxMzAwMmEyOTdkZmNh
Yzc1MDAyMjQyMjQ3YTcyOGViZDljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3Itd2luZG93LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy1l
eHBlY3RlZC50eHQKQEAgLTcsNyArNyw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiBQQVNT
IGRlc2NyaXB0b3IuZ2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0
b3Iuc2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3IuZW51bWVy
YWJsZSBpcyB0cnVlCi1GQUlMIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIHNob3VsZCBiZSB0cnVl
LiBXYXMgZmFsc2UuCitQQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1Mg
ZGVzY3JpcHRvci5nZXQuY2FsbChub25XaW5kb3dPYmplY3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IFRoZSBET01XaW5kb3cuc2NyZWVuIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGlu
c3RhbmNlcyBvZiBET01XaW5kb3cuCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93KSA9
PT0gd2luZG93LnNjcmVlbiBpcyB0cnVlCiBGQUlMIGRlc2NyaXB0b3IuZ2V0LmNhbGwoKSA9PT0g
d2luZG93LnNjcmVlbiBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
VGhlIERPTVdpbmRvdy5zY3JlZW4gZ2V0dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2Vz
IG9mIERPTVdpbmRvdwpAQCAtMTYsMTYgKzE2LDI1IEBAIEZBSUwgZGVzY3JpcHRvci5nZXQuY2Fs
bCgpID09PSB3aW5kb3cuc2NyZWVuIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gVHlw
CiBQQVNTIGRlc2NyaXB0b3IuZ2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRl
c2NyaXB0b3Iuc2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3Iu
ZW51bWVyYWJsZSBpcyB0cnVlCi1GQUlMIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIHNob3VsZCBi
ZSB0cnVlLiBXYXMgZmFsc2UuCitQQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIHRydWUK
IFBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbChub25XaW5kb3dPYmplY3QpIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IFRoZSBET01XaW5kb3cubmF2aWdhdG9yIGdldHRlciBjYW4gb25seSBiZSB1
c2VkIG9uIGluc3RhbmNlcyBvZiBET01XaW5kb3cuCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwo
d2luZG93KSA9PT0gd2luZG93Lm5hdmlnYXRvciBpcyB0cnVlCiBGQUlMIGRlc2NyaXB0b3IuZ2V0
LmNhbGwoKSA9PT0gd2luZG93Lm5hdmlnYXRvciBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogVGhlIERPTVdpbmRvdy5uYXZpZ2F0b3IgZ2V0dGVyIGNhbiBvbmx5IGJl
IHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdwogCisqIFdpbmRvdy5zZWxmCitQQVNTIGRl
c2NyaXB0b3IuZ2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCitQQVNTIGRlc2NyaXB0b3Iu
c2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCitQQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJs
ZSBpcyB0cnVlCitQQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1MgZGVz
Y3JpcHRvci5nZXQuY2FsbChub25XaW5kb3dPYmplY3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IFRoZSBET01XaW5kb3cuc2VsZiBnZXR0ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5j
ZXMgb2YgRE9NV2luZG93LgorUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRvdykgPT09IHdp
bmRvdy5zZWxmIGlzIHRydWUKK0ZBSUwgZGVzY3JpcHRvci5nZXQuY2FsbCgpID09PSB3aW5kb3cu
c2VsZiBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIERPTVdp
bmRvdy5zZWxmIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBET01XaW5k
b3cKKwogKiBXaW5kb3cuZnJhbWVFbGVtZW50CiBQQVNTIGRlc2NyaXB0b3IuZ2V0IGlzIGFuIGlu
c3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3Iuc2V0IGlzIHVuZGVmaW5lZC4KIFBB
U1MgZGVzY3JpcHRvci5lbnVtZXJhYmxlIGlzIHRydWUKLUZBSUwgZGVzY3JpcHRvci5jb25maWd1
cmFibGUgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KK1BBU1MgZGVzY3JpcHRvci5jb25maWd1
cmFibGUgaXMgdHJ1ZQogUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKG5vbldpbmRvd09iamVjdCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIERPTVdpbmRvdy5mcmFtZUVsZW1lbnQgZ2V0
dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdy4KIFBBU1MgZGVz
Y3JpcHRvci5nZXQuY2FsbCh3aW5kb3cpID09PSB3aW5kb3cuZnJhbWVFbGVtZW50IGlzIHRydWUK
IEZBSUwgZGVzY3JpcHRvci5nZXQuY2FsbCgpID09PSB3aW5kb3cuZnJhbWVFbGVtZW50IHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgRE9NV2luZG93LmZyYW1l
RWxlbWVudCBnZXR0ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgRE9NV2luZG93
CkBAIC0zNCwxMCArNDMsMjEgQEAgRkFJTCBkZXNjcmlwdG9yLmdldC5jYWxsKCkgPT09IHdpbmRv
dy5mcmFtZUVsZW1lbnQgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGkKIFBBU1MgZGVzY3Jp
cHRvci5nZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KIFBBU1MgZGVzY3JpcHRvci5zZXQg
aXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KIFBBU1MgZGVzY3JpcHRvci5lbnVtZXJhYmxlIGlz
IHRydWUKLUZBSUwgZGVzY3JpcHRvci5jb25maWd1cmFibGUgc2hvdWxkIGJlIHRydWUuIFdhcyBm
YWxzZS4KK1BBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBkZXNjcmlw
dG9yLmdldC5jYWxsKG5vbldpbmRvd09iamVjdCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
VGhlIERPTVdpbmRvdy5uYW1lIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBv
ZiBET01XaW5kb3cuCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93KSA9PT0gd2luZG93
Lm5hbWUgaXMgdHJ1ZQogRkFJTCBkZXNjcmlwdG9yLmdldC5jYWxsKCkgPT09IHdpbmRvdy5uYW1l
IHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgRE9NV2luZG93
Lm5hbWUgZ2V0dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdwor
CisqIHdpbmRvdy5Ob2RlCitQQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFT
UyBkZXNjcmlwdG9yLndyaXRhYmxlIGlzIHRydWUKK1BBU1MgZGVzY3JpcHRvci5jb25maWd1cmFi
bGUgaXMgdHJ1ZQorCisqIHdpbmRvdy5jb25zdHJ1Y3RvcgorUEFTUyBkZXNjcmlwdG9yLmVudW1l
cmFibGUgaXMgZmFsc2UKK1BBU1MgZGVzY3JpcHRvci53cml0YWJsZSBpcyB0cnVlCitQQVNTIGRl
c2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIHRydWUKKwogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3Itd2luZG93LWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRlc3Rz
L2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1sCmluZGV4
IDEwNmU0NThkMjZiNGNlMjc2N2NiZjg1YTkzNWJmODkzN2M0MTJiNWYuLjI1MDVjNDZmYjlmOTEx
NWFkN2JlZmExYmE0YWNiZjUzNzJlNTMwZGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2dl
dE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1s
CkBAIC0zMyw2ICszMywxMyBAQCBzaG91bGRCZVRydWUoImRlc2NyaXB0b3IuZ2V0LmNhbGwod2lu
ZG93KSA9PT0gd2luZG93Lm5hdmlnYXRvciIpOwogc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdl
dC5jYWxsKCkgPT09IHdpbmRvdy5uYXZpZ2F0b3IiKTsKIAogZGVidWcoIiIpOworZGVidWcoIiog
V2luZG93LnNlbGYiKTsKK2Rlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKHdpbmRvdywgInNlbGYiKTsKK2NoZWNrV2luZG93UHJvcGVydHlEZXNjcmlwdG9yKGRlc2Ny
aXB0b3IpOworc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRvdykgPT09IHdp
bmRvdy5zZWxmIik7CitzaG91bGRCZVRydWUoImRlc2NyaXB0b3IuZ2V0LmNhbGwoKSA9PT0gd2lu
ZG93LnNlbGYiKTsKKworZGVidWcoIiIpOwogZGVidWcoIiogV2luZG93LmZyYW1lRWxlbWVudCIp
OwogZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAi
ZnJhbWVFbGVtZW50Iik7CiBjaGVja1dpbmRvd1Byb3BlcnR5RGVzY3JpcHRvcihkZXNjcmlwdG9y
LCB0cnVlKTsKQEAgLTQ2LDUgKzUzLDIxIEBAIGNoZWNrV2luZG93UHJvcGVydHlEZXNjcmlwdG9y
KGRlc2NyaXB0b3IsIGZhbHNlKTsKIHNob3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci5nZXQuY2FsbCh3
aW5kb3cpID09PSB3aW5kb3cubmFtZSIpOwogc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdldC5j
YWxsKCkgPT09IHdpbmRvdy5uYW1lIik7CiAKK2RlYnVnKCIiKTsKK2RlYnVnKCIqIHdpbmRvdy5O
b2RlIik7CitkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5k
b3csICJOb2RlIik7CitzaG91bGRCZUZhbHNlKCJkZXNjcmlwdG9yLmVudW1lcmFibGUiKTsKK3No
b3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci53cml0YWJsZSIpOworc2hvdWxkQmVUcnVlKCJkZXNjcmlw
dG9yLmNvbmZpZ3VyYWJsZSIpOworCitkZWJ1ZygiIik7CisvLyBGSVhNRTogJ2NvbnN0cnVjdG9y
JyBzaG91bGQgYmUgb24gdGhlIHByb3RvdHlwZS4KK2RlYnVnKCIqIHdpbmRvdy5jb25zdHJ1Y3Rv
ciIpOworZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93
LCAiY29uc3RydWN0b3IiKTsKK3Nob3VsZEJlRmFsc2UoImRlc2NyaXB0b3IuZW51bWVyYWJsZSIp
Oworc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLndyaXRhYmxlIik7CitzaG91bGRCZVRydWUoImRl
c2NyaXB0b3IuY29uZmlndXJhYmxlIik7CisKK2RlYnVnKCIiKTsKIDwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270910</attachid>
            <date>2016-02-08 21:12:54 -0800</date>
            <delta_ts>2016-02-08 22:02:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-153920-20160208211232.patch</filename>
            <type>text/plain</type>
            <size>41073</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2Mjc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MDNjMjIzNjYxMWRlNThhNGQ2ZTVmOGZjNGQ5MjRlYTYxM2MyY2Y3Li43MTU2ZWI1NGNiYTM4ZDc0
OGM1OGNjMjE0OTNhNjM4NTk4NjUxMzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NyBAQAorMjAxNi0wMi0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIEF0dHJpYnV0ZXMgb24gdGhlIFdpbmRvdyBpbnN0YW5jZSBzaG91bGQgYmUgY29u
ZmlndXJhYmxlIHVubGVzcyBbVW5mb3JnZWFibGVdCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM5MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNYXJraW5nIHRoZSBXaW5kb3cgaW5zdGFuY2UgYXR0cmli
dXRlcyBhcyBjb25maWd1cmFibGUgYnV0IGNhdXNlCisgICAgICAgIGdldE93blByb3BlcnR5RGVz
Y3JpcHRvcigpIHRvIHJlcG9ydCB0aGVtIGFzIGNvbmZpZ3VyYWJsZSwgYXMKKyAgICAgICAgZXhw
ZWN0ZWQuIEhvd2V2ZXIsIHRyeWluZyB0byBkZWxldGUgdGhlbSB3b3VsZCBhY3R1YWxseSBsZWFk
IHRvCisgICAgICAgIHVuZXhwZWN0ZWQgYmVoYXZpb3IgYmVjYXVzZToKKyAgICAgICAgLSBXZSBk
aWQgbm90IHJlaWZ5IGN1c3RvbSBhY2Nlc3NvciBwcm9wZXJ0aWVzIChtb3N0IG9mIHRoZSBXaW5k
b3cKKyAgICAgICAgICBwcm9wZXJ0aWVzIGFyZSBjdXN0b20gYWNjZXNzb3JzKSB1cG9uIGRlbGV0
aW9uLgorICAgICAgICAtIEZvciBub24tcmVpZmllZCBzdGF0aWMgcHJvcGVydGllcyBtYXJrZWQg
YXMgY29uZmlndXJhYmxlLAorICAgICAgICAgIEpTT2JqZWN0OjpkZWxldGVQcm9wZXJ0eSgpIHdv
dWxkIGF0dGVtcHQgdG8gY2FsbCB0aGUgcHJvcGVydHkKKyAgICAgICAgICBzZXR0ZXIgd2l0aCB1
bmRlZmluZWQuIEFzIGEgcmVzdWx0LCBjYWxsaW5nIGRlbGV0ZSB3aW5kb3cubmFtZQorICAgICAg
ICAgIHdvdWxkIGNhdXNlIHdpbmRvdy5uYW1lIHRvIGJlY29tZSB0aGUgc3RyaW5nICJ1bmRlZmlu
ZWQiIGluc3RlYWQKKyAgICAgICAgICBvZiB0aGUgdW5kZWZpbmVkIHZhbHVlLgorCisgICAgICAg
ICogcnVudGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OmdldENsYXNzUHJvcGVydHlO
YW1lcyk6CisgICAgICAgIE5vdyB0aGF0IHdlIHJlaWZ5IEFMTCBwcm9wZXJ0aWVzLCB3ZSBvbmx5
IG5lZWQgdG8gY2hlY2sgdGhlIHByb3BlcnR5IHRhYmxlCisgICAgICAgIGlmIHdlIGhhdmUgbm90
IHJlaWZpZWQuIEFzIGEgcmVzdWx0LCBJIGRyb3BwZWQgdGhlICdkaWRSZWlmeScgcGFyYW1ldGVy
IGZvcgorICAgICAgICB0aGlzIGZ1bmN0aW9uIGFuZCBpbnN0ZWFkIG9ubHkgY2FsbCB0aGlzIGZ1
bmN0aW9uIGlmIHdlIGhhdmUgbm90IHlldCByZWlmaWVkLgorCisgICAgICAgIChKU0M6OkpTT2Jq
ZWN0OjpwdXRJbmxpbmVTbG93KToKKyAgICAgICAgT25seSBjYWxsIHB1dEVudHJ5KCkgaWYgd2Ug
aGF2ZSBub3QgcmVpZmllZDogRHJvcCB0aGUKKyAgICAgICAgJ3x8ICEoZW50cnktPmF0dHJpYnV0
ZXMoKSAmIEJ1aWx0aW5PckZ1bmN0aW9uT3JBY2Nlc3NvciknCisgICAgICAgIGNoZWNrIGFzIHN1
Y2ggcHJvcGVydGllcyBub3cgZ2V0IHJlaWZpZWQgYXMgd2VsbC4KKworICAgICAgICAoSlNDOjpK
U09iamVjdDo6ZGVsZXRlUHJvcGVydHkpOgorICAgICAgICAtIENhbGwgcmVpZnlBbGxTdGF0aWNQ
cm9wZXJ0aWVzKCkgaW5zdGVhZCBvZiByZWlmeVN0YXRpY0Z1bmN0aW9uc0ZvckRlbGV0ZSgpCisg
ICAgICAgICAgc28gdGhhdCB3ZSBub3cgcmVpZnkgYWxsIHByb3BlcnRpZXMgdXBvbiBkZWxldGlv
biwgaW5jbHVkaW5nIHRoZSBjdXN0b20KKyAgICAgICAgICBhY2Nlc3NvcnMuIHJlaWZ5U3RhdGlj
RnVuY3Rpb25zRm9yRGVsZXRlKCkgaXMgbm93IHJlbW92ZWQgYW5kIHRoZSBzYW1lCisgICAgICAg
ICAgcmVpZmljYXRpb24gZnVuY3Rpb24gaXMgbm93IHVzZWQgYnk6IGRlbGV0aW9uLCBnZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoKQorICAgICAgICAgIGFuZCBlYWdlciByZWlmaWNhdGlvbiBvZiB0
aGUgcHJvdG90eXBlIG9iamVjdHMgaW4gdGhlIGJpbmRpbmdzLgorICAgICAgICAtIERyb3AgY29k
ZSB0aGF0IGZhbGxzIGJhY2sgdG8gY2FsbGluZyB0aGUgc3RhdGljIHByb3BlcnR5IHNldHRlciB3
aXRoCisgICAgICAgICAgdW5kZWZpbmVkIGlmIHdlIGNhbm5vdCBmaW5kIHRoZSBwcm9wZXJ0eSBp
biB0aGUgcHJvcGVydHkgc3RvcmFnZS4gQXMKKyAgICAgICAgICB3ZSBub3cgcmVpZnkgQUxMIHBy
b3BlcnRpZXMsIHRoZSBjb2RlIHJlbW92aW5nIHRoZSBwcm9wZXJ0eSBmcm9tIHRoZQorICAgICAg
ICAgIHByb3BlcnR5IHN0b3JhZ2Ugc2hvdWxkIHN1Y2NlZWQsIHByb3ZpZGVkIHRoYXQgdGhlIHBy
b3BlcnR5IGFjdHVhbGx5CisgICAgICAgICAgZXhpc3RzLgorCisgICAgICAgIChKU0M6OkpTT2Jq
ZWN0OjpnZXRPd25Ob25JbmRleFByb3BlcnR5TmFtZXMpOgorICAgICAgICBPbmx5IGNhbGwgZ2V0
Q2xhc3NQcm9wZXJ0eU5hbWVzKCkgaWYgd2UgaGF2ZSBub3QgcmVpZmllZC4gV2Ugc2hvdWxkIG5v
IGxvbmdlcgorICAgICAgICBjaGVjayB0aGUgc3RhdGljIHByb3BlcnR5IHRhYmxlIGFmdGVyIHJl
aWZ5aW5nIG5vdyB0aGF0IHdlIHJlaWZ5IGFsbAorICAgICAgICBwcm9wZXJ0aWVzLgorCisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjpyZWlmeUFsbFN0YXRpY1Byb3BlcnRpZXMpOgorICAgICAgICBN
ZXJnZSB3aXRoIHJlaWZ5U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKCkuIFRoZSBvbmx5IGJlaGF2
aW9yIGNoYW5nZSBpcyB0aGUKKyAgICAgICAgZmxhdHRlbmluZyB0byBhbiB1bmNhY2hlYWJsZSBk
aWN0aW9uYXJ5LCBsaWtlIHJlaWZ5U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKCkKKyAgICAgICAg
dXNlZCB0byBkby4KKworICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKwogMjAxNi0wMi0w
OCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbSlND
XSBJbnRyb2R1Y2UgQGlzT2JqZWN0IGJ5dGVjb2RlIGludHJpbnNpYyBhbmQgdXNlIGl0IGluc3Rl
YWQgb2YgSlMgaW1wbGVtZW50ZWQgb25lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY1MmFkMmU2YmE3NmJkZmZi
MDY0M2I0YTYxYWI3MmVkZDU1ODk0Ny4uNmYxZGIxNWEzZDg5OGE2ZTIyYWJkY2NlZDM4NTZjODEz
YTc3ZTVlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDE2LTAyLTA3ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQXR0cmlidXRlcyBvbiB0aGUgV2lu
ZG93IGluc3RhbmNlIHNob3VsZCBiZSBjb25maWd1cmFibGUgdW5sZXNzIFtVbmZvcmdlYWJsZV0K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzkyMAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEF0dHJpYnV0
ZXMgb24gdGhlIFdpbmRvdyBpbnN0YW5jZSBzaG91bGQgYmUgY29uZmlndXJhYmxlIHVubGVzcyBb
VW5mb3JnZWFibGVdOgorICAgICAgICAxLiAnY29uc3RydWN0b3InIHByb3BlcnR5OgorICAgICAg
ICAgICAtIGh0dHA6Ly93d3cudzMub3JnL1RSL1dlYklETC8jaW50ZXJmYWNlLXByb3RvdHlwZS1v
YmplY3QKKyAgICAgICAgMi4gQ29uc3RydWN0b3IgcHJvcGVydGllcyAoZS5nLiB3aW5kb3cuTm9k
ZSk6CisgICAgICAgICAgIC0gaHR0cDovL3d3dy53My5vcmcvVFIvV2ViSURMLyNlcy1pbnRlcmZh
Y2VzCisgICAgICAgIDMuIElETCBhdHRyaWJ1dGVzOgorICAgICAgICAgICAtIGh0dHA6Ly9oZXlj
YW0uZ2l0aHViLmlvL3dlYmlkbC8jZXMtYXR0cmlidXRlcyAoY29uZmlndXJhYmxlIHVubGVzcwor
ICAgICAgICAgICAgIFtVbmZvcmdlYWJsZV0sIGUuZy4gd2luZG93LmxvY2F0aW9uKQorCisgICAg
ICAgIEZpcmVmb3ggY29tcGxpZXMgd2l0aCB0aGUgV2ViSURMIHNwZWNpZmljYXRpb24gYnV0IFdl
YktpdCBkb2VzIG5vdCBmb3IgMS4gYW5kIDMuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWNvbmZpZ3VyYWJsZS5odG1sCisKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdp
bmRvdzo6Z2V0T3duUHJvcGVydHlTbG90KToKKyAgICAgICAgRm9yIGtub3duIFdpbmRvdyBwcm9w
ZXJ0aWVzIChpLmUuIHByb3BlcnRpZXMgaW4gdGhlIHN0YXRpYyBwcm9wZXJ0eSB0YWJsZSksCisg
ICAgICAgIGlmIHdlIGhhdmUgcmVpZmllZCBhbmQgdGhpcyBpcyBzYW1lLW9yaWdpbiBhY2Nlc3Ms
IHRoZW4gY2FsbAorICAgICAgICBCYXNlOjpnZXRPd25Qcm9wZXJ0eVNsb3QoKSB0byBnZXQgdGhl
IHByb3BlcnR5IGZyb20gdGhlIGxvY2FsIHByb3BlcnR5CisgICAgICAgIHN0b3JhZ2UuIElmIHdl
IGhhdmUgbm90IHJlaWZpZWQgeWV0LCBvciB0aGlzIGlzIGNyb3NzLW9yaWdpbiBhY2Nlc3MsIHF1
ZXJ5CisgICAgICAgIHRoZSBzdGF0aWMgcHJvcGVydHkgdGFibGUuIFRoaXMgaXMgdG8gbWF0Y2gg
dGhlIGJlaGF2aW9yIG9mIEZpcmVmb3ggYW5kCisgICAgICAgIENocm9tZSB3aGljaCBzZWVtIHRv
IGtlZXAgcmV0dXJuaW5nIHRoZSBvcmlnaW5hbCBwcm9wZXJ0aWVzIHVwb24gY3Jvc3MKKyAgICAg
ICAgb3JpZ2luIGFjY2VzcywgZXZlbiBpZiB0aG9zZSB3ZXJlIGRlbGV0ZWQgb3IgcmVkZWZpbmVk
LgorCisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6cHV0KToKKyAgICAgICAgVGhlIHBy
ZXZpb3VzIGNvZGUgdXNlZCB0byBjYWxsIHRoZSBzdGF0aWMgcHJvcGVydHkgc2V0dGVyIGZvciBw
cm9wZXJ0aWVzIGluCisgICAgICAgIHRoZSBzdGF0aWMgdGFibGUuIEhvd2V2ZXIsIHRoaXMgZG9l
cyBub3QgZG8gdGhlIHJpZ2h0IHRoaW5nIGlmIHByb3BlcnRpZXMKKyAgICAgICAgd2VyZSByZWlm
aWVkLiBGb3IgZXhhbXBsZSwgZGVsZXRpbmcgd2luZG93Lm5hbWUgYW5kIHRoZW4gdHJ5aW5nIHRv
IHNldCBpdAorICAgICAgICBhZ2FpbiB3b3VsZCBub3Qgd29yay4gVGhlcmVmb3JlLCB1cGRhdGUg
dGhpcyBjb2RlIHRvIG9ubHkgZG8gdGhpcyBpZiB0aGUKKyAgICAgICAgcHJvcGVydGllcyBoYXZl
IG5vdCBiZWVuIHJlaWZpZWQsIHNpbWlsYXJseSB0byB3aGF0IGlzIGRvbmUgaW4KKyAgICAgICAg
SlNPYmplY3Q6OnB1dElubGluZVNsb3coKS4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoQ29uc3RydWN0b3JTaG91bGRCZU9uSW5zdGFu
Y2UpOgorICAgICAgICBBZGQgYSBGSVhNRSBjb21tZW50IGluZGljYXRpbmcgdGhhdCB3aW5kb3cu
Y29uc3RydWN0b3Igc2hvdWxkIGJlIG9uCisgICAgICAgIHRoZSBwcm90b3R5cGUgYXMgcGVyIHRo
ZSBXZWIgSURMIHNwZWNpZmljYXRpb24uCisKKyAgICAgICAgKEdlbmVyYXRlQXR0cmlidXRlc0hh
c2hUYWJsZSk6CisgICAgICAgIC0gTWFyayAnY29uc3RydWN0b3InIHByb3BlcnR5IGFzIGNvbmZp
Z3VyYWJsZSBmb3IgV2luZG93LCBhcyBwZXIgdGhlCisgICAgICAgICAgc3BlY2lmaWNhdGlvbiBh
bmQgY29uc2lzdGVudGx5IHdpdGggb3RoZXIgJ2NvbnN0cnVjdG9yJyBwcm9wZXJ0aWVzOgorICAg
ICAgICAgIGh0dHA6Ly93d3cudzMub3JnL1RSL1dlYklETC8jaW50ZXJmYWNlLXByb3RvdHlwZS1v
YmplY3QKKyAgICAgICAgLSBNYXJrIHByb3BlcnRpZXMgYXMgY29uZmlndXJhYmxlIGV2ZW4gdGhv
dWdoIHRoZXkgYXJlIG9uIHRoZSBpbnN0YW5jZS4KKyAgICAgICAgICBXaW5kb3cgaGFzIGl0cyBw
cm9wZXJ0aWVzIG9uIHRoZSBpbnN0YW5jZSBhcyBwZXIgdGhlIHNwZWNpZmljYXRpb246CisgICAg
ICAgICAgMS4gaHR0cDovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNlcy1hdHRyaWJ1dGVzCisg
ICAgICAgICAgMi4gaHR0cDovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNQcmltYXJ5R2xvYmFs
ICh3aW5kb3cgaXMgW1ByaW1hcnlHbG9iYWxdCisgICAgICAgICAgSG93ZXZlciwgdGhlc2UgcHJv
cGVydGllcyBzaG91bGQgYmUgY29uZmlndXJhYmxlIGFzIGxvbmcgYXMgdGhleSBhcmUKKyAgICAg
ICAgICBub3QgbWFya2VkIGFzIFtVbmZvcmdlYWJsZV0sIGFzIHBlciAxLgorCisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHA6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHA6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgIFJl
YmFzZWxpbmUgYmluZGluZ3MgdGVzdHMuCisKIDIwMTYtMDItMDggIEpvc2VwaCBQZWNvcmFybyAg
PHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBjb3B5KHt4OjF9
KSBzaG91bGQgY29weSAie3g6MX0iLCBub3QgIltvYmplY3QgT2JqZWN0XSIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAppbmRleCA3ODM5YTAyNDdlMjBkNWZhNGI4
Njk5MTU0Y2I0MDNlNTM3OTI1MzEzLi4yNzNmZTZhNDQ5YzRkMWIyZmUwMjdjNWUzNWU5ZjcyMWZj
MWE2MjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCkBA
IC02OCw3ICs2OCw3IEBAIGNvbnN0IENsYXNzSW5mbyBKU09iamVjdDo6c19pbmZvID0geyAiT2Jq
ZWN0IiwgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU09iamVjCiAKIGNvbnN0IENsYXNzSW5m
byBKU0ZpbmFsT2JqZWN0OjpzX2luZm8gPSB7ICJPYmplY3QiLCAmQmFzZTo6c19pbmZvLCAwLCBD
UkVBVEVfTUVUSE9EX1RBQkxFKEpTRmluYWxPYmplY3QpIH07CiAKLXN0YXRpYyBpbmxpbmUgdm9p
ZCBnZXRDbGFzc1Byb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBDbGFzc0luZm8q
IGNsYXNzSW5mbywgUHJvcGVydHlOYW1lQXJyYXkmIHByb3BlcnR5TmFtZXMsIEVudW1lcmF0aW9u
TW9kZSBtb2RlLCBib29sIGRpZFJlaWZ5KQorc3RhdGljIGlubGluZSB2b2lkIGdldENsYXNzUHJv
cGVydHlOYW1lcyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBQ
cm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywgRW51bWVyYXRpb25Nb2RlIG1vZGUpCiB7
CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKIApAQCAtNzksNyArNzksNyBAQCBzdGF0aWMgaW5s
aW5lIHZvaWQgZ2V0Q2xhc3NQcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQ2xh
c3NJbmZvKiBjbGFzcwogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgZm9yIChhdXRv
IGl0ZXIgPSB0YWJsZS0+YmVnaW4oKTsgaXRlciAhPSB0YWJsZS0+ZW5kKCk7ICsraXRlcikgewot
ICAgICAgICAgICAgaWYgKCghKGl0ZXItPmF0dHJpYnV0ZXMoKSAmIERvbnRFbnVtKSB8fCBtb2Rl
LmluY2x1ZGVEb250RW51bVByb3BlcnRpZXMoKSkgJiYgISgoaXRlci0+YXR0cmlidXRlcygpICYg
QnVpbHRpbk9yRnVuY3Rpb25PckFjY2Vzc29yKSAmJiBkaWRSZWlmeSkpCisgICAgICAgICAgICBp
ZiAoIShpdGVyLT5hdHRyaWJ1dGVzKCkgJiBEb250RW51bSkgfHwgbW9kZS5pbmNsdWRlRG9udEVu
dW1Qcm9wZXJ0aWVzKCkpCiAgICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lcy5hZGQoSWRlbnRp
Zmllcjo6ZnJvbVN0cmluZygmdm0sIGl0ZXIua2V5KCkpKTsKICAgICAgICAgfQogICAgIH0KQEAg
LTQxMCwxMCArNDEwLDkgQEAgdm9pZCBKU09iamVjdDo6cHV0SW5saW5lU2xvdyhFeGVjU3RhdGUq
IGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUKICAgICAgICAgICAgIC8v
IHByb3RvdHlwZXMgaXQgc2hvdWxkIGJlIHJlcGxhY2VkLCBzbyBicmVhayBoZXJlLgogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgY29uc3QgQ2xhc3NJbmZvKiBpbmZvID0g
b2JqLT5jbGFzc0luZm8oKTsKLSAgICAgICAgaWYgKGluZm8tPmhhc1N0YXRpY1NldHRlck9yUmVh
ZG9ubHlQcm9wZXJ0aWVzKCkpIHsKLSAgICAgICAgICAgIGlmIChjb25zdCBIYXNoVGFibGVWYWx1
ZSogZW50cnkgPSBvYmotPmZpbmRQcm9wZXJ0eUhhc2hFbnRyeShwcm9wZXJ0eU5hbWUpKSB7Ci0g
ICAgICAgICAgICAgICAgaWYgKCFvYmotPnN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQoKSB8fCAhKGVu
dHJ5LT5hdHRyaWJ1dGVzKCkgJiBCdWlsdGluT3JGdW5jdGlvbk9yQWNjZXNzb3IpKSB7CisgICAg
ICAgIGlmICghb2JqLT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpIHsKKyAgICAgICAgICAgIGlm
IChvYmotPmNsYXNzSW5mbygpLT5oYXNTdGF0aWNTZXR0ZXJPclJlYWRvbmx5UHJvcGVydGllcygp
KSB7CisgICAgICAgICAgICAgICAgaWYgKGF1dG8qIGVudHJ5ID0gb2JqLT5maW5kUHJvcGVydHlI
YXNoRW50cnkocHJvcGVydHlOYW1lKSkgewogICAgICAgICAgICAgICAgICAgICBwdXRFbnRyeShl
eGVjLCBlbnRyeSwgb2JqLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KQEAgLTEyODQsMzMgKzEyODMsMTkg
QEAgYm9vbCBKU09iamVjdDo6aGFzUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBw
cm9wZXJ0eU5hbWUpIGNvbnN0CiBib29sIEpTT2JqZWN0OjpkZWxldGVQcm9wZXJ0eShKU0NlbGwq
IGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKIHsKICAg
ICBKU09iamVjdCogdGhpc09iamVjdCA9IGpzQ2FzdDxKU09iamVjdCo+KGNlbGwpOworICAgIFZN
JiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgCiAgICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBpbmRl
eCA9IHBhcnNlSW5kZXgocHJvcGVydHlOYW1lKSkKLSAgICAgICAgcmV0dXJuIHRoaXNPYmplY3Qt
Pm1ldGhvZFRhYmxlKGV4ZWMtPnZtKCkpLT5kZWxldGVQcm9wZXJ0eUJ5SW5kZXgodGhpc09iamVj
dCwgZXhlYywgaW5kZXgudmFsdWUoKSk7CisgICAgICAgIHJldHVybiB0aGlzT2JqZWN0LT5tZXRo
b2RUYWJsZSh2bSktPmRlbGV0ZVByb3BlcnR5QnlJbmRleCh0aGlzT2JqZWN0LCBleGVjLCBpbmRl
eC52YWx1ZSgpKTsKIAogICAgIGlmICghdGhpc09iamVjdC0+c3RhdGljRnVuY3Rpb25zUmVpZmll
ZCgpKQotICAgICAgICB0aGlzT2JqZWN0LT5yZWlmeVN0YXRpY0Z1bmN0aW9uc0ZvckRlbGV0ZShl
eGVjKTsKKyAgICAgICAgdGhpc09iamVjdC0+cmVpZnlBbGxTdGF0aWNQcm9wZXJ0aWVzKGV4ZWMp
OwogCiAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKLSAgICBWTSYgdm0gPSBleGVjLT52bSgpOwog
ICAgIGlmIChpc1ZhbGlkT2Zmc2V0KHRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSktPmdldCh2bSwg
cHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKSkpIHsKICAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiBE
b250RGVsZXRlICYmICF2bS5pc0luRGVmaW5lT3duUHJvcGVydHkoKSkKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAgICAgdGhpc09iamVjdC0+cmVtb3ZlRGlyZWN0KHZtLCBwcm9wZXJ0
eU5hbWUpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICAvLyBMb29rIGluIHRo
ZSBzdGF0aWMgaGFzaHRhYmxlIG9mIHByb3BlcnRpZXMKLSAgICBjb25zdCBIYXNoVGFibGVWYWx1
ZSogZW50cnkgPSB0aGlzT2JqZWN0LT5maW5kUHJvcGVydHlIYXNoRW50cnkocHJvcGVydHlOYW1l
KTsKLSAgICBpZiAoZW50cnkpIHsKLSAgICAgICAgaWYgKGVudHJ5LT5hdHRyaWJ1dGVzKCkgJiBE
b250RGVsZXRlICYmICF2bS5pc0luRGVmaW5lT3duUHJvcGVydHkoKSkKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsgLy8gdGhpcyBidWlsdGluIHByb3BlcnR5IGNhbid0IGJlIGRlbGV0ZWQKLQot
ICAgICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdCh0aGlzT2JqZWN0KTsKLSAgICAgICAgaWYgKCEo
ZW50cnktPmF0dHJpYnV0ZXMoKSAmIEJ1aWx0aW5PckZ1bmN0aW9uT3JBY2Nlc3NvcikpIHsKLSAg
ICAgICAgICAgIEFTU0VSVCh0aGlzT2JqZWN0LT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpOwot
ICAgICAgICAgICAgcHV0RW50cnkoZXhlYywgZW50cnksIHRoaXNPYmplY3QsIHByb3BlcnR5TmFt
ZSwganNVbmRlZmluZWQoKSwgc2xvdCk7Ci0gICAgICAgIH0KICAgICB9CiAKICAgICByZXR1cm4g
dHJ1ZTsKQEAgLTE2MTMsNyArMTU5OCw4IEBAIHZvaWQgSlNPYmplY3Q6OmdldE93blByb3BlcnR5
TmFtZXMoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hCiAKIHZv
aWQgSlNPYmplY3Q6OmdldE93bk5vbkluZGV4UHJvcGVydHlOYW1lcyhKU09iamVjdCogb2JqZWN0
LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZUFycmF5JiBwcm9wZXJ0eU5hbWVzLCBFbnVt
ZXJhdGlvbk1vZGUgbW9kZSkKIHsKLSAgICBnZXRDbGFzc1Byb3BlcnR5TmFtZXMoZXhlYywgb2Jq
ZWN0LT5jbGFzc0luZm8oKSwgcHJvcGVydHlOYW1lcywgbW9kZSwgb2JqZWN0LT5zdGF0aWNGdW5j
dGlvbnNSZWlmaWVkKCkpOworICAgIGlmICghb2JqZWN0LT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVk
KCkpCisgICAgICAgIGdldENsYXNzUHJvcGVydHlOYW1lcyhleGVjLCBvYmplY3QtPmNsYXNzSW5m
bygpLCBwcm9wZXJ0eU5hbWVzLCBtb2RlKTsKIAogICAgIGlmICghbW9kZS5pbmNsdWRlSlNPYmpl
Y3RQcm9wZXJ0aWVzKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTE2NjcsOSArMTY1Myw3IEBAIHZv
aWQgSlNPYmplY3Q6OnByZXZlbnRFeHRlbnNpb25zKFZNJiB2bSkKICAgICBzZXRTdHJ1Y3R1cmUo
dm0sIFN0cnVjdHVyZTo6cHJldmVudEV4dGVuc2lvbnNUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUo
dm0pKSk7CiB9CiAKLS8vIFRoaXMgcHJlc2VudGx5IHdpbGwgZmxhdHRlbiB0byBhbiB1bmNhY2hh
YmxlIGRpY3Rpb25hcnk7IHRoaXMgaXMgc3VpdGFibGUKLS8vIGZvciB1c2UgaW4gZGVsZXRlLCB3
ZSBtYXkgd2FudCB0byBkbyBzb21ldGhpbmcgZGlmZmVyZW50IGVsc2V3aGVyZS4KLXZvaWQgSlNP
YmplY3Q6OnJlaWZ5U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKEV4ZWNTdGF0ZSogZXhlYykKK3Zv
aWQgSlNPYmplY3Q6OnJlaWZ5QWxsU3RhdGljUHJvcGVydGllcyhFeGVjU3RhdGUqIGV4ZWMpCiB7
CiAgICAgQVNTRVJUKCFzdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpOwogICAgIFZNJiB2bSA9IGV4
ZWMtPnZtKCk7CkBAIC0xNjg4LDMwICsxNjcyLDEyIEBAIHZvaWQgSlNPYmplY3Q6OnJlaWZ5U3Rh
dGljRnVuY3Rpb25zRm9yRGVsZXRlKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgY29uc3QgSGFz
aFRhYmxlKiBoYXNoVGFibGUgPSBpbmZvLT5zdGF0aWNQcm9wSGFzaFRhYmxlOwogICAgICAgICBp
ZiAoIWhhc2hUYWJsZSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBQcm9wZXJ0eVNs
b3Qgc2xvdCh0aGlzKTsKLSAgICAgICAgZm9yIChhdXRvIGl0ZXIgPSBoYXNoVGFibGUtPmJlZ2lu
KCk7IGl0ZXIgIT0gaGFzaFRhYmxlLT5lbmQoKTsgKytpdGVyKSB7Ci0gICAgICAgICAgICBpZiAo
aXRlci0+YXR0cmlidXRlcygpICYgQnVpbHRpbk9yRnVuY3Rpb25PckFjY2Vzc29yKQotICAgICAg
ICAgICAgICAgIHNldFVwU3RhdGljRnVuY3Rpb25TbG90KGdsb2JhbE9iamVjdCgpLT5nbG9iYWxF
eGVjKCksIGl0ZXIudmFsdWUoKSwgdGhpcywgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sIGl0
ZXIua2V5KCkpLCBzbG90KTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIHN0cnVjdHVyZSh2bSkt
PnNldFN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQodHJ1ZSk7Ci19Ci0KLXZvaWQgSlNPYmplY3Q6OnJl
aWZ5QWxsU3RhdGljUHJvcGVydGllcyhFeGVjU3RhdGUqIGV4ZWMpCi17Ci0gICAgVk0mIHZtID0g
ZXhlYy0+dm0oKTsKLQotICAgIGZvciAoY29uc3QgQ2xhc3NJbmZvKiBpbmZvID0gY2xhc3NJbmZv
KCk7IGluZm87IGluZm8gPSBpbmZvLT5wYXJlbnRDbGFzcykgewotICAgICAgICBjb25zdCBIYXNo
VGFibGUqIGhhc2hUYWJsZSA9IGluZm8tPnN0YXRpY1Byb3BIYXNoVGFibGU7Ci0gICAgICAgIGlm
ICghaGFzaFRhYmxlKQotICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgZm9yIChhdXRv
IGl0ZXIgPSBoYXNoVGFibGUtPmJlZ2luKCk7IGl0ZXIgIT0gaGFzaFRhYmxlLT5lbmQoKTsgKytp
dGVyKSB7CisgICAgICAgIGZvciAoYXV0byYgdmFsdWUgOiAqaGFzaFRhYmxlKSB7CiAgICAgICAg
ICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwotICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zm
c2V0ID0gZ2V0RGlyZWN0T2Zmc2V0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgaXRl
ci5rZXkoKSksIGF0dHJpYnV0ZXMpOworICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
ID0gZ2V0RGlyZWN0T2Zmc2V0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgdmFsdWUu
bV9rZXkpLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgICAgIGlmICghaXNWYWxpZE9mZnNldChvZmZz
ZXQpKQotICAgICAgICAgICAgICAgIHJlaWZ5U3RhdGljUHJvcGVydHkodm0sICppdGVyLnZhbHVl
KCksICp0aGlzKTsKKyAgICAgICAgICAgICAgICByZWlmeVN0YXRpY1Byb3BlcnR5KHZtLCB2YWx1
ZSwgKnRoaXMpOwogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNPYmplY3QuaAppbmRleCBjYzlmY2EwNjc4Zjk2N2ZkZTc0OTViZGE1ZTVkMWRmMzQxNWY4
ZTY0Li4wNGIyNjVlZTYwOWM1N2Y3OGFlYWRjNTgwMjRiZDM4MGVhZjkxNjg5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKQEAgLTYyMyw3ICs2MjMsNiBAQCBwdWJs
aWM6CiAgICAgfQogCiAgICAgYm9vbCBzdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkgeyByZXR1cm4g
c3RydWN0dXJlKCktPnN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQoKTsgfQotICAgIHZvaWQgcmVpZnlT
dGF0aWNGdW5jdGlvbnNGb3JEZWxldGUoRXhlY1N0YXRlKik7CiAgICAgdm9pZCByZWlmeUFsbFN0
YXRpY1Byb3BlcnRpZXMoRXhlY1N0YXRlKik7CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBCdXR0
ZXJmbHkqIGdyb3dPdXRPZkxpbmVTdG9yYWdlKFZNJiwgc2l6ZV90IG9sZFNpemUsIHNpemVfdCBu
ZXdTaXplKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1
cC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggMGExZTlk
ZWJjNTdjOTg1NDgzNGFjZDZlYmYzMDAzMmEwMzkyY2RkYi4uY2YyNmE2NDk3NDk3ODI5MzNmMTdi
Nzk2ZTlkMGNlOGNlNTlmN2RlMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTG9va3VwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3Vw
LmgKQEAgLTEzNSw2ICsxMzUsOCBAQCBzdHJ1Y3QgSGFzaFRhYmxlIHsKICAgICAgICAgICAgIHJl
dHVybiAmbV90YWJsZS0+dmFsdWVzW21fcG9zaXRpb25dOwogICAgICAgICB9CiAKKyAgICAgICAg
Y29uc3QgSGFzaFRhYmxlVmFsdWUmIG9wZXJhdG9yKigpIHsgcmV0dXJuICp2YWx1ZSgpOyB9CisK
ICAgICAgICAgY29uc3QgY2hhcioga2V5KCkKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJu
IG1fdGFibGUtPnZhbHVlc1ttX3Bvc2l0aW9uXS5tX2tleTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJvcGVydHlTbG90LmgKaW5kZXggYWQyOThmZGJmYTBjNmY4YzBmNDJkNjZj
OTBiZTU3NDQ5ZDI3OWQyMC4uYTM2NWNjNTlkMDcwNDdhMDk0ZmJjOTM1NGRhODJmMTNiZDc3Yzk3
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlTbG90
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlTbG90LmgKQEAg
LTExNyw3ICsxMTcsNyBAQCBwdWJsaWM6CiAKICAgICBHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0dGVy
KCkgY29uc3QKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc0NhY2hlYWJsZUN1c3RvbSgpKTsKKyAg
ICAgICAgQVNTRVJUKGlzQ2FjaGVhYmxlQ3VzdG9tKCkgfHwgaXNDdXN0b20oKSk7CiAgICAgICAg
IHJldHVybiBtX2RhdGEuY3VzdG9tLmdldFZhbHVlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDIwZGU4YjQwZDI2
YmFlMDJhY2RiNDY1ZTE5OGMwODM4MDJmMGM0OGMuLjdjZmU2YTg5YWE4YmFiOTcxMjY4NjY4M2U4
MGNkNDJmMDg2M2MyNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV2luZG93Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd0N1c3RvbS5jcHAKQEAgLTIwMSw4ICsyMDEsMTIgQEAgYm9vbCBKU0RPTVdpbmRvdzo6
Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJv
cGVydHkKICAgICB9CiAjZW5kaWYKIAotICAgIGNvbnN0IEhhc2hUYWJsZVZhbHVlKiBlbnRyeSA9
IEpTRE9NV2luZG93OjppbmZvKCktPnN0YXRpY1Byb3BIYXNoVGFibGUtPmVudHJ5KHByb3BlcnR5
TmFtZSk7Ci0gICAgaWYgKGVudHJ5KSB7CisgICAgaWYgKGF1dG8qIGVudHJ5ID0gSlNET01XaW5k
b3c6OmluZm8oKS0+c3RhdGljUHJvcEhhc2hUYWJsZS0+ZW50cnkocHJvcGVydHlOYW1lKSkgewor
ICAgICAgICAvLyBXaGVuIGFjY2Vzc2luZyBjcm9zcy1vcmlnaW4ga25vd24gV2luZG93IHByb3Bl
cnRpZXMsIHdlIGFsd2F5cyB1c2UgdGhlIG9yaWdpbmFsIHByb3BlcnR5IGdldHRlciwKKyAgICAg
ICAgLy8gZXZlbiBpZiB0aGUgcHJvcGVydHkgd2FzIHJlbW92ZWQgLyByZWRlZmluZWQuIFRoaXMg
bWF0Y2hlcyBGaXJlZm94IGFuZCBDaHJvbWUncyBiZWhhdmlvci4KKyAgICAgICAgaWYgKHRoaXNP
YmplY3QtPnN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQoKSAmJiBhbGxvd3NBY2Nlc3MpCisgICAgICAg
ICAgICByZXR1cm4gQmFzZTo6Z2V0T3duUHJvcGVydHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIHBy
b3BlcnR5TmFtZSwgc2xvdCk7CisKICAgICAgICAgc2xvdC5zZXRDYWNoZWFibGVDdXN0b20odGhp
c09iamVjdCwgYWxsb3dzQWNjZXNzID8gZW50cnktPmF0dHJpYnV0ZXMoKSA6IFJlYWRPbmx5IHwg
RG9udERlbGV0ZSB8IERvbnRFbnVtLCBlbnRyeS0+cHJvcGVydHlHZXR0ZXIoKSk7CiAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KQEAgLTM2NSw4ICszNjksMTAgQEAgdm9pZCBKU0RPTVdpbmRv
dzo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVy
dHlOYW1lLAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKGxvb2t1cFB1dChleGVj
LCBwcm9wZXJ0eU5hbWUsIHRoaXNPYmplY3QsIHZhbHVlLCAqc19pbmZvLnN0YXRpY1Byb3BIYXNo
VGFibGUsIHNsb3QpKQotICAgICAgICByZXR1cm47CisgICAgaWYgKCF0aGlzT2JqZWN0LT5zdGF0
aWNGdW5jdGlvbnNSZWlmaWVkKCkpIHsKKyAgICAgICAgaWYgKGxvb2t1cFB1dChleGVjLCBwcm9w
ZXJ0eU5hbWUsIHRoaXNPYmplY3QsIHZhbHVlLCAqc19pbmZvLnN0YXRpY1Byb3BIYXNoVGFibGUs
IHNsb3QpKQorICAgICAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAgIGlmIChCaW5kaW5nU2Vj
dXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coZXhlYywgdGhpc09iamVjdC0+d3Jh
cHBlZCgpKSkKICAgICAgICAgQmFzZTo6cHV0KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFt
ZSwgdmFsdWUsIHNsb3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCA1YzZhNDAyYmY3ZDQxNjg2ZWQ2ZmRiZGI4ZTNmZThi
OWYyZTVmYjYyLi44NzJlMWU0MThiZDIxOWJmNTEzZTE5OTM1NWQ1OTNhMzFmNjliYTU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bQpAQCAtNjg1LDYgKzY4NSw4IEBAIHN1YiBDb25zdHJ1Y3RvclNob3VsZEJlT25JbnN0YW5jZQog
ewogICAgIG15ICRpbnRlcmZhY2UgPSBzaGlmdDsKIAorICAgICMgRklYTUU6IGNvbnN0cnVjdG9y
IHNob3VsZCBhbHdheXMgYmUgb24gdGhlIHByb3RvdHlwZToKKyAgICAjIGh0dHA6Ly93d3cudzMu
b3JnL1RSL1dlYklETC8jaW50ZXJmYWNlLXByb3RvdHlwZS1vYmplY3QKICAgICByZXR1cm4gMSBp
ZiAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hlY2tTZWN1cml0eSJ9OwogICAg
IHJldHVybiAwOwogfQpAQCAtMTM1NywxMyArMTM1OSw3IEBAIHN1YiBHZW5lcmF0ZUF0dHJpYnV0
ZXNIYXNoVGFibGUKIAogICAgICAgICAgICAgbXkgJHNldHRlciA9ICJzZXRKUyIgLiAkaW50ZXJm
YWNlTmFtZSAuICJDb25zdHJ1Y3RvciI7CiAgICAgICAgICAgICBwdXNoKEAkaGFzaFZhbHVlMiwg
JHNldHRlcik7Ci0KLSAgICAgICAgICAgICMgRklYTUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIHNw
ZWNpYWwtY2FzZSBET01XaW5kb3c/Ci0gICAgICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEg
IkRPTVdpbmRvdyIpIHsKLSAgICAgICAgICAgICAgICBwdXNoKEAkaGFzaFNwZWNpYWxzLCAiRG9u
dEVudW0gfCBEb250RGVsZXRlIik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgIHB1c2goQCRoYXNoU3BlY2lhbHMsICJEb250RW51bSIpOwotICAgICAgICAgICAgfQorICAg
ICAgICAgICAgcHVzaChAJGhhc2hTcGVjaWFscywgIkRvbnRFbnVtIik7CiAgICAgICAgIH0KICAg
ICB9CiAKQEAgLTEzNzYsMTMgKzEzNzIsMTEgQEAgc3ViIEdlbmVyYXRlQXR0cmlidXRlc0hhc2hU
YWJsZQogICAgICAgICBwdXNoKEAkaGFzaEtleXMsICRuYW1lKTsKIAogICAgICAgICBteSBAc3Bl
Y2lhbHMgPSAoKTsKLSAgICAgICAgIyBBcyBwZXIgV2ViIElETCBzcGVjaWZpY2F0aW9uLCBjb25z
dHJ1Y3RvciBwcm9wZXJ0aWVzIG9uIHRoZSBFQ01BU2NyaXB0IGdsb2JhbCBvYmplY3Qgc2hvdWxk
IGJlCi0gICAgICAgICMgY29uZmlndXJhYmxlIGFuZCBzaG91bGQgbm90IGJlIGVudW1lcmFibGUu
Ci0gICAgICAgIG15ICRpc19nbG9iYWxfY29uc3RydWN0b3IgPSAkYXR0cmlidXRlLT5zaWduYXR1
cmUtPnR5cGUgPX4gL0NvbnN0cnVjdG9yJC87Ci0KLSAgICAgICAgcHVzaChAc3BlY2lhbHMsICJE
b250RGVsZXRlIikgaWYgKCRpc0luc3RhbmNlICYmICEkaXNfZ2xvYmFsX2NvbnN0cnVjdG9yKSB8
fCAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJVbmZvcmdlYWJs
ZSJ9CisgICAgICAgIHB1c2goQHNwZWNpYWxzLCAiRG9udERlbGV0ZSIpIGlmICRhdHRyaWJ1dGUt
PnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlVuZm9yZ2VhYmxlIn0KICAgICAgICAg
ICAgIHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJVbmZvcmdlYWJsZSJ9Owog
CisgICAgICAgICMgQXMgcGVyIFdlYiBJREwgc3BlY2lmaWNhdGlvbiwgY29uc3RydWN0b3IgcHJv
cGVydGllcyBvbiB0aGUgRUNNQVNjcmlwdCBnbG9iYWwgb2JqZWN0IHNob3VsZCBub3QgYmUgZW51
bWVyYWJsZS4KKyAgICAgICAgbXkgJGlzX2dsb2JhbF9jb25zdHJ1Y3RvciA9ICRhdHRyaWJ1dGUt
PnNpZ25hdHVyZS0+dHlwZSA9fiAvQ29uc3RydWN0b3IkLzsKICAgICAgICAgcHVzaChAc3BlY2lh
bHMsICJEb250RW51bSIpIGlmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJOb3RFbnVtZXJhYmxlIn0gfHwgJGlzX2dsb2JhbF9jb25zdHJ1Y3Rvcik7CiAgICAg
ICAgIHB1c2goQHNwZWNpYWxzLCAiUmVhZE9ubHkiKSBpZiBJc1JlYWRvbmx5KCRhdHRyaWJ1dGUp
OwogICAgICAgICBwdXNoKEBzcGVjaWFscywgIkN1c3RvbUFjY2Vzc29yIikgdW5sZXNzICRpc19n
bG9iYWxfY29uc3RydWN0b3Igb3IgSXNKU0J1aWx0aW4oJGludGVyZmFjZSwgJGF0dHJpYnV0ZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0QWN0aXZlRE9NT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCmluZGV4IDA2MTFkZjNmMjY2MTY0MTM0
MWEwODA2OGY1ZTVkYjc0ZTg5NTAwNTcuLmRjMzU4NTk3NzMyOTEwZWE4NTQ1NTMyZGE4YjU0NWYx
ZDdiMmU2YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCkBAIC04Myw3ICs4
Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RBY3RpdmVE
T01PYmplY3RUYWJsZUluZGV4WzRdID0gewogc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpT
VGVzdEFjdGl2ZURPTU9iamVjdFRhYmxlVmFsdWVzW10gPQogewogICAgIHsgImNvbnN0cnVjdG9y
IiwgRG9udEVudW0sIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0
eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0QWN0aXZlRE9NT2JqZWN0Q29uc3RydWN0b3IpLCAo
aW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRK
U1Rlc3RBY3RpdmVET01PYmplY3RDb25zdHJ1Y3RvcikgfSB9LAotICAgIHsgImV4Y2l0aW5nQXR0
ciIsIERvbnREZWxldGUgfCBSZWFkT25seSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywg
eyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVz
dEFjdGl2ZURPTU9iamVjdEV4Y2l0aW5nQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0
UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJleGNpdGluZ0F0dHIi
LCBSZWFkT25seSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3Rh
dGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEFjdGl2ZURPTU9iamVj
dEV4Y2l0aW5nQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQ
dXRWYWx1ZUZ1bmM+KDApIH0gfSwKIH07CiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0
QWN0aXZlRE9NT2JqZWN0VGFibGUgPSB7IDIsIDMsIHRydWUsIEpTVGVzdEFjdGl2ZURPTU9iamVj
dFRhYmxlVmFsdWVzLCBKU1Rlc3RBY3RpdmVET01PYmplY3RUYWJsZUluZGV4IH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
eGNlcHRpb24uY3BwCmluZGV4IDA5MzQ2ZTNjNDk4MWQxODU4MDFlNDkyNTdjZDkzZmRjMTJkNzNl
MjIuLjVmODlmOGUzODVhOTBlYWQ2NjJjZGNhNzc0MmJhNzcwNWQ3ODk0MzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
eGNlcHRpb24uY3BwCkBAIC03NCw3ICs3NCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFj
dEhhc2hJbmRleCBKU1Rlc3RFeGNlcHRpb25UYWJsZUluZGV4WzJdID0gewogCiBzdGF0aWMgY29u
c3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0RXhjZXB0aW9uVGFibGVWYWx1ZXNbXSA9CiB7Ci0gICAg
eyAibmFtZSIsIERvbnREZWxldGUgfCBSZWFkT25seSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJp
bnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzVGVzdEV4Y2VwdGlvbk5hbWUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5
U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAibmFtZSIsIFJlYWRPbmx5IHwgQ3Vz
dG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0
eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0RXhjZXB0aW9uTmFtZSksIChpbnRwdHJfdCkgc3Rh
dGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKIH07CiAKIHN0
YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0RXhjZXB0aW9uVGFibGUgPSB7IDEsIDEsIHRydWUs
IEpTVGVzdEV4Y2VwdGlvblRhYmxlVmFsdWVzLCBKU1Rlc3RFeGNlcHRpb25UYWJsZUluZGV4IH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RPYmouY3BwCmluZGV4IDBmMjg4YTFmNjkyYWUwNjQ4Zjg5MzA3NzIzZmM2YjI3MTBlM2E3MWQu
LjlhY2Q0ZWI3Zjc3OWVhNDkzMWM0Njg1MjEyZjY1YzQ5NGY5ZjZlOWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBA
IC00MDIsNyArNDAyLDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE9ialRh
YmxlVmFsdWVzW10gPQogI2Vsc2UKICAgICB7IDAsIDAsIE5vSW50cmluc2ljLCB7IDAsIDAgfSB9
LAogI2VuZGlmCi0gICAgeyAiY29udGVudERvY3VtZW50IiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
IHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ29udGVudERvY3VtZW50KSwgKGlu
dHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9
LAorICAgIHsgImNvbnRlbnREb2N1bWVudCIsIFJlYWRPbmx5IHwgQ3VzdG9tQWNjZXNzb3IsIE5v
SW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVl
RnVuYz4oanNUZXN0T2JqQ29udGVudERvY3VtZW50KSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQ
dXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAogfTsKIAogc3RhdGljIGNvbnN0
IEhhc2hUYWJsZSBKU1Rlc3RPYmpUYWJsZSA9IHsgNSwgMTUsIHRydWUsIEpTVGVzdE9ialRhYmxl
VmFsdWVzLCBKU1Rlc3RPYmpUYWJsZUluZGV4IH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2Q2YzIzY2RhYjI4ZWUyNWVm
ZGZhMWZkMDMxMWZhN2ViYjM2YzEwMi4uYjI3YWFkNWI3MTk0Y2ZiZmFmMDFlOWYzMzRmODMzM2Zj
ODdkY2RiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE2LTAyLTA3ICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQXR0cmlidXRlcyBvbiB0aGUgV2luZG93IGlu
c3RhbmNlIHNob3VsZCBiZSBjb25maWd1cmFibGUgdW5sZXNzIFtVbmZvcmdlYWJsZV0KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzkyMAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWNvbmZpZ3VyYWJsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1jb25maWd1cmFibGUu
aHRtbDogQWRkZWQuCisgICAgICAgIEFkZCBhIHRlc3QgdG8gY2hlY2sgdGhhdCBXaW5kb3cgcHJv
cGVydGllcyBhcmUgcmVwb3J0ZWQgYXMgY29uZmlndXJhYmxlCisgICAgICAgIHVubGVzcyB0aGUg
W1VuZm9yZ2VhYmxlXSBvbmVzIGFuZCB0aGF0IGRlbGV0aW5nIHRoZW0gYWN0dWFsbHkgd29ya3Mu
CisKKyAgICAgICAgKiBmYXN0L2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLmh0bWw6CisgICAgICAg
IFVwZGF0ZSB0ZXN0IHNvIGl0IG5vIGxvbmdlciBleHBlY3RzIHdpbmRvdy5Ob2RlIHRvIGJlIHNo
YWRvd2FibGUuIEFzIHBlcgorICAgICAgICB0aGUgc3BlY2lmaWNhdGlvbiwgdGhlICJOb2RlIiBw
cm9wZXJ0eSBpcyBvbiB0aGUgd2luZG93IGluc3RhbmNlLCBub3QgaXRzCisgICAgICAgIHByb3Rv
dHlwZS4gVGhlcmVmb3JlLCBpdCBzaG91bGQgY2Fubm90IGJlIHNoYWRvd2VkIGFuZCBzZXR0aW5n
IGl0IHRvCisgICAgICAgIHNvbWV0aGluZyBhY3R1YWxseSBvdmVyd2l0ZXMgdGhlIHByZXZpb3Vz
IHZhbHVlLCBnaXZlbiB0aGF0IHRoZSBwcm9wZXJ0eQorICAgICAgICBpcyB3cml0YWJsZSBhcyBw
ZXI6CisgICAgICAgIC0gaHR0cDovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNlcy1pbnRlcmZh
Y2VzCisgICAgICAgIEkgaGF2ZSB2ZXJpZmllZCB0aGF0IHRoZSBuZXcgYmVoYXZpb3IgaXMgY29u
c2lzdGVudCB3aXRoIEZpcmVmb3guCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi1yZWlmaWVkLXdpbmRvdy1wcm9wZXJ0eS1hY2Nlc3MtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1yZWlmaWVk
LXdpbmRvdy1wcm9wZXJ0eS1hY2Nlc3MuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9zZWN1cml0eS9yZXNvdXJjZXMvcmVpZnktd2luZG93Lmh0bWw6IEFkZGVkLgorICAgICAgICBB
ZGQgYSB0ZXN0IGNhc2UgdG8gY292ZXIgY3Jvc3Mtb3JpZ2luIGFjY2VzcyBvZiBXaW5kb3cgcHJv
cGVydGllcyBhZnRlcgorICAgICAgICByZWlmaWNhdGlvbi4KKworICAgICAgICAqIGpzL2dldE93
blByb3BlcnR5RGVzY3JpcHRvci11bmZvcmdlYWJsZS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBqcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0cmli
dXRlcy5odG1sOgorICAgICAgICBEcm9wIHdpbmRvdy5zZWxmIGZyb20gdGhlIGxpc3Qgb2YgdW5m
b3JnZWFibGUgYXR0cmlidXRlcy4gVGhpcyBhdHRyaWJ1dGUKKyAgICAgICAgaXMgbm90IHVuZm9y
Z2VhYmxlIGluIG91ciBpbXBsZW1lbnRhdGlvbiBvciBpbiB0aGUgc3BlY2lmaWNhdGlvbjoKKyAg
ICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9icm93c2Vycy5o
dG1sI3RoZS13aW5kb3ctb2JqZWN0CisKKyAgICAgICAgKiBqcy9nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3Itd2luZG93LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGpzL2dldE93
blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1sOgorICAgICAgICAtIEFk
ZCBjb3ZlcmFnZSBmb3Igd2luZG93LnNlbGYgd2hpY2ggaXMgYSByZWd1bGFyIFdpbmRvdyBwcm9w
ZXJ0eS4KKyAgICAgICAgLSBBZGQgY292ZXJhZ2UgZm9yIHdpbmRvdy5Ob2RlIHdoaWNoIGlzIGEg
Y29uc3RydWN0b3IgcHJvcGVydHkKKyAgICAgICAgLSBBZGQgY292ZXJhZ2UgZm9yIHdpbmRvdy5j
b25zdHJ1Y3Rvci4gSXQgc2hvdWxkIHJlYWxseSBiZSBvbiB0aGUgcHJvdG90eXBlCisgICAgICAg
ICAgYXMgcGVyIHRoZSBzcGVjaWZpY2F0aW9uIGJ1dCB0aGlzIGF0IGxlYXN0IGNoZWNrcyB0aGF0
IHRoZSBwcm9wZXJ0eSBpcworICAgICAgICAgIGNvbmZpZ3VyYWJsZSwgYXMgcGVyIHRoZSBzcGVj
aWZpY2F0aW9uLgorICAgICAgICAtIFJlYmFzZWxpbmUgdGhlIHRlc3QgYXMgbW9yZSBjaGVja3Mg
YXJlIHBhc3Npbmcgbm93IHRoYXQgV2luZG93IHByb3BlcnRpZXMKKyAgICAgICAgICBhcmUgbWFy
a2VkIGFzIGNvbmZpZ3VyYWJsZS4KKwogMjAxNi0wMi0wOCAgWXVzdWtlIFN1enVraSAgPHV0YXRh
bmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICB7TWFwLFNldH0ucHJvdG90eXBlLmZvckVhY2gg
c2hvdWxkIGJlIHZpc2libGUgYXMgb3duIHByb3BlcnRpZXMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1jb25maWd1cmFibGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWNv
bmZpZ3VyYWJsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjg4MjZmYWU1ZmZhOWRlZTRiOGEz
OWZiNGRlYmQ1YzAwYWIzMjc0OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1jb25maWd1cmFibGUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzcgQEAKK1Rlc3RzIHRoYXQgV2luZG93IHByb3BlcnRpZXMgYXJlIGluZGVlZCBj
b25maWd1cmFibGUgdW5sZXNzIFtVbmZvcmdlYWJsZV0KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKKyogUmVndWxhciBJREwgYXR0cmlidXRlLgorUEFTUyBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ25hbWUnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFT
UyB3aW5kb3cubmFtZSBpcyAiIgorUEFTUyBkZWxldGUgd2luZG93Lm5hbWUgaXMgdHJ1ZQorUEFT
UyB3aW5kb3cubmFtZSBpcyB1bmRlZmluZWQuCit3aW5kb3cubmFtZSA9IDMKK1BBU1Mgd2luZG93
Lm5hbWUgaXMgMworUEFTUyBkZWxldGUgd2luZG93Lm5hbWUgaXMgdHJ1ZQorUEFTUyB3aW5kb3cu
bmFtZSBpcyB1bmRlZmluZWQuCisKKyogQ29uc3RydWN0b3IgYXR0cmlidXRlcy4KK1BBU1MgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdOb2RlJykuY29uZmlndXJhYmxl
IGlzIHRydWUKK1BBU1Mgd2luZG93Lk5vZGUgaXMgbm90IHVuZGVmaW5lZAorUEFTUyBkZWxldGUg
d2luZG93Lk5vZGUgaXMgdHJ1ZQorUEFTUyB3aW5kb3cuTm9kZSBpcyB1bmRlZmluZWQuCit3aW5k
b3cuTm9kZSA9IDMKK1BBU1Mgd2luZG93Lk5vZGUgaXMgMworUEFTUyBkZWxldGUgd2luZG93Lk5v
ZGUgaXMgdHJ1ZQorUEFTUyB3aW5kb3cuTm9kZSBpcyB1bmRlZmluZWQuCisKKyogW1VuZm9yZ2Vh
YmxlXSBJREwgYXR0cmlidXRlLgorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KHdpbmRvdywgJ3dpbmRvdycpLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZQorUEFTUyB3aW5kb3cud2lu
ZG93IGlzIG5vdCB1bmRlZmluZWQKK1BBU1MgZGVsZXRlIHdpbmRvdy53aW5kb3cgaXMgZmFsc2UK
K1BBU1Mgd2luZG93LndpbmRvdyBpcyBub3QgdW5kZWZpbmVkCit3aW5kb3cud2luZG93ID0gMwor
UEFTUyB3aW5kb3cud2luZG93IGlzIG5vdCAzCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtY29uZmlndXJhYmxlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtY29uZmlndXJhYmxlLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjBlYTE5MjMxMDgyNTIzMTFiZmNlYmZmYTBmNzllOGM3NDdmNjQxMgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGll
cy1jb25maWd1cmFibGUuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1lUUEUgaHRtbD4KKzxo
dG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBXaW5kb3cg
cHJvcGVydGllcyBhcmUgaW5kZWVkIGNvbmZpZ3VyYWJsZSB1bmxlc3MgW1VuZm9yZ2VhYmxlXSIp
OworCitkZWJ1ZygiKiBSZWd1bGFyIElETCBhdHRyaWJ1dGUuIik7CitzaG91bGRCZVRydWUoIk9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnbmFtZScpLmNvbmZpZ3VyYWJs
ZSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cubmFtZSIsICIiKTsKK3Nob3VsZEJl
VHJ1ZSgiZGVsZXRlIHdpbmRvdy5uYW1lIik7CitzaG91bGRCZVVuZGVmaW5lZCgid2luZG93Lm5h
bWUiKTsKK2V2YWxBbmRMb2coIndpbmRvdy5uYW1lID0gMyIpOworc2hvdWxkQmUoIndpbmRvdy5u
YW1lIiwgIjMiKTsKK3Nob3VsZEJlVHJ1ZSgiZGVsZXRlIHdpbmRvdy5uYW1lIik7CitzaG91bGRC
ZVVuZGVmaW5lZCgid2luZG93Lm5hbWUiKTsKKworZGVidWcoIiIpOworZGVidWcoIiogQ29uc3Ry
dWN0b3IgYXR0cmlidXRlcy4iKTsKK3Nob3VsZEJlVHJ1ZSgiT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcih3aW5kb3csICdOb2RlJykuY29uZmlndXJhYmxlIik7CitzaG91bGROb3RCZSgi
d2luZG93Lk5vZGUiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZVRydWUoImRlbGV0ZSB3aW5kb3cu
Tm9kZSIpOworc2hvdWxkQmVVbmRlZmluZWQoIndpbmRvdy5Ob2RlIik7CitldmFsQW5kTG9nKCJ3
aW5kb3cuTm9kZSA9IDMiKTsKK3Nob3VsZEJlKCJ3aW5kb3cuTm9kZSIsICIzIik7CitzaG91bGRC
ZVRydWUoImRlbGV0ZSB3aW5kb3cuTm9kZSIpOworc2hvdWxkQmVVbmRlZmluZWQoIndpbmRvdy5O
b2RlIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCIqIFtVbmZvcmdlYWJsZV0gSURMIGF0dHJpYnV0
ZS4iKTsKK3Nob3VsZEJlRmFsc2UoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2lu
ZG93LCAnd2luZG93JykuY29uZmlndXJhYmxlIik7CitzaG91bGROb3RCZSgid2luZG93LndpbmRv
dyIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlRmFsc2UoImRlbGV0ZSB3aW5kb3cud2luZG93Iik7
CitzaG91bGROb3RCZSgid2luZG93LndpbmRvdyIsICJ1bmRlZmluZWQiKTsKK2V2YWxBbmRMb2co
IndpbmRvdy53aW5kb3cgPSAzIik7CitzaG91bGROb3RCZSgid2luZG93LndpbmRvdyIsICIzIik7
CisKK2RlYnVnKCIiKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy5odG1sCmluZGV4IDBiMzlkZDA3MDMz
NmUxYzM4OTZkODcwZjk5N2RlOWY4OTQ3YWQwNWMuLjlkMmRlOWIwOTg5NjI3ZjRiYmI2MmQzMzFk
MTAwNDE3ZmYyMjYxMWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2dsb2JhbC1j
b25zdHJ1Y3RvcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9nbG9iYWwtY29uc3Ry
dWN0b3JzLmh0bWwKQEAgLTk1LDE1ICs5NSwxNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAKICAg
ICBvcmlnaW5hbE5vZGVDb25zdHJ1Y3RvciA9IHdpbmRvdy5Ob2RlOyAgICAKIAotICAgIC8vIFNo
YWRvdyB3aW5kb3cuTm9kZQorICAgIC8vIFNldCB3aW5kb3cuTm9kZQogICAgIHdpbmRvdy5Ob2Rl
ID0gMTsKICAgICBwcmludCgiW1NldCB3aW5kb3cuTm9kZSA9IDFdIik7CiAgICAgc2hvdWxkQmUo
IndpbmRvdy5Ob2RlIiwgMSk7CiAgICAgCi0gICAgLy8gVW5zaGFkb3cgd2luZG93Lk5vZGUKKyAg
ICAvLyBEZWxldGUgd2luZG93Lk5vZGUKICAgICBkZWxldGUgd2luZG93Lk5vZGU7CiAgICAgcHJp
bnQoIltEZWxldGVkIHdpbmRvdy5Ob2RlXSIpOwotICAgIHNob3VsZEJlKCJ3aW5kb3cuTm9kZSIs
IG9yaWdpbmFsTm9kZUNvbnN0cnVjdG9yKTsKKyAgICBzaG91bGRCZSgid2luZG93Lk5vZGUiLCB1
bmRlZmluZWQpOworCisgICAgd2luZG93Lk5vZGUgPSBvcmlnaW5hbE5vZGVDb25zdHJ1Y3RvcjsK
IAogICAgIC8vIEF0dGVtcHQgdG8gc2hhZG93IHdpbmRvdy5Ob2RlIHdpdGggYSBmcmFtZSBuYW1l
ZCAnTm9kZScKICAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1l
Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9y
aWdpbi1yZWlmaWVkLXdpbmRvdy1wcm9wZXJ0eS1hY2Nlc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcmVpZmllZC13aW5kb3ctcHJv
cGVydHktYWNjZXNzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOTQxNTU0YzJhZDI1MzEzYmU0
ZTI5MjAyYzFiNzI2MGJkOWViM2MwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcmVpZmllZC13aW5kb3ctcHJvcGVydHktYWNj
ZXNzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIwIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTU6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBm
cm9tIGFjY2Vzc2luZyBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0OjgwMDAi
LiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDE1OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4w
LjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2Fs
aG9zdDo4MDAwIi4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAxNTogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMCIuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3Qg
bWF0Y2guCitUZXN0cyB0aGF0IHJlaWZpY2F0aW9uIGRvZXMgbm90IGJ5cGFzcyBjcm9zcy1vcmln
aW4gY2hlY2tzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBjcm9zc09y
aWdpbldpbmRvdy5kb2N1bWVudCByZXR1cm5lZCB1bmRlZmluZWQuCitQQVNTIGNyb3NzT3JpZ2lu
V2luZG93Lm5hbWUgcmV0dXJuZWQgdW5kZWZpbmVkLgorUEFTUyBjcm9zc09yaWdpbldpbmRvdy5t
ZW51YmFyIHJldHVybmVkIHVuZGVmaW5lZC4KK1BBU1MgY3Jvc3NPcmlnaW5XaW5kb3cuc2Nyb2xs
YmFycyIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBFT0YuCitQQVNT
IGNyb3NzT3JpZ2luV2luZG93Lm5hdmlnYXRvciIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJv
cjogVW5leHBlY3RlZCBFT0YuCitQQVNTIGNyb3NzT3JpZ2luV2luZG93LnNjcmVlblgiKSB0aHJl
dyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgRU9GLgorUEFTUyBjcm9zc09yaWdp
bldpbmRvdy5sb2NhdGlvbiBpcyBub3QgdW5kZWZpbmVkCitQQVNTIGNyb3NzT3JpZ2luV2luZG93
LnNlbGYgaXMgY3Jvc3NPcmlnaW5XaW5kb3cud2luZG93CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcmVpZmllZC13aW5kb3ctcHJvcGVydHktYWNj
ZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1y
ZWlmaWVkLXdpbmRvdy1wcm9wZXJ0eS1hY2Nlc3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNTJjNDAwNTQz
YjIwOGJmMTdlMmZhOGQ0NDQ2ZjhkOWE5ZmY1OTZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcmVpZmllZC13aW5kb3ctcHJv
cGVydHktYWNjZXNzLmh0bWwKQEAgLTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8aWZyYW1lIHNy
Yz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9yZWlmeS13aW5kb3cu
aHRtbCI+PC9pZnJhbWU+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgcmVpZmlj
YXRpb24gZG9lcyBub3QgYnlwYXNzIGNyb3NzLW9yaWdpbiBjaGVja3MuIik7Citqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gc2hvdWxkVGhyb3dPclJldHVyblVuZGVmaW5lZChleHBy
ZXNzaW9uKQoreworICAgIHRyeSB7CisgICAgICAgIHJlc3VsdCA9IGV2YWwoZXhwcmVzc2lvbik7
CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICB0ZXN0UGFzc2VkKGV4cHJlc3Npb24gKyAiIHRo
cmV3IGV4Y2VwdGlvbiAiICsgZSArICIuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAg
aWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKQorICAgICAgICB0ZXN0UGFzc2VkKGV4cHJlc3Npb24g
KyAiIHJldHVybmVkIHVuZGVmaW5lZC4iKTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQo
ZXhwcmVzc2lvbiArICIgcmV0dXJuZWQgIiArIHJlc3VsdCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRl
c3QoKQoreworICAgIGNyb3NzT3JpZ2luV2luZG93ID0gZnJhbWVzWzBdOworICAgIHNob3VsZFRo
cm93T3JSZXR1cm5VbmRlZmluZWQoJ2Nyb3NzT3JpZ2luV2luZG93LmRvY3VtZW50Jyk7CisgICAg
c2hvdWxkVGhyb3dPclJldHVyblVuZGVmaW5lZCgnY3Jvc3NPcmlnaW5XaW5kb3cubmFtZScpOwor
ICAgIHNob3VsZFRocm93T3JSZXR1cm5VbmRlZmluZWQoJ2Nyb3NzT3JpZ2luV2luZG93Lm1lbnVi
YXInKTsKKyAgICBzaG91bGRUaHJvd09yUmV0dXJuVW5kZWZpbmVkKCdjcm9zc09yaWdpbldpbmRv
dy5zY3JvbGxiYXJzIiknKTsKKyAgICBzaG91bGRUaHJvd09yUmV0dXJuVW5kZWZpbmVkKCdjcm9z
c09yaWdpbldpbmRvdy5uYXZpZ2F0b3IiKScpOworICAgIHNob3VsZFRocm93T3JSZXR1cm5VbmRl
ZmluZWQoJ2Nyb3NzT3JpZ2luV2luZG93LnNjcmVlblgiKScpOworICAgIHNob3VsZE5vdEJlKCdj
cm9zc09yaWdpbldpbmRvdy5sb2NhdGlvbicsICd1bmRlZmluZWQnKTsKKworICAgIC8vIEV2ZW4g
dGhvdWdoIHdpbmRvdy5zZWxmIHdhcyBkZWxldGVkLCB3ZSBzdGlsbCB1c2UgdGhlIG9yaWdpbmFs
IHN0YXRpYyBwcm9wZXJ0eSBnZXR0ZXIsIHRvIG1hdGNoCisgICAgLy8gRmlyZWZveCBhbmQgQ2hy
b21lLgorICAgIHNob3VsZEJlKCdjcm9zc09yaWdpbldpbmRvdy5zZWxmJywgJ2Nyb3NzT3JpZ2lu
V2luZG93LndpbmRvdycpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L3Jlc291cmNlcy9yZWlmeS13aW5kb3cuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvcmVzb3VyY2VzL3JlaWZ5LXdpbmRvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxYzI4MGYwMDlj
OTlhNmIxZjMwNGYzNGIzNDBlYmUxNzk5OWJjYzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9yZWlmeS13aW5kb3cuaHRtbApAQCAt
MCwwICsxLDQgQEAKKzxzY3JpcHQ+CitkZWxldGUgd2luZG93LnNlbGY7Cit3aW5kb3cuc2VsZiA9
ICJzZWNyZXQiOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0cmli
dXRlcy1leHBlY3RlZC50eHQKaW5kZXggMTJiZDVlNzMzYzlhZGJjMDEzYmZjN2EzN2ZiYWE4MDQ3
NTRjNTc4YS4uMTc0NDlkZGE4Nzg4MzdlNzE5OWM3YWY0OTZkOWYxZjIwZTk1OTMxYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXVuZm9yZ2VhYmxl
LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2pzL2dldE93blByb3Bl
cnR5RGVzY3JpcHRvci11bmZvcmdlYWJsZS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtOTgs
MTQgKzk4LDYgQEAgUEFTUyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZQogUEFTUyBk
ZXNjcmlwdG9yLmdldC5jYWxsKGludmFsaWRPYmplY3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IFRoZSBET01XaW5kb3cubG9jYXRpb24gZ2V0dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5z
dGFuY2VzIG9mIERPTVdpbmRvdy4KIFBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbCh3aW5kb3cpID09
PSB3aW5kb3cubG9jYXRpb24gaXMgdHJ1ZQogCi0qIFdpbmRvdy5zZWxmCi1QQVNTIGRlc2NyaXB0
b3IuZ2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCi1QQVNTIGRlc2NyaXB0b3Iuc2V0IGlz
IGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCi1QQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyB0
cnVlCi1QQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIGZhbHNlCi1QQVNTIGRlc2NyaXB0
b3IuZ2V0LmNhbGwoaW52YWxpZE9iamVjdCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhl
IERPTVdpbmRvdy5zZWxmIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBE
T01XaW5kb3cuCi1QQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93KSA9PT0gd2luZG93LnNl
bGYgaXMgdHJ1ZQotCiAqIFdpbmRvdy53aW5kb3cKIFBBU1MgZGVzY3JpcHRvci5nZXQgaXMgYW4g
aW5zdGFuY2Ugb2YgRnVuY3Rpb24KIFBBU1MgZGVzY3JpcHRvci5zZXQgaXMgdW5kZWZpbmVkLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXVuZm9y
Z2VhYmxlLWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVz
Y3JpcHRvci11bmZvcmdlYWJsZS1hdHRyaWJ1dGVzLmh0bWwKaW5kZXggMzI5MWVkZDdiYmFiZWI2
MWFkNmJjOTFhMjdiNjYwMjA2MGI1NmVjYy4uNDlmNjEyNzI0Yjk0OWIyZDIxYmRlOWY5OWY0ZmEw
MjhiZGFjOTcwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yLXVuZm9yZ2VhYmxlLWF0dHJpYnV0ZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9qcy9n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0cmlidXRlcy5odG1sCkBAIC00
MywxMiArNDMsNiBAQCBjaGVja1VuZm9yZ2VhYmxlUHJvcGVydHlEZXNjcmlwdG9yKGRlc2NyaXB0
b3IpOwogc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRvdykgPT09IHdpbmRv
dy5sb2NhdGlvbiIpOwogCiBkZWJ1ZygiIik7Ci1kZWJ1ZygiKiBXaW5kb3cuc2VsZiIpOwotZGVz
Y3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAic2VsZiIp
OwotY2hlY2tVbmZvcmdlYWJsZVByb3BlcnR5RGVzY3JpcHRvcihkZXNjcmlwdG9yKTsKLXNob3Vs
ZEJlVHJ1ZSgiZGVzY3JpcHRvci5nZXQuY2FsbCh3aW5kb3cpID09PSB3aW5kb3cuc2VsZiIpOwot
Ci1kZWJ1ZygiIik7CiBkZWJ1ZygiKiBXaW5kb3cud2luZG93Iik7CiBkZXNjcmlwdG9yID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICJ3aW5kb3ciKTsKIGNoZWNrVW5m
b3JnZWFibGVQcm9wZXJ0eURlc2NyaXB0b3IoZGVzY3JpcHRvciwgdHJ1ZSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Itd2luZG93LWF0dHJpYnV0
ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
LXdpbmRvdy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCBlODAwYmEzOGQyZjAyMDAyZDFm
MTcyODRkZDBjODFjYjMxZGJjYmY0Li45ZGJjYzQ0M2RmZjVlYjY5NjllMDBjMTJmNjQ4YWQzMmIy
Zjg2MDUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3Itd2luZG93LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2pzL2dl
dE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy1leHBlY3RlZC50eHQKQEAg
LTcsNyArNyw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiBQQVNTIGRlc2NyaXB0b3IuZ2V0
IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3Iuc2V0IGlzIGFuIGlu
c3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyB0cnVlCi1G
QUlMIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIHNob3VsZCBiZSB0cnVlLiBXYXMgZmFsc2UuCitQ
QVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1MgZGVzY3JpcHRvci5nZXQu
Y2FsbChub25XaW5kb3dPYmplY3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBET01X
aW5kb3cuc2NyZWVuIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBET01X
aW5kb3cuCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93KSA9PT0gd2luZG93LnNjcmVl
biBpcyB0cnVlCiBGQUlMIGRlc2NyaXB0b3IuZ2V0LmNhbGwoKSA9PT0gd2luZG93LnNjcmVlbiBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIERPTVdpbmRvdy5z
Y3JlZW4gZ2V0dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdwpA
QCAtMTYsMTYgKzE2LDI1IEBAIEZBSUwgZGVzY3JpcHRvci5nZXQuY2FsbCgpID09PSB3aW5kb3cu
c2NyZWVuIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gVHlwCiBQQVNTIGRlc2NyaXB0
b3IuZ2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3Iuc2V0IGlz
IGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyB0
cnVlCi1GQUlMIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIHNob3VsZCBiZSB0cnVlLiBXYXMgZmFs
c2UuCitQQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1MgZGVzY3JpcHRv
ci5nZXQuY2FsbChub25XaW5kb3dPYmplY3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRo
ZSBET01XaW5kb3cubmF2aWdhdG9yIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNl
cyBvZiBET01XaW5kb3cuCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93KSA9PT0gd2lu
ZG93Lm5hdmlnYXRvciBpcyB0cnVlCiBGQUlMIGRlc2NyaXB0b3IuZ2V0LmNhbGwoKSA9PT0gd2lu
ZG93Lm5hdmlnYXRvciBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
VGhlIERPTVdpbmRvdy5uYXZpZ2F0b3IgZ2V0dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFu
Y2VzIG9mIERPTVdpbmRvdwogCisqIFdpbmRvdy5zZWxmCitQQVNTIGRlc2NyaXB0b3IuZ2V0IGlz
IGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCitQQVNTIGRlc2NyaXB0b3Iuc2V0IGlzIGFuIGluc3Rh
bmNlIG9mIEZ1bmN0aW9uCitQQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyB0cnVlCitQQVNT
IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1MgZGVzY3JpcHRvci5nZXQuY2Fs
bChub25XaW5kb3dPYmplY3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBET01XaW5k
b3cuc2VsZiBnZXR0ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgRE9NV2luZG93
LgorUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRvdykgPT09IHdpbmRvdy5zZWxmIGlzIHRy
dWUKK0ZBSUwgZGVzY3JpcHRvci5nZXQuY2FsbCgpID09PSB3aW5kb3cuc2VsZiBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIERPTVdpbmRvdy5zZWxmIGdldHRl
ciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBET01XaW5kb3cKKwogKiBXaW5kb3cu
ZnJhbWVFbGVtZW50CiBQQVNTIGRlc2NyaXB0b3IuZ2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0
aW9uCiBQQVNTIGRlc2NyaXB0b3Iuc2V0IGlzIHVuZGVmaW5lZC4KIFBBU1MgZGVzY3JpcHRvci5l
bnVtZXJhYmxlIGlzIHRydWUKLUZBSUwgZGVzY3JpcHRvci5jb25maWd1cmFibGUgc2hvdWxkIGJl
IHRydWUuIFdhcyBmYWxzZS4KK1BBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMgdHJ1ZQog
UEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKG5vbldpbmRvd09iamVjdCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogVGhlIERPTVdpbmRvdy5mcmFtZUVsZW1lbnQgZ2V0dGVyIGNhbiBvbmx5IGJl
IHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdy4KIFBBU1MgZGVzY3JpcHRvci5nZXQuY2Fs
bCh3aW5kb3cpID09PSB3aW5kb3cuZnJhbWVFbGVtZW50IGlzIHRydWUKIEZBSUwgZGVzY3JpcHRv
ci5nZXQuY2FsbCgpID09PSB3aW5kb3cuZnJhbWVFbGVtZW50IHNob3VsZCBiZSB0cnVlLiBUaHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgRE9NV2luZG93LmZyYW1lRWxlbWVudCBnZXR0ZXIg
Y2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgRE9NV2luZG93CkBAIC0zNCwxMCArNDMs
MjMgQEAgRkFJTCBkZXNjcmlwdG9yLmdldC5jYWxsKCkgPT09IHdpbmRvdy5mcmFtZUVsZW1lbnQg
c2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGkKIFBBU1MgZGVzY3JpcHRvci5nZXQgaXMgYW4g
aW5zdGFuY2Ugb2YgRnVuY3Rpb24KIFBBU1MgZGVzY3JpcHRvci5zZXQgaXMgYW4gaW5zdGFuY2Ug
b2YgRnVuY3Rpb24KIFBBU1MgZGVzY3JpcHRvci5lbnVtZXJhYmxlIGlzIHRydWUKLUZBSUwgZGVz
Y3JpcHRvci5jb25maWd1cmFibGUgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KK1BBU1MgZGVz
Y3JpcHRvci5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKG5v
bldpbmRvd09iamVjdCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIERPTVdpbmRvdy5u
YW1lIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBET01XaW5kb3cuCiBQ
QVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93KSA9PT0gd2luZG93Lm5hbWUgaXMgdHJ1ZQog
RkFJTCBkZXNjcmlwdG9yLmdldC5jYWxsKCkgPT09IHdpbmRvdy5uYW1lIHNob3VsZCBiZSB0cnVl
LiBUaHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgRE9NV2luZG93Lm5hbWUgZ2V0dGVyIGNh
biBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdworCisqIHdpbmRvdy5Ob2Rl
CitQQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBkZXNjcmlwdG9yLndy
aXRhYmxlIGlzIHRydWUKK1BBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFT
UyBkZXNjcmlwdG9yLnZhbHVlIGlzIHdpbmRvdy5Ob2RlCisKKyogd2luZG93LmNvbnN0cnVjdG9y
CitQQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBkZXNjcmlwdG9yLndy
aXRhYmxlIGlzIHRydWUKK1BBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFT
UyBkZXNjcmlwdG9yLnZhbHVlIGlzIHdpbmRvdy5XaW5kb3cKKwogUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9q
cy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Itd2luZG93LWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91
dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1s
CmluZGV4IDEwNmU0NThkMjZiNGNlMjc2N2NiZjg1YTkzNWJmODkzN2M0MTJiNWYuLjllY2UyOWJj
NTgwMjJlODgxYjU1NzExNDk3ZWE3NDJjYmFjOGI0ZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRl
cy5odG1sCkBAIC0zMyw2ICszMywxMyBAQCBzaG91bGRCZVRydWUoImRlc2NyaXB0b3IuZ2V0LmNh
bGwod2luZG93KSA9PT0gd2luZG93Lm5hdmlnYXRvciIpOwogc2hvdWxkQmVUcnVlKCJkZXNjcmlw
dG9yLmdldC5jYWxsKCkgPT09IHdpbmRvdy5uYXZpZ2F0b3IiKTsKIAogZGVidWcoIiIpOworZGVi
dWcoIiogV2luZG93LnNlbGYiKTsKK2Rlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKHdpbmRvdywgInNlbGYiKTsKK2NoZWNrV2luZG93UHJvcGVydHlEZXNjcmlwdG9y
KGRlc2NyaXB0b3IpOworc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRvdykg
PT09IHdpbmRvdy5zZWxmIik7CitzaG91bGRCZVRydWUoImRlc2NyaXB0b3IuZ2V0LmNhbGwoKSA9
PT0gd2luZG93LnNlbGYiKTsKKworZGVidWcoIiIpOwogZGVidWcoIiogV2luZG93LmZyYW1lRWxl
bWVudCIpOwogZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2lu
ZG93LCAiZnJhbWVFbGVtZW50Iik7CiBjaGVja1dpbmRvd1Byb3BlcnR5RGVzY3JpcHRvcihkZXNj
cmlwdG9yLCB0cnVlKTsKQEAgLTQ2LDUgKzUzLDIzIEBAIGNoZWNrV2luZG93UHJvcGVydHlEZXNj
cmlwdG9yKGRlc2NyaXB0b3IsIGZhbHNlKTsKIHNob3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci5nZXQu
Y2FsbCh3aW5kb3cpID09PSB3aW5kb3cubmFtZSIpOwogc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9y
LmdldC5jYWxsKCkgPT09IHdpbmRvdy5uYW1lIik7CiAKK2RlYnVnKCIiKTsKK2RlYnVnKCIqIHdp
bmRvdy5Ob2RlIik7CitkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cih3aW5kb3csICJOb2RlIik7CitzaG91bGRCZUZhbHNlKCJkZXNjcmlwdG9yLmVudW1lcmFibGUi
KTsKK3Nob3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci53cml0YWJsZSIpOworc2hvdWxkQmVUcnVlKCJk
ZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSIpOworc2hvdWxkQmUoImRlc2NyaXB0b3IudmFsdWUiLCAi
d2luZG93Lk5vZGUiKTsKKworZGVidWcoIiIpOworLy8gRklYTUU6ICdjb25zdHJ1Y3Rvcicgc2hv
dWxkIGJlIG9uIHRoZSBwcm90b3R5cGUuCitkZWJ1ZygiKiB3aW5kb3cuY29uc3RydWN0b3IiKTsK
K2Rlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgImNv
bnN0cnVjdG9yIik7CitzaG91bGRCZUZhbHNlKCJkZXNjcmlwdG9yLmVudW1lcmFibGUiKTsKK3No
b3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci53cml0YWJsZSIpOworc2hvdWxkQmVUcnVlKCJkZXNjcmlw
dG9yLmNvbmZpZ3VyYWJsZSIpOworc2hvdWxkQmUoImRlc2NyaXB0b3IudmFsdWUiLCAid2luZG93
LldpbmRvdyIpOworCitkZWJ1ZygiIik7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270912</attachid>
            <date>2016-02-08 22:02:45 -0800</date>
            <delta_ts>2016-02-09 09:19:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-153920-20160208220223.patch</filename>
            <type>text/plain</type>
            <size>59489</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2MzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MWZjYTc2OTU1YjI5MDU4MmMwMzM0ZTNiZDI1MTg1YjlhOWNiMjViLi4yYzIxMTQ5OTYwMzA2NGNm
OGMxYWMwY2NiN2ZlMmViNDY5ZTA0MmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NyBAQAorMjAxNi0wMi0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIEF0dHJpYnV0ZXMgb24gdGhlIFdpbmRvdyBpbnN0YW5jZSBzaG91bGQgYmUgY29u
ZmlndXJhYmxlIHVubGVzcyBbVW5mb3JnZWFibGVdCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM5MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNYXJraW5nIHRoZSBXaW5kb3cgaW5zdGFuY2UgYXR0cmli
dXRlcyBhcyBjb25maWd1cmFibGUgYnV0IGNhdXNlCisgICAgICAgIGdldE93blByb3BlcnR5RGVz
Y3JpcHRvcigpIHRvIHJlcG9ydCB0aGVtIGFzIGNvbmZpZ3VyYWJsZSwgYXMKKyAgICAgICAgZXhw
ZWN0ZWQuIEhvd2V2ZXIsIHRyeWluZyB0byBkZWxldGUgdGhlbSB3b3VsZCBhY3R1YWxseSBsZWFk
IHRvCisgICAgICAgIHVuZXhwZWN0ZWQgYmVoYXZpb3IgYmVjYXVzZToKKyAgICAgICAgLSBXZSBk
aWQgbm90IHJlaWZ5IGN1c3RvbSBhY2Nlc3NvciBwcm9wZXJ0aWVzIChtb3N0IG9mIHRoZSBXaW5k
b3cKKyAgICAgICAgICBwcm9wZXJ0aWVzIGFyZSBjdXN0b20gYWNjZXNzb3JzKSB1cG9uIGRlbGV0
aW9uLgorICAgICAgICAtIEZvciBub24tcmVpZmllZCBzdGF0aWMgcHJvcGVydGllcyBtYXJrZWQg
YXMgY29uZmlndXJhYmxlLAorICAgICAgICAgIEpTT2JqZWN0OjpkZWxldGVQcm9wZXJ0eSgpIHdv
dWxkIGF0dGVtcHQgdG8gY2FsbCB0aGUgcHJvcGVydHkKKyAgICAgICAgICBzZXR0ZXIgd2l0aCB1
bmRlZmluZWQuIEFzIGEgcmVzdWx0LCBjYWxsaW5nIGRlbGV0ZSB3aW5kb3cubmFtZQorICAgICAg
ICAgIHdvdWxkIGNhdXNlIHdpbmRvdy5uYW1lIHRvIGJlY29tZSB0aGUgc3RyaW5nICJ1bmRlZmlu
ZWQiIGluc3RlYWQKKyAgICAgICAgICBvZiB0aGUgdW5kZWZpbmVkIHZhbHVlLgorCisgICAgICAg
ICogcnVudGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OmdldENsYXNzUHJvcGVydHlO
YW1lcyk6CisgICAgICAgIE5vdyB0aGF0IHdlIHJlaWZ5IEFMTCBwcm9wZXJ0aWVzLCB3ZSBvbmx5
IG5lZWQgdG8gY2hlY2sgdGhlIHByb3BlcnR5IHRhYmxlCisgICAgICAgIGlmIHdlIGhhdmUgbm90
IHJlaWZpZWQuIEFzIGEgcmVzdWx0LCBJIGRyb3BwZWQgdGhlICdkaWRSZWlmeScgcGFyYW1ldGVy
IGZvcgorICAgICAgICB0aGlzIGZ1bmN0aW9uIGFuZCBpbnN0ZWFkIG9ubHkgY2FsbCB0aGlzIGZ1
bmN0aW9uIGlmIHdlIGhhdmUgbm90IHlldCByZWlmaWVkLgorCisgICAgICAgIChKU0M6OkpTT2Jq
ZWN0OjpwdXRJbmxpbmVTbG93KToKKyAgICAgICAgT25seSBjYWxsIHB1dEVudHJ5KCkgaWYgd2Ug
aGF2ZSBub3QgcmVpZmllZDogRHJvcCB0aGUKKyAgICAgICAgJ3x8ICEoZW50cnktPmF0dHJpYnV0
ZXMoKSAmIEJ1aWx0aW5PckZ1bmN0aW9uT3JBY2Nlc3NvciknCisgICAgICAgIGNoZWNrIGFzIHN1
Y2ggcHJvcGVydGllcyBub3cgZ2V0IHJlaWZpZWQgYXMgd2VsbC4KKworICAgICAgICAoSlNDOjpK
U09iamVjdDo6ZGVsZXRlUHJvcGVydHkpOgorICAgICAgICAtIENhbGwgcmVpZnlBbGxTdGF0aWNQ
cm9wZXJ0aWVzKCkgaW5zdGVhZCBvZiByZWlmeVN0YXRpY0Z1bmN0aW9uc0ZvckRlbGV0ZSgpCisg
ICAgICAgICAgc28gdGhhdCB3ZSBub3cgcmVpZnkgYWxsIHByb3BlcnRpZXMgdXBvbiBkZWxldGlv
biwgaW5jbHVkaW5nIHRoZSBjdXN0b20KKyAgICAgICAgICBhY2Nlc3NvcnMuIHJlaWZ5U3RhdGlj
RnVuY3Rpb25zRm9yRGVsZXRlKCkgaXMgbm93IHJlbW92ZWQgYW5kIHRoZSBzYW1lCisgICAgICAg
ICAgcmVpZmljYXRpb24gZnVuY3Rpb24gaXMgbm93IHVzZWQgYnk6IGRlbGV0aW9uLCBnZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoKQorICAgICAgICAgIGFuZCBlYWdlciByZWlmaWNhdGlvbiBvZiB0
aGUgcHJvdG90eXBlIG9iamVjdHMgaW4gdGhlIGJpbmRpbmdzLgorICAgICAgICAtIERyb3AgY29k
ZSB0aGF0IGZhbGxzIGJhY2sgdG8gY2FsbGluZyB0aGUgc3RhdGljIHByb3BlcnR5IHNldHRlciB3
aXRoCisgICAgICAgICAgdW5kZWZpbmVkIGlmIHdlIGNhbm5vdCBmaW5kIHRoZSBwcm9wZXJ0eSBp
biB0aGUgcHJvcGVydHkgc3RvcmFnZS4gQXMKKyAgICAgICAgICB3ZSBub3cgcmVpZnkgQUxMIHBy
b3BlcnRpZXMsIHRoZSBjb2RlIHJlbW92aW5nIHRoZSBwcm9wZXJ0eSBmcm9tIHRoZQorICAgICAg
ICAgIHByb3BlcnR5IHN0b3JhZ2Ugc2hvdWxkIHN1Y2NlZWQsIHByb3ZpZGVkIHRoYXQgdGhlIHBy
b3BlcnR5IGFjdHVhbGx5CisgICAgICAgICAgZXhpc3RzLgorCisgICAgICAgIChKU0M6OkpTT2Jq
ZWN0OjpnZXRPd25Ob25JbmRleFByb3BlcnR5TmFtZXMpOgorICAgICAgICBPbmx5IGNhbGwgZ2V0
Q2xhc3NQcm9wZXJ0eU5hbWVzKCkgaWYgd2UgaGF2ZSBub3QgcmVpZmllZC4gV2Ugc2hvdWxkIG5v
IGxvbmdlcgorICAgICAgICBjaGVjayB0aGUgc3RhdGljIHByb3BlcnR5IHRhYmxlIGFmdGVyIHJl
aWZ5aW5nIG5vdyB0aGF0IHdlIHJlaWZ5IGFsbAorICAgICAgICBwcm9wZXJ0aWVzLgorCisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjpyZWlmeUFsbFN0YXRpY1Byb3BlcnRpZXMpOgorICAgICAgICBN
ZXJnZSB3aXRoIHJlaWZ5U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKCkuIFRoZSBvbmx5IGJlaGF2
aW9yIGNoYW5nZSBpcyB0aGUKKyAgICAgICAgZmxhdHRlbmluZyB0byBhbiB1bmNhY2hlYWJsZSBk
aWN0aW9uYXJ5LCBsaWtlIHJlaWZ5U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKCkKKyAgICAgICAg
dXNlZCB0byBkby4KKworICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKwogMjAxNi0wMi0w
OCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBFcnJv
ciBjb25zdHJ1Y3Rpb24gZm9yIGlubGluZWQgb3BlcmF0aW9ucyBzaG91bGQgbm90IHVzZSB0aGUg
aW5saW5lcidzIENvZGVCbG9jawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGYwMjljNDc3OGY1ZjQ2MDIzYWE1NmRk
ZGY4MjM5OTBiYTU3ZjNlZDguLmZjYWRlNzRmNmU5YjA2NGZhZDY0YTk0MzAwZTM4ZDk4NzgxMTU0
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MiBAQAorMjAxNi0wMi0wNyAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEF0dHJpYnV0ZXMgb24gdGhlIFdpbmRvdyBp
bnN0YW5jZSBzaG91bGQgYmUgY29uZmlndXJhYmxlIHVubGVzcyBbVW5mb3JnZWFibGVdCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM5MjAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBdHRyaWJ1dGVzIG9u
IHRoZSBXaW5kb3cgaW5zdGFuY2Ugc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZSB1bmxlc3MgW1VuZm9y
Z2VhYmxlXToKKyAgICAgICAgMS4gJ2NvbnN0cnVjdG9yJyBwcm9wZXJ0eToKKyAgICAgICAgICAg
LSBodHRwOi8vd3d3LnczLm9yZy9UUi9XZWJJREwvI2ludGVyZmFjZS1wcm90b3R5cGUtb2JqZWN0
CisgICAgICAgIDIuIENvbnN0cnVjdG9yIHByb3BlcnRpZXMgKGUuZy4gd2luZG93Lk5vZGUpOgor
ICAgICAgICAgICAtIGh0dHA6Ly93d3cudzMub3JnL1RSL1dlYklETC8jZXMtaW50ZXJmYWNlcwor
ICAgICAgICAzLiBJREwgYXR0cmlidXRlczoKKyAgICAgICAgICAgLSBodHRwOi8vaGV5Y2FtLmdp
dGh1Yi5pby93ZWJpZGwvI2VzLWF0dHJpYnV0ZXMgKGNvbmZpZ3VyYWJsZSB1bmxlc3MKKyAgICAg
ICAgICAgICBbVW5mb3JnZWFibGVdLCBlLmcuIHdpbmRvdy5sb2NhdGlvbikKKworICAgICAgICBG
aXJlZm94IGNvbXBsaWVzIHdpdGggdGhlIFdlYklETCBzcGVjaWZpY2F0aW9uIGJ1dCBXZWJLaXQg
ZG9lcyBub3QgZm9yIDEuIGFuZCAzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcHJvcGVydGllcy1jb25maWd1cmFibGUuaHRtbAorCisgICAgICAgICogYmluZGluZ3Mv
anMvSlNET01XaW5kb3dDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6
OmdldE93blByb3BlcnR5U2xvdCk6CisgICAgICAgIEZvciBrbm93biBXaW5kb3cgcHJvcGVydGll
cyAoaS5lLiBwcm9wZXJ0aWVzIGluIHRoZSBzdGF0aWMgcHJvcGVydHkgdGFibGUpLAorICAgICAg
ICBpZiB3ZSBoYXZlIHJlaWZpZWQgYW5kIHRoaXMgaXMgc2FtZS1vcmlnaW4gYWNjZXNzLCB0aGVu
IGNhbGwKKyAgICAgICAgQmFzZTo6Z2V0T3duUHJvcGVydHlTbG90KCkgdG8gZ2V0IHRoZSBwcm9w
ZXJ0eSBmcm9tIHRoZSBsb2NhbCBwcm9wZXJ0eQorICAgICAgICBzdG9yYWdlLiBJZiB3ZSBoYXZl
IG5vdCByZWlmaWVkIHlldCwgb3IgdGhpcyBpcyBjcm9zcy1vcmlnaW4gYWNjZXNzLCBxdWVyeQor
ICAgICAgICB0aGUgc3RhdGljIHByb3BlcnR5IHRhYmxlLiBUaGlzIGlzIHRvIG1hdGNoIHRoZSBi
ZWhhdmlvciBvZiBGaXJlZm94IGFuZAorICAgICAgICBDaHJvbWUgd2hpY2ggc2VlbSB0byBrZWVw
IHJldHVybmluZyB0aGUgb3JpZ2luYWwgcHJvcGVydGllcyB1cG9uIGNyb3NzCisgICAgICAgIG9y
aWdpbiBhY2Nlc3MsIGV2ZW4gaWYgdGhvc2Ugd2VyZSBkZWxldGVkIG9yIHJlZGVmaW5lZC4KKwor
ICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OnB1dCk6CisgICAgICAgIFRoZSBwcmV2aW91
cyBjb2RlIHVzZWQgdG8gY2FsbCB0aGUgc3RhdGljIHByb3BlcnR5IHNldHRlciBmb3IgcHJvcGVy
dGllcyBpbgorICAgICAgICB0aGUgc3RhdGljIHRhYmxlLiBIb3dldmVyLCB0aGlzIGRvZXMgbm90
IGRvIHRoZSByaWdodCB0aGluZyBpZiBwcm9wZXJ0aWVzCisgICAgICAgIHdlcmUgcmVpZmllZC4g
Rm9yIGV4YW1wbGUsIGRlbGV0aW5nIHdpbmRvdy5uYW1lIGFuZCB0aGVuIHRyeWluZyB0byBzZXQg
aXQKKyAgICAgICAgYWdhaW4gd291bGQgbm90IHdvcmsuIFRoZXJlZm9yZSwgdXBkYXRlIHRoaXMg
Y29kZSB0byBvbmx5IGRvIHRoaXMgaWYgdGhlCisgICAgICAgIHByb3BlcnRpZXMgaGF2ZSBub3Qg
YmVlbiByZWlmaWVkLCBzaW1pbGFybHkgdG8gd2hhdCBpcyBkb25lIGluCisgICAgICAgIEpTT2Jq
ZWN0OjpwdXRJbmxpbmVTbG93KCkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKENvbnN0cnVjdG9yU2hvdWxkQmVPbkluc3RhbmNlKToK
KyAgICAgICAgQWRkIGEgRklYTUUgY29tbWVudCBpbmRpY2F0aW5nIHRoYXQgd2luZG93LmNvbnN0
cnVjdG9yIHNob3VsZCBiZSBvbgorICAgICAgICB0aGUgcHJvdG90eXBlIGFzIHBlciB0aGUgV2Vi
IElETCBzcGVjaWZpY2F0aW9uLgorCisgICAgICAgIChHZW5lcmF0ZUF0dHJpYnV0ZXNIYXNoVGFi
bGUpOgorICAgICAgICAtIE1hcmsgJ2NvbnN0cnVjdG9yJyBwcm9wZXJ0eSBhcyBjb25maWd1cmFi
bGUgZm9yIFdpbmRvdywgYXMgcGVyIHRoZQorICAgICAgICAgIHNwZWNpZmljYXRpb24gYW5kIGNv
bnNpc3RlbnRseSB3aXRoIG90aGVyICdjb25zdHJ1Y3RvcicgcHJvcGVydGllczoKKyAgICAgICAg
ICBodHRwOi8vd3d3LnczLm9yZy9UUi9XZWJJREwvI2ludGVyZmFjZS1wcm90b3R5cGUtb2JqZWN0
CisgICAgICAgIC0gTWFyayBwcm9wZXJ0aWVzIGFzIGNvbmZpZ3VyYWJsZSBldmVuIHRob3VnaCB0
aGV5IGFyZSBvbiB0aGUgaW5zdGFuY2UuCisgICAgICAgICAgV2luZG93IGhhcyBpdHMgcHJvcGVy
dGllcyBvbiB0aGUgaW5zdGFuY2UgYXMgcGVyIHRoZSBzcGVjaWZpY2F0aW9uOgorICAgICAgICAg
IDEuIGh0dHA6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jZXMtYXR0cmlidXRlcworICAgICAg
ICAgIDIuIGh0dHA6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jUHJpbWFyeUdsb2JhbCAod2lu
ZG93IGlzIFtQcmltYXJ5R2xvYmFsXQorICAgICAgICAgIEhvd2V2ZXIsIHRoZXNlIHByb3BlcnRp
ZXMgc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZSBhcyBsb25nIGFzIHRoZXkgYXJlCisgICAgICAgICAg
bm90IG1hcmtlZCBhcyBbVW5mb3JnZWFibGVdLCBhcyBwZXIgMS4KKworICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICBSZWJhc2Vs
aW5lIGJpbmRpbmdzIHRlc3RzLgorCiAyMDE2LTAyLTA4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CiAKICAgICAgICAgQXR0cmlidXRlIGdldHRlcnMgc2hvdWxkIG5vdCByZXF1aXJl
IGFuIGV4cGxpY2l0ICd0aGlzJyB2YWx1ZSBmb3IgV2luZG93IHByb3BlcnRpZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAppbmRleCA3ODM5YTAyNDdlMjBkNWZh
NGI4Njk5MTU0Y2I0MDNlNTM3OTI1MzEzLi4yNzNmZTZhNDQ5YzRkMWIyZmUwMjdjNWUzNWU5Zjcy
MWZjMWE2MjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3Bw
CkBAIC02OCw3ICs2OCw3IEBAIGNvbnN0IENsYXNzSW5mbyBKU09iamVjdDo6c19pbmZvID0geyAi
T2JqZWN0IiwgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU09iamVjCiAKIGNvbnN0IENsYXNz
SW5mbyBKU0ZpbmFsT2JqZWN0OjpzX2luZm8gPSB7ICJPYmplY3QiLCAmQmFzZTo6c19pbmZvLCAw
LCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTRmluYWxPYmplY3QpIH07CiAKLXN0YXRpYyBpbmxpbmUg
dm9pZCBnZXRDbGFzc1Byb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBDbGFzc0lu
Zm8qIGNsYXNzSW5mbywgUHJvcGVydHlOYW1lQXJyYXkmIHByb3BlcnR5TmFtZXMsIEVudW1lcmF0
aW9uTW9kZSBtb2RlLCBib29sIGRpZFJlaWZ5KQorc3RhdGljIGlubGluZSB2b2lkIGdldENsYXNz
UHJvcGVydHlOYW1lcyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZv
LCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywgRW51bWVyYXRpb25Nb2RlIG1vZGUp
CiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKIApAQCAtNzksNyArNzksNyBAQCBzdGF0aWMg
aW5saW5lIHZvaWQgZ2V0Q2xhc3NQcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
Q2xhc3NJbmZvKiBjbGFzcwogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgZm9yIChh
dXRvIGl0ZXIgPSB0YWJsZS0+YmVnaW4oKTsgaXRlciAhPSB0YWJsZS0+ZW5kKCk7ICsraXRlcikg
ewotICAgICAgICAgICAgaWYgKCghKGl0ZXItPmF0dHJpYnV0ZXMoKSAmIERvbnRFbnVtKSB8fCBt
b2RlLmluY2x1ZGVEb250RW51bVByb3BlcnRpZXMoKSkgJiYgISgoaXRlci0+YXR0cmlidXRlcygp
ICYgQnVpbHRpbk9yRnVuY3Rpb25PckFjY2Vzc29yKSAmJiBkaWRSZWlmeSkpCisgICAgICAgICAg
ICBpZiAoIShpdGVyLT5hdHRyaWJ1dGVzKCkgJiBEb250RW51bSkgfHwgbW9kZS5pbmNsdWRlRG9u
dEVudW1Qcm9wZXJ0aWVzKCkpCiAgICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lcy5hZGQoSWRl
bnRpZmllcjo6ZnJvbVN0cmluZygmdm0sIGl0ZXIua2V5KCkpKTsKICAgICAgICAgfQogICAgIH0K
QEAgLTQxMCwxMCArNDEwLDkgQEAgdm9pZCBKU09iamVjdDo6cHV0SW5saW5lU2xvdyhFeGVjU3Rh
dGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUKICAgICAgICAgICAg
IC8vIHByb3RvdHlwZXMgaXQgc2hvdWxkIGJlIHJlcGxhY2VkLCBzbyBicmVhayBoZXJlLgogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgY29uc3QgQ2xhc3NJbmZvKiBpbmZv
ID0gb2JqLT5jbGFzc0luZm8oKTsKLSAgICAgICAgaWYgKGluZm8tPmhhc1N0YXRpY1NldHRlck9y
UmVhZG9ubHlQcm9wZXJ0aWVzKCkpIHsKLSAgICAgICAgICAgIGlmIChjb25zdCBIYXNoVGFibGVW
YWx1ZSogZW50cnkgPSBvYmotPmZpbmRQcm9wZXJ0eUhhc2hFbnRyeShwcm9wZXJ0eU5hbWUpKSB7
Ci0gICAgICAgICAgICAgICAgaWYgKCFvYmotPnN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQoKSB8fCAh
KGVudHJ5LT5hdHRyaWJ1dGVzKCkgJiBCdWlsdGluT3JGdW5jdGlvbk9yQWNjZXNzb3IpKSB7Cisg
ICAgICAgIGlmICghb2JqLT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpIHsKKyAgICAgICAgICAg
IGlmIChvYmotPmNsYXNzSW5mbygpLT5oYXNTdGF0aWNTZXR0ZXJPclJlYWRvbmx5UHJvcGVydGll
cygpKSB7CisgICAgICAgICAgICAgICAgaWYgKGF1dG8qIGVudHJ5ID0gb2JqLT5maW5kUHJvcGVy
dHlIYXNoRW50cnkocHJvcGVydHlOYW1lKSkgewogICAgICAgICAgICAgICAgICAgICBwdXRFbnRy
eShleGVjLCBlbnRyeSwgb2JqLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KQEAgLTEyODQsMzMgKzEyODMs
MTkgQEAgYm9vbCBKU09iamVjdDo6aGFzUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25l
ZCBwcm9wZXJ0eU5hbWUpIGNvbnN0CiBib29sIEpTT2JqZWN0OjpkZWxldGVQcm9wZXJ0eShKU0Nl
bGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKIHsK
ICAgICBKU09iamVjdCogdGhpc09iamVjdCA9IGpzQ2FzdDxKU09iamVjdCo+KGNlbGwpOworICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgCiAgICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBp
bmRleCA9IHBhcnNlSW5kZXgocHJvcGVydHlOYW1lKSkKLSAgICAgICAgcmV0dXJuIHRoaXNPYmpl
Y3QtPm1ldGhvZFRhYmxlKGV4ZWMtPnZtKCkpLT5kZWxldGVQcm9wZXJ0eUJ5SW5kZXgodGhpc09i
amVjdCwgZXhlYywgaW5kZXgudmFsdWUoKSk7CisgICAgICAgIHJldHVybiB0aGlzT2JqZWN0LT5t
ZXRob2RUYWJsZSh2bSktPmRlbGV0ZVByb3BlcnR5QnlJbmRleCh0aGlzT2JqZWN0LCBleGVjLCBp
bmRleC52YWx1ZSgpKTsKIAogICAgIGlmICghdGhpc09iamVjdC0+c3RhdGljRnVuY3Rpb25zUmVp
ZmllZCgpKQotICAgICAgICB0aGlzT2JqZWN0LT5yZWlmeVN0YXRpY0Z1bmN0aW9uc0ZvckRlbGV0
ZShleGVjKTsKKyAgICAgICAgdGhpc09iamVjdC0+cmVpZnlBbGxTdGF0aWNQcm9wZXJ0aWVzKGV4
ZWMpOwogCiAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKLSAgICBWTSYgdm0gPSBleGVjLT52bSgp
OwogICAgIGlmIChpc1ZhbGlkT2Zmc2V0KHRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSktPmdldCh2
bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKSkpIHsKICAgICAgICAgaWYgKGF0dHJpYnV0ZXMg
JiBEb250RGVsZXRlICYmICF2bS5pc0luRGVmaW5lT3duUHJvcGVydHkoKSkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgdGhpc09iamVjdC0+cmVtb3ZlRGlyZWN0KHZtLCBwcm9w
ZXJ0eU5hbWUpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICAvLyBMb29rIGlu
IHRoZSBzdGF0aWMgaGFzaHRhYmxlIG9mIHByb3BlcnRpZXMKLSAgICBjb25zdCBIYXNoVGFibGVW
YWx1ZSogZW50cnkgPSB0aGlzT2JqZWN0LT5maW5kUHJvcGVydHlIYXNoRW50cnkocHJvcGVydHlO
YW1lKTsKLSAgICBpZiAoZW50cnkpIHsKLSAgICAgICAgaWYgKGVudHJ5LT5hdHRyaWJ1dGVzKCkg
JiBEb250RGVsZXRlICYmICF2bS5pc0luRGVmaW5lT3duUHJvcGVydHkoKSkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsgLy8gdGhpcyBidWlsdGluIHByb3BlcnR5IGNhbid0IGJlIGRlbGV0ZWQK
LQotICAgICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdCh0aGlzT2JqZWN0KTsKLSAgICAgICAgaWYg
KCEoZW50cnktPmF0dHJpYnV0ZXMoKSAmIEJ1aWx0aW5PckZ1bmN0aW9uT3JBY2Nlc3NvcikpIHsK
LSAgICAgICAgICAgIEFTU0VSVCh0aGlzT2JqZWN0LT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkp
OwotICAgICAgICAgICAgcHV0RW50cnkoZXhlYywgZW50cnksIHRoaXNPYmplY3QsIHByb3BlcnR5
TmFtZSwganNVbmRlZmluZWQoKSwgc2xvdCk7Ci0gICAgICAgIH0KICAgICB9CiAKICAgICByZXR1
cm4gdHJ1ZTsKQEAgLTE2MTMsNyArMTU5OCw4IEBAIHZvaWQgSlNPYmplY3Q6OmdldE93blByb3Bl
cnR5TmFtZXMoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hCiAK
IHZvaWQgSlNPYmplY3Q6OmdldE93bk5vbkluZGV4UHJvcGVydHlOYW1lcyhKU09iamVjdCogb2Jq
ZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZUFycmF5JiBwcm9wZXJ0eU5hbWVzLCBF
bnVtZXJhdGlvbk1vZGUgbW9kZSkKIHsKLSAgICBnZXRDbGFzc1Byb3BlcnR5TmFtZXMoZXhlYywg
b2JqZWN0LT5jbGFzc0luZm8oKSwgcHJvcGVydHlOYW1lcywgbW9kZSwgb2JqZWN0LT5zdGF0aWNG
dW5jdGlvbnNSZWlmaWVkKCkpOworICAgIGlmICghb2JqZWN0LT5zdGF0aWNGdW5jdGlvbnNSZWlm
aWVkKCkpCisgICAgICAgIGdldENsYXNzUHJvcGVydHlOYW1lcyhleGVjLCBvYmplY3QtPmNsYXNz
SW5mbygpLCBwcm9wZXJ0eU5hbWVzLCBtb2RlKTsKIAogICAgIGlmICghbW9kZS5pbmNsdWRlSlNP
YmplY3RQcm9wZXJ0aWVzKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTE2NjcsOSArMTY1Myw3IEBA
IHZvaWQgSlNPYmplY3Q6OnByZXZlbnRFeHRlbnNpb25zKFZNJiB2bSkKICAgICBzZXRTdHJ1Y3R1
cmUodm0sIFN0cnVjdHVyZTo6cHJldmVudEV4dGVuc2lvbnNUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1
cmUodm0pKSk7CiB9CiAKLS8vIFRoaXMgcHJlc2VudGx5IHdpbGwgZmxhdHRlbiB0byBhbiB1bmNh
Y2hhYmxlIGRpY3Rpb25hcnk7IHRoaXMgaXMgc3VpdGFibGUKLS8vIGZvciB1c2UgaW4gZGVsZXRl
LCB3ZSBtYXkgd2FudCB0byBkbyBzb21ldGhpbmcgZGlmZmVyZW50IGVsc2V3aGVyZS4KLXZvaWQg
SlNPYmplY3Q6OnJlaWZ5U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKEV4ZWNTdGF0ZSogZXhlYykK
K3ZvaWQgSlNPYmplY3Q6OnJlaWZ5QWxsU3RhdGljUHJvcGVydGllcyhFeGVjU3RhdGUqIGV4ZWMp
CiB7CiAgICAgQVNTRVJUKCFzdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpOwogICAgIFZNJiB2bSA9
IGV4ZWMtPnZtKCk7CkBAIC0xNjg4LDMwICsxNjcyLDEyIEBAIHZvaWQgSlNPYmplY3Q6OnJlaWZ5
U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgY29uc3Qg
SGFzaFRhYmxlKiBoYXNoVGFibGUgPSBpbmZvLT5zdGF0aWNQcm9wSGFzaFRhYmxlOwogICAgICAg
ICBpZiAoIWhhc2hUYWJsZSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBQcm9wZXJ0
eVNsb3Qgc2xvdCh0aGlzKTsKLSAgICAgICAgZm9yIChhdXRvIGl0ZXIgPSBoYXNoVGFibGUtPmJl
Z2luKCk7IGl0ZXIgIT0gaGFzaFRhYmxlLT5lbmQoKTsgKytpdGVyKSB7Ci0gICAgICAgICAgICBp
ZiAoaXRlci0+YXR0cmlidXRlcygpICYgQnVpbHRpbk9yRnVuY3Rpb25PckFjY2Vzc29yKQotICAg
ICAgICAgICAgICAgIHNldFVwU3RhdGljRnVuY3Rpb25TbG90KGdsb2JhbE9iamVjdCgpLT5nbG9i
YWxFeGVjKCksIGl0ZXIudmFsdWUoKSwgdGhpcywgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0s
IGl0ZXIua2V5KCkpLCBzbG90KTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIHN0cnVjdHVyZSh2
bSktPnNldFN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQodHJ1ZSk7Ci19Ci0KLXZvaWQgSlNPYmplY3Q6
OnJlaWZ5QWxsU3RhdGljUHJvcGVydGllcyhFeGVjU3RhdGUqIGV4ZWMpCi17Ci0gICAgVk0mIHZt
ID0gZXhlYy0+dm0oKTsKLQotICAgIGZvciAoY29uc3QgQ2xhc3NJbmZvKiBpbmZvID0gY2xhc3NJ
bmZvKCk7IGluZm87IGluZm8gPSBpbmZvLT5wYXJlbnRDbGFzcykgewotICAgICAgICBjb25zdCBI
YXNoVGFibGUqIGhhc2hUYWJsZSA9IGluZm8tPnN0YXRpY1Byb3BIYXNoVGFibGU7Ci0gICAgICAg
IGlmICghaGFzaFRhYmxlKQotICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgZm9yIChh
dXRvIGl0ZXIgPSBoYXNoVGFibGUtPmJlZ2luKCk7IGl0ZXIgIT0gaGFzaFRhYmxlLT5lbmQoKTsg
KytpdGVyKSB7CisgICAgICAgIGZvciAoYXV0byYgdmFsdWUgOiAqaGFzaFRhYmxlKSB7CiAgICAg
ICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwotICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQg
b2Zmc2V0ID0gZ2V0RGlyZWN0T2Zmc2V0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwg
aXRlci5rZXkoKSksIGF0dHJpYnV0ZXMpOworICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zm
c2V0ID0gZ2V0RGlyZWN0T2Zmc2V0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgdmFs
dWUubV9rZXkpLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgICAgIGlmICghaXNWYWxpZE9mZnNldChv
ZmZzZXQpKQotICAgICAgICAgICAgICAgIHJlaWZ5U3RhdGljUHJvcGVydHkodm0sICppdGVyLnZh
bHVlKCksICp0aGlzKTsKKyAgICAgICAgICAgICAgICByZWlmeVN0YXRpY1Byb3BlcnR5KHZtLCB2
YWx1ZSwgKnRoaXMpOwogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuaAppbmRleCBjYzlmY2EwNjc4Zjk2N2ZkZTc0OTViZGE1ZTVkMWRmMzQx
NWY4ZTY0Li4wNGIyNjVlZTYwOWM1N2Y3OGFlYWRjNTgwMjRiZDM4MGVhZjkxNjg5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKQEAgLTYyMyw3ICs2MjMsNiBAQCBw
dWJsaWM6CiAgICAgfQogCiAgICAgYm9vbCBzdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkgeyByZXR1
cm4gc3RydWN0dXJlKCktPnN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQoKTsgfQotICAgIHZvaWQgcmVp
ZnlTdGF0aWNGdW5jdGlvbnNGb3JEZWxldGUoRXhlY1N0YXRlKik7CiAgICAgdm9pZCByZWlmeUFs
bFN0YXRpY1Byb3BlcnRpZXMoRXhlY1N0YXRlKik7CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBC
dXR0ZXJmbHkqIGdyb3dPdXRPZkxpbmVTdG9yYWdlKFZNJiwgc2l6ZV90IG9sZFNpemUsIHNpemVf
dCBuZXdTaXplKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xv
b2t1cC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggMGEx
ZTlkZWJjNTdjOTg1NDgzNGFjZDZlYmYzMDAzMmEwMzkyY2RkYi4uY2YyNmE2NDk3NDk3ODI5MzNm
MTdiNzk2ZTlkMGNlOGNlNTlmN2RlMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTG9va3VwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9v
a3VwLmgKQEAgLTEzNSw2ICsxMzUsOCBAQCBzdHJ1Y3QgSGFzaFRhYmxlIHsKICAgICAgICAgICAg
IHJldHVybiAmbV90YWJsZS0+dmFsdWVzW21fcG9zaXRpb25dOwogICAgICAgICB9CiAKKyAgICAg
ICAgY29uc3QgSGFzaFRhYmxlVmFsdWUmIG9wZXJhdG9yKigpIHsgcmV0dXJuICp2YWx1ZSgpOyB9
CisKICAgICAgICAgY29uc3QgY2hhcioga2V5KCkKICAgICAgICAgewogICAgICAgICAgICAgcmV0
dXJuIG1fdGFibGUtPnZhbHVlc1ttX3Bvc2l0aW9uXS5tX2tleTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHJvcGVydHlTbG90LmgKaW5kZXggYWQyOThmZGJmYTBjNmY4YzBmNDJk
NjZjOTBiZTU3NDQ5ZDI3OWQyMC4uYTM2NWNjNTlkMDcwNDdhMDk0ZmJjOTM1NGRhODJmMTNiZDc3
Yzk3MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlT
bG90LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlTbG90LmgK
QEAgLTExNyw3ICsxMTcsNyBAQCBwdWJsaWM6CiAKICAgICBHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0
dGVyKCkgY29uc3QKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc0NhY2hlYWJsZUN1c3RvbSgpKTsK
KyAgICAgICAgQVNTRVJUKGlzQ2FjaGVhYmxlQ3VzdG9tKCkgfHwgaXNDdXN0b20oKSk7CiAgICAg
ICAgIHJldHVybiBtX2RhdGEuY3VzdG9tLmdldFZhbHVlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDIwZGU4YjQw
ZDI2YmFlMDJhY2RiNDY1ZTE5OGMwODM4MDJmMGM0OGMuLjdjZmU2YTg5YWE4YmFiOTcxMjY4NjY4
M2U4MGNkNDJmMDg2M2MyNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NV2luZG93Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0N1c3RvbS5jcHAKQEAgLTIwMSw4ICsyMDEsMTIgQEAgYm9vbCBKU0RPTVdpbmRv
dzo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywg
UHJvcGVydHkKICAgICB9CiAjZW5kaWYKIAotICAgIGNvbnN0IEhhc2hUYWJsZVZhbHVlKiBlbnRy
eSA9IEpTRE9NV2luZG93OjppbmZvKCktPnN0YXRpY1Byb3BIYXNoVGFibGUtPmVudHJ5KHByb3Bl
cnR5TmFtZSk7Ci0gICAgaWYgKGVudHJ5KSB7CisgICAgaWYgKGF1dG8qIGVudHJ5ID0gSlNET01X
aW5kb3c6OmluZm8oKS0+c3RhdGljUHJvcEhhc2hUYWJsZS0+ZW50cnkocHJvcGVydHlOYW1lKSkg
eworICAgICAgICAvLyBXaGVuIGFjY2Vzc2luZyBjcm9zcy1vcmlnaW4ga25vd24gV2luZG93IHBy
b3BlcnRpZXMsIHdlIGFsd2F5cyB1c2UgdGhlIG9yaWdpbmFsIHByb3BlcnR5IGdldHRlciwKKyAg
ICAgICAgLy8gZXZlbiBpZiB0aGUgcHJvcGVydHkgd2FzIHJlbW92ZWQgLyByZWRlZmluZWQuIFRo
aXMgbWF0Y2hlcyBGaXJlZm94IGFuZCBDaHJvbWUncyBiZWhhdmlvci4KKyAgICAgICAgaWYgKHRo
aXNPYmplY3QtPnN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQoKSAmJiBhbGxvd3NBY2Nlc3MpCisgICAg
ICAgICAgICByZXR1cm4gQmFzZTo6Z2V0T3duUHJvcGVydHlTbG90KHRoaXNPYmplY3QsIGV4ZWMs
IHByb3BlcnR5TmFtZSwgc2xvdCk7CisKICAgICAgICAgc2xvdC5zZXRDYWNoZWFibGVDdXN0b20o
dGhpc09iamVjdCwgYWxsb3dzQWNjZXNzID8gZW50cnktPmF0dHJpYnV0ZXMoKSA6IFJlYWRPbmx5
IHwgRG9udERlbGV0ZSB8IERvbnRFbnVtLCBlbnRyeS0+cHJvcGVydHlHZXR0ZXIoKSk7CiAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgIH0KQEAgLTM2NSw4ICszNjksMTAgQEAgdm9pZCBKU0RPTVdp
bmRvdzo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJv
cGVydHlOYW1lLAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKGxvb2t1cFB1dChl
eGVjLCBwcm9wZXJ0eU5hbWUsIHRoaXNPYmplY3QsIHZhbHVlLCAqc19pbmZvLnN0YXRpY1Byb3BI
YXNoVGFibGUsIHNsb3QpKQotICAgICAgICByZXR1cm47CisgICAgaWYgKCF0aGlzT2JqZWN0LT5z
dGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpIHsKKyAgICAgICAgaWYgKGxvb2t1cFB1dChleGVjLCBw
cm9wZXJ0eU5hbWUsIHRoaXNPYmplY3QsIHZhbHVlLCAqc19pbmZvLnN0YXRpY1Byb3BIYXNoVGFi
bGUsIHNsb3QpKQorICAgICAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAgIGlmIChCaW5kaW5n
U2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coZXhlYywgdGhpc09iamVjdC0+
d3JhcHBlZCgpKSkKICAgICAgICAgQmFzZTo6cHV0KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5
TmFtZSwgdmFsdWUsIHNsb3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCBkNmEyMDRkNTU0MWYxZDk5OThkZWRhYzUwNDc2
NWQ5ZTcxNDYxYjU5Li45YTA1MTJiMWM4OGVhZGYxZDdlOTkzNGI3OTM0ZjFlMTAxZDBlODEzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQpAQCAtNjg1LDYgKzY4NSw4IEBAIHN1YiBDb25zdHJ1Y3RvclNob3VsZEJlT25JbnN0YW5j
ZQogewogICAgIG15ICRpbnRlcmZhY2UgPSBzaGlmdDsKIAorICAgICMgRklYTUU6IGNvbnN0cnVj
dG9yIHNob3VsZCBhbHdheXMgYmUgb24gdGhlIHByb3RvdHlwZToKKyAgICAjIGh0dHA6Ly93d3cu
dzMub3JnL1RSL1dlYklETC8jaW50ZXJmYWNlLXByb3RvdHlwZS1vYmplY3QKICAgICByZXR1cm4g
MSBpZiAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hlY2tTZWN1cml0eSJ9Owog
ICAgIHJldHVybiAwOwogfQpAQCAtMTM1NywxMyArMTM1OSw3IEBAIHN1YiBHZW5lcmF0ZUF0dHJp
YnV0ZXNIYXNoVGFibGUKIAogICAgICAgICAgICAgbXkgJHNldHRlciA9ICJzZXRKUyIgLiAkaW50
ZXJmYWNlTmFtZSAuICJDb25zdHJ1Y3RvciI7CiAgICAgICAgICAgICBwdXNoKEAkaGFzaFZhbHVl
MiwgJHNldHRlcik7Ci0KLSAgICAgICAgICAgICMgRklYTUU6IERvIHdlIHJlYWxseSBuZWVkIHRv
IHNwZWNpYWwtY2FzZSBET01XaW5kb3c/Ci0gICAgICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUg
ZXEgIkRPTVdpbmRvdyIpIHsKLSAgICAgICAgICAgICAgICBwdXNoKEAkaGFzaFNwZWNpYWxzLCAi
RG9udEVudW0gfCBEb250RGVsZXRlIik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgIHB1c2goQCRoYXNoU3BlY2lhbHMsICJEb250RW51bSIpOwotICAgICAgICAgICAgfQor
ICAgICAgICAgICAgcHVzaChAJGhhc2hTcGVjaWFscywgIkRvbnRFbnVtIik7CiAgICAgICAgIH0K
ICAgICB9CiAKQEAgLTEzNzYsMTMgKzEzNzIsMTEgQEAgc3ViIEdlbmVyYXRlQXR0cmlidXRlc0hh
c2hUYWJsZQogICAgICAgICBwdXNoKEAkaGFzaEtleXMsICRuYW1lKTsKIAogICAgICAgICBteSBA
c3BlY2lhbHMgPSAoKTsKLSAgICAgICAgIyBBcyBwZXIgV2ViIElETCBzcGVjaWZpY2F0aW9uLCBj
b25zdHJ1Y3RvciBwcm9wZXJ0aWVzIG9uIHRoZSBFQ01BU2NyaXB0IGdsb2JhbCBvYmplY3Qgc2hv
dWxkIGJlCi0gICAgICAgICMgY29uZmlndXJhYmxlIGFuZCBzaG91bGQgbm90IGJlIGVudW1lcmFi
bGUuCi0gICAgICAgIG15ICRpc19nbG9iYWxfY29uc3RydWN0b3IgPSAkYXR0cmlidXRlLT5zaWdu
YXR1cmUtPnR5cGUgPX4gL0NvbnN0cnVjdG9yJC87Ci0KLSAgICAgICAgcHVzaChAc3BlY2lhbHMs
ICJEb250RGVsZXRlIikgaWYgKCRpc0luc3RhbmNlICYmICEkaXNfZ2xvYmFsX2NvbnN0cnVjdG9y
KSB8fCAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJVbmZvcmdl
YWJsZSJ9CisgICAgICAgIHB1c2goQHNwZWNpYWxzLCAiRG9udERlbGV0ZSIpIGlmICRhdHRyaWJ1
dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlVuZm9yZ2VhYmxlIn0KICAgICAg
ICAgICAgIHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJVbmZvcmdlYWJsZSJ9
OwogCisgICAgICAgICMgQXMgcGVyIFdlYiBJREwgc3BlY2lmaWNhdGlvbiwgY29uc3RydWN0b3Ig
cHJvcGVydGllcyBvbiB0aGUgRUNNQVNjcmlwdCBnbG9iYWwgb2JqZWN0IHNob3VsZCBub3QgYmUg
ZW51bWVyYWJsZS4KKyAgICAgICAgbXkgJGlzX2dsb2JhbF9jb25zdHJ1Y3RvciA9ICRhdHRyaWJ1
dGUtPnNpZ25hdHVyZS0+dHlwZSA9fiAvQ29uc3RydWN0b3IkLzsKICAgICAgICAgcHVzaChAc3Bl
Y2lhbHMsICJEb250RW51bSIpIGlmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJOb3RFbnVtZXJhYmxlIn0gfHwgJGlzX2dsb2JhbF9jb25zdHJ1Y3Rvcik7CiAg
ICAgICAgIHB1c2goQHNwZWNpYWxzLCAiUmVhZE9ubHkiKSBpZiBJc1JlYWRvbmx5KCRhdHRyaWJ1
dGUpOwogICAgICAgICBwdXNoKEBzcGVjaWFscywgIkN1c3RvbUFjY2Vzc29yIikgdW5sZXNzICRp
c19nbG9iYWxfY29uc3RydWN0b3Igb3IgSXNKU0J1aWx0aW4oJGludGVyZmFjZSwgJGF0dHJpYnV0
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCmluZGV4IDYxYzA4ZDBmNzcwOTA1
OTZjYzdmY2ZmMzAyMDdiYWY0MTk3Y2M5OGEuLjUyMzM3OTY0ZDNiNzVhY2U5MGIyNjg4OGQ2ZGJh
ZWQ3OGY2MjE0OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCkBAIC04Myw3
ICs4Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RBY3Rp
dmVET01PYmplY3RUYWJsZUluZGV4WzRdID0gewogc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVl
IEpTVGVzdEFjdGl2ZURPTU9iamVjdFRhYmxlVmFsdWVzW10gPQogewogICAgIHsgImNvbnN0cnVj
dG9yIiwgRG9udEVudW0sIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0QWN0aXZlRE9NT2JqZWN0Q29uc3RydWN0b3Ip
LCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihz
ZXRKU1Rlc3RBY3RpdmVET01PYmplY3RDb25zdHJ1Y3RvcikgfSB9LAotICAgIHsgImV4Y2l0aW5n
QXR0ciIsIERvbnREZWxldGUgfCBSZWFkT25seSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNp
YywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpz
VGVzdEFjdGl2ZURPTU9iamVjdEV4Y2l0aW5nQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8
UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJleGNpdGluZ0F0
dHIiLCBSZWFkT25seSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qp
c3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEFjdGl2ZURPTU9i
amVjdEV4Y2l0aW5nQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90
OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKIH07CiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNU
ZXN0QWN0aXZlRE9NT2JqZWN0VGFibGUgPSB7IDIsIDMsIHRydWUsIEpTVGVzdEFjdGl2ZURPTU9i
amVjdFRhYmxlVmFsdWVzLCBKU1Rlc3RBY3RpdmVET01PYmplY3RUYWJsZUluZGV4IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhj
ZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RFeGNlcHRpb24uY3BwCmluZGV4IDk2YmU4MjJhYzM3YTZkMTc5Mzc1ZmQwN2QwOWI0YWJmOWFk
NDQ4OWYuLmFhMGIwMzJmNTEwYWMwNjY2OTcyZTZhYmQ5N2VjZDk3YTU2MWVmNzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RFeGNlcHRpb24uY3BwCkBAIC03NCw3ICs3NCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29t
cGFjdEhhc2hJbmRleCBKU1Rlc3RFeGNlcHRpb25UYWJsZUluZGV4WzJdID0gewogCiBzdGF0aWMg
Y29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0RXhjZXB0aW9uVGFibGVWYWx1ZXNbXSA9CiB7Ci0g
ICAgeyAibmFtZSIsIERvbnREZWxldGUgfCBSZWFkT25seSB8IEN1c3RvbUFjY2Vzc29yLCBOb0lu
dHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1
bmM+KGpzVGVzdEV4Y2VwdGlvbk5hbWUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3Bl
cnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAibmFtZSIsIFJlYWRPbmx5IHwg
Q3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0RXhjZXB0aW9uTmFtZSksIChpbnRwdHJfdCkg
c3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKIH07CiAK
IHN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0RXhjZXB0aW9uVGFibGUgPSB7IDEsIDEsIHRy
dWUsIEpTVGVzdEV4Y2VwdGlvblRhYmxlVmFsdWVzLCBKU1Rlc3RFeGNlcHRpb25UYWJsZUluZGV4
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPYmouY3BwCmluZGV4IDYzOTJkNDg3MWVlZmY1NTc3MjU2YzhlNWRlY2U2MTFkNjc5ZmUw
ZDkuLmJjZjg0Y2E5NDM1MjkzZWEzODBhMzBmYTE2YmQzOWQ2YmQwOGZhMmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3Bw
CkBAIC00MDIsNyArNDAyLDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE9i
alRhYmxlVmFsdWVzW10gPQogI2Vsc2UKICAgICB7IDAsIDAsIE5vSW50cmluc2ljLCB7IDAsIDAg
fSB9LAogI2VuZGlmCi0gICAgeyAiY29udGVudERvY3VtZW50IiwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5IHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ29udGVudERvY3VtZW50KSwg
KGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkg
fSB9LAorICAgIHsgImNvbnRlbnREb2N1bWVudCIsIFJlYWRPbmx5IHwgQ3VzdG9tQWNjZXNzb3Is
IE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZh
bHVlRnVuYz4oanNUZXN0T2JqQ29udGVudERvY3VtZW50KSwgKGludHB0cl90KSBzdGF0aWNfY2Fz
dDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAogfTsKIAogc3RhdGljIGNv
bnN0IEhhc2hUYWJsZSBKU1Rlc3RPYmpUYWJsZSA9IHsgNSwgMTUsIHRydWUsIEpTVGVzdE9ialRh
YmxlVmFsdWVzLCBKU1Rlc3RPYmpUYWJsZUluZGV4IH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDIyZWJiZTgxZTA0M2Y0
MzJmOGY4ZjFjMjJhNDhmZmM4YjgxZWQ0ZC4uOWM0MDIwYmUzM2IyNTgyNzY0M2Q3MzQwMTIxYzU2
NDdlYmY2ZDU2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE2LTAyLTA3ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQXR0cmlidXRlcyBvbiB0aGUgV2luZG93
IGluc3RhbmNlIHNob3VsZCBiZSBjb25maWd1cmFibGUgdW5sZXNzIFtVbmZvcmdlYWJsZV0KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzkyMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20v
V2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWNvbmZpZ3VyYWJsZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1jb25maWd1cmFi
bGUuaHRtbDogQWRkZWQuCisgICAgICAgIEFkZCBhIHRlc3QgdG8gY2hlY2sgdGhhdCBXaW5kb3cg
cHJvcGVydGllcyBhcmUgcmVwb3J0ZWQgYXMgY29uZmlndXJhYmxlCisgICAgICAgIHVubGVzcyB0
aGUgW1VuZm9yZ2VhYmxlXSBvbmVzIGFuZCB0aGF0IGRlbGV0aW5nIHRoZW0gYWN0dWFsbHkgd29y
a3MuCisKKyAgICAgICAgKiBmYXN0L2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLmh0bWw6CisgICAg
ICAgIFVwZGF0ZSB0ZXN0IHNvIGl0IG5vIGxvbmdlciBleHBlY3RzIHdpbmRvdy5Ob2RlIHRvIGJl
IHNoYWRvd2FibGUuIEFzIHBlcgorICAgICAgICB0aGUgc3BlY2lmaWNhdGlvbiwgdGhlICJOb2Rl
IiBwcm9wZXJ0eSBpcyBvbiB0aGUgd2luZG93IGluc3RhbmNlLCBub3QgaXRzCisgICAgICAgIHBy
b3RvdHlwZS4gVGhlcmVmb3JlLCBpdCBzaG91bGQgY2Fubm90IGJlIHNoYWRvd2VkIGFuZCBzZXR0
aW5nIGl0IHRvCisgICAgICAgIHNvbWV0aGluZyBhY3R1YWxseSBvdmVyd2l0ZXMgdGhlIHByZXZp
b3VzIHZhbHVlLCBnaXZlbiB0aGF0IHRoZSBwcm9wZXJ0eQorICAgICAgICBpcyB3cml0YWJsZSBh
cyBwZXI6CisgICAgICAgIC0gaHR0cDovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNlcy1pbnRl
cmZhY2VzCisgICAgICAgIEkgaGF2ZSB2ZXJpZmllZCB0aGF0IHRoZSBuZXcgYmVoYXZpb3IgaXMg
Y29uc2lzdGVudCB3aXRoIEZpcmVmb3guCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5
L2Nyb3NzLW9yaWdpbi1yZWlmaWVkLXdpbmRvdy1wcm9wZXJ0eS1hY2Nlc3MtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1yZWlm
aWVkLXdpbmRvdy1wcm9wZXJ0eS1hY2Nlc3MuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvcmVpZnktd2luZG93Lmh0bWw6IEFkZGVkLgorICAgICAg
ICBBZGQgYSB0ZXN0IGNhc2UgdG8gY292ZXIgY3Jvc3Mtb3JpZ2luIGFjY2VzcyBvZiBXaW5kb3cg
cHJvcGVydGllcyBhZnRlcgorICAgICAgICByZWlmaWNhdGlvbi4KKworICAgICAgICAqIGpzL2dl
dE93blByb3BlcnR5RGVzY3JpcHRvci11bmZvcmdlYWJsZS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBqcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0
cmlidXRlcy5odG1sOgorICAgICAgICBEcm9wIHdpbmRvdy5zZWxmIGZyb20gdGhlIGxpc3Qgb2Yg
dW5mb3JnZWFibGUgYXR0cmlidXRlcy4gVGhpcyBhdHRyaWJ1dGUKKyAgICAgICAgaXMgbm90IHVu
Zm9yZ2VhYmxlIGluIG91ciBpbXBsZW1lbnRhdGlvbiBvciBpbiB0aGUgc3BlY2lmaWNhdGlvbjoK
KyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9icm93c2Vy
cy5odG1sI3RoZS13aW5kb3ctb2JqZWN0CisKKyAgICAgICAgKiBqcy9nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3Itd2luZG93LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGpzL2dl
dE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1sOgorICAgICAgICAt
IEFkZCBjb3ZlcmFnZSBmb3Igd2luZG93LnNlbGYgd2hpY2ggaXMgYSByZWd1bGFyIFdpbmRvdyBw
cm9wZXJ0eS4KKyAgICAgICAgLSBBZGQgY292ZXJhZ2UgZm9yIHdpbmRvdy5Ob2RlIHdoaWNoIGlz
IGEgY29uc3RydWN0b3IgcHJvcGVydHkKKyAgICAgICAgLSBBZGQgY292ZXJhZ2UgZm9yIHdpbmRv
dy5jb25zdHJ1Y3Rvci4gSXQgc2hvdWxkIHJlYWxseSBiZSBvbiB0aGUgcHJvdG90eXBlCisgICAg
ICAgICAgYXMgcGVyIHRoZSBzcGVjaWZpY2F0aW9uIGJ1dCB0aGlzIGF0IGxlYXN0IGNoZWNrcyB0
aGF0IHRoZSBwcm9wZXJ0eSBpcworICAgICAgICAgIGNvbmZpZ3VyYWJsZSwgYXMgcGVyIHRoZSBz
cGVjaWZpY2F0aW9uLgorICAgICAgICAtIFJlYmFzZWxpbmUgdGhlIHRlc3QgYXMgbW9yZSBjaGVj
a3MgYXJlIHBhc3Npbmcgbm93IHRoYXQgV2luZG93IHByb3BlcnRpZXMKKyAgICAgICAgICBhcmUg
bWFya2VkIGFzIGNvbmZpZ3VyYWJsZS4KKwogMjAxNi0wMi0wOCAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEF0dHJpYnV0ZSBnZXR0ZXJzIHNob3VsZCBub3QgcmVx
dWlyZSBhbiBleHBsaWNpdCAndGhpcycgdmFsdWUgZm9yIFdpbmRvdyBwcm9wZXJ0aWVzCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtY29u
ZmlndXJhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcHJvcGVydGllcy1jb25maWd1cmFibGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4ODI2
ZmFlNWZmYTlkZWU0YjhhMzlmYjRkZWJkNWMwMGFiMzI3NDgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtY29uZmlndXJhYmxl
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM3IEBACitUZXN0cyB0aGF0IFdpbmRvdyBwcm9wZXJ0
aWVzIGFyZSBpbmRlZWQgY29uZmlndXJhYmxlIHVubGVzcyBbVW5mb3JnZWFibGVdCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisqIFJlZ3VsYXIgSURMIGF0dHJpYnV0ZS4KK1BBU1Mg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICduYW1lJykuY29uZmlndXJh
YmxlIGlzIHRydWUKK1BBU1Mgd2luZG93Lm5hbWUgaXMgIiIKK1BBU1MgZGVsZXRlIHdpbmRvdy5u
YW1lIGlzIHRydWUKK1BBU1Mgd2luZG93Lm5hbWUgaXMgdW5kZWZpbmVkLgord2luZG93Lm5hbWUg
PSAzCitQQVNTIHdpbmRvdy5uYW1lIGlzIDMKK1BBU1MgZGVsZXRlIHdpbmRvdy5uYW1lIGlzIHRy
dWUKK1BBU1Mgd2luZG93Lm5hbWUgaXMgdW5kZWZpbmVkLgorCisqIENvbnN0cnVjdG9yIGF0dHJp
YnV0ZXMuCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnTm9k
ZScpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIHdpbmRvdy5Ob2RlIGlzIG5vdCB1bmRlZmlu
ZWQKK1BBU1MgZGVsZXRlIHdpbmRvdy5Ob2RlIGlzIHRydWUKK1BBU1Mgd2luZG93Lk5vZGUgaXMg
dW5kZWZpbmVkLgord2luZG93Lk5vZGUgPSAzCitQQVNTIHdpbmRvdy5Ob2RlIGlzIDMKK1BBU1Mg
ZGVsZXRlIHdpbmRvdy5Ob2RlIGlzIHRydWUKK1BBU1Mgd2luZG93Lk5vZGUgaXMgdW5kZWZpbmVk
LgorCisqIFtVbmZvcmdlYWJsZV0gSURMIGF0dHJpYnV0ZS4KK1BBU1MgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICd3aW5kb3cnKS5jb25maWd1cmFibGUgaXMgZmFsc2UK
K1BBU1Mgd2luZG93LndpbmRvdyBpcyBub3QgdW5kZWZpbmVkCitQQVNTIGRlbGV0ZSB3aW5kb3cu
d2luZG93IGlzIGZhbHNlCitQQVNTIHdpbmRvdy53aW5kb3cgaXMgbm90IHVuZGVmaW5lZAord2lu
ZG93LndpbmRvdyA9IDMKK1BBU1Mgd2luZG93LndpbmRvdyBpcyBub3QgMworCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWNvbmZpZ3VyYWJsZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWNvbmZp
Z3VyYWJsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwZWExOTIzMTA4MjUyMzExYmZjZWJmZmEwZjc5ZThj
NzQ3ZjY0MTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cv
d2luZG93LXByb3BlcnRpZXMtY29uZmlndXJhYmxlLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFE
T0NZVFBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRl
c3RzIHRoYXQgV2luZG93IHByb3BlcnRpZXMgYXJlIGluZGVlZCBjb25maWd1cmFibGUgdW5sZXNz
IFtVbmZvcmdlYWJsZV0iKTsKKworZGVidWcoIiogUmVndWxhciBJREwgYXR0cmlidXRlLiIpOwor
c2hvdWxkQmVUcnVlKCJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ25h
bWUnKS5jb25maWd1cmFibGUiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93Lm5hbWUi
LCAiIik7CitzaG91bGRCZVRydWUoImRlbGV0ZSB3aW5kb3cubmFtZSIpOworc2hvdWxkQmVVbmRl
ZmluZWQoIndpbmRvdy5uYW1lIik7CitldmFsQW5kTG9nKCJ3aW5kb3cubmFtZSA9IDMiKTsKK3No
b3VsZEJlKCJ3aW5kb3cubmFtZSIsICIzIik7CitzaG91bGRCZVRydWUoImRlbGV0ZSB3aW5kb3cu
bmFtZSIpOworc2hvdWxkQmVVbmRlZmluZWQoIndpbmRvdy5uYW1lIik7CisKK2RlYnVnKCIiKTsK
K2RlYnVnKCIqIENvbnN0cnVjdG9yIGF0dHJpYnV0ZXMuIik7CitzaG91bGRCZVRydWUoIk9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnTm9kZScpLmNvbmZpZ3VyYWJsZSIp
Oworc2hvdWxkTm90QmUoIndpbmRvdy5Ob2RlIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmVUcnVl
KCJkZWxldGUgd2luZG93Lk5vZGUiKTsKK3Nob3VsZEJlVW5kZWZpbmVkKCJ3aW5kb3cuTm9kZSIp
OworZXZhbEFuZExvZygid2luZG93Lk5vZGUgPSAzIik7CitzaG91bGRCZSgid2luZG93Lk5vZGUi
LCAiMyIpOworc2hvdWxkQmVUcnVlKCJkZWxldGUgd2luZG93Lk5vZGUiKTsKK3Nob3VsZEJlVW5k
ZWZpbmVkKCJ3aW5kb3cuTm9kZSIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiKiBbVW5mb3JnZWFi
bGVdIElETCBhdHRyaWJ1dGUuIik7CitzaG91bGRCZUZhbHNlKCJPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKHdpbmRvdywgJ3dpbmRvdycpLmNvbmZpZ3VyYWJsZSIpOworc2hvdWxkTm90
QmUoIndpbmRvdy53aW5kb3ciLCAidW5kZWZpbmVkIik7CitzaG91bGRCZUZhbHNlKCJkZWxldGUg
d2luZG93LndpbmRvdyIpOworc2hvdWxkTm90QmUoIndpbmRvdy53aW5kb3ciLCAidW5kZWZpbmVk
Iik7CitldmFsQW5kTG9nKCJ3aW5kb3cud2luZG93ID0gMyIpOworc2hvdWxkTm90QmUoIndpbmRv
dy53aW5kb3ciLCAiMyIpOworCitkZWJ1ZygiIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2dsb2JhbC1jb25zdHJ1Y3Rv
cnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMuaHRtbApp
bmRleCAwYjM5ZGQwNzAzMzZlMWMzODk2ZDg3MGY5OTdkZTlmODk0N2FkMDVjLi45ZDJkZTliMDk4
OTYyN2Y0YmJiNjJkMzMxZDEwMDQxN2ZmMjI2MTFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy5odG1sCkBAIC05NSwxNSArOTUsMTcgQEAgZnVuY3Rpb24g
dGVzdCgpCiAgICAgCiAgICAgb3JpZ2luYWxOb2RlQ29uc3RydWN0b3IgPSB3aW5kb3cuTm9kZTsg
ICAgCiAKLSAgICAvLyBTaGFkb3cgd2luZG93Lk5vZGUKKyAgICAvLyBTZXQgd2luZG93Lk5vZGUK
ICAgICB3aW5kb3cuTm9kZSA9IDE7CiAgICAgcHJpbnQoIltTZXQgd2luZG93Lk5vZGUgPSAxXSIp
OwogICAgIHNob3VsZEJlKCJ3aW5kb3cuTm9kZSIsIDEpOwogICAgIAotICAgIC8vIFVuc2hhZG93
IHdpbmRvdy5Ob2RlCisgICAgLy8gRGVsZXRlIHdpbmRvdy5Ob2RlCiAgICAgZGVsZXRlIHdpbmRv
dy5Ob2RlOwogICAgIHByaW50KCJbRGVsZXRlZCB3aW5kb3cuTm9kZV0iKTsKLSAgICBzaG91bGRC
ZSgid2luZG93Lk5vZGUiLCBvcmlnaW5hbE5vZGVDb25zdHJ1Y3Rvcik7CisgICAgc2hvdWxkQmUo
IndpbmRvdy5Ob2RlIiwgdW5kZWZpbmVkKTsKKworICAgIHdpbmRvdy5Ob2RlID0gb3JpZ2luYWxO
b2RlQ29uc3RydWN0b3I7CiAKICAgICAvLyBBdHRlbXB0IHRvIHNoYWRvdyB3aW5kb3cuTm9kZSB3
aXRoIGEgZnJhbWUgbmFtZWQgJ05vZGUnCiAgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2lmcmFtZScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jcm9zcy1vcmlnaW4tcmVpZmllZC13aW5kb3ctcHJvcGVydHktYWNjZXNzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXJl
aWZpZWQtd2luZG93LXByb3BlcnR5LWFjY2Vzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzk0
MTU1NGMyYWQyNTMxM2JlNGUyOTIwMmMxYjcyNjBiZDllYjNjMAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXJlaWZpZWQtd2lu
ZG93LXByb3BlcnR5LWFjY2Vzcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE1OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8x
MjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDov
L2xvY2FsaG9zdDo4MDAwIi4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRj
aC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNTogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2lu
ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmln
aW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRz
IG11c3QgbWF0Y2guCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6IEJsb2NrZWQgYSBmcmFtZSB3
aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGZyYW1l
IHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0OjgwMDAiLiBQcm90b2NvbHMsIGRvbWFpbnMs
IGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorVGVzdHMgdGhhdCByZWlmaWNhdGlvbiBkb2VzIG5vdCBi
eXBhc3MgY3Jvc3Mtb3JpZ2luIGNoZWNrcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgY3Jvc3NPcmlnaW5XaW5kb3cuZG9jdW1lbnQgcmV0dXJuZWQgdW5kZWZpbmVkLgor
UEFTUyBjcm9zc09yaWdpbldpbmRvdy5uYW1lIHJldHVybmVkIHVuZGVmaW5lZC4KK1BBU1MgY3Jv
c3NPcmlnaW5XaW5kb3cubWVudWJhciByZXR1cm5lZCB1bmRlZmluZWQuCitQQVNTIGNyb3NzT3Jp
Z2luV2luZG93LnNjcm9sbGJhcnMiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgRU9GLgorUEFTUyBjcm9zc09yaWdpbldpbmRvdy5uYXZpZ2F0b3IiKSB0aHJldyBleGNl
cHRpb24gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgRU9GLgorUEFTUyBjcm9zc09yaWdpbldpbmRv
dy5zY3JlZW5YIikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIEVPRi4K
K1BBU1MgY3Jvc3NPcmlnaW5XaW5kb3cubG9jYXRpb24gaXMgbm90IHVuZGVmaW5lZAorUEFTUyBj
cm9zc09yaWdpbldpbmRvdy5zZWxmIGlzIGNyb3NzT3JpZ2luV2luZG93LndpbmRvdworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXJlaWZpZWQtd2lu
ZG93LXByb3BlcnR5LWFjY2Vzcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jcm9zcy1vcmlnaW4tcmVpZmllZC13aW5kb3ctcHJvcGVydHktYWNjZXNzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzUyYzQwMDU0M2IyMDhiZjE3ZTJmYThkNDQ0NmY4ZDlhOWZmNTk2ZgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXJl
aWZpZWQtd2luZG93LXByb3BlcnR5LWFjY2Vzcy5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgorPGlmcmFtZSBzcmM9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJj
ZXMvcmVpZnktd2luZG93Lmh0bWwiPjwvaWZyYW1lPgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJU
ZXN0cyB0aGF0IHJlaWZpY2F0aW9uIGRvZXMgbm90IGJ5cGFzcyBjcm9zcy1vcmlnaW4gY2hlY2tz
LiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Z1bmN0aW9uIHNob3VsZFRocm93T3JSZXR1
cm5VbmRlZmluZWQoZXhwcmVzc2lvbikKK3sKKyAgICB0cnkgeworICAgICAgICByZXN1bHQgPSBl
dmFsKGV4cHJlc3Npb24pOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgdGVzdFBhc3NlZChl
eHByZXNzaW9uICsgIiB0aHJldyBleGNlcHRpb24gIiArIGUgKyAiLiIpOworICAgICAgICByZXR1
cm47CisgICAgfQorICAgIGlmIChyZXN1bHQgPT09IHVuZGVmaW5lZCkKKyAgICAgICAgdGVzdFBh
c3NlZChleHByZXNzaW9uICsgIiByZXR1cm5lZCB1bmRlZmluZWQuIik7CisgICAgZWxzZQorICAg
ICAgICB0ZXN0RmFpbGVkKGV4cHJlc3Npb24gKyAiIHJldHVybmVkICIgKyByZXN1bHQpOworfQor
CitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBjcm9zc09yaWdpbldpbmRvdyA9IGZyYW1lc1sw
XTsKKyAgICBzaG91bGRUaHJvd09yUmV0dXJuVW5kZWZpbmVkKCdjcm9zc09yaWdpbldpbmRvdy5k
b2N1bWVudCcpOworICAgIHNob3VsZFRocm93T3JSZXR1cm5VbmRlZmluZWQoJ2Nyb3NzT3JpZ2lu
V2luZG93Lm5hbWUnKTsKKyAgICBzaG91bGRUaHJvd09yUmV0dXJuVW5kZWZpbmVkKCdjcm9zc09y
aWdpbldpbmRvdy5tZW51YmFyJyk7CisgICAgc2hvdWxkVGhyb3dPclJldHVyblVuZGVmaW5lZCgn
Y3Jvc3NPcmlnaW5XaW5kb3cuc2Nyb2xsYmFycyIpJyk7CisgICAgc2hvdWxkVGhyb3dPclJldHVy
blVuZGVmaW5lZCgnY3Jvc3NPcmlnaW5XaW5kb3cubmF2aWdhdG9yIiknKTsKKyAgICBzaG91bGRU
aHJvd09yUmV0dXJuVW5kZWZpbmVkKCdjcm9zc09yaWdpbldpbmRvdy5zY3JlZW5YIiknKTsKKyAg
ICBzaG91bGROb3RCZSgnY3Jvc3NPcmlnaW5XaW5kb3cubG9jYXRpb24nLCAndW5kZWZpbmVkJyk7
CisKKyAgICAvLyBFdmVuIHRob3VnaCB3aW5kb3cuc2VsZiB3YXMgZGVsZXRlZCwgd2Ugc3RpbGwg
dXNlIHRoZSBvcmlnaW5hbCBzdGF0aWMgcHJvcGVydHkgZ2V0dGVyLCB0byBtYXRjaAorICAgIC8v
IEZpcmVmb3ggYW5kIENocm9tZS4KKyAgICBzaG91bGRCZSgnY3Jvc3NPcmlnaW5XaW5kb3cuc2Vs
ZicsICdjcm9zc09yaWdpbldpbmRvdy53aW5kb3cnKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30K
Kzwvc2NyaXB0PgorPC9ib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvcmVpZnktd2luZG93Lmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9yZWlmeS13aW5kb3cuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jMWMyODBmMDA5Yzk5YTZiMWYzMDRmMzRiMzQwZWJlMTc5OTliY2M3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvcmVpZnkt
d2luZG93Lmh0bWwKQEAgLTAsMCArMSw0IEBACis8c2NyaXB0PgorZGVsZXRlIHdpbmRvdy5zZWxm
Oword2luZG93LnNlbGYgPSAic2VjcmV0IjsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pbnRlcmZhY2Vz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9kb20vaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKaW5kZXggNmQwOTg5NmI1NWIxMzM1
ZTJhZDEyMGIxMjNkNTUxYmVjYjYwMDE1Yi4uMDZhNTViZTY5YzhhY2RkNTkxNmI2OGJkZmQ5Zjgx
ZTViOWI3OTUzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2RvbS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2ludGVyZmFjZXMt
ZXhwZWN0ZWQudHh0CkBAIC0zODAwLDMwICszODAwLDM0IEBAIFBBU1MgV2luZG93IGludGVyZmFj
ZSBvYmplY3QgbGVuZ3RoCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCiBGQUlM
IFdpbmRvdyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCBhc3NlcnRfZXF1YWxzOiBDbGFzcyBuYW1lIGZvciBwcm90b3R5cGUg
b2YgV2luZG93LnByb3RvdHlwZSBpcyBub3QgIldpbmRvd1Byb3BlcnRpZXMiIGV4cGVjdGVkICJb
b2JqZWN0IFdpbmRvd1Byb3BlcnRpZXNdIiBidXQgZ290ICJbb2JqZWN0IE9iamVjdF0iCiBGQUlM
IFdpbmRvdyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogV2luZG93LnByb3RvdHlwZSBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiY29uc3Ry
dWN0b3IiIGV4cGVjdGVkIHByb3BlcnR5ICJjb25zdHJ1Y3RvciIgbWlzc2luZwotRkFJTCBXaW5k
b3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc2VsZiBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBi
ZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVy
ZmFjZTogYXR0cmlidXRlIG5hbWUgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmln
dXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBoaXN0b3J5IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJs
ZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgbG9jYXRpb25iYXIgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxl
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBtZW51YmFyIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcGVy
c29uYWxiYXIgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzY3Jv
bGxiYXJzIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3RhdHVz
YmFyIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdG9vbGJhciBh
c3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHN0YXR1cyBhc3NlcnRf
dHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHNlbGYgCitQQVNTIFdpbmRvdyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBuYW1lIAorRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgaGlzdG9yeSBhc3NlcnRfZXF1YWxzOiBzZXR0ZXIgbXVzdCBiZSB1bmRlZmluZWQgZm9yIHJl
YWRvbmx5IGF0dHJpYnV0ZXMgZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3Qg
KGZ1bmN0aW9uKSBmdW5jdGlvbiAiZnVuY3Rpb24gaGlzdG9yeSgpIHsKKyAgICBbbmF0aXZlIGNv
ZGVdCit9IgorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbG9jYXRpb25iYXIgCitQ
QVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtZW51YmFyIAorUEFTUyBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgcGVyc29uYWxiYXIgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBzY3JvbGxiYXJzIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3Rh
dHVzYmFyIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdG9vbGJhciAKK1BBU1Mg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHN0YXR1cyAKIEZBSUwgV2luZG93IGludGVyZmFj
ZTogb3BlcmF0aW9uIGNsb3NlKCkgYXNzZXJ0X2VxdWFsczogcHJvcGVydHkgc2hvdWxkIGJlIHdy
aXRhYmxlIGlmIGFuZCBvbmx5IGlmIG5vdCB1bmZvcmdlYWJsZSBleHBlY3RlZCB0cnVlIGJ1dCBn
b3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGNsb3NlZCBhc3NlcnRf
dHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGNsb3NlZCAKIEZBSUwgV2luZG93
IGludGVyZmFjZTogb3BlcmF0aW9uIHN0b3AoKSBkZXNjIGlzIG5vdCBhbiBPYmplY3QuIChldmFs
dWF0aW5nICciZ2V0IiBpbiBkZXNjJykKIEZBSUwgV2luZG93IGludGVyZmFjZTogb3BlcmF0aW9u
IGZvY3VzKCkgYXNzZXJ0X2VxdWFsczogcHJvcGVydHkgc2hvdWxkIGJlIHdyaXRhYmxlIGlmIGFu
ZCBvbmx5IGlmIG5vdCB1bmZvcmdlYWJsZSBleHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKIEZB
SUwgV2luZG93IGludGVyZmFjZTogb3BlcmF0aW9uIGJsdXIoKSBhc3NlcnRfZXF1YWxzOiBwcm9w
ZXJ0eSBzaG91bGQgYmUgd3JpdGFibGUgaWYgYW5kIG9ubHkgaWYgbm90IHVuZm9yZ2VhYmxlIGV4
cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgZnJhbWVzIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbGVu
Z3RoIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb3BlbmVyIGFz
c2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcGFyZW50IGFzc2VydF90
cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZnJhbWVFbGVtZW50IGFzc2VydF90
cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZnJhbWVzIAorUEFTUyBXaW5kb3cg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgbGVuZ3RoIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb3BlbmVyIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcGFyZW50IAor
UEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZnJhbWVFbGVtZW50IAogRkFJTCBXaW5k
b3cgaW50ZXJmYWNlOiBvcGVyYXRpb24gb3BlbihET01TdHJpbmcsRE9NU3RyaW5nLERPTVN0cmlu
Zyxib29sZWFuKSBkZXNjIGlzIG5vdCBhbiBPYmplY3QuIChldmFsdWF0aW5nICciZ2V0IiBpbiBk
ZXNjJykKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG5hdmlnYXRvciBhc3NlcnRf
dHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKK0ZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG5hdmlnYXRvciBhc3NlcnRfZXF1
YWxzOiBzZXR0ZXIgbXVzdCBiZSB1bmRlZmluZWQgZm9yIHJlYWRvbmx5IGF0dHJpYnV0ZXMgZXhw
ZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKGZ1bmN0aW9uKSBmdW5jdGlvbiAi
ZnVuY3Rpb24gbmF2aWdhdG9yKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iCiBGQUlMIFdpbmRv
dyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBleHRlcm5hbCBhc3NlcnRfb3duX3Byb3BlcnR5OiBUaGUg
Z2xvYmFsIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAiZXh0ZXJuYWwiIGV4cGVjdGVkIHBy
b3BlcnR5ICJleHRlcm5hbCIgbWlzc2luZwotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgYXBwbGljYXRpb25DYWNoZSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1
cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIGFwcGxpY2F0aW9uQ2FjaGUgCiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IG9wZXJhdGlv
biBhbGVydCgpIGRlc2MgaXMgbm90IGFuIE9iamVjdC4gKGV2YWx1YXRpbmcgJyJnZXQiIGluIGRl
c2MnKQogRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBvcGVyYXRpb24gY29uZmlybShET01TdHJpbmcp
IGRlc2MgaXMgbm90IGFuIE9iamVjdC4gKGV2YWx1YXRpbmcgJyJnZXQiIGluIGRlc2MnKQogRkFJ
TCBXaW5kb3cgaW50ZXJmYWNlOiBvcGVyYXRpb24gcHJvbXB0KERPTVN0cmluZyxET01TdHJpbmcp
IGRlc2MgaXMgbm90IGFuIE9iamVjdC4gKGV2YWx1YXRpbmcgJyJnZXQiIGluIGRlc2MnKQpAQCAt
MzgzMiw4MiArMzgzNiw4MiBAQCBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzaG93
TW9kYWxEaWFsb2coRE9NU3RyaW5nLGFueSkgZGVzYyBpcyBub3QgYW4gTwogRkFJTCBXaW5kb3cg
aW50ZXJmYWNlOiBvcGVyYXRpb24gcG9zdE1lc3NhZ2UoYW55LERPTVN0cmluZyxbb2JqZWN0IE9i
amVjdF0pIGFzc2VydF9lcXVhbHM6IHByb3BlcnR5IHNob3VsZCBiZSB3cml0YWJsZSBpZiBhbmQg
b25seSBpZiBub3QgdW5mb3JnZWFibGUgZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCiBGQUlM
IFdpbmRvdyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjYXB0dXJlRXZlbnRzKCkgZGVzYyBpcyBub3Qg
YW4gT2JqZWN0LiAoZXZhbHVhdGluZyAnImdldCIgaW4gZGVzYycpCiBGQUlMIFdpbmRvdyBpbnRl
cmZhY2U6IG9wZXJhdGlvbiByZWxlYXNlRXZlbnRzKCkgZGVzYyBpcyBub3QgYW4gT2JqZWN0LiAo
ZXZhbHVhdGluZyAnImdldCIgaW4gZGVzYycpCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbmFib3J0IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25hYm9ydCAKIEZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uYXV0b2NvbXBsZXRl
IGFzc2VydF9vd25fcHJvcGVydHk6IFRoZSBnbG9iYWwgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3Bl
cnR5ICJvbmF1dG9jb21wbGV0ZSIgZXhwZWN0ZWQgcHJvcGVydHkgIm9uYXV0b2NvbXBsZXRlIiBt
aXNzaW5nCiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmF1dG9jb21wbGV0ZWVy
cm9yIGFzc2VydF9vd25fcHJvcGVydHk6IFRoZSBnbG9iYWwgb2JqZWN0IG11c3QgaGF2ZSBhIHBy
b3BlcnR5ICJvbmF1dG9jb21wbGV0ZWVycm9yIiBleHBlY3RlZCBwcm9wZXJ0eSAib25hdXRvY29t
cGxldGVlcnJvciIgbWlzc2luZwotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25i
bHVyIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25ibHVyIAog
RkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jYW5jZWwgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogVGhlIGdsb2JhbCBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgIm9uY2FuY2VsIiBl
eHBlY3RlZCBwcm9wZXJ0eSAib25jYW5jZWwiIG1pc3NpbmcKLUZBSUwgV2luZG93IGludGVyZmFj
ZTogYXR0cmlidXRlIG9uY2FucGxheSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25m
aWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTog
YXR0cmlidXRlIG9uY2FucGxheXRocm91Z2ggYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUg
Y29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbmNoYW5nZSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25m
aWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTog
YXR0cmlidXRlIG9uY2xpY2sgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJh
YmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbmNhbnBsYXkgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNhbnBs
YXl0aHJvdWdoIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UgCitQ
QVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNsaWNrIAogRkFJTCBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25jbG9zZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBUaGUgZ2xvYmFs
IG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAib25jbG9zZSIgZXhwZWN0ZWQgcHJvcGVydHkg
Im9uY2xvc2UiIG1pc3NpbmcKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uY29u
dGV4dG1lbnUgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNv
bnRleHRtZW51IAogRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jdWVjaGFuZ2Ug
YXNzZXJ0X293bl9wcm9wZXJ0eTogVGhlIGdsb2JhbCBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVy
dHkgIm9uY3VlY2hhbmdlIiBleHBlY3RlZCBwcm9wZXJ0eSAib25jdWVjaGFuZ2UiIG1pc3NpbmcK
LUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uZGJsY2xpY2sgYXNzZXJ0X3RydWU6
IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1G
QUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmRyYWcgYXNzZXJ0X3RydWU6IHByb3Bl
cnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdp
bmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmRyYWdlbmQgYXNzZXJ0X3RydWU6IHByb3BlcnR5
IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRv
dyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmRyYWdlbnRlciBhc3NlcnRfdHJ1ZTogcHJvcGVydHkg
bXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgV2luZG93
IGludGVyZmFjZTogYXR0cmlidXRlIG9uZGJsY2xpY2sgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbmRyYWcgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmRy
YWdlbmQgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmRyYWdlbnRlciAKIEZB
SUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uZHJhZ2V4aXQgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogVGhlIGdsb2JhbCBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgIm9uZHJhZ2V4aXQi
IGV4cGVjdGVkIHByb3BlcnR5ICJvbmRyYWdleGl0IiBtaXNzaW5nCi1GQUlMIFdpbmRvdyBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbmRyYWdsZWF2ZSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBi
ZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVy
ZmFjZTogYXR0cmlidXRlIG9uZHJhZ292ZXIgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUg
Y29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbmRyYWdzdGFydCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBj
b25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFj
ZTogYXR0cmlidXRlIG9uZHJvcCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1
cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIG9uZHVyYXRpb25jaGFuZ2UgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29u
ZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbmVtcHRpZWQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmln
dXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbmVuZGVkIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJs
ZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb25lcnJvciBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9u
Zm9jdXMgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmlucHV0
IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25pbnZhbGlkIGFz
c2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25rZXlkb3duIGFzc2Vy
dF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25rZXlwcmVzcyBhc3NlcnRf
dHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ua2V5dXAgYXNzZXJ0X3RydWU6
IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1G
QUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmxvYWQgYXNzZXJ0X3RydWU6IHByb3Bl
cnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdp
bmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmxvYWRlZGRhdGEgYXNzZXJ0X3RydWU6IHByb3Bl
cnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdp
bmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmxvYWRlZG1ldGFkYXRhIGFzc2VydF90cnVlOiBw
cm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJ
TCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25sb2Fkc3RhcnQgYXNzZXJ0X3RydWU6IHBy
b3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlM
IFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlZG93biBhc3NlcnRfdHJ1ZTogcHJv
cGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VlbnRlciBhc3NlcnRfdHJ1ZTogcHJv
cGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VsZWF2ZSBhc3NlcnRfdHJ1ZTogcHJv
cGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2Vtb3ZlIGFzc2VydF90cnVlOiBwcm9w
ZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBX
aW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZW91dCBhc3NlcnRfdHJ1ZTogcHJvcGVy
dHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2lu
ZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VvdmVyIGFzc2VydF90cnVlOiBwcm9wZXJ0
eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5k
b3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZXVwIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBt
dXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZXdoZWVsIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBt
dXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYXVzZSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBi
ZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVy
ZmFjZTogYXR0cmlidXRlIG9ucGxheSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25m
aWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTog
YXR0cmlidXRlIG9ucGxheWluZyBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1
cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIG9ucHJvZ3Jlc3MgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJh
YmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbnJhdGVjaGFuZ2UgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJh
YmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbnJlc2V0IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25yZXNpemUgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnNj
cm9sbCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uc2Vla2Vk
IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zZWVraW5nIGFz
c2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zZWxlY3QgYXNzZXJ0
X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmRyYWdsZWF2ZSAKK1BBU1Mg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uZHJhZ292ZXIgCitQQVNTIFdpbmRvdyBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbmRyYWdzdGFydCAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIG9uZHJvcCAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uZHVyYXRp
b25jaGFuZ2UgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVtcHRpZWQgCitQ
QVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVuZGVkIAorUEFTUyBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25lcnJvciAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmli
dXRlIG9uZm9jdXMgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmlucHV0IAor
UEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25pbnZhbGlkIAorUEFTUyBXaW5kb3cg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25rZXlkb3duIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25rZXlwcmVzcyAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9u
a2V5dXAgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmxvYWQgCitQQVNTIFdp
bmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmxvYWRlZGRhdGEgCitQQVNTIFdpbmRvdyBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbmxvYWRlZG1ldGFkYXRhIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb25sb2Fkc3RhcnQgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbm1vdXNlZG93biAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2Vl
bnRlciAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VsZWF2ZSAKK1BB
U1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2Vtb3ZlIAorUEFTUyBXaW5kb3cg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZW91dCAKK1BBU1MgV2luZG93IGludGVyZmFjZTog
YXR0cmlidXRlIG9ubW91c2VvdmVyIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25tb3VzZXVwIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZXdoZWVs
IAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYXVzZSAKK1BBU1MgV2luZG93
IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGxheSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIG9ucGxheWluZyAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ucHJv
Z3Jlc3MgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnJhdGVjaGFuZ2UgCitQ
QVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnJlc2V0IAorUEFTUyBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25yZXNpemUgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbnNjcm9sbCAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uc2Vla2Vk
IAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zZWVraW5nIAorUEFTUyBXaW5k
b3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zZWxlY3QgCiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbnNob3cgYXNzZXJ0X293bl9wcm9wZXJ0eTogVGhlIGdsb2JhbCBvYmplY3Qg
bXVzdCBoYXZlIGEgcHJvcGVydHkgIm9uc2hvdyIgZXhwZWN0ZWQgcHJvcGVydHkgIm9uc2hvdyIg
bWlzc2luZwogRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zb3J0IGFzc2VydF9v
d25fcHJvcGVydHk6IFRoZSBnbG9iYWwgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJvbnNv
cnQiIGV4cGVjdGVkIHByb3BlcnR5ICJvbnNvcnQiIG1pc3NpbmcKLUZBSUwgV2luZG93IGludGVy
ZmFjZTogYXR0cmlidXRlIG9uc3RhbGxlZCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBj
b25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFj
ZTogYXR0cmlidXRlIG9uc3VibWl0IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZp
Z3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25zdXNwZW5kIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3Vy
YWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb250aW1ldXBkYXRlIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3Vy
YWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb25zdGFsbGVkIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zdWJt
aXQgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnN1c3BlbmQgCitQQVNTIFdp
bmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnRpbWV1cGRhdGUgCiBGQUlMIFdpbmRvdyBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbnRvZ2dsZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBUaGUgZ2xvYmFs
IG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAib250b2dnbGUiIGV4cGVjdGVkIHByb3BlcnR5
ICJvbnRvZ2dsZSIgbWlzc2luZwotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb252
b2x1bWVjaGFuZ2UgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bndhaXRpbmcgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnZv
bHVtZWNoYW5nZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2FpdGluZyAK
IEZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uYWZ0ZXJwcmludCBhc3NlcnRfb3du
X3Byb3BlcnR5OiBUaGUgZ2xvYmFsIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAib25hZnRl
cnByaW50IiBleHBlY3RlZCBwcm9wZXJ0eSAib25hZnRlcnByaW50IiBtaXNzaW5nCiBGQUlMIFdp
bmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmJlZm9yZXByaW50IGFzc2VydF9vd25fcHJvcGVy
dHk6IFRoZSBnbG9iYWwgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJvbmJlZm9yZXByaW50
IiBleHBlY3RlZCBwcm9wZXJ0eSAib25iZWZvcmVwcmludCIgbWlzc2luZwotRkFJTCBXaW5kb3cg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25iZWZvcmV1bmxvYWQgYXNzZXJ0X3RydWU6IHByb3BlcnR5
IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRv
dyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmhhc2hjaGFuZ2UgYXNzZXJ0X3RydWU6IHByb3BlcnR5
IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFdpbmRv
dyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmJlZm9yZXVubG9hZCAKK1BBU1MgV2luZG93IGludGVy
ZmFjZTogYXR0cmlidXRlIG9uaGFzaGNoYW5nZSAKIEZBSUwgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIG9ubGFuZ3VhZ2VjaGFuZ2UgYXNzZXJ0X293bl9wcm9wZXJ0eTogVGhlIGdsb2JhbCBv
YmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgIm9ubGFuZ3VhZ2VjaGFuZ2UiIGV4cGVjdGVkIHBy
b3BlcnR5ICJvbmxhbmd1YWdlY2hhbmdlIiBtaXNzaW5nCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbm1lc3NhZ2UgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmln
dXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbm9mZmxpbmUgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJh
YmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbm9ubGluZSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUg
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRl
IG9ucGFnZWhpZGUgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bnBhZ2VzaG93IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25w
b3BzdGF0ZSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uc3Rv
cmFnZSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9udW5sb2Fk
IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tZXNzYWdlIAor
UEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25vZmZsaW5lIAorUEFTUyBXaW5kb3cg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25vbmxpbmUgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbnBhZ2VoaWRlIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25w
YWdlc2hvdyAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ucG9wc3RhdGUgCitQ
QVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnN0b3JhZ2UgCitQQVNTIFdpbmRvdyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnVubG9hZCAKIEZBSUwgV2luZG93IGludGVyZmFjZTogb3Bl
cmF0aW9uIGJ0b2EoRE9NU3RyaW5nKSBkZXNjIGlzIG5vdCBhbiBPYmplY3QuIChldmFsdWF0aW5n
ICciZ2V0IiBpbiBkZXNjJykKIEZBSUwgV2luZG93IGludGVyZmFjZTogb3BlcmF0aW9uIGF0b2Io
RE9NU3RyaW5nKSBkZXNjIGlzIG5vdCBhbiBPYmplY3QuIChldmFsdWF0aW5nICciZ2V0IiBpbiBk
ZXNjJykKIEZBSUwgV2luZG93IGludGVyZmFjZTogb3BlcmF0aW9uIHNldFRpbWVvdXQoRnVuY3Rp
b24sbG9uZyxhbnkpIGRlc2MgaXMgbm90IGFuIE9iamVjdC4gKGV2YWx1YXRpbmcgJyJnZXQiIGlu
IGRlc2MnKQpAQCAtMzkxNyw4ICszOTIxLDggQEAgRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBvcGVy
YXRpb24gc2V0SW50ZXJ2YWwoRnVuY3Rpb24sbG9uZyxhbnkpIGRlc2MgaXMgbm90IGFuIE8KIEZB
SUwgV2luZG93IGludGVyZmFjZTogb3BlcmF0aW9uIHNldEludGVydmFsKERPTVN0cmluZyxsb25n
LGFueSkgZGVzYyBpcyBub3QgYW4gT2JqZWN0LiAoZXZhbHVhdGluZyAnImdldCIgaW4gZGVzYycp
CiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbGVhckludGVydmFsKGxvbmcpIGRl
c2MgaXMgbm90IGFuIE9iamVjdC4gKGV2YWx1YXRpbmcgJyJnZXQiIGluIGRlc2MnKQogRkFJTCBX
aW5kb3cgaW50ZXJmYWNlOiBvcGVyYXRpb24gY3JlYXRlSW1hZ2VCaXRtYXAoSW1hZ2VCaXRtYXBT
b3VyY2UsbG9uZyxsb25nLGxvbmcsbG9uZykgYXNzZXJ0X293bl9wcm9wZXJ0eTogZ2xvYmFsIG9i
amVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJjcmVh
dGVJbWFnZUJpdG1hcCIgbWlzc2luZwotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
c2Vzc2lvblN0b3JhZ2UgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxl
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBsb2NhbFN0b3JhZ2UgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxl
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBzZXNzaW9uU3RvcmFnZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGxvY2Fs
U3RvcmFnZSAKIFBBU1MgV2luZG93IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Ygd2luZG93
IAogUEFTUyBTdHJpbmdpZmljYXRpb24gb2Ygd2luZG93IAogUEFTUyBXaW5kb3cgaW50ZXJmYWNl
OiB3aW5kb3cgbXVzdCBoYXZlIG93biBwcm9wZXJ0eSAid2luZG93IiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci11bmZvcmdlYWJsZS1hdHRyaWJ1
dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRv
ci11bmZvcmdlYWJsZS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCAxMmJkNWU3MzNjOWFk
YmMwMTNiZmM3YTM3ZmJhYTgwNDc1NGM1NzhhLi4xNzQ0OWRkYTg3ODgzN2U3MTk5YzdhZjQ5NmQ5
ZjFmMjBlOTU5MzFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXVuZm9yZ2VhYmxlLWF0dHJpYnV0ZXMt
ZXhwZWN0ZWQudHh0CkBAIC05OCwxNCArOTgsNiBAQCBQQVNTIGRlc2NyaXB0b3IuY29uZmlndXJh
YmxlIGlzIGZhbHNlCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwoaW52YWxpZE9iamVjdCkgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIERPTVdpbmRvdy5sb2NhdGlvbiBnZXR0ZXIgY2Fu
IG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgRE9NV2luZG93LgogUEFTUyBkZXNjcmlwdG9y
LmdldC5jYWxsKHdpbmRvdykgPT09IHdpbmRvdy5sb2NhdGlvbiBpcyB0cnVlCiAKLSogV2luZG93
LnNlbGYKLVBBU1MgZGVzY3JpcHRvci5nZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KLVBB
U1MgZGVzY3JpcHRvci5zZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KLVBBU1MgZGVzY3Jp
cHRvci5lbnVtZXJhYmxlIGlzIHRydWUKLVBBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMg
ZmFsc2UKLVBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbChpbnZhbGlkT2JqZWN0KSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBUaGUgRE9NV2luZG93LnNlbGYgZ2V0dGVyIGNhbiBvbmx5IGJlIHVz
ZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdy4KLVBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbCh3
aW5kb3cpID09PSB3aW5kb3cuc2VsZiBpcyB0cnVlCi0KICogV2luZG93LndpbmRvdwogUEFTUyBk
ZXNjcmlwdG9yLmdldCBpcyBhbiBpbnN0YW5jZSBvZiBGdW5jdGlvbgogUEFTUyBkZXNjcmlwdG9y
LnNldCBpcyB1bmRlZmluZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0cmlidXRlcy5odG1sIGIvTGF5b3V0VGVzdHMv
anMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXVuZm9yZ2VhYmxlLWF0dHJpYnV0ZXMuaHRtbApp
bmRleCAzMjkxZWRkN2JiYWJlYjYxYWQ2YmM5MWEyN2I2NjAyMDYwYjU2ZWNjLi40OWY2MTI3MjRi
OTQ5YjJkMjFiZGU5Zjk5ZjRmYTAyOGJkYWM5NzBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9q
cy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0cmlidXRlcy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci11bmZvcmdlYWJsZS1h
dHRyaWJ1dGVzLmh0bWwKQEAgLTQzLDEyICs0Myw2IEBAIGNoZWNrVW5mb3JnZWFibGVQcm9wZXJ0
eURlc2NyaXB0b3IoZGVzY3JpcHRvcik7CiBzaG91bGRCZVRydWUoImRlc2NyaXB0b3IuZ2V0LmNh
bGwod2luZG93KSA9PT0gd2luZG93LmxvY2F0aW9uIik7CiAKIGRlYnVnKCIiKTsKLWRlYnVnKCIq
IFdpbmRvdy5zZWxmIik7Ci1kZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcih3aW5kb3csICJzZWxmIik7Ci1jaGVja1VuZm9yZ2VhYmxlUHJvcGVydHlEZXNjcmlwdG9y
KGRlc2NyaXB0b3IpOwotc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRvdykg
PT09IHdpbmRvdy5zZWxmIik7Ci0KLWRlYnVnKCIiKTsKIGRlYnVnKCIqIFdpbmRvdy53aW5kb3ci
KTsKIGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywg
IndpbmRvdyIpOwogY2hlY2tVbmZvcmdlYWJsZVByb3BlcnR5RGVzY3JpcHRvcihkZXNjcmlwdG9y
LCB0cnVlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3Jp
cHRvci13aW5kb3ctYXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3Itd2luZG93LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmluZGV4
IDNkODE1ZjcxODI3YWJmMGExZTFmNzdjYWI0NDU2OTM4OGU5YTE1MDYuLmQ5MWMwYTBmNDIwYzgz
ZjQ0ODE5YmY3ZGM2YmRkNjdjNmRmYzUwOTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2dl
dE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXdpbmRvdy1hdHRyaWJ1
dGVzLWV4cGVjdGVkLnR4dApAQCAtNyw3ICs3LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUK
IFBBU1MgZGVzY3JpcHRvci5nZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KIFBBU1MgZGVz
Y3JpcHRvci5zZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KIFBBU1MgZGVzY3JpcHRvci5l
bnVtZXJhYmxlIGlzIHRydWUKLUZBSUwgZGVzY3JpcHRvci5jb25maWd1cmFibGUgc2hvdWxkIGJl
IHRydWUuIFdhcyBmYWxzZS4KK1BBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMgdHJ1ZQog
UEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKG5vbldpbmRvd09iamVjdCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogVGhlIERPTVdpbmRvdy5zY3JlZW4gZ2V0dGVyIGNhbiBvbmx5IGJlIHVzZWQg
b24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdy4KIFBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbCh3aW5k
b3cpID09PSB3aW5kb3cuc2NyZWVuIGlzIHRydWUKIFBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbCgp
ID09PSB3aW5kb3cuc2NyZWVuIGlzIHRydWUKQEAgLTE2LDE2ICsxNiwyNSBAQCBQQVNTIGRlc2Ny
aXB0b3IuZ2V0LmNhbGwoKSA9PT0gd2luZG93LnNjcmVlbiBpcyB0cnVlCiBQQVNTIGRlc2NyaXB0
b3IuZ2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3Iuc2V0IGlz
IGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyB0
cnVlCi1GQUlMIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIHNob3VsZCBiZSB0cnVlLiBXYXMgZmFs
c2UuCitQQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1MgZGVzY3JpcHRv
ci5nZXQuY2FsbChub25XaW5kb3dPYmplY3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRo
ZSBET01XaW5kb3cubmF2aWdhdG9yIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNl
cyBvZiBET01XaW5kb3cuCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93KSA9PT0gd2lu
ZG93Lm5hdmlnYXRvciBpcyB0cnVlCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwoKSA9PT0gd2lu
ZG93Lm5hdmlnYXRvciBpcyB0cnVlCiAKKyogV2luZG93LnNlbGYKK1BBU1MgZGVzY3JpcHRvci5n
ZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KK1BBU1MgZGVzY3JpcHRvci5zZXQgaXMgYW4g
aW5zdGFuY2Ugb2YgRnVuY3Rpb24KK1BBU1MgZGVzY3JpcHRvci5lbnVtZXJhYmxlIGlzIHRydWUK
K1BBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBkZXNjcmlwdG9yLmdl
dC5jYWxsKG5vbldpbmRvd09iamVjdCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIERP
TVdpbmRvdy5zZWxmIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBET01X
aW5kb3cuCitQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93KSA9PT0gd2luZG93LnNlbGYg
aXMgdHJ1ZQorUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKCkgPT09IHdpbmRvdy5zZWxmIGlzIHRy
dWUKKwogKiBXaW5kb3cuZnJhbWVFbGVtZW50CiBQQVNTIGRlc2NyaXB0b3IuZ2V0IGlzIGFuIGlu
c3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3Iuc2V0IGlzIHVuZGVmaW5lZC4KIFBB
U1MgZGVzY3JpcHRvci5lbnVtZXJhYmxlIGlzIHRydWUKLUZBSUwgZGVzY3JpcHRvci5jb25maWd1
cmFibGUgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KK1BBU1MgZGVzY3JpcHRvci5jb25maWd1
cmFibGUgaXMgdHJ1ZQogUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKG5vbldpbmRvd09iamVjdCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIERPTVdpbmRvdy5mcmFtZUVsZW1lbnQgZ2V0
dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdy4KIFBBU1MgZGVz
Y3JpcHRvci5nZXQuY2FsbCh3aW5kb3cpID09PSB3aW5kb3cuZnJhbWVFbGVtZW50IGlzIHRydWUK
IFBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbCgpID09PSB3aW5kb3cuZnJhbWVFbGVtZW50IGlzIHRy
dWUKQEAgLTM0LDEwICs0MywyMyBAQCBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwoKSA9PT0gd2lu
ZG93LmZyYW1lRWxlbWVudCBpcyB0cnVlCiBQQVNTIGRlc2NyaXB0b3IuZ2V0IGlzIGFuIGluc3Rh
bmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3Iuc2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1
bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyB0cnVlCi1GQUlMIGRlc2NyaXB0
b3IuY29uZmlndXJhYmxlIHNob3VsZCBiZSB0cnVlLiBXYXMgZmFsc2UuCitQQVNTIGRlc2NyaXB0
b3IuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbChub25XaW5k
b3dPYmplY3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBET01XaW5kb3cubmFtZSBn
ZXR0ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgRE9NV2luZG93LgogUEFTUyBk
ZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRvdykgPT09IHdpbmRvdy5uYW1lIGlzIHRydWUKIFBBU1Mg
ZGVzY3JpcHRvci5nZXQuY2FsbCgpID09PSB3aW5kb3cubmFtZSBpcyB0cnVlCisKKyogd2luZG93
Lk5vZGUKK1BBU1MgZGVzY3JpcHRvci5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIGRlc2NyaXB0
b3Iud3JpdGFibGUgaXMgdHJ1ZQorUEFTUyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSBpcyB0cnVl
CitQQVNTIGRlc2NyaXB0b3IudmFsdWUgaXMgd2luZG93Lk5vZGUKKworKiB3aW5kb3cuY29uc3Ry
dWN0b3IKK1BBU1MgZGVzY3JpcHRvci5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIGRlc2NyaXB0
b3Iud3JpdGFibGUgaXMgdHJ1ZQorUEFTUyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSBpcyB0cnVl
CitQQVNTIGRlc2NyaXB0b3IudmFsdWUgaXMgd2luZG93LldpbmRvdworCiBQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1sIGIv
TGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXdpbmRvdy1hdHRyaWJ1dGVz
Lmh0bWwKaW5kZXggMTA2ZTQ1OGQyNmI0Y2UyNzY3Y2JmODVhOTM1YmY4OTM3YzQxMmI1Zi4uOWVj
ZTI5YmM1ODAyMmU4ODFiNTU3MTE0OTdlYTc0MmNiYWM4YjRmMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXdpbmRvdy1hdHRyaWJ1dGVzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXdpbmRvdy1hdHRy
aWJ1dGVzLmh0bWwKQEAgLTMzLDYgKzMzLDEzIEBAIHNob3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci5n
ZXQuY2FsbCh3aW5kb3cpID09PSB3aW5kb3cubmF2aWdhdG9yIik7CiBzaG91bGRCZVRydWUoImRl
c2NyaXB0b3IuZ2V0LmNhbGwoKSA9PT0gd2luZG93Lm5hdmlnYXRvciIpOwogCiBkZWJ1ZygiIik7
CitkZWJ1ZygiKiBXaW5kb3cuc2VsZiIpOworZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3Iod2luZG93LCAic2VsZiIpOworY2hlY2tXaW5kb3dQcm9wZXJ0eURlc2Ny
aXB0b3IoZGVzY3JpcHRvcik7CitzaG91bGRCZVRydWUoImRlc2NyaXB0b3IuZ2V0LmNhbGwod2lu
ZG93KSA9PT0gd2luZG93LnNlbGYiKTsKK3Nob3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci5nZXQuY2Fs
bCgpID09PSB3aW5kb3cuc2VsZiIpOworCitkZWJ1ZygiIik7CiBkZWJ1ZygiKiBXaW5kb3cuZnJh
bWVFbGVtZW50Iik7CiBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cih3aW5kb3csICJmcmFtZUVsZW1lbnQiKTsKIGNoZWNrV2luZG93UHJvcGVydHlEZXNjcmlwdG9y
KGRlc2NyaXB0b3IsIHRydWUpOwpAQCAtNDYsNSArNTMsMjMgQEAgY2hlY2tXaW5kb3dQcm9wZXJ0
eURlc2NyaXB0b3IoZGVzY3JpcHRvciwgZmFsc2UpOwogc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9y
LmdldC5jYWxsKHdpbmRvdykgPT09IHdpbmRvdy5uYW1lIik7CiBzaG91bGRCZVRydWUoImRlc2Ny
aXB0b3IuZ2V0LmNhbGwoKSA9PT0gd2luZG93Lm5hbWUiKTsKIAorZGVidWcoIiIpOworZGVidWco
Iiogd2luZG93Lk5vZGUiKTsKK2Rlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKHdpbmRvdywgIk5vZGUiKTsKK3Nob3VsZEJlRmFsc2UoImRlc2NyaXB0b3IuZW51bWVy
YWJsZSIpOworc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLndyaXRhYmxlIik7CitzaG91bGRCZVRy
dWUoImRlc2NyaXB0b3IuY29uZmlndXJhYmxlIik7CitzaG91bGRCZSgiZGVzY3JpcHRvci52YWx1
ZSIsICJ3aW5kb3cuTm9kZSIpOworCitkZWJ1ZygiIik7CisvLyBGSVhNRTogJ2NvbnN0cnVjdG9y
JyBzaG91bGQgYmUgb24gdGhlIHByb3RvdHlwZS4KK2RlYnVnKCIqIHdpbmRvdy5jb25zdHJ1Y3Rv
ciIpOworZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93
LCAiY29uc3RydWN0b3IiKTsKK3Nob3VsZEJlRmFsc2UoImRlc2NyaXB0b3IuZW51bWVyYWJsZSIp
Oworc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLndyaXRhYmxlIik7CitzaG91bGRCZVRydWUoImRl
c2NyaXB0b3IuY29uZmlndXJhYmxlIik7CitzaG91bGRCZSgiZGVzY3JpcHRvci52YWx1ZSIsICJ3
aW5kb3cuV2luZG93Iik7CisKK2RlYnVnKCIiKTsKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270930</attachid>
            <date>2016-02-09 09:19:33 -0800</date>
            <delta_ts>2016-02-09 09:21:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-153920-20160209091911.patch</filename>
            <type>text/plain</type>
            <size>60398</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2MzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MWZjYTc2OTU1YjI5MDU4MmMwMzM0ZTNiZDI1MTg1YjlhOWNiMjViLi4yYzIxMTQ5OTYwMzA2NGNm
OGMxYWMwY2NiN2ZlMmViNDY5ZTA0MmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NyBAQAorMjAxNi0wMi0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIEF0dHJpYnV0ZXMgb24gdGhlIFdpbmRvdyBpbnN0YW5jZSBzaG91bGQgYmUgY29u
ZmlndXJhYmxlIHVubGVzcyBbVW5mb3JnZWFibGVdCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM5MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNYXJraW5nIHRoZSBXaW5kb3cgaW5zdGFuY2UgYXR0cmli
dXRlcyBhcyBjb25maWd1cmFibGUgYnV0IGNhdXNlCisgICAgICAgIGdldE93blByb3BlcnR5RGVz
Y3JpcHRvcigpIHRvIHJlcG9ydCB0aGVtIGFzIGNvbmZpZ3VyYWJsZSwgYXMKKyAgICAgICAgZXhw
ZWN0ZWQuIEhvd2V2ZXIsIHRyeWluZyB0byBkZWxldGUgdGhlbSB3b3VsZCBhY3R1YWxseSBsZWFk
IHRvCisgICAgICAgIHVuZXhwZWN0ZWQgYmVoYXZpb3IgYmVjYXVzZToKKyAgICAgICAgLSBXZSBk
aWQgbm90IHJlaWZ5IGN1c3RvbSBhY2Nlc3NvciBwcm9wZXJ0aWVzIChtb3N0IG9mIHRoZSBXaW5k
b3cKKyAgICAgICAgICBwcm9wZXJ0aWVzIGFyZSBjdXN0b20gYWNjZXNzb3JzKSB1cG9uIGRlbGV0
aW9uLgorICAgICAgICAtIEZvciBub24tcmVpZmllZCBzdGF0aWMgcHJvcGVydGllcyBtYXJrZWQg
YXMgY29uZmlndXJhYmxlLAorICAgICAgICAgIEpTT2JqZWN0OjpkZWxldGVQcm9wZXJ0eSgpIHdv
dWxkIGF0dGVtcHQgdG8gY2FsbCB0aGUgcHJvcGVydHkKKyAgICAgICAgICBzZXR0ZXIgd2l0aCB1
bmRlZmluZWQuIEFzIGEgcmVzdWx0LCBjYWxsaW5nIGRlbGV0ZSB3aW5kb3cubmFtZQorICAgICAg
ICAgIHdvdWxkIGNhdXNlIHdpbmRvdy5uYW1lIHRvIGJlY29tZSB0aGUgc3RyaW5nICJ1bmRlZmlu
ZWQiIGluc3RlYWQKKyAgICAgICAgICBvZiB0aGUgdW5kZWZpbmVkIHZhbHVlLgorCisgICAgICAg
ICogcnVudGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OmdldENsYXNzUHJvcGVydHlO
YW1lcyk6CisgICAgICAgIE5vdyB0aGF0IHdlIHJlaWZ5IEFMTCBwcm9wZXJ0aWVzLCB3ZSBvbmx5
IG5lZWQgdG8gY2hlY2sgdGhlIHByb3BlcnR5IHRhYmxlCisgICAgICAgIGlmIHdlIGhhdmUgbm90
IHJlaWZpZWQuIEFzIGEgcmVzdWx0LCBJIGRyb3BwZWQgdGhlICdkaWRSZWlmeScgcGFyYW1ldGVy
IGZvcgorICAgICAgICB0aGlzIGZ1bmN0aW9uIGFuZCBpbnN0ZWFkIG9ubHkgY2FsbCB0aGlzIGZ1
bmN0aW9uIGlmIHdlIGhhdmUgbm90IHlldCByZWlmaWVkLgorCisgICAgICAgIChKU0M6OkpTT2Jq
ZWN0OjpwdXRJbmxpbmVTbG93KToKKyAgICAgICAgT25seSBjYWxsIHB1dEVudHJ5KCkgaWYgd2Ug
aGF2ZSBub3QgcmVpZmllZDogRHJvcCB0aGUKKyAgICAgICAgJ3x8ICEoZW50cnktPmF0dHJpYnV0
ZXMoKSAmIEJ1aWx0aW5PckZ1bmN0aW9uT3JBY2Nlc3NvciknCisgICAgICAgIGNoZWNrIGFzIHN1
Y2ggcHJvcGVydGllcyBub3cgZ2V0IHJlaWZpZWQgYXMgd2VsbC4KKworICAgICAgICAoSlNDOjpK
U09iamVjdDo6ZGVsZXRlUHJvcGVydHkpOgorICAgICAgICAtIENhbGwgcmVpZnlBbGxTdGF0aWNQ
cm9wZXJ0aWVzKCkgaW5zdGVhZCBvZiByZWlmeVN0YXRpY0Z1bmN0aW9uc0ZvckRlbGV0ZSgpCisg
ICAgICAgICAgc28gdGhhdCB3ZSBub3cgcmVpZnkgYWxsIHByb3BlcnRpZXMgdXBvbiBkZWxldGlv
biwgaW5jbHVkaW5nIHRoZSBjdXN0b20KKyAgICAgICAgICBhY2Nlc3NvcnMuIHJlaWZ5U3RhdGlj
RnVuY3Rpb25zRm9yRGVsZXRlKCkgaXMgbm93IHJlbW92ZWQgYW5kIHRoZSBzYW1lCisgICAgICAg
ICAgcmVpZmljYXRpb24gZnVuY3Rpb24gaXMgbm93IHVzZWQgYnk6IGRlbGV0aW9uLCBnZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoKQorICAgICAgICAgIGFuZCBlYWdlciByZWlmaWNhdGlvbiBvZiB0
aGUgcHJvdG90eXBlIG9iamVjdHMgaW4gdGhlIGJpbmRpbmdzLgorICAgICAgICAtIERyb3AgY29k
ZSB0aGF0IGZhbGxzIGJhY2sgdG8gY2FsbGluZyB0aGUgc3RhdGljIHByb3BlcnR5IHNldHRlciB3
aXRoCisgICAgICAgICAgdW5kZWZpbmVkIGlmIHdlIGNhbm5vdCBmaW5kIHRoZSBwcm9wZXJ0eSBp
biB0aGUgcHJvcGVydHkgc3RvcmFnZS4gQXMKKyAgICAgICAgICB3ZSBub3cgcmVpZnkgQUxMIHBy
b3BlcnRpZXMsIHRoZSBjb2RlIHJlbW92aW5nIHRoZSBwcm9wZXJ0eSBmcm9tIHRoZQorICAgICAg
ICAgIHByb3BlcnR5IHN0b3JhZ2Ugc2hvdWxkIHN1Y2NlZWQsIHByb3ZpZGVkIHRoYXQgdGhlIHBy
b3BlcnR5IGFjdHVhbGx5CisgICAgICAgICAgZXhpc3RzLgorCisgICAgICAgIChKU0M6OkpTT2Jq
ZWN0OjpnZXRPd25Ob25JbmRleFByb3BlcnR5TmFtZXMpOgorICAgICAgICBPbmx5IGNhbGwgZ2V0
Q2xhc3NQcm9wZXJ0eU5hbWVzKCkgaWYgd2UgaGF2ZSBub3QgcmVpZmllZC4gV2Ugc2hvdWxkIG5v
IGxvbmdlcgorICAgICAgICBjaGVjayB0aGUgc3RhdGljIHByb3BlcnR5IHRhYmxlIGFmdGVyIHJl
aWZ5aW5nIG5vdyB0aGF0IHdlIHJlaWZ5IGFsbAorICAgICAgICBwcm9wZXJ0aWVzLgorCisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjpyZWlmeUFsbFN0YXRpY1Byb3BlcnRpZXMpOgorICAgICAgICBN
ZXJnZSB3aXRoIHJlaWZ5U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKCkuIFRoZSBvbmx5IGJlaGF2
aW9yIGNoYW5nZSBpcyB0aGUKKyAgICAgICAgZmxhdHRlbmluZyB0byBhbiB1bmNhY2hlYWJsZSBk
aWN0aW9uYXJ5LCBsaWtlIHJlaWZ5U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKCkKKyAgICAgICAg
dXNlZCB0byBkby4KKworICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKwogMjAxNi0wMi0w
OCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBFcnJv
ciBjb25zdHJ1Y3Rpb24gZm9yIGlubGluZWQgb3BlcmF0aW9ucyBzaG91bGQgbm90IHVzZSB0aGUg
aW5saW5lcidzIENvZGVCbG9jawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGYwMjljNDc3OGY1ZjQ2MDIzYWE1NmRk
ZGY4MjM5OTBiYTU3ZjNlZDguLmZjYWRlNzRmNmU5YjA2NGZhZDY0YTk0MzAwZTM4ZDk4NzgxMTU0
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MiBAQAorMjAxNi0wMi0wNyAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEF0dHJpYnV0ZXMgb24gdGhlIFdpbmRvdyBp
bnN0YW5jZSBzaG91bGQgYmUgY29uZmlndXJhYmxlIHVubGVzcyBbVW5mb3JnZWFibGVdCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM5MjAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBdHRyaWJ1dGVzIG9u
IHRoZSBXaW5kb3cgaW5zdGFuY2Ugc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZSB1bmxlc3MgW1VuZm9y
Z2VhYmxlXToKKyAgICAgICAgMS4gJ2NvbnN0cnVjdG9yJyBwcm9wZXJ0eToKKyAgICAgICAgICAg
LSBodHRwOi8vd3d3LnczLm9yZy9UUi9XZWJJREwvI2ludGVyZmFjZS1wcm90b3R5cGUtb2JqZWN0
CisgICAgICAgIDIuIENvbnN0cnVjdG9yIHByb3BlcnRpZXMgKGUuZy4gd2luZG93Lk5vZGUpOgor
ICAgICAgICAgICAtIGh0dHA6Ly93d3cudzMub3JnL1RSL1dlYklETC8jZXMtaW50ZXJmYWNlcwor
ICAgICAgICAzLiBJREwgYXR0cmlidXRlczoKKyAgICAgICAgICAgLSBodHRwOi8vaGV5Y2FtLmdp
dGh1Yi5pby93ZWJpZGwvI2VzLWF0dHJpYnV0ZXMgKGNvbmZpZ3VyYWJsZSB1bmxlc3MKKyAgICAg
ICAgICAgICBbVW5mb3JnZWFibGVdLCBlLmcuIHdpbmRvdy5sb2NhdGlvbikKKworICAgICAgICBG
aXJlZm94IGNvbXBsaWVzIHdpdGggdGhlIFdlYklETCBzcGVjaWZpY2F0aW9uIGJ1dCBXZWJLaXQg
ZG9lcyBub3QgZm9yIDEuIGFuZCAzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcHJvcGVydGllcy1jb25maWd1cmFibGUuaHRtbAorCisgICAgICAgICogYmluZGluZ3Mv
anMvSlNET01XaW5kb3dDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6
OmdldE93blByb3BlcnR5U2xvdCk6CisgICAgICAgIEZvciBrbm93biBXaW5kb3cgcHJvcGVydGll
cyAoaS5lLiBwcm9wZXJ0aWVzIGluIHRoZSBzdGF0aWMgcHJvcGVydHkgdGFibGUpLAorICAgICAg
ICBpZiB3ZSBoYXZlIHJlaWZpZWQgYW5kIHRoaXMgaXMgc2FtZS1vcmlnaW4gYWNjZXNzLCB0aGVu
IGNhbGwKKyAgICAgICAgQmFzZTo6Z2V0T3duUHJvcGVydHlTbG90KCkgdG8gZ2V0IHRoZSBwcm9w
ZXJ0eSBmcm9tIHRoZSBsb2NhbCBwcm9wZXJ0eQorICAgICAgICBzdG9yYWdlLiBJZiB3ZSBoYXZl
IG5vdCByZWlmaWVkIHlldCwgb3IgdGhpcyBpcyBjcm9zcy1vcmlnaW4gYWNjZXNzLCBxdWVyeQor
ICAgICAgICB0aGUgc3RhdGljIHByb3BlcnR5IHRhYmxlLiBUaGlzIGlzIHRvIG1hdGNoIHRoZSBi
ZWhhdmlvciBvZiBGaXJlZm94IGFuZAorICAgICAgICBDaHJvbWUgd2hpY2ggc2VlbSB0byBrZWVw
IHJldHVybmluZyB0aGUgb3JpZ2luYWwgcHJvcGVydGllcyB1cG9uIGNyb3NzCisgICAgICAgIG9y
aWdpbiBhY2Nlc3MsIGV2ZW4gaWYgdGhvc2Ugd2VyZSBkZWxldGVkIG9yIHJlZGVmaW5lZC4KKwor
ICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OnB1dCk6CisgICAgICAgIFRoZSBwcmV2aW91
cyBjb2RlIHVzZWQgdG8gY2FsbCB0aGUgc3RhdGljIHByb3BlcnR5IHNldHRlciBmb3IgcHJvcGVy
dGllcyBpbgorICAgICAgICB0aGUgc3RhdGljIHRhYmxlLiBIb3dldmVyLCB0aGlzIGRvZXMgbm90
IGRvIHRoZSByaWdodCB0aGluZyBpZiBwcm9wZXJ0aWVzCisgICAgICAgIHdlcmUgcmVpZmllZC4g
Rm9yIGV4YW1wbGUsIGRlbGV0aW5nIHdpbmRvdy5uYW1lIGFuZCB0aGVuIHRyeWluZyB0byBzZXQg
aXQKKyAgICAgICAgYWdhaW4gd291bGQgbm90IHdvcmsuIFRoZXJlZm9yZSwgdXBkYXRlIHRoaXMg
Y29kZSB0byBvbmx5IGRvIHRoaXMgaWYgdGhlCisgICAgICAgIHByb3BlcnRpZXMgaGF2ZSBub3Qg
YmVlbiByZWlmaWVkLCBzaW1pbGFybHkgdG8gd2hhdCBpcyBkb25lIGluCisgICAgICAgIEpTT2Jq
ZWN0OjpwdXRJbmxpbmVTbG93KCkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKENvbnN0cnVjdG9yU2hvdWxkQmVPbkluc3RhbmNlKToK
KyAgICAgICAgQWRkIGEgRklYTUUgY29tbWVudCBpbmRpY2F0aW5nIHRoYXQgd2luZG93LmNvbnN0
cnVjdG9yIHNob3VsZCBiZSBvbgorICAgICAgICB0aGUgcHJvdG90eXBlIGFzIHBlciB0aGUgV2Vi
IElETCBzcGVjaWZpY2F0aW9uLgorCisgICAgICAgIChHZW5lcmF0ZUF0dHJpYnV0ZXNIYXNoVGFi
bGUpOgorICAgICAgICAtIE1hcmsgJ2NvbnN0cnVjdG9yJyBwcm9wZXJ0eSBhcyBjb25maWd1cmFi
bGUgZm9yIFdpbmRvdywgYXMgcGVyIHRoZQorICAgICAgICAgIHNwZWNpZmljYXRpb24gYW5kIGNv
bnNpc3RlbnRseSB3aXRoIG90aGVyICdjb25zdHJ1Y3RvcicgcHJvcGVydGllczoKKyAgICAgICAg
ICBodHRwOi8vd3d3LnczLm9yZy9UUi9XZWJJREwvI2ludGVyZmFjZS1wcm90b3R5cGUtb2JqZWN0
CisgICAgICAgIC0gTWFyayBwcm9wZXJ0aWVzIGFzIGNvbmZpZ3VyYWJsZSBldmVuIHRob3VnaCB0
aGV5IGFyZSBvbiB0aGUgaW5zdGFuY2UuCisgICAgICAgICAgV2luZG93IGhhcyBpdHMgcHJvcGVy
dGllcyBvbiB0aGUgaW5zdGFuY2UgYXMgcGVyIHRoZSBzcGVjaWZpY2F0aW9uOgorICAgICAgICAg
IDEuIGh0dHA6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jZXMtYXR0cmlidXRlcworICAgICAg
ICAgIDIuIGh0dHA6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jUHJpbWFyeUdsb2JhbCAod2lu
ZG93IGlzIFtQcmltYXJ5R2xvYmFsXQorICAgICAgICAgIEhvd2V2ZXIsIHRoZXNlIHByb3BlcnRp
ZXMgc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZSBhcyBsb25nIGFzIHRoZXkgYXJlCisgICAgICAgICAg
bm90IG1hcmtlZCBhcyBbVW5mb3JnZWFibGVdLCBhcyBwZXIgMS4KKworICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICBSZWJhc2Vs
aW5lIGJpbmRpbmdzIHRlc3RzLgorCiAyMDE2LTAyLTA4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CiAKICAgICAgICAgQXR0cmlidXRlIGdldHRlcnMgc2hvdWxkIG5vdCByZXF1aXJl
IGFuIGV4cGxpY2l0ICd0aGlzJyB2YWx1ZSBmb3IgV2luZG93IHByb3BlcnRpZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAppbmRleCA3ODM5YTAyNDdlMjBkNWZh
NGI4Njk5MTU0Y2I0MDNlNTM3OTI1MzEzLi4yNzNmZTZhNDQ5YzRkMWIyZmUwMjdjNWUzNWU5Zjcy
MWZjMWE2MjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3Bw
CkBAIC02OCw3ICs2OCw3IEBAIGNvbnN0IENsYXNzSW5mbyBKU09iamVjdDo6c19pbmZvID0geyAi
T2JqZWN0IiwgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU09iamVjCiAKIGNvbnN0IENsYXNz
SW5mbyBKU0ZpbmFsT2JqZWN0OjpzX2luZm8gPSB7ICJPYmplY3QiLCAmQmFzZTo6c19pbmZvLCAw
LCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTRmluYWxPYmplY3QpIH07CiAKLXN0YXRpYyBpbmxpbmUg
dm9pZCBnZXRDbGFzc1Byb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBDbGFzc0lu
Zm8qIGNsYXNzSW5mbywgUHJvcGVydHlOYW1lQXJyYXkmIHByb3BlcnR5TmFtZXMsIEVudW1lcmF0
aW9uTW9kZSBtb2RlLCBib29sIGRpZFJlaWZ5KQorc3RhdGljIGlubGluZSB2b2lkIGdldENsYXNz
UHJvcGVydHlOYW1lcyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZv
LCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywgRW51bWVyYXRpb25Nb2RlIG1vZGUp
CiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKIApAQCAtNzksNyArNzksNyBAQCBzdGF0aWMg
aW5saW5lIHZvaWQgZ2V0Q2xhc3NQcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
Q2xhc3NJbmZvKiBjbGFzcwogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgZm9yIChh
dXRvIGl0ZXIgPSB0YWJsZS0+YmVnaW4oKTsgaXRlciAhPSB0YWJsZS0+ZW5kKCk7ICsraXRlcikg
ewotICAgICAgICAgICAgaWYgKCghKGl0ZXItPmF0dHJpYnV0ZXMoKSAmIERvbnRFbnVtKSB8fCBt
b2RlLmluY2x1ZGVEb250RW51bVByb3BlcnRpZXMoKSkgJiYgISgoaXRlci0+YXR0cmlidXRlcygp
ICYgQnVpbHRpbk9yRnVuY3Rpb25PckFjY2Vzc29yKSAmJiBkaWRSZWlmeSkpCisgICAgICAgICAg
ICBpZiAoIShpdGVyLT5hdHRyaWJ1dGVzKCkgJiBEb250RW51bSkgfHwgbW9kZS5pbmNsdWRlRG9u
dEVudW1Qcm9wZXJ0aWVzKCkpCiAgICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lcy5hZGQoSWRl
bnRpZmllcjo6ZnJvbVN0cmluZygmdm0sIGl0ZXIua2V5KCkpKTsKICAgICAgICAgfQogICAgIH0K
QEAgLTQxMCwxMCArNDEwLDkgQEAgdm9pZCBKU09iamVjdDo6cHV0SW5saW5lU2xvdyhFeGVjU3Rh
dGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUKICAgICAgICAgICAg
IC8vIHByb3RvdHlwZXMgaXQgc2hvdWxkIGJlIHJlcGxhY2VkLCBzbyBicmVhayBoZXJlLgogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgY29uc3QgQ2xhc3NJbmZvKiBpbmZv
ID0gb2JqLT5jbGFzc0luZm8oKTsKLSAgICAgICAgaWYgKGluZm8tPmhhc1N0YXRpY1NldHRlck9y
UmVhZG9ubHlQcm9wZXJ0aWVzKCkpIHsKLSAgICAgICAgICAgIGlmIChjb25zdCBIYXNoVGFibGVW
YWx1ZSogZW50cnkgPSBvYmotPmZpbmRQcm9wZXJ0eUhhc2hFbnRyeShwcm9wZXJ0eU5hbWUpKSB7
Ci0gICAgICAgICAgICAgICAgaWYgKCFvYmotPnN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQoKSB8fCAh
KGVudHJ5LT5hdHRyaWJ1dGVzKCkgJiBCdWlsdGluT3JGdW5jdGlvbk9yQWNjZXNzb3IpKSB7Cisg
ICAgICAgIGlmICghb2JqLT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpIHsKKyAgICAgICAgICAg
IGlmIChvYmotPmNsYXNzSW5mbygpLT5oYXNTdGF0aWNTZXR0ZXJPclJlYWRvbmx5UHJvcGVydGll
cygpKSB7CisgICAgICAgICAgICAgICAgaWYgKGF1dG8qIGVudHJ5ID0gb2JqLT5maW5kUHJvcGVy
dHlIYXNoRW50cnkocHJvcGVydHlOYW1lKSkgewogICAgICAgICAgICAgICAgICAgICBwdXRFbnRy
eShleGVjLCBlbnRyeSwgb2JqLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KQEAgLTEyODQsMzMgKzEyODMs
MTkgQEAgYm9vbCBKU09iamVjdDo6aGFzUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25l
ZCBwcm9wZXJ0eU5hbWUpIGNvbnN0CiBib29sIEpTT2JqZWN0OjpkZWxldGVQcm9wZXJ0eShKU0Nl
bGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKIHsK
ICAgICBKU09iamVjdCogdGhpc09iamVjdCA9IGpzQ2FzdDxKU09iamVjdCo+KGNlbGwpOworICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgCiAgICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBp
bmRleCA9IHBhcnNlSW5kZXgocHJvcGVydHlOYW1lKSkKLSAgICAgICAgcmV0dXJuIHRoaXNPYmpl
Y3QtPm1ldGhvZFRhYmxlKGV4ZWMtPnZtKCkpLT5kZWxldGVQcm9wZXJ0eUJ5SW5kZXgodGhpc09i
amVjdCwgZXhlYywgaW5kZXgudmFsdWUoKSk7CisgICAgICAgIHJldHVybiB0aGlzT2JqZWN0LT5t
ZXRob2RUYWJsZSh2bSktPmRlbGV0ZVByb3BlcnR5QnlJbmRleCh0aGlzT2JqZWN0LCBleGVjLCBp
bmRleC52YWx1ZSgpKTsKIAogICAgIGlmICghdGhpc09iamVjdC0+c3RhdGljRnVuY3Rpb25zUmVp
ZmllZCgpKQotICAgICAgICB0aGlzT2JqZWN0LT5yZWlmeVN0YXRpY0Z1bmN0aW9uc0ZvckRlbGV0
ZShleGVjKTsKKyAgICAgICAgdGhpc09iamVjdC0+cmVpZnlBbGxTdGF0aWNQcm9wZXJ0aWVzKGV4
ZWMpOwogCiAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKLSAgICBWTSYgdm0gPSBleGVjLT52bSgp
OwogICAgIGlmIChpc1ZhbGlkT2Zmc2V0KHRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSktPmdldCh2
bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKSkpIHsKICAgICAgICAgaWYgKGF0dHJpYnV0ZXMg
JiBEb250RGVsZXRlICYmICF2bS5pc0luRGVmaW5lT3duUHJvcGVydHkoKSkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgdGhpc09iamVjdC0+cmVtb3ZlRGlyZWN0KHZtLCBwcm9w
ZXJ0eU5hbWUpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICAvLyBMb29rIGlu
IHRoZSBzdGF0aWMgaGFzaHRhYmxlIG9mIHByb3BlcnRpZXMKLSAgICBjb25zdCBIYXNoVGFibGVW
YWx1ZSogZW50cnkgPSB0aGlzT2JqZWN0LT5maW5kUHJvcGVydHlIYXNoRW50cnkocHJvcGVydHlO
YW1lKTsKLSAgICBpZiAoZW50cnkpIHsKLSAgICAgICAgaWYgKGVudHJ5LT5hdHRyaWJ1dGVzKCkg
JiBEb250RGVsZXRlICYmICF2bS5pc0luRGVmaW5lT3duUHJvcGVydHkoKSkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsgLy8gdGhpcyBidWlsdGluIHByb3BlcnR5IGNhbid0IGJlIGRlbGV0ZWQK
LQotICAgICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdCh0aGlzT2JqZWN0KTsKLSAgICAgICAgaWYg
KCEoZW50cnktPmF0dHJpYnV0ZXMoKSAmIEJ1aWx0aW5PckZ1bmN0aW9uT3JBY2Nlc3NvcikpIHsK
LSAgICAgICAgICAgIEFTU0VSVCh0aGlzT2JqZWN0LT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkp
OwotICAgICAgICAgICAgcHV0RW50cnkoZXhlYywgZW50cnksIHRoaXNPYmplY3QsIHByb3BlcnR5
TmFtZSwganNVbmRlZmluZWQoKSwgc2xvdCk7Ci0gICAgICAgIH0KICAgICB9CiAKICAgICByZXR1
cm4gdHJ1ZTsKQEAgLTE2MTMsNyArMTU5OCw4IEBAIHZvaWQgSlNPYmplY3Q6OmdldE93blByb3Bl
cnR5TmFtZXMoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hCiAK
IHZvaWQgSlNPYmplY3Q6OmdldE93bk5vbkluZGV4UHJvcGVydHlOYW1lcyhKU09iamVjdCogb2Jq
ZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZUFycmF5JiBwcm9wZXJ0eU5hbWVzLCBF
bnVtZXJhdGlvbk1vZGUgbW9kZSkKIHsKLSAgICBnZXRDbGFzc1Byb3BlcnR5TmFtZXMoZXhlYywg
b2JqZWN0LT5jbGFzc0luZm8oKSwgcHJvcGVydHlOYW1lcywgbW9kZSwgb2JqZWN0LT5zdGF0aWNG
dW5jdGlvbnNSZWlmaWVkKCkpOworICAgIGlmICghb2JqZWN0LT5zdGF0aWNGdW5jdGlvbnNSZWlm
aWVkKCkpCisgICAgICAgIGdldENsYXNzUHJvcGVydHlOYW1lcyhleGVjLCBvYmplY3QtPmNsYXNz
SW5mbygpLCBwcm9wZXJ0eU5hbWVzLCBtb2RlKTsKIAogICAgIGlmICghbW9kZS5pbmNsdWRlSlNP
YmplY3RQcm9wZXJ0aWVzKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTE2NjcsOSArMTY1Myw3IEBA
IHZvaWQgSlNPYmplY3Q6OnByZXZlbnRFeHRlbnNpb25zKFZNJiB2bSkKICAgICBzZXRTdHJ1Y3R1
cmUodm0sIFN0cnVjdHVyZTo6cHJldmVudEV4dGVuc2lvbnNUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1
cmUodm0pKSk7CiB9CiAKLS8vIFRoaXMgcHJlc2VudGx5IHdpbGwgZmxhdHRlbiB0byBhbiB1bmNh
Y2hhYmxlIGRpY3Rpb25hcnk7IHRoaXMgaXMgc3VpdGFibGUKLS8vIGZvciB1c2UgaW4gZGVsZXRl
LCB3ZSBtYXkgd2FudCB0byBkbyBzb21ldGhpbmcgZGlmZmVyZW50IGVsc2V3aGVyZS4KLXZvaWQg
SlNPYmplY3Q6OnJlaWZ5U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKEV4ZWNTdGF0ZSogZXhlYykK
K3ZvaWQgSlNPYmplY3Q6OnJlaWZ5QWxsU3RhdGljUHJvcGVydGllcyhFeGVjU3RhdGUqIGV4ZWMp
CiB7CiAgICAgQVNTRVJUKCFzdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpOwogICAgIFZNJiB2bSA9
IGV4ZWMtPnZtKCk7CkBAIC0xNjg4LDMwICsxNjcyLDEyIEBAIHZvaWQgSlNPYmplY3Q6OnJlaWZ5
U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgY29uc3Qg
SGFzaFRhYmxlKiBoYXNoVGFibGUgPSBpbmZvLT5zdGF0aWNQcm9wSGFzaFRhYmxlOwogICAgICAg
ICBpZiAoIWhhc2hUYWJsZSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBQcm9wZXJ0
eVNsb3Qgc2xvdCh0aGlzKTsKLSAgICAgICAgZm9yIChhdXRvIGl0ZXIgPSBoYXNoVGFibGUtPmJl
Z2luKCk7IGl0ZXIgIT0gaGFzaFRhYmxlLT5lbmQoKTsgKytpdGVyKSB7Ci0gICAgICAgICAgICBp
ZiAoaXRlci0+YXR0cmlidXRlcygpICYgQnVpbHRpbk9yRnVuY3Rpb25PckFjY2Vzc29yKQotICAg
ICAgICAgICAgICAgIHNldFVwU3RhdGljRnVuY3Rpb25TbG90KGdsb2JhbE9iamVjdCgpLT5nbG9i
YWxFeGVjKCksIGl0ZXIudmFsdWUoKSwgdGhpcywgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0s
IGl0ZXIua2V5KCkpLCBzbG90KTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIHN0cnVjdHVyZSh2
bSktPnNldFN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQodHJ1ZSk7Ci19Ci0KLXZvaWQgSlNPYmplY3Q6
OnJlaWZ5QWxsU3RhdGljUHJvcGVydGllcyhFeGVjU3RhdGUqIGV4ZWMpCi17Ci0gICAgVk0mIHZt
ID0gZXhlYy0+dm0oKTsKLQotICAgIGZvciAoY29uc3QgQ2xhc3NJbmZvKiBpbmZvID0gY2xhc3NJ
bmZvKCk7IGluZm87IGluZm8gPSBpbmZvLT5wYXJlbnRDbGFzcykgewotICAgICAgICBjb25zdCBI
YXNoVGFibGUqIGhhc2hUYWJsZSA9IGluZm8tPnN0YXRpY1Byb3BIYXNoVGFibGU7Ci0gICAgICAg
IGlmICghaGFzaFRhYmxlKQotICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgZm9yIChh
dXRvIGl0ZXIgPSBoYXNoVGFibGUtPmJlZ2luKCk7IGl0ZXIgIT0gaGFzaFRhYmxlLT5lbmQoKTsg
KytpdGVyKSB7CisgICAgICAgIGZvciAoYXV0byYgdmFsdWUgOiAqaGFzaFRhYmxlKSB7CiAgICAg
ICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwotICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQg
b2Zmc2V0ID0gZ2V0RGlyZWN0T2Zmc2V0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwg
aXRlci5rZXkoKSksIGF0dHJpYnV0ZXMpOworICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zm
c2V0ID0gZ2V0RGlyZWN0T2Zmc2V0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgdmFs
dWUubV9rZXkpLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgICAgIGlmICghaXNWYWxpZE9mZnNldChv
ZmZzZXQpKQotICAgICAgICAgICAgICAgIHJlaWZ5U3RhdGljUHJvcGVydHkodm0sICppdGVyLnZh
bHVlKCksICp0aGlzKTsKKyAgICAgICAgICAgICAgICByZWlmeVN0YXRpY1Byb3BlcnR5KHZtLCB2
YWx1ZSwgKnRoaXMpOwogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuaAppbmRleCBjYzlmY2EwNjc4Zjk2N2ZkZTc0OTViZGE1ZTVkMWRmMzQx
NWY4ZTY0Li4wNGIyNjVlZTYwOWM1N2Y3OGFlYWRjNTgwMjRiZDM4MGVhZjkxNjg5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKQEAgLTYyMyw3ICs2MjMsNiBAQCBw
dWJsaWM6CiAgICAgfQogCiAgICAgYm9vbCBzdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkgeyByZXR1
cm4gc3RydWN0dXJlKCktPnN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQoKTsgfQotICAgIHZvaWQgcmVp
ZnlTdGF0aWNGdW5jdGlvbnNGb3JEZWxldGUoRXhlY1N0YXRlKik7CiAgICAgdm9pZCByZWlmeUFs
bFN0YXRpY1Byb3BlcnRpZXMoRXhlY1N0YXRlKik7CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBC
dXR0ZXJmbHkqIGdyb3dPdXRPZkxpbmVTdG9yYWdlKFZNJiwgc2l6ZV90IG9sZFNpemUsIHNpemVf
dCBuZXdTaXplKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xv
b2t1cC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggMGEx
ZTlkZWJjNTdjOTg1NDgzNGFjZDZlYmYzMDAzMmEwMzkyY2RkYi4uY2YyNmE2NDk3NDk3ODI5MzNm
MTdiNzk2ZTlkMGNlOGNlNTlmN2RlMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTG9va3VwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9v
a3VwLmgKQEAgLTEzNSw2ICsxMzUsOCBAQCBzdHJ1Y3QgSGFzaFRhYmxlIHsKICAgICAgICAgICAg
IHJldHVybiAmbV90YWJsZS0+dmFsdWVzW21fcG9zaXRpb25dOwogICAgICAgICB9CiAKKyAgICAg
ICAgY29uc3QgSGFzaFRhYmxlVmFsdWUmIG9wZXJhdG9yKigpIHsgcmV0dXJuICp2YWx1ZSgpOyB9
CisKICAgICAgICAgY29uc3QgY2hhcioga2V5KCkKICAgICAgICAgewogICAgICAgICAgICAgcmV0
dXJuIG1fdGFibGUtPnZhbHVlc1ttX3Bvc2l0aW9uXS5tX2tleTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHJvcGVydHlTbG90LmgKaW5kZXggYWQyOThmZGJmYTBjNmY4YzBmNDJk
NjZjOTBiZTU3NDQ5ZDI3OWQyMC4uYTM2NWNjNTlkMDcwNDdhMDk0ZmJjOTM1NGRhODJmMTNiZDc3
Yzk3MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlT
bG90LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlTbG90LmgK
QEAgLTExNyw3ICsxMTcsNyBAQCBwdWJsaWM6CiAKICAgICBHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0
dGVyKCkgY29uc3QKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc0NhY2hlYWJsZUN1c3RvbSgpKTsK
KyAgICAgICAgQVNTRVJUKGlzQ2FjaGVhYmxlQ3VzdG9tKCkgfHwgaXNDdXN0b20oKSk7CiAgICAg
ICAgIHJldHVybiBtX2RhdGEuY3VzdG9tLmdldFZhbHVlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDIwZGU4YjQw
ZDI2YmFlMDJhY2RiNDY1ZTE5OGMwODM4MDJmMGM0OGMuLjJjYjFjNjU4ODNhYWY1Y2U0ZDVkMzYw
NTM2ODhhM2I5M2MyN2ZjYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NV2luZG93Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0N1c3RvbS5jcHAKQEAgLTIwMSwxMCArMjAxLDEzIEBAIGJvb2wgSlNET01XaW5k
b3c6OmdldE93blByb3BlcnR5U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMs
IFByb3BlcnR5CiAgICAgfQogI2VuZGlmCiAKLSAgICBjb25zdCBIYXNoVGFibGVWYWx1ZSogZW50
cnkgPSBKU0RPTVdpbmRvdzo6aW5mbygpLT5zdGF0aWNQcm9wSGFzaFRhYmxlLT5lbnRyeShwcm9w
ZXJ0eU5hbWUpOwotICAgIGlmIChlbnRyeSkgewotICAgICAgICBzbG90LnNldENhY2hlYWJsZUN1
c3RvbSh0aGlzT2JqZWN0LCBhbGxvd3NBY2Nlc3MgPyBlbnRyeS0+YXR0cmlidXRlcygpIDogUmVh
ZE9ubHkgfCBEb250RGVsZXRlIHwgRG9udEVudW0sIGVudHJ5LT5wcm9wZXJ0eUdldHRlcigpKTsK
LSAgICAgICAgcmV0dXJuIHRydWU7CisgICAgLy8gV2hlbiBhY2Nlc3NpbmcgY3Jvc3Mtb3JpZ2lu
IGtub3duIFdpbmRvdyBwcm9wZXJ0aWVzLCB3ZSBhbHdheXMgdXNlIHRoZSBvcmlnaW5hbCBwcm9w
ZXJ0eSBnZXR0ZXIsCisgICAgLy8gZXZlbiBpZiB0aGUgcHJvcGVydHkgd2FzIHJlbW92ZWQgLyBy
ZWRlZmluZWQuIFRoaXMgbWF0Y2hlcyBGaXJlZm94IGFuZCBDaHJvbWUncyBiZWhhdmlvci4KKyAg
ICBpZiAoIXRoaXNPYmplY3QtPnN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQoKSB8fCAhYWxsb3dzQWNj
ZXNzKSB7CisgICAgICAgIGlmIChhdXRvKiBlbnRyeSA9IEpTRE9NV2luZG93OjppbmZvKCktPnN0
YXRpY1Byb3BIYXNoVGFibGUtPmVudHJ5KHByb3BlcnR5TmFtZSkpIHsKKyAgICAgICAgICAgIHNs
b3Quc2V0Q2FjaGVhYmxlQ3VzdG9tKHRoaXNPYmplY3QsIGFsbG93c0FjY2VzcyA/IGVudHJ5LT5h
dHRyaWJ1dGVzKCkgOiBSZWFkT25seSB8IERvbnREZWxldGUgfCBEb250RW51bSwgZW50cnktPnBy
b3BlcnR5R2V0dGVyKCkpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KICAg
ICB9CiAKICNpZiBFTkFCTEUoVVNFUl9NRVNTQUdFX0hBTkRMRVJTKQpAQCAtMzY1LDggKzM2OCwx
MCBAQCB2b2lkIEpTRE9NV2luZG93OjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMs
IFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAg
ICBpZiAobG9va3VwUHV0KGV4ZWMsIHByb3BlcnR5TmFtZSwgdGhpc09iamVjdCwgdmFsdWUsICpz
X2luZm8uc3RhdGljUHJvcEhhc2hUYWJsZSwgc2xvdCkpCi0gICAgICAgIHJldHVybjsKKyAgICBp
ZiAoIXRoaXNPYmplY3QtPnN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQoKSkgeworICAgICAgICBpZiAo
bG9va3VwUHV0KGV4ZWMsIHByb3BlcnR5TmFtZSwgdGhpc09iamVjdCwgdmFsdWUsICpzX2luZm8u
c3RhdGljUHJvcEhhc2hUYWJsZSwgc2xvdCkpCisgICAgICAgICAgICByZXR1cm47CisgICAgfQog
CiAgICAgaWYgKEJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhl
eGVjLCB0aGlzT2JqZWN0LT53cmFwcGVkKCkpKQogICAgICAgICBCYXNlOjpwdXQodGhpc09iamVj
dCwgZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGQ2YTIwNGQ1NTQx
ZjFkOTk5OGRlZGFjNTA0NzY1ZDllNzE0NjFiNTkuLjlhMDUxMmIxYzg4ZWFkZjFkN2U5OTM0Yjc5
MzRmMWUxMDFkMGU4MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC02ODUsNiArNjg1LDggQEAgc3ViIENvbnN0cnVjdG9y
U2hvdWxkQmVPbkluc3RhbmNlCiB7CiAgICAgbXkgJGludGVyZmFjZSA9IHNoaWZ0OwogCisgICAg
IyBGSVhNRTogY29uc3RydWN0b3Igc2hvdWxkIGFsd2F5cyBiZSBvbiB0aGUgcHJvdG90eXBlOgor
ICAgICMgaHR0cDovL3d3dy53My5vcmcvVFIvV2ViSURMLyNpbnRlcmZhY2UtcHJvdG90eXBlLW9i
amVjdAogICAgIHJldHVybiAxIGlmICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJD
aGVja1NlY3VyaXR5In07CiAgICAgcmV0dXJuIDA7CiB9CkBAIC0xMzU3LDEzICsxMzU5LDcgQEAg
c3ViIEdlbmVyYXRlQXR0cmlidXRlc0hhc2hUYWJsZQogCiAgICAgICAgICAgICBteSAkc2V0dGVy
ID0gInNldEpTIiAuICRpbnRlcmZhY2VOYW1lIC4gIkNvbnN0cnVjdG9yIjsKICAgICAgICAgICAg
IHB1c2goQCRoYXNoVmFsdWUyLCAkc2V0dGVyKTsKLQotICAgICAgICAgICAgIyBGSVhNRTogRG8g
d2UgcmVhbGx5IG5lZWQgdG8gc3BlY2lhbC1jYXNlIERPTVdpbmRvdz8KLSAgICAgICAgICAgIGlm
ICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93IikgewotICAgICAgICAgICAgICAgIHB1c2go
QCRoYXNoU3BlY2lhbHMsICJEb250RW51bSB8IERvbnREZWxldGUiKTsKLSAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgcHVzaChAJGhhc2hTcGVjaWFscywgIkRvbnRFbnVtIik7
Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBwdXNoKEAkaGFzaFNwZWNpYWxzLCAiRG9udEVu
dW0iKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMTM3NiwxMyArMTM3MiwxMSBAQCBzdWIgR2Vu
ZXJhdGVBdHRyaWJ1dGVzSGFzaFRhYmxlCiAgICAgICAgIHB1c2goQCRoYXNoS2V5cywgJG5hbWUp
OwogCiAgICAgICAgIG15IEBzcGVjaWFscyA9ICgpOwotICAgICAgICAjIEFzIHBlciBXZWIgSURM
IHNwZWNpZmljYXRpb24sIGNvbnN0cnVjdG9yIHByb3BlcnRpZXMgb24gdGhlIEVDTUFTY3JpcHQg
Z2xvYmFsIG9iamVjdCBzaG91bGQgYmUKLSAgICAgICAgIyBjb25maWd1cmFibGUgYW5kIHNob3Vs
ZCBub3QgYmUgZW51bWVyYWJsZS4KLSAgICAgICAgbXkgJGlzX2dsb2JhbF9jb25zdHJ1Y3RvciA9
ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9fiAvQ29uc3RydWN0b3IkLzsKLQotICAgICAg
ICBwdXNoKEBzcGVjaWFscywgIkRvbnREZWxldGUiKSBpZiAoJGlzSW5zdGFuY2UgJiYgISRpc19n
bG9iYWxfY29uc3RydWN0b3IpIHx8ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IlVuZm9yZ2VhYmxlIn0KKyAgICAgICAgcHVzaChAc3BlY2lhbHMsICJEb250RGVs
ZXRlIikgaWYgJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVW5m
b3JnZWFibGUifQogICAgICAgICAgICAgfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IlVuZm9yZ2VhYmxlIn07CiAKKyAgICAgICAgIyBBcyBwZXIgV2ViIElETCBzcGVjaWZpY2F0
aW9uLCBjb25zdHJ1Y3RvciBwcm9wZXJ0aWVzIG9uIHRoZSBFQ01BU2NyaXB0IGdsb2JhbCBvYmpl
Y3Qgc2hvdWxkIG5vdCBiZSBlbnVtZXJhYmxlLgorICAgICAgICBteSAkaXNfZ2xvYmFsX2NvbnN0
cnVjdG9yID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlID1+IC9Db25zdHJ1Y3RvciQvOwog
ICAgICAgICBwdXNoKEBzcGVjaWFscywgIkRvbnRFbnVtIikgaWYgKCRhdHRyaWJ1dGUtPnNpZ25h
dHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5vdEVudW1lcmFibGUifSB8fCAkaXNfZ2xvYmFs
X2NvbnN0cnVjdG9yKTsKICAgICAgICAgcHVzaChAc3BlY2lhbHMsICJSZWFkT25seSIpIGlmIElz
UmVhZG9ubHkoJGF0dHJpYnV0ZSk7CiAgICAgICAgIHB1c2goQHNwZWNpYWxzLCAiQ3VzdG9tQWNj
ZXNzb3IiKSB1bmxlc3MgJGlzX2dsb2JhbF9jb25zdHJ1Y3RvciBvciBJc0pTQnVpbHRpbigkaW50
ZXJmYWNlLCAkYXR0cmlidXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKaW5k
ZXggNjFjMDhkMGY3NzA5MDU5NmNjN2ZjZmYzMDIwN2JhZjQxOTdjYzk4YS4uNTIzMzc5NjRkM2I3
NWFjZTkwYjI2ODg4ZDZkYmFlZDc4ZjYyMTQ5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9i
amVjdC5jcHAKQEAgLTgzLDcgKzgzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFz
aEluZGV4IEpTVGVzdEFjdGl2ZURPTU9iamVjdFRhYmxlSW5kZXhbNF0gPSB7CiBzdGF0aWMgY29u
c3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0QWN0aXZlRE9NT2JqZWN0VGFibGVWYWx1ZXNbXSA9CiB7
CiAgICAgeyAiY29uc3RydWN0b3IiLCBEb250RW51bSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90
KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RBY3RpdmVET01P
YmplY3RDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90
OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEFjdGl2ZURPTU9iamVjdENvbnN0cnVjdG9yKSB9IH0s
Ci0gICAgeyAiZXhjaXRpbmdBdHRyIiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgQ3VzdG9tQWNj
ZXNzb3IsIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYz4oanNUZXN0QWN0aXZlRE9NT2JqZWN0RXhjaXRpbmdBdHRyKSwgKGludHB0
cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAor
ICAgIHsgImV4Y2l0aW5nQXR0ciIsIFJlYWRPbmx5IHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmlu
c2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4o
anNUZXN0QWN0aXZlRE9NT2JqZWN0RXhjaXRpbmdBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2Fz
dDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAogfTsKIAogc3RhdGljIGNv
bnN0IEhhc2hUYWJsZSBKU1Rlc3RBY3RpdmVET01PYmplY3RUYWJsZSA9IHsgMiwgMywgdHJ1ZSwg
SlNUZXN0QWN0aXZlRE9NT2JqZWN0VGFibGVWYWx1ZXMsIEpTVGVzdEFjdGl2ZURPTU9iamVjdFRh
YmxlSW5kZXggfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKaW5kZXggOTZiZTgyMmFjMzdhNmQxNzkz
NzVmZDA3ZDA5YjRhYmY5YWQ0NDg5Zi4uYWEwYjAzMmY1MTBhYzA2NjY5NzJlNmFiZDk3ZWNkOTdh
NTYxZWY3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgc3RhdGlj
IGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdEV4Y2VwdGlvblRhYmxlSW5kZXhb
Ml0gPSB7CiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RFeGNlcHRpb25UYWJs
ZVZhbHVlc1tdID0KIHsKLSAgICB7ICJuYW1lIiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgQ3Vz
dG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0
eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0RXhjZXB0aW9uTmFtZSksIChpbnRwdHJfdCkgc3Rh
dGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJu
YW1lIiwgUmVhZE9ubHkgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90
KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RFeGNlcHRpb25O
YW1lKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVu
Yz4oMCkgfSB9LAogfTsKIAogc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RFeGNlcHRpb25U
YWJsZSA9IHsgMSwgMSwgdHJ1ZSwgSlNUZXN0RXhjZXB0aW9uVGFibGVWYWx1ZXMsIEpTVGVzdEV4
Y2VwdGlvblRhYmxlSW5kZXggfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggNjM5MmQ0ODcxZWVmZjU1NzcyNTZj
OGU1ZGVjZTYxMWQ2NzlmZTBkOS4uYmNmODRjYTk0MzUyOTNlYTM4MGEzMGZhMTZiZDM5ZDZiZDA4
ZmEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9iai5jcHAKQEAgLTQwMiw3ICs0MDIsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRh
YmxlVmFsdWUgSlNUZXN0T2JqVGFibGVWYWx1ZXNbXSA9CiAjZWxzZQogICAgIHsgMCwgMCwgTm9J
bnRyaW5zaWMsIHsgMCwgMCB9IH0sCiAjZW5kaWYKLSAgICB7ICJjb250ZW50RG9jdW1lbnQiLCBE
b250RGVsZXRlIHwgUmVhZE9ubHkgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIHsgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpD
b250ZW50RG9jdW1lbnQpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6
UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAiY29udGVudERvY3VtZW50IiwgUmVhZE9ubHkg
fCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFBy
b3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpDb250ZW50RG9jdW1lbnQpLCAoaW50
cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0s
CiB9OwogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdE9ialRhYmxlID0geyA1LCAxNSwg
dHJ1ZSwgSlNUZXN0T2JqVGFibGVWYWx1ZXMsIEpTVGVzdE9ialRhYmxlSW5kZXggfTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCAwMjJlYmJlODFlMDQzZjQzMmY4ZjhmMWMyMmE0OGZmYzhiODFlZDRkLi45YzQwMjBiZTMzYjI1
ODI3NjQzZDczNDAxMjFjNTY0N2ViZjZkNTYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMTYt
MDItMDcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBdHRyaWJ1
dGVzIG9uIHRoZSBXaW5kb3cgaW5zdGFuY2Ugc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZSB1bmxlc3Mg
W1VuZm9yZ2VhYmxlXQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTUzOTIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtY29uZmlndXJhYmxlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0aWVzLWNvbmZpZ3VyYWJsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgQWRkIGEgdGVzdCB0byBj
aGVjayB0aGF0IFdpbmRvdyBwcm9wZXJ0aWVzIGFyZSByZXBvcnRlZCBhcyBjb25maWd1cmFibGUK
KyAgICAgICAgdW5sZXNzIHRoZSBbVW5mb3JnZWFibGVdIG9uZXMgYW5kIHRoYXQgZGVsZXRpbmcg
dGhlbSBhY3R1YWxseSB3b3Jrcy4KKworICAgICAgICAqIGZhc3QvZG9tL2dsb2JhbC1jb25zdHJ1
Y3RvcnMuaHRtbDoKKyAgICAgICAgVXBkYXRlIHRlc3Qgc28gaXQgbm8gbG9uZ2VyIGV4cGVjdHMg
d2luZG93Lk5vZGUgdG8gYmUgc2hhZG93YWJsZS4gQXMgcGVyCisgICAgICAgIHRoZSBzcGVjaWZp
Y2F0aW9uLCB0aGUgIk5vZGUiIHByb3BlcnR5IGlzIG9uIHRoZSB3aW5kb3cgaW5zdGFuY2UsIG5v
dCBpdHMKKyAgICAgICAgcHJvdG90eXBlLiBUaGVyZWZvcmUsIGl0IHNob3VsZCBjYW5ub3QgYmUg
c2hhZG93ZWQgYW5kIHNldHRpbmcgaXQgdG8KKyAgICAgICAgc29tZXRoaW5nIGFjdHVhbGx5IG92
ZXJ3aXRlcyB0aGUgcHJldmlvdXMgdmFsdWUsIGdpdmVuIHRoYXQgdGhlIHByb3BlcnR5CisgICAg
ICAgIGlzIHdyaXRhYmxlIGFzIHBlcjoKKyAgICAgICAgLSBodHRwOi8vaGV5Y2FtLmdpdGh1Yi5p
by93ZWJpZGwvI2VzLWludGVyZmFjZXMKKyAgICAgICAgSSBoYXZlIHZlcmlmaWVkIHRoYXQgdGhl
IG5ldyBiZWhhdmlvciBpcyBjb25zaXN0ZW50IHdpdGggRmlyZWZveC4KKworICAgICAgICAqIGh0
dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXJlaWZpZWQtd2luZG93LXByb3BlcnR5LWFj
Y2Vzcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y3Jvc3Mtb3JpZ2luLXJlaWZpZWQtd2luZG93LXByb3BlcnR5LWFjY2Vzcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9yZWlmeS13aW5kb3cuaHRt
bDogQWRkZWQuCisgICAgICAgIEFkZCBhIHRlc3QgY2FzZSB0byBjb3ZlciBjcm9zcy1vcmlnaW4g
YWNjZXNzIG9mIFdpbmRvdyBwcm9wZXJ0aWVzIGFmdGVyCisgICAgICAgIHJlaWZpY2F0aW9uLgor
CisgICAgICAgICoganMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXVuZm9yZ2VhYmxlLWF0dHJp
YnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGpzL2dldE93blByb3BlcnR5RGVzY3JpcHRv
ci11bmZvcmdlYWJsZS1hdHRyaWJ1dGVzLmh0bWw6CisgICAgICAgIERyb3Agd2luZG93LnNlbGYg
ZnJvbSB0aGUgbGlzdCBvZiB1bmZvcmdlYWJsZSBhdHRyaWJ1dGVzLiBUaGlzIGF0dHJpYnV0ZQor
ICAgICAgICBpcyBub3QgdW5mb3JnZWFibGUgaW4gb3VyIGltcGxlbWVudGF0aW9uIG9yIGluIHRo
ZSBzcGVjaWZpY2F0aW9uOgorICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcv
bXVsdGlwYWdlL2Jyb3dzZXJzLmh0bWwjdGhlLXdpbmRvdy1vYmplY3QKKworICAgICAgICAqIGpz
L2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6
CisgICAgICAgICoganMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXdpbmRvdy1hdHRyaWJ1dGVz
Lmh0bWw6CisgICAgICAgIC0gQWRkIGNvdmVyYWdlIGZvciB3aW5kb3cuc2VsZiB3aGljaCBpcyBh
IHJlZ3VsYXIgV2luZG93IHByb3BlcnR5LgorICAgICAgICAtIEFkZCBjb3ZlcmFnZSBmb3Igd2lu
ZG93Lk5vZGUgd2hpY2ggaXMgYSBjb25zdHJ1Y3RvciBwcm9wZXJ0eQorICAgICAgICAtIEFkZCBj
b3ZlcmFnZSBmb3Igd2luZG93LmNvbnN0cnVjdG9yLiBJdCBzaG91bGQgcmVhbGx5IGJlIG9uIHRo
ZSBwcm90b3R5cGUKKyAgICAgICAgICBhcyBwZXIgdGhlIHNwZWNpZmljYXRpb24gYnV0IHRoaXMg
YXQgbGVhc3QgY2hlY2tzIHRoYXQgdGhlIHByb3BlcnR5IGlzCisgICAgICAgICAgY29uZmlndXJh
YmxlLCBhcyBwZXIgdGhlIHNwZWNpZmljYXRpb24uCisgICAgICAgIC0gUmViYXNlbGluZSB0aGUg
dGVzdCBhcyBtb3JlIGNoZWNrcyBhcmUgcGFzc2luZyBub3cgdGhhdCBXaW5kb3cgcHJvcGVydGll
cworICAgICAgICAgIGFyZSBtYXJrZWQgYXMgY29uZmlndXJhYmxlLgorCiAyMDE2LTAyLTA4ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQXR0cmlidXRlIGdldHRl
cnMgc2hvdWxkIG5vdCByZXF1aXJlIGFuIGV4cGxpY2l0ICd0aGlzJyB2YWx1ZSBmb3IgV2luZG93
IHByb3BlcnRpZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcHJvcGVydGllcy1jb25maWd1cmFibGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWNvbmZpZ3VyYWJsZS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYjg4MjZmYWU1ZmZhOWRlZTRiOGEzOWZiNGRlYmQ1YzAwYWIzMjc0OAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVy
dGllcy1jb25maWd1cmFibGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzcgQEAKK1Rlc3RzIHRo
YXQgV2luZG93IHByb3BlcnRpZXMgYXJlIGluZGVlZCBjb25maWd1cmFibGUgdW5sZXNzIFtVbmZv
cmdlYWJsZV0KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKyogUmVndWxhciBJREwg
YXR0cmlidXRlLgorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywg
J25hbWUnKS5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyB3aW5kb3cubmFtZSBpcyAiIgorUEFT
UyBkZWxldGUgd2luZG93Lm5hbWUgaXMgdHJ1ZQorUEFTUyB3aW5kb3cubmFtZSBpcyB1bmRlZmlu
ZWQuCit3aW5kb3cubmFtZSA9IDMKK1BBU1Mgd2luZG93Lm5hbWUgaXMgMworUEFTUyBkZWxldGUg
d2luZG93Lm5hbWUgaXMgdHJ1ZQorUEFTUyB3aW5kb3cubmFtZSBpcyB1bmRlZmluZWQuCisKKyog
Q29uc3RydWN0b3IgYXR0cmlidXRlcy4KK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcih3aW5kb3csICdOb2RlJykuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1Mgd2luZG93Lk5v
ZGUgaXMgbm90IHVuZGVmaW5lZAorUEFTUyBkZWxldGUgd2luZG93Lk5vZGUgaXMgdHJ1ZQorUEFT
UyB3aW5kb3cuTm9kZSBpcyB1bmRlZmluZWQuCit3aW5kb3cuTm9kZSA9IDMKK1BBU1Mgd2luZG93
Lk5vZGUgaXMgMworUEFTUyBkZWxldGUgd2luZG93Lk5vZGUgaXMgdHJ1ZQorUEFTUyB3aW5kb3cu
Tm9kZSBpcyB1bmRlZmluZWQuCisKKyogW1VuZm9yZ2VhYmxlXSBJREwgYXR0cmlidXRlLgorUEFT
UyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ3dpbmRvdycpLmNvbmZp
Z3VyYWJsZSBpcyBmYWxzZQorUEFTUyB3aW5kb3cud2luZG93IGlzIG5vdCB1bmRlZmluZWQKK1BB
U1MgZGVsZXRlIHdpbmRvdy53aW5kb3cgaXMgZmFsc2UKK1BBU1Mgd2luZG93LndpbmRvdyBpcyBu
b3QgdW5kZWZpbmVkCit3aW5kb3cud2luZG93ID0gMworUEFTUyB3aW5kb3cud2luZG93IGlzIG5v
dCAzCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRp
ZXMtY29uZmlndXJhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMtY29uZmlndXJhYmxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBlYTE5MjMxMDgyNTIz
MTFiZmNlYmZmYTBmNzllOGM3NDdmNjQxMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1jb25maWd1cmFibGUuaHRtbApAQCAt
MCwwICsxLDQyIEBACis8IURPQ1lUUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBXaW5kb3cgcHJvcGVydGllcyBhcmUgaW5kZWVkIGNv
bmZpZ3VyYWJsZSB1bmxlc3MgW1VuZm9yZ2VhYmxlXSIpOworCitkZWJ1ZygiKiBSZWd1bGFyIElE
TCBhdHRyaWJ1dGUuIik7CitzaG91bGRCZVRydWUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3Iod2luZG93LCAnbmFtZScpLmNvbmZpZ3VyYWJsZSIpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ3aW5kb3cubmFtZSIsICIiKTsKK3Nob3VsZEJlVHJ1ZSgiZGVsZXRlIHdpbmRvdy5uYW1l
Iik7CitzaG91bGRCZVVuZGVmaW5lZCgid2luZG93Lm5hbWUiKTsKK2V2YWxBbmRMb2coIndpbmRv
dy5uYW1lID0gMyIpOworc2hvdWxkQmUoIndpbmRvdy5uYW1lIiwgIjMiKTsKK3Nob3VsZEJlVHJ1
ZSgiZGVsZXRlIHdpbmRvdy5uYW1lIik7CitzaG91bGRCZVVuZGVmaW5lZCgid2luZG93Lm5hbWUi
KTsKKworZGVidWcoIiIpOworZGVidWcoIiogQ29uc3RydWN0b3IgYXR0cmlidXRlcy4iKTsKK3No
b3VsZEJlVHJ1ZSgiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdOb2Rl
JykuY29uZmlndXJhYmxlIik7CitzaG91bGROb3RCZSgid2luZG93Lk5vZGUiLCAidW5kZWZpbmVk
Iik7CitzaG91bGRCZVRydWUoImRlbGV0ZSB3aW5kb3cuTm9kZSIpOworc2hvdWxkQmVVbmRlZmlu
ZWQoIndpbmRvdy5Ob2RlIik7CitldmFsQW5kTG9nKCJ3aW5kb3cuTm9kZSA9IDMiKTsKK3Nob3Vs
ZEJlKCJ3aW5kb3cuTm9kZSIsICIzIik7CitzaG91bGRCZVRydWUoImRlbGV0ZSB3aW5kb3cuTm9k
ZSIpOworc2hvdWxkQmVVbmRlZmluZWQoIndpbmRvdy5Ob2RlIik7CisKK2RlYnVnKCIiKTsKK2Rl
YnVnKCIqIFtVbmZvcmdlYWJsZV0gSURMIGF0dHJpYnV0ZS4iKTsKK3Nob3VsZEJlRmFsc2UoIk9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnd2luZG93JykuY29uZmlndXJh
YmxlIik7CitzaG91bGROb3RCZSgid2luZG93LndpbmRvdyIsICJ1bmRlZmluZWQiKTsKK3Nob3Vs
ZEJlRmFsc2UoImRlbGV0ZSB3aW5kb3cud2luZG93Iik7CitzaG91bGROb3RCZSgid2luZG93Lndp
bmRvdyIsICJ1bmRlZmluZWQiKTsKK2V2YWxBbmRMb2coIndpbmRvdy53aW5kb3cgPSAzIik7Citz
aG91bGROb3RCZSgid2luZG93LndpbmRvdyIsICIzIik7CisKK2RlYnVnKCIiKTsKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
Z2xvYmFsLWNvbnN0cnVjdG9ycy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vZ2xvYmFsLWNv
bnN0cnVjdG9ycy5odG1sCmluZGV4IDBiMzlkZDA3MDMzNmUxYzM4OTZkODcwZjk5N2RlOWY4OTQ3
YWQwNWMuLjlkMmRlOWIwOTg5NjI3ZjRiYmI2MmQzMzFkMTAwNDE3ZmYyMjYxMWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLmh0bWwKQEAgLTk1LDE1ICs5
NSwxNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAKICAgICBvcmlnaW5hbE5vZGVDb25zdHJ1Y3Rv
ciA9IHdpbmRvdy5Ob2RlOyAgICAKIAotICAgIC8vIFNoYWRvdyB3aW5kb3cuTm9kZQorICAgIC8v
IFNldCB3aW5kb3cuTm9kZQogICAgIHdpbmRvdy5Ob2RlID0gMTsKICAgICBwcmludCgiW1NldCB3
aW5kb3cuTm9kZSA9IDFdIik7CiAgICAgc2hvdWxkQmUoIndpbmRvdy5Ob2RlIiwgMSk7CiAgICAg
Ci0gICAgLy8gVW5zaGFkb3cgd2luZG93Lk5vZGUKKyAgICAvLyBEZWxldGUgd2luZG93Lk5vZGUK
ICAgICBkZWxldGUgd2luZG93Lk5vZGU7CiAgICAgcHJpbnQoIltEZWxldGVkIHdpbmRvdy5Ob2Rl
XSIpOwotICAgIHNob3VsZEJlKCJ3aW5kb3cuTm9kZSIsIG9yaWdpbmFsTm9kZUNvbnN0cnVjdG9y
KTsKKyAgICBzaG91bGRCZSgid2luZG93Lk5vZGUiLCB1bmRlZmluZWQpOworCisgICAgd2luZG93
Lk5vZGUgPSBvcmlnaW5hbE5vZGVDb25zdHJ1Y3RvcjsKIAogICAgIC8vIEF0dGVtcHQgdG8gc2hh
ZG93IHdpbmRvdy5Ob2RlIHdpdGggYSBmcmFtZSBuYW1lZCAnTm9kZScKICAgICB2YXIgaWZyYW1l
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1yZWlmaWVkLXdpbmRvdy1wcm9w
ZXJ0eS1hY2Nlc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jcm9zcy1vcmlnaW4tcmVpZmllZC13aW5kb3ctcHJvcGVydHktYWNjZXNzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wNzg5ZDEyNzYwYTM3ZWJlYjI2ZGE0MjE0YjYyZmQwZmEzZWVhMTEwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1v
cmlnaW4tcmVpZmllZC13aW5kb3ctcHJvcGVydHktYWNjZXNzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDIzIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IEJsb2NrZWQgYSBmcmFtZSB3aXRo
IG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGZyYW1lIHdp
dGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0OjgwMDAiLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFu
ZCBwb3J0cyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2OiBCbG9ja2VkIGEg
ZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3Npbmcg
YSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIi4gUHJvdG9jb2xzLCBk
b21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNjog
QmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20g
YWNjZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIuIFBy
b3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitUZXN0cyB0aGF0IHJlaWZp
Y2F0aW9uIGRvZXMgbm90IGJ5cGFzcyBjcm9zcy1vcmlnaW4gY2hlY2tzLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyBjcm9zc09yaWdpbldpbmRvdy5kb2N1bWVudCByZXR1
cm5lZCB1bmRlZmluZWQuCitQQVNTIGNyb3NzT3JpZ2luV2luZG93Lm5hbWUgcmV0dXJuZWQgdW5k
ZWZpbmVkLgorUEFTUyBjcm9zc09yaWdpbldpbmRvdy5tZW51YmFyIHJldHVybmVkIHVuZGVmaW5l
ZC4KK1BBU1MgY3Jvc3NPcmlnaW5XaW5kb3cuc2Nyb2xsYmFycyIpIHRocmV3IGV4Y2VwdGlvbiBT
eW50YXhFcnJvcjogVW5leHBlY3RlZCBFT0YuCitQQVNTIGNyb3NzT3JpZ2luV2luZG93Lm5hdmln
YXRvciIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBFT0YuCitQQVNT
IGNyb3NzT3JpZ2luV2luZG93LnNjcmVlblgiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6
IFVuZXhwZWN0ZWQgRU9GLgorUEFTUyBjcm9zc09yaWdpbldpbmRvdy5sb2NhdGlvbiBpcyBub3Qg
dW5kZWZpbmVkCitQQVNTIGNyb3NzT3JpZ2luV2luZG93LnNlbGYgaXMgY3Jvc3NPcmlnaW5XaW5k
b3cud2luZG93CitQQVNTIHNhbWVPcmlnaW5XaW5kb3cuc2VsZiBpcyAic2VjcmV0IgorUEFTUyBj
cm9zc09yaWdpbldpbmRvdy5wYXJlbnQgaXMgd2luZG93CitQQVNTIHNhbWVPcmlnaW5XaW5kb3cu
cGFyZW50IGlzIHNhbWVPcmlnaW5XaW5kb3cuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhcmVu
dCIpCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2lu
LXJlaWZpZWQtd2luZG93LXByb3BlcnR5LWFjY2Vzcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcmVpZmllZC13aW5kb3ctcHJvcGVydHktYWNjZXNz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOGU1ZjhhNzE0ODg3NDMxMmU1MGQyYjFhZjUzNzEwZGI1ZGIyNWJh
MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jv
c3Mtb3JpZ2luLXJlaWZpZWQtd2luZG93LXByb3BlcnR5LWFjY2Vzcy5odG1sCkBAIC0wLDAgKzEs
NTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgorPGlmcmFtZSBpZD0iY3Jvc3NPcmlnaW5GcmFtZSIgc3JjPSJodHRw
Oi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3JlaWZ5LXdpbmRvdy5odG1sIj48
L2lmcmFtZT4KKzxpZnJhbWUgaWQ9InNhbWVPcmlnaW5GcmFtZSIgc3JjPSJyZXNvdXJjZXMvcmVp
Znktd2luZG93Lmh0bWwiPjwvaWZyYW1lPgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0
aGF0IHJlaWZpY2F0aW9uIGRvZXMgbm90IGJ5cGFzcyBjcm9zcy1vcmlnaW4gY2hlY2tzLiIpOwor
anNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Z1bmN0aW9uIHNob3VsZFRocm93T3JSZXR1cm5VbmRl
ZmluZWQoZXhwcmVzc2lvbikKK3sKKyAgICB0cnkgeworICAgICAgICByZXN1bHQgPSBldmFsKGV4
cHJlc3Npb24pOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgdGVzdFBhc3NlZChleHByZXNz
aW9uICsgIiB0aHJldyBleGNlcHRpb24gIiArIGUgKyAiLiIpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorICAgIGlmIChyZXN1bHQgPT09IHVuZGVmaW5lZCkKKyAgICAgICAgdGVzdFBhc3NlZChl
eHByZXNzaW9uICsgIiByZXR1cm5lZCB1bmRlZmluZWQuIik7CisgICAgZWxzZQorICAgICAgICB0
ZXN0RmFpbGVkKGV4cHJlc3Npb24gKyAiIHJldHVybmVkICIgKyByZXN1bHQpOworfQorCitmdW5j
dGlvbiBydW5UZXN0KCkKK3sKKyAgICBjcm9zc09yaWdpbldpbmRvdyA9IGNyb3NzT3JpZ2luRnJh
bWUud2luZG93OworICAgIHNhbWVPcmlnaW5XaW5kb3cgPSBzYW1lT3JpZ2luRnJhbWUud2luZG93
OworCisgICAgc2hvdWxkVGhyb3dPclJldHVyblVuZGVmaW5lZCgnY3Jvc3NPcmlnaW5XaW5kb3cu
ZG9jdW1lbnQnKTsKKyAgICBzaG91bGRUaHJvd09yUmV0dXJuVW5kZWZpbmVkKCdjcm9zc09yaWdp
bldpbmRvdy5uYW1lJyk7CisgICAgc2hvdWxkVGhyb3dPclJldHVyblVuZGVmaW5lZCgnY3Jvc3NP
cmlnaW5XaW5kb3cubWVudWJhcicpOworICAgIHNob3VsZFRocm93T3JSZXR1cm5VbmRlZmluZWQo
J2Nyb3NzT3JpZ2luV2luZG93LnNjcm9sbGJhcnMiKScpOworICAgIHNob3VsZFRocm93T3JSZXR1
cm5VbmRlZmluZWQoJ2Nyb3NzT3JpZ2luV2luZG93Lm5hdmlnYXRvciIpJyk7CisgICAgc2hvdWxk
VGhyb3dPclJldHVyblVuZGVmaW5lZCgnY3Jvc3NPcmlnaW5XaW5kb3cuc2NyZWVuWCIpJyk7Cisg
ICAgc2hvdWxkTm90QmUoJ2Nyb3NzT3JpZ2luV2luZG93LmxvY2F0aW9uJywgJ3VuZGVmaW5lZCcp
OworCisgICAgLy8gRXZlbiB0aG91Z2ggd2luZG93LnNlbGYgd2FzIGRlbGV0ZWQsIHdlIHN0aWxs
IHVzZSB0aGUgb3JpZ2luYWwgc3RhdGljIHByb3BlcnR5IGdldHRlciwgdG8gbWF0Y2gKKyAgICAv
LyBGaXJlZm94IGFuZCBDaHJvbWUuCisgICAgc2hvdWxkQmUoJ2Nyb3NzT3JpZ2luV2luZG93LnNl
bGYnLCAnY3Jvc3NPcmlnaW5XaW5kb3cud2luZG93Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJzYW1lT3JpZ2luV2luZG93LnNlbGYiLCAic2VjcmV0Iik7CisKKyAgICAvLyBUZXN0IHRo
ZSBjYXNlIHdoZXJlIGEgZGVsZXRlZCB3aW5kb3cgYXR0cmlidXRlIHdhcyBzaGFkb3dpbmcgYSBu
YW1lZCBwcm9wZXJ0eS4KKyAgICBzaG91bGRCZSgnY3Jvc3NPcmlnaW5XaW5kb3cucGFyZW50Jywg
J3dpbmRvdycpOworICAgIHNob3VsZEJlKCdzYW1lT3JpZ2luV2luZG93LnBhcmVudCcsICdzYW1l
T3JpZ2luV2luZG93LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXJlbnQiKScpOworCisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL3JlaWZ5LXdpbmRv
dy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvcmVpZnkt
d2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGI0ODI5YzRkNGM5YzYzNDA2ZDI1ZDY0NzQxMjFjNDU1
OWMyMDIzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvcmVzb3VyY2VzL3JlaWZ5LXdpbmRvdy5odG1sCkBAIC0wLDAgKzEsOCBAQAorPHNjcmlwdD4K
K2RlbGV0ZSB3aW5kb3cuc2VsZjsKK3dpbmRvdy5zZWxmID0gInNlY3JldCI7CisKKy8vIERlbGV0
aW5nIHdpbmRvdy5wYXJlbnQgZXhwb3NlcyB0aGUgZGl2IHdpdGggaWQgInBhcmVudCIgcmV0dXJu
ZWQgYnkgdGhlIG5hbWVkIHByb3BlcnR5IGdldHRlci4KK2RlbGV0ZSB3aW5kb3cucGFyZW50Owor
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJwYXJlbnQiPjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pbnRlcmZhY2VzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9kb20vaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKaW5kZXggNmQwOTg5NmI1NWIxMzM1ZTJh
ZDEyMGIxMjNkNTUxYmVjYjYwMDE1Yi4uMDZhNTViZTY5YzhhY2RkNTkxNmI2OGJkZmQ5ZjgxZTVi
OWI3OTUzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2RvbS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2ludGVyZmFjZXMtZXhw
ZWN0ZWQudHh0CkBAIC0zODAwLDMwICszODAwLDM0IEBAIFBBU1MgV2luZG93IGludGVyZmFjZSBv
YmplY3QgbGVuZ3RoCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCiBGQUlMIFdp
bmRvdyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCBhc3NlcnRfZXF1YWxzOiBDbGFzcyBuYW1lIGZvciBwcm90b3R5cGUgb2Yg
V2luZG93LnByb3RvdHlwZSBpcyBub3QgIldpbmRvd1Byb3BlcnRpZXMiIGV4cGVjdGVkICJbb2Jq
ZWN0IFdpbmRvd1Byb3BlcnRpZXNdIiBidXQgZ290ICJbb2JqZWN0IE9iamVjdF0iCiBGQUlMIFdp
bmRvdyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0
eTogV2luZG93LnByb3RvdHlwZSBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiY29uc3RydWN0
b3IiIGV4cGVjdGVkIHByb3BlcnR5ICJjb25zdHJ1Y3RvciIgbWlzc2luZwotRkFJTCBXaW5kb3cg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgc2VsZiBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBj
b25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFj
ZTogYXR0cmlidXRlIG5hbWUgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJh
YmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBoaXN0b3J5IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
bG9jYXRpb25iYXIgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBt
ZW51YmFyIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcGVyc29u
YWxiYXIgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzY3JvbGxi
YXJzIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3RhdHVzYmFy
IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdG9vbGJhciBhc3Nl
cnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHN0YXR1cyBhc3NlcnRfdHJ1
ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
K1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHNlbGYgCitQQVNTIFdpbmRvdyBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBuYW1lIAorRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
aGlzdG9yeSBhc3NlcnRfZXF1YWxzOiBzZXR0ZXIgbXVzdCBiZSB1bmRlZmluZWQgZm9yIHJlYWRv
bmx5IGF0dHJpYnV0ZXMgZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKGZ1
bmN0aW9uKSBmdW5jdGlvbiAiZnVuY3Rpb24gaGlzdG9yeSgpIHsKKyAgICBbbmF0aXZlIGNvZGVd
Cit9IgorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbG9jYXRpb25iYXIgCitQQVNT
IFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtZW51YmFyIAorUEFTUyBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgcGVyc29uYWxiYXIgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBzY3JvbGxiYXJzIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3RhdHVz
YmFyIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdG9vbGJhciAKK1BBU1MgV2lu
ZG93IGludGVyZmFjZTogYXR0cmlidXRlIHN0YXR1cyAKIEZBSUwgV2luZG93IGludGVyZmFjZTog
b3BlcmF0aW9uIGNsb3NlKCkgYXNzZXJ0X2VxdWFsczogcHJvcGVydHkgc2hvdWxkIGJlIHdyaXRh
YmxlIGlmIGFuZCBvbmx5IGlmIG5vdCB1bmZvcmdlYWJsZSBleHBlY3RlZCB0cnVlIGJ1dCBnb3Qg
ZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGNsb3NlZCBhc3NlcnRfdHJ1
ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
K1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGNsb3NlZCAKIEZBSUwgV2luZG93IGlu
dGVyZmFjZTogb3BlcmF0aW9uIHN0b3AoKSBkZXNjIGlzIG5vdCBhbiBPYmplY3QuIChldmFsdWF0
aW5nICciZ2V0IiBpbiBkZXNjJykKIEZBSUwgV2luZG93IGludGVyZmFjZTogb3BlcmF0aW9uIGZv
Y3VzKCkgYXNzZXJ0X2VxdWFsczogcHJvcGVydHkgc2hvdWxkIGJlIHdyaXRhYmxlIGlmIGFuZCBv
bmx5IGlmIG5vdCB1bmZvcmdlYWJsZSBleHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKIEZBSUwg
V2luZG93IGludGVyZmFjZTogb3BlcmF0aW9uIGJsdXIoKSBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0
eSBzaG91bGQgYmUgd3JpdGFibGUgaWYgYW5kIG9ubHkgaWYgbm90IHVuZm9yZ2VhYmxlIGV4cGVj
dGVkIHRydWUgYnV0IGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
ZnJhbWVzIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbGVuZ3Ro
IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb3BlbmVyIGFzc2Vy
dF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcGFyZW50IGFzc2VydF90cnVl
OiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQot
RkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZnJhbWVFbGVtZW50IGFzc2VydF90cnVl
OiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQor
UEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZnJhbWVzIAorUEFTUyBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgbGVuZ3RoIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb3BlbmVyIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcGFyZW50IAorUEFT
UyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZnJhbWVFbGVtZW50IAogRkFJTCBXaW5kb3cg
aW50ZXJmYWNlOiBvcGVyYXRpb24gb3BlbihET01TdHJpbmcsRE9NU3RyaW5nLERPTVN0cmluZyxi
b29sZWFuKSBkZXNjIGlzIG5vdCBhbiBPYmplY3QuIChldmFsdWF0aW5nICciZ2V0IiBpbiBkZXNj
JykKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG5hdmlnYXRvciBhc3NlcnRfdHJ1
ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
K0ZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG5hdmlnYXRvciBhc3NlcnRfZXF1YWxz
OiBzZXR0ZXIgbXVzdCBiZSB1bmRlZmluZWQgZm9yIHJlYWRvbmx5IGF0dHJpYnV0ZXMgZXhwZWN0
ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKGZ1bmN0aW9uKSBmdW5jdGlvbiAiZnVu
Y3Rpb24gbmF2aWdhdG9yKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iCiBGQUlMIFdpbmRvdyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBleHRlcm5hbCBhc3NlcnRfb3duX3Byb3BlcnR5OiBUaGUgZ2xv
YmFsIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAiZXh0ZXJuYWwiIGV4cGVjdGVkIHByb3Bl
cnR5ICJleHRlcm5hbCIgbWlzc2luZwotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
YXBwbGljYXRpb25DYWNoZSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFi
bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmli
dXRlIGFwcGxpY2F0aW9uQ2FjaGUgCiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBh
bGVydCgpIGRlc2MgaXMgbm90IGFuIE9iamVjdC4gKGV2YWx1YXRpbmcgJyJnZXQiIGluIGRlc2Mn
KQogRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBvcGVyYXRpb24gY29uZmlybShET01TdHJpbmcpIGRl
c2MgaXMgbm90IGFuIE9iamVjdC4gKGV2YWx1YXRpbmcgJyJnZXQiIGluIGRlc2MnKQogRkFJTCBX
aW5kb3cgaW50ZXJmYWNlOiBvcGVyYXRpb24gcHJvbXB0KERPTVN0cmluZyxET01TdHJpbmcpIGRl
c2MgaXMgbm90IGFuIE9iamVjdC4gKGV2YWx1YXRpbmcgJyJnZXQiIGluIGRlc2MnKQpAQCAtMzgz
Miw4MiArMzgzNiw4MiBAQCBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzaG93TW9k
YWxEaWFsb2coRE9NU3RyaW5nLGFueSkgZGVzYyBpcyBub3QgYW4gTwogRkFJTCBXaW5kb3cgaW50
ZXJmYWNlOiBvcGVyYXRpb24gcG9zdE1lc3NhZ2UoYW55LERPTVN0cmluZyxbb2JqZWN0IE9iamVj
dF0pIGFzc2VydF9lcXVhbHM6IHByb3BlcnR5IHNob3VsZCBiZSB3cml0YWJsZSBpZiBhbmQgb25s
eSBpZiBub3QgdW5mb3JnZWFibGUgZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCiBGQUlMIFdp
bmRvdyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjYXB0dXJlRXZlbnRzKCkgZGVzYyBpcyBub3QgYW4g
T2JqZWN0LiAoZXZhbHVhdGluZyAnImdldCIgaW4gZGVzYycpCiBGQUlMIFdpbmRvdyBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiByZWxlYXNlRXZlbnRzKCkgZGVzYyBpcyBub3QgYW4gT2JqZWN0LiAoZXZh
bHVhdGluZyAnImdldCIgaW4gZGVzYycpCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbmFib3J0IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25h
Ym9ydCAKIEZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uYXV0b2NvbXBsZXRlIGFz
c2VydF9vd25fcHJvcGVydHk6IFRoZSBnbG9iYWwgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5
ICJvbmF1dG9jb21wbGV0ZSIgZXhwZWN0ZWQgcHJvcGVydHkgIm9uYXV0b2NvbXBsZXRlIiBtaXNz
aW5nCiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmF1dG9jb21wbGV0ZWVycm9y
IGFzc2VydF9vd25fcHJvcGVydHk6IFRoZSBnbG9iYWwgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3Bl
cnR5ICJvbmF1dG9jb21wbGV0ZWVycm9yIiBleHBlY3RlZCBwcm9wZXJ0eSAib25hdXRvY29tcGxl
dGVlcnJvciIgbWlzc2luZwotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25ibHVy
IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25ibHVyIAogRkFJ
TCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jYW5jZWwgYXNzZXJ0X293bl9wcm9wZXJ0
eTogVGhlIGdsb2JhbCBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgIm9uY2FuY2VsIiBleHBl
Y3RlZCBwcm9wZXJ0eSAib25jYW5jZWwiIG1pc3NpbmcKLUZBSUwgV2luZG93IGludGVyZmFjZTog
YXR0cmlidXRlIG9uY2FucGxheSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1
cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIG9uY2FucGxheXRocm91Z2ggYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29u
ZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbmNoYW5nZSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1
cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIG9uY2xpY2sgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxl
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbmNhbnBsYXkgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNhbnBsYXl0
aHJvdWdoIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UgCitQQVNT
IFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNsaWNrIAogRkFJTCBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25jbG9zZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBUaGUgZ2xvYmFsIG9i
amVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAib25jbG9zZSIgZXhwZWN0ZWQgcHJvcGVydHkgIm9u
Y2xvc2UiIG1pc3NpbmcKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uY29udGV4
dG1lbnUgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNvbnRl
eHRtZW51IAogRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jdWVjaGFuZ2UgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogVGhlIGdsb2JhbCBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkg
Im9uY3VlY2hhbmdlIiBleHBlY3RlZCBwcm9wZXJ0eSAib25jdWVjaGFuZ2UiIG1pc3NpbmcKLUZB
SUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uZGJsY2xpY2sgYXNzZXJ0X3RydWU6IHBy
b3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlM
IFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmRyYWcgYXNzZXJ0X3RydWU6IHByb3BlcnR5
IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRv
dyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmRyYWdlbmQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11
c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmRyYWdlbnRlciBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVz
dCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgV2luZG93IGlu
dGVyZmFjZTogYXR0cmlidXRlIG9uZGJsY2xpY2sgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbmRyYWcgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmRyYWdl
bmQgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmRyYWdlbnRlciAKIEZBSUwg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uZHJhZ2V4aXQgYXNzZXJ0X293bl9wcm9wZXJ0
eTogVGhlIGdsb2JhbCBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgIm9uZHJhZ2V4aXQiIGV4
cGVjdGVkIHByb3BlcnR5ICJvbmRyYWdleGl0IiBtaXNzaW5nCi1GQUlMIFdpbmRvdyBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbmRyYWdsZWF2ZSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBj
b25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFj
ZTogYXR0cmlidXRlIG9uZHJhZ292ZXIgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29u
ZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbmRyYWdzdGFydCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25m
aWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTog
YXR0cmlidXRlIG9uZHJvcCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFi
bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmli
dXRlIG9uZHVyYXRpb25jaGFuZ2UgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmln
dXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbmVtcHRpZWQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJh
YmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbmVuZGVkIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25lcnJvciBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uZm9j
dXMgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmlucHV0IGFz
c2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25pbnZhbGlkIGFzc2Vy
dF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25rZXlkb3duIGFzc2VydF90
cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25rZXlwcmVzcyBhc3NlcnRfdHJ1
ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
LUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ua2V5dXAgYXNzZXJ0X3RydWU6IHBy
b3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlM
IFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmxvYWQgYXNzZXJ0X3RydWU6IHByb3BlcnR5
IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRv
dyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmxvYWRlZGRhdGEgYXNzZXJ0X3RydWU6IHByb3BlcnR5
IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRv
dyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmxvYWRlZG1ldGFkYXRhIGFzc2VydF90cnVlOiBwcm9w
ZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBX
aW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25sb2Fkc3RhcnQgYXNzZXJ0X3RydWU6IHByb3Bl
cnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdp
bmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlZG93biBhc3NlcnRfdHJ1ZTogcHJvcGVy
dHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2lu
ZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VlbnRlciBhc3NlcnRfdHJ1ZTogcHJvcGVy
dHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2lu
ZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VsZWF2ZSBhc3NlcnRfdHJ1ZTogcHJvcGVy
dHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2lu
ZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2Vtb3ZlIGFzc2VydF90cnVlOiBwcm9wZXJ0
eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5k
b3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZW91dCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkg
bXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93
IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VvdmVyIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBt
dXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZXVwIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0
IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZXdoZWVsIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0
IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYXVzZSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBj
b25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFj
ZTogYXR0cmlidXRlIG9ucGxheSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1
cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIG9ucGxheWluZyBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFi
bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmli
dXRlIG9ucHJvZ3Jlc3MgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxl
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbnJhdGVjaGFuZ2UgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxl
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbnJlc2V0IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25y
ZXNpemUgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnNjcm9s
bCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uc2Vla2VkIGFz
c2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zZWVraW5nIGFzc2Vy
dF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zZWxlY3QgYXNzZXJ0X3Ry
dWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
CitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmRyYWdsZWF2ZSAKK1BBU1MgV2lu
ZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uZHJhZ292ZXIgCitQQVNTIFdpbmRvdyBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbmRyYWdzdGFydCAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmli
dXRlIG9uZHJvcCAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uZHVyYXRpb25j
aGFuZ2UgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVtcHRpZWQgCitQQVNT
IFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVuZGVkIAorUEFTUyBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25lcnJvciAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRl
IG9uZm9jdXMgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmlucHV0IAorUEFT
UyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25pbnZhbGlkIAorUEFTUyBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25rZXlkb3duIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb25rZXlwcmVzcyAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ua2V5
dXAgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmxvYWQgCitQQVNTIFdpbmRv
dyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmxvYWRlZGRhdGEgCitQQVNTIFdpbmRvdyBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbmxvYWRlZG1ldGFkYXRhIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25sb2Fkc3RhcnQgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bm1vdXNlZG93biAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VlbnRl
ciAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VsZWF2ZSAKK1BBU1Mg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2Vtb3ZlIAorUEFTUyBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZW91dCAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIG9ubW91c2VvdmVyIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25t
b3VzZXVwIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZXdoZWVsIAor
UEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYXVzZSAKK1BBU1MgV2luZG93IGlu
dGVyZmFjZTogYXR0cmlidXRlIG9ucGxheSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmli
dXRlIG9ucGxheWluZyAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ucHJvZ3Jl
c3MgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnJhdGVjaGFuZ2UgCitQQVNT
IFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnJlc2V0IAorUEFTUyBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25yZXNpemUgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbnNjcm9sbCAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uc2Vla2VkIAor
UEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zZWVraW5nIAorUEFTUyBXaW5kb3cg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zZWxlY3QgCiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbnNob3cgYXNzZXJ0X293bl9wcm9wZXJ0eTogVGhlIGdsb2JhbCBvYmplY3QgbXVz
dCBoYXZlIGEgcHJvcGVydHkgIm9uc2hvdyIgZXhwZWN0ZWQgcHJvcGVydHkgIm9uc2hvdyIgbWlz
c2luZwogRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zb3J0IGFzc2VydF9vd25f
cHJvcGVydHk6IFRoZSBnbG9iYWwgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJvbnNvcnQi
IGV4cGVjdGVkIHByb3BlcnR5ICJvbnNvcnQiIG1pc3NpbmcKLUZBSUwgV2luZG93IGludGVyZmFj
ZTogYXR0cmlidXRlIG9uc3RhbGxlZCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25m
aWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTog
YXR0cmlidXRlIG9uc3VibWl0IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3Vy
YWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb25zdXNwZW5kIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJs
ZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb250aW1ldXBkYXRlIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJs
ZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb25zdGFsbGVkIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zdWJtaXQg
CitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnN1c3BlbmQgCitQQVNTIFdpbmRv
dyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnRpbWV1cGRhdGUgCiBGQUlMIFdpbmRvdyBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbnRvZ2dsZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBUaGUgZ2xvYmFsIG9i
amVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAib250b2dnbGUiIGV4cGVjdGVkIHByb3BlcnR5ICJv
bnRvZ2dsZSIgbWlzc2luZwotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb252b2x1
bWVjaGFuZ2UgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndh
aXRpbmcgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnZvbHVt
ZWNoYW5nZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2FpdGluZyAKIEZB
SUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uYWZ0ZXJwcmludCBhc3NlcnRfb3duX3By
b3BlcnR5OiBUaGUgZ2xvYmFsIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAib25hZnRlcnBy
aW50IiBleHBlY3RlZCBwcm9wZXJ0eSAib25hZnRlcnByaW50IiBtaXNzaW5nCiBGQUlMIFdpbmRv
dyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmJlZm9yZXByaW50IGFzc2VydF9vd25fcHJvcGVydHk6
IFRoZSBnbG9iYWwgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJvbmJlZm9yZXByaW50IiBl
eHBlY3RlZCBwcm9wZXJ0eSAib25iZWZvcmVwcmludCIgbWlzc2luZwotRkFJTCBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25iZWZvcmV1bmxvYWQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11
c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmhhc2hjaGFuZ2UgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11
c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFdpbmRvdyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmJlZm9yZXVubG9hZCAKK1BBU1MgV2luZG93IGludGVyZmFj
ZTogYXR0cmlidXRlIG9uaGFzaGNoYW5nZSAKIEZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmli
dXRlIG9ubGFuZ3VhZ2VjaGFuZ2UgYXNzZXJ0X293bl9wcm9wZXJ0eTogVGhlIGdsb2JhbCBvYmpl
Y3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgIm9ubGFuZ3VhZ2VjaGFuZ2UiIGV4cGVjdGVkIHByb3Bl
cnR5ICJvbmxhbmd1YWdlY2hhbmdlIiBtaXNzaW5nCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbm1lc3NhZ2UgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJh
YmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbm9mZmxpbmUgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxl
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbm9ubGluZSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9u
cGFnZWhpZGUgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBh
Z2VzaG93IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wb3Bz
dGF0ZSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uc3RvcmFn
ZSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9udW5sb2FkIGFz
c2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tZXNzYWdlIAorUEFT
UyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25vZmZsaW5lIAorUEFTUyBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25vbmxpbmUgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbnBhZ2VoaWRlIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYWdl
c2hvdyAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ucG9wc3RhdGUgCitQQVNT
IFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnN0b3JhZ2UgCitQQVNTIFdpbmRvdyBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbnVubG9hZCAKIEZBSUwgV2luZG93IGludGVyZmFjZTogb3BlcmF0
aW9uIGJ0b2EoRE9NU3RyaW5nKSBkZXNjIGlzIG5vdCBhbiBPYmplY3QuIChldmFsdWF0aW5nICci
Z2V0IiBpbiBkZXNjJykKIEZBSUwgV2luZG93IGludGVyZmFjZTogb3BlcmF0aW9uIGF0b2IoRE9N
U3RyaW5nKSBkZXNjIGlzIG5vdCBhbiBPYmplY3QuIChldmFsdWF0aW5nICciZ2V0IiBpbiBkZXNj
JykKIEZBSUwgV2luZG93IGludGVyZmFjZTogb3BlcmF0aW9uIHNldFRpbWVvdXQoRnVuY3Rpb24s
bG9uZyxhbnkpIGRlc2MgaXMgbm90IGFuIE9iamVjdC4gKGV2YWx1YXRpbmcgJyJnZXQiIGluIGRl
c2MnKQpAQCAtMzkxNyw4ICszOTIxLDggQEAgRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBvcGVyYXRp
b24gc2V0SW50ZXJ2YWwoRnVuY3Rpb24sbG9uZyxhbnkpIGRlc2MgaXMgbm90IGFuIE8KIEZBSUwg
V2luZG93IGludGVyZmFjZTogb3BlcmF0aW9uIHNldEludGVydmFsKERPTVN0cmluZyxsb25nLGFu
eSkgZGVzYyBpcyBub3QgYW4gT2JqZWN0LiAoZXZhbHVhdGluZyAnImdldCIgaW4gZGVzYycpCiBG
QUlMIFdpbmRvdyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbGVhckludGVydmFsKGxvbmcpIGRlc2Mg
aXMgbm90IGFuIE9iamVjdC4gKGV2YWx1YXRpbmcgJyJnZXQiIGluIGRlc2MnKQogRkFJTCBXaW5k
b3cgaW50ZXJmYWNlOiBvcGVyYXRpb24gY3JlYXRlSW1hZ2VCaXRtYXAoSW1hZ2VCaXRtYXBTb3Vy
Y2UsbG9uZyxsb25nLGxvbmcsbG9uZykgYXNzZXJ0X293bl9wcm9wZXJ0eTogZ2xvYmFsIG9iamVj
dCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJjcmVhdGVJ
bWFnZUJpdG1hcCIgbWlzc2luZwotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc2Vz
c2lvblN0b3JhZ2UgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBs
b2NhbFN0b3JhZ2UgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBz
ZXNzaW9uU3RvcmFnZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGxvY2FsU3Rv
cmFnZSAKIFBBU1MgV2luZG93IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Ygd2luZG93IAog
UEFTUyBTdHJpbmdpZmljYXRpb24gb2Ygd2luZG93IAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3
aW5kb3cgbXVzdCBoYXZlIG93biBwcm9wZXJ0eSAid2luZG93IiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci11bmZvcmdlYWJsZS1hdHRyaWJ1dGVz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci11
bmZvcmdlYWJsZS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCAxMmJkNWU3MzNjOWFkYmMw
MTNiZmM3YTM3ZmJhYTgwNDc1NGM1NzhhLi4xNzQ0OWRkYTg3ODgzN2U3MTk5YzdhZjQ5NmQ5ZjFm
MjBlOTU5MzFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3ItdW5mb3JnZWFibGUtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXVuZm9yZ2VhYmxlLWF0dHJpYnV0ZXMtZXhw
ZWN0ZWQudHh0CkBAIC05OCwxNCArOTgsNiBAQCBQQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxl
IGlzIGZhbHNlCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwoaW52YWxpZE9iamVjdCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIERPTVdpbmRvdy5sb2NhdGlvbiBnZXR0ZXIgY2FuIG9u
bHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgRE9NV2luZG93LgogUEFTUyBkZXNjcmlwdG9yLmdl
dC5jYWxsKHdpbmRvdykgPT09IHdpbmRvdy5sb2NhdGlvbiBpcyB0cnVlCiAKLSogV2luZG93LnNl
bGYKLVBBU1MgZGVzY3JpcHRvci5nZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KLVBBU1Mg
ZGVzY3JpcHRvci5zZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KLVBBU1MgZGVzY3JpcHRv
ci5lbnVtZXJhYmxlIGlzIHRydWUKLVBBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMgZmFs
c2UKLVBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbChpbnZhbGlkT2JqZWN0KSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBUaGUgRE9NV2luZG93LnNlbGYgZ2V0dGVyIGNhbiBvbmx5IGJlIHVzZWQg
b24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdy4KLVBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbCh3aW5k
b3cpID09PSB3aW5kb3cuc2VsZiBpcyB0cnVlCi0KICogV2luZG93LndpbmRvdwogUEFTUyBkZXNj
cmlwdG9yLmdldCBpcyBhbiBpbnN0YW5jZSBvZiBGdW5jdGlvbgogUEFTUyBkZXNjcmlwdG9yLnNl
dCBpcyB1bmRlZmluZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0cmlidXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvanMv
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXVuZm9yZ2VhYmxlLWF0dHJpYnV0ZXMuaHRtbAppbmRl
eCAzMjkxZWRkN2JiYWJlYjYxYWQ2YmM5MWEyN2I2NjAyMDYwYjU2ZWNjLi40OWY2MTI3MjRiOTQ5
YjJkMjFiZGU5Zjk5ZjRmYTAyOGJkYWM5NzBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0cmlidXRlcy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci11bmZvcmdlYWJsZS1hdHRy
aWJ1dGVzLmh0bWwKQEAgLTQzLDEyICs0Myw2IEBAIGNoZWNrVW5mb3JnZWFibGVQcm9wZXJ0eURl
c2NyaXB0b3IoZGVzY3JpcHRvcik7CiBzaG91bGRCZVRydWUoImRlc2NyaXB0b3IuZ2V0LmNhbGwo
d2luZG93KSA9PT0gd2luZG93LmxvY2F0aW9uIik7CiAKIGRlYnVnKCIiKTsKLWRlYnVnKCIqIFdp
bmRvdy5zZWxmIik7Ci1kZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cih3aW5kb3csICJzZWxmIik7Ci1jaGVja1VuZm9yZ2VhYmxlUHJvcGVydHlEZXNjcmlwdG9yKGRl
c2NyaXB0b3IpOwotc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRvdykgPT09
IHdpbmRvdy5zZWxmIik7Ci0KLWRlYnVnKCIiKTsKIGRlYnVnKCIqIFdpbmRvdy53aW5kb3ciKTsK
IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgIndp
bmRvdyIpOwogY2hlY2tVbmZvcmdlYWJsZVByb3BlcnR5RGVzY3JpcHRvcihkZXNjcmlwdG9yLCB0
cnVlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRv
ci13aW5kb3ctYXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3Itd2luZG93LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmluZGV4IDNk
ODE1ZjcxODI3YWJmMGExZTFmNzdjYWI0NDU2OTM4OGU5YTE1MDYuLmQ5MWMwYTBmNDIwYzgzZjQ0
ODE5YmY3ZGM2YmRkNjdjNmRmYzUwOTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2dldE93
blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXdpbmRvdy1hdHRyaWJ1dGVz
LWV4cGVjdGVkLnR4dApAQCAtNyw3ICs3LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIFBB
U1MgZGVzY3JpcHRvci5nZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KIFBBU1MgZGVzY3Jp
cHRvci5zZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KIFBBU1MgZGVzY3JpcHRvci5lbnVt
ZXJhYmxlIGlzIHRydWUKLUZBSUwgZGVzY3JpcHRvci5jb25maWd1cmFibGUgc2hvdWxkIGJlIHRy
dWUuIFdhcyBmYWxzZS4KK1BBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFT
UyBkZXNjcmlwdG9yLmdldC5jYWxsKG5vbldpbmRvd09iamVjdCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogVGhlIERPTVdpbmRvdy5zY3JlZW4gZ2V0dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24g
aW5zdGFuY2VzIG9mIERPTVdpbmRvdy4KIFBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbCh3aW5kb3cp
ID09PSB3aW5kb3cuc2NyZWVuIGlzIHRydWUKIFBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbCgpID09
PSB3aW5kb3cuc2NyZWVuIGlzIHRydWUKQEAgLTE2LDE2ICsxNiwyNSBAQCBQQVNTIGRlc2NyaXB0
b3IuZ2V0LmNhbGwoKSA9PT0gd2luZG93LnNjcmVlbiBpcyB0cnVlCiBQQVNTIGRlc2NyaXB0b3Iu
Z2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3Iuc2V0IGlzIGFu
IGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyB0cnVl
Ci1GQUlMIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIHNob3VsZCBiZSB0cnVlLiBXYXMgZmFsc2Uu
CitQQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1MgZGVzY3JpcHRvci5n
ZXQuY2FsbChub25XaW5kb3dPYmplY3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBE
T01XaW5kb3cubmF2aWdhdG9yIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBv
ZiBET01XaW5kb3cuCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93KSA9PT0gd2luZG93
Lm5hdmlnYXRvciBpcyB0cnVlCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwoKSA9PT0gd2luZG93
Lm5hdmlnYXRvciBpcyB0cnVlCiAKKyogV2luZG93LnNlbGYKK1BBU1MgZGVzY3JpcHRvci5nZXQg
aXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KK1BBU1MgZGVzY3JpcHRvci5zZXQgaXMgYW4gaW5z
dGFuY2Ugb2YgRnVuY3Rpb24KK1BBU1MgZGVzY3JpcHRvci5lbnVtZXJhYmxlIGlzIHRydWUKK1BB
U1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBkZXNjcmlwdG9yLmdldC5j
YWxsKG5vbldpbmRvd09iamVjdCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIERPTVdp
bmRvdy5zZWxmIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBET01XaW5k
b3cuCitQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93KSA9PT0gd2luZG93LnNlbGYgaXMg
dHJ1ZQorUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKCkgPT09IHdpbmRvdy5zZWxmIGlzIHRydWUK
KwogKiBXaW5kb3cuZnJhbWVFbGVtZW50CiBQQVNTIGRlc2NyaXB0b3IuZ2V0IGlzIGFuIGluc3Rh
bmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3Iuc2V0IGlzIHVuZGVmaW5lZC4KIFBBU1Mg
ZGVzY3JpcHRvci5lbnVtZXJhYmxlIGlzIHRydWUKLUZBSUwgZGVzY3JpcHRvci5jb25maWd1cmFi
bGUgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KK1BBU1MgZGVzY3JpcHRvci5jb25maWd1cmFi
bGUgaXMgdHJ1ZQogUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKG5vbldpbmRvd09iamVjdCkgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIERPTVdpbmRvdy5mcmFtZUVsZW1lbnQgZ2V0dGVy
IGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdy4KIFBBU1MgZGVzY3Jp
cHRvci5nZXQuY2FsbCh3aW5kb3cpID09PSB3aW5kb3cuZnJhbWVFbGVtZW50IGlzIHRydWUKIFBB
U1MgZGVzY3JpcHRvci5nZXQuY2FsbCgpID09PSB3aW5kb3cuZnJhbWVFbGVtZW50IGlzIHRydWUK
QEAgLTM0LDEwICs0MywyMyBAQCBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwoKSA9PT0gd2luZG93
LmZyYW1lRWxlbWVudCBpcyB0cnVlCiBQQVNTIGRlc2NyaXB0b3IuZ2V0IGlzIGFuIGluc3RhbmNl
IG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3Iuc2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0
aW9uCiBQQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyB0cnVlCi1GQUlMIGRlc2NyaXB0b3Iu
Y29uZmlndXJhYmxlIHNob3VsZCBiZSB0cnVlLiBXYXMgZmFsc2UuCitQQVNTIGRlc2NyaXB0b3Iu
Y29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbChub25XaW5kb3dP
YmplY3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBET01XaW5kb3cubmFtZSBnZXR0
ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgRE9NV2luZG93LgogUEFTUyBkZXNj
cmlwdG9yLmdldC5jYWxsKHdpbmRvdykgPT09IHdpbmRvdy5uYW1lIGlzIHRydWUKIFBBU1MgZGVz
Y3JpcHRvci5nZXQuY2FsbCgpID09PSB3aW5kb3cubmFtZSBpcyB0cnVlCisKKyogd2luZG93Lk5v
ZGUKK1BBU1MgZGVzY3JpcHRvci5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIGRlc2NyaXB0b3Iu
d3JpdGFibGUgaXMgdHJ1ZQorUEFTUyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQ
QVNTIGRlc2NyaXB0b3IudmFsdWUgaXMgd2luZG93Lk5vZGUKKworKiB3aW5kb3cuY29uc3RydWN0
b3IKK1BBU1MgZGVzY3JpcHRvci5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIGRlc2NyaXB0b3Iu
d3JpdGFibGUgaXMgdHJ1ZQorUEFTUyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQ
QVNTIGRlc2NyaXB0b3IudmFsdWUgaXMgd2luZG93LldpbmRvdworCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1sIGIvTGF5
b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXdpbmRvdy1hdHRyaWJ1dGVzLmh0
bWwKaW5kZXggMTA2ZTQ1OGQyNmI0Y2UyNzY3Y2JmODVhOTM1YmY4OTM3YzQxMmI1Zi4uOWVjZTI5
YmM1ODAyMmU4ODFiNTU3MTE0OTdlYTc0MmNiYWM4YjRmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXdpbmRvdy1hdHRyaWJ1dGVzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXdpbmRvdy1hdHRyaWJ1
dGVzLmh0bWwKQEAgLTMzLDYgKzMzLDEzIEBAIHNob3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci5nZXQu
Y2FsbCh3aW5kb3cpID09PSB3aW5kb3cubmF2aWdhdG9yIik7CiBzaG91bGRCZVRydWUoImRlc2Ny
aXB0b3IuZ2V0LmNhbGwoKSA9PT0gd2luZG93Lm5hdmlnYXRvciIpOwogCiBkZWJ1ZygiIik7Citk
ZWJ1ZygiKiBXaW5kb3cuc2VsZiIpOworZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3Iod2luZG93LCAic2VsZiIpOworY2hlY2tXaW5kb3dQcm9wZXJ0eURlc2NyaXB0
b3IoZGVzY3JpcHRvcik7CitzaG91bGRCZVRydWUoImRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93
KSA9PT0gd2luZG93LnNlbGYiKTsKK3Nob3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci5nZXQuY2FsbCgp
ID09PSB3aW5kb3cuc2VsZiIpOworCitkZWJ1ZygiIik7CiBkZWJ1ZygiKiBXaW5kb3cuZnJhbWVF
bGVtZW50Iik7CiBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3
aW5kb3csICJmcmFtZUVsZW1lbnQiKTsKIGNoZWNrV2luZG93UHJvcGVydHlEZXNjcmlwdG9yKGRl
c2NyaXB0b3IsIHRydWUpOwpAQCAtNDYsNSArNTMsMjMgQEAgY2hlY2tXaW5kb3dQcm9wZXJ0eURl
c2NyaXB0b3IoZGVzY3JpcHRvciwgZmFsc2UpOwogc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdl
dC5jYWxsKHdpbmRvdykgPT09IHdpbmRvdy5uYW1lIik7CiBzaG91bGRCZVRydWUoImRlc2NyaXB0
b3IuZ2V0LmNhbGwoKSA9PT0gd2luZG93Lm5hbWUiKTsKIAorZGVidWcoIiIpOworZGVidWcoIiog
d2luZG93Lk5vZGUiKTsKK2Rlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKHdpbmRvdywgIk5vZGUiKTsKK3Nob3VsZEJlRmFsc2UoImRlc2NyaXB0b3IuZW51bWVyYWJs
ZSIpOworc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLndyaXRhYmxlIik7CitzaG91bGRCZVRydWUo
ImRlc2NyaXB0b3IuY29uZmlndXJhYmxlIik7CitzaG91bGRCZSgiZGVzY3JpcHRvci52YWx1ZSIs
ICJ3aW5kb3cuTm9kZSIpOworCitkZWJ1ZygiIik7CisvLyBGSVhNRTogJ2NvbnN0cnVjdG9yJyBz
aG91bGQgYmUgb24gdGhlIHByb3RvdHlwZS4KK2RlYnVnKCIqIHdpbmRvdy5jb25zdHJ1Y3RvciIp
OworZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAi
Y29uc3RydWN0b3IiKTsKK3Nob3VsZEJlRmFsc2UoImRlc2NyaXB0b3IuZW51bWVyYWJsZSIpOwor
c2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLndyaXRhYmxlIik7CitzaG91bGRCZVRydWUoImRlc2Ny
aXB0b3IuY29uZmlndXJhYmxlIik7CitzaG91bGRCZSgiZGVzY3JpcHRvci52YWx1ZSIsICJ3aW5k
b3cuV2luZG93Iik7CisKK2RlYnVnKCIiKTsKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270932</attachid>
            <date>2016-02-09 09:21:18 -0800</date>
            <delta_ts>2016-02-09 09:23:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-153920-20160209092056.patch</filename>
            <type>text/plain</type>
            <size>60165</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2MzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MWZjYTc2OTU1YjI5MDU4MmMwMzM0ZTNiZDI1MTg1YjlhOWNiMjViLi4yYzIxMTQ5OTYwMzA2NGNm
OGMxYWMwY2NiN2ZlMmViNDY5ZTA0MmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NyBAQAorMjAxNi0wMi0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIEF0dHJpYnV0ZXMgb24gdGhlIFdpbmRvdyBpbnN0YW5jZSBzaG91bGQgYmUgY29u
ZmlndXJhYmxlIHVubGVzcyBbVW5mb3JnZWFibGVdCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM5MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNYXJraW5nIHRoZSBXaW5kb3cgaW5zdGFuY2UgYXR0cmli
dXRlcyBhcyBjb25maWd1cmFibGUgYnV0IGNhdXNlCisgICAgICAgIGdldE93blByb3BlcnR5RGVz
Y3JpcHRvcigpIHRvIHJlcG9ydCB0aGVtIGFzIGNvbmZpZ3VyYWJsZSwgYXMKKyAgICAgICAgZXhw
ZWN0ZWQuIEhvd2V2ZXIsIHRyeWluZyB0byBkZWxldGUgdGhlbSB3b3VsZCBhY3R1YWxseSBsZWFk
IHRvCisgICAgICAgIHVuZXhwZWN0ZWQgYmVoYXZpb3IgYmVjYXVzZToKKyAgICAgICAgLSBXZSBk
aWQgbm90IHJlaWZ5IGN1c3RvbSBhY2Nlc3NvciBwcm9wZXJ0aWVzIChtb3N0IG9mIHRoZSBXaW5k
b3cKKyAgICAgICAgICBwcm9wZXJ0aWVzIGFyZSBjdXN0b20gYWNjZXNzb3JzKSB1cG9uIGRlbGV0
aW9uLgorICAgICAgICAtIEZvciBub24tcmVpZmllZCBzdGF0aWMgcHJvcGVydGllcyBtYXJrZWQg
YXMgY29uZmlndXJhYmxlLAorICAgICAgICAgIEpTT2JqZWN0OjpkZWxldGVQcm9wZXJ0eSgpIHdv
dWxkIGF0dGVtcHQgdG8gY2FsbCB0aGUgcHJvcGVydHkKKyAgICAgICAgICBzZXR0ZXIgd2l0aCB1
bmRlZmluZWQuIEFzIGEgcmVzdWx0LCBjYWxsaW5nIGRlbGV0ZSB3aW5kb3cubmFtZQorICAgICAg
ICAgIHdvdWxkIGNhdXNlIHdpbmRvdy5uYW1lIHRvIGJlY29tZSB0aGUgc3RyaW5nICJ1bmRlZmlu
ZWQiIGluc3RlYWQKKyAgICAgICAgICBvZiB0aGUgdW5kZWZpbmVkIHZhbHVlLgorCisgICAgICAg
ICogcnVudGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OmdldENsYXNzUHJvcGVydHlO
YW1lcyk6CisgICAgICAgIE5vdyB0aGF0IHdlIHJlaWZ5IEFMTCBwcm9wZXJ0aWVzLCB3ZSBvbmx5
IG5lZWQgdG8gY2hlY2sgdGhlIHByb3BlcnR5IHRhYmxlCisgICAgICAgIGlmIHdlIGhhdmUgbm90
IHJlaWZpZWQuIEFzIGEgcmVzdWx0LCBJIGRyb3BwZWQgdGhlICdkaWRSZWlmeScgcGFyYW1ldGVy
IGZvcgorICAgICAgICB0aGlzIGZ1bmN0aW9uIGFuZCBpbnN0ZWFkIG9ubHkgY2FsbCB0aGlzIGZ1
bmN0aW9uIGlmIHdlIGhhdmUgbm90IHlldCByZWlmaWVkLgorCisgICAgICAgIChKU0M6OkpTT2Jq
ZWN0OjpwdXRJbmxpbmVTbG93KToKKyAgICAgICAgT25seSBjYWxsIHB1dEVudHJ5KCkgaWYgd2Ug
aGF2ZSBub3QgcmVpZmllZDogRHJvcCB0aGUKKyAgICAgICAgJ3x8ICEoZW50cnktPmF0dHJpYnV0
ZXMoKSAmIEJ1aWx0aW5PckZ1bmN0aW9uT3JBY2Nlc3NvciknCisgICAgICAgIGNoZWNrIGFzIHN1
Y2ggcHJvcGVydGllcyBub3cgZ2V0IHJlaWZpZWQgYXMgd2VsbC4KKworICAgICAgICAoSlNDOjpK
U09iamVjdDo6ZGVsZXRlUHJvcGVydHkpOgorICAgICAgICAtIENhbGwgcmVpZnlBbGxTdGF0aWNQ
cm9wZXJ0aWVzKCkgaW5zdGVhZCBvZiByZWlmeVN0YXRpY0Z1bmN0aW9uc0ZvckRlbGV0ZSgpCisg
ICAgICAgICAgc28gdGhhdCB3ZSBub3cgcmVpZnkgYWxsIHByb3BlcnRpZXMgdXBvbiBkZWxldGlv
biwgaW5jbHVkaW5nIHRoZSBjdXN0b20KKyAgICAgICAgICBhY2Nlc3NvcnMuIHJlaWZ5U3RhdGlj
RnVuY3Rpb25zRm9yRGVsZXRlKCkgaXMgbm93IHJlbW92ZWQgYW5kIHRoZSBzYW1lCisgICAgICAg
ICAgcmVpZmljYXRpb24gZnVuY3Rpb24gaXMgbm93IHVzZWQgYnk6IGRlbGV0aW9uLCBnZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoKQorICAgICAgICAgIGFuZCBlYWdlciByZWlmaWNhdGlvbiBvZiB0
aGUgcHJvdG90eXBlIG9iamVjdHMgaW4gdGhlIGJpbmRpbmdzLgorICAgICAgICAtIERyb3AgY29k
ZSB0aGF0IGZhbGxzIGJhY2sgdG8gY2FsbGluZyB0aGUgc3RhdGljIHByb3BlcnR5IHNldHRlciB3
aXRoCisgICAgICAgICAgdW5kZWZpbmVkIGlmIHdlIGNhbm5vdCBmaW5kIHRoZSBwcm9wZXJ0eSBp
biB0aGUgcHJvcGVydHkgc3RvcmFnZS4gQXMKKyAgICAgICAgICB3ZSBub3cgcmVpZnkgQUxMIHBy
b3BlcnRpZXMsIHRoZSBjb2RlIHJlbW92aW5nIHRoZSBwcm9wZXJ0eSBmcm9tIHRoZQorICAgICAg
ICAgIHByb3BlcnR5IHN0b3JhZ2Ugc2hvdWxkIHN1Y2NlZWQsIHByb3ZpZGVkIHRoYXQgdGhlIHBy
b3BlcnR5IGFjdHVhbGx5CisgICAgICAgICAgZXhpc3RzLgorCisgICAgICAgIChKU0M6OkpTT2Jq
ZWN0OjpnZXRPd25Ob25JbmRleFByb3BlcnR5TmFtZXMpOgorICAgICAgICBPbmx5IGNhbGwgZ2V0
Q2xhc3NQcm9wZXJ0eU5hbWVzKCkgaWYgd2UgaGF2ZSBub3QgcmVpZmllZC4gV2Ugc2hvdWxkIG5v
IGxvbmdlcgorICAgICAgICBjaGVjayB0aGUgc3RhdGljIHByb3BlcnR5IHRhYmxlIGFmdGVyIHJl
aWZ5aW5nIG5vdyB0aGF0IHdlIHJlaWZ5IGFsbAorICAgICAgICBwcm9wZXJ0aWVzLgorCisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjpyZWlmeUFsbFN0YXRpY1Byb3BlcnRpZXMpOgorICAgICAgICBN
ZXJnZSB3aXRoIHJlaWZ5U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKCkuIFRoZSBvbmx5IGJlaGF2
aW9yIGNoYW5nZSBpcyB0aGUKKyAgICAgICAgZmxhdHRlbmluZyB0byBhbiB1bmNhY2hlYWJsZSBk
aWN0aW9uYXJ5LCBsaWtlIHJlaWZ5U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKCkKKyAgICAgICAg
dXNlZCB0byBkby4KKworICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKwogMjAxNi0wMi0w
OCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBFcnJv
ciBjb25zdHJ1Y3Rpb24gZm9yIGlubGluZWQgb3BlcmF0aW9ucyBzaG91bGQgbm90IHVzZSB0aGUg
aW5saW5lcidzIENvZGVCbG9jawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGYwMjljNDc3OGY1ZjQ2MDIzYWE1NmRk
ZGY4MjM5OTBiYTU3ZjNlZDguLmZjYWRlNzRmNmU5YjA2NGZhZDY0YTk0MzAwZTM4ZDk4NzgxMTU0
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MiBAQAorMjAxNi0wMi0wNyAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEF0dHJpYnV0ZXMgb24gdGhlIFdpbmRvdyBp
bnN0YW5jZSBzaG91bGQgYmUgY29uZmlndXJhYmxlIHVubGVzcyBbVW5mb3JnZWFibGVdCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM5MjAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBdHRyaWJ1dGVzIG9u
IHRoZSBXaW5kb3cgaW5zdGFuY2Ugc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZSB1bmxlc3MgW1VuZm9y
Z2VhYmxlXToKKyAgICAgICAgMS4gJ2NvbnN0cnVjdG9yJyBwcm9wZXJ0eToKKyAgICAgICAgICAg
LSBodHRwOi8vd3d3LnczLm9yZy9UUi9XZWJJREwvI2ludGVyZmFjZS1wcm90b3R5cGUtb2JqZWN0
CisgICAgICAgIDIuIENvbnN0cnVjdG9yIHByb3BlcnRpZXMgKGUuZy4gd2luZG93Lk5vZGUpOgor
ICAgICAgICAgICAtIGh0dHA6Ly93d3cudzMub3JnL1RSL1dlYklETC8jZXMtaW50ZXJmYWNlcwor
ICAgICAgICAzLiBJREwgYXR0cmlidXRlczoKKyAgICAgICAgICAgLSBodHRwOi8vaGV5Y2FtLmdp
dGh1Yi5pby93ZWJpZGwvI2VzLWF0dHJpYnV0ZXMgKGNvbmZpZ3VyYWJsZSB1bmxlc3MKKyAgICAg
ICAgICAgICBbVW5mb3JnZWFibGVdLCBlLmcuIHdpbmRvdy5sb2NhdGlvbikKKworICAgICAgICBG
aXJlZm94IGNvbXBsaWVzIHdpdGggdGhlIFdlYklETCBzcGVjaWZpY2F0aW9uIGJ1dCBXZWJLaXQg
ZG9lcyBub3QgZm9yIDEuIGFuZCAzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcHJvcGVydGllcy1jb25maWd1cmFibGUuaHRtbAorCisgICAgICAgICogYmluZGluZ3Mv
anMvSlNET01XaW5kb3dDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6
OmdldE93blByb3BlcnR5U2xvdCk6CisgICAgICAgIEZvciBrbm93biBXaW5kb3cgcHJvcGVydGll
cyAoaS5lLiBwcm9wZXJ0aWVzIGluIHRoZSBzdGF0aWMgcHJvcGVydHkgdGFibGUpLAorICAgICAg
ICBpZiB3ZSBoYXZlIHJlaWZpZWQgYW5kIHRoaXMgaXMgc2FtZS1vcmlnaW4gYWNjZXNzLCB0aGVu
IGNhbGwKKyAgICAgICAgQmFzZTo6Z2V0T3duUHJvcGVydHlTbG90KCkgdG8gZ2V0IHRoZSBwcm9w
ZXJ0eSBmcm9tIHRoZSBsb2NhbCBwcm9wZXJ0eQorICAgICAgICBzdG9yYWdlLiBJZiB3ZSBoYXZl
IG5vdCByZWlmaWVkIHlldCwgb3IgdGhpcyBpcyBjcm9zcy1vcmlnaW4gYWNjZXNzLCBxdWVyeQor
ICAgICAgICB0aGUgc3RhdGljIHByb3BlcnR5IHRhYmxlLiBUaGlzIGlzIHRvIG1hdGNoIHRoZSBi
ZWhhdmlvciBvZiBGaXJlZm94IGFuZAorICAgICAgICBDaHJvbWUgd2hpY2ggc2VlbSB0byBrZWVw
IHJldHVybmluZyB0aGUgb3JpZ2luYWwgcHJvcGVydGllcyB1cG9uIGNyb3NzCisgICAgICAgIG9y
aWdpbiBhY2Nlc3MsIGV2ZW4gaWYgdGhvc2Ugd2VyZSBkZWxldGVkIG9yIHJlZGVmaW5lZC4KKwor
ICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OnB1dCk6CisgICAgICAgIFRoZSBwcmV2aW91
cyBjb2RlIHVzZWQgdG8gY2FsbCB0aGUgc3RhdGljIHByb3BlcnR5IHNldHRlciBmb3IgcHJvcGVy
dGllcyBpbgorICAgICAgICB0aGUgc3RhdGljIHRhYmxlLiBIb3dldmVyLCB0aGlzIGRvZXMgbm90
IGRvIHRoZSByaWdodCB0aGluZyBpZiBwcm9wZXJ0aWVzCisgICAgICAgIHdlcmUgcmVpZmllZC4g
Rm9yIGV4YW1wbGUsIGRlbGV0aW5nIHdpbmRvdy5uYW1lIGFuZCB0aGVuIHRyeWluZyB0byBzZXQg
aXQKKyAgICAgICAgYWdhaW4gd291bGQgbm90IHdvcmsuIFRoZXJlZm9yZSwgdXBkYXRlIHRoaXMg
Y29kZSB0byBvbmx5IGRvIHRoaXMgaWYgdGhlCisgICAgICAgIHByb3BlcnRpZXMgaGF2ZSBub3Qg
YmVlbiByZWlmaWVkLCBzaW1pbGFybHkgdG8gd2hhdCBpcyBkb25lIGluCisgICAgICAgIEpTT2Jq
ZWN0OjpwdXRJbmxpbmVTbG93KCkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKENvbnN0cnVjdG9yU2hvdWxkQmVPbkluc3RhbmNlKToK
KyAgICAgICAgQWRkIGEgRklYTUUgY29tbWVudCBpbmRpY2F0aW5nIHRoYXQgd2luZG93LmNvbnN0
cnVjdG9yIHNob3VsZCBiZSBvbgorICAgICAgICB0aGUgcHJvdG90eXBlIGFzIHBlciB0aGUgV2Vi
IElETCBzcGVjaWZpY2F0aW9uLgorCisgICAgICAgIChHZW5lcmF0ZUF0dHJpYnV0ZXNIYXNoVGFi
bGUpOgorICAgICAgICAtIE1hcmsgJ2NvbnN0cnVjdG9yJyBwcm9wZXJ0eSBhcyBjb25maWd1cmFi
bGUgZm9yIFdpbmRvdywgYXMgcGVyIHRoZQorICAgICAgICAgIHNwZWNpZmljYXRpb24gYW5kIGNv
bnNpc3RlbnRseSB3aXRoIG90aGVyICdjb25zdHJ1Y3RvcicgcHJvcGVydGllczoKKyAgICAgICAg
ICBodHRwOi8vd3d3LnczLm9yZy9UUi9XZWJJREwvI2ludGVyZmFjZS1wcm90b3R5cGUtb2JqZWN0
CisgICAgICAgIC0gTWFyayBwcm9wZXJ0aWVzIGFzIGNvbmZpZ3VyYWJsZSBldmVuIHRob3VnaCB0
aGV5IGFyZSBvbiB0aGUgaW5zdGFuY2UuCisgICAgICAgICAgV2luZG93IGhhcyBpdHMgcHJvcGVy
dGllcyBvbiB0aGUgaW5zdGFuY2UgYXMgcGVyIHRoZSBzcGVjaWZpY2F0aW9uOgorICAgICAgICAg
IDEuIGh0dHA6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jZXMtYXR0cmlidXRlcworICAgICAg
ICAgIDIuIGh0dHA6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jUHJpbWFyeUdsb2JhbCAod2lu
ZG93IGlzIFtQcmltYXJ5R2xvYmFsXQorICAgICAgICAgIEhvd2V2ZXIsIHRoZXNlIHByb3BlcnRp
ZXMgc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZSBhcyBsb25nIGFzIHRoZXkgYXJlCisgICAgICAgICAg
bm90IG1hcmtlZCBhcyBbVW5mb3JnZWFibGVdLCBhcyBwZXIgMS4KKworICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICBSZWJhc2Vs
aW5lIGJpbmRpbmdzIHRlc3RzLgorCiAyMDE2LTAyLTA4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CiAKICAgICAgICAgQXR0cmlidXRlIGdldHRlcnMgc2hvdWxkIG5vdCByZXF1aXJl
IGFuIGV4cGxpY2l0ICd0aGlzJyB2YWx1ZSBmb3IgV2luZG93IHByb3BlcnRpZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAppbmRleCA3ODM5YTAyNDdlMjBkNWZh
NGI4Njk5MTU0Y2I0MDNlNTM3OTI1MzEzLi4yNzNmZTZhNDQ5YzRkMWIyZmUwMjdjNWUzNWU5Zjcy
MWZjMWE2MjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3Bw
CkBAIC02OCw3ICs2OCw3IEBAIGNvbnN0IENsYXNzSW5mbyBKU09iamVjdDo6c19pbmZvID0geyAi
T2JqZWN0IiwgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU09iamVjCiAKIGNvbnN0IENsYXNz
SW5mbyBKU0ZpbmFsT2JqZWN0OjpzX2luZm8gPSB7ICJPYmplY3QiLCAmQmFzZTo6c19pbmZvLCAw
LCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTRmluYWxPYmplY3QpIH07CiAKLXN0YXRpYyBpbmxpbmUg
dm9pZCBnZXRDbGFzc1Byb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBDbGFzc0lu
Zm8qIGNsYXNzSW5mbywgUHJvcGVydHlOYW1lQXJyYXkmIHByb3BlcnR5TmFtZXMsIEVudW1lcmF0
aW9uTW9kZSBtb2RlLCBib29sIGRpZFJlaWZ5KQorc3RhdGljIGlubGluZSB2b2lkIGdldENsYXNz
UHJvcGVydHlOYW1lcyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZv
LCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywgRW51bWVyYXRpb25Nb2RlIG1vZGUp
CiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKIApAQCAtNzksNyArNzksNyBAQCBzdGF0aWMg
aW5saW5lIHZvaWQgZ2V0Q2xhc3NQcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
Q2xhc3NJbmZvKiBjbGFzcwogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgZm9yIChh
dXRvIGl0ZXIgPSB0YWJsZS0+YmVnaW4oKTsgaXRlciAhPSB0YWJsZS0+ZW5kKCk7ICsraXRlcikg
ewotICAgICAgICAgICAgaWYgKCghKGl0ZXItPmF0dHJpYnV0ZXMoKSAmIERvbnRFbnVtKSB8fCBt
b2RlLmluY2x1ZGVEb250RW51bVByb3BlcnRpZXMoKSkgJiYgISgoaXRlci0+YXR0cmlidXRlcygp
ICYgQnVpbHRpbk9yRnVuY3Rpb25PckFjY2Vzc29yKSAmJiBkaWRSZWlmeSkpCisgICAgICAgICAg
ICBpZiAoIShpdGVyLT5hdHRyaWJ1dGVzKCkgJiBEb250RW51bSkgfHwgbW9kZS5pbmNsdWRlRG9u
dEVudW1Qcm9wZXJ0aWVzKCkpCiAgICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lcy5hZGQoSWRl
bnRpZmllcjo6ZnJvbVN0cmluZygmdm0sIGl0ZXIua2V5KCkpKTsKICAgICAgICAgfQogICAgIH0K
QEAgLTQxMCwxMCArNDEwLDkgQEAgdm9pZCBKU09iamVjdDo6cHV0SW5saW5lU2xvdyhFeGVjU3Rh
dGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUKICAgICAgICAgICAg
IC8vIHByb3RvdHlwZXMgaXQgc2hvdWxkIGJlIHJlcGxhY2VkLCBzbyBicmVhayBoZXJlLgogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgY29uc3QgQ2xhc3NJbmZvKiBpbmZv
ID0gb2JqLT5jbGFzc0luZm8oKTsKLSAgICAgICAgaWYgKGluZm8tPmhhc1N0YXRpY1NldHRlck9y
UmVhZG9ubHlQcm9wZXJ0aWVzKCkpIHsKLSAgICAgICAgICAgIGlmIChjb25zdCBIYXNoVGFibGVW
YWx1ZSogZW50cnkgPSBvYmotPmZpbmRQcm9wZXJ0eUhhc2hFbnRyeShwcm9wZXJ0eU5hbWUpKSB7
Ci0gICAgICAgICAgICAgICAgaWYgKCFvYmotPnN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQoKSB8fCAh
KGVudHJ5LT5hdHRyaWJ1dGVzKCkgJiBCdWlsdGluT3JGdW5jdGlvbk9yQWNjZXNzb3IpKSB7Cisg
ICAgICAgIGlmICghb2JqLT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpIHsKKyAgICAgICAgICAg
IGlmIChvYmotPmNsYXNzSW5mbygpLT5oYXNTdGF0aWNTZXR0ZXJPclJlYWRvbmx5UHJvcGVydGll
cygpKSB7CisgICAgICAgICAgICAgICAgaWYgKGF1dG8qIGVudHJ5ID0gb2JqLT5maW5kUHJvcGVy
dHlIYXNoRW50cnkocHJvcGVydHlOYW1lKSkgewogICAgICAgICAgICAgICAgICAgICBwdXRFbnRy
eShleGVjLCBlbnRyeSwgb2JqLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KQEAgLTEyODQsMzMgKzEyODMs
MTkgQEAgYm9vbCBKU09iamVjdDo6aGFzUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25l
ZCBwcm9wZXJ0eU5hbWUpIGNvbnN0CiBib29sIEpTT2JqZWN0OjpkZWxldGVQcm9wZXJ0eShKU0Nl
bGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKIHsK
ICAgICBKU09iamVjdCogdGhpc09iamVjdCA9IGpzQ2FzdDxKU09iamVjdCo+KGNlbGwpOworICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgCiAgICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBp
bmRleCA9IHBhcnNlSW5kZXgocHJvcGVydHlOYW1lKSkKLSAgICAgICAgcmV0dXJuIHRoaXNPYmpl
Y3QtPm1ldGhvZFRhYmxlKGV4ZWMtPnZtKCkpLT5kZWxldGVQcm9wZXJ0eUJ5SW5kZXgodGhpc09i
amVjdCwgZXhlYywgaW5kZXgudmFsdWUoKSk7CisgICAgICAgIHJldHVybiB0aGlzT2JqZWN0LT5t
ZXRob2RUYWJsZSh2bSktPmRlbGV0ZVByb3BlcnR5QnlJbmRleCh0aGlzT2JqZWN0LCBleGVjLCBp
bmRleC52YWx1ZSgpKTsKIAogICAgIGlmICghdGhpc09iamVjdC0+c3RhdGljRnVuY3Rpb25zUmVp
ZmllZCgpKQotICAgICAgICB0aGlzT2JqZWN0LT5yZWlmeVN0YXRpY0Z1bmN0aW9uc0ZvckRlbGV0
ZShleGVjKTsKKyAgICAgICAgdGhpc09iamVjdC0+cmVpZnlBbGxTdGF0aWNQcm9wZXJ0aWVzKGV4
ZWMpOwogCiAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKLSAgICBWTSYgdm0gPSBleGVjLT52bSgp
OwogICAgIGlmIChpc1ZhbGlkT2Zmc2V0KHRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSktPmdldCh2
bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKSkpIHsKICAgICAgICAgaWYgKGF0dHJpYnV0ZXMg
JiBEb250RGVsZXRlICYmICF2bS5pc0luRGVmaW5lT3duUHJvcGVydHkoKSkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgdGhpc09iamVjdC0+cmVtb3ZlRGlyZWN0KHZtLCBwcm9w
ZXJ0eU5hbWUpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICAvLyBMb29rIGlu
IHRoZSBzdGF0aWMgaGFzaHRhYmxlIG9mIHByb3BlcnRpZXMKLSAgICBjb25zdCBIYXNoVGFibGVW
YWx1ZSogZW50cnkgPSB0aGlzT2JqZWN0LT5maW5kUHJvcGVydHlIYXNoRW50cnkocHJvcGVydHlO
YW1lKTsKLSAgICBpZiAoZW50cnkpIHsKLSAgICAgICAgaWYgKGVudHJ5LT5hdHRyaWJ1dGVzKCkg
JiBEb250RGVsZXRlICYmICF2bS5pc0luRGVmaW5lT3duUHJvcGVydHkoKSkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsgLy8gdGhpcyBidWlsdGluIHByb3BlcnR5IGNhbid0IGJlIGRlbGV0ZWQK
LQotICAgICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdCh0aGlzT2JqZWN0KTsKLSAgICAgICAgaWYg
KCEoZW50cnktPmF0dHJpYnV0ZXMoKSAmIEJ1aWx0aW5PckZ1bmN0aW9uT3JBY2Nlc3NvcikpIHsK
LSAgICAgICAgICAgIEFTU0VSVCh0aGlzT2JqZWN0LT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkp
OwotICAgICAgICAgICAgcHV0RW50cnkoZXhlYywgZW50cnksIHRoaXNPYmplY3QsIHByb3BlcnR5
TmFtZSwganNVbmRlZmluZWQoKSwgc2xvdCk7Ci0gICAgICAgIH0KICAgICB9CiAKICAgICByZXR1
cm4gdHJ1ZTsKQEAgLTE2MTMsNyArMTU5OCw4IEBAIHZvaWQgSlNPYmplY3Q6OmdldE93blByb3Bl
cnR5TmFtZXMoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hCiAK
IHZvaWQgSlNPYmplY3Q6OmdldE93bk5vbkluZGV4UHJvcGVydHlOYW1lcyhKU09iamVjdCogb2Jq
ZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZUFycmF5JiBwcm9wZXJ0eU5hbWVzLCBF
bnVtZXJhdGlvbk1vZGUgbW9kZSkKIHsKLSAgICBnZXRDbGFzc1Byb3BlcnR5TmFtZXMoZXhlYywg
b2JqZWN0LT5jbGFzc0luZm8oKSwgcHJvcGVydHlOYW1lcywgbW9kZSwgb2JqZWN0LT5zdGF0aWNG
dW5jdGlvbnNSZWlmaWVkKCkpOworICAgIGlmICghb2JqZWN0LT5zdGF0aWNGdW5jdGlvbnNSZWlm
aWVkKCkpCisgICAgICAgIGdldENsYXNzUHJvcGVydHlOYW1lcyhleGVjLCBvYmplY3QtPmNsYXNz
SW5mbygpLCBwcm9wZXJ0eU5hbWVzLCBtb2RlKTsKIAogICAgIGlmICghbW9kZS5pbmNsdWRlSlNP
YmplY3RQcm9wZXJ0aWVzKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTE2NjcsOSArMTY1Myw3IEBA
IHZvaWQgSlNPYmplY3Q6OnByZXZlbnRFeHRlbnNpb25zKFZNJiB2bSkKICAgICBzZXRTdHJ1Y3R1
cmUodm0sIFN0cnVjdHVyZTo6cHJldmVudEV4dGVuc2lvbnNUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1
cmUodm0pKSk7CiB9CiAKLS8vIFRoaXMgcHJlc2VudGx5IHdpbGwgZmxhdHRlbiB0byBhbiB1bmNh
Y2hhYmxlIGRpY3Rpb25hcnk7IHRoaXMgaXMgc3VpdGFibGUKLS8vIGZvciB1c2UgaW4gZGVsZXRl
LCB3ZSBtYXkgd2FudCB0byBkbyBzb21ldGhpbmcgZGlmZmVyZW50IGVsc2V3aGVyZS4KLXZvaWQg
SlNPYmplY3Q6OnJlaWZ5U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKEV4ZWNTdGF0ZSogZXhlYykK
K3ZvaWQgSlNPYmplY3Q6OnJlaWZ5QWxsU3RhdGljUHJvcGVydGllcyhFeGVjU3RhdGUqIGV4ZWMp
CiB7CiAgICAgQVNTRVJUKCFzdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpOwogICAgIFZNJiB2bSA9
IGV4ZWMtPnZtKCk7CkBAIC0xNjg4LDMwICsxNjcyLDEyIEBAIHZvaWQgSlNPYmplY3Q6OnJlaWZ5
U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgY29uc3Qg
SGFzaFRhYmxlKiBoYXNoVGFibGUgPSBpbmZvLT5zdGF0aWNQcm9wSGFzaFRhYmxlOwogICAgICAg
ICBpZiAoIWhhc2hUYWJsZSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBQcm9wZXJ0
eVNsb3Qgc2xvdCh0aGlzKTsKLSAgICAgICAgZm9yIChhdXRvIGl0ZXIgPSBoYXNoVGFibGUtPmJl
Z2luKCk7IGl0ZXIgIT0gaGFzaFRhYmxlLT5lbmQoKTsgKytpdGVyKSB7Ci0gICAgICAgICAgICBp
ZiAoaXRlci0+YXR0cmlidXRlcygpICYgQnVpbHRpbk9yRnVuY3Rpb25PckFjY2Vzc29yKQotICAg
ICAgICAgICAgICAgIHNldFVwU3RhdGljRnVuY3Rpb25TbG90KGdsb2JhbE9iamVjdCgpLT5nbG9i
YWxFeGVjKCksIGl0ZXIudmFsdWUoKSwgdGhpcywgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0s
IGl0ZXIua2V5KCkpLCBzbG90KTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIHN0cnVjdHVyZSh2
bSktPnNldFN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQodHJ1ZSk7Ci19Ci0KLXZvaWQgSlNPYmplY3Q6
OnJlaWZ5QWxsU3RhdGljUHJvcGVydGllcyhFeGVjU3RhdGUqIGV4ZWMpCi17Ci0gICAgVk0mIHZt
ID0gZXhlYy0+dm0oKTsKLQotICAgIGZvciAoY29uc3QgQ2xhc3NJbmZvKiBpbmZvID0gY2xhc3NJ
bmZvKCk7IGluZm87IGluZm8gPSBpbmZvLT5wYXJlbnRDbGFzcykgewotICAgICAgICBjb25zdCBI
YXNoVGFibGUqIGhhc2hUYWJsZSA9IGluZm8tPnN0YXRpY1Byb3BIYXNoVGFibGU7Ci0gICAgICAg
IGlmICghaGFzaFRhYmxlKQotICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgZm9yIChh
dXRvIGl0ZXIgPSBoYXNoVGFibGUtPmJlZ2luKCk7IGl0ZXIgIT0gaGFzaFRhYmxlLT5lbmQoKTsg
KytpdGVyKSB7CisgICAgICAgIGZvciAoYXV0byYgdmFsdWUgOiAqaGFzaFRhYmxlKSB7CiAgICAg
ICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwotICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQg
b2Zmc2V0ID0gZ2V0RGlyZWN0T2Zmc2V0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwg
aXRlci5rZXkoKSksIGF0dHJpYnV0ZXMpOworICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zm
c2V0ID0gZ2V0RGlyZWN0T2Zmc2V0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgdmFs
dWUubV9rZXkpLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgICAgIGlmICghaXNWYWxpZE9mZnNldChv
ZmZzZXQpKQotICAgICAgICAgICAgICAgIHJlaWZ5U3RhdGljUHJvcGVydHkodm0sICppdGVyLnZh
bHVlKCksICp0aGlzKTsKKyAgICAgICAgICAgICAgICByZWlmeVN0YXRpY1Byb3BlcnR5KHZtLCB2
YWx1ZSwgKnRoaXMpOwogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuaAppbmRleCBjYzlmY2EwNjc4Zjk2N2ZkZTc0OTViZGE1ZTVkMWRmMzQx
NWY4ZTY0Li4wNGIyNjVlZTYwOWM1N2Y3OGFlYWRjNTgwMjRiZDM4MGVhZjkxNjg5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKQEAgLTYyMyw3ICs2MjMsNiBAQCBw
dWJsaWM6CiAgICAgfQogCiAgICAgYm9vbCBzdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkgeyByZXR1
cm4gc3RydWN0dXJlKCktPnN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQoKTsgfQotICAgIHZvaWQgcmVp
ZnlTdGF0aWNGdW5jdGlvbnNGb3JEZWxldGUoRXhlY1N0YXRlKik7CiAgICAgdm9pZCByZWlmeUFs
bFN0YXRpY1Byb3BlcnRpZXMoRXhlY1N0YXRlKik7CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBC
dXR0ZXJmbHkqIGdyb3dPdXRPZkxpbmVTdG9yYWdlKFZNJiwgc2l6ZV90IG9sZFNpemUsIHNpemVf
dCBuZXdTaXplKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xv
b2t1cC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggMGEx
ZTlkZWJjNTdjOTg1NDgzNGFjZDZlYmYzMDAzMmEwMzkyY2RkYi4uY2YyNmE2NDk3NDk3ODI5MzNm
MTdiNzk2ZTlkMGNlOGNlNTlmN2RlMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTG9va3VwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9v
a3VwLmgKQEAgLTEzNSw2ICsxMzUsOCBAQCBzdHJ1Y3QgSGFzaFRhYmxlIHsKICAgICAgICAgICAg
IHJldHVybiAmbV90YWJsZS0+dmFsdWVzW21fcG9zaXRpb25dOwogICAgICAgICB9CiAKKyAgICAg
ICAgY29uc3QgSGFzaFRhYmxlVmFsdWUmIG9wZXJhdG9yKigpIHsgcmV0dXJuICp2YWx1ZSgpOyB9
CisKICAgICAgICAgY29uc3QgY2hhcioga2V5KCkKICAgICAgICAgewogICAgICAgICAgICAgcmV0
dXJuIG1fdGFibGUtPnZhbHVlc1ttX3Bvc2l0aW9uXS5tX2tleTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAppbmRleCAyMGRlOGI0MGQyNmJh
ZTAyYWNkYjQ2NWUxOThjMDgzODAyZjBjNDhjLi45ZDA0MzBhZTc1MmUzMmMwY2IxMDY5YjA0OTY4
MzhiMGE3YWRiYWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dDdXN0b20uY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAw
NywgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDctMjAxMCwgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCkBAIC0yMDEsMTAgKzIwMSwxMyBAQCBib29sIEpTRE9NV2luZG93Ojpn
ZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9w
ZXJ0eQogICAgIH0KICNlbmRpZgogCi0gICAgY29uc3QgSGFzaFRhYmxlVmFsdWUqIGVudHJ5ID0g
SlNET01XaW5kb3c6OmluZm8oKS0+c3RhdGljUHJvcEhhc2hUYWJsZS0+ZW50cnkocHJvcGVydHlO
YW1lKTsKLSAgICBpZiAoZW50cnkpIHsKLSAgICAgICAgc2xvdC5zZXRDYWNoZWFibGVDdXN0b20o
dGhpc09iamVjdCwgYWxsb3dzQWNjZXNzID8gZW50cnktPmF0dHJpYnV0ZXMoKSA6IFJlYWRPbmx5
IHwgRG9udERlbGV0ZSB8IERvbnRFbnVtLCBlbnRyeS0+cHJvcGVydHlHZXR0ZXIoKSk7Ci0gICAg
ICAgIHJldHVybiB0cnVlOworICAgIC8vIFdoZW4gYWNjZXNzaW5nIGNyb3NzLW9yaWdpbiBrbm93
biBXaW5kb3cgcHJvcGVydGllcywgd2UgYWx3YXlzIHVzZSB0aGUgb3JpZ2luYWwgcHJvcGVydHkg
Z2V0dGVyLAorICAgIC8vIGV2ZW4gaWYgdGhlIHByb3BlcnR5IHdhcyByZW1vdmVkIC8gcmVkZWZp
bmVkLiBUaGlzIG1hdGNoZXMgRmlyZWZveCBhbmQgQ2hyb21lJ3MgYmVoYXZpb3IuCisgICAgaWYg
KCF0aGlzT2JqZWN0LT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkgfHwgIWFsbG93c0FjY2Vzcykg
eworICAgICAgICBpZiAoYXV0byogZW50cnkgPSBKU0RPTVdpbmRvdzo6aW5mbygpLT5zdGF0aWNQ
cm9wSGFzaFRhYmxlLT5lbnRyeShwcm9wZXJ0eU5hbWUpKSB7CisgICAgICAgICAgICBzbG90LnNl
dENhY2hlYWJsZUN1c3RvbSh0aGlzT2JqZWN0LCBhbGxvd3NBY2Nlc3MgPyBlbnRyeS0+YXR0cmli
dXRlcygpIDogUmVhZE9ubHkgfCBEb250RGVsZXRlIHwgRG9udEVudW0sIGVudHJ5LT5wcm9wZXJ0
eUdldHRlcigpKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CiAgICAgfQog
CiAjaWYgRU5BQkxFKFVTRVJfTUVTU0FHRV9IQU5ETEVSUykKQEAgLTM2NSw4ICszNjgsMTAgQEAg
dm9pZCBKU0RPTVdpbmRvdzo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBQcm9w
ZXJ0eU5hbWUgcHJvcGVydHlOYW1lLAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYg
KGxvb2t1cFB1dChleGVjLCBwcm9wZXJ0eU5hbWUsIHRoaXNPYmplY3QsIHZhbHVlLCAqc19pbmZv
LnN0YXRpY1Byb3BIYXNoVGFibGUsIHNsb3QpKQotICAgICAgICByZXR1cm47CisgICAgaWYgKCF0
aGlzT2JqZWN0LT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpIHsKKyAgICAgICAgaWYgKGxvb2t1
cFB1dChleGVjLCBwcm9wZXJ0eU5hbWUsIHRoaXNPYmplY3QsIHZhbHVlLCAqc19pbmZvLnN0YXRp
Y1Byb3BIYXNoVGFibGUsIHNsb3QpKQorICAgICAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAg
IGlmIChCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coZXhlYywg
dGhpc09iamVjdC0+d3JhcHBlZCgpKSkKICAgICAgICAgQmFzZTo6cHV0KHRoaXNPYmplY3QsIGV4
ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCBkNmEyMDRkNTU0MWYxZDk5
OThkZWRhYzUwNDc2NWQ5ZTcxNDYxYjU5Li45YTA1MTJiMWM4OGVhZGYxZDdlOTkzNGI3OTM0ZjFl
MTAxZDBlODEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQpAQCAtNjg1LDYgKzY4NSw4IEBAIHN1YiBDb25zdHJ1Y3RvclNob3Vs
ZEJlT25JbnN0YW5jZQogewogICAgIG15ICRpbnRlcmZhY2UgPSBzaGlmdDsKIAorICAgICMgRklY
TUU6IGNvbnN0cnVjdG9yIHNob3VsZCBhbHdheXMgYmUgb24gdGhlIHByb3RvdHlwZToKKyAgICAj
IGh0dHA6Ly93d3cudzMub3JnL1RSL1dlYklETC8jaW50ZXJmYWNlLXByb3RvdHlwZS1vYmplY3QK
ICAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hlY2tT
ZWN1cml0eSJ9OwogICAgIHJldHVybiAwOwogfQpAQCAtMTM1NywxMyArMTM1OSw3IEBAIHN1YiBH
ZW5lcmF0ZUF0dHJpYnV0ZXNIYXNoVGFibGUKIAogICAgICAgICAgICAgbXkgJHNldHRlciA9ICJz
ZXRKUyIgLiAkaW50ZXJmYWNlTmFtZSAuICJDb25zdHJ1Y3RvciI7CiAgICAgICAgICAgICBwdXNo
KEAkaGFzaFZhbHVlMiwgJHNldHRlcik7Ci0KLSAgICAgICAgICAgICMgRklYTUU6IERvIHdlIHJl
YWxseSBuZWVkIHRvIHNwZWNpYWwtY2FzZSBET01XaW5kb3c/Ci0gICAgICAgICAgICBpZiAoJGlu
dGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIpIHsKLSAgICAgICAgICAgICAgICBwdXNoKEAkaGFz
aFNwZWNpYWxzLCAiRG9udEVudW0gfCBEb250RGVsZXRlIik7Ci0gICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgIHB1c2goQCRoYXNoU3BlY2lhbHMsICJEb250RW51bSIpOwotICAg
ICAgICAgICAgfQorICAgICAgICAgICAgcHVzaChAJGhhc2hTcGVjaWFscywgIkRvbnRFbnVtIik7
CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTEzNzYsMTMgKzEzNzIsMTEgQEAgc3ViIEdlbmVyYXRl
QXR0cmlidXRlc0hhc2hUYWJsZQogICAgICAgICBwdXNoKEAkaGFzaEtleXMsICRuYW1lKTsKIAog
ICAgICAgICBteSBAc3BlY2lhbHMgPSAoKTsKLSAgICAgICAgIyBBcyBwZXIgV2ViIElETCBzcGVj
aWZpY2F0aW9uLCBjb25zdHJ1Y3RvciBwcm9wZXJ0aWVzIG9uIHRoZSBFQ01BU2NyaXB0IGdsb2Jh
bCBvYmplY3Qgc2hvdWxkIGJlCi0gICAgICAgICMgY29uZmlndXJhYmxlIGFuZCBzaG91bGQgbm90
IGJlIGVudW1lcmFibGUuCi0gICAgICAgIG15ICRpc19nbG9iYWxfY29uc3RydWN0b3IgPSAkYXR0
cmlidXRlLT5zaWduYXR1cmUtPnR5cGUgPX4gL0NvbnN0cnVjdG9yJC87Ci0KLSAgICAgICAgcHVz
aChAc3BlY2lhbHMsICJEb250RGVsZXRlIikgaWYgKCRpc0luc3RhbmNlICYmICEkaXNfZ2xvYmFs
X2NvbnN0cnVjdG9yKSB8fCAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJVbmZvcmdlYWJsZSJ9CisgICAgICAgIHB1c2goQHNwZWNpYWxzLCAiRG9udERlbGV0ZSIp
IGlmICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlVuZm9yZ2Vh
YmxlIn0KICAgICAgICAgICAgIHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJV
bmZvcmdlYWJsZSJ9OwogCisgICAgICAgICMgQXMgcGVyIFdlYiBJREwgc3BlY2lmaWNhdGlvbiwg
Y29uc3RydWN0b3IgcHJvcGVydGllcyBvbiB0aGUgRUNNQVNjcmlwdCBnbG9iYWwgb2JqZWN0IHNo
b3VsZCBub3QgYmUgZW51bWVyYWJsZS4KKyAgICAgICAgbXkgJGlzX2dsb2JhbF9jb25zdHJ1Y3Rv
ciA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9fiAvQ29uc3RydWN0b3IkLzsKICAgICAg
ICAgcHVzaChAc3BlY2lhbHMsICJEb250RW51bSIpIGlmICgkYXR0cmlidXRlLT5zaWduYXR1cmUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJOb3RFbnVtZXJhYmxlIn0gfHwgJGlzX2dsb2JhbF9jb25z
dHJ1Y3Rvcik7CiAgICAgICAgIHB1c2goQHNwZWNpYWxzLCAiUmVhZE9ubHkiKSBpZiBJc1JlYWRv
bmx5KCRhdHRyaWJ1dGUpOwogICAgICAgICBwdXNoKEBzcGVjaWFscywgIkN1c3RvbUFjY2Vzc29y
IikgdW5sZXNzICRpc19nbG9iYWxfY29uc3RydWN0b3Igb3IgSXNKU0J1aWx0aW4oJGludGVyZmFj
ZSwgJGF0dHJpYnV0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCmluZGV4IDYx
YzA4ZDBmNzcwOTA1OTZjYzdmY2ZmMzAyMDdiYWY0MTk3Y2M5OGEuLjUyMzM3OTY0ZDNiNzVhY2U5
MGIyNjg4OGQ2ZGJhZWQ3OGY2MjE0OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3Qu
Y3BwCkBAIC04Myw3ICs4Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRl
eCBKU1Rlc3RBY3RpdmVET01PYmplY3RUYWJsZUluZGV4WzRdID0gewogc3RhdGljIGNvbnN0IEhh
c2hUYWJsZVZhbHVlIEpTVGVzdEFjdGl2ZURPTU9iamVjdFRhYmxlVmFsdWVzW10gPQogewogICAg
IHsgImNvbnN0cnVjdG9yIiwgRG9udEVudW0sIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0
aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0QWN0aXZlRE9NT2JqZWN0
Q29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0
VmFsdWVGdW5jPihzZXRKU1Rlc3RBY3RpdmVET01PYmplY3RDb25zdHJ1Y3RvcikgfSB9LAotICAg
IHsgImV4Y2l0aW5nQXR0ciIsIERvbnREZWxldGUgfCBSZWFkT25seSB8IEN1c3RvbUFjY2Vzc29y
LCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRW
YWx1ZUZ1bmM+KGpzVGVzdEFjdGl2ZURPTU9iamVjdEV4Y2l0aW5nQXR0ciksIChpbnRwdHJfdCkg
c3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7
ICJleGNpdGluZ0F0dHIiLCBSZWFkT25seSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywg
eyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVz
dEFjdGl2ZURPTU9iamVjdEV4Y2l0aW5nQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0
UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKIH07CiAKIHN0YXRpYyBjb25zdCBI
YXNoVGFibGUgSlNUZXN0QWN0aXZlRE9NT2JqZWN0VGFibGUgPSB7IDIsIDMsIHRydWUsIEpTVGVz
dEFjdGl2ZURPTU9iamVjdFRhYmxlVmFsdWVzLCBKU1Rlc3RBY3RpdmVET01PYmplY3RUYWJsZUlu
ZGV4IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0RXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCmluZGV4IDk2YmU4MjJhYzM3YTZkMTc5Mzc1ZmQw
N2QwOWI0YWJmOWFkNDQ4OWYuLmFhMGIwMzJmNTEwYWMwNjY2OTcyZTZhYmQ5N2VjZDk3YTU2MWVm
NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RFeGNlcHRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCkBAIC03NCw3ICs3NCw3IEBAIHN0YXRpYyBjb25z
dCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RFeGNlcHRpb25UYWJsZUluZGV4WzJdID0g
ewogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0RXhjZXB0aW9uVGFibGVWYWx1
ZXNbXSA9CiB7Ci0gICAgeyAibmFtZSIsIERvbnREZWxldGUgfCBSZWFkT25seSB8IEN1c3RvbUFj
Y2Vzc29yLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEV4Y2VwdGlvbk5hbWUpLCAoaW50cHRyX3QpIHN0YXRpY19j
YXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCisgICAgeyAibmFtZSIs
IFJlYWRPbmx5IHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0
aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0RXhjZXB0aW9uTmFtZSks
IChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDAp
IH0gfSwKIH07CiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0RXhjZXB0aW9uVGFibGUg
PSB7IDEsIDEsIHRydWUsIEpTVGVzdEV4Y2VwdGlvblRhYmxlVmFsdWVzLCBKU1Rlc3RFeGNlcHRp
b25UYWJsZUluZGV4IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IDYzOTJkNDg3MWVlZmY1NTc3MjU2YzhlNWRl
Y2U2MTFkNjc5ZmUwZDkuLmJjZjg0Y2E5NDM1MjkzZWEzODBhMzBmYTE2YmQzOWQ2YmQwOGZhMmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPYmouY3BwCkBAIC00MDIsNyArNDAyLDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZh
bHVlIEpTVGVzdE9ialRhYmxlVmFsdWVzW10gPQogI2Vsc2UKICAgICB7IDAsIDAsIE5vSW50cmlu
c2ljLCB7IDAsIDAgfSB9LAogI2VuZGlmCi0gICAgeyAiY29udGVudERvY3VtZW50IiwgRG9udERl
bGV0ZSB8IFJlYWRPbmx5IHwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCB7IChpbnRwdHJf
dClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ29udGVu
dERvY3VtZW50KSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZh
bHVlRnVuYz4oMCkgfSB9LAorICAgIHsgImNvbnRlbnREb2N1bWVudCIsIFJlYWRPbmx5IHwgQ3Vz
dG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0
eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ29udGVudERvY3VtZW50KSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAogfTsK
IAogc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RPYmpUYWJsZSA9IHsgNSwgMTUsIHRydWUs
IEpTVGVzdE9ialRhYmxlVmFsdWVzLCBKU1Rlc3RPYmpUYWJsZUluZGV4IH07CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDIy
ZWJiZTgxZTA0M2Y0MzJmOGY4ZjFjMjJhNDhmZmM4YjgxZWQ0ZC4uOWM0MDIwYmUzM2IyNTgyNzY0
M2Q3MzQwMTIxYzU2NDdlYmY2ZDU2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE2LTAyLTA3
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQXR0cmlidXRlcyBv
biB0aGUgV2luZG93IGluc3RhbmNlIHNob3VsZCBiZSBjb25maWd1cmFibGUgdW5sZXNzIFtVbmZv
cmdlYWJsZV0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE1MzkyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWNvbmZpZ3VyYWJsZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGll
cy1jb25maWd1cmFibGUuaHRtbDogQWRkZWQuCisgICAgICAgIEFkZCBhIHRlc3QgdG8gY2hlY2sg
dGhhdCBXaW5kb3cgcHJvcGVydGllcyBhcmUgcmVwb3J0ZWQgYXMgY29uZmlndXJhYmxlCisgICAg
ICAgIHVubGVzcyB0aGUgW1VuZm9yZ2VhYmxlXSBvbmVzIGFuZCB0aGF0IGRlbGV0aW5nIHRoZW0g
YWN0dWFsbHkgd29ya3MuCisKKyAgICAgICAgKiBmYXN0L2RvbS9nbG9iYWwtY29uc3RydWN0b3Jz
Lmh0bWw6CisgICAgICAgIFVwZGF0ZSB0ZXN0IHNvIGl0IG5vIGxvbmdlciBleHBlY3RzIHdpbmRv
dy5Ob2RlIHRvIGJlIHNoYWRvd2FibGUuIEFzIHBlcgorICAgICAgICB0aGUgc3BlY2lmaWNhdGlv
biwgdGhlICJOb2RlIiBwcm9wZXJ0eSBpcyBvbiB0aGUgd2luZG93IGluc3RhbmNlLCBub3QgaXRz
CisgICAgICAgIHByb3RvdHlwZS4gVGhlcmVmb3JlLCBpdCBzaG91bGQgY2Fubm90IGJlIHNoYWRv
d2VkIGFuZCBzZXR0aW5nIGl0IHRvCisgICAgICAgIHNvbWV0aGluZyBhY3R1YWxseSBvdmVyd2l0
ZXMgdGhlIHByZXZpb3VzIHZhbHVlLCBnaXZlbiB0aGF0IHRoZSBwcm9wZXJ0eQorICAgICAgICBp
cyB3cml0YWJsZSBhcyBwZXI6CisgICAgICAgIC0gaHR0cDovL2hleWNhbS5naXRodWIuaW8vd2Vi
aWRsLyNlcy1pbnRlcmZhY2VzCisgICAgICAgIEkgaGF2ZSB2ZXJpZmllZCB0aGF0IHRoZSBuZXcg
YmVoYXZpb3IgaXMgY29uc2lzdGVudCB3aXRoIEZpcmVmb3guCisKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1yZWlmaWVkLXdpbmRvdy1wcm9wZXJ0eS1hY2Nlc3Mt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3Nz
LW9yaWdpbi1yZWlmaWVkLXdpbmRvdy1wcm9wZXJ0eS1hY2Nlc3MuaHRtbDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvcmVpZnktd2luZG93Lmh0bWw6IEFk
ZGVkLgorICAgICAgICBBZGQgYSB0ZXN0IGNhc2UgdG8gY292ZXIgY3Jvc3Mtb3JpZ2luIGFjY2Vz
cyBvZiBXaW5kb3cgcHJvcGVydGllcyBhZnRlcgorICAgICAgICByZWlmaWNhdGlvbi4KKworICAg
ICAgICAqIGpzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci11bmZvcmdlYWJsZS1hdHRyaWJ1dGVz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBqcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5m
b3JnZWFibGUtYXR0cmlidXRlcy5odG1sOgorICAgICAgICBEcm9wIHdpbmRvdy5zZWxmIGZyb20g
dGhlIGxpc3Qgb2YgdW5mb3JnZWFibGUgYXR0cmlidXRlcy4gVGhpcyBhdHRyaWJ1dGUKKyAgICAg
ICAgaXMgbm90IHVuZm9yZ2VhYmxlIGluIG91ciBpbXBsZW1lbnRhdGlvbiBvciBpbiB0aGUgc3Bl
Y2lmaWNhdGlvbjoKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRp
cGFnZS9icm93c2Vycy5odG1sI3RoZS13aW5kb3ctb2JqZWN0CisKKyAgICAgICAgKiBqcy9nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3Itd2luZG93LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGpzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1s
OgorICAgICAgICAtIEFkZCBjb3ZlcmFnZSBmb3Igd2luZG93LnNlbGYgd2hpY2ggaXMgYSByZWd1
bGFyIFdpbmRvdyBwcm9wZXJ0eS4KKyAgICAgICAgLSBBZGQgY292ZXJhZ2UgZm9yIHdpbmRvdy5O
b2RlIHdoaWNoIGlzIGEgY29uc3RydWN0b3IgcHJvcGVydHkKKyAgICAgICAgLSBBZGQgY292ZXJh
Z2UgZm9yIHdpbmRvdy5jb25zdHJ1Y3Rvci4gSXQgc2hvdWxkIHJlYWxseSBiZSBvbiB0aGUgcHJv
dG90eXBlCisgICAgICAgICAgYXMgcGVyIHRoZSBzcGVjaWZpY2F0aW9uIGJ1dCB0aGlzIGF0IGxl
YXN0IGNoZWNrcyB0aGF0IHRoZSBwcm9wZXJ0eSBpcworICAgICAgICAgIGNvbmZpZ3VyYWJsZSwg
YXMgcGVyIHRoZSBzcGVjaWZpY2F0aW9uLgorICAgICAgICAtIFJlYmFzZWxpbmUgdGhlIHRlc3Qg
YXMgbW9yZSBjaGVja3MgYXJlIHBhc3Npbmcgbm93IHRoYXQgV2luZG93IHByb3BlcnRpZXMKKyAg
ICAgICAgICBhcmUgbWFya2VkIGFzIGNvbmZpZ3VyYWJsZS4KKwogMjAxNi0wMi0wOCAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEF0dHJpYnV0ZSBnZXR0ZXJzIHNo
b3VsZCBub3QgcmVxdWlyZSBhbiBleHBsaWNpdCAndGhpcycgdmFsdWUgZm9yIFdpbmRvdyBwcm9w
ZXJ0aWVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnRpZXMtY29uZmlndXJhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1jb25maWd1cmFibGUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmI4ODI2ZmFlNWZmYTlkZWU0YjhhMzlmYjRkZWJkNWMwMGFiMzI3NDgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMt
Y29uZmlndXJhYmxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM3IEBACitUZXN0cyB0aGF0IFdp
bmRvdyBwcm9wZXJ0aWVzIGFyZSBpbmRlZWQgY29uZmlndXJhYmxlIHVubGVzcyBbVW5mb3JnZWFi
bGVdCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisqIFJlZ3VsYXIgSURMIGF0dHJp
YnV0ZS4KK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICduYW1l
JykuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1Mgd2luZG93Lm5hbWUgaXMgIiIKK1BBU1MgZGVs
ZXRlIHdpbmRvdy5uYW1lIGlzIHRydWUKK1BBU1Mgd2luZG93Lm5hbWUgaXMgdW5kZWZpbmVkLgor
d2luZG93Lm5hbWUgPSAzCitQQVNTIHdpbmRvdy5uYW1lIGlzIDMKK1BBU1MgZGVsZXRlIHdpbmRv
dy5uYW1lIGlzIHRydWUKK1BBU1Mgd2luZG93Lm5hbWUgaXMgdW5kZWZpbmVkLgorCisqIENvbnN0
cnVjdG9yIGF0dHJpYnV0ZXMuCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
d2luZG93LCAnTm9kZScpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIHdpbmRvdy5Ob2RlIGlz
IG5vdCB1bmRlZmluZWQKK1BBU1MgZGVsZXRlIHdpbmRvdy5Ob2RlIGlzIHRydWUKK1BBU1Mgd2lu
ZG93Lk5vZGUgaXMgdW5kZWZpbmVkLgord2luZG93Lk5vZGUgPSAzCitQQVNTIHdpbmRvdy5Ob2Rl
IGlzIDMKK1BBU1MgZGVsZXRlIHdpbmRvdy5Ob2RlIGlzIHRydWUKK1BBU1Mgd2luZG93Lk5vZGUg
aXMgdW5kZWZpbmVkLgorCisqIFtVbmZvcmdlYWJsZV0gSURMIGF0dHJpYnV0ZS4KK1BBU1MgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICd3aW5kb3cnKS5jb25maWd1cmFi
bGUgaXMgZmFsc2UKK1BBU1Mgd2luZG93LndpbmRvdyBpcyBub3QgdW5kZWZpbmVkCitQQVNTIGRl
bGV0ZSB3aW5kb3cud2luZG93IGlzIGZhbHNlCitQQVNTIHdpbmRvdy53aW5kb3cgaXMgbm90IHVu
ZGVmaW5lZAord2luZG93LndpbmRvdyA9IDMKK1BBU1Mgd2luZG93LndpbmRvdyBpcyBub3QgMwor
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWNv
bmZpZ3VyYWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0aWVzLWNvbmZpZ3VyYWJsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwZWExOTIzMTA4MjUyMzExYmZj
ZWJmZmEwZjc5ZThjNzQ3ZjY0MTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtY29uZmlndXJhYmxlLmh0bWwKQEAgLTAsMCAr
MSw0MiBAQAorPCFET0NZVFBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oIlRlc3RzIHRoYXQgV2luZG93IHByb3BlcnRpZXMgYXJlIGluZGVlZCBjb25maWd1
cmFibGUgdW5sZXNzIFtVbmZvcmdlYWJsZV0iKTsKKworZGVidWcoIiogUmVndWxhciBJREwgYXR0
cmlidXRlLiIpOworc2hvdWxkQmVUcnVlKCJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KHdpbmRvdywgJ25hbWUnKS5jb25maWd1cmFibGUiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygi
d2luZG93Lm5hbWUiLCAiIik7CitzaG91bGRCZVRydWUoImRlbGV0ZSB3aW5kb3cubmFtZSIpOwor
c2hvdWxkQmVVbmRlZmluZWQoIndpbmRvdy5uYW1lIik7CitldmFsQW5kTG9nKCJ3aW5kb3cubmFt
ZSA9IDMiKTsKK3Nob3VsZEJlKCJ3aW5kb3cubmFtZSIsICIzIik7CitzaG91bGRCZVRydWUoImRl
bGV0ZSB3aW5kb3cubmFtZSIpOworc2hvdWxkQmVVbmRlZmluZWQoIndpbmRvdy5uYW1lIik7CisK
K2RlYnVnKCIiKTsKK2RlYnVnKCIqIENvbnN0cnVjdG9yIGF0dHJpYnV0ZXMuIik7CitzaG91bGRC
ZVRydWUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnTm9kZScpLmNv
bmZpZ3VyYWJsZSIpOworc2hvdWxkTm90QmUoIndpbmRvdy5Ob2RlIiwgInVuZGVmaW5lZCIpOwor
c2hvdWxkQmVUcnVlKCJkZWxldGUgd2luZG93Lk5vZGUiKTsKK3Nob3VsZEJlVW5kZWZpbmVkKCJ3
aW5kb3cuTm9kZSIpOworZXZhbEFuZExvZygid2luZG93Lk5vZGUgPSAzIik7CitzaG91bGRCZSgi
d2luZG93Lk5vZGUiLCAiMyIpOworc2hvdWxkQmVUcnVlKCJkZWxldGUgd2luZG93Lk5vZGUiKTsK
K3Nob3VsZEJlVW5kZWZpbmVkKCJ3aW5kb3cuTm9kZSIpOworCitkZWJ1ZygiIik7CitkZWJ1Zygi
KiBbVW5mb3JnZWFibGVdIElETCBhdHRyaWJ1dGUuIik7CitzaG91bGRCZUZhbHNlKCJPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ3dpbmRvdycpLmNvbmZpZ3VyYWJsZSIp
Oworc2hvdWxkTm90QmUoIndpbmRvdy53aW5kb3ciLCAidW5kZWZpbmVkIik7CitzaG91bGRCZUZh
bHNlKCJkZWxldGUgd2luZG93LndpbmRvdyIpOworc2hvdWxkTm90QmUoIndpbmRvdy53aW5kb3ci
LCAidW5kZWZpbmVkIik7CitldmFsQW5kTG9nKCJ3aW5kb3cud2luZG93ID0gMyIpOworc2hvdWxk
Tm90QmUoIndpbmRvdy53aW5kb3ciLCAiMyIpOworCitkZWJ1ZygiIik7Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2dsb2Jh
bC1jb25zdHJ1Y3RvcnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2dsb2JhbC1jb25zdHJ1
Y3RvcnMuaHRtbAppbmRleCAwYjM5ZGQwNzAzMzZlMWMzODk2ZDg3MGY5OTdkZTlmODk0N2FkMDVj
Li45ZDJkZTliMDk4OTYyN2Y0YmJiNjJkMzMxZDEwMDQxN2ZmMjI2MTFjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy5odG1sCkBAIC05NSwxNSArOTUsMTcg
QEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgCiAgICAgb3JpZ2luYWxOb2RlQ29uc3RydWN0b3IgPSB3
aW5kb3cuTm9kZTsgICAgCiAKLSAgICAvLyBTaGFkb3cgd2luZG93Lk5vZGUKKyAgICAvLyBTZXQg
d2luZG93Lk5vZGUKICAgICB3aW5kb3cuTm9kZSA9IDE7CiAgICAgcHJpbnQoIltTZXQgd2luZG93
Lk5vZGUgPSAxXSIpOwogICAgIHNob3VsZEJlKCJ3aW5kb3cuTm9kZSIsIDEpOwogICAgIAotICAg
IC8vIFVuc2hhZG93IHdpbmRvdy5Ob2RlCisgICAgLy8gRGVsZXRlIHdpbmRvdy5Ob2RlCiAgICAg
ZGVsZXRlIHdpbmRvdy5Ob2RlOwogICAgIHByaW50KCJbRGVsZXRlZCB3aW5kb3cuTm9kZV0iKTsK
LSAgICBzaG91bGRCZSgid2luZG93Lk5vZGUiLCBvcmlnaW5hbE5vZGVDb25zdHJ1Y3Rvcik7Cisg
ICAgc2hvdWxkQmUoIndpbmRvdy5Ob2RlIiwgdW5kZWZpbmVkKTsKKworICAgIHdpbmRvdy5Ob2Rl
ID0gb3JpZ2luYWxOb2RlQ29uc3RydWN0b3I7CiAKICAgICAvLyBBdHRlbXB0IHRvIHNoYWRvdyB3
aW5kb3cuTm9kZSB3aXRoIGEgZnJhbWUgbmFtZWQgJ05vZGUnCiAgICAgdmFyIGlmcmFtZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcmVpZmllZC13aW5kb3ctcHJvcGVydHkt
YWNjZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jv
c3Mtb3JpZ2luLXJlaWZpZWQtd2luZG93LXByb3BlcnR5LWFjY2Vzcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDc4OWQxMjc2MGEzN2ViZWIyNmRhNDIxNGI2MmZkMGZhM2VlYTExMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2lu
LXJlaWZpZWQtd2luZG93LXByb3BlcnR5LWFjY2Vzcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwy
MyBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmln
aW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9y
aWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIi4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9y
dHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNjogQmxvY2tlZCBhIGZyYW1l
IHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgZnJh
bWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIuIFByb3RvY29scywgZG9tYWlu
cywgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IEJsb2Nr
ZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vz
c2luZyBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0OjgwMDAiLiBQcm90b2Nv
bHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorVGVzdHMgdGhhdCByZWlmaWNhdGlv
biBkb2VzIG5vdCBieXBhc3MgY3Jvc3Mtb3JpZ2luIGNoZWNrcy4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1MgY3Jvc3NPcmlnaW5XaW5kb3cuZG9jdW1lbnQgcmV0dXJuZWQg
dW5kZWZpbmVkLgorUEFTUyBjcm9zc09yaWdpbldpbmRvdy5uYW1lIHJldHVybmVkIHVuZGVmaW5l
ZC4KK1BBU1MgY3Jvc3NPcmlnaW5XaW5kb3cubWVudWJhciByZXR1cm5lZCB1bmRlZmluZWQuCitQ
QVNTIGNyb3NzT3JpZ2luV2luZG93LnNjcm9sbGJhcnMiKSB0aHJldyBleGNlcHRpb24gU3ludGF4
RXJyb3I6IFVuZXhwZWN0ZWQgRU9GLgorUEFTUyBjcm9zc09yaWdpbldpbmRvdy5uYXZpZ2F0b3Ii
KSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgRU9GLgorUEFTUyBjcm9z
c09yaWdpbldpbmRvdy5zY3JlZW5YIikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmV4
cGVjdGVkIEVPRi4KK1BBU1MgY3Jvc3NPcmlnaW5XaW5kb3cubG9jYXRpb24gaXMgbm90IHVuZGVm
aW5lZAorUEFTUyBjcm9zc09yaWdpbldpbmRvdy5zZWxmIGlzIGNyb3NzT3JpZ2luV2luZG93Lndp
bmRvdworUEFTUyBzYW1lT3JpZ2luV2luZG93LnNlbGYgaXMgInNlY3JldCIKK1BBU1MgY3Jvc3NP
cmlnaW5XaW5kb3cucGFyZW50IGlzIHdpbmRvdworUEFTUyBzYW1lT3JpZ2luV2luZG93LnBhcmVu
dCBpcyBzYW1lT3JpZ2luV2luZG93LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXJlbnQiKQor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1yZWlm
aWVkLXdpbmRvdy1wcm9wZXJ0eS1hY2Nlc3MuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXJlaWZpZWQtd2luZG93LXByb3BlcnR5LWFjY2Vzcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjhlNWY4YTcxNDg4NzQzMTJlNTBkMmIxYWY1MzcxMGRiNWRiMjViYTEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9y
aWdpbi1yZWlmaWVkLXdpbmRvdy1wcm9wZXJ0eS1hY2Nlc3MuaHRtbApAQCAtMCwwICsxLDU0IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KKzxpZnJhbWUgaWQ9ImNyb3NzT3JpZ2luRnJhbWUiIHNyYz0iaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9yZWlmeS13aW5kb3cuaHRtbCI+PC9pZnJh
bWU+Cis8aWZyYW1lIGlkPSJzYW1lT3JpZ2luRnJhbWUiIHNyYz0icmVzb3VyY2VzL3JlaWZ5LXdp
bmRvdy5odG1sIj48L2lmcmFtZT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBy
ZWlmaWNhdGlvbiBkb2VzIG5vdCBieXBhc3MgY3Jvc3Mtb3JpZ2luIGNoZWNrcy4iKTsKK2pzVGVz
dElzQXN5bmMgPSB0cnVlOworCitmdW5jdGlvbiBzaG91bGRUaHJvd09yUmV0dXJuVW5kZWZpbmVk
KGV4cHJlc3Npb24pCit7CisgICAgdHJ5IHsKKyAgICAgICAgcmVzdWx0ID0gZXZhbChleHByZXNz
aW9uKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIHRlc3RQYXNzZWQoZXhwcmVzc2lvbiAr
ICIgdGhyZXcgZXhjZXB0aW9uICIgKyBlICsgIi4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQpCisgICAgICAgIHRlc3RQYXNzZWQoZXhwcmVz
c2lvbiArICIgcmV0dXJuZWQgdW5kZWZpbmVkLiIpOworICAgIGVsc2UKKyAgICAgICAgdGVzdEZh
aWxlZChleHByZXNzaW9uICsgIiByZXR1cm5lZCAiICsgcmVzdWx0KTsKK30KKworZnVuY3Rpb24g
cnVuVGVzdCgpCit7CisgICAgY3Jvc3NPcmlnaW5XaW5kb3cgPSBjcm9zc09yaWdpbkZyYW1lLndp
bmRvdzsKKyAgICBzYW1lT3JpZ2luV2luZG93ID0gc2FtZU9yaWdpbkZyYW1lLndpbmRvdzsKKwor
ICAgIHNob3VsZFRocm93T3JSZXR1cm5VbmRlZmluZWQoJ2Nyb3NzT3JpZ2luV2luZG93LmRvY3Vt
ZW50Jyk7CisgICAgc2hvdWxkVGhyb3dPclJldHVyblVuZGVmaW5lZCgnY3Jvc3NPcmlnaW5XaW5k
b3cubmFtZScpOworICAgIHNob3VsZFRocm93T3JSZXR1cm5VbmRlZmluZWQoJ2Nyb3NzT3JpZ2lu
V2luZG93Lm1lbnViYXInKTsKKyAgICBzaG91bGRUaHJvd09yUmV0dXJuVW5kZWZpbmVkKCdjcm9z
c09yaWdpbldpbmRvdy5zY3JvbGxiYXJzIiknKTsKKyAgICBzaG91bGRUaHJvd09yUmV0dXJuVW5k
ZWZpbmVkKCdjcm9zc09yaWdpbldpbmRvdy5uYXZpZ2F0b3IiKScpOworICAgIHNob3VsZFRocm93
T3JSZXR1cm5VbmRlZmluZWQoJ2Nyb3NzT3JpZ2luV2luZG93LnNjcmVlblgiKScpOworICAgIHNo
b3VsZE5vdEJlKCdjcm9zc09yaWdpbldpbmRvdy5sb2NhdGlvbicsICd1bmRlZmluZWQnKTsKKwor
ICAgIC8vIEV2ZW4gdGhvdWdoIHdpbmRvdy5zZWxmIHdhcyBkZWxldGVkLCB3ZSBzdGlsbCB1c2Ug
dGhlIG9yaWdpbmFsIHN0YXRpYyBwcm9wZXJ0eSBnZXR0ZXIsIHRvIG1hdGNoCisgICAgLy8gRmly
ZWZveCBhbmQgQ2hyb21lLgorICAgIHNob3VsZEJlKCdjcm9zc09yaWdpbldpbmRvdy5zZWxmJywg
J2Nyb3NzT3JpZ2luV2luZG93LndpbmRvdycpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
c2FtZU9yaWdpbldpbmRvdy5zZWxmIiwgInNlY3JldCIpOworCisgICAgLy8gVGVzdCB0aGUgY2Fz
ZSB3aGVyZSBhIGRlbGV0ZWQgd2luZG93IGF0dHJpYnV0ZSB3YXMgc2hhZG93aW5nIGEgbmFtZWQg
cHJvcGVydHkuCisgICAgc2hvdWxkQmUoJ2Nyb3NzT3JpZ2luV2luZG93LnBhcmVudCcsICd3aW5k
b3cnKTsKKyAgICBzaG91bGRCZSgnc2FtZU9yaWdpbldpbmRvdy5wYXJlbnQnLCAnc2FtZU9yaWdp
bldpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFyZW50IiknKTsKKworICAgIGZpbmlz
aEpTVGVzdCgpOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9yZWlmeS13aW5kb3cuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL3JlaWZ5LXdpbmRv
dy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjBiNDgyOWM0ZDRjOWM2MzQwNmQyNWQ2NDc0MTIxYzQ1NTljMjAy
MzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jl
c291cmNlcy9yZWlmeS13aW5kb3cuaHRtbApAQCAtMCwwICsxLDggQEAKKzxzY3JpcHQ+CitkZWxl
dGUgd2luZG93LnNlbGY7Cit3aW5kb3cuc2VsZiA9ICJzZWNyZXQiOworCisvLyBEZWxldGluZyB3
aW5kb3cucGFyZW50IGV4cG9zZXMgdGhlIGRpdiB3aXRoIGlkICJwYXJlbnQiIHJldHVybmVkIGJ5
IHRoZSBuYW1lZCBwcm9wZXJ0eSBnZXR0ZXIuCitkZWxldGUgd2luZG93LnBhcmVudDsKKzwvc2Ny
aXB0PgorPGRpdiBpZD0icGFyZW50Ij48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vaW50ZXJmYWNlcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
ZG9tL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CmluZGV4IDZkMDk4OTZiNTViMTMzNWUyYWQxMjBi
MTIzZDU1MWJlY2I2MDAxNWIuLjA2YTU1YmU2OWM4YWNkZDU5MTZiNjhiZGZkOWY4MWU1YjliNzk1
M2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9kb20vaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pbnRlcmZhY2VzLWV4cGVjdGVk
LnR4dApAQCAtMzgwMCwzMCArMzgwMCwzNCBAQCBQQVNTIFdpbmRvdyBpbnRlcmZhY2Ugb2JqZWN0
IGxlbmd0aAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAogRkFJTCBXaW5kb3cg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QgYXNzZXJ0X2VxdWFsczogQ2xhc3MgbmFtZSBmb3IgcHJvdG90eXBlIG9mIFdpbmRv
dy5wcm90b3R5cGUgaXMgbm90ICJXaW5kb3dQcm9wZXJ0aWVzIiBleHBlY3RlZCAiW29iamVjdCBX
aW5kb3dQcm9wZXJ0aWVzXSIgYnV0IGdvdCAiW29iamVjdCBPYmplY3RdIgogRkFJTCBXaW5kb3cg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IFdp
bmRvdy5wcm90b3R5cGUgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgImNvbnN0cnVjdG9yIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiY29uc3RydWN0b3IiIG1pc3NpbmcKLUZBSUwgV2luZG93IGludGVy
ZmFjZTogYXR0cmlidXRlIHNlbGYgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmln
dXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBuYW1lIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
aGlzdG9yeSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGxvY2F0
aW9uYmFyIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWVudWJh
ciBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHBlcnNvbmFsYmFy
IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc2Nyb2xsYmFycyBh
c3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHN0YXR1c2JhciBhc3Nl
cnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHRvb2xiYXIgYXNzZXJ0X3Ry
dWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
Ci1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0dXMgYXNzZXJ0X3RydWU6IHBy
b3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNT
IFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzZWxmIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgbmFtZSAKK0ZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGhpc3Rv
cnkgYXNzZXJ0X2VxdWFsczogc2V0dGVyIG11c3QgYmUgdW5kZWZpbmVkIGZvciByZWFkb25seSBh
dHRyaWJ1dGVzIGV4cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChmdW5jdGlv
bikgZnVuY3Rpb24gImZ1bmN0aW9uIGhpc3RvcnkoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIK
K1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGxvY2F0aW9uYmFyIAorUEFTUyBXaW5k
b3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWVudWJhciAKK1BBU1MgV2luZG93IGludGVyZmFjZTog
YXR0cmlidXRlIHBlcnNvbmFsYmFyIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
c2Nyb2xsYmFycyAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHN0YXR1c2JhciAK
K1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHRvb2xiYXIgCitQQVNTIFdpbmRvdyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0dXMgCiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IG9wZXJh
dGlvbiBjbG9zZSgpIGFzc2VydF9lcXVhbHM6IHByb3BlcnR5IHNob3VsZCBiZSB3cml0YWJsZSBp
ZiBhbmQgb25seSBpZiBub3QgdW5mb3JnZWFibGUgZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNl
Ci1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBjbG9zZWQgYXNzZXJ0X3RydWU6IHBy
b3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNT
IFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBjbG9zZWQgCiBGQUlMIFdpbmRvdyBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBzdG9wKCkgZGVzYyBpcyBub3QgYW4gT2JqZWN0LiAoZXZhbHVhdGluZyAn
ImdldCIgaW4gZGVzYycpCiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBmb2N1cygp
IGFzc2VydF9lcXVhbHM6IHByb3BlcnR5IHNob3VsZCBiZSB3cml0YWJsZSBpZiBhbmQgb25seSBp
ZiBub3QgdW5mb3JnZWFibGUgZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCiBGQUlMIFdpbmRv
dyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBibHVyKCkgYXNzZXJ0X2VxdWFsczogcHJvcGVydHkgc2hv
dWxkIGJlIHdyaXRhYmxlIGlmIGFuZCBvbmx5IGlmIG5vdCB1bmZvcmdlYWJsZSBleHBlY3RlZCB0
cnVlIGJ1dCBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGZyYW1l
cyBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGxlbmd0aCBhc3Nl
cnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9wZW5lciBhc3NlcnRfdHJ1
ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
LUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHBhcmVudCBhc3NlcnRfdHJ1ZTogcHJv
cGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGZyYW1lRWxlbWVudCBhc3NlcnRfdHJ1ZTogcHJv
cGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1Mg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGZyYW1lcyAKK1BBU1MgV2luZG93IGludGVyZmFj
ZTogYXR0cmlidXRlIGxlbmd0aCAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9w
ZW5lciAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHBhcmVudCAKK1BBU1MgV2lu
ZG93IGludGVyZmFjZTogYXR0cmlidXRlIGZyYW1lRWxlbWVudCAKIEZBSUwgV2luZG93IGludGVy
ZmFjZTogb3BlcmF0aW9uIG9wZW4oRE9NU3RyaW5nLERPTVN0cmluZyxET01TdHJpbmcsYm9vbGVh
bikgZGVzYyBpcyBub3QgYW4gT2JqZWN0LiAoZXZhbHVhdGluZyAnImdldCIgaW4gZGVzYycpCi1G
QUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBuYXZpZ2F0b3IgYXNzZXJ0X3RydWU6IHBy
b3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlM
IFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBuYXZpZ2F0b3IgYXNzZXJ0X2VxdWFsczogc2V0
dGVyIG11c3QgYmUgdW5kZWZpbmVkIGZvciByZWFkb25seSBhdHRyaWJ1dGVzIGV4cGVjdGVkICh1
bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChmdW5jdGlvbikgZnVuY3Rpb24gImZ1bmN0aW9u
IG5hdmlnYXRvcigpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IgogRkFJTCBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgZXh0ZXJuYWwgYXNzZXJ0X293bl9wcm9wZXJ0eTogVGhlIGdsb2JhbCBv
YmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgImV4dGVybmFsIiBleHBlY3RlZCBwcm9wZXJ0eSAi
ZXh0ZXJuYWwiIG1pc3NpbmcKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGFwcGxp
Y2F0aW9uQ2FjaGUgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBh
cHBsaWNhdGlvbkNhY2hlIAogRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBvcGVyYXRpb24gYWxlcnQo
KSBkZXNjIGlzIG5vdCBhbiBPYmplY3QuIChldmFsdWF0aW5nICciZ2V0IiBpbiBkZXNjJykKIEZB
SUwgV2luZG93IGludGVyZmFjZTogb3BlcmF0aW9uIGNvbmZpcm0oRE9NU3RyaW5nKSBkZXNjIGlz
IG5vdCBhbiBPYmplY3QuIChldmFsdWF0aW5nICciZ2V0IiBpbiBkZXNjJykKIEZBSUwgV2luZG93
IGludGVyZmFjZTogb3BlcmF0aW9uIHByb21wdChET01TdHJpbmcsRE9NU3RyaW5nKSBkZXNjIGlz
IG5vdCBhbiBPYmplY3QuIChldmFsdWF0aW5nICciZ2V0IiBpbiBkZXNjJykKQEAgLTM4MzIsODIg
KzM4MzYsODIgQEAgRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2hvd01vZGFsRGlh
bG9nKERPTVN0cmluZyxhbnkpIGRlc2MgaXMgbm90IGFuIE8KIEZBSUwgV2luZG93IGludGVyZmFj
ZTogb3BlcmF0aW9uIHBvc3RNZXNzYWdlKGFueSxET01TdHJpbmcsW29iamVjdCBPYmplY3RdKSBh
c3NlcnRfZXF1YWxzOiBwcm9wZXJ0eSBzaG91bGQgYmUgd3JpdGFibGUgaWYgYW5kIG9ubHkgaWYg
bm90IHVuZm9yZ2VhYmxlIGV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZQogRkFJTCBXaW5kb3cg
aW50ZXJmYWNlOiBvcGVyYXRpb24gY2FwdHVyZUV2ZW50cygpIGRlc2MgaXMgbm90IGFuIE9iamVj
dC4gKGV2YWx1YXRpbmcgJyJnZXQiIGluIGRlc2MnKQogRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBv
cGVyYXRpb24gcmVsZWFzZUV2ZW50cygpIGRlc2MgaXMgbm90IGFuIE9iamVjdC4gKGV2YWx1YXRp
bmcgJyJnZXQiIGluIGRlc2MnKQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25h
Ym9ydCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uYWJvcnQg
CiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmF1dG9jb21wbGV0ZSBhc3NlcnRf
b3duX3Byb3BlcnR5OiBUaGUgZ2xvYmFsIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAib25h
dXRvY29tcGxldGUiIGV4cGVjdGVkIHByb3BlcnR5ICJvbmF1dG9jb21wbGV0ZSIgbWlzc2luZwog
RkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hdXRvY29tcGxldGVlcnJvciBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBUaGUgZ2xvYmFsIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAi
b25hdXRvY29tcGxldGVlcnJvciIgZXhwZWN0ZWQgcHJvcGVydHkgIm9uYXV0b2NvbXBsZXRlZXJy
b3IiIG1pc3NpbmcKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uYmx1ciBhc3Nl
cnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uYmx1ciAKIEZBSUwgV2lu
ZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uY2FuY2VsIGFzc2VydF9vd25fcHJvcGVydHk6IFRo
ZSBnbG9iYWwgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJvbmNhbmNlbCIgZXhwZWN0ZWQg
cHJvcGVydHkgIm9uY2FuY2VsIiBtaXNzaW5nCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbmNhbnBsYXkgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxl
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbmNhbnBsYXl0aHJvdWdoIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3Vy
YWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb25jaGFuZ2UgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxl
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbmNsaWNrIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25j
YW5wbGF5IAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jYW5wbGF5dGhyb3Vn
aCAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlIAorUEFTUyBXaW5k
b3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jbGljayAKIEZBSUwgV2luZG93IGludGVyZmFjZTog
YXR0cmlidXRlIG9uY2xvc2UgYXNzZXJ0X293bl9wcm9wZXJ0eTogVGhlIGdsb2JhbCBvYmplY3Qg
bXVzdCBoYXZlIGEgcHJvcGVydHkgIm9uY2xvc2UiIGV4cGVjdGVkIHByb3BlcnR5ICJvbmNsb3Nl
IiBtaXNzaW5nCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNvbnRleHRtZW51
IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jb250ZXh0bWVu
dSAKIEZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uY3VlY2hhbmdlIGFzc2VydF9v
d25fcHJvcGVydHk6IFRoZSBnbG9iYWwgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJvbmN1
ZWNoYW5nZSIgZXhwZWN0ZWQgcHJvcGVydHkgIm9uY3VlY2hhbmdlIiBtaXNzaW5nCi1GQUlMIFdp
bmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmRibGNsaWNrIGFzc2VydF90cnVlOiBwcm9wZXJ0
eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5k
b3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25kcmFnIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0
IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25kcmFnZW5kIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJl
IGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25kcmFnZW50ZXIgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUg
Y29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFdpbmRvdyBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbmRibGNsaWNrIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb25kcmFnIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25kcmFnZW5kIAor
UEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25kcmFnZW50ZXIgCiBGQUlMIFdpbmRv
dyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmRyYWdleGl0IGFzc2VydF9vd25fcHJvcGVydHk6IFRo
ZSBnbG9iYWwgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJvbmRyYWdleGl0IiBleHBlY3Rl
ZCBwcm9wZXJ0eSAib25kcmFnZXhpdCIgbWlzc2luZwotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25kcmFnbGVhdmUgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmln
dXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbmRyYWdvdmVyIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3Vy
YWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb25kcmFnc3RhcnQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJh
YmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbmRyb3AgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bmR1cmF0aW9uY2hhbmdlIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJs
ZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb25lbXB0aWVkIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25lbmRlZCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uZXJy
b3IgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmZvY3VzIGFz
c2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25pbnB1dCBhc3NlcnRf
dHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uaW52YWxpZCBhc3NlcnRfdHJ1
ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
LUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ua2V5ZG93biBhc3NlcnRfdHJ1ZTog
cHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZB
SUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ua2V5cHJlc3MgYXNzZXJ0X3RydWU6IHBy
b3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlM
IFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmtleXVwIGFzc2VydF90cnVlOiBwcm9wZXJ0
eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5k
b3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25sb2FkIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0
IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25sb2FkZWRkYXRhIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0
IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25sb2FkZWRtZXRhZGF0YSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkg
bXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93
IGludGVyZmFjZTogYXR0cmlidXRlIG9ubG9hZHN0YXJ0IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBt
dXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZWRvd24gYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11
c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlZW50ZXIgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11
c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlbGVhdmUgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11
c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlbW92ZSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVz
dCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGlu
dGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VvdXQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3Qg
YmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlb3ZlciBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBi
ZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVy
ZmFjZTogYXR0cmlidXRlIG9ubW91c2V1cCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBj
b25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFj
ZTogYXR0cmlidXRlIG9ubW91c2V3aGVlbCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBj
b25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFj
ZTogYXR0cmlidXRlIG9ucGF1c2UgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmln
dXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbnBsYXkgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxl
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbnBsYXlpbmcgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bnByb2dyZXNzIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25y
YXRlY2hhbmdlIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25y
ZXNldCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ucmVzaXpl
IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zY3JvbGwgYXNz
ZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnNlZWtlZCBhc3NlcnRf
dHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uc2Vla2luZyBhc3NlcnRfdHJ1
ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
LUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uc2VsZWN0IGFzc2VydF90cnVlOiBw
cm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFT
UyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25kcmFnbGVhdmUgCitQQVNTIFdpbmRvdyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmRyYWdvdmVyIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25kcmFnc3RhcnQgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bmRyb3AgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmR1cmF0aW9uY2hhbmdl
IAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25lbXB0aWVkIAorUEFTUyBXaW5k
b3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25lbmRlZCAKK1BBU1MgV2luZG93IGludGVyZmFjZTog
YXR0cmlidXRlIG9uZXJyb3IgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmZv
Y3VzIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25pbnB1dCAKK1BBU1MgV2lu
ZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uaW52YWxpZCAKK1BBU1MgV2luZG93IGludGVyZmFj
ZTogYXR0cmlidXRlIG9ua2V5ZG93biAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRl
IG9ua2V5cHJlc3MgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmtleXVwIAor
UEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25sb2FkIAorUEFTUyBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25sb2FkZWRkYXRhIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25sb2FkZWRtZXRhZGF0YSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmli
dXRlIG9ubG9hZHN0YXJ0IAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3Vz
ZWRvd24gCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlZW50ZXIgCitQ
QVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlbGVhdmUgCitQQVNTIFdpbmRv
dyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlbW92ZSAKK1BBU1MgV2luZG93IGludGVyZmFj
ZTogYXR0cmlidXRlIG9ubW91c2VvdXQgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbm1vdXNlb3ZlciAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2V1
cCAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2V3aGVlbCAKK1BBU1Mg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGF1c2UgCitQQVNTIFdpbmRvdyBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbnBsYXkgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bnBsYXlpbmcgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnByb2dyZXNzIAor
UEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25yYXRlY2hhbmdlIAorUEFTUyBXaW5k
b3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25yZXNldCAKK1BBU1MgV2luZG93IGludGVyZmFjZTog
YXR0cmlidXRlIG9ucmVzaXplIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25z
Y3JvbGwgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnNlZWtlZCAKK1BBU1Mg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uc2Vla2luZyAKK1BBU1MgV2luZG93IGludGVy
ZmFjZTogYXR0cmlidXRlIG9uc2VsZWN0IAogRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb25zaG93IGFzc2VydF9vd25fcHJvcGVydHk6IFRoZSBnbG9iYWwgb2JqZWN0IG11c3QgaGF2
ZSBhIHByb3BlcnR5ICJvbnNob3ciIGV4cGVjdGVkIHByb3BlcnR5ICJvbnNob3ciIG1pc3NpbmcK
IEZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uc29ydCBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBUaGUgZ2xvYmFsIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAib25zb3J0IiBleHBl
Y3RlZCBwcm9wZXJ0eSAib25zb3J0IiBtaXNzaW5nCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbnN0YWxsZWQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJh
YmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbnN1Ym1pdCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUg
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRl
IG9uc3VzcGVuZCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9u
dGltZXVwZGF0ZSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9u
c3RhbGxlZCAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uc3VibWl0IAorUEFT
UyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zdXNwZW5kIAorUEFTUyBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb250aW1ldXBkYXRlIAogRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb250b2dnbGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogVGhlIGdsb2JhbCBvYmplY3Qg
bXVzdCBoYXZlIGEgcHJvcGVydHkgIm9udG9nZ2xlIiBleHBlY3RlZCBwcm9wZXJ0eSAib250b2dn
bGUiIG1pc3NpbmcKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9udm9sdW1lY2hh
bmdlIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253YWl0aW5n
IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb252b2x1bWVjaGFu
Z2UgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndhaXRpbmcgCiBGQUlMIFdp
bmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmFmdGVycHJpbnQgYXNzZXJ0X293bl9wcm9wZXJ0
eTogVGhlIGdsb2JhbCBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgIm9uYWZ0ZXJwcmludCIg
ZXhwZWN0ZWQgcHJvcGVydHkgIm9uYWZ0ZXJwcmludCIgbWlzc2luZwogRkFJTCBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25iZWZvcmVwcmludCBhc3NlcnRfb3duX3Byb3BlcnR5OiBUaGUg
Z2xvYmFsIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAib25iZWZvcmVwcmludCIgZXhwZWN0
ZWQgcHJvcGVydHkgIm9uYmVmb3JlcHJpbnQiIG1pc3NpbmcKLUZBSUwgV2luZG93IGludGVyZmFj
ZTogYXR0cmlidXRlIG9uYmVmb3JldW5sb2FkIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJl
IGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25oYXNoY2hhbmdlIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJl
IGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25iZWZvcmV1bmxvYWQgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbmhhc2hjaGFuZ2UgCiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bmxhbmd1YWdlY2hhbmdlIGFzc2VydF9vd25fcHJvcGVydHk6IFRoZSBnbG9iYWwgb2JqZWN0IG11
c3QgaGF2ZSBhIHByb3BlcnR5ICJvbmxhbmd1YWdlY2hhbmdlIiBleHBlY3RlZCBwcm9wZXJ0eSAi
b25sYW5ndWFnZWNoYW5nZSIgbWlzc2luZwotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb25tZXNzYWdlIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25vZmZsaW5lIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25v
bmxpbmUgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBhZ2Vo
aWRlIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYWdlc2hv
dyBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ucG9wc3RhdGUg
YXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnN0b3JhZ2UgYXNz
ZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnVubG9hZCBhc3NlcnRf
dHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubWVzc2FnZSAKK1BBU1MgV2lu
ZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ub2ZmbGluZSAKK1BBU1MgV2luZG93IGludGVyZmFj
ZTogYXR0cmlidXRlIG9ub25saW5lIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25wYWdlaGlkZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGFnZXNob3cg
CitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBvcHN0YXRlIAorUEFTUyBXaW5k
b3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zdG9yYWdlIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb251bmxvYWQgCiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBi
dG9hKERPTVN0cmluZykgZGVzYyBpcyBub3QgYW4gT2JqZWN0LiAoZXZhbHVhdGluZyAnImdldCIg
aW4gZGVzYycpCiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhdG9iKERPTVN0cmlu
ZykgZGVzYyBpcyBub3QgYW4gT2JqZWN0LiAoZXZhbHVhdGluZyAnImdldCIgaW4gZGVzYycpCiBG
QUlMIFdpbmRvdyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXRUaW1lb3V0KEZ1bmN0aW9uLGxvbmcs
YW55KSBkZXNjIGlzIG5vdCBhbiBPYmplY3QuIChldmFsdWF0aW5nICciZ2V0IiBpbiBkZXNjJykK
QEAgLTM5MTcsOCArMzkyMSw4IEBAIEZBSUwgV2luZG93IGludGVyZmFjZTogb3BlcmF0aW9uIHNl
dEludGVydmFsKEZ1bmN0aW9uLGxvbmcsYW55KSBkZXNjIGlzIG5vdCBhbiBPCiBGQUlMIFdpbmRv
dyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXRJbnRlcnZhbChET01TdHJpbmcsbG9uZyxhbnkpIGRl
c2MgaXMgbm90IGFuIE9iamVjdC4gKGV2YWx1YXRpbmcgJyJnZXQiIGluIGRlc2MnKQogRkFJTCBX
aW5kb3cgaW50ZXJmYWNlOiBvcGVyYXRpb24gY2xlYXJJbnRlcnZhbChsb25nKSBkZXNjIGlzIG5v
dCBhbiBPYmplY3QuIChldmFsdWF0aW5nICciZ2V0IiBpbiBkZXNjJykKIEZBSUwgV2luZG93IGlu
dGVyZmFjZTogb3BlcmF0aW9uIGNyZWF0ZUltYWdlQml0bWFwKEltYWdlQml0bWFwU291cmNlLGxv
bmcsbG9uZyxsb25nLGxvbmcpIGFzc2VydF9vd25fcHJvcGVydHk6IGdsb2JhbCBvYmplY3QgbWlz
c2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAiY3JlYXRlSW1hZ2VC
aXRtYXAiIG1pc3NpbmcKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHNlc3Npb25T
dG9yYWdlIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbG9jYWxT
dG9yYWdlIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc2Vzc2lv
blN0b3JhZ2UgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsb2NhbFN0b3JhZ2Ug
CiBQQVNTIFdpbmRvdyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHdpbmRvdyAKIFBBU1Mg
U3RyaW5naWZpY2F0aW9uIG9mIHdpbmRvdyAKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93
IG11c3QgaGF2ZSBvd24gcHJvcGVydHkgIndpbmRvdyIgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0cmlidXRlcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3Jn
ZWFibGUtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKaW5kZXggMTJiZDVlNzMzYzlhZGJjMDEzYmZj
N2EzN2ZiYWE4MDQ3NTRjNTc4YS4uMTc0NDlkZGE4Nzg4MzdlNzE5OWM3YWY0OTZkOWYxZjIwZTk1
OTMxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
LXVuZm9yZ2VhYmxlLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2pz
L2dldE93blByb3BlcnR5RGVzY3JpcHRvci11bmZvcmdlYWJsZS1hdHRyaWJ1dGVzLWV4cGVjdGVk
LnR4dApAQCAtOTgsMTQgKzk4LDYgQEAgUEFTUyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSBpcyBm
YWxzZQogUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKGludmFsaWRPYmplY3QpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IFRoZSBET01XaW5kb3cubG9jYXRpb24gZ2V0dGVyIGNhbiBvbmx5IGJl
IHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdy4KIFBBU1MgZGVzY3JpcHRvci5nZXQuY2Fs
bCh3aW5kb3cpID09PSB3aW5kb3cubG9jYXRpb24gaXMgdHJ1ZQogCi0qIFdpbmRvdy5zZWxmCi1Q
QVNTIGRlc2NyaXB0b3IuZ2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCi1QQVNTIGRlc2Ny
aXB0b3Iuc2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCi1QQVNTIGRlc2NyaXB0b3IuZW51
bWVyYWJsZSBpcyB0cnVlCi1QQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIGZhbHNlCi1Q
QVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwoaW52YWxpZE9iamVjdCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogVGhlIERPTVdpbmRvdy5zZWxmIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGlu
c3RhbmNlcyBvZiBET01XaW5kb3cuCi1QQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93KSA9
PT0gd2luZG93LnNlbGYgaXMgdHJ1ZQotCiAqIFdpbmRvdy53aW5kb3cKIFBBU1MgZGVzY3JpcHRv
ci5nZXQgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KIFBBU1MgZGVzY3JpcHRvci5zZXQgaXMg
dW5kZWZpbmVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yLXVuZm9yZ2VhYmxlLWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRlc3RzL2pzL2dldE93
blByb3BlcnR5RGVzY3JpcHRvci11bmZvcmdlYWJsZS1hdHRyaWJ1dGVzLmh0bWwKaW5kZXggMzI5
MWVkZDdiYmFiZWI2MWFkNmJjOTFhMjdiNjYwMjA2MGI1NmVjYy4uNDlmNjEyNzI0Yjk0OWIyZDIx
YmRlOWY5OWY0ZmEwMjhiZGFjOTcwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yLXVuZm9yZ2VhYmxlLWF0dHJpYnV0ZXMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0cmlidXRl
cy5odG1sCkBAIC00MywxMiArNDMsNiBAQCBjaGVja1VuZm9yZ2VhYmxlUHJvcGVydHlEZXNjcmlw
dG9yKGRlc2NyaXB0b3IpOwogc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRv
dykgPT09IHdpbmRvdy5sb2NhdGlvbiIpOwogCiBkZWJ1ZygiIik7Ci1kZWJ1ZygiKiBXaW5kb3cu
c2VsZiIpOwotZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2lu
ZG93LCAic2VsZiIpOwotY2hlY2tVbmZvcmdlYWJsZVByb3BlcnR5RGVzY3JpcHRvcihkZXNjcmlw
dG9yKTsKLXNob3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci5nZXQuY2FsbCh3aW5kb3cpID09PSB3aW5k
b3cuc2VsZiIpOwotCi1kZWJ1ZygiIik7CiBkZWJ1ZygiKiBXaW5kb3cud2luZG93Iik7CiBkZXNj
cmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICJ3aW5kb3ci
KTsKIGNoZWNrVW5mb3JnZWFibGVQcm9wZXJ0eURlc2NyaXB0b3IoZGVzY3JpcHRvciwgdHJ1ZSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Itd2lu
ZG93LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yLXdpbmRvdy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCAzZDgxNWY3
MTgyN2FiZjBhMWUxZjc3Y2FiNDQ1NjkzODhlOWExNTA2Li5kOTFjMGEwZjQyMGM4M2Y0NDgxOWJm
N2RjNmJkZDY3YzZkZmM1MDk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3Itd2luZG93LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy1leHBl
Y3RlZC50eHQKQEAgLTcsNyArNyw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiBQQVNTIGRl
c2NyaXB0b3IuZ2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3Iu
c2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJs
ZSBpcyB0cnVlCi1GQUlMIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIHNob3VsZCBiZSB0cnVlLiBX
YXMgZmFsc2UuCitQQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1MgZGVz
Y3JpcHRvci5nZXQuY2FsbChub25XaW5kb3dPYmplY3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IFRoZSBET01XaW5kb3cuc2NyZWVuIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3Rh
bmNlcyBvZiBET01XaW5kb3cuCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93KSA9PT0g
d2luZG93LnNjcmVlbiBpcyB0cnVlCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwoKSA9PT0gd2lu
ZG93LnNjcmVlbiBpcyB0cnVlCkBAIC0xNiwxNiArMTYsMjUgQEAgUEFTUyBkZXNjcmlwdG9yLmdl
dC5jYWxsKCkgPT09IHdpbmRvdy5zY3JlZW4gaXMgdHJ1ZQogUEFTUyBkZXNjcmlwdG9yLmdldCBp
cyBhbiBpbnN0YW5jZSBvZiBGdW5jdGlvbgogUEFTUyBkZXNjcmlwdG9yLnNldCBpcyBhbiBpbnN0
YW5jZSBvZiBGdW5jdGlvbgogUEFTUyBkZXNjcmlwdG9yLmVudW1lcmFibGUgaXMgdHJ1ZQotRkFJ
TCBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSBzaG91bGQgYmUgdHJ1ZS4gV2FzIGZhbHNlLgorUEFT
UyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNh
bGwobm9uV2luZG93T2JqZWN0KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgRE9NV2lu
ZG93Lm5hdmlnYXRvciBnZXR0ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgRE9N
V2luZG93LgogUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRvdykgPT09IHdpbmRvdy5uYXZp
Z2F0b3IgaXMgdHJ1ZQogUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKCkgPT09IHdpbmRvdy5uYXZp
Z2F0b3IgaXMgdHJ1ZQogCisqIFdpbmRvdy5zZWxmCitQQVNTIGRlc2NyaXB0b3IuZ2V0IGlzIGFu
IGluc3RhbmNlIG9mIEZ1bmN0aW9uCitQQVNTIGRlc2NyaXB0b3Iuc2V0IGlzIGFuIGluc3RhbmNl
IG9mIEZ1bmN0aW9uCitQQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyB0cnVlCitQQVNTIGRl
c2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1MgZGVzY3JpcHRvci5nZXQuY2FsbChu
b25XaW5kb3dPYmplY3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBET01XaW5kb3cu
c2VsZiBnZXR0ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgRE9NV2luZG93Lgor
UEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRvdykgPT09IHdpbmRvdy5zZWxmIGlzIHRydWUK
K1BBU1MgZGVzY3JpcHRvci5nZXQuY2FsbCgpID09PSB3aW5kb3cuc2VsZiBpcyB0cnVlCisKICog
V2luZG93LmZyYW1lRWxlbWVudAogUEFTUyBkZXNjcmlwdG9yLmdldCBpcyBhbiBpbnN0YW5jZSBv
ZiBGdW5jdGlvbgogUEFTUyBkZXNjcmlwdG9yLnNldCBpcyB1bmRlZmluZWQuCiBQQVNTIGRlc2Ny
aXB0b3IuZW51bWVyYWJsZSBpcyB0cnVlCi1GQUlMIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIHNo
b3VsZCBiZSB0cnVlLiBXYXMgZmFsc2UuCitQQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlz
IHRydWUKIFBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbChub25XaW5kb3dPYmplY3QpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBET01XaW5kb3cuZnJhbWVFbGVtZW50IGdldHRlciBjYW4g
b25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBET01XaW5kb3cuCiBQQVNTIGRlc2NyaXB0b3Iu
Z2V0LmNhbGwod2luZG93KSA9PT0gd2luZG93LmZyYW1lRWxlbWVudCBpcyB0cnVlCiBQQVNTIGRl
c2NyaXB0b3IuZ2V0LmNhbGwoKSA9PT0gd2luZG93LmZyYW1lRWxlbWVudCBpcyB0cnVlCkBAIC0z
NCwxMCArNDMsMjMgQEAgUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKCkgPT09IHdpbmRvdy5mcmFt
ZUVsZW1lbnQgaXMgdHJ1ZQogUEFTUyBkZXNjcmlwdG9yLmdldCBpcyBhbiBpbnN0YW5jZSBvZiBG
dW5jdGlvbgogUEFTUyBkZXNjcmlwdG9yLnNldCBpcyBhbiBpbnN0YW5jZSBvZiBGdW5jdGlvbgog
UEFTUyBkZXNjcmlwdG9yLmVudW1lcmFibGUgaXMgdHJ1ZQotRkFJTCBkZXNjcmlwdG9yLmNvbmZp
Z3VyYWJsZSBzaG91bGQgYmUgdHJ1ZS4gV2FzIGZhbHNlLgorUEFTUyBkZXNjcmlwdG9yLmNvbmZp
Z3VyYWJsZSBpcyB0cnVlCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwobm9uV2luZG93T2JqZWN0
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgRE9NV2luZG93Lm5hbWUgZ2V0dGVyIGNh
biBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdy4KIFBBU1MgZGVzY3JpcHRv
ci5nZXQuY2FsbCh3aW5kb3cpID09PSB3aW5kb3cubmFtZSBpcyB0cnVlCiBQQVNTIGRlc2NyaXB0
b3IuZ2V0LmNhbGwoKSA9PT0gd2luZG93Lm5hbWUgaXMgdHJ1ZQorCisqIHdpbmRvdy5Ob2RlCitQ
QVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBkZXNjcmlwdG9yLndyaXRh
YmxlIGlzIHRydWUKK1BBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBk
ZXNjcmlwdG9yLnZhbHVlIGlzIHdpbmRvdy5Ob2RlCisKKyogd2luZG93LmNvbnN0cnVjdG9yCitQ
QVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBkZXNjcmlwdG9yLndyaXRh
YmxlIGlzIHRydWUKK1BBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBk
ZXNjcmlwdG9yLnZhbHVlIGlzIHdpbmRvdy5XaW5kb3cKKwogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Itd2luZG93LWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRl
c3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1sCmlu
ZGV4IDEwNmU0NThkMjZiNGNlMjc2N2NiZjg1YTkzNWJmODkzN2M0MTJiNWYuLjllY2UyOWJjNTgw
MjJlODgxYjU1NzExNDk3ZWE3NDJjYmFjOGI0ZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pz
L2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5o
dG1sCkBAIC0zMyw2ICszMywxMyBAQCBzaG91bGRCZVRydWUoImRlc2NyaXB0b3IuZ2V0LmNhbGwo
d2luZG93KSA9PT0gd2luZG93Lm5hdmlnYXRvciIpOwogc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9y
LmdldC5jYWxsKCkgPT09IHdpbmRvdy5uYXZpZ2F0b3IiKTsKIAogZGVidWcoIiIpOworZGVidWco
IiogV2luZG93LnNlbGYiKTsKK2Rlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKHdpbmRvdywgInNlbGYiKTsKK2NoZWNrV2luZG93UHJvcGVydHlEZXNjcmlwdG9yKGRl
c2NyaXB0b3IpOworc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRvdykgPT09
IHdpbmRvdy5zZWxmIik7CitzaG91bGRCZVRydWUoImRlc2NyaXB0b3IuZ2V0LmNhbGwoKSA9PT0g
d2luZG93LnNlbGYiKTsKKworZGVidWcoIiIpOwogZGVidWcoIiogV2luZG93LmZyYW1lRWxlbWVu
dCIpOwogZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93
LCAiZnJhbWVFbGVtZW50Iik7CiBjaGVja1dpbmRvd1Byb3BlcnR5RGVzY3JpcHRvcihkZXNjcmlw
dG9yLCB0cnVlKTsKQEAgLTQ2LDUgKzUzLDIzIEBAIGNoZWNrV2luZG93UHJvcGVydHlEZXNjcmlw
dG9yKGRlc2NyaXB0b3IsIGZhbHNlKTsKIHNob3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci5nZXQuY2Fs
bCh3aW5kb3cpID09PSB3aW5kb3cubmFtZSIpOwogc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdl
dC5jYWxsKCkgPT09IHdpbmRvdy5uYW1lIik7CiAKK2RlYnVnKCIiKTsKK2RlYnVnKCIqIHdpbmRv
dy5Ob2RlIik7CitkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3
aW5kb3csICJOb2RlIik7CitzaG91bGRCZUZhbHNlKCJkZXNjcmlwdG9yLmVudW1lcmFibGUiKTsK
K3Nob3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci53cml0YWJsZSIpOworc2hvdWxkQmVUcnVlKCJkZXNj
cmlwdG9yLmNvbmZpZ3VyYWJsZSIpOworc2hvdWxkQmUoImRlc2NyaXB0b3IudmFsdWUiLCAid2lu
ZG93Lk5vZGUiKTsKKworZGVidWcoIiIpOworLy8gRklYTUU6ICdjb25zdHJ1Y3Rvcicgc2hvdWxk
IGJlIG9uIHRoZSBwcm90b3R5cGUuCitkZWJ1ZygiKiB3aW5kb3cuY29uc3RydWN0b3IiKTsKK2Rl
c2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgImNvbnN0
cnVjdG9yIik7CitzaG91bGRCZUZhbHNlKCJkZXNjcmlwdG9yLmVudW1lcmFibGUiKTsKK3Nob3Vs
ZEJlVHJ1ZSgiZGVzY3JpcHRvci53cml0YWJsZSIpOworc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9y
LmNvbmZpZ3VyYWJsZSIpOworc2hvdWxkQmUoImRlc2NyaXB0b3IudmFsdWUiLCAid2luZG93Lldp
bmRvdyIpOworCitkZWJ1ZygiIik7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270935</attachid>
            <date>2016-02-09 09:23:31 -0800</date>
            <delta_ts>2016-02-10 09:31:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-153920-20160209092309.patch</filename>
            <type>text/plain</type>
            <size>60270</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2MzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MWZjYTc2OTU1YjI5MDU4MmMwMzM0ZTNiZDI1MTg1YjlhOWNiMjViLi41MWE2MGI5NDczZDE1NDdi
ZTc4YzI1ZDYxZGNhNDQ1NGQ3MjQwNGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1OCBAQAorMjAxNi0wMi0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIEF0dHJpYnV0ZXMgb24gdGhlIFdpbmRvdyBpbnN0YW5jZSBzaG91bGQgYmUgY29u
ZmlndXJhYmxlIHVubGVzcyBbVW5mb3JnZWFibGVdCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM5MjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI0
NTYzMjExPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE1hcmtpbmcgdGhlIFdpbmRvdyBpbnN0YW5jZSBhdHRyaWJ1dGVzIGFzIGNvbmZpZ3VyYWJsZSBi
dXQgY2F1c2UKKyAgICAgICAgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKCkgdG8gcmVwb3J0IHRo
ZW0gYXMgY29uZmlndXJhYmxlLCBhcworICAgICAgICBleHBlY3RlZC4gSG93ZXZlciwgdHJ5aW5n
IHRvIGRlbGV0ZSB0aGVtIHdvdWxkIGFjdHVhbGx5IGxlYWQgdG8KKyAgICAgICAgdW5leHBlY3Rl
ZCBiZWhhdmlvciBiZWNhdXNlOgorICAgICAgICAtIFdlIGRpZCBub3QgcmVpZnkgY3VzdG9tIGFj
Y2Vzc29yIHByb3BlcnRpZXMgKG1vc3Qgb2YgdGhlIFdpbmRvdworICAgICAgICAgIHByb3BlcnRp
ZXMgYXJlIGN1c3RvbSBhY2Nlc3NvcnMpIHVwb24gZGVsZXRpb24uCisgICAgICAgIC0gRm9yIG5v
bi1yZWlmaWVkIHN0YXRpYyBwcm9wZXJ0aWVzIG1hcmtlZCBhcyBjb25maWd1cmFibGUsCisgICAg
ICAgICAgSlNPYmplY3Q6OmRlbGV0ZVByb3BlcnR5KCkgd291bGQgYXR0ZW1wdCB0byBjYWxsIHRo
ZSBwcm9wZXJ0eQorICAgICAgICAgIHNldHRlciB3aXRoIHVuZGVmaW5lZC4gQXMgYSByZXN1bHQs
IGNhbGxpbmcgZGVsZXRlIHdpbmRvdy5uYW1lCisgICAgICAgICAgd291bGQgY2F1c2Ugd2luZG93
Lm5hbWUgdG8gYmVjb21lIHRoZSBzdHJpbmcgInVuZGVmaW5lZCIgaW5zdGVhZAorICAgICAgICAg
IG9mIHRoZSB1bmRlZmluZWQgdmFsdWUuCisKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0LmNw
cDoKKyAgICAgICAgKEpTQzo6Z2V0Q2xhc3NQcm9wZXJ0eU5hbWVzKToKKyAgICAgICAgTm93IHRo
YXQgd2UgcmVpZnkgQUxMIHByb3BlcnRpZXMsIHdlIG9ubHkgbmVlZCB0byBjaGVjayB0aGUgcHJv
cGVydHkgdGFibGUKKyAgICAgICAgaWYgd2UgaGF2ZSBub3QgcmVpZmllZC4gQXMgYSByZXN1bHQs
IEkgZHJvcHBlZCB0aGUgJ2RpZFJlaWZ5JyBwYXJhbWV0ZXIgZm9yCisgICAgICAgIHRoaXMgZnVu
Y3Rpb24gYW5kIGluc3RlYWQgb25seSBjYWxsIHRoaXMgZnVuY3Rpb24gaWYgd2UgaGF2ZSBub3Qg
eWV0IHJlaWZpZWQuCisKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dElubGluZVNsb3cpOgor
ICAgICAgICBPbmx5IGNhbGwgcHV0RW50cnkoKSBpZiB3ZSBoYXZlIG5vdCByZWlmaWVkOiBEcm9w
IHRoZQorICAgICAgICAnfHwgIShlbnRyeS0+YXR0cmlidXRlcygpICYgQnVpbHRpbk9yRnVuY3Rp
b25PckFjY2Vzc29yKScKKyAgICAgICAgY2hlY2sgYXMgc3VjaCBwcm9wZXJ0aWVzIG5vdyBnZXQg
cmVpZmllZCBhcyB3ZWxsLgorCisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpkZWxldGVQcm9wZXJ0
eSk6CisgICAgICAgIC0gQ2FsbCByZWlmeUFsbFN0YXRpY1Byb3BlcnRpZXMoKSBpbnN0ZWFkIG9m
IHJlaWZ5U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKCkKKyAgICAgICAgICBzbyB0aGF0IHdlIG5v
dyByZWlmeSBhbGwgcHJvcGVydGllcyB1cG9uIGRlbGV0aW9uLCBpbmNsdWRpbmcgdGhlIGN1c3Rv
bQorICAgICAgICAgIGFjY2Vzc29ycy4gcmVpZnlTdGF0aWNGdW5jdGlvbnNGb3JEZWxldGUoKSBp
cyBub3cgcmVtb3ZlZCBhbmQgdGhlIHNhbWUKKyAgICAgICAgICByZWlmaWNhdGlvbiBmdW5jdGlv
biBpcyBub3cgdXNlZCBieTogZGVsZXRpb24sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcigpCisg
ICAgICAgICAgYW5kIGVhZ2VyIHJlaWZpY2F0aW9uIG9mIHRoZSBwcm90b3R5cGUgb2JqZWN0cyBp
biB0aGUgYmluZGluZ3MuCisgICAgICAgIC0gRHJvcCBjb2RlIHRoYXQgZmFsbHMgYmFjayB0byBj
YWxsaW5nIHRoZSBzdGF0aWMgcHJvcGVydHkgc2V0dGVyIHdpdGgKKyAgICAgICAgICB1bmRlZmlu
ZWQgaWYgd2UgY2Fubm90IGZpbmQgdGhlIHByb3BlcnR5IGluIHRoZSBwcm9wZXJ0eSBzdG9yYWdl
LiBBcworICAgICAgICAgIHdlIG5vdyByZWlmeSBBTEwgcHJvcGVydGllcywgdGhlIGNvZGUgcmVt
b3ZpbmcgdGhlIHByb3BlcnR5IGZyb20gdGhlCisgICAgICAgICAgcHJvcGVydHkgc3RvcmFnZSBz
aG91bGQgc3VjY2VlZCwgcHJvdmlkZWQgdGhhdCB0aGUgcHJvcGVydHkgYWN0dWFsbHkKKyAgICAg
ICAgICBleGlzdHMuCisKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldE93bk5vbkluZGV4UHJv
cGVydHlOYW1lcyk6CisgICAgICAgIE9ubHkgY2FsbCBnZXRDbGFzc1Byb3BlcnR5TmFtZXMoKSBp
ZiB3ZSBoYXZlIG5vdCByZWlmaWVkLiBXZSBzaG91bGQgbm8gbG9uZ2VyCisgICAgICAgIGNoZWNr
IHRoZSBzdGF0aWMgcHJvcGVydHkgdGFibGUgYWZ0ZXIgcmVpZnlpbmcgbm93IHRoYXQgd2UgcmVp
ZnkgYWxsCisgICAgICAgIHByb3BlcnRpZXMuCisKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnJl
aWZ5QWxsU3RhdGljUHJvcGVydGllcyk6CisgICAgICAgIE1lcmdlIHdpdGggcmVpZnlTdGF0aWNG
dW5jdGlvbnNGb3JEZWxldGUoKS4gVGhlIG9ubHkgYmVoYXZpb3IgY2hhbmdlIGlzIHRoZQorICAg
ICAgICBmbGF0dGVuaW5nIHRvIGFuIHVuY2FjaGVhYmxlIGRpY3Rpb25hcnksIGxpa2UgcmVpZnlT
dGF0aWNGdW5jdGlvbnNGb3JEZWxldGUoKQorICAgICAgICB1c2VkIHRvIGRvLgorCisgICAgICAg
ICogcnVudGltZS9KU09iamVjdC5oOgorCiAyMDE2LTAyLTA4ICBLZWl0aCBNaWxsZXIgIDxrZWl0
aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEVycm9yIGNvbnN0cnVjdGlvbiBmb3IgaW5s
aW5lZCBvcGVyYXRpb25zIHNob3VsZCBub3QgdXNlIHRoZSBpbmxpbmVyJ3MgQ29kZUJsb2NrCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggZjAyOWM0Nzc4ZjVmNDYwMjNhYTU2ZGRkZjgyMzk5MGJhNTdmM2VkOC4uMWNm
OWM0ZGM1MmY0MmYxZmQyZGIyZTYwMWRhOGE1YTk2MWJlODRlMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDYzIEBACisyMDE2LTAyLTA3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisK
KyAgICAgICAgQXR0cmlidXRlcyBvbiB0aGUgV2luZG93IGluc3RhbmNlIHNob3VsZCBiZSBjb25m
aWd1cmFibGUgdW5sZXNzIFtVbmZvcmdlYWJsZV0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzkyMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjQ1
NjMyMTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QXR0cmlidXRlcyBvbiB0aGUgV2luZG93IGluc3RhbmNlIHNob3VsZCBiZSBjb25maWd1cmFibGUg
dW5sZXNzIFtVbmZvcmdlYWJsZV06CisgICAgICAgIDEuICdjb25zdHJ1Y3RvcicgcHJvcGVydHk6
CisgICAgICAgICAgIC0gaHR0cDovL3d3dy53My5vcmcvVFIvV2ViSURMLyNpbnRlcmZhY2UtcHJv
dG90eXBlLW9iamVjdAorICAgICAgICAyLiBDb25zdHJ1Y3RvciBwcm9wZXJ0aWVzIChlLmcuIHdp
bmRvdy5Ob2RlKToKKyAgICAgICAgICAgLSBodHRwOi8vd3d3LnczLm9yZy9UUi9XZWJJREwvI2Vz
LWludGVyZmFjZXMKKyAgICAgICAgMy4gSURMIGF0dHJpYnV0ZXM6CisgICAgICAgICAgIC0gaHR0
cDovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNlcy1hdHRyaWJ1dGVzIChjb25maWd1cmFibGUg
dW5sZXNzCisgICAgICAgICAgICAgW1VuZm9yZ2VhYmxlXSwgZS5nLiB3aW5kb3cubG9jYXRpb24p
CisKKyAgICAgICAgRmlyZWZveCBjb21wbGllcyB3aXRoIHRoZSBXZWJJREwgc3BlY2lmaWNhdGlv
biBidXQgV2ViS2l0IGRvZXMgbm90IGZvciAxLiBhbmQgMy4KKworICAgICAgICBUZXN0OiBmYXN0
L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtY29uZmlndXJhYmxlLmh0bWwKKworICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTRE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0eVNsb3QpOgorICAgICAgICBGb3Iga25vd24gV2lu
ZG93IHByb3BlcnRpZXMgKGkuZS4gcHJvcGVydGllcyBpbiB0aGUgc3RhdGljIHByb3BlcnR5IHRh
YmxlKSwKKyAgICAgICAgaWYgd2UgaGF2ZSByZWlmaWVkIGFuZCB0aGlzIGlzIHNhbWUtb3JpZ2lu
IGFjY2VzcywgdGhlbiBjYWxsCisgICAgICAgIEJhc2U6OmdldE93blByb3BlcnR5U2xvdCgpIHRv
IGdldCB0aGUgcHJvcGVydHkgZnJvbSB0aGUgbG9jYWwgcHJvcGVydHkKKyAgICAgICAgc3RvcmFn
ZS4gSWYgd2UgaGF2ZSBub3QgcmVpZmllZCB5ZXQsIG9yIHRoaXMgaXMgY3Jvc3Mtb3JpZ2luIGFj
Y2VzcywgcXVlcnkKKyAgICAgICAgdGhlIHN0YXRpYyBwcm9wZXJ0eSB0YWJsZS4gVGhpcyBpcyB0
byBtYXRjaCB0aGUgYmVoYXZpb3Igb2YgRmlyZWZveCBhbmQKKyAgICAgICAgQ2hyb21lIHdoaWNo
IHNlZW0gdG8ga2VlcCByZXR1cm5pbmcgdGhlIG9yaWdpbmFsIHByb3BlcnRpZXMgdXBvbiBjcm9z
cworICAgICAgICBvcmlnaW4gYWNjZXNzLCBldmVuIGlmIHRob3NlIHdlcmUgZGVsZXRlZCBvciBy
ZWRlZmluZWQuCisKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93OjpwdXQpOgorICAgICAg
ICBUaGUgcHJldmlvdXMgY29kZSB1c2VkIHRvIGNhbGwgdGhlIHN0YXRpYyBwcm9wZXJ0eSBzZXR0
ZXIgZm9yIHByb3BlcnRpZXMgaW4KKyAgICAgICAgdGhlIHN0YXRpYyB0YWJsZS4gSG93ZXZlciwg
dGhpcyBkb2VzIG5vdCBkbyB0aGUgcmlnaHQgdGhpbmcgaWYgcHJvcGVydGllcworICAgICAgICB3
ZXJlIHJlaWZpZWQuIEZvciBleGFtcGxlLCBkZWxldGluZyB3aW5kb3cubmFtZSBhbmQgdGhlbiB0
cnlpbmcgdG8gc2V0IGl0CisgICAgICAgIGFnYWluIHdvdWxkIG5vdCB3b3JrLiBUaGVyZWZvcmUs
IHVwZGF0ZSB0aGlzIGNvZGUgdG8gb25seSBkbyB0aGlzIGlmIHRoZQorICAgICAgICBwcm9wZXJ0
aWVzIGhhdmUgbm90IGJlZW4gcmVpZmllZCwgc2ltaWxhcmx5IHRvIHdoYXQgaXMgZG9uZSBpbgor
ICAgICAgICBKU09iamVjdDo6cHV0SW5saW5lU2xvdygpLgorCisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChDb25zdHJ1Y3RvclNob3VsZEJl
T25JbnN0YW5jZSk6CisgICAgICAgIEFkZCBhIEZJWE1FIGNvbW1lbnQgaW5kaWNhdGluZyB0aGF0
IHdpbmRvdy5jb25zdHJ1Y3RvciBzaG91bGQgYmUgb24KKyAgICAgICAgdGhlIHByb3RvdHlwZSBh
cyBwZXIgdGhlIFdlYiBJREwgc3BlY2lmaWNhdGlvbi4KKworICAgICAgICAoR2VuZXJhdGVBdHRy
aWJ1dGVzSGFzaFRhYmxlKToKKyAgICAgICAgLSBNYXJrICdjb25zdHJ1Y3RvcicgcHJvcGVydHkg
YXMgY29uZmlndXJhYmxlIGZvciBXaW5kb3csIGFzIHBlciB0aGUKKyAgICAgICAgICBzcGVjaWZp
Y2F0aW9uIGFuZCBjb25zaXN0ZW50bHkgd2l0aCBvdGhlciAnY29uc3RydWN0b3InIHByb3BlcnRp
ZXM6CisgICAgICAgICAgaHR0cDovL3d3dy53My5vcmcvVFIvV2ViSURMLyNpbnRlcmZhY2UtcHJv
dG90eXBlLW9iamVjdAorICAgICAgICAtIE1hcmsgcHJvcGVydGllcyBhcyBjb25maWd1cmFibGUg
ZXZlbiB0aG91Z2ggdGhleSBhcmUgb24gdGhlIGluc3RhbmNlLgorICAgICAgICAgIFdpbmRvdyBo
YXMgaXRzIHByb3BlcnRpZXMgb24gdGhlIGluc3RhbmNlIGFzIHBlciB0aGUgc3BlY2lmaWNhdGlv
bjoKKyAgICAgICAgICAxLiBodHRwOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2VzLWF0dHJp
YnV0ZXMKKyAgICAgICAgICAyLiBodHRwOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI1ByaW1h
cnlHbG9iYWwgKHdpbmRvdyBpcyBbUHJpbWFyeUdsb2JhbF0KKyAgICAgICAgICBIb3dldmVyLCB0
aGVzZSBwcm9wZXJ0aWVzIHNob3VsZCBiZSBjb25maWd1cmFibGUgYXMgbG9uZyBhcyB0aGV5IGFy
ZQorICAgICAgICAgIG5vdCBtYXJrZWQgYXMgW1VuZm9yZ2VhYmxlXSwgYXMgcGVyIDEuCisKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNw
cDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNw
cDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAg
ICAgICAgUmViYXNlbGluZSBiaW5kaW5ncyB0ZXN0cy4KKwogMjAxNi0wMi0wOCAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEF0dHJpYnV0ZSBnZXR0ZXJzIHNob3Vs
ZCBub3QgcmVxdWlyZSBhbiBleHBsaWNpdCAndGhpcycgdmFsdWUgZm9yIFdpbmRvdyBwcm9wZXJ0
aWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKaW5kZXggNzgz
OWEwMjQ3ZTIwZDVmYTRiODY5OTE1NGNiNDAzZTUzNzkyNTMxMy4uMjczZmU2YTQ0OWM0ZDFiMmZl
MDI3YzVlMzVlOWY3MjFmYzFhNjIxYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT2JqZWN0LmNwcApAQCAtNjgsNyArNjgsNyBAQCBjb25zdCBDbGFzc0luZm8gSlNPYmplY3Q6
OnNfaW5mbyA9IHsgIk9iamVjdCIsIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNPYmplYwog
CiBjb25zdCBDbGFzc0luZm8gSlNGaW5hbE9iamVjdDo6c19pbmZvID0geyAiT2JqZWN0IiwgJkJh
c2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0ZpbmFsT2JqZWN0KSB9OwogCi1z
dGF0aWMgaW5saW5lIHZvaWQgZ2V0Q2xhc3NQcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSogZXhlYywg
Y29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIFByb3BlcnR5TmFtZUFycmF5JiBwcm9wZXJ0eU5h
bWVzLCBFbnVtZXJhdGlvbk1vZGUgbW9kZSwgYm9vbCBkaWRSZWlmeSkKK3N0YXRpYyBpbmxpbmUg
dm9pZCBnZXRDbGFzc1Byb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBDbGFzc0lu
Zm8qIGNsYXNzSW5mbywgUHJvcGVydHlOYW1lQXJyYXkmIHByb3BlcnR5TmFtZXMsIEVudW1lcmF0
aW9uTW9kZSBtb2RlKQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAKQEAgLTc5LDcgKzc5
LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGdldENsYXNzUHJvcGVydHlOYW1lcyhFeGVjU3RhdGUq
IGV4ZWMsIGNvbnN0IENsYXNzSW5mbyogY2xhc3MKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAg
ICAgICAgIGZvciAoYXV0byBpdGVyID0gdGFibGUtPmJlZ2luKCk7IGl0ZXIgIT0gdGFibGUtPmVu
ZCgpOyArK2l0ZXIpIHsKLSAgICAgICAgICAgIGlmICgoIShpdGVyLT5hdHRyaWJ1dGVzKCkgJiBE
b250RW51bSkgfHwgbW9kZS5pbmNsdWRlRG9udEVudW1Qcm9wZXJ0aWVzKCkpICYmICEoKGl0ZXIt
PmF0dHJpYnV0ZXMoKSAmIEJ1aWx0aW5PckZ1bmN0aW9uT3JBY2Nlc3NvcikgJiYgZGlkUmVpZnkp
KQorICAgICAgICAgICAgaWYgKCEoaXRlci0+YXR0cmlidXRlcygpICYgRG9udEVudW0pIHx8IG1v
ZGUuaW5jbHVkZURvbnRFbnVtUHJvcGVydGllcygpKQogICAgICAgICAgICAgICAgIHByb3BlcnR5
TmFtZXMuYWRkKElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCBpdGVyLmtleSgpKSk7CiAgICAg
ICAgIH0KICAgICB9CkBAIC00MTAsMTAgKzQxMCw5IEBAIHZvaWQgSlNPYmplY3Q6OnB1dElubGlu
ZVNsb3coRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBKU1ZhbHVl
CiAgICAgICAgICAgICAvLyBwcm90b3R5cGVzIGl0IHNob3VsZCBiZSByZXBsYWNlZCwgc28gYnJl
YWsgaGVyZS4KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIGNvbnN0IENs
YXNzSW5mbyogaW5mbyA9IG9iai0+Y2xhc3NJbmZvKCk7Ci0gICAgICAgIGlmIChpbmZvLT5oYXNT
dGF0aWNTZXR0ZXJPclJlYWRvbmx5UHJvcGVydGllcygpKSB7Ci0gICAgICAgICAgICBpZiAoY29u
c3QgSGFzaFRhYmxlVmFsdWUqIGVudHJ5ID0gb2JqLT5maW5kUHJvcGVydHlIYXNoRW50cnkocHJv
cGVydHlOYW1lKSkgewotICAgICAgICAgICAgICAgIGlmICghb2JqLT5zdGF0aWNGdW5jdGlvbnNS
ZWlmaWVkKCkgfHwgIShlbnRyeS0+YXR0cmlidXRlcygpICYgQnVpbHRpbk9yRnVuY3Rpb25PckFj
Y2Vzc29yKSkgeworICAgICAgICBpZiAoIW9iai0+c3RhdGljRnVuY3Rpb25zUmVpZmllZCgpKSB7
CisgICAgICAgICAgICBpZiAob2JqLT5jbGFzc0luZm8oKS0+aGFzU3RhdGljU2V0dGVyT3JSZWFk
b25seVByb3BlcnRpZXMoKSkgeworICAgICAgICAgICAgICAgIGlmIChhdXRvKiBlbnRyeSA9IG9i
ai0+ZmluZFByb3BlcnR5SGFzaEVudHJ5KHByb3BlcnR5TmFtZSkpIHsKICAgICAgICAgICAgICAg
ICAgICAgcHV0RW50cnkoZXhlYywgZW50cnksIG9iaiwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xv
dCk7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICB9CkBAIC0x
Mjg0LDMzICsxMjgzLDE5IEBAIGJvb2wgSlNPYmplY3Q6Omhhc1Byb3BlcnR5KEV4ZWNTdGF0ZSog
ZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lKSBjb25zdAogYm9vbCBKU09iamVjdDo6ZGVsZXRl
UHJvcGVydHkoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hbWUpCiB7CiAgICAgSlNPYmplY3QqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNPYmplY3Qq
PihjZWxsKTsKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIAogICAgIGlmIChPcHRpb25h
bDx1aW50MzJfdD4gaW5kZXggPSBwYXJzZUluZGV4KHByb3BlcnR5TmFtZSkpCi0gICAgICAgIHJl
dHVybiB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZShleGVjLT52bSgpKS0+ZGVsZXRlUHJvcGVydHlC
eUluZGV4KHRoaXNPYmplY3QsIGV4ZWMsIGluZGV4LnZhbHVlKCkpOworICAgICAgICByZXR1cm4g
dGhpc09iamVjdC0+bWV0aG9kVGFibGUodm0pLT5kZWxldGVQcm9wZXJ0eUJ5SW5kZXgodGhpc09i
amVjdCwgZXhlYywgaW5kZXgudmFsdWUoKSk7CiAKICAgICBpZiAoIXRoaXNPYmplY3QtPnN0YXRp
Y0Z1bmN0aW9uc1JlaWZpZWQoKSkKLSAgICAgICAgdGhpc09iamVjdC0+cmVpZnlTdGF0aWNGdW5j
dGlvbnNGb3JEZWxldGUoZXhlYyk7CisgICAgICAgIHRoaXNPYmplY3QtPnJlaWZ5QWxsU3RhdGlj
UHJvcGVydGllcyhleGVjKTsKIAogICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7Ci0gICAgVk0mIHZt
ID0gZXhlYy0+dm0oKTsKICAgICBpZiAoaXNWYWxpZE9mZnNldCh0aGlzT2JqZWN0LT5zdHJ1Y3R1
cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcykpKSB7CiAgICAgICAgIGlm
IChhdHRyaWJ1dGVzICYgRG9udERlbGV0ZSAmJiAhdm0uaXNJbkRlZmluZU93blByb3BlcnR5KCkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIHRoaXNPYmplY3QtPnJlbW92ZURp
cmVjdCh2bSwgcHJvcGVydHlOYW1lKTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0g
ICAgLy8gTG9vayBpbiB0aGUgc3RhdGljIGhhc2h0YWJsZSBvZiBwcm9wZXJ0aWVzCi0gICAgY29u
c3QgSGFzaFRhYmxlVmFsdWUqIGVudHJ5ID0gdGhpc09iamVjdC0+ZmluZFByb3BlcnR5SGFzaEVu
dHJ5KHByb3BlcnR5TmFtZSk7Ci0gICAgaWYgKGVudHJ5KSB7Ci0gICAgICAgIGlmIChlbnRyeS0+
YXR0cmlidXRlcygpICYgRG9udERlbGV0ZSAmJiAhdm0uaXNJbkRlZmluZU93blByb3BlcnR5KCkp
Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIHRoaXMgYnVpbHRpbiBwcm9wZXJ0eSBjYW4n
dCBiZSBkZWxldGVkCi0KLSAgICAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QodGhpc09iamVjdCk7
Ci0gICAgICAgIGlmICghKGVudHJ5LT5hdHRyaWJ1dGVzKCkgJiBCdWlsdGluT3JGdW5jdGlvbk9y
QWNjZXNzb3IpKSB7Ci0gICAgICAgICAgICBBU1NFUlQodGhpc09iamVjdC0+c3RhdGljRnVuY3Rp
b25zUmVpZmllZCgpKTsKLSAgICAgICAgICAgIHB1dEVudHJ5KGV4ZWMsIGVudHJ5LCB0aGlzT2Jq
ZWN0LCBwcm9wZXJ0eU5hbWUsIGpzVW5kZWZpbmVkKCksIHNsb3QpOwotICAgICAgICB9CiAgICAg
fQogCiAgICAgcmV0dXJuIHRydWU7CkBAIC0xNjEzLDcgKzE1OTgsOCBAQCB2b2lkIEpTT2JqZWN0
OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywg
UHJvcGVydHlOYQogCiB2b2lkIEpTT2JqZWN0OjpnZXRPd25Ob25JbmRleFByb3BlcnR5TmFtZXMo
SlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJv
cGVydHlOYW1lcywgRW51bWVyYXRpb25Nb2RlIG1vZGUpCiB7Ci0gICAgZ2V0Q2xhc3NQcm9wZXJ0
eU5hbWVzKGV4ZWMsIG9iamVjdC0+Y2xhc3NJbmZvKCksIHByb3BlcnR5TmFtZXMsIG1vZGUsIG9i
amVjdC0+c3RhdGljRnVuY3Rpb25zUmVpZmllZCgpKTsKKyAgICBpZiAoIW9iamVjdC0+c3RhdGlj
RnVuY3Rpb25zUmVpZmllZCgpKQorICAgICAgICBnZXRDbGFzc1Byb3BlcnR5TmFtZXMoZXhlYywg
b2JqZWN0LT5jbGFzc0luZm8oKSwgcHJvcGVydHlOYW1lcywgbW9kZSk7CiAKICAgICBpZiAoIW1v
ZGUuaW5jbHVkZUpTT2JqZWN0UHJvcGVydGllcygpKQogICAgICAgICByZXR1cm47CkBAIC0xNjY3
LDkgKzE2NTMsNyBAQCB2b2lkIEpTT2JqZWN0OjpwcmV2ZW50RXh0ZW5zaW9ucyhWTSYgdm0pCiAg
ICAgc2V0U3RydWN0dXJlKHZtLCBTdHJ1Y3R1cmU6OnByZXZlbnRFeHRlbnNpb25zVHJhbnNpdGlv
bih2bSwgc3RydWN0dXJlKHZtKSkpOwogfQogCi0vLyBUaGlzIHByZXNlbnRseSB3aWxsIGZsYXR0
ZW4gdG8gYW4gdW5jYWNoYWJsZSBkaWN0aW9uYXJ5OyB0aGlzIGlzIHN1aXRhYmxlCi0vLyBmb3Ig
dXNlIGluIGRlbGV0ZSwgd2UgbWF5IHdhbnQgdG8gZG8gc29tZXRoaW5nIGRpZmZlcmVudCBlbHNl
d2hlcmUuCi12b2lkIEpTT2JqZWN0OjpyZWlmeVN0YXRpY0Z1bmN0aW9uc0ZvckRlbGV0ZShFeGVj
U3RhdGUqIGV4ZWMpCit2b2lkIEpTT2JqZWN0OjpyZWlmeUFsbFN0YXRpY1Byb3BlcnRpZXMoRXhl
Y1N0YXRlKiBleGVjKQogewogICAgIEFTU0VSVCghc3RhdGljRnVuY3Rpb25zUmVpZmllZCgpKTsK
ICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwpAQCAtMTY4OCwzMCArMTY3MiwxMiBAQCB2b2lkIEpT
T2JqZWN0OjpyZWlmeVN0YXRpY0Z1bmN0aW9uc0ZvckRlbGV0ZShFeGVjU3RhdGUqIGV4ZWMpCiAg
ICAgICAgIGNvbnN0IEhhc2hUYWJsZSogaGFzaFRhYmxlID0gaW5mby0+c3RhdGljUHJvcEhhc2hU
YWJsZTsKICAgICAgICAgaWYgKCFoYXNoVGFibGUpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgUHJvcGVydHlTbG90IHNsb3QodGhpcyk7Ci0gICAgICAgIGZvciAoYXV0byBpdGVyID0g
aGFzaFRhYmxlLT5iZWdpbigpOyBpdGVyICE9IGhhc2hUYWJsZS0+ZW5kKCk7ICsraXRlcikgewot
ICAgICAgICAgICAgaWYgKGl0ZXItPmF0dHJpYnV0ZXMoKSAmIEJ1aWx0aW5PckZ1bmN0aW9uT3JB
Y2Nlc3NvcikKLSAgICAgICAgICAgICAgICBzZXRVcFN0YXRpY0Z1bmN0aW9uU2xvdChnbG9iYWxP
YmplY3QoKS0+Z2xvYmFsRXhlYygpLCBpdGVyLnZhbHVlKCksIHRoaXMsIElkZW50aWZpZXI6OmZy
b21TdHJpbmcoJnZtLCBpdGVyLmtleSgpKSwgc2xvdCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAg
ICBzdHJ1Y3R1cmUodm0pLT5zZXRTdGF0aWNGdW5jdGlvbnNSZWlmaWVkKHRydWUpOwotfQotCi12
b2lkIEpTT2JqZWN0OjpyZWlmeUFsbFN0YXRpY1Byb3BlcnRpZXMoRXhlY1N0YXRlKiBleGVjKQot
ewotICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0KLSAgICBmb3IgKGNvbnN0IENsYXNzSW5mbyog
aW5mbyA9IGNsYXNzSW5mbygpOyBpbmZvOyBpbmZvID0gaW5mby0+cGFyZW50Q2xhc3MpIHsKLSAg
ICAgICAgY29uc3QgSGFzaFRhYmxlKiBoYXNoVGFibGUgPSBpbmZvLT5zdGF0aWNQcm9wSGFzaFRh
YmxlOwotICAgICAgICBpZiAoIWhhc2hUYWJsZSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwogCi0g
ICAgICAgIGZvciAoYXV0byBpdGVyID0gaGFzaFRhYmxlLT5iZWdpbigpOyBpdGVyICE9IGhhc2hU
YWJsZS0+ZW5kKCk7ICsraXRlcikgeworICAgICAgICBmb3IgKGF1dG8mIHZhbHVlIDogKmhhc2hU
YWJsZSkgewogICAgICAgICAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKLSAgICAgICAgICAgIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCA9IGdldERpcmVjdE9mZnNldCh2bSwgSWRlbnRpZmllcjo6ZnJv
bVN0cmluZygmdm0sIGl0ZXIua2V5KCkpLCBhdHRyaWJ1dGVzKTsKKyAgICAgICAgICAgIFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCA9IGdldERpcmVjdE9mZnNldCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0
cmluZygmdm0sIHZhbHVlLm1fa2V5KSwgYXR0cmlidXRlcyk7CiAgICAgICAgICAgICBpZiAoIWlz
VmFsaWRPZmZzZXQob2Zmc2V0KSkKLSAgICAgICAgICAgICAgICByZWlmeVN0YXRpY1Byb3BlcnR5
KHZtLCAqaXRlci52YWx1ZSgpLCAqdGhpcyk7CisgICAgICAgICAgICAgICAgcmVpZnlTdGF0aWNQ
cm9wZXJ0eSh2bSwgdmFsdWUsICp0aGlzKTsKICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKaW5kZXggY2M5ZmNhMDY3OGY5NjdmZGU3NDk1
YmRhNWU1ZDFkZjM0MTVmOGU2NC4uMDRiMjY1ZWU2MDljNTdmNzhhZWFkYzU4MDI0YmQzODBlYWY5
MTY4OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3Qu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCkBAIC02MjMs
NyArNjIzLDYgQEAgcHVibGljOgogICAgIH0KIAogICAgIGJvb2wgc3RhdGljRnVuY3Rpb25zUmVp
ZmllZCgpIHsgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCk7IH0K
LSAgICB2b2lkIHJlaWZ5U3RhdGljRnVuY3Rpb25zRm9yRGVsZXRlKEV4ZWNTdGF0ZSopOwogICAg
IHZvaWQgcmVpZnlBbGxTdGF0aWNQcm9wZXJ0aWVzKEV4ZWNTdGF0ZSopOwogCiAgICAgSlNfRVhQ
T1JUX1BSSVZBVEUgQnV0dGVyZmx5KiBncm93T3V0T2ZMaW5lU3RvcmFnZShWTSYsIHNpemVfdCBv
bGRTaXplLCBzaXplX3QgbmV3U2l6ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Mb29rdXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1
cC5oCmluZGV4IDBhMWU5ZGViYzU3Yzk4NTQ4MzRhY2Q2ZWJmMzAwMzJhMDM5MmNkZGIuLmNmMjZh
NjQ5NzQ5NzgyOTMzZjE3Yjc5NmU5ZDBjZThjZTU5ZjdkZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0xvb2t1cC5oCkBAIC0xMzUsNiArMTM1LDggQEAgc3RydWN0IEhhc2hUYWJsZSB7
CiAgICAgICAgICAgICByZXR1cm4gJm1fdGFibGUtPnZhbHVlc1ttX3Bvc2l0aW9uXTsKICAgICAg
ICAgfQogCisgICAgICAgIGNvbnN0IEhhc2hUYWJsZVZhbHVlJiBvcGVyYXRvciooKSB7IHJldHVy
biAqdmFsdWUoKTsgfQorCiAgICAgICAgIGNvbnN0IGNoYXIqIGtleSgpCiAgICAgICAgIHsKICAg
ICAgICAgICAgIHJldHVybiBtX3RhYmxlLT52YWx1ZXNbbV9wb3NpdGlvbl0ubV9rZXk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKaW5kZXgg
MjBkZThiNDBkMjZiYWUwMmFjZGI0NjVlMTk4YzA4MzgwMmYwYzQ4Yy4uOWQwNDMwYWU3NTJlMzJj
MGNiMTA2OWIwNDk2ODM4YjBhN2FkYmFhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMTAsIDIwMTYgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjAxLDEwICsyMDEsMTMgQEAgYm9vbCBK
U0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0
ZSogZXhlYywgUHJvcGVydHkKICAgICB9CiAjZW5kaWYKIAotICAgIGNvbnN0IEhhc2hUYWJsZVZh
bHVlKiBlbnRyeSA9IEpTRE9NV2luZG93OjppbmZvKCktPnN0YXRpY1Byb3BIYXNoVGFibGUtPmVu
dHJ5KHByb3BlcnR5TmFtZSk7Ci0gICAgaWYgKGVudHJ5KSB7Ci0gICAgICAgIHNsb3Quc2V0Q2Fj
aGVhYmxlQ3VzdG9tKHRoaXNPYmplY3QsIGFsbG93c0FjY2VzcyA/IGVudHJ5LT5hdHRyaWJ1dGVz
KCkgOiBSZWFkT25seSB8IERvbnREZWxldGUgfCBEb250RW51bSwgZW50cnktPnByb3BlcnR5R2V0
dGVyKCkpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAvLyBXaGVuIGFjY2Vzc2luZyBjcm9z
cy1vcmlnaW4ga25vd24gV2luZG93IHByb3BlcnRpZXMsIHdlIGFsd2F5cyB1c2UgdGhlIG9yaWdp
bmFsIHByb3BlcnR5IGdldHRlciwKKyAgICAvLyBldmVuIGlmIHRoZSBwcm9wZXJ0eSB3YXMgcmVt
b3ZlZCAvIHJlZGVmaW5lZC4gVGhpcyBtYXRjaGVzIEZpcmVmb3ggYW5kIENocm9tZSdzIGJlaGF2
aW9yLgorICAgIGlmICghdGhpc09iamVjdC0+c3RhdGljRnVuY3Rpb25zUmVpZmllZCgpIHx8ICFh
bGxvd3NBY2Nlc3MpIHsKKyAgICAgICAgaWYgKGF1dG8qIGVudHJ5ID0gSlNET01XaW5kb3c6Omlu
Zm8oKS0+c3RhdGljUHJvcEhhc2hUYWJsZS0+ZW50cnkocHJvcGVydHlOYW1lKSkgeworICAgICAg
ICAgICAgc2xvdC5zZXRDYWNoZWFibGVDdXN0b20odGhpc09iamVjdCwgYWxsb3dzQWNjZXNzID8g
ZW50cnktPmF0dHJpYnV0ZXMoKSA6IFJlYWRPbmx5IHwgRG9udERlbGV0ZSB8IERvbnRFbnVtLCBl
bnRyeS0+cHJvcGVydHlHZXR0ZXIoKSk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg
ICAgfQogICAgIH0KIAogI2lmIEVOQUJMRShVU0VSX01FU1NBR0VfSEFORExFUlMpCkBAIC0zNjUs
OCArMzY4LDEwIEBAIHZvaWQgSlNET01XaW5kb3c6OnB1dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0
ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIGlmIChsb29rdXBQdXQoZXhlYywgcHJvcGVydHlOYW1lLCB0aGlzT2JqZWN0LCB2
YWx1ZSwgKnNfaW5mby5zdGF0aWNQcm9wSGFzaFRhYmxlLCBzbG90KSkKLSAgICAgICAgcmV0dXJu
OworICAgIGlmICghdGhpc09iamVjdC0+c3RhdGljRnVuY3Rpb25zUmVpZmllZCgpKSB7CisgICAg
ICAgIGlmIChsb29rdXBQdXQoZXhlYywgcHJvcGVydHlOYW1lLCB0aGlzT2JqZWN0LCB2YWx1ZSwg
KnNfaW5mby5zdGF0aWNQcm9wSGFzaFRhYmxlLCBzbG90KSkKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICB9CiAKICAgICBpZiAoQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9N
V2luZG93KGV4ZWMsIHRoaXNPYmplY3QtPndyYXBwZWQoKSkpCiAgICAgICAgIEJhc2U6OnB1dCh0
aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggZDZh
MjA0ZDU1NDFmMWQ5OTk4ZGVkYWM1MDQ3NjVkOWU3MTQ2MWI1OS4uOWEwNTEyYjFjODhlYWRmMWQ3
ZTk5MzRiNzkzNGYxZTEwMWQwZTgxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTY4NSw2ICs2ODUsOCBAQCBzdWIgQ29u
c3RydWN0b3JTaG91bGRCZU9uSW5zdGFuY2UKIHsKICAgICBteSAkaW50ZXJmYWNlID0gc2hpZnQ7
CiAKKyAgICAjIEZJWE1FOiBjb25zdHJ1Y3RvciBzaG91bGQgYWx3YXlzIGJlIG9uIHRoZSBwcm90
b3R5cGU6CisgICAgIyBodHRwOi8vd3d3LnczLm9yZy9UUi9XZWJJREwvI2ludGVyZmFjZS1wcm90
b3R5cGUtb2JqZWN0CiAgICAgcmV0dXJuIDEgaWYgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkNoZWNrU2VjdXJpdHkifTsKICAgICByZXR1cm4gMDsKIH0KQEAgLTEzNTcsMTMgKzEz
NTksNyBAQCBzdWIgR2VuZXJhdGVBdHRyaWJ1dGVzSGFzaFRhYmxlCiAKICAgICAgICAgICAgIG15
ICRzZXR0ZXIgPSAic2V0SlMiIC4gJGludGVyZmFjZU5hbWUgLiAiQ29uc3RydWN0b3IiOwogICAg
ICAgICAgICAgcHVzaChAJGhhc2hWYWx1ZTIsICRzZXR0ZXIpOwotCi0gICAgICAgICAgICAjIEZJ
WE1FOiBEbyB3ZSByZWFsbHkgbmVlZCB0byBzcGVjaWFsLWNhc2UgRE9NV2luZG93PwotICAgICAg
ICAgICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciKSB7Ci0gICAgICAgICAgICAg
ICAgcHVzaChAJGhhc2hTcGVjaWFscywgIkRvbnRFbnVtIHwgRG9udERlbGV0ZSIpOwotICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBwdXNoKEAkaGFzaFNwZWNpYWxzLCAiRG9u
dEVudW0iKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHB1c2goQCRoYXNoU3BlY2lhbHMs
ICJEb250RW51bSIpOwogICAgICAgICB9CiAgICAgfQogCkBAIC0xMzc2LDEzICsxMzcyLDExIEBA
IHN1YiBHZW5lcmF0ZUF0dHJpYnV0ZXNIYXNoVGFibGUKICAgICAgICAgcHVzaChAJGhhc2hLZXlz
LCAkbmFtZSk7CiAKICAgICAgICAgbXkgQHNwZWNpYWxzID0gKCk7Ci0gICAgICAgICMgQXMgcGVy
IFdlYiBJREwgc3BlY2lmaWNhdGlvbiwgY29uc3RydWN0b3IgcHJvcGVydGllcyBvbiB0aGUgRUNN
QVNjcmlwdCBnbG9iYWwgb2JqZWN0IHNob3VsZCBiZQotICAgICAgICAjIGNvbmZpZ3VyYWJsZSBh
bmQgc2hvdWxkIG5vdCBiZSBlbnVtZXJhYmxlLgotICAgICAgICBteSAkaXNfZ2xvYmFsX2NvbnN0
cnVjdG9yID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlID1+IC9Db25zdHJ1Y3RvciQvOwot
Ci0gICAgICAgIHB1c2goQHNwZWNpYWxzLCAiRG9udERlbGV0ZSIpIGlmICgkaXNJbnN0YW5jZSAm
JiAhJGlzX2dsb2JhbF9jb25zdHJ1Y3RvcikgfHwgJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiVW5mb3JnZWFibGUifQorICAgICAgICBwdXNoKEBzcGVjaWFscywg
IkRvbnREZWxldGUiKSBpZiAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJVbmZvcmdlYWJsZSJ9CiAgICAgICAgICAgICB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiVW5mb3JnZWFibGUifTsKIAorICAgICAgICAjIEFzIHBlciBXZWIgSURMIHNw
ZWNpZmljYXRpb24sIGNvbnN0cnVjdG9yIHByb3BlcnRpZXMgb24gdGhlIEVDTUFTY3JpcHQgZ2xv
YmFsIG9iamVjdCBzaG91bGQgbm90IGJlIGVudW1lcmFibGUuCisgICAgICAgIG15ICRpc19nbG9i
YWxfY29uc3RydWN0b3IgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPnR5cGUgPX4gL0NvbnN0cnVj
dG9yJC87CiAgICAgICAgIHB1c2goQHNwZWNpYWxzLCAiRG9udEVudW0iKSBpZiAoJGF0dHJpYnV0
ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTm90RW51bWVyYWJsZSJ9IHx8ICRp
c19nbG9iYWxfY29uc3RydWN0b3IpOwogICAgICAgICBwdXNoKEBzcGVjaWFscywgIlJlYWRPbmx5
IikgaWYgSXNSZWFkb25seSgkYXR0cmlidXRlKTsKICAgICAgICAgcHVzaChAc3BlY2lhbHMsICJD
dXN0b21BY2Nlc3NvciIpIHVubGVzcyAkaXNfZ2xvYmFsX2NvbnN0cnVjdG9yIG9yIElzSlNCdWls
dGluKCRpbnRlcmZhY2UsICRhdHRyaWJ1dGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0
LmNwcAppbmRleCA2MWMwOGQwZjc3MDkwNTk2Y2M3ZmNmZjMwMjA3YmFmNDE5N2NjOThhLi41MjMz
Nzk2NGQzYjc1YWNlOTBiMjY4ODhkNmRiYWVkNzhmNjIxNDkwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0
aXZlRE9NT2JqZWN0LmNwcApAQCAtODMsNyArODMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENv
bXBhY3RIYXNoSW5kZXggSlNUZXN0QWN0aXZlRE9NT2JqZWN0VGFibGVJbmRleFs0XSA9IHsKIHN0
YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RBY3RpdmVET01PYmplY3RUYWJsZVZhbHVl
c1tdID0KIHsKICAgICB7ICJjb25zdHJ1Y3RvciIsIERvbnRFbnVtLCBOb0ludHJpbnNpYywgeyAo
aW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEFj
dGl2ZURPTU9iamVjdENvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9w
ZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0QWN0aXZlRE9NT2JqZWN0Q29uc3RydWN0
b3IpIH0gfSwKLSAgICB7ICJleGNpdGluZ0F0dHIiLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBD
dXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3Bl
cnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RBY3RpdmVET01PYmplY3RFeGNpdGluZ0F0dHIp
LCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigw
KSB9IH0sCisgICAgeyAiZXhjaXRpbmdBdHRyIiwgUmVhZE9ubHkgfCBDdXN0b21BY2Nlc3Nvciwg
Tm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jPihqc1Rlc3RBY3RpdmVET01PYmplY3RFeGNpdGluZ0F0dHIpLCAoaW50cHRyX3QpIHN0
YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPigwKSB9IH0sCiB9OwogCiBz
dGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEFjdGl2ZURPTU9iamVjdFRhYmxlID0geyAyLCAz
LCB0cnVlLCBKU1Rlc3RBY3RpdmVET01PYmplY3RUYWJsZVZhbHVlcywgSlNUZXN0QWN0aXZlRE9N
T2JqZWN0VGFibGVJbmRleCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcAppbmRleCA5NmJlODIyYWMz
N2E2ZDE3OTM3NWZkMDdkMDliNGFiZjlhZDQ0ODlmLi5hYTBiMDMyZjUxMGFjMDY2Njk3MmU2YWJk
OTdlY2Q5N2E1NjFlZjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcApAQCAtNzQsNyArNzQsNyBA
QCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0RXhjZXB0aW9uVGFi
bGVJbmRleFsyXSA9IHsKIAogc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdEV4Y2Vw
dGlvblRhYmxlVmFsdWVzW10gPQogewotICAgIHsgIm5hbWUiLCBEb250RGVsZXRlIHwgUmVhZE9u
bHkgfCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RFeGNlcHRpb25OYW1lKSwgKGludHB0
cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAor
ICAgIHsgIm5hbWUiLCBSZWFkT25seSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgeyAo
aW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEV4
Y2VwdGlvbk5hbWUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0
VmFsdWVGdW5jPigwKSB9IH0sCiB9OwogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEV4
Y2VwdGlvblRhYmxlID0geyAxLCAxLCB0cnVlLCBKU1Rlc3RFeGNlcHRpb25UYWJsZVZhbHVlcywg
SlNUZXN0RXhjZXB0aW9uVGFibGVJbmRleCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCA2MzkyZDQ4NzFlZWZm
NTU3NzI1NmM4ZTVkZWNlNjExZDY3OWZlMGQ5Li5iY2Y4NGNhOTQzNTI5M2VhMzgwYTMwZmExNmJk
MzlkNmJkMDhmYTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtNDAyLDcgKzQwMiw3IEBAIHN0YXRpYyBjb25z
dCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpUYWJsZVZhbHVlc1tdID0KICNlbHNlCiAgICAgeyAw
LCAwLCBOb0ludHJpbnNpYywgeyAwLCAwIH0gfSwKICNlbmRpZgotICAgIHsgImNvbnRlbnREb2N1
bWVudCIsIERvbnREZWxldGUgfCBSZWFkT25seSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNp
YywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpz
VGVzdE9iakNvbnRlbnREb2N1bWVudCksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVy
dHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJjb250ZW50RG9jdW1lbnQiLCBS
ZWFkT25seSB8IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGlj
X2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakNvbnRlbnREb2N1bWVu
dCksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+
KDApIH0gfSwKIH07CiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0T2JqVGFibGUgPSB7
IDUsIDE1LCB0cnVlLCBKU1Rlc3RPYmpUYWJsZVZhbHVlcywgSlNUZXN0T2JqVGFibGVJbmRleCB9
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDAyMmViYmU4MWUwNDNmNDMyZjhmOGYxYzIyYTQ4ZmZjOGI4MWVkNGQuLmRiNTc0
NGI3ZDA1YjNkYThiYjczODYxNzc0NDEzOWU1NDk1MzU3OGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NyBA
QAorMjAxNi0wMi0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IEF0dHJpYnV0ZXMgb24gdGhlIFdpbmRvdyBpbnN0YW5jZSBzaG91bGQgYmUgY29uZmlndXJhYmxl
IHVubGVzcyBbVW5mb3JnZWFibGVdCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTM5MjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI0NTYzMjExPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9k
b20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWNvbmZpZ3VyYWJsZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1jb25maWd1
cmFibGUuaHRtbDogQWRkZWQuCisgICAgICAgIEFkZCBhIHRlc3QgdG8gY2hlY2sgdGhhdCBXaW5k
b3cgcHJvcGVydGllcyBhcmUgcmVwb3J0ZWQgYXMgY29uZmlndXJhYmxlCisgICAgICAgIHVubGVz
cyB0aGUgW1VuZm9yZ2VhYmxlXSBvbmVzIGFuZCB0aGF0IGRlbGV0aW5nIHRoZW0gYWN0dWFsbHkg
d29ya3MuCisKKyAgICAgICAgKiBmYXN0L2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLmh0bWw6Cisg
ICAgICAgIFVwZGF0ZSB0ZXN0IHNvIGl0IG5vIGxvbmdlciBleHBlY3RzIHdpbmRvdy5Ob2RlIHRv
IGJlIHNoYWRvd2FibGUuIEFzIHBlcgorICAgICAgICB0aGUgc3BlY2lmaWNhdGlvbiwgdGhlICJO
b2RlIiBwcm9wZXJ0eSBpcyBvbiB0aGUgd2luZG93IGluc3RhbmNlLCBub3QgaXRzCisgICAgICAg
IHByb3RvdHlwZS4gVGhlcmVmb3JlLCBpdCBzaG91bGQgY2Fubm90IGJlIHNoYWRvd2VkIGFuZCBz
ZXR0aW5nIGl0IHRvCisgICAgICAgIHNvbWV0aGluZyBhY3R1YWxseSBvdmVyd2l0ZXMgdGhlIHBy
ZXZpb3VzIHZhbHVlLCBnaXZlbiB0aGF0IHRoZSBwcm9wZXJ0eQorICAgICAgICBpcyB3cml0YWJs
ZSBhcyBwZXI6CisgICAgICAgIC0gaHR0cDovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNlcy1p
bnRlcmZhY2VzCisgICAgICAgIEkgaGF2ZSB2ZXJpZmllZCB0aGF0IHRoZSBuZXcgYmVoYXZpb3Ig
aXMgY29uc2lzdGVudCB3aXRoIEZpcmVmb3guCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2Nyb3NzLW9yaWdpbi1yZWlmaWVkLXdpbmRvdy1wcm9wZXJ0eS1hY2Nlc3MtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1y
ZWlmaWVkLXdpbmRvdy1wcm9wZXJ0eS1hY2Nlc3MuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvcmVpZnktd2luZG93Lmh0bWw6IEFkZGVkLgorICAg
ICAgICBBZGQgYSB0ZXN0IGNhc2UgdG8gY292ZXIgY3Jvc3Mtb3JpZ2luIGFjY2VzcyBvZiBXaW5k
b3cgcHJvcGVydGllcyBhZnRlcgorICAgICAgICByZWlmaWNhdGlvbi4KKworICAgICAgICAqIGpz
L2dldE93blByb3BlcnR5RGVzY3JpcHRvci11bmZvcmdlYWJsZS1hdHRyaWJ1dGVzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBqcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFibGUt
YXR0cmlidXRlcy5odG1sOgorICAgICAgICBEcm9wIHdpbmRvdy5zZWxmIGZyb20gdGhlIGxpc3Qg
b2YgdW5mb3JnZWFibGUgYXR0cmlidXRlcy4gVGhpcyBhdHRyaWJ1dGUKKyAgICAgICAgaXMgbm90
IHVuZm9yZ2VhYmxlIGluIG91ciBpbXBsZW1lbnRhdGlvbiBvciBpbiB0aGUgc3BlY2lmaWNhdGlv
bjoKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9icm93
c2Vycy5odG1sI3RoZS13aW5kb3ctb2JqZWN0CisKKyAgICAgICAgKiBqcy9nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3Itd2luZG93LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGpz
L2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1sOgorICAgICAg
ICAtIEFkZCBjb3ZlcmFnZSBmb3Igd2luZG93LnNlbGYgd2hpY2ggaXMgYSByZWd1bGFyIFdpbmRv
dyBwcm9wZXJ0eS4KKyAgICAgICAgLSBBZGQgY292ZXJhZ2UgZm9yIHdpbmRvdy5Ob2RlIHdoaWNo
IGlzIGEgY29uc3RydWN0b3IgcHJvcGVydHkKKyAgICAgICAgLSBBZGQgY292ZXJhZ2UgZm9yIHdp
bmRvdy5jb25zdHJ1Y3Rvci4gSXQgc2hvdWxkIHJlYWxseSBiZSBvbiB0aGUgcHJvdG90eXBlCisg
ICAgICAgICAgYXMgcGVyIHRoZSBzcGVjaWZpY2F0aW9uIGJ1dCB0aGlzIGF0IGxlYXN0IGNoZWNr
cyB0aGF0IHRoZSBwcm9wZXJ0eSBpcworICAgICAgICAgIGNvbmZpZ3VyYWJsZSwgYXMgcGVyIHRo
ZSBzcGVjaWZpY2F0aW9uLgorICAgICAgICAtIFJlYmFzZWxpbmUgdGhlIHRlc3QgYXMgbW9yZSBj
aGVja3MgYXJlIHBhc3Npbmcgbm93IHRoYXQgV2luZG93IHByb3BlcnRpZXMKKyAgICAgICAgICBh
cmUgbWFya2VkIGFzIGNvbmZpZ3VyYWJsZS4KKwogMjAxNi0wMi0wOCAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEF0dHJpYnV0ZSBnZXR0ZXJzIHNob3VsZCBub3Qg
cmVxdWlyZSBhbiBleHBsaWNpdCAndGhpcycgdmFsdWUgZm9yIFdpbmRvdyBwcm9wZXJ0aWVzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMt
Y29uZmlndXJhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcHJvcGVydGllcy1jb25maWd1cmFibGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4
ODI2ZmFlNWZmYTlkZWU0YjhhMzlmYjRkZWJkNWMwMGFiMzI3NDgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtY29uZmlndXJh
YmxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM3IEBACitUZXN0cyB0aGF0IFdpbmRvdyBwcm9w
ZXJ0aWVzIGFyZSBpbmRlZWQgY29uZmlndXJhYmxlIHVubGVzcyBbVW5mb3JnZWFibGVdCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisqIFJlZ3VsYXIgSURMIGF0dHJpYnV0ZS4KK1BB
U1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICduYW1lJykuY29uZmln
dXJhYmxlIGlzIHRydWUKK1BBU1Mgd2luZG93Lm5hbWUgaXMgIiIKK1BBU1MgZGVsZXRlIHdpbmRv
dy5uYW1lIGlzIHRydWUKK1BBU1Mgd2luZG93Lm5hbWUgaXMgdW5kZWZpbmVkLgord2luZG93Lm5h
bWUgPSAzCitQQVNTIHdpbmRvdy5uYW1lIGlzIDMKK1BBU1MgZGVsZXRlIHdpbmRvdy5uYW1lIGlz
IHRydWUKK1BBU1Mgd2luZG93Lm5hbWUgaXMgdW5kZWZpbmVkLgorCisqIENvbnN0cnVjdG9yIGF0
dHJpYnV0ZXMuCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAn
Tm9kZScpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIHdpbmRvdy5Ob2RlIGlzIG5vdCB1bmRl
ZmluZWQKK1BBU1MgZGVsZXRlIHdpbmRvdy5Ob2RlIGlzIHRydWUKK1BBU1Mgd2luZG93Lk5vZGUg
aXMgdW5kZWZpbmVkLgord2luZG93Lk5vZGUgPSAzCitQQVNTIHdpbmRvdy5Ob2RlIGlzIDMKK1BB
U1MgZGVsZXRlIHdpbmRvdy5Ob2RlIGlzIHRydWUKK1BBU1Mgd2luZG93Lk5vZGUgaXMgdW5kZWZp
bmVkLgorCisqIFtVbmZvcmdlYWJsZV0gSURMIGF0dHJpYnV0ZS4KK1BBU1MgT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICd3aW5kb3cnKS5jb25maWd1cmFibGUgaXMgZmFs
c2UKK1BBU1Mgd2luZG93LndpbmRvdyBpcyBub3QgdW5kZWZpbmVkCitQQVNTIGRlbGV0ZSB3aW5k
b3cud2luZG93IGlzIGZhbHNlCitQQVNTIHdpbmRvdy53aW5kb3cgaXMgbm90IHVuZGVmaW5lZAor
d2luZG93LndpbmRvdyA9IDMKK1BBU1Mgd2luZG93LndpbmRvdyBpcyBub3QgMworCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWNvbmZpZ3VyYWJs
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWNv
bmZpZ3VyYWJsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwZWExOTIzMTA4MjUyMzExYmZjZWJmZmEwZjc5
ZThjNzQ3ZjY0MTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvd2luZG93LXByb3BlcnRpZXMtY29uZmlndXJhYmxlLmh0bWwKQEAgLTAsMCArMSw0MiBAQAor
PCFET0NZVFBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IlRlc3RzIHRoYXQgV2luZG93IHByb3BlcnRpZXMgYXJlIGluZGVlZCBjb25maWd1cmFibGUgdW5s
ZXNzIFtVbmZvcmdlYWJsZV0iKTsKKworZGVidWcoIiogUmVndWxhciBJREwgYXR0cmlidXRlLiIp
Oworc2hvdWxkQmVUcnVlKCJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywg
J25hbWUnKS5jb25maWd1cmFibGUiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93Lm5h
bWUiLCAiIik7CitzaG91bGRCZVRydWUoImRlbGV0ZSB3aW5kb3cubmFtZSIpOworc2hvdWxkQmVV
bmRlZmluZWQoIndpbmRvdy5uYW1lIik7CitldmFsQW5kTG9nKCJ3aW5kb3cubmFtZSA9IDMiKTsK
K3Nob3VsZEJlKCJ3aW5kb3cubmFtZSIsICIzIik7CitzaG91bGRCZVRydWUoImRlbGV0ZSB3aW5k
b3cubmFtZSIpOworc2hvdWxkQmVVbmRlZmluZWQoIndpbmRvdy5uYW1lIik7CisKK2RlYnVnKCIi
KTsKK2RlYnVnKCIqIENvbnN0cnVjdG9yIGF0dHJpYnV0ZXMuIik7CitzaG91bGRCZVRydWUoIk9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnTm9kZScpLmNvbmZpZ3VyYWJs
ZSIpOworc2hvdWxkTm90QmUoIndpbmRvdy5Ob2RlIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmVU
cnVlKCJkZWxldGUgd2luZG93Lk5vZGUiKTsKK3Nob3VsZEJlVW5kZWZpbmVkKCJ3aW5kb3cuTm9k
ZSIpOworZXZhbEFuZExvZygid2luZG93Lk5vZGUgPSAzIik7CitzaG91bGRCZSgid2luZG93Lk5v
ZGUiLCAiMyIpOworc2hvdWxkQmVUcnVlKCJkZWxldGUgd2luZG93Lk5vZGUiKTsKK3Nob3VsZEJl
VW5kZWZpbmVkKCJ3aW5kb3cuTm9kZSIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiKiBbVW5mb3Jn
ZWFibGVdIElETCBhdHRyaWJ1dGUuIik7CitzaG91bGRCZUZhbHNlKCJPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ3dpbmRvdycpLmNvbmZpZ3VyYWJsZSIpOworc2hvdWxk
Tm90QmUoIndpbmRvdy53aW5kb3ciLCAidW5kZWZpbmVkIik7CitzaG91bGRCZUZhbHNlKCJkZWxl
dGUgd2luZG93LndpbmRvdyIpOworc2hvdWxkTm90QmUoIndpbmRvdy53aW5kb3ciLCAidW5kZWZp
bmVkIik7CitldmFsQW5kTG9nKCJ3aW5kb3cud2luZG93ID0gMyIpOworc2hvdWxkTm90QmUoIndp
bmRvdy53aW5kb3ciLCAiMyIpOworCitkZWJ1ZygiIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2dsb2JhbC1jb25zdHJ1
Y3RvcnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMuaHRt
bAppbmRleCAwYjM5ZGQwNzAzMzZlMWMzODk2ZDg3MGY5OTdkZTlmODk0N2FkMDVjLi45ZDJkZTli
MDk4OTYyN2Y0YmJiNjJkMzMxZDEwMDQxN2ZmMjI2MTFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy5odG1sCkBAIC05NSwxNSArOTUsMTcgQEAgZnVuY3Rp
b24gdGVzdCgpCiAgICAgCiAgICAgb3JpZ2luYWxOb2RlQ29uc3RydWN0b3IgPSB3aW5kb3cuTm9k
ZTsgICAgCiAKLSAgICAvLyBTaGFkb3cgd2luZG93Lk5vZGUKKyAgICAvLyBTZXQgd2luZG93Lk5v
ZGUKICAgICB3aW5kb3cuTm9kZSA9IDE7CiAgICAgcHJpbnQoIltTZXQgd2luZG93Lk5vZGUgPSAx
XSIpOwogICAgIHNob3VsZEJlKCJ3aW5kb3cuTm9kZSIsIDEpOwogICAgIAotICAgIC8vIFVuc2hh
ZG93IHdpbmRvdy5Ob2RlCisgICAgLy8gRGVsZXRlIHdpbmRvdy5Ob2RlCiAgICAgZGVsZXRlIHdp
bmRvdy5Ob2RlOwogICAgIHByaW50KCJbRGVsZXRlZCB3aW5kb3cuTm9kZV0iKTsKLSAgICBzaG91
bGRCZSgid2luZG93Lk5vZGUiLCBvcmlnaW5hbE5vZGVDb25zdHJ1Y3Rvcik7CisgICAgc2hvdWxk
QmUoIndpbmRvdy5Ob2RlIiwgdW5kZWZpbmVkKTsKKworICAgIHdpbmRvdy5Ob2RlID0gb3JpZ2lu
YWxOb2RlQ29uc3RydWN0b3I7CiAKICAgICAvLyBBdHRlbXB0IHRvIHNoYWRvdyB3aW5kb3cuTm9k
ZSB3aXRoIGEgZnJhbWUgbmFtZWQgJ05vZGUnCiAgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcmVpZmllZC13aW5kb3ctcHJvcGVydHktYWNjZXNzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2lu
LXJlaWZpZWQtd2luZG93LXByb3BlcnR5LWFjY2Vzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDc4OWQxMjc2MGEzN2ViZWIyNmRhNDIxNGI2MmZkMGZhM2VlYTExMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXJlaWZpZWQt
d2luZG93LXByb3BlcnR5LWFjY2Vzcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE2OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6
Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0
cDovL2xvY2FsaG9zdDo4MDAwIi4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBt
YXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3Jp
Z2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgZnJhbWUgd2l0aCBv
cmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBv
cnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IEJsb2NrZWQgYSBmcmFt
ZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGZy
YW1lIHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0OjgwMDAiLiBQcm90b2NvbHMsIGRvbWFp
bnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorVGVzdHMgdGhhdCByZWlmaWNhdGlvbiBkb2VzIG5v
dCBieXBhc3MgY3Jvc3Mtb3JpZ2luIGNoZWNrcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgY3Jvc3NPcmlnaW5XaW5kb3cuZG9jdW1lbnQgcmV0dXJuZWQgdW5kZWZpbmVk
LgorUEFTUyBjcm9zc09yaWdpbldpbmRvdy5uYW1lIHJldHVybmVkIHVuZGVmaW5lZC4KK1BBU1Mg
Y3Jvc3NPcmlnaW5XaW5kb3cubWVudWJhciByZXR1cm5lZCB1bmRlZmluZWQuCitQQVNTIGNyb3Nz
T3JpZ2luV2luZG93LnNjcm9sbGJhcnMiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgRU9GLgorUEFTUyBjcm9zc09yaWdpbldpbmRvdy5uYXZpZ2F0b3IiKSB0aHJldyBl
eGNlcHRpb24gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgRU9GLgorUEFTUyBjcm9zc09yaWdpbldp
bmRvdy5zY3JlZW5YIikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIEVP
Ri4KK1BBU1MgY3Jvc3NPcmlnaW5XaW5kb3cubG9jYXRpb24gaXMgbm90IHVuZGVmaW5lZAorUEFT
UyBjcm9zc09yaWdpbldpbmRvdy5zZWxmIGlzIGNyb3NzT3JpZ2luV2luZG93LndpbmRvdworUEFT
UyBzYW1lT3JpZ2luV2luZG93LnNlbGYgaXMgInNlY3JldCIKK1BBU1MgY3Jvc3NPcmlnaW5XaW5k
b3cucGFyZW50IGlzIHdpbmRvdworUEFTUyBzYW1lT3JpZ2luV2luZG93LnBhcmVudCBpcyBzYW1l
T3JpZ2luV2luZG93LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXJlbnQiKQorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1yZWlmaWVkLXdpbmRv
dy1wcm9wZXJ0eS1hY2Nlc3MuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y3Jvc3Mtb3JpZ2luLXJlaWZpZWQtd2luZG93LXByb3BlcnR5LWFjY2Vzcy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjhlNWY4YTcxNDg4NzQzMTJlNTBkMmIxYWY1MzcxMGRiNWRiMjViYTEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1yZWlm
aWVkLXdpbmRvdy1wcm9wZXJ0eS1hY2Nlc3MuaHRtbApAQCAtMCwwICsxLDU0IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KKzxpZnJhbWUgaWQ9ImNyb3NzT3JpZ2luRnJhbWUiIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4
MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9yZWlmeS13aW5kb3cuaHRtbCI+PC9pZnJhbWU+Cis8aWZy
YW1lIGlkPSJzYW1lT3JpZ2luRnJhbWUiIHNyYz0icmVzb3VyY2VzL3JlaWZ5LXdpbmRvdy5odG1s
Ij48L2lmcmFtZT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCByZWlmaWNhdGlv
biBkb2VzIG5vdCBieXBhc3MgY3Jvc3Mtb3JpZ2luIGNoZWNrcy4iKTsKK2pzVGVzdElzQXN5bmMg
PSB0cnVlOworCitmdW5jdGlvbiBzaG91bGRUaHJvd09yUmV0dXJuVW5kZWZpbmVkKGV4cHJlc3Np
b24pCit7CisgICAgdHJ5IHsKKyAgICAgICAgcmVzdWx0ID0gZXZhbChleHByZXNzaW9uKTsKKyAg
ICB9IGNhdGNoIChlKSB7CisgICAgICAgIHRlc3RQYXNzZWQoZXhwcmVzc2lvbiArICIgdGhyZXcg
ZXhjZXB0aW9uICIgKyBlICsgIi4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAo
cmVzdWx0ID09PSB1bmRlZmluZWQpCisgICAgICAgIHRlc3RQYXNzZWQoZXhwcmVzc2lvbiArICIg
cmV0dXJuZWQgdW5kZWZpbmVkLiIpOworICAgIGVsc2UKKyAgICAgICAgdGVzdEZhaWxlZChleHBy
ZXNzaW9uICsgIiByZXR1cm5lZCAiICsgcmVzdWx0KTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgp
Cit7CisgICAgY3Jvc3NPcmlnaW5XaW5kb3cgPSBjcm9zc09yaWdpbkZyYW1lLndpbmRvdzsKKyAg
ICBzYW1lT3JpZ2luV2luZG93ID0gc2FtZU9yaWdpbkZyYW1lLndpbmRvdzsKKworICAgIHNob3Vs
ZFRocm93T3JSZXR1cm5VbmRlZmluZWQoJ2Nyb3NzT3JpZ2luV2luZG93LmRvY3VtZW50Jyk7Cisg
ICAgc2hvdWxkVGhyb3dPclJldHVyblVuZGVmaW5lZCgnY3Jvc3NPcmlnaW5XaW5kb3cubmFtZScp
OworICAgIHNob3VsZFRocm93T3JSZXR1cm5VbmRlZmluZWQoJ2Nyb3NzT3JpZ2luV2luZG93Lm1l
bnViYXInKTsKKyAgICBzaG91bGRUaHJvd09yUmV0dXJuVW5kZWZpbmVkKCdjcm9zc09yaWdpbldp
bmRvdy5zY3JvbGxiYXJzIiknKTsKKyAgICBzaG91bGRUaHJvd09yUmV0dXJuVW5kZWZpbmVkKCdj
cm9zc09yaWdpbldpbmRvdy5uYXZpZ2F0b3IiKScpOworICAgIHNob3VsZFRocm93T3JSZXR1cm5V
bmRlZmluZWQoJ2Nyb3NzT3JpZ2luV2luZG93LnNjcmVlblgiKScpOworICAgIHNob3VsZE5vdEJl
KCdjcm9zc09yaWdpbldpbmRvdy5sb2NhdGlvbicsICd1bmRlZmluZWQnKTsKKworICAgIC8vIEV2
ZW4gdGhvdWdoIHdpbmRvdy5zZWxmIHdhcyBkZWxldGVkLCB3ZSBzdGlsbCB1c2UgdGhlIG9yaWdp
bmFsIHN0YXRpYyBwcm9wZXJ0eSBnZXR0ZXIsIHRvIG1hdGNoCisgICAgLy8gRmlyZWZveCBhbmQg
Q2hyb21lLgorICAgIHNob3VsZEJlKCdjcm9zc09yaWdpbldpbmRvdy5zZWxmJywgJ2Nyb3NzT3Jp
Z2luV2luZG93LndpbmRvdycpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2FtZU9yaWdp
bldpbmRvdy5zZWxmIiwgInNlY3JldCIpOworCisgICAgLy8gVGVzdCB0aGUgY2FzZSB3aGVyZSBh
IGRlbGV0ZWQgd2luZG93IGF0dHJpYnV0ZSB3YXMgc2hhZG93aW5nIGEgbmFtZWQgcHJvcGVydHku
CisgICAgc2hvdWxkQmUoJ2Nyb3NzT3JpZ2luV2luZG93LnBhcmVudCcsICd3aW5kb3cnKTsKKyAg
ICBzaG91bGRCZSgnc2FtZU9yaWdpbldpbmRvdy5wYXJlbnQnLCAnc2FtZU9yaWdpbldpbmRvdy5k
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFyZW50IiknKTsKKworICAgIGZpbmlzaEpTVGVzdCgp
OworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9yZWlmeS13aW5kb3cuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL3JlaWZ5LXdpbmRvdy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjBiNDgyOWM0ZDRjOWM2MzQwNmQyNWQ2NDc0MTIxYzQ1NTljMjAyMzgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9y
ZWlmeS13aW5kb3cuaHRtbApAQCAtMCwwICsxLDggQEAKKzxzY3JpcHQ+CitkZWxldGUgd2luZG93
LnNlbGY7Cit3aW5kb3cuc2VsZiA9ICJzZWNyZXQiOworCisvLyBEZWxldGluZyB3aW5kb3cucGFy
ZW50IGV4cG9zZXMgdGhlIGRpdiB3aXRoIGlkICJwYXJlbnQiIHJldHVybmVkIGJ5IHRoZSBuYW1l
ZCBwcm9wZXJ0eSBnZXR0ZXIuCitkZWxldGUgd2luZG93LnBhcmVudDsKKzwvc2NyaXB0PgorPGRp
diBpZD0icGFyZW50Ij48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vaW50ZXJmYWNlcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2ludGVy
ZmFjZXMtZXhwZWN0ZWQudHh0CmluZGV4IDZkMDk4OTZiNTViMTMzNWUyYWQxMjBiMTIzZDU1MWJl
Y2I2MDAxNWIuLjA2YTU1YmU2OWM4YWNkZDU5MTZiNjhiZGZkOWY4MWU1YjliNzk1M2EgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9k
b20vaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dApAQCAt
MzgwMCwzMCArMzgwMCwzNCBAQCBQQVNTIFdpbmRvdyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAog
UEFTUyBXaW5kb3cgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAogRkFJTCBXaW5kb3cgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qg
YXNzZXJ0X2VxdWFsczogQ2xhc3MgbmFtZSBmb3IgcHJvdG90eXBlIG9mIFdpbmRvdy5wcm90b3R5
cGUgaXMgbm90ICJXaW5kb3dQcm9wZXJ0aWVzIiBleHBlY3RlZCAiW29iamVjdCBXaW5kb3dQcm9w
ZXJ0aWVzXSIgYnV0IGdvdCAiW29iamVjdCBPYmplY3RdIgogRkFJTCBXaW5kb3cgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IFdpbmRvdy5wcm90
b3R5cGUgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgImNvbnN0cnVjdG9yIiBleHBlY3RlZCBw
cm9wZXJ0eSAiY29uc3RydWN0b3IiIG1pc3NpbmcKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIHNlbGYgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBu
YW1lIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgaGlzdG9yeSBh
c3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGxvY2F0aW9uYmFyIGFz
c2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWVudWJhciBhc3NlcnRf
dHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHBlcnNvbmFsYmFyIGFzc2VydF90
cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc2Nyb2xsYmFycyBhc3NlcnRfdHJ1
ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
LUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHN0YXR1c2JhciBhc3NlcnRfdHJ1ZTog
cHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZB
SUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHRvb2xiYXIgYXNzZXJ0X3RydWU6IHByb3Bl
cnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdp
bmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdGF0dXMgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11
c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFdpbmRvdyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBzZWxmIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgbmFtZSAKK0ZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGhpc3RvcnkgYXNzZXJ0
X2VxdWFsczogc2V0dGVyIG11c3QgYmUgdW5kZWZpbmVkIGZvciByZWFkb25seSBhdHRyaWJ1dGVz
IGV4cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChmdW5jdGlvbikgZnVuY3Rp
b24gImZ1bmN0aW9uIGhpc3RvcnkoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIKK1BBU1MgV2lu
ZG93IGludGVyZmFjZTogYXR0cmlidXRlIGxvY2F0aW9uYmFyIAorUEFTUyBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgbWVudWJhciAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRl
IHBlcnNvbmFsYmFyIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc2Nyb2xsYmFy
cyAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHN0YXR1c2JhciAKK1BBU1MgV2lu
ZG93IGludGVyZmFjZTogYXR0cmlidXRlIHRvb2xiYXIgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBzdGF0dXMgCiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbG9z
ZSgpIGFzc2VydF9lcXVhbHM6IHByb3BlcnR5IHNob3VsZCBiZSB3cml0YWJsZSBpZiBhbmQgb25s
eSBpZiBub3QgdW5mb3JnZWFibGUgZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCi1GQUlMIFdp
bmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBjbG9zZWQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11
c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFdpbmRvdyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBjbG9zZWQgCiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IG9wZXJh
dGlvbiBzdG9wKCkgZGVzYyBpcyBub3QgYW4gT2JqZWN0LiAoZXZhbHVhdGluZyAnImdldCIgaW4g
ZGVzYycpCiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBmb2N1cygpIGFzc2VydF9l
cXVhbHM6IHByb3BlcnR5IHNob3VsZCBiZSB3cml0YWJsZSBpZiBhbmQgb25seSBpZiBub3QgdW5m
b3JnZWFibGUgZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCiBGQUlMIFdpbmRvdyBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBibHVyKCkgYXNzZXJ0X2VxdWFsczogcHJvcGVydHkgc2hvdWxkIGJlIHdy
aXRhYmxlIGlmIGFuZCBvbmx5IGlmIG5vdCB1bmZvcmdlYWJsZSBleHBlY3RlZCB0cnVlIGJ1dCBn
b3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGZyYW1lcyBhc3NlcnRf
dHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGxlbmd0aCBhc3NlcnRfdHJ1ZTog
cHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZB
SUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9wZW5lciBhc3NlcnRfdHJ1ZTogcHJvcGVy
dHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2lu
ZG93IGludGVyZmFjZTogYXR0cmlidXRlIHBhcmVudCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVz
dCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGlu
dGVyZmFjZTogYXR0cmlidXRlIGZyYW1lRWxlbWVudCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVz
dCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgV2luZG93IGlu
dGVyZmFjZTogYXR0cmlidXRlIGZyYW1lcyAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmli
dXRlIGxlbmd0aCAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9wZW5lciAKK1BB
U1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHBhcmVudCAKK1BBU1MgV2luZG93IGludGVy
ZmFjZTogYXR0cmlidXRlIGZyYW1lRWxlbWVudCAKIEZBSUwgV2luZG93IGludGVyZmFjZTogb3Bl
cmF0aW9uIG9wZW4oRE9NU3RyaW5nLERPTVN0cmluZyxET01TdHJpbmcsYm9vbGVhbikgZGVzYyBp
cyBub3QgYW4gT2JqZWN0LiAoZXZhbHVhdGluZyAnImdldCIgaW4gZGVzYycpCi1GQUlMIFdpbmRv
dyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBuYXZpZ2F0b3IgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11
c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdpbmRvdyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBuYXZpZ2F0b3IgYXNzZXJ0X2VxdWFsczogc2V0dGVyIG11c3Qg
YmUgdW5kZWZpbmVkIGZvciByZWFkb25seSBhdHRyaWJ1dGVzIGV4cGVjdGVkICh1bmRlZmluZWQp
IHVuZGVmaW5lZCBidXQgZ290IChmdW5jdGlvbikgZnVuY3Rpb24gImZ1bmN0aW9uIG5hdmlnYXRv
cigpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IgogRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgZXh0ZXJuYWwgYXNzZXJ0X293bl9wcm9wZXJ0eTogVGhlIGdsb2JhbCBvYmplY3QgbXVz
dCBoYXZlIGEgcHJvcGVydHkgImV4dGVybmFsIiBleHBlY3RlZCBwcm9wZXJ0eSAiZXh0ZXJuYWwi
IG1pc3NpbmcKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGFwcGxpY2F0aW9uQ2Fj
aGUgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBhcHBsaWNhdGlv
bkNhY2hlIAogRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBvcGVyYXRpb24gYWxlcnQoKSBkZXNjIGlz
IG5vdCBhbiBPYmplY3QuIChldmFsdWF0aW5nICciZ2V0IiBpbiBkZXNjJykKIEZBSUwgV2luZG93
IGludGVyZmFjZTogb3BlcmF0aW9uIGNvbmZpcm0oRE9NU3RyaW5nKSBkZXNjIGlzIG5vdCBhbiBP
YmplY3QuIChldmFsdWF0aW5nICciZ2V0IiBpbiBkZXNjJykKIEZBSUwgV2luZG93IGludGVyZmFj
ZTogb3BlcmF0aW9uIHByb21wdChET01TdHJpbmcsRE9NU3RyaW5nKSBkZXNjIGlzIG5vdCBhbiBP
YmplY3QuIChldmFsdWF0aW5nICciZ2V0IiBpbiBkZXNjJykKQEAgLTM4MzIsODIgKzM4MzYsODIg
QEAgRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2hvd01vZGFsRGlhbG9nKERPTVN0
cmluZyxhbnkpIGRlc2MgaXMgbm90IGFuIE8KIEZBSUwgV2luZG93IGludGVyZmFjZTogb3BlcmF0
aW9uIHBvc3RNZXNzYWdlKGFueSxET01TdHJpbmcsW29iamVjdCBPYmplY3RdKSBhc3NlcnRfZXF1
YWxzOiBwcm9wZXJ0eSBzaG91bGQgYmUgd3JpdGFibGUgaWYgYW5kIG9ubHkgaWYgbm90IHVuZm9y
Z2VhYmxlIGV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZQogRkFJTCBXaW5kb3cgaW50ZXJmYWNl
OiBvcGVyYXRpb24gY2FwdHVyZUV2ZW50cygpIGRlc2MgaXMgbm90IGFuIE9iamVjdC4gKGV2YWx1
YXRpbmcgJyJnZXQiIGluIGRlc2MnKQogRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBvcGVyYXRpb24g
cmVsZWFzZUV2ZW50cygpIGRlc2MgaXMgbm90IGFuIE9iamVjdC4gKGV2YWx1YXRpbmcgJyJnZXQi
IGluIGRlc2MnKQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hYm9ydCBhc3Nl
cnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uYWJvcnQgCiBGQUlMIFdp
bmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmF1dG9jb21wbGV0ZSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBUaGUgZ2xvYmFsIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAib25hdXRvY29tcGxl
dGUiIGV4cGVjdGVkIHByb3BlcnR5ICJvbmF1dG9jb21wbGV0ZSIgbWlzc2luZwogRkFJTCBXaW5k
b3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hdXRvY29tcGxldGVlcnJvciBhc3NlcnRfb3duX3By
b3BlcnR5OiBUaGUgZ2xvYmFsIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAib25hdXRvY29t
cGxldGVlcnJvciIgZXhwZWN0ZWQgcHJvcGVydHkgIm9uYXV0b2NvbXBsZXRlZXJyb3IiIG1pc3Np
bmcKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uYmx1ciBhc3NlcnRfdHJ1ZTog
cHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BB
U1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uYmx1ciAKIEZBSUwgV2luZG93IGludGVy
ZmFjZTogYXR0cmlidXRlIG9uY2FuY2VsIGFzc2VydF9vd25fcHJvcGVydHk6IFRoZSBnbG9iYWwg
b2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJvbmNhbmNlbCIgZXhwZWN0ZWQgcHJvcGVydHkg
Im9uY2FuY2VsIiBtaXNzaW5nCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNh
bnBsYXkgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNhbnBs
YXl0aHJvdWdoIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25j
aGFuZ2UgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNsaWNr
IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jYW5wbGF5IAor
UEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jYW5wbGF5dGhyb3VnaCAKK1BBU1Mg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlIAorUEFTUyBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25jbGljayAKIEZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRl
IG9uY2xvc2UgYXNzZXJ0X293bl9wcm9wZXJ0eTogVGhlIGdsb2JhbCBvYmplY3QgbXVzdCBoYXZl
IGEgcHJvcGVydHkgIm9uY2xvc2UiIGV4cGVjdGVkIHByb3BlcnR5ICJvbmNsb3NlIiBtaXNzaW5n
Ci1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNvbnRleHRtZW51IGFzc2VydF90
cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jb250ZXh0bWVudSAKIEZBSUwg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uY3VlY2hhbmdlIGFzc2VydF9vd25fcHJvcGVy
dHk6IFRoZSBnbG9iYWwgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJvbmN1ZWNoYW5nZSIg
ZXhwZWN0ZWQgcHJvcGVydHkgIm9uY3VlY2hhbmdlIiBtaXNzaW5nCi1GQUlMIFdpbmRvdyBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbmRibGNsaWNrIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJl
IGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25kcmFnIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZp
Z3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25kcmFnZW5kIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3Vy
YWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb25kcmFnZW50ZXIgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJh
YmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbmRibGNsaWNrIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25kcmFn
IAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25kcmFnZW5kIAorUEFTUyBXaW5k
b3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25kcmFnZW50ZXIgCiBGQUlMIFdpbmRvdyBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbmRyYWdleGl0IGFzc2VydF9vd25fcHJvcGVydHk6IFRoZSBnbG9iYWwg
b2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJvbmRyYWdleGl0IiBleHBlY3RlZCBwcm9wZXJ0
eSAib25kcmFnZXhpdCIgbWlzc2luZwotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25kcmFnbGVhdmUgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bmRyYWdvdmVyIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25k
cmFnc3RhcnQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmRy
b3AgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmR1cmF0aW9u
Y2hhbmdlIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25lbXB0
aWVkIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25lbmRlZCBh
c3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uZXJyb3IgYXNzZXJ0
X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmZvY3VzIGFzc2VydF90cnVl
OiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQot
RkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25pbnB1dCBhc3NlcnRfdHJ1ZTogcHJv
cGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uaW52YWxpZCBhc3NlcnRfdHJ1ZTogcHJvcGVy
dHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2lu
ZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ua2V5ZG93biBhc3NlcnRfdHJ1ZTogcHJvcGVydHkg
bXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93
IGludGVyZmFjZTogYXR0cmlidXRlIG9ua2V5cHJlc3MgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11
c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmtleXVwIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJl
IGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25sb2FkIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZp
Z3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25sb2FkZWRkYXRhIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZp
Z3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25sb2FkZWRtZXRhZGF0YSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBj
b25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFj
ZTogYXR0cmlidXRlIG9ubG9hZHN0YXJ0IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNv
bmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb25tb3VzZWRvd24gYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29u
ZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbm1vdXNlZW50ZXIgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29u
ZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbm1vdXNlbGVhdmUgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29u
ZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbm1vdXNlbW92ZSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25m
aWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTog
YXR0cmlidXRlIG9ubW91c2VvdXQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmln
dXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbm1vdXNlb3ZlciBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1
cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIG9ubW91c2V1cCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFi
bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmli
dXRlIG9ubW91c2V3aGVlbCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFi
bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmli
dXRlIG9ucGF1c2UgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bnBsYXkgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBsYXlp
bmcgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnByb2dyZXNz
IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25yYXRlY2hhbmdl
IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25yZXNldCBhc3Nl
cnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ucmVzaXplIGFzc2VydF90
cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zY3JvbGwgYXNzZXJ0X3RydWU6
IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1G
QUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnNlZWtlZCBhc3NlcnRfdHJ1ZTogcHJv
cGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uc2Vla2luZyBhc3NlcnRfdHJ1ZTogcHJvcGVy
dHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2lu
ZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uc2VsZWN0IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBt
dXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBXaW5kb3cg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25kcmFnbGVhdmUgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbmRyYWdvdmVyIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25kcmFnc3RhcnQgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmRyb3AgCitQ
QVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmR1cmF0aW9uY2hhbmdlIAorUEFTUyBX
aW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25lbXB0aWVkIAorUEFTUyBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25lbmRlZCAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRl
IG9uZXJyb3IgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmZvY3VzIAorUEFT
UyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25pbnB1dCAKK1BBU1MgV2luZG93IGludGVy
ZmFjZTogYXR0cmlidXRlIG9uaW52YWxpZCAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmli
dXRlIG9ua2V5ZG93biAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ua2V5cHJl
c3MgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmtleXVwIAorUEFTUyBXaW5k
b3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25sb2FkIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25sb2FkZWRkYXRhIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25sb2FkZWRtZXRhZGF0YSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubG9h
ZHN0YXJ0IAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZWRvd24gCitQ
QVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlZW50ZXIgCitQQVNTIFdpbmRv
dyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlbGVhdmUgCitQQVNTIFdpbmRvdyBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbm1vdXNlbW92ZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmli
dXRlIG9ubW91c2VvdXQgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNl
b3ZlciAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2V1cCAKK1BBU1Mg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2V3aGVlbCAKK1BBU1MgV2luZG93IGlu
dGVyZmFjZTogYXR0cmlidXRlIG9ucGF1c2UgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbnBsYXkgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBsYXlpbmcg
CitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnByb2dyZXNzIAorUEFTUyBXaW5k
b3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25yYXRlY2hhbmdlIAorUEFTUyBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25yZXNldCAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRl
IG9ucmVzaXplIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zY3JvbGwgCitQ
QVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnNlZWtlZCAKK1BBU1MgV2luZG93IGlu
dGVyZmFjZTogYXR0cmlidXRlIG9uc2Vla2luZyAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIG9uc2VsZWN0IAogRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zaG93
IGFzc2VydF9vd25fcHJvcGVydHk6IFRoZSBnbG9iYWwgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3Bl
cnR5ICJvbnNob3ciIGV4cGVjdGVkIHByb3BlcnR5ICJvbnNob3ciIG1pc3NpbmcKIEZBSUwgV2lu
ZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uc29ydCBhc3NlcnRfb3duX3Byb3BlcnR5OiBUaGUg
Z2xvYmFsIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAib25zb3J0IiBleHBlY3RlZCBwcm9w
ZXJ0eSAib25zb3J0IiBtaXNzaW5nCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bnN0YWxsZWQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnN1
Ym1pdCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uc3VzcGVu
ZCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9udGltZXVwZGF0
ZSBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uc3RhbGxlZCAK
K1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uc3VibWl0IAorUEFTUyBXaW5kb3cg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zdXNwZW5kIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb250aW1ldXBkYXRlIAogRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b250b2dnbGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogVGhlIGdsb2JhbCBvYmplY3QgbXVzdCBoYXZl
IGEgcHJvcGVydHkgIm9udG9nZ2xlIiBleHBlY3RlZCBwcm9wZXJ0eSAib250b2dnbGUiIG1pc3Np
bmcKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9udm9sdW1lY2hhbmdlIGFzc2Vy
dF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253YWl0aW5nIGFzc2VydF90
cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb252b2x1bWVjaGFuZ2UgCitQQVNT
IFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndhaXRpbmcgCiBGQUlMIFdpbmRvdyBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbmFmdGVycHJpbnQgYXNzZXJ0X293bl9wcm9wZXJ0eTogVGhlIGds
b2JhbCBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgIm9uYWZ0ZXJwcmludCIgZXhwZWN0ZWQg
cHJvcGVydHkgIm9uYWZ0ZXJwcmludCIgbWlzc2luZwogRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25iZWZvcmVwcmludCBhc3NlcnRfb3duX3Byb3BlcnR5OiBUaGUgZ2xvYmFsIG9i
amVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAib25iZWZvcmVwcmludCIgZXhwZWN0ZWQgcHJvcGVy
dHkgIm9uYmVmb3JlcHJpbnQiIG1pc3NpbmcKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmli
dXRlIG9uYmVmb3JldW5sb2FkIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3Vy
YWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb25oYXNoY2hhbmdlIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3Vy
YWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb25iZWZvcmV1bmxvYWQgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bmhhc2hjaGFuZ2UgCiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmxhbmd1YWdl
Y2hhbmdlIGFzc2VydF9vd25fcHJvcGVydHk6IFRoZSBnbG9iYWwgb2JqZWN0IG11c3QgaGF2ZSBh
IHByb3BlcnR5ICJvbmxhbmd1YWdlY2hhbmdlIiBleHBlY3RlZCBwcm9wZXJ0eSAib25sYW5ndWFn
ZWNoYW5nZSIgbWlzc2luZwotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tZXNz
YWdlIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25vZmZsaW5l
IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25vbmxpbmUgYXNz
ZXJ0X3RydWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCi1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBhZ2VoaWRlIGFzc2Vy
dF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYWdlc2hvdyBhc3NlcnRf
dHJ1ZTogcHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ucG9wc3RhdGUgYXNzZXJ0X3Ry
dWU6IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
Ci1GQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnN0b3JhZ2UgYXNzZXJ0X3RydWU6
IHByb3BlcnR5IG11c3QgYmUgY29uZmlndXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1G
QUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnVubG9hZCBhc3NlcnRfdHJ1ZTogcHJv
cGVydHkgbXVzdCBiZSBjb25maWd1cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1Mg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubWVzc2FnZSAKK1BBU1MgV2luZG93IGludGVy
ZmFjZTogYXR0cmlidXRlIG9ub2ZmbGluZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmli
dXRlIG9ub25saW5lIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYWdlaGlk
ZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGFnZXNob3cgCitQQVNTIFdp
bmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBvcHN0YXRlIAorUEFTUyBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25zdG9yYWdlIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb251bmxvYWQgCiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBidG9hKERPTVN0
cmluZykgZGVzYyBpcyBub3QgYW4gT2JqZWN0LiAoZXZhbHVhdGluZyAnImdldCIgaW4gZGVzYycp
CiBGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhdG9iKERPTVN0cmluZykgZGVzYyBp
cyBub3QgYW4gT2JqZWN0LiAoZXZhbHVhdGluZyAnImdldCIgaW4gZGVzYycpCiBGQUlMIFdpbmRv
dyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXRUaW1lb3V0KEZ1bmN0aW9uLGxvbmcsYW55KSBkZXNj
IGlzIG5vdCBhbiBPYmplY3QuIChldmFsdWF0aW5nICciZ2V0IiBpbiBkZXNjJykKQEAgLTM5MTcs
OCArMzkyMSw4IEBAIEZBSUwgV2luZG93IGludGVyZmFjZTogb3BlcmF0aW9uIHNldEludGVydmFs
KEZ1bmN0aW9uLGxvbmcsYW55KSBkZXNjIGlzIG5vdCBhbiBPCiBGQUlMIFdpbmRvdyBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBzZXRJbnRlcnZhbChET01TdHJpbmcsbG9uZyxhbnkpIGRlc2MgaXMgbm90
IGFuIE9iamVjdC4gKGV2YWx1YXRpbmcgJyJnZXQiIGluIGRlc2MnKQogRkFJTCBXaW5kb3cgaW50
ZXJmYWNlOiBvcGVyYXRpb24gY2xlYXJJbnRlcnZhbChsb25nKSBkZXNjIGlzIG5vdCBhbiBPYmpl
Y3QuIChldmFsdWF0aW5nICciZ2V0IiBpbiBkZXNjJykKIEZBSUwgV2luZG93IGludGVyZmFjZTog
b3BlcmF0aW9uIGNyZWF0ZUltYWdlQml0bWFwKEltYWdlQml0bWFwU291cmNlLGxvbmcsbG9uZyxs
b25nLGxvbmcpIGFzc2VydF9vd25fcHJvcGVydHk6IGdsb2JhbCBvYmplY3QgbWlzc2luZyBub24t
c3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAiY3JlYXRlSW1hZ2VCaXRtYXAiIG1p
c3NpbmcKLUZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIHNlc3Npb25TdG9yYWdlIGFz
c2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbG9jYWxTdG9yYWdlIGFz
c2VydF90cnVlOiBwcm9wZXJ0eSBtdXN0IGJlIGNvbmZpZ3VyYWJsZSBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc2Vzc2lvblN0b3JhZ2Ug
CitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsb2NhbFN0b3JhZ2UgCiBQQVNTIFdp
bmRvdyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHdpbmRvdyAKIFBBU1MgU3RyaW5naWZp
Y2F0aW9uIG9mIHdpbmRvdyAKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaGF2
ZSBvd24gcHJvcGVydHkgIndpbmRvdyIgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0cmlidXRlcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0
cmlidXRlcy1leHBlY3RlZC50eHQKaW5kZXggMTJiZDVlNzMzYzlhZGJjMDEzYmZjN2EzN2ZiYWE4
MDQ3NTRjNTc4YS4uMTc0NDlkZGE4Nzg4MzdlNzE5OWM3YWY0OTZkOWYxZjIwZTk1OTMxYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXVuZm9yZ2Vh
YmxlLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2pzL2dldE93blBy
b3BlcnR5RGVzY3JpcHRvci11bmZvcmdlYWJsZS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAt
OTgsMTQgKzk4LDYgQEAgUEFTUyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZQogUEFT
UyBkZXNjcmlwdG9yLmdldC5jYWxsKGludmFsaWRPYmplY3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IFRoZSBET01XaW5kb3cubG9jYXRpb24gZ2V0dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24g
aW5zdGFuY2VzIG9mIERPTVdpbmRvdy4KIFBBU1MgZGVzY3JpcHRvci5nZXQuY2FsbCh3aW5kb3cp
ID09PSB3aW5kb3cubG9jYXRpb24gaXMgdHJ1ZQogCi0qIFdpbmRvdy5zZWxmCi1QQVNTIGRlc2Ny
aXB0b3IuZ2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCi1QQVNTIGRlc2NyaXB0b3Iuc2V0
IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCi1QQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBp
cyB0cnVlCi1QQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIGZhbHNlCi1QQVNTIGRlc2Ny
aXB0b3IuZ2V0LmNhbGwoaW52YWxpZE9iamVjdCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
VGhlIERPTVdpbmRvdy5zZWxmIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBv
ZiBET01XaW5kb3cuCi1QQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93KSA9PT0gd2luZG93
LnNlbGYgaXMgdHJ1ZQotCiAqIFdpbmRvdy53aW5kb3cKIFBBU1MgZGVzY3JpcHRvci5nZXQgaXMg
YW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KIFBBU1MgZGVzY3JpcHRvci5zZXQgaXMgdW5kZWZpbmVk
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLXVu
Zm9yZ2VhYmxlLWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5
RGVzY3JpcHRvci11bmZvcmdlYWJsZS1hdHRyaWJ1dGVzLmh0bWwKaW5kZXggMzI5MWVkZDdiYmFi
ZWI2MWFkNmJjOTFhMjdiNjYwMjA2MGI1NmVjYy4uNDlmNjEyNzI0Yjk0OWIyZDIxYmRlOWY5OWY0
ZmEwMjhiZGFjOTcwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yLXVuZm9yZ2VhYmxlLWF0dHJpYnV0ZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9q
cy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ItdW5mb3JnZWFibGUtYXR0cmlidXRlcy5odG1sCkBA
IC00MywxMiArNDMsNiBAQCBjaGVja1VuZm9yZ2VhYmxlUHJvcGVydHlEZXNjcmlwdG9yKGRlc2Ny
aXB0b3IpOwogc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRvdykgPT09IHdp
bmRvdy5sb2NhdGlvbiIpOwogCiBkZWJ1ZygiIik7Ci1kZWJ1ZygiKiBXaW5kb3cuc2VsZiIpOwot
ZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAic2Vs
ZiIpOwotY2hlY2tVbmZvcmdlYWJsZVByb3BlcnR5RGVzY3JpcHRvcihkZXNjcmlwdG9yKTsKLXNo
b3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci5nZXQuY2FsbCh3aW5kb3cpID09PSB3aW5kb3cuc2VsZiIp
OwotCi1kZWJ1ZygiIik7CiBkZWJ1ZygiKiBXaW5kb3cud2luZG93Iik7CiBkZXNjcmlwdG9yID0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICJ3aW5kb3ciKTsKIGNoZWNr
VW5mb3JnZWFibGVQcm9wZXJ0eURlc2NyaXB0b3IoZGVzY3JpcHRvciwgdHJ1ZSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Itd2luZG93LWF0dHJp
YnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yLXdpbmRvdy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAppbmRleCAzZDgxNWY3MTgyN2FiZjBh
MWUxZjc3Y2FiNDQ1NjkzODhlOWExNTA2Li5kOTFjMGEwZjQyMGM4M2Y0NDgxOWJmN2RjNmJkZDY3
YzZkZmM1MDk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3Itd2luZG93LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2pz
L2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy1leHBlY3RlZC50eHQK
QEAgLTcsNyArNyw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiBQQVNTIGRlc2NyaXB0b3Iu
Z2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3Iuc2V0IGlzIGFu
IGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyB0cnVl
Ci1GQUlMIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIHNob3VsZCBiZSB0cnVlLiBXYXMgZmFsc2Uu
CitQQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1MgZGVzY3JpcHRvci5n
ZXQuY2FsbChub25XaW5kb3dPYmplY3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBE
T01XaW5kb3cuc2NyZWVuIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiBE
T01XaW5kb3cuCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93KSA9PT0gd2luZG93LnNj
cmVlbiBpcyB0cnVlCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwoKSA9PT0gd2luZG93LnNjcmVl
biBpcyB0cnVlCkBAIC0xNiwxNiArMTYsMjUgQEAgUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKCkg
PT09IHdpbmRvdy5zY3JlZW4gaXMgdHJ1ZQogUEFTUyBkZXNjcmlwdG9yLmdldCBpcyBhbiBpbnN0
YW5jZSBvZiBGdW5jdGlvbgogUEFTUyBkZXNjcmlwdG9yLnNldCBpcyBhbiBpbnN0YW5jZSBvZiBG
dW5jdGlvbgogUEFTUyBkZXNjcmlwdG9yLmVudW1lcmFibGUgaXMgdHJ1ZQotRkFJTCBkZXNjcmlw
dG9yLmNvbmZpZ3VyYWJsZSBzaG91bGQgYmUgdHJ1ZS4gV2FzIGZhbHNlLgorUEFTUyBkZXNjcmlw
dG9yLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwobm9uV2lu
ZG93T2JqZWN0KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUaGUgRE9NV2luZG93Lm5hdmln
YXRvciBnZXR0ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgRE9NV2luZG93Lgog
UEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRvdykgPT09IHdpbmRvdy5uYXZpZ2F0b3IgaXMg
dHJ1ZQogUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKCkgPT09IHdpbmRvdy5uYXZpZ2F0b3IgaXMg
dHJ1ZQogCisqIFdpbmRvdy5zZWxmCitQQVNTIGRlc2NyaXB0b3IuZ2V0IGlzIGFuIGluc3RhbmNl
IG9mIEZ1bmN0aW9uCitQQVNTIGRlc2NyaXB0b3Iuc2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0
aW9uCitQQVNTIGRlc2NyaXB0b3IuZW51bWVyYWJsZSBpcyB0cnVlCitQQVNTIGRlc2NyaXB0b3Iu
Y29uZmlndXJhYmxlIGlzIHRydWUKK1BBU1MgZGVzY3JpcHRvci5nZXQuY2FsbChub25XaW5kb3dP
YmplY3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBET01XaW5kb3cuc2VsZiBnZXR0
ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgRE9NV2luZG93LgorUEFTUyBkZXNj
cmlwdG9yLmdldC5jYWxsKHdpbmRvdykgPT09IHdpbmRvdy5zZWxmIGlzIHRydWUKK1BBU1MgZGVz
Y3JpcHRvci5nZXQuY2FsbCgpID09PSB3aW5kb3cuc2VsZiBpcyB0cnVlCisKICogV2luZG93LmZy
YW1lRWxlbWVudAogUEFTUyBkZXNjcmlwdG9yLmdldCBpcyBhbiBpbnN0YW5jZSBvZiBGdW5jdGlv
bgogUEFTUyBkZXNjcmlwdG9yLnNldCBpcyB1bmRlZmluZWQuCiBQQVNTIGRlc2NyaXB0b3IuZW51
bWVyYWJsZSBpcyB0cnVlCi1GQUlMIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIHNob3VsZCBiZSB0
cnVlLiBXYXMgZmFsc2UuCitQQVNTIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlIGlzIHRydWUKIFBB
U1MgZGVzY3JpcHRvci5nZXQuY2FsbChub25XaW5kb3dPYmplY3QpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IFRoZSBET01XaW5kb3cuZnJhbWVFbGVtZW50IGdldHRlciBjYW4gb25seSBiZSB1
c2VkIG9uIGluc3RhbmNlcyBvZiBET01XaW5kb3cuCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwo
d2luZG93KSA9PT0gd2luZG93LmZyYW1lRWxlbWVudCBpcyB0cnVlCiBQQVNTIGRlc2NyaXB0b3Iu
Z2V0LmNhbGwoKSA9PT0gd2luZG93LmZyYW1lRWxlbWVudCBpcyB0cnVlCkBAIC0zNCwxMCArNDMs
MjMgQEAgUEFTUyBkZXNjcmlwdG9yLmdldC5jYWxsKCkgPT09IHdpbmRvdy5mcmFtZUVsZW1lbnQg
aXMgdHJ1ZQogUEFTUyBkZXNjcmlwdG9yLmdldCBpcyBhbiBpbnN0YW5jZSBvZiBGdW5jdGlvbgog
UEFTUyBkZXNjcmlwdG9yLnNldCBpcyBhbiBpbnN0YW5jZSBvZiBGdW5jdGlvbgogUEFTUyBkZXNj
cmlwdG9yLmVudW1lcmFibGUgaXMgdHJ1ZQotRkFJTCBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSBz
aG91bGQgYmUgdHJ1ZS4gV2FzIGZhbHNlLgorUEFTUyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSBp
cyB0cnVlCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNhbGwobm9uV2luZG93T2JqZWN0KSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBUaGUgRE9NV2luZG93Lm5hbWUgZ2V0dGVyIGNhbiBvbmx5IGJl
IHVzZWQgb24gaW5zdGFuY2VzIG9mIERPTVdpbmRvdy4KIFBBU1MgZGVzY3JpcHRvci5nZXQuY2Fs
bCh3aW5kb3cpID09PSB3aW5kb3cubmFtZSBpcyB0cnVlCiBQQVNTIGRlc2NyaXB0b3IuZ2V0LmNh
bGwoKSA9PT0gd2luZG93Lm5hbWUgaXMgdHJ1ZQorCisqIHdpbmRvdy5Ob2RlCitQQVNTIGRlc2Ny
aXB0b3IuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBkZXNjcmlwdG9yLndyaXRhYmxlIGlzIHRy
dWUKK1BBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBkZXNjcmlwdG9y
LnZhbHVlIGlzIHdpbmRvdy5Ob2RlCisKKyogd2luZG93LmNvbnN0cnVjdG9yCitQQVNTIGRlc2Ny
aXB0b3IuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBkZXNjcmlwdG9yLndyaXRhYmxlIGlzIHRy
dWUKK1BBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBkZXNjcmlwdG9y
LnZhbHVlIGlzIHdpbmRvdy5XaW5kb3cKKwogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3Itd2luZG93LWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRlc3RzL2pzL2dl
dE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1sCmluZGV4IDEwNmU0
NThkMjZiNGNlMjc2N2NiZjg1YTkzNWJmODkzN2M0MTJiNWYuLjllY2UyOWJjNTgwMjJlODgxYjU1
NzExNDk3ZWE3NDJjYmFjOGI0ZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2dldE93blBy
b3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci13aW5kb3ctYXR0cmlidXRlcy5odG1sCkBAIC0z
Myw2ICszMywxMyBAQCBzaG91bGRCZVRydWUoImRlc2NyaXB0b3IuZ2V0LmNhbGwod2luZG93KSA9
PT0gd2luZG93Lm5hdmlnYXRvciIpOwogc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdldC5jYWxs
KCkgPT09IHdpbmRvdy5uYXZpZ2F0b3IiKTsKIAogZGVidWcoIiIpOworZGVidWcoIiogV2luZG93
LnNlbGYiKTsKK2Rlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdp
bmRvdywgInNlbGYiKTsKK2NoZWNrV2luZG93UHJvcGVydHlEZXNjcmlwdG9yKGRlc2NyaXB0b3Ip
Oworc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdldC5jYWxsKHdpbmRvdykgPT09IHdpbmRvdy5z
ZWxmIik7CitzaG91bGRCZVRydWUoImRlc2NyaXB0b3IuZ2V0LmNhbGwoKSA9PT0gd2luZG93LnNl
bGYiKTsKKworZGVidWcoIiIpOwogZGVidWcoIiogV2luZG93LmZyYW1lRWxlbWVudCIpOwogZGVz
Y3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAiZnJhbWVF
bGVtZW50Iik7CiBjaGVja1dpbmRvd1Byb3BlcnR5RGVzY3JpcHRvcihkZXNjcmlwdG9yLCB0cnVl
KTsKQEAgLTQ2LDUgKzUzLDIzIEBAIGNoZWNrV2luZG93UHJvcGVydHlEZXNjcmlwdG9yKGRlc2Ny
aXB0b3IsIGZhbHNlKTsKIHNob3VsZEJlVHJ1ZSgiZGVzY3JpcHRvci5nZXQuY2FsbCh3aW5kb3cp
ID09PSB3aW5kb3cubmFtZSIpOwogc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmdldC5jYWxsKCkg
PT09IHdpbmRvdy5uYW1lIik7CiAKK2RlYnVnKCIiKTsKK2RlYnVnKCIqIHdpbmRvdy5Ob2RlIik7
CitkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICJO
b2RlIik7CitzaG91bGRCZUZhbHNlKCJkZXNjcmlwdG9yLmVudW1lcmFibGUiKTsKK3Nob3VsZEJl
VHJ1ZSgiZGVzY3JpcHRvci53cml0YWJsZSIpOworc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmNv
bmZpZ3VyYWJsZSIpOworc2hvdWxkQmUoImRlc2NyaXB0b3IudmFsdWUiLCAid2luZG93Lk5vZGUi
KTsKKworZGVidWcoIiIpOworLy8gRklYTUU6ICdjb25zdHJ1Y3Rvcicgc2hvdWxkIGJlIG9uIHRo
ZSBwcm90b3R5cGUuCitkZWJ1ZygiKiB3aW5kb3cuY29uc3RydWN0b3IiKTsKK2Rlc2NyaXB0b3Ig
PSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgImNvbnN0cnVjdG9yIik7
CitzaG91bGRCZUZhbHNlKCJkZXNjcmlwdG9yLmVudW1lcmFibGUiKTsKK3Nob3VsZEJlVHJ1ZSgi
ZGVzY3JpcHRvci53cml0YWJsZSIpOworc2hvdWxkQmVUcnVlKCJkZXNjcmlwdG9yLmNvbmZpZ3Vy
YWJsZSIpOworc2hvdWxkQmUoImRlc2NyaXB0b3IudmFsdWUiLCAid2luZG93LldpbmRvdyIpOwor
CitkZWJ1ZygiIik7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4K
</data>
<flag name="review"
          id="295780"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>