<?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>77611</bug_id>
          
          <creation_ts>2012-02-01 23:36:18 -0800</creation_ts>
          <short_desc>Rename [ConvertUndefinedOrNullToNullString] to [TreatNullAs=NullString, TreatUndefinedAs=NullString]</short_desc>
          <delta_ts>2012-02-05 23:06:26 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>77393</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>japhet</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>547685</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-01 23:36:18 -0800</bug_when>
    <thetext>We should rename [ConvertUndefinedOrNullToNullString] to [TreatNullAs=EmptyString, TreatUndefinedAs=EmptyString], according to the spec (http://dev.w3.org/2006/webapi/WebIDL/#TreatNullAs, http://dev.w3.org/2006/webapi/WebIDL/#TreatUndefinedAs).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547688</commentid>
    <comment_count>1</comment_count>
      <attachid>125084</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-01 23:44:11 -0800</bug_when>
    <thetext>Created attachment 125084
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547691</commentid>
    <comment_count>2</comment_count>
      <attachid>125084</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-01 23:49:10 -0800</bug_when>
    <thetext>Comment on attachment 125084
Patch

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

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:2875
&gt; +        }
&gt; +        if (($signature-&gt;extendedAttributes-&gt;{&quot;TreatNullAs&quot;} and $signature-&gt;extendedAttributes-&gt;{&quot;TreatNullAs&quot;} eq &quot;EmptyString&quot;) or $signature-&gt;extendedAttributes-&gt;{&quot;Reflect&quot;}) {

Do we need an &quot;else&quot; here?

&gt; Source/WebCore/bindings/scripts/test/TestObj.idl:195
&gt; -        void convert5(in [ConvertUndefinedOrNullToNullString] e);
&gt; +        void convert5(in [TreatNullAs=EmptyString, TreatUndefinedAs=EmptyString] e);

In WebKit, the null string is different from the empty string.  Are you sure this is right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547731</commentid>
    <comment_count>3</comment_count>
      <attachid>125084</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-02 01:27:41 -0800</bug_when>
    <thetext>Comment on attachment 125084
Patch

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

&gt;&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:2875
&gt;&gt; +        if (($signature-&gt;extendedAttributes-&gt;{&quot;TreatNullAs&quot;} and $signature-&gt;extendedAttributes-&gt;{&quot;TreatNullAs&quot;} eq &quot;EmptyString&quot;) or $signature-&gt;extendedAttributes-&gt;{&quot;Reflect&quot;}) {
&gt; 
&gt; Do we need an &quot;else&quot; here?

I think no, according to the coding style of WebKit: &quot;An else if statement should be written as an if statement when the prior if concludes with a return statement.&quot;
http://www.webkit.org/coding/coding-style.html#indentation-namespace

&gt;&gt; Source/WebCore/bindings/scripts/test/TestObj.idl:195
&gt;&gt; +        void convert5(in [TreatNullAs=EmptyString, TreatUndefinedAs=EmptyString] e);
&gt; 
&gt; In WebKit, the null string is different from the empty string.  Are you sure this is right?

I think that this is not correct, but this is the way WebKit has been working; i.e. this patch does not at all change the WebKit behavior.

When we specify [TreatUndefinedAs=EmptyString] on an attribute, V8Parameter&lt;WithUndefinedOrNullCheck&gt;::prepare() is called:
http://code.google.com/codesearch#OAMlx_jo-ck/src/third_party/WebKit/Source/WebCore/bindings/v8/V8Binding.h&amp;exact_package=chromium&amp;q=v8binding.h&amp;type=cs&amp;l=504

Then, V8Parameter&lt;WithUndefinedOrNullCheck&gt;::prepare() creates String() (i.e. the null string in WebKit) if the attribute is JS&apos;s null or JS&apos;s undefined. This is wrong, since the spec requires the empty string in WebKit. That being said, I guess that this does not cause serious issues in WebKit because the null string is &quot;included&quot; in the empty string. (i.e. String::IsEmpty() returns true for the null string.)

Maybe we should land the patch as-is, and then fix V8Parameter&lt;WithUndefinedOrNullCheck&gt;::prepare() so that it creates the empty string?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547944</commentid>
    <comment_count>4</comment_count>
      <attachid>125084</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-02 09:50:24 -0800</bug_when>
    <thetext>Comment on attachment 125084
Patch

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

Makes sense.  Thanks.

&gt;&gt;&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:2875
&gt;&gt;&gt; +        if (($signature-&gt;extendedAttributes-&gt;{&quot;TreatNullAs&quot;} and $signature-&gt;extendedAttributes-&gt;{&quot;TreatNullAs&quot;} eq &quot;EmptyString&quot;) or $signature-&gt;extendedAttributes-&gt;{&quot;Reflect&quot;}) {
&gt;&gt; 
&gt;&gt; Do we need an &quot;else&quot; here?
&gt; 
&gt; I think no, according to the coding style of WebKit: &quot;An else if statement should be written as an if statement when the prior if concludes with a return statement.&quot;
&gt; http://www.webkit.org/coding/coding-style.html#indentation-namespace

Oh, you&apos;re right.  I misread this and thought it was just generating code with a return in it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548011</commentid>
    <comment_count>5</comment_count>
      <attachid>125084</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-02 11:24:41 -0800</bug_when>
    <thetext>Comment on attachment 125084
Patch

Clearing flags on attachment: 125084

Committed r106575: &lt;http://trac.webkit.org/changeset/106575&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548012</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-02 11:24:46 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548286</commentid>
    <comment_count>7</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-02 17:41:44 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 125084 [details])
&gt; &gt; In WebKit, the null string is different from the empty string.  Are you sure this is right?
&gt; 
&gt; I think that this is not correct, but this is the way WebKit has been working; i.e. this patch does not at all change the WebKit behavior.
&gt; 
&gt; When we specify [TreatUndefinedAs=EmptyString] on an attribute, V8Parameter&lt;WithUndefinedOrNullCheck&gt;::prepare() is called:
&gt; http://code.google.com/codesearch#OAMlx_jo-ck/src/third_party/WebKit/Source/WebCore/bindings/v8/V8Binding.h&amp;exact_package=chromium&amp;q=v8binding.h&amp;type=cs&amp;l=504
&gt; 
&gt; Then, V8Parameter&lt;WithUndefinedOrNullCheck&gt;::prepare() creates String() (i.e. the null string in WebKit) if the attribute is JS&apos;s null or JS&apos;s undefined. This is wrong, since the spec requires the empty string in WebKit. That being said, I guess that this does not cause serious issues in WebKit because the null string is &quot;included&quot; in the empty string. (i.e. String::IsEmpty() returns true for the null string.)
&gt; 
&gt; Maybe we should land the patch as-is, and then fix V8Parameter&lt;WithUndefinedOrNullCheck&gt;::prepare() so that it creates the empty string?

It appears that the current WebKit implementation is wrong but it might be a good &quot;optimization&quot;. As I mentioned above, using the null string instead of the empty string would cause no problem. Given that we change the null string to the empty string, we need to create |m_impl| for the string, which might hit performance. WDYT? If you think we should fix the current implementation, I&apos;ll file a bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548522</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-03 00:43:55 -0800</bug_when>
    <thetext>I might add a FIXME comment explaining the situation.  The proper time to fix this is probably when it causes a real bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548572</commentid>
    <comment_count>9</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-03 01:32:44 -0800</bug_when>
    <thetext>Let me reopen this bug to insert &quot;FIXME&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548583</commentid>
    <comment_count>10</comment_count>
      <attachid>125292</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-03 01:55:37 -0800</bug_when>
    <thetext>Created attachment 125292
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548886</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-02-03 11:29:19 -0800</bug_when>
    <thetext>I think these FIXMEs are misleading and we are not heading in exactly the right direction.

The concept of a null string definitely won’t be mentioned in an IDL specification, because it’s not a web platform concept. The null string vs. empty string distinction is a WebKit implementation detail.

In cases where we want the same behavior for a JavaScript empty string and a JavaScript null argument, it’s possibly better to use an empty string in the bindings rather than null string. Because the null string is passed today, it’s likely that there is code, far from the bindings layer, that is carefully treating null strings and empty strings the same because it can get either from the bindings. If we instead guaranteed that the bindings would never use a null string, then worries about handling a null string the same way as an empty string could be confined to calls from inside WebKit. It’s possible that the null string is more efficient to construct and pass around than the empty string. We may be getting some performance benefits from the current way of doing things.

However, switching to the empty string creates a problem. There are a number of DOM APIs where a JavaScript null does something *different* than a JavaScript empty string. For those APIs, we are currently using the null vs. empty string distinction to differentiate the JavaScript null or JavaScript missing argument case from the JavaScript empty string case.

The classic example of this is the setAttribute function on Element. Another example I spotted is the getItems function on Document. It would be dangerous to change this behavior unless we have sufficient test coverage for calls to all functions that are doing this.

I also think it was a bit dangerous to change the names in IDL files. The new name obscures this because it states clearly, but inaccurately, that the empty string will be passed if the argument is null. That change makes it even harder for future programmers to figure this out.

The long term target should be to have something that is clear (possibly by being explicit when null handling is needed), efficient (possibly by using null string in cases where we could use either null or empty string), and also minimizes unnecessary differences from the standard. It’s not obvious to me exactly how to accomplish all three, but it shouldn’t be too difficult.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549063</commentid>
    <comment_count>12</comment_count>
      <attachid>125292</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-03 14:15:30 -0800</bug_when>
    <thetext>Comment on attachment 125292
Patch

Maybe the incremental step forward here is to changes these to TreatNullAs=NullString so that the attribute match the implementation more closely?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549238</commentid>
    <comment_count>13</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-03 16:51:03 -0800</bug_when>
    <thetext>Thanks, darin and adam.

(In reply to comment #12)
&gt; (From update of attachment 125292 [details])
&gt; Maybe the incremental step forward here is to changes these to TreatNullAs=NullString so that the attribute match the implementation more closely?

This appears to be a good approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549710</commentid>
    <comment_count>14</comment_count>
      <attachid>125563</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-05 21:20:32 -0800</bug_when>
    <thetext>Created attachment 125563
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549751</commentid>
    <comment_count>15</comment_count>
      <attachid>125563</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-05 23:06:19 -0800</bug_when>
    <thetext>Comment on attachment 125563
Patch

Clearing flags on attachment: 125563

Committed r106776: &lt;http://trac.webkit.org/changeset/106776&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549752</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-05 23:06:26 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125084</attachid>
            <date>2012-02-01 23:44:11 -0800</date>
            <delta_ts>2012-02-03 01:55:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77611-20120202164409.patch</filename>
            <type>text/plain</type>
            <size>25312</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2RhMDY0YmI4YjFjM2Zj
MmYwYTk1MzUwNmU0MzIyNjAxNzgwMTk5ZS4uNTkxZmY2YjAyNGZkZWIyODg1YzBlZTZiMzhhOTEx
MDNmYzZhZWY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ2IEBACiAyMDEyLTAyLTAxICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBSZW5hbWUgW0NvbnZl
cnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmddIHRvCisgICAgICAgIFtUcmVhdE51bGxBcz1F
bXB0eVN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZ10KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjExCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCByZW5hbWVzIFtDb252
ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nXSB0bworICAgICAgICBbVHJlYXROdWxsQXM9
RW1wdHlTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmddLCBhY2NvcmRpbmcgdG8g
dGhlIHNwZWMKKyAgICAgICAgKGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8j
VHJlYXROdWxsQXMsCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklE
TC8jVHJlYXRVbmRlZmluZWRBcykuCisKKyAgICAgICAgTm8gdGVzdHMuIE5vIGNoYW5nZXMgaW4g
YmVoYXZpb3IuCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bToKKyAgICAgICAgKEpTVmFsdWVUb05hdGl2ZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yVjgucG06CisgICAgICAgIChHZXROYXRpdmVUeXBlRnJvbVNpZ25hdHVy
ZSk6CisgICAgICAgICogZG9tL0RPTUltcGxlbWVudGF0aW9uLmlkbDoKKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuaWRsOgorICAgICAgICAqIGZpbGVhcGkvQmxvYi5pZGw6CisgICAgICAgICogZmls
ZWFwaS9EaXJlY3RvcnlFbnRyeS5pZGw6CisgICAgICAgICogZmlsZWFwaS9EaXJlY3RvcnlFbnRy
eVN5bmMuaWRsOgorICAgICAgICAqIGZpbGVhcGkvRW50cnkuaWRsOgorICAgICAgICAqIGZpbGVh
cGkvRW50cnlTeW5jLmlkbDoKKyAgICAgICAgKiBmaWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1s
L0hUTUxDYW52YXNFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxGaWVsZFNldEVsZW1l
bnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6CisgICAgICAgICog
aHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MT2JqZWN0RWxl
bWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5pZGw6CisgICAgICAg
ICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFy
ZWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBwYWdlL0NvbnNvbGUuaWRsOgorICAgICAgICAqIHBh
Z2UvRE9NV2luZG93LmlkbDoKKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0
T2JqLmlkbDogTm8gY2hhbmdlcyBpbiBydW4tYmluZGluZ3MtdGVzdHMgcmVzdWx0cy4KKworMjAx
Mi0wMi0wMSAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAg
UmVuYW1lIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gdG8gW1RyZWF0TnVsbEFzPUVtcHR5U3Ry
aW5nXQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2
MDIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbQppbmRleCBmMDQ4ZWQxNDkyN2QwM2ZlNTM1MGI3MzVmYjExM2NlOGUxNTI5MzRhLi45
ZWI4OGE4OTkzZGY4Yjc4NDliNzI1YTJlZWNlNmQxMzgzZmQ4NTQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMjg2OSw4
ICsyODY5LDEzIEBAIHN1YiBKU1ZhbHVlVG9OYXRpdmUKICAgICByZXR1cm4gInN0YXRpY19jYXN0
PFJhbmdlOjpDb21wYXJlSG93PigkdmFsdWUudG9JbnQzMihleGVjKSkiIGlmICR0eXBlIGVxICJD
b21wYXJlSG93IjsKIAogICAgIGlmICgkdHlwZSBlcSAiRE9NU3RyaW5nIikgewotICAgICAgICBy
ZXR1cm4gInZhbHVlVG9TdHJpbmdXaXRoTnVsbENoZWNrKGV4ZWMsICR2YWx1ZSkiIGlmICgkc2ln
bmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVHJlYXROdWxsQXMifSBhbmQgJHNpZ25hdHVy
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlRyZWF0TnVsbEFzIn0gZXEgIkVtcHR5U3RyaW5nIikg
b3IgJHNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlZmxlY3QifTsKLSAgICAgICAg
cmV0dXJuICJ2YWx1ZVRvU3RyaW5nV2l0aFVuZGVmaW5lZE9yTnVsbENoZWNrKGV4ZWMsICR2YWx1
ZSkiIGlmICRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb252ZXJ0VW5kZWZpbmVk
T3JOdWxsVG9OdWxsU3RyaW5nIn07CisgICAgICAgIGlmICgoJHNpZ25hdHVyZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57IlRyZWF0TnVsbEFzIn0gYW5kICRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJUcmVhdE51bGxBcyJ9IGVxICJFbXB0eVN0cmluZyIpIGFuZCAoJHNpZ25hdHVyZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlRyZWF0VW5kZWZpbmVkQXMifSBhbmQgJHNpZ25hdHVyZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlRyZWF0VW5kZWZpbmVkQXMifSBlcSAiRW1wdHlTdHJpbmci
KSkgeworICAgICAgICAgICAgcmV0dXJuICJ2YWx1ZVRvU3RyaW5nV2l0aFVuZGVmaW5lZE9yTnVs
bENoZWNrKGV4ZWMsICR2YWx1ZSkiCisgICAgICAgIH0KKyAgICAgICAgaWYgKCgkc2lnbmF0dXJl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVHJlYXROdWxsQXMifSBhbmQgJHNpZ25hdHVyZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IlRyZWF0TnVsbEFzIn0gZXEgIkVtcHR5U3RyaW5nIikgb3IgJHNp
Z25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlZmxlY3QifSkgeworICAgICAgICAgICAg
cmV0dXJuICJ2YWx1ZVRvU3RyaW5nV2l0aE51bGxDaGVjayhleGVjLCAkdmFsdWUpIgorICAgICAg
ICB9CisgICAgICAgICMgRklYTUU6IEFkZCB0aGUgY2FzZSBmb3IgJ2lmICgkc2lnbmF0dXJlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiVHJlYXRVbmRlZmluZWRBcyJ9IGFuZCAkc2lnbmF0dXJlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiVHJlYXRVbmRlZmluZWRBcyJ9IGVxICJFbXB0eVN0cmluZyIp
KScuCiAgICAgICAgIHJldHVybiAidXN0cmluZ1RvU3RyaW5nKCR2YWx1ZS5pc0VtcHR5KCkgPyBV
U3RyaW5nKCkgOiAkdmFsdWUudG9TdHJpbmcoZXhlYyktPnZhbHVlKGV4ZWMpKSI7CiAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JWOC5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4
LnBtCmluZGV4IDU3MzExYjMyY2U5MWJmMDMyOWZlODgyYjVmY2Y0ZmE1NTQ2YjJmNjIuLjIwZjI3
MzNlNzk4YzM2Yjg1YzE0OGZlMTUzMTBhYmVjY2M5M2E1Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC0zMzM0LDExICsz
MzM0LDEyIEBAIHN1YiBHZXROYXRpdmVUeXBlRnJvbVNpZ25hdHVyZQogCiAgICAgaWYgKCRwYXJh
bWV0ZXJJbmRleCA+PSAwICYmICR0eXBlIGVxICJWOFBhcmFtZXRlciIpIHsKICAgICAgICAgbXkg
JG1vZGUgPSAiIjsKLSAgICAgICAgaWYgKCRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJDb252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nIn0pIHsKKyAgICAgICAgaWYgKCgk
c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVHJlYXROdWxsQXMifSBhbmQgJHNpZ25h
dHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlRyZWF0TnVsbEFzIn0gZXEgIkVtcHR5U3RyaW5n
IikgYW5kICgkc2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVHJlYXRVbmRlZmluZWRB
cyJ9IGFuZCAkc2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVHJlYXRVbmRlZmluZWRB
cyJ9IGVxICJFbXB0eVN0cmluZyIpKSB7CiAgICAgICAgICAgICAkbW9kZSA9ICJXaXRoVW5kZWZp
bmVkT3JOdWxsQ2hlY2siOwogICAgICAgICB9IGVsc2lmICgoJHNpZ25hdHVyZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57IlRyZWF0TnVsbEFzIn0gYW5kICRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJUcmVhdE51bGxBcyJ9IGVxICJFbXB0eVN0cmluZyIpIG9yICRzaWduYXR1cmUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJSZWZsZWN0In0pIHsKICAgICAgICAgICAgICRtb2RlID0gIldp
dGhOdWxsQ2hlY2siOwogICAgICAgICB9CisgICAgICAgICMgRklYTUU6IEFkZCB0aGUgY2FzZSBm
b3IgJ2Vsc2lmICgkc2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVHJlYXRVbmRlZmlu
ZWRBcyJ9IGFuZCAkc2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVHJlYXRVbmRlZmlu
ZWRBcyJ9IGVxICJFbXB0eVN0cmluZyIpKScuCiAgICAgICAgICR0eXBlIC49ICI8JG1vZGU+IjsK
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9UZXN0T2JqLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0
T2JqLmlkbAppbmRleCA1MWM1MDNlOGU1YzI4NGQ3NDhjMDI0ZTA3M2QyNTNkNzFmMzlkZGQ4Li5k
NTFhMTIyOTlkYTgyNzQ3N2RiY2I4MjgxMTM5M2U1ZjU3YzM1OTQ1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCkBAIC0xOTIsNyArMTky
LDcgQEAgbW9kdWxlIHRlc3QgewogICAgICAgICB2b2lkIGNvbnZlcnQyKGluIFtDb252ZXJ0TnVs
bFN0cmluZ1RvPVVuZGVmaW5lZF0gYik7CiAgICAgICAgIHZvaWQgY29udmVydDMoaW4gW0NvbnZl
cnROdWxsU3RyaW5nVG89RmFsc2VdIGMpOwogICAgICAgICB2b2lkIGNvbnZlcnQ0KGluIFtUcmVh
dE51bGxBcz1FbXB0eVN0cmluZ10gZCk7Ci0gICAgICAgIHZvaWQgY29udmVydDUoaW4gW0NvbnZl
cnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmddIGUpOworICAgICAgICB2b2lkIGNvbnZlcnQ1
KGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmlu
Z10gZSk7CiAKICAgICAgICAgYXR0cmlidXRlIFNWR1BvaW50IG11dGFibGVQb2ludDsKICAgICAg
ICAgYXR0cmlidXRlIFtJbW11dGFibGVdIFNWR1BvaW50IGltbXV0YWJsZVBvaW50OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwKaW5kZXggNTc1NzdlY2I1NDllN2NhNzM1
OGZmMmEyMWJmNzU3YTIzYWU5MGRjMi4uZDYxMDYwNDM1OWI0MTE2N2Y4ZjYyZDQ0NTRiMGJiZWE3
MzRkYzM4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9u
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsCkBAIC0z
Miw5ICszMiw5IEBAIG1vZHVsZSBjb3JlIHsKIAogICAgICAgICAvLyBET00gTGV2ZWwgMgogCi0g
ICAgICAgIFtPbGRTdHlsZU9iakNdIERvY3VtZW50VHlwZSBjcmVhdGVEb2N1bWVudFR5cGUoaW4g
W0NvbnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmcsT3B0aW9uYWw9Q2FsbFdpdGhEZWZh
dWx0VmFsdWVdIERPTVN0cmluZyBxdWFsaWZpZWROYW1lLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtDb252ZXJ0VW5kZWZpbmVkT3JO
dWxsVG9OdWxsU3RyaW5nLE9wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcg
cHVibGljSWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gW0NvbnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmcsT3B0aW9uYWw9
Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBzeXN0ZW1JZCkKKyAgICAgICAgW09sZFN0
eWxlT2JqQ10gRG9jdW1lbnRUeXBlIGNyZWF0ZURvY3VtZW50VHlwZShpbiBbVHJlYXROdWxsQXM9
RW1wdHlTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmcsT3B0aW9uYWw9Q2FsbFdp
dGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBxdWFsaWZpZWROYW1lLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtUcmVhdE51bGxBcz1F
bXB0eVN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZyxPcHRpb25hbD1DYWxsV2l0
aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIHB1YmxpY0lkLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtUcmVhdE51bGxBcz1FbXB0eVN0
cmluZywgVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1
bHRWYWx1ZV0gRE9NU3RyaW5nIHN5c3RlbUlkKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2Vw
dGlvbik7CiAgICAgICAgIFtPbGRTdHlsZU9iakNdIERvY3VtZW50IGNyZWF0ZURvY3VtZW50KGlu
IFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0g
RE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZyxPcHRpb25hbD1DYWxs
V2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIHF1YWxpZmllZE5hbWUsIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5pZGwKaW5kZXggYzA0Zjg1MGUxOWZmMmU3YTk4ZjBlMDRjNTU2M2M1ZWYzNDE4ZjRlOS4u
M2MzYjY3YmE4YzcyMzU0NmZlY2U5MGU3ZmQzODQyMTBjNzUyNGRhYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaWRsCkBAIC0xMjgsNyArMTI4LDcgQEAgbW9kdWxlIGNvcmUgewogCiAgICAgICAgIGJv
b2xlYW4gICAgICAgICAgICBleGVjQ29tbWFuZChpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0
VmFsdWVdIERPTVN0cmluZyBjb21tYW5kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBib29sZWFuIHVzZXJJ
bnRlcmZhY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbQ29u
dmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRW
YWx1ZV0gRE9NU3RyaW5nIHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1FbXB0
eVN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIHZhbHVlKTsK
IAogI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElW
RV9DCiAgICAgICAgIC8vIEZJWE1FOiByZW1vdmUgdGhlIHRoZXNlIHR3byB2ZXJzaW9ucyBvbmNl
IFtPcHRpb25hbF0gaXMgaW1wbGVtZW50ZWQgZm9yIE9iamVjdGl2ZS1DLgpAQCAtMTc1LDcgKzE3
NSw3IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgTm9kZUxpc3QgZ2V0RWxlbWVudHNCeU5hbWUo
aW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgZWxlbWVudE5hbWUp
OwogCiAjaWYgZGVmaW5lZChFTkFCTEVfTUlDUk9EQVRBKSAmJiBFTkFCTEVfTUlDUk9EQVRBCi0g
ICAgICAgIE5vZGVMaXN0IGdldEl0ZW1zKGluIFtDb252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxs
U3RyaW5nLCBPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIHR5cGVOYW1l
cyk7CisgICAgICAgIE5vZGVMaXN0IGdldEl0ZW1zKGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmlu
ZywgVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZywgT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0
VmFsdWVdIERPTVN0cmluZyB0eXBlTmFtZXMpOwogI2VuZGlmCiAKICNpZiBkZWZpbmVkKExBTkdV
QUdFX0pBVkFTQ1JJUFQpICYmIExBTkdVQUdFX0pBVkFTQ1JJUFQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2Iu
aWRsCmluZGV4IDk5MDJjZDQ1NGZhMTFhYTIzNjM5MjJmNDk4NDhkMjM4NTc1ZDI4NTQuLmE5ZTg4
NTUzYTk2YjBkOTE5OThkNTU2ZDE5NzQ0NDlmNjdhZWM4MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvQmxvYi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9i
LmlkbApAQCAtNDAsNyArNDAsNyBAQCBtb2R1bGUgaHRtbCB7CiAKICNpZiAhZGVmaW5lZChMQU5H
VUFHRV9PQkpFQ1RJVkVfQykKICNpZiBkZWZpbmVkKEVOQUJMRV9CTE9CKSAmJiBFTkFCTEVfQkxP
QgotICAgICAgICBCbG9iIHdlYmtpdFNsaWNlKGluIFtPcHRpb25hbF0gbG9uZyBsb25nIHN0YXJ0
LCBpbiBbT3B0aW9uYWxdIGxvbmcgbG9uZyBlbmQsIGluIFtPcHRpb25hbCwgQ29udmVydFVuZGVm
aW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGNvbnRlbnRUeXBlKTsKKyAgICAgICAg
QmxvYiB3ZWJraXRTbGljZShpbiBbT3B0aW9uYWxdIGxvbmcgbG9uZyBzdGFydCwgaW4gW09wdGlv
bmFsXSBsb25nIGxvbmcgZW5kLCBpbiBbT3B0aW9uYWwsIFRyZWF0TnVsbEFzPUVtcHR5U3RyaW5n
LCBUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgY29udGVudFR5cGUpOwog
I2VuZGlmCiAjZW5kaWYKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9EaXJlY3RvcnlFbnRyeS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVu
dHJ5LmlkbAppbmRleCBhYzM0NWU3ZGMzMWE0YjBjYzEyMjBhMmJhMWJiMmM2NGE5ZGU2NmU5Li4x
MDI5YzM3NDI1ZmNiZTE1Mzg0MDFmMGRhNzFiMDJhYzBiMjhkM2FiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5LmlkbApAQCAtMzYsOCArMzYsOCBAQCBtb2R1bGUgc3Rv
cmFnZSB7CiAgICAgICAgIE5vU3RhdGljVGFibGVzCiAgICAgXSBEaXJlY3RvcnlFbnRyeSA6IEVu
dHJ5IHsKICAgICAgICAgRGlyZWN0b3J5UmVhZGVyIGNyZWF0ZVJlYWRlcigpOwotICAgICAgICBb
Q3VzdG9tXSB2b2lkIGdldEZpbGUoaW4gW0NvbnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJp
bmddIERPTVN0cmluZyBwYXRoLCBpbiBbT3B0aW9uYWxdIFdlYktpdEZsYWdzIGZsYWdzLCBpbiBb
T3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09w
dGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKLSAgICAgICAg
W0N1c3RvbV0gdm9pZCBnZXREaXJlY3RvcnkoaW4gW0NvbnZlcnRVbmRlZmluZWRPck51bGxUb051
bGxTdHJpbmddIERPTVN0cmluZyBwYXRoLCBpbiBbT3B0aW9uYWxdIFdlYktpdEZsYWdzIGZsYWdz
LCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywg
aW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyAg
ICAgICAgW0N1c3RvbV0gdm9pZCBnZXRGaWxlKGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZywg
VHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHBhdGgsIGluIFtPcHRpb25h
bF0gV2ViS2l0RmxhZ3MgZmxhZ3MsIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJh
Y2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNr
IGVycm9yQ2FsbGJhY2spOworICAgICAgICBbQ3VzdG9tXSB2b2lkIGdldERpcmVjdG9yeShpbiBb
VHJlYXROdWxsQXM9RW1wdHlTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmddIERP
TVN0cmluZyBwYXRoLCBpbiBbT3B0aW9uYWxdIFdlYktpdEZsYWdzIGZsYWdzLCBpbiBbT3B0aW9u
YWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFs
LCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKICAgICAgICAgdm9pZCBy
ZW1vdmVSZWN1cnNpdmVseShpbiBbQ2FsbGJhY2tdIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJh
Y2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7
CiAgICAgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5
RW50cnlTeW5jLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5j
LmlkbAppbmRleCBiMGFiMTc4ZmZmZTAzYjViMjkzNjU3NzNkMzk3NzEzY2RjMjUyODdkLi4xZmE4
MGU2ODI0ZDAyN2FiNTEzMzAwZWEyMzE0ZGM0YzQxZmY2YzRmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsCkBAIC0zNiw4ICszNiw4IEBAIG1vZHVs
ZSBzdG9yYWdlIHsKICAgICAgICAgTm9TdGF0aWNUYWJsZXMKICAgICBdIERpcmVjdG9yeUVudHJ5
U3luYyA6IEVudHJ5U3luYyB7CiAgICAgICAgIERpcmVjdG9yeVJlYWRlclN5bmMgY3JlYXRlUmVh
ZGVyKCkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKLSAgICAgICAgW0N1c3RvbV0gRmlsZUVudHJ5
U3luYyBnZXRGaWxlKGluIFtDb252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBET01T
dHJpbmcgcGF0aCwgaW4gV2ViS2l0RmxhZ3MgZmxhZ3MpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7
Ci0gICAgICAgIFtDdXN0b21dIERpcmVjdG9yeUVudHJ5U3luYyBnZXREaXJlY3RvcnkoaW4gW0Nv
bnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBwYXRoLCBpbiBXZWJL
aXRGbGFncyBmbGFncykgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKKyAgICAgICAgW0N1c3RvbV0g
RmlsZUVudHJ5U3luYyBnZXRGaWxlKGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZywgVHJlYXRV
bmRlZmluZWRBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHBhdGgsIGluIFdlYktpdEZsYWdzIGZs
YWdzKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgICAgICBbQ3VzdG9tXSBEaXJlY3RvcnlF
bnRyeVN5bmMgZ2V0RGlyZWN0b3J5KGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZywgVHJlYXRV
bmRlZmluZWRBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHBhdGgsIGluIFdlYktpdEZsYWdzIGZs
YWdzKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOwogICAgICAgICB2b2lkIHJlbW92ZVJlY3Vyc2l2
ZWx5KCkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKICAgICB9OwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZmlsZWFwaS9FbnRyeS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Vu
dHJ5LmlkbAppbmRleCBkNmQyODBiYTg5NDAwYWNkNDVhZjM4MzdiZmQ5NWEyNDA2ZDVlOWZhLi44
Mjg5NDUzOGZmM2I1NzFlMGZkYTdjYjlmNjk3NTc4NmJlNDk3NDQyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL0VudHJ5LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0VudHJ5LmlkbApAQCAtNDEsOCArNDEsOCBAQCBtb2R1bGUgc3RvcmFnZSB7CiAgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01GaWxlU3lzdGVtIGZpbGVzeXN0ZW07CiAKICAgICAgICAgdm9p
ZCBnZXRNZXRhZGF0YShpbiBbQ2FsbGJhY2tdIE1ldGFkYXRhQ2FsbGJhY2sgc3VjY2Vzc0NhbGxi
YWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2sp
OwotICAgICAgICB2b2lkIG1vdmVUbyhpbiBEaXJlY3RvcnlFbnRyeSBwYXJlbnQsIGluIFtPcHRp
b25hbCwgQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIG5hbWUs
IGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBp
biBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAg
ICAgICB2b2lkIGNvcHlUbyhpbiBEaXJlY3RvcnlFbnRyeSBwYXJlbnQsIGluIFtPcHRpb25hbCwg
Q29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIG5hbWUsIGluIFtP
cHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0
aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgICAgICB2
b2lkIG1vdmVUbyhpbiBEaXJlY3RvcnlFbnRyeSBwYXJlbnQsIGluIFtPcHRpb25hbCwgVHJlYXRO
dWxsQXM9RW1wdHlTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmddIERPTVN0cmlu
ZyBuYW1lLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxs
YmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNr
KTsKKyAgICAgICAgdm9pZCBjb3B5VG8oaW4gRGlyZWN0b3J5RW50cnkgcGFyZW50LCBpbiBbT3B0
aW9uYWwsIFRyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3Ry
aW5nXSBET01TdHJpbmcgbmFtZSwgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFj
ayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sg
ZXJyb3JDYWxsYmFjayk7CiAgICAgICAgIERPTVN0cmluZyB0b1VSTCgpOwogICAgICAgICB2b2lk
IHJlbW92ZShpbiBbQ2FsbGJhY2tdIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtP
cHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CiAgICAgICAg
IHZvaWQgZ2V0UGFyZW50KGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3Vj
Y2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9y
Q2FsbGJhY2spOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMu
aWRsIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuaWRsCmluZGV4IDQ1OWEwMTQ0
MTg3MzRkZTI1YTY5ZjczMDQzNmIwZDJmNDE0MWM2MDYuLjViNzkxMDE2NGVjZDhhNGQzZTFlODQx
N2I2MjQ5NWY5YWYwMDYyNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRW50
cnlTeW5jLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0VudHJ5U3luYy5pZGwKQEAg
LTQxLDggKzQxLDggQEAgbW9kdWxlIHN0b3JhZ2UgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NRmlsZVN5c3RlbVN5bmMgZmlsZXN5c3RlbTsKIAogICAgICAgICBNZXRhZGF0YSBnZXRN
ZXRhZGF0YSgpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7Ci0gICAgICAgIEVudHJ5U3luYyBtb3Zl
VG8oaW4gRGlyZWN0b3J5RW50cnlTeW5jIHBhcmVudCwgaW4gW0NvbnZlcnRVbmRlZmluZWRPck51
bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBuYW1lKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOwot
ICAgICAgICBFbnRyeVN5bmMgY29weVRvKGluIERpcmVjdG9yeUVudHJ5U3luYyBwYXJlbnQsIGlu
IFtDb252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgbmFtZSkgcmFp
c2VzIChGaWxlRXhjZXB0aW9uKTsKKyAgICAgICAgRW50cnlTeW5jIG1vdmVUbyhpbiBEaXJlY3Rv
cnlFbnRyeVN5bmMgcGFyZW50LCBpbiBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmcsIFRyZWF0VW5k
ZWZpbmVkQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBuYW1lKSByYWlzZXMgKEZpbGVFeGNlcHRp
b24pOworICAgICAgICBFbnRyeVN5bmMgY29weVRvKGluIERpcmVjdG9yeUVudHJ5U3luYyBwYXJl
bnQsIGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0
cmluZ10gRE9NU3RyaW5nIG5hbWUpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CiAgICAgICAgIERP
TVN0cmluZyB0b1VSTCgpOwogICAgICAgICB2b2lkIHJlbW92ZSgpIHJhaXNlcyAoRmlsZUV4Y2Vw
dGlvbik7CiAgICAgICAgIERpcmVjdG9yeUVudHJ5U3luYyBnZXRQYXJlbnQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxkZXIuaWRsIGIvU291cmNl
L1dlYkNvcmUvZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5pZGwKaW5kZXggNDU2MzYxM2U5NmVj
NWQ2YWRjNzZkZDQxODA1MTk5YjM1NWNlMzZjMi4uMTAxMmUzMWRmNDRjNzk3NDRjMzVhMWU0NWQ4
MGJiZGRjMDgxOTFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9XZWJLaXRC
bG9iQnVpbGRlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9XZWJLaXRCbG9iQnVp
bGRlci5pZGwKQEAgLTM1LDEzICszNSwxMyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIE5vU3Rh
dGljVGFibGVzCiAgICAgXSBXZWJLaXRCbG9iQnVpbGRlciB7CiAjaWYgIWRlZmluZWQoTEFOR1VB
R0VfT0JKRUNUSVZFX0MpCi0gICAgICAgIEJsb2IgZ2V0QmxvYihpbiBbT3B0aW9uYWwsIENvbnZl
cnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBjb250ZW50VHlwZSk7Cisg
ICAgICAgIEJsb2IgZ2V0QmxvYihpbiBbT3B0aW9uYWwsIFRyZWF0TnVsbEFzPUVtcHR5U3RyaW5n
LCBUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgY29udGVudFR5cGUpOwog
I2VuZGlmCiAgICAgICAgIHZvaWQgYXBwZW5kKGluIEJsb2IgYmxvYik7CiAjaWYgZGVmaW5lZChF
TkFCTEVfQkxPQikgJiYgRU5BQkxFX0JMT0IKICAgICAgICAgdm9pZCBhcHBlbmQoaW4gQXJyYXlC
dWZmZXIgYXJyYXlCdWZmZXIpOwogI2VuZGlmCi0gICAgICAgIHZvaWQgYXBwZW5kKGluIERPTVN0
cmluZyB2YWx1ZSwgaW4gW09wdGlvbmFsLCBDb252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3Ry
aW5nXSBET01TdHJpbmcgZW5kaW5ncykgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgICAgICB2
b2lkIGFwcGVuZChpbiBET01TdHJpbmcgdmFsdWUsIGluIFtPcHRpb25hbCwgVHJlYXROdWxsQXM9
RW1wdHlTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBlbmRp
bmdzKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbAppbmRleCBjOTE5NDdiYjNmYWM0MGJkMzczOWNkNWVj
N2Y3ODM0ZGE0YzU3YTJlLi5mMzdjOTcwNGQ2NGNjMzg4OWQ0MDgwMjJmOWVkMDMxMmFlZjY1MTgz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbApAQCAtMzksNyAr
MzksNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFu
IHdpbGxWYWxpZGF0ZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxp
ZGF0aW9uTWVzc2FnZTsKICAgICAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7Ci0gICAgICAg
IHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoaW4gW0NvbnZlcnRVbmRlZmluZWRPck51bGxUb051bGxT
dHJpbmddIERPTVN0cmluZyBlcnJvcik7CisgICAgICAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHko
aW4gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5n
XSBET01TdHJpbmcgZXJyb3IpOwogCiAgICAgICAgIHZvaWQgY2xpY2soKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbAppbmRleCA1MGQ0YWU0NjE4ZTk4MjkzY2M3
ZjI5Njg0NzhmNmQzM2RkMWNiYzJiLi5kM2UzOWVkNjQ0NmVhOTA3YzIxMTY0YmFhYjNkYmNjMzM0
NDAwYjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbApAQCAt
MzMsNyArMzMsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIGF0dHJpYnV0ZSBsb25nIHdpZHRo
OwogICAgICAgICBhdHRyaWJ1dGUgbG9uZyBoZWlnaHQ7CiAKLSAgICAgICAgW0N1c3RvbV0gRE9N
U3RyaW5nIHRvRGF0YVVSTChpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZyxP
cHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIHR5cGUpCisgICAgICAgIFtD
dXN0b21dIERPTVN0cmluZyB0b0RhdGFVUkwoaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLCBU
cmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nLE9wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVl
XSBET01TdHJpbmcgdHlwZSkKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCiAj
aWYgIWRlZmluZWQoTEFOR1VBR0VfQ1BQKSB8fCAhTEFOR1VBR0VfQ1BQCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmlkbAppbmRleCA4Y2ZmZTNkYjA0ZmY0N2Q3MDgw
N2MxMTc3NjA3OWZkM2ZkMmJlMmUwLi41MTIzMTZkYmQ2YTlmNmQxYzI0NjNlMjUyMDQ4OGU1MzVm
NTkxMzY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1l
bnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5pZGwK
QEAgLTI1LDcgKzI1LDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgYm9vbGVhbiAgICAgICAgIHdpbGxWYWxpZGF0ZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIERPTVN0cmluZyAgICAgICB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICAgICAgYm9vbGVhbiAg
Y2hlY2tWYWxpZGl0eSgpOwotICAgICAgICB2b2lkICAgICBzZXRDdXN0b21WYWxpZGl0eShpbiBb
Q29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGVycm9yKTsKKyAg
ICAgICAgdm9pZCAgICAgc2V0Q3VzdG9tVmFsaWRpdHkoaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3Ry
aW5nLCBUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgZXJyb3IpOwogICAg
IH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCmluZGV4IGJl
ZGViOWFlNGIwNDNmNjM1MGJkYmYxMjJjN2JhZjNlYjU3ZGIwNWQuLmE4Zjg5MDM3NjM2ZTc1ZjVj
ODMyNWI2NTllMDRkMDliNDgxMjk3YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmlkbApAQCAtNzMsNyArNzMsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuIHdpbGxWYWxpZGF0ZTsKICAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICAgICAgYm9vbGVhbiBjaGVj
a1ZhbGlkaXR5KCk7Ci0gICAgICAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoaW4gW0NvbnZlcnRV
bmRlZmluZWRPck51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBlcnJvcik7CisgICAgICAgIHZv
aWQgc2V0Q3VzdG9tVmFsaWRpdHkoaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLCBUcmVhdFVu
ZGVmaW5lZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgZXJyb3IpOwogICAgICAgICB2b2lkIHNl
bGVjdCgpOwogICAgICAgICB2b2lkIGNsaWNrKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
S2V5Z2VuRWxlbWVudC5pZGwKaW5kZXggYzM0YTkyNTgyNjUzMDIzZDk0NGI2YmMzYjJiOGQ2NWU4
MzE2NzViYy4uOTNkOGQ2MWY0ZTA2ODllNGZlZDU4ZmEzZjkwZjE2ZGFjNTNmYjVlMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5pZGwKQEAgLTQ0LDcgKzQ0LDcgQEAg
bW9kdWxlIGh0bWwgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgVmFsaWRpdHlTdGF0ZSB2
YWxpZGl0eTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9u
TWVzc2FnZTsKICAgICAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7Ci0gICAgICAgIHZvaWQg
c2V0Q3VzdG9tVmFsaWRpdHkoaW4gW0NvbnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmdd
IERPTVN0cmluZyBlcnJvcik7CisgICAgICAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoaW4gW1Ry
ZWF0TnVsbEFzPUVtcHR5U3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nXSBET01T
dHJpbmcgZXJyb3IpOwogCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlTGlzdCBsYWJl
bHM7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVs
ZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGwKaW5k
ZXggYzFmYThjMDAzOWE0NDZkMjg4Y2YyNzhmNDAxODk4NWYzZGRhNjI4Yy4uNGVhMmNiM2Y5ZTQ1
NDhhN2QxNDQzMWNhYzNkNGIyMDYxZmJkMDc2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
T2JqZWN0RWxlbWVudC5pZGwKQEAgLTQ2LDcgKzQ2LDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgVmFsaWRpdHlTdGF0ZSB2YWxpZGl0eTsKICAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICAgICAgYm9v
bGVhbiBjaGVja1ZhbGlkaXR5KCk7Ci0gICAgICAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoaW4g
W0NvbnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBlcnJvcik7Cisg
ICAgICAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5n
LCBUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgZXJyb3IpOwogCiAgICAg
ICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6CiAgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBbQ2hlY2tGcmFtZVNlY3VyaXR5XSBEb2N1bWVudCBjb250ZW50RG9jdW1lbnQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsCmluZGV4IDM3OGFlNTNkZTk5MjFm
ZDk2M2YzNmEyNmIwMzkzNDg2NTBmNjRlYWUuLmMyYTQxZGFiNzE1NmIxZDdiZGFlNGQwNTgxMTA1
YmJiYzFhOWIzMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVs
ZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRs
CkBAIC0zNiw3ICszNiw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIFZhbGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgICAgIGJvb2xlYW4gY2hlY2tWYWxpZGl0
eSgpOwotICAgICAgICB2b2lkIHNldEN1c3RvbVZhbGlkaXR5KGluIFtDb252ZXJ0VW5kZWZpbmVk
T3JOdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgZXJyb3IpOworICAgICAgICB2b2lkIHNldEN1
c3RvbVZhbGlkaXR5KGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZywgVHJlYXRVbmRlZmluZWRB
cz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGVycm9yKTsKIAogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgTm9kZUxpc3QgbGFiZWxzOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNl
bGVjdEVsZW1lbnQuaWRsCmluZGV4IDk3NDk3ODBjMTEzMWM2NGRiMWY1M2RlYTgzMWRkNGRkNDIw
ZTE2NWMuLjE1NThkM2MwMTdjYTU0OTRhNjYxYWIwNjk2ZGJlYWZhZWFlZTNiZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCkBAIC00MCw3ICs0MCw3IEBAIG1v
ZHVsZSBodG1sIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gd2lsbFZhbGlk
YXRlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZhbGlkYXRpb25NZXNz
YWdlOwogICAgICAgICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLSAgICAgICAgdm9pZCBzZXRD
dXN0b21WYWxpZGl0eShpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9N
U3RyaW5nIGVycm9yKTsKKyAgICAgICAgdm9pZCBzZXRDdXN0b21WYWxpZGl0eShpbiBbVHJlYXRO
dWxsQXM9RW1wdHlTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmddIERPTVN0cmlu
ZyBlcnJvcik7CiAKICAgICAgICAgLy8gTW9kaWZpZWQgaW4gRE9NIExldmVsIDI6CiAgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MT3B0aW9uc0NvbGxlY3Rpb24gb3B0aW9uczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCmluZGV4IGIzNDE0MjM1MDIx
MTNjZjgwYzA0ZDlkZmQ4MDA4ZDk0MWMwY2JkYjYuLmEwMzVlODhmM2E1ZTI1YzY5NmEyZmY2YWY4
MDEyODczNmZmYWYxMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRB
cmVhRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVt
ZW50LmlkbApAQCAtNDUsNyArNDUsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBib29sZWFuIHdpbGxWYWxpZGF0ZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICAgICAgYm9vbGVhbiBjaGVja1Zh
bGlkaXR5KCk7Ci0gICAgICAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoaW4gW0NvbnZlcnRVbmRl
ZmluZWRPck51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBlcnJvcik7CisgICAgICAgIHZvaWQg
c2V0Q3VzdG9tVmFsaWRpdHkoaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLCBUcmVhdFVuZGVm
aW5lZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgZXJyb3IpOwogCiAgICAgICAgIC8vIFdpbklF
ICYgRmlyZUZveCBleHRlbnNpb246CiAgICAgICAgIGF0dHJpYnV0ZSBsb25nIHNlbGVjdGlvblN0
YXJ0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5pZGwKaW5kZXggM2M2M2E4YWNlMzk4MGFiMDBiOGY2MjZl
M2YyZmFiZjU0YTllNjFmNy4uYTdhYzUzNTlmZGZlMDIyNWE1Mzc0ZDkyMWVmMzNkYmIyMjYyOTZj
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuaWRsCkBAIC01MSw4ICs1MSw4IEBAIG1vZHVsZSB3aW5k
b3cgewogICAgICAgICBbQ3VzdG9tXSB2b2lkIHByb2ZpbGVFbmQoaW4gRE9NU3RyaW5nIHRpdGxl
KTsKICNlbmRpZgogCi0gICAgICAgIHZvaWQgdGltZShpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVs
bFRvTnVsbFN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIHRp
dGxlKTsKLSAgICAgICAgW0N1c3RvbUFyZ3VtZW50SGFuZGxpbmddIHZvaWQgdGltZUVuZChpbiBb
Q29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHRpdGxlKTsKKyAg
ICAgICAgdm9pZCB0aW1lKGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZywgVHJlYXRVbmRlZmlu
ZWRBcz1FbXB0eVN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5n
IHRpdGxlKTsKKyAgICAgICAgW0N1c3RvbUFyZ3VtZW50SGFuZGxpbmddIHZvaWQgdGltZUVuZChp
biBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmdd
IERPTVN0cmluZyB0aXRsZSk7CiAgICAgICAgIFtDdXN0b21Bcmd1bWVudEhhbmRsaW5nXSB2b2lk
IHRpbWVTdGFtcCgpOwogICAgICAgICBbQ3VzdG9tQXJndW1lbnRIYW5kbGluZ10gdm9pZCBncm91
cCgpOwogICAgICAgICBbQ3VzdG9tQXJndW1lbnRIYW5kbGluZ10gdm9pZCBncm91cENvbGxhcHNl
ZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IGM1ZTQ1ZDQxYjk5MmJkZmJhZTc1
MDdmOTRkMWJiZTFjMDYxOWIxYzkuLmI2OWZiY2Y3MTMyYTE5NWJjOWYxNGEzMzdjYzY1ZmRmMGU3
YmI5ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTgxLDcgKzgxLDcgQEAgbW9k
dWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQgYWxlcnQoaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVm
YXVsdFZhbHVlXSBET01TdHJpbmcgbWVzc2FnZSk7CiAgICAgICAgIGJvb2xlYW4gY29uZmlybShp
biBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBtZXNzYWdlKTsKICAg
ICAgICAgW0NvbnZlcnROdWxsU3RyaW5nVG89TnVsbF0gRE9NU3RyaW5nIHByb21wdChpbiBbT3B0
aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBtZXNzYWdlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtDb252ZXJ0VW5k
ZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nLE9wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBE
T01TdHJpbmcgZGVmYXVsdFZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbiBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmcsIFRyZWF0VW5k
ZWZpbmVkQXM9RW1wdHlTdHJpbmcsT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0
cmluZyBkZWZhdWx0VmFsdWUpOwogCiAgICAgICAgIGJvb2xlYW4gZmluZChpbiBbT3B0aW9uYWw9
Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBzdHJpbmcsCiAgICAgICAgICAgICAgICAg
ICAgICBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIGJvb2xlYW4gY2FzZVNlbnNp
dGl2ZSwKQEAgLTE0Nyw3ICsxNDcsNyBAQCBtb2R1bGUgd2luZG93IHsKIAogICAgICAgICAvLyBE
T00gTGV2ZWwgMiBTdHlsZSBJbnRlcmZhY2UKICAgICAgICAgQ1NTU3R5bGVEZWNsYXJhdGlvbiBn
ZXRDb21wdXRlZFN0eWxlKGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRWxlbWVu
dCBlbGVtZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW4gW0NvbnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmcsT3B0aW9uYWw9Q2FsbFdpdGhE
ZWZhdWx0VmFsdWVdIERPTVN0cmluZyBwc2V1ZG9FbGVtZW50KTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZywg
VHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1
ZV0gRE9NU3RyaW5nIHBzZXVkb0VsZW1lbnQpOwogCiAgICAgICAgIC8vIFdlYktpdCBleHRlbnNp
b25zCiAjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NS
SVBUCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125292</attachid>
            <date>2012-02-03 01:55:37 -0800</date>
            <delta_ts>2012-02-05 21:20:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77611-20120203185536.patch</filename>
            <type>text/plain</type>
            <size>4542</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI5NWZjYTY1MmI1MWJk
Yzg5M2JhMTQ2ZTBhMWQwYmVmMzUyYmU4Ny4uM2IwOWE4MzlkMTRlNGJhNTI3MTY1NzllMTYwNDg5
ZTc5MTc1NzU3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAyLTAzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgRklYTUUgY29t
bWVudHMgYWJvdXQgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBhbmQgW1RyZWF0VW5kZWZpbmVk
QXM9RW1wdHlTdHJpbmddCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03NzYxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFjY29yZGluZyB0byB0aGUgV2ViIElETCBzcGVjLCBpZiBbVHJlYXROdWxsQXM9RW1w
dHlTdHJpbmddIG9yIFtUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nXQorICAgICAgICBpcyBz
cGVjaWZpZWQsIHdlIHNob3VsZCBjcmVhdGUgYW4gZW1wdHkgc3RyaW5nIGJ1dCB0aGUgY3VycmVu
dCBpbXBsZW1lbnRhdGlvbgorICAgICAgICBjcmVhdGVzIGEgbnVsbCBzdHJpbmcuIFRoaXMgcGF0
Y2ggYWRkZWQgRklYTUUgY29tbWVudHMgYWJvdXQgaXQuCisKKyAgICAgICAgTm8gdGVzdHMuIE5v
IGNoYW5nZXMgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRp
bmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsdWVUb1N0cmluZ1dpdGhOdWxsQ2hlY2spOgor
ICAgICAgICAoV2ViQ29yZTo6dmFsdWVUb1N0cmluZ1dpdGhVbmRlZmluZWRPck51bGxDaGVjayk6
CisgICAgICAgICogYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnRvV2ViQ29yZVN0cmluZ1dpdGhOdWxsQ2hlY2spOgorICAgICAgICAoV2ViQ29yZTo6dG9BdG9t
aWNXZWJDb3JlU3RyaW5nV2l0aE51bGxDaGVjayk6CisgICAgICAgIChXZWJDb3JlOjp0b1dlYkNv
cmVTdHJpbmdXaXRoTnVsbE9yVW5kZWZpbmVkQ2hlY2spOgorCiAyMDEyLTAxLTI5ICBQYWJsbyBG
bG91cmV0ICA8cGFibG9mQG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBWOCBpZGwgY29kZSBnZW5l
cmF0b3IgZG9lc24ndCBoYW5kbGUgU2VyaWFsaXplZFNjcmlwdFZhbHVlIGF0dHJpYnV0ZXMgcHJv
cGVybHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRp
bmcuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcAppbmRl
eCBlZjNlZmU5MWE2ZWJmMmVlZGQ1ZjRmMjFhNGExNTQ1NTJlMWMzMDg0Li43MDQ1YmY0NDE3ZDEx
ZGQwMTNiMGRiMDJlY2YwOTUxMTFmNjA3MmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NQmluZGluZy5jcHAKQEAgLTExOCwxNSArMTE4LDIzIEBAIEF0b21pY1N0cmluZ0lt
cGwqIGZpbmRBdG9taWNTdHJpbmcoY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllcikKIAogU3Ry
aW5nIHZhbHVlVG9TdHJpbmdXaXRoTnVsbENoZWNrKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB2
YWx1ZSkKIHsKLSAgICBpZiAodmFsdWUuaXNOdWxsKCkpCisgICAgaWYgKHZhbHVlLmlzTnVsbCgp
KSB7CisgICAgICAgIC8vIEZJWE1FOiBBY2NvcmRpbmcgdG8gdGhlIFdlYiBJREwgc3BlYywgd2Ug
c2hvdWxkIGdlbmVyYXRlIChub3QgYSBudWxsIHN0cmluZyBidXQpCisgICAgICAgIC8vIGFuIGVt
cHR5IHN0cmluZyBpZiBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIGlzIHNwZWNpZmllZC4KKyAg
ICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzYx
MSBmb3IgbW9yZSBkZXRhaWxzLgogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgfQogICAg
IHJldHVybiB1c3RyaW5nVG9TdHJpbmcodmFsdWUudG9TdHJpbmcoZXhlYyktPnZhbHVlKGV4ZWMp
KTsKIH0KIAogU3RyaW5nIHZhbHVlVG9TdHJpbmdXaXRoVW5kZWZpbmVkT3JOdWxsQ2hlY2soRXhl
Y1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlKQogewotICAgIGlmICh2YWx1ZS5pc1VuZGVmaW5l
ZE9yTnVsbCgpKQorICAgIGlmICh2YWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKSB7CisgICAgICAg
IC8vIEZJWE1FOiBBY2NvcmRpbmcgdG8gdGhlIFdlYiBJREwgc3BlYywgd2Ugc2hvdWxkIGdlbmVy
YXRlIChub3QgYSBudWxsIHN0cmluZyBidXQpCisgICAgICAgIC8vIGFuIGVtcHR5IHN0cmluZyBp
ZiBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIG9yIFtUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3Ry
aW5nXSBpcyBzcGVjaWZpZWQuCisgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2MTEgZm9yIG1vcmUgZGV0YWlscy4KICAgICAgICAgcmV0dXJu
IFN0cmluZygpOworICAgIH0KICAgICByZXR1cm4gdXN0cmluZ1RvU3RyaW5nKHZhbHVlLnRvU3Ry
aW5nKGV4ZWMpLT52YWx1ZShleGVjKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OEJpbmRpbmcuY3BwCmluZGV4IDRmZDY3MmY0NTgxODRkODZkMmQ4Mjc5ZDZlNmRhZmU2ZDMzMzk5
MjIuLjU5YWRlMDNmYjcwNmEzYmUwOTNlMjVmN2E5N2E1OTFkY2FhM2I0NGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcApAQCAtMjkzLDIyICsyOTMsMzQgQEAgU3Ry
aW5nIHRvV2ViQ29yZVN0cmluZyhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzLCBpbnQgaW5kZXgp
IHsKICAgICAKIFN0cmluZyB0b1dlYkNvcmVTdHJpbmdXaXRoTnVsbENoZWNrKHY4OjpIYW5kbGU8
djg6OlZhbHVlPiB2YWx1ZSkKIHsKLSAgICBpZiAodmFsdWUtPklzTnVsbCgpKSAKKyAgICBpZiAo
dmFsdWUtPklzTnVsbCgpKSB7CisgICAgICAgIC8vIEZJWE1FOiBBY2NvcmRpbmcgdG8gdGhlIFdl
YiBJREwgc3BlYywgd2Ugc2hvdWxkIGdlbmVyYXRlIChub3QgYSBudWxsIHN0cmluZyBidXQpCisg
ICAgICAgIC8vIGFuIGVtcHR5IHN0cmluZyBpZiBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIGlz
IHNwZWNpZmllZC4KKyAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03NzYxMSBmb3IgbW9yZSBkZXRhaWxzLgogICAgICAgICByZXR1cm4gU3RyaW5n
KCk7CisgICAgfQogICAgIHJldHVybiB2OFZhbHVlVG9XZWJDb3JlU3RyaW5nKHZhbHVlKTsKIH0K
IAogQXRvbWljU3RyaW5nIHRvQXRvbWljV2ViQ29yZVN0cmluZ1dpdGhOdWxsQ2hlY2sodjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHZhbHVlKQogewotICAgIGlmICh2YWx1ZS0+SXNOdWxsKCkpCisgICAg
aWYgKHZhbHVlLT5Jc051bGwoKSkgeworICAgICAgICAvLyBGSVhNRTogQWNjb3JkaW5nIHRvIHRo
ZSBXZWIgSURMIHNwZWMsIHdlIHNob3VsZCBnZW5lcmF0ZSAobm90IGEgbnVsbCBzdHJpbmcgYnV0
KQorICAgICAgICAvLyBhbiBlbXB0eSBzdHJpbmcgaWYgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5n
XSBpcyBzcGVjaWZpZWQuCisgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Nzc2MTEgZm9yIG1vcmUgZGV0YWlscy4KICAgICAgICAgcmV0dXJuIEF0
b21pY1N0cmluZygpOworICAgIH0KICAgICByZXR1cm4gdjhWYWx1ZVRvQXRvbWljV2ViQ29yZVN0
cmluZyh2YWx1ZSk7CiB9CiAKIFN0cmluZyB0b1dlYkNvcmVTdHJpbmdXaXRoTnVsbE9yVW5kZWZp
bmVkQ2hlY2sodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlKQogewotICAgIGlmICh2YWx1ZS0+
SXNOdWxsKCkgfHwgdmFsdWUtPklzVW5kZWZpbmVkKCkpCisgICAgaWYgKHZhbHVlLT5Jc051bGwo
KSB8fCB2YWx1ZS0+SXNVbmRlZmluZWQoKSkgeworICAgICAgICAvLyBGSVhNRTogQWNjb3JkaW5n
IHRvIHRoZSBXZWIgSURMIHNwZWMsIHdlIHNob3VsZCBnZW5lcmF0ZSAobm90IGEgbnVsbCBzdHJp
bmcgYnV0KQorICAgICAgICAvLyBhbiBlbXB0eSBzdHJpbmcgaWYgW1RyZWF0TnVsbEFzPUVtcHR5
U3RyaW5nXSBvciBbVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZ10gaXMgc3BlY2lmaWVkLgor
ICAgICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3
NjExIGZvciBtb3JlIGRldGFpbHMuCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICB9CiAg
ICAgcmV0dXJuIHRvV2ViQ29yZVN0cmluZyh2YWx1ZSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125563</attachid>
            <date>2012-02-05 21:20:32 -0800</date>
            <delta_ts>2012-02-05 23:06:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77611-20120206142031.patch</filename>
            <type>text/plain</type>
            <size>71261</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQ2OWZkNTg5ZWY4N2M5
ZjVlNzc1ZDBhOWMwNWM2YzkzZjljNWI2Yi4uMmVhODE4ZDZmZmRmZDk4ZDMxNGQzZTMwNmI0ODli
YmFlNjUzYmY2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc1IEBACisyMDEyLTAyLTA1ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW5hbWUgW1RyZWF0
TnVsbEFzPUVtcHR5U3RyaW5nXSB0byBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10sCisgICAgICAg
IFtUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nXSB0byBbVHJlYXRVbmRlZmluZWRBcz1OdWxs
U3RyaW5nXQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Nzc2MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
aGlsZSB0aGUgV2ViIElETCBzcGVjIHJlcXVpcmVzIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10g
YW5kIFtUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nXSwKKyAgICAgICAgdGhlIGN1cnJlbnQg
V2ViS2l0IHRyZWF0cyB0aGVtIGFzIChub3QgYW4gZW1wdHkgc3RyaW5nIGJ1dCkgYSBudWxsIHN0
cmluZy4KKyAgICAgICAgVG8gYXZvaWQgY29uZnVzaW9uLCB0aGlzIHBhdGNoIHJlbmFtZXMgW1Ry
ZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSB0byBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10sCisgICAg
ICAgIGFuZCBbVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZ10gdG8gW1RyZWF0VW5kZWZpbmVk
QXM9TnVsbFN0cmluZ10uCisgICAgICAgIChFdmVudHVhbGx5IHdlIHNob3VsZCBmaXggV2ViS2l0
IHNvIHRoYXQgaXQgdXNlcyBhbiBlbXB0eSBzdHJpbmcgYW5kIHRoZW4KKyAgICAgICAgcmVuYW1l
IHRoZW0gdG8gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBhbmQgW1RyZWF0VW5kZWZpbmVkQXM9
RW1wdHlTdHJpbmddLikKKworICAgICAgICBObyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2aW9y
LgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06IEFkZGVk
IEZJWE1FLgorICAgICAgICAoSlNWYWx1ZVRvTmF0aXZlKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbTogRGl0dG8uCisgICAgICAgIChHZXROYXRpdmVUeXBl
RnJvbVNpZ25hdHVyZSk6CisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9i
ai5pZGw6CisgICAgICAgICogY3NzL0NTU0NoYXJzZXRSdWxlLmlkbDoKKyAgICAgICAgKiBjc3Mv
Q1NTUGFnZVJ1bGUuaWRsOgorICAgICAgICAqIGNzcy9DU1NSdWxlLmlkbDoKKyAgICAgICAgKiBj
c3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGw6CisgICAgICAgICogY3NzL0NTU1N0eWxlUnVsZS5p
ZGw6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmlkbDoKKyAgICAgICAgKiBjc3MvTWVkaWFMaXN0
LmlkbDoKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5pZGw6CisgICAgICAg
ICogZG9tL0F0dHIuaWRsOgorICAgICAgICAqIGRvbS9DaGFyYWN0ZXJEYXRhLmlkbDoKKyAgICAg
ICAgKiBkb20vRE9NSW1wbGVtZW50YXRpb24uaWRsOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5p
ZGw6CisgICAgICAgICogZG9tL0VsZW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9OYW1lZE5vZGVN
YXAuaWRsOgorICAgICAgICAqIGRvbS9Ob2RlLmlkbDoKKyAgICAgICAgKiBkb20vUHJvY2Vzc2lu
Z0luc3RydWN0aW9uLmlkbDoKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5pZGw6CisgICAgICAg
ICogZmlsZWFwaS9CbG9iLmlkbDoKKyAgICAgICAgKiBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5Lmlk
bDoKKyAgICAgICAgKiBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5pZGw6CisgICAgICAgICog
ZmlsZWFwaS9FbnRyeS5pZGw6CisgICAgICAgICogZmlsZWFwaS9FbnRyeVN5bmMuaWRsOgorICAg
ICAgICAqIGZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxkZXIuaWRsOgorICAgICAgICAqIGh0bWwvSFRN
TEFuY2hvckVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRs
OgorICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwv
SFRNTERvY3VtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBodG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEZv
cm1FbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxGcmFtZUVsZW1lbnQuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MS2V5
Z2VuRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxP
dXRwdXRFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxTY3JpcHRFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hU
TUxUZXh0QXJlYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTFRpdGxlRWxlbWVudC5p
ZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbDoK
KyAgICAgICAgKiBwYWdlL0NvbnNvbGUuaWRsOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmlk
bDoKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VFdmVudC5pZGw6CisgICAgICAgICogc3ZnL1NW
R0FuZ2xlLmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5pZGw6CisgICAgICAgICogc3Zn
L1NWR0xlbmd0aC5pZGw6CisgICAgICAgICogc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaWRsOgorCiAy
MDEyLTAyLTA1ICBBbmRyZWFzIEtsaW5nICA8YXdlc29tZWtsaW5nQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZW1vdmUgdW51c2VkIGZpbGUgTWFwcGVkQXR0cmlidXRlRW50cnkuaC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXgg
OThhYmFiOWU2Zjk5ZjRiNDFjZWIwODY3MTc1OWM3NzJkN2IwYTAxOS4uODgzNDc5NzYyODRiZWQz
YWQxNDM4MjhkY2RjN2FlYjViYThmODc1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTI4NjgsMTMgKzI4NjgsMTUgQEAg
c3ViIEpTVmFsdWVUb05hdGl2ZQogICAgIHJldHVybiAic3RhdGljX2Nhc3Q8UmFuZ2U6OkNvbXBh
cmVIb3c+KCR2YWx1ZS50b0ludDMyKGV4ZWMpKSIgaWYgJHR5cGUgZXEgIkNvbXBhcmVIb3ciOwog
CiAgICAgaWYgKCR0eXBlIGVxICJET01TdHJpbmciKSB7Ci0gICAgICAgIGlmICgoJHNpZ25hdHVy
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlRyZWF0TnVsbEFzIn0gYW5kICRzaWduYXR1cmUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJUcmVhdE51bGxBcyJ9IGVxICJFbXB0eVN0cmluZyIpIGFuZCAo
JHNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlRyZWF0VW5kZWZpbmVkQXMifSBhbmQg
JHNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlRyZWF0VW5kZWZpbmVkQXMifSBlcSAi
RW1wdHlTdHJpbmciKSkgeworICAgICAgICAjIEZJWE1FOiBUaGlzIGltcGxlbWVudHMgW1RyZWF0
TnVsbEFzPU51bGxTdHJpbmddIGFuZCBbVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nXSwKKyAg
ICAgICAgIyBidXQgdGhlIFdlYiBJREwgc3BlYyByZXF1aXJlcyBbVHJlYXROdWxsQXM9RW1wdHlT
dHJpbmddIGFuZCBbVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZ10uCisgICAgICAgIGlmICgo
JHNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlRyZWF0TnVsbEFzIn0gYW5kICRzaWdu
YXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJUcmVhdE51bGxBcyJ9IGVxICJOdWxsU3RyaW5n
IikgYW5kICgkc2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVHJlYXRVbmRlZmluZWRB
cyJ9IGFuZCAkc2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVHJlYXRVbmRlZmluZWRB
cyJ9IGVxICJOdWxsU3RyaW5nIikpIHsKICAgICAgICAgICAgIHJldHVybiAidmFsdWVUb1N0cmlu
Z1dpdGhVbmRlZmluZWRPck51bGxDaGVjayhleGVjLCAkdmFsdWUpIgogICAgICAgICB9Ci0gICAg
ICAgIGlmICgoJHNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlRyZWF0TnVsbEFzIn0g
YW5kICRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJUcmVhdE51bGxBcyJ9IGVxICJF
bXB0eVN0cmluZyIpIG9yICRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZWZsZWN0
In0pIHsKKyAgICAgICAgaWYgKCgkc2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVHJl
YXROdWxsQXMifSBhbmQgJHNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlRyZWF0TnVs
bEFzIn0gZXEgIk51bGxTdHJpbmciKSBvciAkc2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiUmVmbGVjdCJ9KSB7CiAgICAgICAgICAgICByZXR1cm4gInZhbHVlVG9TdHJpbmdXaXRoTnVs
bENoZWNrKGV4ZWMsICR2YWx1ZSkiCiAgICAgICAgIH0KLSAgICAgICAgIyBGSVhNRTogQWRkIHRo
ZSBjYXNlIGZvciAnaWYgKCRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJUcmVhdFVu
ZGVmaW5lZEFzIn0gYW5kICRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJUcmVhdFVu
ZGVmaW5lZEFzIn0gZXEgIkVtcHR5U3RyaW5nIikpJy4KKyAgICAgICAgIyBGSVhNRTogQWRkIHRo
ZSBjYXNlIGZvciAnaWYgKCRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJUcmVhdFVu
ZGVmaW5lZEFzIn0gYW5kICRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJUcmVhdFVu
ZGVmaW5lZEFzIn0gZXEgIk51bGxTdHJpbmciKSknLgogICAgICAgICByZXR1cm4gInVzdHJpbmdU
b1N0cmluZygkdmFsdWUuaXNFbXB0eSgpID8gVVN0cmluZygpIDogJHZhbHVlLnRvU3RyaW5nKGV4
ZWMpLT52YWx1ZShleGVjKSkiOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRleCBjMmE2NWMxNzRhODQ3ZjA0MmY3
MmNjYTI3NDkyNDY3OTM5Mzk5M2YzLi5hNTJlYzI5MmZhMmE2ZmU1M2I2ZDUyNGE3NTAxNzQ3MjQy
NzAxOTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JWOC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JWOC5wbQpAQCAtMzMwOSwxMyArMzMwOSwxNSBAQCBzdWIgR2V0TmF0aXZlVHlwZUZy
b21TaWduYXR1cmUKICAgICAkdHlwZSA9IEdldE5hdGl2ZVR5cGUoJHR5cGUsICRwYXJhbWV0ZXJJ
bmRleCA+PSAwID8gMSA6IDApOwogCiAgICAgaWYgKCRwYXJhbWV0ZXJJbmRleCA+PSAwICYmICR0
eXBlIGVxICJWOFBhcmFtZXRlciIpIHsKKyAgICAgICAgIyBGSVhNRTogVGhpcyBpbXBsZW1lbnRz
IFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBhbmQgW1RyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmlu
Z10sCisgICAgICAgICMgYnV0IHRoZSBXZWIgSURMIHNwZWMgcmVxdWlyZXMgW1RyZWF0TnVsbEFz
PUVtcHR5U3RyaW5nXSBhbmQgW1RyZWF0VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmddLgogICAgICAg
ICBteSAkbW9kZSA9ICIiOwotICAgICAgICBpZiAoKCRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJUcmVhdE51bGxBcyJ9IGFuZCAkc2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiVHJlYXROdWxsQXMifSBlcSAiRW1wdHlTdHJpbmciKSBhbmQgKCRzaWduYXR1cmUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJUcmVhdFVuZGVmaW5lZEFzIn0gYW5kICRzaWduYXR1cmUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJUcmVhdFVuZGVmaW5lZEFzIn0gZXEgIkVtcHR5U3RyaW5nIikpIHsK
KyAgICAgICAgaWYgKCgkc2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVHJlYXROdWxs
QXMifSBhbmQgJHNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlRyZWF0TnVsbEFzIn0g
ZXEgIk51bGxTdHJpbmciKSBhbmQgKCRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJU
cmVhdFVuZGVmaW5lZEFzIn0gYW5kICRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJU
cmVhdFVuZGVmaW5lZEFzIn0gZXEgIk51bGxTdHJpbmciKSkgewogICAgICAgICAgICAgJG1vZGUg
PSAiV2l0aFVuZGVmaW5lZE9yTnVsbENoZWNrIjsKLSAgICAgICAgfSBlbHNpZiAoKCRzaWduYXR1
cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJUcmVhdE51bGxBcyJ9IGFuZCAkc2lnbmF0dXJlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiVHJlYXROdWxsQXMifSBlcSAiRW1wdHlTdHJpbmciKSBvciAk
c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmVmbGVjdCJ9KSB7CisgICAgICAgIH0g
ZWxzaWYgKCgkc2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVHJlYXROdWxsQXMifSBh
bmQgJHNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlRyZWF0TnVsbEFzIn0gZXEgIk51
bGxTdHJpbmciKSBvciAkc2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmVmbGVjdCJ9
KSB7CiAgICAgICAgICAgICAkbW9kZSA9ICJXaXRoTnVsbENoZWNrIjsKICAgICAgICAgfQotICAg
ICAgICAjIEZJWE1FOiBBZGQgdGhlIGNhc2UgZm9yICdlbHNpZiAoJHNpZ25hdHVyZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IlRyZWF0VW5kZWZpbmVkQXMifSBhbmQgJHNpZ25hdHVyZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IlRyZWF0VW5kZWZpbmVkQXMifSBlcSAiRW1wdHlTdHJpbmciKSknLgor
ICAgICAgICAjIEZJWE1FOiBBZGQgdGhlIGNhc2UgZm9yICdlbHNpZiAoJHNpZ25hdHVyZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IlRyZWF0VW5kZWZpbmVkQXMifSBhbmQgJHNpZ25hdHVyZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IlRyZWF0VW5kZWZpbmVkQXMifSBlcSAiTnVsbFN0cmluZyIpKScu
CiAgICAgICAgICR0eXBlIC49ICI8JG1vZGU+IjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAppbmRleCAxMjBmOWY3YjAzODEx
NzQ5NTc5YmRiMzU3OWUzMWVlODljOTNlODRkLi4zNmMxZmJhNjZkY2NlZDNmYzE5ZTAzOTQzZjYy
MTRmZGUyNjMzM2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdE9iai5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RPYmouaWRsCkBAIC0xOTEsOCArMTkxLDggQEAgbW9kdWxlIHRlc3QgewogICAgICAg
ICB2b2lkIGNvbnZlcnQxKGluIFtDb252ZXJ0TnVsbFN0cmluZ1RvPU51bGxdIGEpOwogICAgICAg
ICB2b2lkIGNvbnZlcnQyKGluIFtDb252ZXJ0TnVsbFN0cmluZ1RvPVVuZGVmaW5lZF0gYik7CiAg
ICAgICAgIHZvaWQgY29udmVydDMoaW4gW0NvbnZlcnROdWxsU3RyaW5nVG89RmFsc2VdIGMpOwot
ICAgICAgICB2b2lkIGNvbnZlcnQ0KGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gZCk7Ci0g
ICAgICAgIHZvaWQgY29udmVydDUoaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLCBUcmVhdFVu
ZGVmaW5lZEFzPUVtcHR5U3RyaW5nXSBlKTsKKyAgICAgICAgdm9pZCBjb252ZXJ0NChpbiBbVHJl
YXROdWxsQXM9TnVsbFN0cmluZ10gZCk7CisgICAgICAgIHZvaWQgY29udmVydDUoaW4gW1RyZWF0
TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gZSk7CiAKICAg
ICAgICAgYXR0cmlidXRlIFNWR1BvaW50IG11dGFibGVQb2ludDsKICAgICAgICAgYXR0cmlidXRl
IFtJbW11dGFibGVdIFNWR1BvaW50IGltbXV0YWJsZVBvaW50OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
aGFyc2V0UnVsZS5pZGwKaW5kZXggODdmNzk2YWZmYzY3YzQwZmJlMTVkNTQ2OGYwZDk4MjA5YzM4
ODdkMC4uYmUyMzg3MWQwZTIyNjU5NzI1MzJjM2MzOWQ1MTkyZTA3ZGMzOGFjZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuaWRsCkBAIC0yNSw3ICsyNSw3IEBAIG1vZHVsZSBjc3Mg
ewogI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElW
RV9DCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ29udmVydE51bGxTdHJpbmdUbz1OdWxs
XSBET01TdHJpbmcgZW5jb2Rpbmc7CiAjZWxzZQotICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUg
W0NvbnZlcnROdWxsU3RyaW5nVG89TnVsbCwgVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0
cmluZyBlbmNvZGluZworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsU3Ry
aW5nVG89TnVsbCwgVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGVuY29kaW5nCiAg
ICAgICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAjZW5kaWYK
ICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5pZGwKaW5kZXggYTcxYzI0YmE4NjExZDk5
N2FmNzNjY2ZhYmQwOTZjNjZlY2VjNzRmOS4uNGYzNzQ3ZWEwN2YyZGE0NjM1ODM1OWFkNmI2OTBk
YzZiNmJmMzYxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuaWRsCkBAIC0yMyw3ICsyMyw3
IEBAIG1vZHVsZSBjc3MgewogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6CiAgICAg
aW50ZXJmYWNlIENTU1BhZ2VSdWxlIDogQ1NTUnVsZSB7CiAKLSAgICAgICAgICAgICAgICAgYXR0
cmlidXRlIFtDb252ZXJ0TnVsbFN0cmluZ1RvPU51bGwsIFRyZWF0TnVsbEFzPUVtcHR5U3RyaW5n
XSBET01TdHJpbmcgc2VsZWN0b3JUZXh0OworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0Nv
bnZlcnROdWxsU3RyaW5nVG89TnVsbCwgVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5n
IHNlbGVjdG9yVGV4dDsKIAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTU3R5bGVEZWNs
YXJhdGlvbiBzdHlsZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUu
aWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCmluZGV4IDg0NDdlMzRlOGIyZWM0
N2I5MWQ1YmMyZGYyZjViNWE1MmFkOTk0MTQuLjI3OTc1MjY2MmVhY2IxNzE3OTZhYmE5ZmQzODc3
MGY4NTY3ZTNmNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwKQEAgLTQzLDcgKzQzLDcgQEAgbW9k
dWxlIGNzcyB7CiAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0ICAg
dHlwZTsKIAotICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsU3RyaW5nVG89
TnVsbCwgVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyAgICAgICAgY3NzVGV4dAor
ICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsU3RyaW5nVG89TnVsbCwgVHJl
YXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAgICBjc3NUZXh0CiAgICAgICAgICAg
ICAgICAgICAgICBzZXR0ZXIgcmFpc2VzIChET01FeGNlcHRpb24pOwogCiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBDU1NTdHlsZVNoZWV0ICAgIHBhcmVudFN0eWxlU2hlZXQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwKaW5kZXggYzNkOTBhZDYyYTM2ZjJm
YTMwM2U2YjE1NDEzMzY4MmU5OGEzY2NhNC4uMTQ5YmQxOWM0YzRkZjY4NDIzNjM5ODYwYTU5MTU5
NWYzMTA0Y2I2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlRGVjbGFy
YXRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZURlY2xhcmF0aW9uLmlk
bApAQCAtMzAsNyArMzAsNyBAQCBtb2R1bGUgY3NzIHsKICAgICAgICAgQ3VzdG9tR2V0UHJvcGVy
dHlOYW1lcywKICAgICAgICAgVjhEZXBlbmRlbnRMaWZldGltZQogICAgIF0gQ1NTU3R5bGVEZWNs
YXJhdGlvbiB7Ci0gICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxTdHJpbmdU
bz1OdWxsLCBUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nICAgICAgICBjc3NUZXh0
CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxTdHJpbmdUbz1OdWxsLCBU
cmVhdE51bGxBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgIGNzc1RleHQKICAgICAgICAg
ICAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAogICAgICAgICBbQ29u
dmVydE51bGxTdHJpbmdUbz1OdWxsXSBET01TdHJpbmcgICAgICAgICAgZ2V0UHJvcGVydHlWYWx1
ZShpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBwcm9wZXJ0eU5h
bWUpOwpAQCAtMzksNyArMzksNyBAQCBtb2R1bGUgY3NzIHsKICAgICAgICAgICAgIHJhaXNlcyhE
T01FeGNlcHRpb24pOwogICAgICAgICBbQ29udmVydE51bGxTdHJpbmdUbz1OdWxsXSBET01TdHJp
bmcgICAgICAgICAgZ2V0UHJvcGVydHlQcmlvcml0eShpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZh
dWx0VmFsdWVdIERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwogICAgICAgICBbT2JqQ0xlZ2FjeVVu
bmFtZWRQYXJhbWV0ZXJzXSB2b2lkIHNldFByb3BlcnR5KGluIFtPcHRpb25hbD1DYWxsV2l0aERl
ZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLE9wdGlvbmFs
PUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgdmFsdWUsIAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLE9wdGlv
bmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgdmFsdWUsIAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRW
YWx1ZV0gRE9NU3RyaW5nIHByaW9yaXR5KQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaWRsIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5pZGwKaW5kZXggYWNhNDA4ZTI5ZWEwMjky
NmYyZjQzNGY5YWY0MmFiYWEzZjQ1N2JlZC4uYzBhNWU2ODIyMGUxNDFmYjIzMTc3MTAwOWE1ODEy
NjlhOWQ5NWQyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5pZGwKQEAgLTIzLDcgKzIz
LDcgQEAgbW9kdWxlIGNzcyB7CiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKICAg
ICBpbnRlcmZhY2UgQ1NTU3R5bGVSdWxlIDogQ1NTUnVsZSB7CiAKLSAgICAgICAgICAgICAgICAg
YXR0cmlidXRlIFtDb252ZXJ0TnVsbFN0cmluZ1RvPU51bGwsIFRyZWF0TnVsbEFzPUVtcHR5U3Ry
aW5nXSBET01TdHJpbmcgc2VsZWN0b3JUZXh0OworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUg
W0NvbnZlcnROdWxsU3RyaW5nVG89TnVsbCwgVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3Ry
aW5nIHNlbGVjdG9yVGV4dDsKIAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTU3R5bGVE
ZWNsYXJhdGlvbiBzdHlsZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5pZGwKaW5kZXggNTAwMDQzZjg3
MWM5YTNjMWFlZTUwYTczNDZlMTlkMDJlNWVjMTU4Zi4uYzQ2MjY3MzIxYzA2YzEyNmZjZTgwNGIy
YmZlYjEyZGZkYmE2ZDgyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaWRsCkBAIC0zNCw3ICszNCw3
IEBAIG1vZHVsZSBjc3MgewogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBDU1NfVkFMVUVf
TElTVCAgICAgID0gMjsKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQ1NTX0NVU1RPTSAg
ICAgICAgICA9IDM7CiAKLSAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFN0
cmluZ1RvPU51bGwsIFRyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgY3NzVGV4dAor
ICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsU3RyaW5nVG89TnVsbCwgVHJl
YXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGNzc1RleHQKICAgICAgICAgICAgICAgICAg
ICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgc2hvcnQgY3NzVmFsdWVUeXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL01lZGlhTGlzdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0Lmlk
bAppbmRleCA2MGU5NzQwYzZiM2IzNzcyMGFkODIyNTM4MGM0ZTUxOGVjZDJhOTc5Li5hMTI4MzEy
Njg1NTQ1ODVkOTBkZTc1ZmVmMTc1ZWMzMGMyZDQzYmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvTWVkaWFMaXN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0
LmlkbApAQCAtMzEsNyArMzEsNyBAQCBtb2R1bGUgc3R5bGVzaGVldHMgewogICAgICAgICBIYXNJ
bmRleEdldHRlcgogICAgIF0gTWVkaWFMaXN0IHsKIAotICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLCBDb252ZXJ0TnVsbFN0cmluZ1RvPU51bGxdIERP
TVN0cmluZyBtZWRpYVRleHQKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtUcmVhdE51bGxB
cz1OdWxsU3RyaW5nLCBDb252ZXJ0TnVsbFN0cmluZ1RvPU51bGxdIERPTVN0cmluZyBtZWRpYVRl
eHQKICAgICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5pZGwKaW5kZXggODdjOGRkNjVl
OWQ1ZGM0YTg3ZTk4ZTNkNzdmNTdhOTFkMzMyNTcwZS4uYzY5NGM1YjUyY2MxOGU4NDBlYWY0ODAw
ZWI1MmFmYmJmYzc4Yjk5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENT
U0tleWZyYW1lc1J1bGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlm
cmFtZXNSdWxlLmlkbApAQCAtMzMsNyArMzMsNyBAQCBtb2R1bGUgY3NzIHsKICAgICAgICAgSGFz
SW5kZXhHZXR0ZXIKICAgICBdIFdlYktpdENTU0tleWZyYW1lc1J1bGUgOiBDU1NSdWxlIHsKIAot
ICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsU3RyaW5nVG89TnVsbCwgVHJlYXROdWxsQXM9
RW1wdHlTdHJpbmddIERPTVN0cmluZyBuYW1lOworICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnRO
dWxsU3RyaW5nVG89TnVsbCwgVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIG5hbWU7
CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NSdWxlTGlzdCBjc3NSdWxlczsKICAgICAg
ICAgCiAgICAgICAgIHZvaWQgaW5zZXJ0UnVsZShpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0
VmFsdWVdIERPTVN0cmluZyBydWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9B
dHRyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmlkbAppbmRleCA2NjBiODZiOTNiZmZj
YzFmNTUxMDlkMTgyY2QyNDE1MTNjYTc4MWI3Li42ZDFmNDYwMmRlMzJmOGZlOTQ2YTU5MDg0Y2Vj
MjFmZTA5MTExZGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0ci5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0F0dHIuaWRsCkBAIC0zMSw3ICszMSw3IEBAIG1vZHVsZSBj
b3JlIHsKIAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBzcGVjaWZpZWQ7CiAK
LSAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFN0cmluZ1RvPU51bGwsIFRy
ZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgdmFsdWUgCisgICAgICAgICAgICAgICAg
IGF0dHJpYnV0ZSBbQ29udmVydE51bGxTdHJpbmdUbz1OdWxsLCBUcmVhdE51bGxBcz1OdWxsU3Ry
aW5nXSBET01TdHJpbmcgdmFsdWUgCiAgICAgICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2Vz
KERPTUV4Y2VwdGlvbik7CiAKICAgICAgICAgLy8gRE9NIExldmVsIDIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9D
aGFyYWN0ZXJEYXRhLmlkbAppbmRleCA4MGEwMWFmYzQyM2VlM2YxZjA4MzdlYWY1NzRkZGZiZWQx
ZGI1ZTM4Li5kY2Y3OTZhZTU1MjAzMjc5Y2NmZmRjYTg0OGVmODg3ZWQ3YzU2NzBlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuaWRsCkBAIC0yMSw3ICsyMSw3IEBAIG1vZHVsZSBjb3Jl
IHsKIAogICAgIGludGVyZmFjZSBDaGFyYWN0ZXJEYXRhIDogTm9kZSB7CiAKLSAgICAgICAgYXR0
cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGRhdGEKKyAgICAgICAg
YXR0cmlidXRlIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgZGF0YQogICAgICAg
ICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwogCiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVt
ZW50YXRpb24uaWRsCmluZGV4IGJlNjMxNTc2OWRmMDE0N2RlYmQzYzc1NDNjOTIyZGNhMTRiMDJi
ZWMuLjBhMjM2OGU1MjlmODc1YzZhZWEyZDVmYTExMTYwNmZiY2I4YmIzZDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmlkbApAQCAtMjgsMTcgKzI4LDE3IEBAIG1vZHVs
ZSBjb3JlIHsKICAgICAgICAgLy8gRE9NIExldmVsIDEKIAogICAgICAgICBbT2JqQ0xlZ2FjeVVu
bmFtZWRQYXJhbWV0ZXJzXSBib29sZWFuIGhhc0ZlYXR1cmUoaW4gW09wdGlvbmFsPUNhbGxXaXRo
RGVmYXVsdFZhbHVlXSBET01TdHJpbmcgZmVhdHVyZSwgCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbiBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmcsT3B0aW9uYWw9
Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyB2ZXJzaW9uKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLE9w
dGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgdmVyc2lvbik7CiAKICAgICAg
ICAgLy8gRE9NIExldmVsIDIKIAotICAgICAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJz
XSBEb2N1bWVudFR5cGUgY3JlYXRlRG9jdW1lbnRUeXBlKGluIFtUcmVhdE51bGxBcz1FbXB0eVN0
cmluZywgVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1
bHRWYWx1ZV0gRE9NU3RyaW5nIHF1YWxpZmllZE5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3Ry
aW5nLCBUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nLE9wdGlvbmFsPUNhbGxXaXRoRGVmYXVs
dFZhbHVlXSBET01TdHJpbmcgcHVibGljSWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLCBU
cmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nLE9wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVl
XSBET01TdHJpbmcgc3lzdGVtSWQpCisgICAgICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRl
cnNdIERvY3VtZW50VHlwZSBjcmVhdGVEb2N1bWVudFR5cGUoaW4gW1RyZWF0TnVsbEFzPU51bGxT
dHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1
bHRWYWx1ZV0gRE9NU3RyaW5nIHF1YWxpZmllZE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJp
bmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRW
YWx1ZV0gRE9NU3RyaW5nIHB1YmxpY0lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVh
dFVuZGVmaW5lZEFzPU51bGxTdHJpbmcsT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERP
TVN0cmluZyBzeXN0ZW1JZCkKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAg
ICAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzXSBEb2N1bWVudCBjcmVhdGVEb2N1bWVu
dChpbiBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmcsT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFs
dWVdIERPTVN0cmluZyBuYW1lc3BhY2VVUkksIAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbiBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmcsT3B0aW9uYWw9
Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBxdWFsaWZpZWROYW1lLCAKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW1RyZWF0TnVsbEFzPUVt
cHR5U3RyaW5nLE9wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBEb2N1bWVudFR5cGUgZG9j
dHlwZSkKKyAgICAgICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVyc10gRG9jdW1lbnQgY3Jl
YXRlRG9jdW1lbnQoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsT3B0aW9uYWw9Q2FsbFdpdGhE
ZWZhdWx0VmFsdWVdIERPTVN0cmluZyBuYW1lc3BhY2VVUkksIAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxP
cHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIHF1YWxpZmllZE5hbWUsIAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbVHJlYXRO
dWxsQXM9TnVsbFN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRG9jdW1lbnRU
eXBlIGRvY3R5cGUpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAogICAgICAg
ICAvLyBET01JbXBsZW1lbnRhdGlvbkNTUyBpbnRlcmZhY2UgZnJvbSBET00gTGV2ZWwgMiBDU1MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaWRsCmluZGV4IDk5YTQ3ZmFmZTk3NmM0ZGQ2YWE4MzllOWZmODZl
NjJjYjljOTE4MmIuLmY1ZWQ4Nzc5NzE0MGI2ODc1YmRlOGRjMGE5Mzc2ODZjYmI1MWI1ZDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmlkbApAQCAtMzEsNyArMzEsNyBAQCBtb2R1bGUgY29yZSB7CiAg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01JbXBsZW1lbnRhdGlvbiBpbXBsZW1lbnRhdGlv
bjsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQgZG9jdW1lbnRFbGVtZW50Owog
Ci0gICAgICAgIFtSZXR1cm5zTmV3XSBFbGVtZW50IGNyZWF0ZUVsZW1lbnQoaW4gW1RyZWF0TnVs
bEFzPUVtcHR5U3RyaW5nLE9wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcg
dGFnTmFtZSkKKyAgICAgICAgW1JldHVybnNOZXddIEVsZW1lbnQgY3JlYXRlRWxlbWVudChpbiBb
VHJlYXROdWxsQXM9TnVsbFN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9N
U3RyaW5nIHRhZ05hbWUpCiAgICAgICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAg
ICAgIERvY3VtZW50RnJhZ21lbnQgICBjcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7CiAgICAgICAg
IFtSZXR1cm5zTmV3XSBUZXh0IGNyZWF0ZVRleHROb2RlKGluIFtPcHRpb25hbD1DYWxsV2l0aERl
ZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIGRhdGEpOwpAQCAtNTIsMTMgKzUyLDEzIEBAIG1vZHVsZSBj
b3JlIHsKICAgICAgICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmV0dXJuc05ld10g
Tm9kZSBpbXBvcnROb2RlKGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gTm9kZSBp
bXBvcnRlZE5vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gZGVlcCkKICAgICAgICAgICAgIHJhaXNlcyAo
RE9NRXhjZXB0aW9uKTsKLSAgICAgICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmV0
dXJuc05ld10gRWxlbWVudCBjcmVhdGVFbGVtZW50TlMoaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3Ry
aW5nLE9wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgbmFtZXNwYWNlVVJJ
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbiBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmcsT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0
VmFsdWVdIERPTVN0cmluZyBxdWFsaWZpZWROYW1lKQorICAgICAgICBbT2JqQ0xlZ2FjeVVubmFt
ZWRQYXJhbWV0ZXJzLCBSZXR1cm5zTmV3XSBFbGVtZW50IGNyZWF0ZUVsZW1lbnROUyhpbiBbVHJl
YXROdWxsQXM9TnVsbFN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3Ry
aW5nIG5hbWVzcGFjZVVSSSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsT3B0aW9uYWw9
Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBxdWFsaWZpZWROYW1lKQogICAgICAgICAg
ICAgcmFpc2VzIChET01FeGNlcHRpb24pOwotICAgICAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJh
bWV0ZXJzLCBSZXR1cm5zTmV3XSBBdHRyIGNyZWF0ZUF0dHJpYnV0ZU5TKGluIFtUcmVhdE51bGxB
cz1FbXB0eVN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIG5h
bWVzcGFjZVVSSSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmcsT3B0aW9uYWw9Q2FsbFdp
dGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBxdWFsaWZpZWROYW1lKQorICAgICAgICBbT2JqQ0xl
Z2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSZXR1cm5zTmV3XSBBdHRyIGNyZWF0ZUF0dHJpYnV0ZU5T
KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLE9wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVl
XSBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLE9w
dGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSkKICAg
ICAgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAgW09iakNMZWdhY3lVbm5h
bWVkUGFyYW1ldGVyc10gTm9kZUxpc3QgZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhpbiBbVHJlYXRO
dWxsQXM9RW1wdHlTdHJpbmcsT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmlu
ZyBuYW1lc3BhY2VVUkksCisgICAgICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnNdIE5v
ZGVMaXN0IGdldEVsZW1lbnRzQnlUYWdOYW1lTlMoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcs
T3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBuYW1lc3BhY2VVUkksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
W09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgbG9jYWxOYW1lKTsKICAg
ICAgICAgRWxlbWVudCAgICAgICAgICAgIGdldEVsZW1lbnRCeUlkKGluIFtPcHRpb25hbD1DYWxs
V2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIGVsZW1lbnRJZCk7CiAKQEAgLTY3LDcgKzY3LDcg
QEAgbW9kdWxlIGNvcmUgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0NvbnZlcnROdWxs
U3RyaW5nVG89TnVsbF0gRE9NU3RyaW5nIGlucHV0RW5jb2Rpbmc7CiAKICAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFN0cmluZ1RvPU51bGxdIERPTVN0cmluZyB4bWxFbmNv
ZGluZzsKLSAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFN0cmluZ1RvPU51
bGwsIFRyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgeG1sVmVyc2lvbgorICAgICAg
ICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsU3RyaW5nVG89TnVsbCwgVHJlYXROdWxs
QXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIHhtbFZlcnNpb24KICAgICAgICAgICAgICAgICAgICAg
c2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRl
IGJvb2xlYW4geG1sU3RhbmRhbG9uZQogICAgICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2Vz
IChET01FeGNlcHRpb24pOwpAQCAtNzUsNyArNzUsNyBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAg
IE5vZGUgICAgICAgICAgICAgICBhZG9wdE5vZGUoaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVs
dFZhbHVlXSBOb2RlIHNvdXJjZSkKICAgICAgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsK
IAotICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsU3RyaW5nVG89TnVsbCwg
VHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBkb2N1bWVudFVSSTsKKyAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFN0cmluZ1RvPU51bGwsIFRyZWF0TnVsbEFz
PU51bGxTdHJpbmddIERPTVN0cmluZyBkb2N1bWVudFVSSTsKIAogICAgICAgICAvLyBET00gTGV2
ZWwgMiBFdmVudHMgKERvY3VtZW50RXZlbnRzIGludGVyZmFjZSkKIApAQCAtMTI4LDcgKzEyOCw3
IEBAIG1vZHVsZSBjb3JlIHsKIAogICAgICAgICBib29sZWFuICAgICAgICAgICAgZXhlY0NvbW1h
bmQoaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgY29tbWFuZCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1DYWxs
V2l0aERlZmF1bHRWYWx1ZV0gYm9vbGVhbiB1c2VySW50ZXJmYWNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLCBUcmVh
dFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nLE9wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBE
T01TdHJpbmcgdmFsdWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZyxP
cHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIHZhbHVlKTsKIAogI2lmIGRl
ZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCiAgICAg
ICAgIC8vIEZJWE1FOiByZW1vdmUgdGhlIHRoZXNlIHR3byB2ZXJzaW9ucyBvbmNlIFtPcHRpb25h
bF0gaXMgaW1wbGVtZW50ZWQgZm9yIE9iamVjdGl2ZS1DLgpAQCAtMTQ1LDE3ICsxNDUsMTcgQEAg
bW9kdWxlIGNvcmUgewogCiAgICAgICAgIC8vIE1vdmVkIGRvd24gZnJvbSBIVE1MRG9jdW1lbnQK
IAotICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBE
T01TdHJpbmcgdGl0bGU7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9
TnVsbFN0cmluZ10gRE9NU3RyaW5nIHRpdGxlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHJlZmVycmVyOwogI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYg
TEFOR1VBR0VfSkFWQVNDUklQVAotICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVs
bEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgZG9tYWluCisgICAgICAgICAgICAgICAgIGF0dHJp
YnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGRvbWFpbgogICAgICAgICAg
ICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICNlbHNlCiAgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZG9tYWluOwogI2VuZGlmCiAgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgVVJMOwogCi0gICAgICAgICAgICAgICAgIGF0dHJp
YnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBjb29raWUKKyAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgY29v
a2llCiAgICAgICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzIChET01FeGNlcHRpb24pLAog
ICAgICAgICAgICAgICAgICAgICAgZ2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKIApAQCAt
MTc1LDcgKzE3NSw3IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgTm9kZUxpc3QgZ2V0RWxlbWVu
dHNCeU5hbWUoaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgZWxl
bWVudE5hbWUpOwogCiAjaWYgZGVmaW5lZChFTkFCTEVfTUlDUk9EQVRBKSAmJiBFTkFCTEVfTUlD
Uk9EQVRBCi0gICAgICAgIE5vZGVMaXN0IGdldEl0ZW1zKGluIFtUcmVhdE51bGxBcz1FbXB0eVN0
cmluZywgVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZywgT3B0aW9uYWw9Q2FsbFdpdGhEZWZh
dWx0VmFsdWVdIERPTVN0cmluZyB0eXBlTmFtZXMpOworICAgICAgICBOb2RlTGlzdCBnZXRJdGVt
cyhpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5n
LCBPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIHR5cGVOYW1lcyk7CiAj
ZW5kaWYKIAogI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFW
QVNDUklQVApAQCAtMTg0LDcgKzE4NCw3IEBAIG1vZHVsZSBjb3JlIHsKIAogICAgICAgICAvLyBJ
RSBleHRlbnNpb25zCiAKLSAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFN0
cmluZ1RvPVVuZGVmaW5lZCwgVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBjaGFy
c2V0OworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsU3RyaW5nVG89VW5k
ZWZpbmVkLCBUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgY2hhcnNldDsKICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFN0cmluZ1RvPVVuZGVmaW5lZF0gRE9N
U3RyaW5nIGRlZmF1bHRDaGFyc2V0OwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0NvbnZl
cnROdWxsU3RyaW5nVG89VW5kZWZpbmVkXSBET01TdHJpbmcgcmVhZHlTdGF0ZTsKIApAQCAtMjAy
LDcgKzIwMiw3IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgLy8gV2ViS2l0IGV4dGVuc2lvbnMK
IAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsU3RyaW5nVG89TnVsbF0g
RE9NU3RyaW5nIHByZWZlcnJlZFN0eWxlc2hlZXRTZXQ7Ci0gICAgICAgICAgICAgICAgIGF0dHJp
YnV0ZSBbQ29udmVydE51bGxTdHJpbmdUbz1OdWxsLCBUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10g
RE9NU3RyaW5nIHNlbGVjdGVkU3R5bGVzaGVldFNldDsKKyAgICAgICAgICAgICAgICAgYXR0cmli
dXRlIFtDb252ZXJ0TnVsbFN0cmluZ1RvPU51bGwsIFRyZWF0TnVsbEFzPU51bGxTdHJpbmddIERP
TVN0cmluZyBzZWxlY3RlZFN0eWxlc2hlZXRTZXQ7CiAKICNpZiAhZGVmaW5lZChMQU5HVUFHRV9K
QVZBU0NSSVBUKSB8fCAhTEFOR1VBR0VfSkFWQVNDUklQVAogICAgICAgICBDU1NTdHlsZURlY2xh
cmF0aW9uIGNyZWF0ZUNTU1N0eWxlRGVjbGFyYXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbApp
bmRleCA5ZmVhNjM4MzkyZjVmYjBkMGJkMzk0MzZlOTkwM2E3ZTZmNjY4NjZkLi5kZjkxOTYxZjEw
MDY2MjFiYjYwN2MyODdkOTJmMTY4NDAwMDUzNjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCkBA
IC00MywyMiArNDMsMjIgQEAgbW9kdWxlIGNvcmUgewogCiAgICAgICAgIC8vIERPTSBMZXZlbCAy
IENvcmUKIAotICAgICAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzXSBET01TdHJpbmcg
Z2V0QXR0cmlidXRlTlMoaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLE9wdGlvbmFsPUNhbGxX
aXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAorICAgICAgICBbT2JqQ0xl
Z2FjeVVubmFtZWRQYXJhbWV0ZXJzXSBET01TdHJpbmcgZ2V0QXR0cmlidXRlTlMoaW4gW1RyZWF0
TnVsbEFzPU51bGxTdHJpbmcsT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmlu
ZyBuYW1lc3BhY2VVUkksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBsb2Nh
bE5hbWUpOwotICAgICAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzXSB2b2lkIHNldEF0
dHJpYnV0ZU5TKGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERl
ZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwKKyAgICAgICAgW09iakNMZWdhY3lV
bm5hbWVkUGFyYW1ldGVyc10gdm9pZCBzZXRBdHRyaWJ1dGVOUyhpbiBbVHJlYXROdWxsQXM9TnVs
bFN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIG5hbWVzcGFj
ZVVSSSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0
aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBxdWFsaWZpZWROYW1lLCAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9Q2Fs
bFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyB2YWx1ZSkKICAgICAgICAgICAgIHJhaXNlcyhE
T01FeGNlcHRpb24pOwotICAgICAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzXSB2b2lk
IHJlbW92ZUF0dHJpYnV0ZU5TKGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5n
IG5hbWVzcGFjZVVSSSwKKyAgICAgICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVyc10gdm9p
ZCByZW1vdmVBdHRyaWJ1dGVOUyhpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5n
IG5hbWVzcGFjZVVSSSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbiBET01TdHJpbmcgbG9jYWxOYW1lKTsKLSAgICAgICAgW09iakNMZWdhY3lVbm5hbWVk
UGFyYW1ldGVyc10gTm9kZUxpc3QgZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhpbiBbVHJlYXROdWxs
QXM9RW1wdHlTdHJpbmcsT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBu
YW1lc3BhY2VVUkksCisgICAgICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnNdIE5vZGVM
aXN0IGdldEVsZW1lbnRzQnlUYWdOYW1lTlMoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsT3B0
aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBuYW1lc3BhY2VVUkksCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09w
dGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgbG9jYWxOYW1lKTsKLSAgICAg
ICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVyc10gQXR0ciBnZXRBdHRyaWJ1dGVOb2RlTlMo
aW4gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLE9wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVl
XSBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAorICAgICAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJh
bWV0ZXJzXSBBdHRyIGdldEF0dHJpYnV0ZU5vZGVOUyhpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmlu
ZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlv
bmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgbG9jYWxOYW1lKTsKICAgICAgICAg
QXR0ciBzZXRBdHRyaWJ1dGVOb2RlTlMoaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVl
XSBBdHRyIG5ld0F0dHIpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAg
ICAgYm9vbGVhbiBoYXNBdHRyaWJ1dGUoaW4gRE9NU3RyaW5nIG5hbWUpOwotICAgICAgICBbT2Jq
Q0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzXSBib29sZWFuIGhhc0F0dHJpYnV0ZU5TKGluIFtUcmVh
dE51bGxBcz1FbXB0eVN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3Ry
aW5nIG5hbWVzcGFjZVVSSSwKKyAgICAgICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVyc10g
Ym9vbGVhbiBoYXNBdHRyaWJ1dGVOUyhpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxPcHRpb25h
bD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9Q2FsbFdp
dGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBsb2NhbE5hbWUpOwogCiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBDU1NTdHlsZURlY2xhcmF0aW9uIHN0eWxlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWRO
b2RlTWFwLmlkbAppbmRleCBiMzU5MTNiNzVhMTE4OGM4ZjUwMmJhNGM3MzA5N2YxZjZkYmJmNzhi
Li40YmRkNTA3NTM1MzhkNzYwOTU0MDg0N2EzZGUwMDRlN2YyZWQwNTNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTmFtZWROb2RlTWFwLmlkbApAQCAtNDIsNyArNDIsNyBAQCBtb2R1bGUgY29yZSB7CiAKICAg
ICAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKIAotICAgICAgICBbT2JqQ0xlZ2Fj
eVVubmFtZWRQYXJhbWV0ZXJzXSBOb2RlIGdldE5hbWVkSXRlbU5TKGluIFtUcmVhdE51bGxBcz1F
bXB0eVN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIG5hbWVz
cGFjZVVSSSwgCisgICAgICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnNdIE5vZGUgZ2V0
TmFtZWRJdGVtTlMoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsT3B0aW9uYWw9Q2FsbFdpdGhE
ZWZhdWx0VmFsdWVdIERPTVN0cmluZyBuYW1lc3BhY2VVUkksIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1
ZV0gRE9NU3RyaW5nIGxvY2FsTmFtZSkKICAgICAgICAgICAgIC8vIEZJWE1FOiB0aGUgaW1wbGVt
ZW50YXRpb24gZG9lcyB0YWtlIGFuIGV4Y2VwdGlvbmNvZGUgcGFyYW1ldGVyLgogICAgICAgICAg
ICAgLypyYWlzZXMoRE9NRXhjZXB0aW9uKSovOwpAQCAtNTAsNyArNTAsNyBAQCBtb2R1bGUgY29y
ZSB7CiAgICAgICAgIE5vZGUgc2V0TmFtZWRJdGVtTlMoaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVm
YXVsdFZhbHVlXSBOb2RlIG5vZGUpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsK
IAotICAgICAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzXSBOb2RlIHJlbW92ZU5hbWVk
SXRlbU5TKGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1
bHRWYWx1ZV0gRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwgCisgICAgICAgIFtPYmpDTGVnYWN5VW5u
YW1lZFBhcmFtZXRlcnNdIE5vZGUgcmVtb3ZlTmFtZWRJdGVtTlMoaW4gW1RyZWF0TnVsbEFzPU51
bGxTdHJpbmcsT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBuYW1lc3Bh
Y2VVUkksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
IFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIGxvY2FsTmFtZSkKICAg
ICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5pZGwKaW5kZXggODQ4
OWY0ZmQwMWE4YWJkMDUyZDEwYWI2ZDU2ZDZjYTNiNjY4YTYwNS4uOWJlYmMxMmIyYWY4MWJlZGEz
ZWU2NDdmNjk0ODQzMTlmOTk4NDUwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbApAQCAtNTQsNyArNTQsNyBA
QCBtb2R1bGUgY29yZSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ29udmVydE51bGxT
dHJpbmdUbz1OdWxsXSBET01TdHJpbmcgICAgICAgIG5vZGVOYW1lOwogCiAgICAgICAgICAgICAg
ICAgIC8vIEZJWE1FOiB0aGUgc3BlYyBzYXlzIHRoaXMgY2FuIGFsc28gcmFpc2Ugb24gcmV0cmll
dmFsLgotICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsU3RyaW5nVG89TnVs
bCwgVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyAgICAgICAgbm9kZVZhbHVlCisg
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxTdHJpbmdUbz1OdWxsLCBUcmVh
dE51bGxBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgIG5vZGVWYWx1ZQogICAgICAgICAg
ICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwogCiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCAgIG5vZGVUeXBlOwpAQCAtODUsMTAgKzg1LDEw
IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoK
IAogICAgICAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzXSBib29sZWFuIGlzU3VwcG9y
dGVkKGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIGZlYXR1cmUs
IAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtUcmVhdE51
bGxBcz1FbXB0eVN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5n
IHZlcnNpb24pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
IFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLE9wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBE
T01TdHJpbmcgdmVyc2lvbik7CiAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDb252ZXJ0
TnVsbFN0cmluZ1RvPU51bGxdIERPTVN0cmluZyAgICAgICAgbmFtZXNwYWNlVVJJOwotICAgICAg
ICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsU3RyaW5nVG89TnVsbCwgVHJlYXROdWxs
QXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyAgICAgICAgcHJlZml4CisgICAgICAgICAgICAgICAg
IGF0dHJpYnV0ZSBbQ29udmVydE51bGxTdHJpbmdUbz1OdWxsLCBUcmVhdE51bGxBcz1OdWxsU3Ry
aW5nXSBET01TdHJpbmcgICAgICAgIHByZWZpeAogICAgICAgICAgICAgICAgICAgICAgc2V0dGVy
IHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0NvbnZl
cnROdWxsU3RyaW5nVG89TnVsbF0gRE9NU3RyaW5nICAgICAgICBsb2NhbE5hbWU7CiAKQEAgLTk5
LDE0ICs5OSwxNCBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBb
Q29udmVydE51bGxTdHJpbmdUbz1OdWxsXSBET01TdHJpbmcgICAgICAgYmFzZVVSSTsKIAogICAg
ICAgICAgICAgICAgICAvLyBGSVhNRTogdGhlIHNwZWMgc2F5cyB0aGlzIGNhbiBhbHNvIHJhaXNl
IG9uIHJldHJpZXZhbC4KLSAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFN0
cmluZ1RvPU51bGwsIFRyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgICAgICAgdGV4
dENvbnRlbnQKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFN0cmluZ1Rv
PU51bGwsIFRyZWF0TnVsbEFzPU51bGxTdHJpbmddIERPTVN0cmluZyAgICAgICB0ZXh0Q29udGVu
dAogICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwogCiAg
ICAgICAgIGJvb2xlYW4gICAgICAgICAgICBpc1NhbWVOb2RlKGluIFtPcHRpb25hbD1DYWxsV2l0
aERlZmF1bHRWYWx1ZV0gTm9kZSBvdGhlcik7CiAgICAgICAgIGJvb2xlYW4gICAgICAgICAgICBp
c0VxdWFsTm9kZShpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIE5vZGUgb3RoZXIp
OwotICAgICAgICBbQ29udmVydE51bGxTdHJpbmdUbz1OdWxsXSBET01TdHJpbmcgICAgICAgICAg
bG9va3VwUHJlZml4KGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZyxPcHRpb25hbD1DYWxsV2l0
aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSk7Ci0gICAgICAgIGJvb2xlYW4g
ICAgICAgICAgICBpc0RlZmF1bHROYW1lc3BhY2UoaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5n
LE9wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgbmFtZXNwYWNlVVJJKTsK
LSAgICAgICAgW0NvbnZlcnROdWxsU3RyaW5nVG89TnVsbF0gRE9NU3RyaW5nICAgICAgICAgIGxv
b2t1cE5hbWVzcGFjZVVSSShpbiBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmcsT3B0aW9uYWw9Q2Fs
bFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBwcmVmaXgpOworICAgICAgICBbQ29udmVydE51
bGxTdHJpbmdUbz1OdWxsXSBET01TdHJpbmcgICAgICAgICAgbG9va3VwUHJlZml4KGluIFtUcmVh
dE51bGxBcz1OdWxsU3RyaW5nLE9wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJp
bmcgbmFtZXNwYWNlVVJJKTsKKyAgICAgICAgYm9vbGVhbiAgICAgICAgICAgIGlzRGVmYXVsdE5h
bWVzcGFjZShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1
bHRWYWx1ZV0gRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSk7CisgICAgICAgIFtDb252ZXJ0TnVsbFN0
cmluZ1RvPU51bGxdIERPTVN0cmluZyAgICAgICAgICBsb29rdXBOYW1lc3BhY2VVUkkoaW4gW1Ry
ZWF0TnVsbEFzPU51bGxTdHJpbmcsT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0
cmluZyBwcmVmaXgpOwogCiAgICAgICAgIC8vIERvY3VtZW50UG9zaXRpb24KICAgICAgICAgY29u
c3QgdW5zaWduZWQgc2hvcnQgICAgICBET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQgPSAw
eDAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlv
bi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmlkbAppbmRl
eCA2ZjlmNjhkZDRmMjUwM2UyZGY2ODU0ZDZkMGNkZWFhNWNkZWJkNDFiLi45YzY3M2ZkY2JkMjNl
NjVmNWU4YTE2MGNiYmQyOTMzMmU2YTdiZTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJv
Y2Vzc2luZ0luc3RydWN0aW9uLmlkbApAQCAtMjUsNyArMjUsNyBAQCBtb2R1bGUgY29yZSB7CiAg
ICAgICAgIC8vIERPTSBMZXZlbCAxCiAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDb252
ZXJ0TnVsbFN0cmluZ1RvPU51bGxdIERPTVN0cmluZyB0YXJnZXQ7Ci0gICAgICAgICAgICAgICAg
IGF0dHJpYnV0ZSBbQ29udmVydE51bGxTdHJpbmdUbz1OdWxsLCBUcmVhdE51bGxBcz1FbXB0eVN0
cmluZ10gRE9NU3RyaW5nIGRhdGEKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0
TnVsbFN0cmluZ1RvPU51bGwsIFRyZWF0TnVsbEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBkYXRh
CiAgICAgICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKICAg
ICAgICAgLy8gaW50ZXJmYWNlIExpbmtTdHlsZSBmcm9tIERPTSBMZXZlbCAyIFN0eWxlIFNoZWV0
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaWRsIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaWRsCmluZGV4IDk1NWIzOGUwN2FhZTMzOGNjOWMzNzNh
YzQ0ZThiZjlkYTM3MTRiMDAuLjAxMWQ2Nzk1ZmJlM2IyOGNlMWM4YzIyYjc0YzczOTY5YzM1Njc4
YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5pZGwKQEAgLTM2LDcgKzM2LDcgQEAgbW9kdWxl
IGNvcmUgewogICAgICAgICBFbGVtZW50IGdldEVsZW1lbnRCeUlkKGluIFtPcHRpb25hbD1DYWxs
V2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIGVsZW1lbnRJZCk7CiAgICAgICAgIE5vZGVMaXN0
IGdldEVsZW1lbnRzQnlDbGFzc05hbWUoaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVl
XSBET01TdHJpbmcgY2xhc3NOYW1lKTsKICAgICAgICAgTm9kZUxpc3QgZ2V0RWxlbWVudHNCeVRh
Z05hbWUoaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgdGFnTmFt
ZSk7Ci0gICAgICAgIE5vZGVMaXN0IGdldEVsZW1lbnRzQnlUYWdOYW1lTlMoaW4gW1RyZWF0TnVs
bEFzPUVtcHR5U3RyaW5nLE9wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcg
bmFtZXNwYWNlVVJJLAorICAgICAgICBOb2RlTGlzdCBnZXRFbGVtZW50c0J5VGFnTmFtZU5TKGlu
IFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLE9wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBE
T01TdHJpbmcgbmFtZXNwYWNlVVJJLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIGxvY2Fs
TmFtZSk7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9i
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5pZGwKaW5kZXggNzU4ZDA1YmUxNTRm
M2ZjOGVmNzFmYjY4MDYwMWIyMWIyOTgwZmRkYi4uMTQwMGRjMWIzYzM0NzI5MmM0NTJmMDk4M2I3
MmJmOTc2MTIwNDhmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuaWRsCkBAIC00MCw3ICs0MCw3IEBA
IG1vZHVsZSBodG1sIHsKIAogI2lmICFkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKQogI2lm
IGRlZmluZWQoRU5BQkxFX0JMT0IpICYmIEVOQUJMRV9CTE9CCi0gICAgICAgIEJsb2Igd2Via2l0
U2xpY2UoaW4gW09wdGlvbmFsXSBsb25nIGxvbmcgc3RhcnQsIGluIFtPcHRpb25hbF0gbG9uZyBs
b25nIGVuZCwgaW4gW09wdGlvbmFsLCBUcmVhdE51bGxBcz1FbXB0eVN0cmluZywgVHJlYXRVbmRl
ZmluZWRBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGNvbnRlbnRUeXBlKTsKKyAgICAgICAgQmxv
YiB3ZWJraXRTbGljZShpbiBbT3B0aW9uYWxdIGxvbmcgbG9uZyBzdGFydCwgaW4gW09wdGlvbmFs
XSBsb25nIGxvbmcgZW5kLCBpbiBbT3B0aW9uYWwsIFRyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRy
ZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGNvbnRlbnRUeXBlKTsKICNlbmRp
ZgogI2VuZGlmCiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRGly
ZWN0b3J5RW50cnkuaWRsIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5p
ZGwKaW5kZXggNTYxYWYyZGYyNzY1ZGEyM2U2MWI2ZGRjNDMwM2JjNjQ4MmMwOGIzMi4uYjE3NjZl
NmNiN2IwYzljMWIwZGYwNTNkZGNjNjA0ZTcyZmE5MzU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9EaXJlY3RvcnlFbnRyeS5pZGwKQEAgLTM2LDggKzM2LDggQEAgbW9kdWxlIHN0b3JhZ2Ug
ewogICAgICAgICBKU05vU3RhdGljVGFibGVzCiAgICAgXSBEaXJlY3RvcnlFbnRyeSA6IEVudHJ5
IHsKICAgICAgICAgRGlyZWN0b3J5UmVhZGVyIGNyZWF0ZVJlYWRlcigpOwotICAgICAgICBbQ3Vz
dG9tXSB2b2lkIGdldEZpbGUoaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLCBUcmVhdFVuZGVm
aW5lZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBXZWJLaXRG
bGFncyBmbGFncywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNz
Q2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxs
YmFjayk7Ci0gICAgICAgIFtDdXN0b21dIHZvaWQgZ2V0RGlyZWN0b3J5KGluIFtUcmVhdE51bGxB
cz1FbXB0eVN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHBh
dGgsIGluIFtPcHRpb25hbF0gV2ViS2l0RmxhZ3MgZmxhZ3MsIGluIFtPcHRpb25hbCwgQ2FsbGJh
Y2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNr
XSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgICAgICBbQ3VzdG9tXSB2b2lkIGdl
dEZpbGUoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0
cmluZ10gRE9NU3RyaW5nIHBhdGgsIGluIFtPcHRpb25hbF0gV2ViS2l0RmxhZ3MgZmxhZ3MsIGlu
IFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBb
T3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgICAg
ICBbQ3VzdG9tXSB2b2lkIGdldERpcmVjdG9yeShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywg
VHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFs
XSBXZWJLaXRGbGFncyBmbGFncywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFj
ayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sg
ZXJyb3JDYWxsYmFjayk7CiAgICAgICAgIHZvaWQgcmVtb3ZlUmVjdXJzaXZlbHkoaW4gW0NhbGxi
YWNrXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNr
XSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwogICAgIH07CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5pZGwKaW5kZXggODhhZjk0NTNmYmJjNTc3
OGE3OGE5YmUxODhhN2U5NjY3YmVjNjJlYi4uMTk0ZGYxYzMzMmQwN2VkNWYzNDdkYjE5NmQxYzM1
NTViYWE1OTM5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlF
bnRyeVN5bmMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlT
eW5jLmlkbApAQCAtMzYsOCArMzYsOCBAQCBtb2R1bGUgc3RvcmFnZSB7CiAgICAgICAgIEpTTm9T
dGF0aWNUYWJsZXMKICAgICBdIERpcmVjdG9yeUVudHJ5U3luYyA6IEVudHJ5U3luYyB7CiAgICAg
ICAgIERpcmVjdG9yeVJlYWRlclN5bmMgY3JlYXRlUmVhZGVyKCkgcmFpc2VzIChGaWxlRXhjZXB0
aW9uKTsKLSAgICAgICAgW0N1c3RvbV0gRmlsZUVudHJ5U3luYyBnZXRGaWxlKGluIFtUcmVhdE51
bGxBcz1FbXB0eVN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5n
IHBhdGgsIGluIFdlYktpdEZsYWdzIGZsYWdzKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOwotICAg
ICAgICBbQ3VzdG9tXSBEaXJlY3RvcnlFbnRyeVN5bmMgZ2V0RGlyZWN0b3J5KGluIFtUcmVhdE51
bGxBcz1FbXB0eVN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5n
IHBhdGgsIGluIFdlYktpdEZsYWdzIGZsYWdzKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAg
ICAgICBbQ3VzdG9tXSBGaWxlRW50cnlTeW5jIGdldEZpbGUoaW4gW1RyZWF0TnVsbEFzPU51bGxT
dHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIHBhdGgsIGluIFdl
YktpdEZsYWdzIGZsYWdzKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgICAgICBbQ3VzdG9t
XSBEaXJlY3RvcnlFbnRyeVN5bmMgZ2V0RGlyZWN0b3J5KGluIFtUcmVhdE51bGxBcz1OdWxsU3Ry
aW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBwYXRoLCBpbiBXZWJL
aXRGbGFncyBmbGFncykgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKICAgICAgICAgdm9pZCByZW1v
dmVSZWN1cnNpdmVseSgpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CiAgICAgfTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRW50cnkuaWRsIGIvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9FbnRyeS5pZGwKaW5kZXggMTZlNDFlY2MyNmNkYTFiMzFjZjBkN2UwZDFmYTQ0ZWJh
YWNhMmMwMC4uNGJlNmM4Yjc1ZDRiZGUzYmJlNjc1ZmYwZDdmNjZlYjM5MGMwODA5MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9FbnRyeS5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9FbnRyeS5pZGwKQEAgLTQxLDggKzQxLDggQEAgbW9kdWxlIHN0b3JhZ2Ugewog
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NRmlsZVN5c3RlbSBmaWxlc3lzdGVtOwogCiAg
ICAgICAgIHZvaWQgZ2V0TWV0YWRhdGEoaW4gW0NhbGxiYWNrXSBNZXRhZGF0YUNhbGxiYWNrIHN1
Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJv
ckNhbGxiYWNrKTsKLSAgICAgICAgdm9pZCBtb3ZlVG8oaW4gRGlyZWN0b3J5RW50cnkgcGFyZW50
LCBpbiBbT3B0aW9uYWwsIFRyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFz
PUVtcHR5U3RyaW5nXSBET01TdHJpbmcgbmFtZSwgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRW50
cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9y
Q2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0gICAgICAgIHZvaWQgY29weVRvKGluIERpcmVjdG9y
eUVudHJ5IHBhcmVudCwgaW4gW09wdGlvbmFsLCBUcmVhdE51bGxBcz1FbXB0eVN0cmluZywgVHJl
YXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbCwg
Q2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENh
bGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgICAgICB2b2lkIG1vdmVU
byhpbiBEaXJlY3RvcnlFbnRyeSBwYXJlbnQsIGluIFtPcHRpb25hbCwgVHJlYXROdWxsQXM9TnVs
bFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgbmFtZSwgaW4g
W09wdGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtP
cHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgICAg
IHZvaWQgY29weVRvKGluIERpcmVjdG9yeUVudHJ5IHBhcmVudCwgaW4gW09wdGlvbmFsLCBUcmVh
dE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmlu
ZyBuYW1lLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nlc3NDYWxs
YmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNr
KTsKICAgICAgICAgRE9NU3RyaW5nIHRvVVJMKCk7CiAgICAgICAgIHZvaWQgcmVtb3ZlKGluIFtD
YWxsYmFja10gVm9pZENhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxs
YmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKICAgICAgICAgdm9pZCBnZXRQYXJl
bnQoaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ss
IGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0VudHJ5U3luYy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9maWxlYXBpL0VudHJ5U3luYy5pZGwKaW5kZXggZGJlOTk4MjU2YjI5NzUwMGFkYjM2
NDMwMjhiYmI3NGE1YjUzODczYy4uMmRiNDc2ZDMzNTYxZmZkMjdkYjEwMzk0MmRjNmJlZjJkZWQy
YzA4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmlkbApAQCAtNDEsOCArNDEsOCBA
QCBtb2R1bGUgc3RvcmFnZSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01GaWxlU3lz
dGVtU3luYyBmaWxlc3lzdGVtOwogCiAgICAgICAgIE1ldGFkYXRhIGdldE1ldGFkYXRhKCkgcmFp
c2VzIChGaWxlRXhjZXB0aW9uKTsKLSAgICAgICAgRW50cnlTeW5jIG1vdmVUbyhpbiBEaXJlY3Rv
cnlFbnRyeVN5bmMgcGFyZW50LCBpbiBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmcsIFRyZWF0VW5k
ZWZpbmVkQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBuYW1lKSByYWlzZXMgKEZpbGVFeGNlcHRp
b24pOwotICAgICAgICBFbnRyeVN5bmMgY29weVRvKGluIERpcmVjdG9yeUVudHJ5U3luYyBwYXJl
bnQsIGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0
cmluZ10gRE9NU3RyaW5nIG5hbWUpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgICAgIEVu
dHJ5U3luYyBtb3ZlVG8oaW4gRGlyZWN0b3J5RW50cnlTeW5jIHBhcmVudCwgaW4gW1RyZWF0TnVs
bEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIG5h
bWUpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgICAgIEVudHJ5U3luYyBjb3B5VG8oaW4g
RGlyZWN0b3J5RW50cnlTeW5jIHBhcmVudCwgaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRy
ZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIG5hbWUpIHJhaXNlcyAoRmlsZUV4
Y2VwdGlvbik7CiAgICAgICAgIERPTVN0cmluZyB0b1VSTCgpOwogICAgICAgICB2b2lkIHJlbW92
ZSgpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CiAgICAgICAgIERpcmVjdG9yeUVudHJ5U3luYyBn
ZXRQYXJlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvV2ViS2l0Qmxv
YkJ1aWxkZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5p
ZGwKaW5kZXggMjFmYjdiZGIyNGVmYTg4ZDFmM2M4NjRlOGM3MjdlNTBiMjZmNmZhYi4uMWQyMTJi
NzEyZDY0ZGJmMjYyZjcwMDFjMzAyNjBmMzhmYTk5OGRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5pZGwKQEAgLTM1LDEzICszNSwxMyBAQCBtb2R1bGUg
aHRtbCB7CiAgICAgICAgIEpTTm9TdGF0aWNUYWJsZXMKICAgICBdIFdlYktpdEJsb2JCdWlsZGVy
IHsKICNpZiAhZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykKLSAgICAgICAgQmxvYiBnZXRC
bG9iKGluIFtPcHRpb25hbCwgVHJlYXROdWxsQXM9RW1wdHlTdHJpbmcsIFRyZWF0VW5kZWZpbmVk
QXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBjb250ZW50VHlwZSk7CisgICAgICAgIEJsb2IgZ2V0
QmxvYihpbiBbT3B0aW9uYWwsIFRyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVk
QXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGNvbnRlbnRUeXBlKTsKICNlbmRpZgogICAgICAgICB2
b2lkIGFwcGVuZChpbiBCbG9iIGJsb2IpOwogI2lmIGRlZmluZWQoRU5BQkxFX0JMT0IpICYmIEVO
QUJMRV9CTE9CCiAgICAgICAgIHZvaWQgYXBwZW5kKGluIEFycmF5QnVmZmVyIGFycmF5QnVmZmVy
KTsKICNlbmRpZgotICAgICAgICB2b2lkIGFwcGVuZChpbiBET01TdHJpbmcgdmFsdWUsIGluIFtP
cHRpb25hbCwgVHJlYXROdWxsQXM9RW1wdHlTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9RW1wdHlT
dHJpbmddIERPTVN0cmluZyBlbmRpbmdzKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAg
IHZvaWQgYXBwZW5kKGluIERPTVN0cmluZyB2YWx1ZSwgaW4gW09wdGlvbmFsLCBUcmVhdE51bGxB
cz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBlbmRp
bmdzKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbAppbmRleCA5MWNmNjU1MzY4ZGEyY2IzODA0ZmEwZDVh
YWU4NDYxNDg1ZjAwMTRiLi4zYzQwYjczYjY3Y2U3NTVhMTlkM2Q2NWI5YjY4ZjE5NDQ4OGRmNzcy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbApAQCAtNDMsMTUg
KzQzLDE1IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyBwcm90b2NvbDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBzZWFy
Y2g7CiAjZWxzZQotICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBE
T01TdHJpbmcgaGFzaDsKLSAgICAgICAgYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmlu
Z10gRE9NU3RyaW5nIGhvc3Q7Ci0gICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlT
dHJpbmddIERPTVN0cmluZyBob3N0bmFtZTsKLSAgICAgICAgYXR0cmlidXRlIFtUcmVhdE51bGxB
cz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHBhdGhuYW1lOwotICAgICAgICBhdHRyaWJ1dGUgW1Ry
ZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgcG9ydDsKLSAgICAgICAgYXR0cmlidXRl
IFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHByb3RvY29sOwotICAgICAgICBh
dHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgc2VhcmNoOworICAg
ICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBoYXNoOwor
ICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBob3N0
OworICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBo
b3N0bmFtZTsKKyAgICAgICAgYXR0cmlidXRlIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBET01T
dHJpbmcgcGF0aG5hbWU7CisgICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmlu
Z10gRE9NU3RyaW5nIHBvcnQ7CisgICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0
cmluZ10gRE9NU3RyaW5nIHByb3RvY29sOworICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFz
PU51bGxTdHJpbmddIERPTVN0cmluZyBzZWFyY2g7CiAKLSAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG9yaWdpbjsKKyAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgb3Jp
Z2luOwogI2VuZGlmCiAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0ZXh0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbAppbmRleCBmMzdjOTcw
NGQ2NGNjMzg4OWQ0MDgwMjJmOWVkMDMxMmFlZjY1MTgzLi5iOGI4NjIxZjkzMDE4MDAxM2IyZWMw
OGYxY2UzMGU5MzViOWExNGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxC
dXR0b25FbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVt
ZW50LmlkbApAQCAtMjQsOCArMjQsOCBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQgZm9ybTsKIAogICAgICAgICBhdHRyaWJ1dGUgW1Jl
ZmxlY3QsIFVSTF0gRE9NU3RyaW5nIGZvcm1BY3Rpb247Ci0gICAgICAgIGF0dHJpYnV0ZSBbVHJl
YXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBmb3JtRW5jdHlwZTsKLSAgICAgICAgYXR0
cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGZvcm1NZXRob2Q7Cisg
ICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGZvcm1F
bmN0eXBlOworICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIERPTVN0
cmluZyBmb3JtTWV0aG9kOwogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGJvb2xlYW4gZm9y
bU5vVmFsaWRhdGU7CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGZvcm1U
YXJnZXQ7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlkaXR5
OwpAQCAtMzksNyArMzksNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBib29sZWFuIHdpbGxWYWxpZGF0ZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAgICAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5
KCk7Ci0gICAgICAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoaW4gW1RyZWF0TnVsbEFzPUVtcHR5
U3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgZXJyb3IpOwor
ICAgICAgICB2b2lkIHNldEN1c3RvbVZhbGlkaXR5KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5n
LCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBlcnJvcik7CiAKICAgICAg
ICAgdm9pZCBjbGljaygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxD
YW52YXNFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQu
aWRsCmluZGV4IGQzZTM5ZWQ2NDQ2ZWE5MDdjMjExNjRiYWFiM2RiY2MzMzQ0MDBiM2QuLjgzMGQ1
ZTcxMTliM2YwMWNiNDBmOWU1YzA2OTdiNjc4NWZmNTEzYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTENhbnZhc0VsZW1lbnQuaWRsCkBAIC0zMyw3ICszMyw3IEBAIG1vZHVsZSBodG1sIHsK
ICAgICAgICAgYXR0cmlidXRlIGxvbmcgd2lkdGg7CiAgICAgICAgIGF0dHJpYnV0ZSBsb25nIGhl
aWdodDsKIAotICAgICAgICBbQ3VzdG9tXSBET01TdHJpbmcgdG9EYXRhVVJMKGluIFtUcmVhdE51
bGxBcz1FbXB0eVN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZyxPcHRpb25hbD1D
YWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIHR5cGUpCisgICAgICAgIFtDdXN0b21dIERP
TVN0cmluZyB0b0RhdGFVUkwoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZp
bmVkQXM9TnVsbFN0cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5n
IHR5cGUpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAogI2lmICFkZWZpbmVk
KExBTkdVQUdFX0NQUCkgfHwgIUxBTkdVQUdFX0NQUApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRG9jdW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1l
bnQuaWRsCmluZGV4IDdhMTI5ZjE2MjY2MTk4NzQ1NTlmZmM1NmIwNzk1NTIyOTFmMTE4OGQuLjRk
YmNiNWZmNTJmZGVkMTQ5YjIwMjM4OTE4YWY4MjAzYTIyZmFiYmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxEb2N1bWVudC5pZGwKQEAgLTQ4LDE5ICs0OCwxOSBAQCBtb2R1bGUgaHRtbCB7CiAgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHdpZHRoOwogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgbG9uZyBoZWlnaHQ7CiAjZW5kaWYKLSAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtU
cmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGRpcjsKLSAgICAgICAgICAgICAgICAg
YXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGRlc2lnbk1vZGU7
CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9N
U3RyaW5nIGRpcjsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtUcmVhdE51bGxBcz1OdWxs
U3RyaW5nXSBET01TdHJpbmcgZGVzaWduTW9kZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyBjb21wYXRNb2RlOwogCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVt
ZW50IGFjdGl2ZUVsZW1lbnQ7CiAgICAgICAgIGJvb2xlYW4gaGFzRm9jdXMoKTsKIAogICAgICAg
ICAvLyBEZXByZWNhdGVkIGF0dHJpYnV0ZXMKLSAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtU
cmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJnQ29sb3I7Ci0gICAgICAgICAgICAg
ICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBmZ0NvbG9y
OwotICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBE
T01TdHJpbmcgYWxpbmtDb2xvcjsKLSAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtUcmVhdE51
bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGxpbmtDb2xvcjsKLSAgICAgICAgICAgICAgICAg
YXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZsaW5rQ29sb3I7
CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9N
U3RyaW5nIGJnQ29sb3I7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9
TnVsbFN0cmluZ10gRE9NU3RyaW5nIGZnQ29sb3I7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGFsaW5rQ29sb3I7CisgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGxp
bmtDb2xvcjsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtUcmVhdE51bGxBcz1OdWxsU3Ry
aW5nXSBET01TdHJpbmcgdmxpbmtDb2xvcjsKICAgICB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEVsZW1lbnQuaWRsCmluZGV4IDA2OGNiOGQ3NDI4YTNiNDMzYmMzZGI4MjY0ZjJhZjAwNDFlY2Y1
MGQuLmE1ZGViZjY5ZWU4NDBiNTlmZGVhZWJkOWViODhlZWY3MmYwYzBiMDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEVsZW1lbnQuaWRsCkBAIC00MCwxMyArNDAsMTMgQEAgbW9kdWxlIGh0bWwgewog
ICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBhY2Nlc3NLZXk7
CiAKICAgICAgICAgLy8gRXh0ZW5zaW9ucwotICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW1Ry
ZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgaW5uZXJIVE1MCisgICAgICAgICAgICAg
ICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGlubmVySFRN
TAogICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAg
ICAgICAgICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJp
bmcgaW5uZXJUZXh0CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVs
bFN0cmluZ10gRE9NU3RyaW5nIGlubmVyVGV4dAogICAgICAgICAgICAgICAgICAgICAgc2V0dGVy
IHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0
TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgb3V0ZXJIVE1MCisgICAgICAgICAgICAgICAg
IGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIG91dGVySFRNTAog
ICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgICAg
ICAgICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcg
b3V0ZXJUZXh0CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0
cmluZ10gRE9NU3RyaW5nIG91dGVyVGV4dAogICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJh
aXNlcyhET01FeGNlcHRpb24pOwogCiAgICAgICAgIEVsZW1lbnQgaW5zZXJ0QWRqYWNlbnRFbGVt
ZW50KGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIHdoZXJlLApA
QCAtNjEsNyArNjEsNyBAQCBtb2R1bGUgaHRtbCB7CiAKICAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIEhUTUxDb2xsZWN0aW9uIGNoaWxkcmVuOwogCi0gICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBjb250ZW50RWRpdGFibGUKKyAg
ICAgICAgICAgICAgICAgYXR0cmlidXRlIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBET01TdHJp
bmcgY29udGVudEVkaXRhYmxlCiAgICAgICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERP
TUV4Y2VwdGlvbik7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzQ29udGVu
dEVkaXRhYmxlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNl
dEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50Lmlk
bAppbmRleCA1MTIzMTZkYmQ2YTlmNmQxYzI0NjNlMjUyMDQ4OGU1MzVmNTkxMzY1Li5kZDY5OWMw
ZTgyYjA2MWFjMWNkY2VlMDczYzg0OGZjY2E3NjA5MTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5pZGwKQEAgLTI1LDcgKzI1LDcgQEAgbW9kdWxlIGh0bWwg
ewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgIHdpbGxWYWxpZGF0
ZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICB2YWxpZGF0aW9u
TWVzc2FnZTsKICAgICAgICAgYm9vbGVhbiAgY2hlY2tWYWxpZGl0eSgpOwotICAgICAgICB2b2lk
ICAgICBzZXRDdXN0b21WYWxpZGl0eShpbiBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmcsIFRyZWF0
VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBlcnJvcik7CisgICAgICAgIHZvaWQg
ICAgIHNldEN1c3RvbVZhbGlkaXR5KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVu
ZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBlcnJvcik7CiAgICAgfTsKIAogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsCmluZGV4IGQxODg0ZWZlOGZmMzc5ZGRh
NTg3OTU0YzUyMjUxMzc5MjUyZDIzOTYuLmQ1ZTI3MTc4NGE0ZGZhNjRjZGIxNDM2NWQ5ZTBiM2Q3
OWU0ODE0YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwKQEAgLTMx
LDkgKzMxLDkgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGJv
b2xlYW4gbm9WYWxpZGF0ZTsKICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0PWFjY2VwdF9jaGFy
c2V0XSBET01TdHJpbmcgYWNjZXB0Q2hhcnNldDsKICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0
LCBVUkxdIERPTVN0cmluZyBhY3Rpb247Ci0gICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9
RW1wdHlTdHJpbmddIERPTVN0cmluZyBlbmNvZGluZzsKLSAgICAgICAgYXR0cmlidXRlIFtUcmVh
dE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGVuY3R5cGU7Ci0gICAgICAgIGF0dHJpYnV0
ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBtZXRob2Q7CisgICAgICAgIGF0
dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGVuY29kaW5nOworICAg
ICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBlbmN0eXBl
OworICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBt
ZXRob2Q7CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIHRhcmdldDsKICAg
ICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgYXV0b2NvbXBsZXRlOwogICAgICAg
ICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudC5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnQuaWRsCmluZGV4IDFjNjg1MWI4
YTFhYzFmNjA4MmE4NDIzMDY4ZjYzMTAwNjkxOWViYjQuLjUxYTQ3MTYyMWJlYTI1OTI5YTkwNzMz
ZTZiYTZiNTE2Njg4M2ZiYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZy
YW1lRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50
LmlkbApAQCAtNDQsNyArNDQsNyBAQCBtb2R1bGUgaHRtbCB7CiAjZW5kaWYKICNlbmRpZgogCi0g
ICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmcsIEN1c3RvbVNldHRlcl0g
RE9NU3RyaW5nIGxvY2F0aW9uOworICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPU51bGxT
dHJpbmcsIEN1c3RvbVNldHRlcl0gRE9NU3RyaW5nIGxvY2F0aW9uOwogCiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBsb25nIHdpZHRoOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9u
ZyBoZWlnaHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAppbmRleCBj
NDM5YWIzYzFjZjQ2N2IyZGYzMTRhMzJkYzFlMDdjYWNlYTczMDkyLi4yMDI4ZDAyNGJiN2E2OTMw
YTUxNDVhYjBlMzg2NTEyYTAwZDUyN2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5pZGwKQEAgLTIxLDEzICsyMSwxMyBAQAogbW9kdWxlIGh0bWwgewogCiAgICAgaW50
ZXJmYWNlIEhUTUxJbnB1dEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7Ci0gICAgICAgIGF0dHJpYnV0
ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBkZWZhdWx0VmFsdWU7CisgICAg
ICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGRlZmF1bHRW
YWx1ZTsKICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0PWNoZWNrZWRdIGJvb2xlYW4gZGVmYXVs
dENoZWNrZWQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGRpck5hbWU7
CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQgZm9ybTsKICAgICAg
ICAgYXR0cmlidXRlIFtSZWZsZWN0LCBVUkxdIERPTVN0cmluZyBmb3JtQWN0aW9uOwotICAgICAg
ICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgZm9ybUVuY3R5
cGU7Ci0gICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmlu
ZyBmb3JtTWV0aG9kOworICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmdd
IERPTVN0cmluZyBmb3JtRW5jdHlwZTsKKyAgICAgICAgYXR0cmlidXRlIFtUcmVhdE51bGxBcz1O
dWxsU3RyaW5nXSBET01TdHJpbmcgZm9ybU1ldGhvZDsKICAgICAgICAgYXR0cmlidXRlIFtSZWZs
ZWN0XSBib29sZWFuIGZvcm1Ob1ZhbGlkYXRlOwogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3Rd
IERPTVN0cmluZyBmb3JtVGFyZ2V0OwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgVmFsaWRp
dHlTdGF0ZSB2YWxpZGl0eTsKQEAgLTU3LDkgKzU3LDkgQEAgbW9kdWxlIGh0bWwgewogI2VuZGlm
CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdCwgVVJMXSBET01TdHJpbmcgc3JjOwogICAgICAg
ICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBzdGVwOwotICAgICAgICBhdHRyaWJ1dGUg
W1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgdHlwZTsgLy8gcmVhZG9ubHkgZHJv
cHBlZCBhcyBwYXJ0IG9mIERPTSBsZXZlbCAyCisgICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxs
QXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIHR5cGU7IC8vIHJlYWRvbmx5IGRyb3BwZWQgYXMgcGFy
dCBvZiBET00gbGV2ZWwgMgogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyB1
c2VNYXA7Ci0gICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0
cmluZyB2YWx1ZTsKKyAgICAgICAgYXR0cmlidXRlIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBE
T01TdHJpbmcgdmFsdWU7CiAjaWYgIWRlZmluZWQoTEFOR1VBR0VfQ1BQKSB8fCAhTEFOR1VBR0Vf
Q1BQCiAgICAgICAgIGF0dHJpYnV0ZSBEYXRlIHZhbHVlQXNEYXRlIHNldHRlciByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKICNlbmRpZgpAQCAtNzMsMTIgKzczLDEyIEBAIG1vZHVsZSBodG1sIHsKICAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gd2lsbFZhbGlkYXRlOwogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlOwogICAgICAgICBi
b29sZWFuIGNoZWNrVmFsaWRpdHkoKTsKLSAgICAgICAgdm9pZCBzZXRDdXN0b21WYWxpZGl0eShp
biBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmdd
IERPTVN0cmluZyBlcnJvcik7CisgICAgICAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoaW4gW1Ry
ZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3Ry
aW5nIGVycm9yKTsKICAgICAgICAgdm9pZCBzZWxlY3QoKTsKICAgICAgICAgdm9pZCBjbGljaygp
OwogCiAjaWYgIWRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgfHwgIUxBTkdVQUdFX0pBVkFT
Q1JJUFQKLSAgICAgICAgdm9pZCBzZXRWYWx1ZUZvclVzZXIoaW4gW1RyZWF0TnVsbEFzPUVtcHR5
U3RyaW5nXSBET01TdHJpbmcgdmFsdWUpOworICAgICAgICB2b2lkIHNldFZhbHVlRm9yVXNlcihp
biBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIHZhbHVlKTsKICNlbmRpZgogCiAg
ICAgICAgIC8vIFdpbklFIGV4dGVuc2lvbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2Vu
RWxlbWVudC5pZGwKaW5kZXggOTNkOGQ2MWY0ZTA2ODllNGZlZDU4ZmEzZjkwZjE2ZGFjNTNmYjVl
MS4uOTE0ZmI5OWIwMGE0YjZlMTVjY2FiMTUyMDgzZWNlMGMyMzQ0ZGQwOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5pZGwKQEAgLTQ0LDcgKzQ0LDcgQEAgbW9kdWxl
IGh0bWwgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgVmFsaWRpdHlTdGF0ZSB2YWxpZGl0
eTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2Fn
ZTsKICAgICAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7Ci0gICAgICAgIHZvaWQgc2V0Q3Vz
dG9tVmFsaWRpdHkoaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFz
PUVtcHR5U3RyaW5nXSBET01TdHJpbmcgZXJyb3IpOworICAgICAgICB2b2lkIHNldEN1c3RvbVZh
bGlkaXR5KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxT
dHJpbmddIERPTVN0cmluZyBlcnJvcik7CiAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5v
ZGVMaXN0IGxhYmVsczsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5pZGwKaW5kZXggYWE1MGIyYzdhZWI0MmZiZmNjZTBiMGJmZjM4OTEwNzA5NDNlMWI4OS4uZTBj
Y2YzYjU0YjNlMjlmYTcyMTYzZmEwMGU5OTQ3N2IyODQ3NzlmOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCkBAIC0xMTcsNyArMTE3LDcgQEAgbW9kdWxlIGh0bWwg
ewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lPXdlYmtpdFZpZGVv
VHJhY2tdIFRleHRUcmFja0xpc3QgdGV4dFRyYWNrczsKICNlbmRpZgogCi0gICAgYXR0cmlidXRl
IFtSZWZsZWN0LCBUcmVhdE51bGxBcz1FbXB0eVN0cmluZywgQ29udmVydE51bGxTdHJpbmdUb051
bGxdIERPTVN0cmluZyBtZWRpYUdyb3VwOworICAgIGF0dHJpYnV0ZSBbUmVmbGVjdCwgVHJlYXRO
dWxsQXM9TnVsbFN0cmluZywgQ29udmVydE51bGxTdHJpbmdUb051bGxdIERPTVN0cmluZyBtZWRp
YUdyb3VwOwogICAgIGF0dHJpYnV0ZSBbQ3VzdG9tU2V0dGVyXSBNZWRpYUNvbnRyb2xsZXIgY29u
dHJvbGxlcjsKIH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmpl
Y3RFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRs
CmluZGV4IGEwN2FjNjZiNjFmMzA3NDQ1YmJlYWRlZTU5YTdhM2I3NGRiY2IyZjkuLjAxZjg0ODVj
NGIwM2FjMmEyYWFlNTViYzYzMDg0OTE2ZDRmYjMyYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE9iamVjdEVsZW1lbnQuaWRsCkBAIC00Niw3ICs0Niw3IEBAIG1vZHVsZSBodG1sIHsKICAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZhbGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgICAg
IGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgpOwotICAgICAgICB2b2lkIHNldEN1c3RvbVZhbGlkaXR5
KGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmlu
Z10gRE9NU3RyaW5nIGVycm9yKTsKKyAgICAgICAgdm9pZCBzZXRDdXN0b21WYWxpZGl0eShpbiBb
VHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nXSBET01T
dHJpbmcgZXJyb3IpOwogCiAgICAgICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6CiAg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ2hlY2tBY2Nlc3NUb05vZGVdIERvY3VtZW50IGNv
bnRlbnREb2N1bWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1
dEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5pZGwK
aW5kZXggYzJhNDFkYWI3MTU2YjFkN2JkYWU0ZDA1ODExMDViYmJjMWE5YjMyNC4uMzU3NjFjMzM1
Y2Q4NmU0ZTEzNTBiOGQyNTUyY2IzYmY0MzFmMmFmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT3V0cHV0RWxlbWVudC5pZGwKQEAgLTI5LDE0ICsyOSwxNCBAQCBtb2R1bGUgaHRtbCB7CiAg
ICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIG5hbWU7CiAKICAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOwotICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0
TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgZGVmYXVsdFZhbHVlOwotICAgICAgICBhdHRy
aWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgdmFsdWU7CisgICAgICAg
IGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGRlZmF1bHRWYWx1
ZTsKKyAgICAgICAgYXR0cmlidXRlIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcg
dmFsdWU7CiAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gd2lsbFZhbGlkYXRl
OwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgVmFsaWRpdHlTdGF0ZSB2YWxpZGl0eTsKICAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKICAg
ICAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7Ci0gICAgICAgIHZvaWQgc2V0Q3VzdG9tVmFs
aWRpdHkoaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPUVtcHR5
U3RyaW5nXSBET01TdHJpbmcgZXJyb3IpOworICAgICAgICB2b2lkIHNldEN1c3RvbVZhbGlkaXR5
KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmdd
IERPTVN0cmluZyBlcnJvcik7CiAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0
IGxhYmVsczsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2Ny
aXB0RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50Lmlk
bAppbmRleCAwM2I1YWM4MTY1ZWFmMGEyMzhjNzEyMDg4NWI5NzBlNjM1ZDM2Y2Y4Li4xZTVjMjFl
NzQyNzI3Mjc4YTVkYTYxNWVkOTMzZGI2M2NhMTRmODdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxTY3JpcHRFbGVtZW50LmlkbApAQCAtMjAsNyArMjAsNyBAQAogbW9kdWxlIGh0bWwgewog
CiAgICAgaW50ZXJmYWNlIEhUTUxTY3JpcHRFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgICAg
ICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgdGV4dDsKKyAg
ICAgICAgYXR0cmlidXRlIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgdGV4dDsK
ICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0PWZvcl0gRE9NU3RyaW5nIGh0bWxGb3I7CiAgICAg
ICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGV2ZW50OwogICAgICAgICBhdHRyaWJ1
dGUgW1JlZmxlY3RdIERPTVN0cmluZyBjaGFyc2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxT
ZWxlY3RFbGVtZW50LmlkbAppbmRleCBhMTIwNGQwMGQ1ZDczNTIwYTA5Zjc1NTM0MTg1ZjljMTYx
MWRhZTY3Li4zZTVjOGY0MzU3Mzc0NzEwYmMwYjI4ZmFiZDNmYTJhNTc0YTQ2NGEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbApAQCAtMjYsNyArMjYsNyBAQCBt
b2R1bGUgaHRtbCB7CiAgICAgXSBIVE1MU2VsZWN0RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOwogICAgICAgICBhdHRyaWJ1
dGUgbG9uZyBzZWxlY3RlZEluZGV4OwotICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVt
cHR5U3RyaW5nXSBET01TdHJpbmcgdmFsdWU7CisgICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxs
QXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIHZhbHVlOwogICAgICAgICAKICAgICAgICAgLy8gTW9k
aWZpZWQgaW4gRE9NIExldmVsIDI6CiAjaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykg
JiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKQEAgLTQwLDcgKzQwLDcgQEAgbW9kdWxlIGh0bWwgewog
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB3aWxsVmFsaWRhdGU7CiAgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7CiAgICAgICAg
IGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgpOwotICAgICAgICB2b2lkIHNldEN1c3RvbVZhbGlkaXR5
KGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmlu
Z10gRE9NU3RyaW5nIGVycm9yKTsKKyAgICAgICAgdm9pZCBzZXRDdXN0b21WYWxpZGl0eShpbiBb
VHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nXSBET01T
dHJpbmcgZXJyb3IpOwogCiAgICAgICAgIC8vIE1vZGlmaWVkIGluIERPTSBMZXZlbCAyOgogICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTE9wdGlvbnNDb2xsZWN0aW9uIG9wdGlvbnM7CkBA
IC00OCw3ICs0OCw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0
XSBib29sZWFuIGRpc2FibGVkOwogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGJvb2xlYW4g
YXV0b2ZvY3VzOwogICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBtdWx0aXBsZTsKLSAgICAgICAg
YXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG5hbWU7CisgICAg
ICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIG5hbWU7CiAg
ICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gYm9vbGVhbiByZXF1aXJlZDsKICAgICAgICAgYXR0
cmlidXRlIGxvbmcgc2l6ZTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4
dEFyZWFFbGVtZW50LmlkbAppbmRleCBhMDM1ZTg4ZjNhNWUyNWM2OTZhMmZmNmFmODAxMjg3MzZm
ZmFmMTBmLi4zYjc2MTE1ZTU4NTFhNjgyMjM1ZjFjMGJiY2I5MDczODg1ZmVmODNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwKQEAgLTIyLDcgKzIyLDcg
QEAKIG1vZHVsZSBodG1sIHsKIAogICAgIGludGVyZmFjZSBIVE1MVGV4dEFyZWFFbGVtZW50IDog
SFRNTEVsZW1lbnQgewotICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5n
XSBET01TdHJpbmcgZGVmYXVsdFZhbHVlOworICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFz
PU51bGxTdHJpbmddIERPTVN0cmluZyBkZWZhdWx0VmFsdWU7CiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQgZm9ybTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFZhbGlkaXR5U3RhdGUgdmFsaWRpdHk7CiAgICAgICAgIGF0dHJpYnV0ZSBsb25nIGNvbHM7CkBA
IC0zMCwxNCArMzAsMTQgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxl
Y3RdIGJvb2xlYW4gZGlzYWJsZWQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gYm9vbGVh
biBhdXRvZm9jdXM7CiAgICAgICAgIGF0dHJpYnV0ZSBsb25nIG1heExlbmd0aCBzZXR0ZXIgcmFp
c2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlT
dHJpbmddIERPTVN0cmluZyBuYW1lOworICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPU51
bGxTdHJpbmddIERPTVN0cmluZyBuYW1lOwogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERP
TVN0cmluZyBwbGFjZWhvbGRlcjsKICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBib29sZWFu
IHJlYWRPbmx5OwogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGJvb2xlYW4gcmVxdWlyZWQ7
CiAgICAgICAgIGF0dHJpYnV0ZSBsb25nIHJvd3M7CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVj
dF0gRE9NU3RyaW5nIHdyYXA7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
dHlwZTsKLSAgICAgICAgYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3Ry
aW5nIHZhbHVlOworICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIERP
TVN0cmluZyB2YWx1ZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcg
dGV4dExlbmd0aDsKIAogICAgICAgICB2b2lkIHNlbGVjdCgpOwpAQCAtNDUsNyArNDUsNyBAQCBt
b2R1bGUgaHRtbCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHdpbGxWYWxp
ZGF0ZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVz
c2FnZTsKICAgICAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7Ci0gICAgICAgIHZvaWQgc2V0
Q3VzdG9tVmFsaWRpdHkoaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLCBUcmVhdFVuZGVmaW5l
ZEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgZXJyb3IpOworICAgICAgICB2b2lkIHNldEN1c3Rv
bVZhbGlkaXR5KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51
bGxTdHJpbmddIERPTVN0cmluZyBlcnJvcik7CiAKICAgICAgICAgLy8gV2luSUUgJiBGaXJlRm94
IGV4dGVuc2lvbjoKICAgICAgICAgYXR0cmlidXRlIGxvbmcgc2VsZWN0aW9uU3RhcnQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUaXRsZUVsZW1lbnQuaWRsIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50LmlkbAppbmRleCAzNjkyYzM5ZGUxZGUzMGQz
N2Y1MDlhMDZmYzE2ZDBkNWM5Y2MxZmQ1Li5lNjkxZjdiMTMxYzkzODRlNDM3MTc2ZDU3NGJkNGIz
YWJiNjRlMmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUaXRsZUVsZW1l
bnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRpdGxlRWxlbWVudC5pZGwKQEAg
LTIwLDcgKzIwLDcgQEAKIG1vZHVsZSBodG1sIHsKIAogICAgIGludGVyZmFjZSBIVE1MVGl0bGVF
bGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgICAgICBhdHRyaWJ1dGUgIFtUcmVhdE51bGxBcz1F
bXB0eVN0cmluZ10gRE9NU3RyaW5nICAgICAgICAgICAgdGV4dDsKKyAgICAgICAgYXR0cmlidXRl
ICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAgICAgICAgdGV4dDsKICAg
ICB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmlkbAppbmRleCBkN2VmZTEzMjg2ZWU4ODYwM2I4ZDI1NjkyZTFl
ZTk2MTFkMGE3ZTgyLi5kNDU2MGY3YTBhYWY3MDVkNjA5OGVhZWRiZWQ4MWY0ZmM5NDg2M2YzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRC5pZGwKQEAgLTQ5LDcgKzQ5LDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIGZsb2F0
IGR5KTsKIAogICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgZ2xvYmFsQWxwaGE7Ci0gICAgICAgIGF0
dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBnbG9iYWxDb21wb3Np
dGVPcGVyYXRpb247CisgICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10g
RE9NU3RyaW5nIGdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbjsKIAogICAgICAgICBDYW52YXNHcmFk
aWVudCBjcmVhdGVMaW5lYXJHcmFkaWVudChpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFs
dWVdIGZsb2F0IHgwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIGZsb2F0IHkwLApAQCAtNjUsMTQg
KzY1LDE0IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9u
KTsKIAogICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgbGluZVdpZHRoOwotICAgICAgICBhdHRyaWJ1
dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgbGluZUNhcDsKLSAgICAgICAg
YXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGxpbmVKb2luOwor
ICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBsaW5l
Q2FwOworICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIERPTVN0cmlu
ZyBsaW5lSm9pbjsKICAgICAgICAgYXR0cmlidXRlIGZsb2F0IG1pdGVyTGltaXQ7CiAKICAgICAg
ICAgYXR0cmlidXRlIGZsb2F0IHNoYWRvd09mZnNldFg7CiAgICAgICAgIGF0dHJpYnV0ZSBmbG9h
dCBzaGFkb3dPZmZzZXRZOwogICAgICAgICBhdHRyaWJ1dGUgZmxvYXQgc2hhZG93Qmx1cjsKLSAg
ICAgICAgYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHNoYWRv
d0NvbG9yOworICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIERPTVN0
cmluZyBzaGFkb3dDb2xvcjsKIAogICAgICAgICAvLyBGSVhNRTogVGhlc2UgYXR0cmlidXRlcyBz
aG91bGQgYWxzbyBiZSBpbXBsZW1lbnRlZCBmb3IgVjguCiAjaWYgIShkZWZpbmVkKFY4X0JJTkRJ
TkcpICYmIFY4X0JJTkRJTkcpCkBAIC0yMDQsOSArMjA0LDkgQEAgbW9kdWxlIGh0bWwgewogICAg
ICAgICB2b2lkIHB1dEltYWdlRGF0YShpbiBJbWFnZURhdGEgaW1hZ2VkYXRhLCBpbiBmbG9hdCBk
eCwgaW4gZmxvYXQgZHksIGluIGZsb2F0IGRpcnR5WCwgaW4gZmxvYXQgZGlydHlZLCBpbiBmbG9h
dCBkaXJ0eVdpZHRoLCBpbiBmbG9hdCBkaXJ0eUhlaWdodCkKICAgICAgICAgICAgIHJhaXNlcyhE
T01FeGNlcHRpb24pOwogCi0gICAgICAgIENhbnZhc1BhdHRlcm4gY3JlYXRlUGF0dGVybihpbiBI
VE1MQ2FudmFzRWxlbWVudCBjYW52YXMsIGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9N
U3RyaW5nIHJlcGV0aXRpb25UeXBlKQorICAgICAgICBDYW52YXNQYXR0ZXJuIGNyZWF0ZVBhdHRl
cm4oaW4gSFRNTENhbnZhc0VsZW1lbnQgY2FudmFzLCBpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmlu
Z10gRE9NU3RyaW5nIHJlcGV0aXRpb25UeXBlKQogICAgICAgICAgICAgcmFpc2VzIChET01FeGNl
cHRpb24pOwotICAgICAgICBDYW52YXNQYXR0ZXJuIGNyZWF0ZVBhdHRlcm4oaW4gSFRNTEltYWdl
RWxlbWVudCBpbWFnZSwgaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgcmVw
ZXRpdGlvblR5cGUpCisgICAgICAgIENhbnZhc1BhdHRlcm4gY3JlYXRlUGF0dGVybihpbiBIVE1M
SW1hZ2VFbGVtZW50IGltYWdlLCBpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5n
IHJlcGV0aXRpb25UeXBlKQogICAgICAgICAgICAgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAg
ICAgICBJbWFnZURhdGEgY3JlYXRlSW1hZ2VEYXRhKGluIEltYWdlRGF0YSBpbWFnZWRhdGEpCiAg
ICAgICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NvbnNvbGUuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmlkbApp
bmRleCBlZjQ5YzgzY2NiYjk1NDgzNGY2ODZjZGVhZjk5YjNhNzU2ZGRiYzdjLi44ZjdmNGJlODY5
Mjc4YWZmMzI3MGYwYzZkZmI2Yjc1MmU0NmRmMjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NvbnNvbGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5pZGwK
QEAgLTUxLDggKzUxLDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIFtDdXN0b21dIHZvaWQg
cHJvZmlsZUVuZChpbiBET01TdHJpbmcgdGl0bGUpOwogI2VuZGlmCiAKLSAgICAgICAgdm9pZCB0
aW1lKGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0
cmluZyxPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIHRpdGxlKTsKLSAg
ICAgICAgW0N1c3RvbUFyZ3VtZW50SGFuZGxpbmddIHZvaWQgdGltZUVuZChpbiBbVHJlYXROdWxs
QXM9RW1wdHlTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyB0
aXRsZSk7CisgICAgICAgIHZvaWQgdGltZShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJl
YXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nLE9wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBE
T01TdHJpbmcgdGl0bGUpOworICAgICAgICBbQ3VzdG9tQXJndW1lbnRIYW5kbGluZ10gdm9pZCB0
aW1lRW5kKGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxT
dHJpbmddIERPTVN0cmluZyB0aXRsZSk7CiAgICAgICAgIFtDdXN0b21Bcmd1bWVudEhhbmRsaW5n
XSB2b2lkIHRpbWVTdGFtcCgpOwogICAgICAgICBbQ3VzdG9tQXJndW1lbnRIYW5kbGluZ10gdm9p
ZCBncm91cCgpOwogICAgICAgICBbQ3VzdG9tQXJndW1lbnRIYW5kbGluZ10gdm9pZCBncm91cENv
bGxhcHNlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRs
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDZhYTM1Nzc4MTI0MmZk
M2NkNWY5MjVlM2YyMWNiNWIyNjIzNjY3ZTIuLjM4ZTU5YjU1NzBhNjI4ZDUxMDdjM2E1NTIzYzA0
NjQzOWE1MjdjMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTgxLDcgKzgxLDcg
QEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQgYWxlcnQoaW4gW09wdGlvbmFsPUNhbGxX
aXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgbWVzc2FnZSk7CiAgICAgICAgIGJvb2xlYW4gY29u
ZmlybShpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBtZXNzYWdl
KTsKICAgICAgICAgW0NvbnZlcnROdWxsU3RyaW5nVG89TnVsbF0gRE9NU3RyaW5nIHByb21wdChp
biBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBtZXNzYWdlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtUcmVh
dE51bGxBcz1FbXB0eVN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1FbXB0eVN0cmluZyxPcHRpb25h
bD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIGRlZmF1bHRWYWx1ZSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW1RyZWF0TnVs
bEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZyxPcHRpb25hbD1DYWxs
V2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIGRlZmF1bHRWYWx1ZSk7CiAKICAgICAgICAgYm9v
bGVhbiBmaW5kKGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIHN0
cmluZywKICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRW
YWx1ZV0gYm9vbGVhbiBjYXNlU2Vuc2l0aXZlLApAQCAtMTQ3LDcgKzE0Nyw3IEBAIG1vZHVsZSB3
aW5kb3cgewogCiAgICAgICAgIC8vIERPTSBMZXZlbCAyIFN0eWxlIEludGVyZmFjZQogICAgICAg
ICBDU1NTdHlsZURlY2xhcmF0aW9uIGdldENvbXB1dGVkU3R5bGUoaW4gW09wdGlvbmFsPUNhbGxX
aXRoRGVmYXVsdFZhbHVlXSBFbGVtZW50IGVsZW1lbnQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmcsIFRyZWF0
VW5kZWZpbmVkQXM9RW1wdHlTdHJpbmcsT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERP
TVN0cmluZyBwc2V1ZG9FbGVtZW50KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFz
PU51bGxTdHJpbmcsT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBwc2V1
ZG9FbGVtZW50KTsKIAogICAgICAgICAvLyBXZWJLaXQgZXh0ZW5zaW9ucwogI2lmIGRlZmluZWQo
TEFOR1VBR0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVNDUklQVApAQCAtMjI4LDkgKzIy
OCw5IEBAIG1vZHVsZSB3aW5kb3cgewogI2VuZGlmCiAKICAgICAgICAgLy8gQmFzZTY0Ci0gICAg
ICAgIERPTVN0cmluZyBhdG9iKGluIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZyxPcHRpb25hbD1D
YWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIHN0cmluZykKKyAgICAgICAgRE9NU3RyaW5n
IGF0b2IoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0
VmFsdWVdIERPTVN0cmluZyBzdHJpbmcpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9u
KTsKLSAgICAgICAgRE9NU3RyaW5nIGJ0b2EoaW4gW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLE9w
dGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgc3RyaW5nKQorICAgICAgICBE
T01TdHJpbmcgYnRvYShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxPcHRpb25hbD1DYWxsV2l0
aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIHN0cmluZykKICAgICAgICAgICAgIHJhaXNlcyhET01F
eGNlcHRpb24pOwogCiAgICAgICAgIC8vIEV2ZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9TdG9yYWdlRXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9y
YWdlRXZlbnQuaWRsCmluZGV4IGZjY2JiODE2YWUxM2NhYTAyZTZkMjRjMWI4MTdlM2Q1YTZiMzRi
YzUuLjY0MTRmY2YxMWYwYjEwZmZkOGUyOThlMDk4NjM3NmU1ZGRlZTI1ZDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUV2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL1N0b3JhZ2VFdmVudC5pZGwKQEAgLTM4LDggKzM4LDggQEAgbW9kdWxlIHN0
b3JhZ2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPUNhbGxX
aXRoRGVmYXVsdFZhbHVlXSBib29sZWFuIGNhbkJ1YmJsZUFyZywgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIGJvb2xlYW4g
Y2FuY2VsYWJsZUFyZywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9u
YWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBrZXlBcmcsIAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlLFRyZWF0
TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgb2xkVmFsdWVBcmcsIAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlLFRyZWF0
TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgbmV3VmFsdWVBcmcsIAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlLFRyZWF0
TnVsbEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBvbGRWYWx1ZUFyZywgCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWUsVHJlYXRO
dWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIG5ld1ZhbHVlQXJnLCAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3Ry
aW5nIHVybEFyZywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9
Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIFN0b3JhZ2Ugc3RvcmFnZUFyZWFBcmcpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5nbGUuaWRsIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FuZ2xlLmlkbAppbmRleCA2MWVjNjM0OGM4NjAxOWJiNzE5MzEyZjBjYmQ3ZTczM2FhM2E5
ZWZkLi4yNGFiNjJmODllMmFlMTE4ZWRkZmNhNDliNzA2MmJhMjg3ZTg5ZDU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5nbGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmdsZS5pZGwKQEAgLTM2LDcgKzM2LDcgQEAgbW9kdWxlIHN2ZyB7CiAgICAgICAgIGF0
dHJpYnV0ZSBbU3RyaWN0VHlwZUNoZWNraW5nXSBmbG9hdCB2YWx1ZTsKICAgICAgICAgYXR0cmli
dXRlIFtTdHJpY3RUeXBlQ2hlY2tpbmddIGZsb2F0IHZhbHVlSW5TcGVjaWZpZWRVbml0czsKIAot
ICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgdmFs
dWVBc1N0cmluZworICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIERP
TVN0cmluZyB2YWx1ZUFzU3RyaW5nCiAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2Vw
dGlvbik7CiAKICAgICAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCBuZXdWYWx1ZVNwZWNp
ZmllZFVuaXRzKGluIHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlLCBpbiBmbG9hdCB2YWx1ZUluU3Bl
Y2lmaWVkVW5pdHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5pZGwKaW5kZXggMjFjNzAwY2I1Yzg5
ZmMxNWI3ZWZkYjlmODc1ZDhjMzEyNWU1ZmFiOS4uNzdiYmE4NmYzNjEzMWM3OWNlZjYwN2E5MjUx
YmMxYjEzYTczMDgzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmlkbApAQCAtMjcsNyArMjcs
NyBAQCBtb2R1bGUgc3ZnIHsKICAgICAgICAgQ29uZGl0aW9uYWw9U1ZHCiAgICAgXSBTVkdFbGVt
ZW50IDogRWxlbWVudCB7CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGlk
OwotICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcg
eG1sYmFzZSBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIGF0dHJpYnV0ZSBb
VHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIHhtbGJhc2Ugc2V0dGVyIHJhaXNlcyhE
T01FeGNlcHRpb24pOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHU1ZHRWxlbWVudCBv
d25lclNWR0VsZW1lbnQ7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdFbGVtZW50IHZp
ZXdwb3J0RWxlbWVudDsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0xlbmd0aC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmlkbAppbmRleCBmOWFm
N2RlOWM1OWQzMWI0YWU5NTNmNTBjYzhiOWQ5NTA5ZTVhMjRiLi5hNWM5NTJkZmNhYTk3NWZiMzJk
Yzk0N2MxOGEzNzJkZDUzNDc5YTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
TGVuZ3RoLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmlkbApAQCAtNDQs
NyArNDQsNyBAQCBtb2R1bGUgc3ZnIHsKICAgICAgICAgICAgIGdldHRlciByYWlzZXMoRE9NRXhj
ZXB0aW9uKTsKIAogICAgICAgICBhdHRyaWJ1dGUgW1N0cmljdFR5cGVDaGVja2luZ10gZmxvYXQg
dmFsdWVJblNwZWNpZmllZFVuaXRzOwotICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVt
cHR5U3RyaW5nLCBTdHJpY3RUeXBlQ2hlY2tpbmddIERPTVN0cmluZyB2YWx1ZUFzU3RyaW5nCisg
ICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgU3RyaWN0VHlwZUNoZWNr
aW5nXSBET01TdHJpbmcgdmFsdWVBc1N0cmluZwogICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhE
T01FeGNlcHRpb24pOwogCiAgICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgbmV3VmFs
dWVTcGVjaWZpZWRVbml0cyhpbiB1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSwgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5pZGwKaW5kZXggYjUyNDRlNjVjYjM3MDJmM2RlYzliMmIz
ZTM3NTIzMDJiZGQzNmJiYi4uMTExZWU1OWFmYTkwOTliNjdjZDc1ZTYxN2JlMDdkODQwZTZiZDdh
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50LmlkbApAQCAtMzAsNyArMzAs
NyBAQCBtb2R1bGUgc3ZnIHsKICAgICBdIFNWR1NjcmlwdEVsZW1lbnQgOiBTVkdFbGVtZW50LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1ZHVVJJ
UmVmZXJlbmNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7Ci0gICAgICAgICAgICAgICAgIGF0
dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyB0eXBlCisgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIHR5
cGUKICAgICAgICAgICAgICAgICAgICAgIC8qc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pKi87
CiAgICAgfTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>