<?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>106212</bug_id>
          
          <creation_ts>2013-01-07 00:57:53 -0800</creation_ts>
          <short_desc>INPUT_MULTIPLE_FIELDS_UI: Step-up/-down of month/day field should respect min/max attributes</short_desc>
          <delta_ts>2013-01-08 00:29:38 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>All</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>
          <dependson>106311</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Kunihiko Sakamoto">ksakamoto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>801191</commentid>
    <comment_count>0</comment_count>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2013-01-07 00:57:53 -0800</bug_when>
    <thetext>For example, consider this input:
&lt;input type=date min=2012-10-20 max=2012-10-30&gt;
We can make the month field read-only with value=10, and limit the day field range to 20-30.

Currently only year-field limits its range by min/max. We would like to implement this for month and day fields too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801202</commentid>
    <comment_count>1</comment_count>
      <attachid>181487</attachid>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2013-01-07 01:14:47 -0800</bug_when>
    <thetext>Created attachment 181487
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801210</commentid>
    <comment_count>2</comment_count>
      <attachid>181487</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-07 02:14:21 -0800</bug_when>
    <thetext>Comment on attachment 181487
Patch

Attachment 181487 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15732687

New failing tests:
inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801214</commentid>
    <comment_count>3</comment_count>
      <attachid>181487</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-01-07 02:36:12 -0800</bug_when>
    <thetext>Comment on attachment 181487
Patch

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

The code change looks good.  Some nits.

&gt; Source/WebCore/html/shadow/DateTimeEditElement.cpp:221
&gt; +    case DateTimeFormat::FieldTypeMonthStandAlone: {
&gt; +        int minMonth = 0, maxMonth = 11;
&gt; +        if (m_parameters.minimum.type() != DateComponents::Invalid
&gt; +            &amp;&amp; m_parameters.maximum.type() != DateComponents::Invalid
&gt; +            &amp;&amp; m_parameters.minimum.fullYear() == m_parameters.maximum.fullYear()
&gt; +            &amp;&amp; m_parameters.minimum.month() &lt;= m_parameters.maximum.month()) {
&gt; +            minMonth = m_parameters.minimum.month();
&gt; +            maxMonth = m_parameters.maximum.month();
&gt; +        }
&gt; +        RefPtr&lt;DateTimeFieldElement&gt; field;

There are a lot of duplicated code in the FieldTypeMonth case and the FieldTypeMonthStandAlone case.  We had better merge them.
e.g.  ...::create(document, m_editElement, fieldType == DateTimeFormat::FieldTypeMonth ? m_parameters.locale.shortMonthLabels() : m_parameters.locale.shortStandAloneMonthLabels(), minMonth, maxMonth);

&gt; Source/WebCore/html/shadow/DateTimeFieldElements.h:64
&gt; +    // DateTimeNumericFieldElement functions.

functions -&gt; function

&gt; Source/WebCore/html/shadow/DateTimeFieldElements.h:137
&gt; +    // DateTimeNumericFieldElement functions.

Ditto.

&gt; Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.h:77
&gt; +    const int m_minIndex;
&gt; +    const int m_maxIndex;

should not be abbreviations.
  m_minIndex -&gt; m_minimumIndex
  m_maxIndex -&gt; m_maximumIndex

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html:49
&gt; +shouldBeTrue(&apos;isReadOnlyField(createDateInput(&quot;2012-12-01&quot;, &quot;2012-12-31&quot;, &quot;&quot;), pseudoMonth)&apos;);
&gt; +shouldBeFalse(&apos;isReadOnlyField(createDateInput(&quot;2012-11-01&quot;, &quot;2013-12-31&quot;, &quot;&quot;), pseudoMonth)&apos;);
&gt; +shouldBeFalse(&apos;isReadOnlyField(createDateInput(&quot;2012-12-01&quot;, &quot;2013-12-31&quot;, &quot;&quot;), pseudoMonth)&apos;);

should add out-of-range value case such as createDateInput(&quot;2012-12-01&quot;, &quot;2012-12-31&quot;, &quot;2012-11-30&quot;).

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html:59
&gt; +shouldBeTrue(&apos;isReadOnlyField(createDateInput(&quot;2012-12-17&quot;, &quot;2012-12-17&quot;, &quot;&quot;), pseudoDay)&apos;);
&gt; +shouldBeFalse(&apos;isReadOnlyField(createDateInput(&quot;2012-12-17&quot;, &quot;2013-12-18&quot;, &quot;&quot;), pseudoDay)&apos;);
&gt; +shouldBeFalse(&apos;isReadOnlyField(createDateInput(&quot;2012-11-17&quot;, &quot;2012-12-17&quot;, &quot;&quot;), pseudoDay)&apos;);
&gt; +shouldBeFalse(&apos;isReadOnlyField(createDateInput(&quot;2012-12-17&quot;, &quot;2013-12-17&quot;, &quot;&quot;), pseudoDay)&apos;);

Ditto.

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html:11
&gt; +if (window.internals)
&gt; +    internals.settings.setLangAttributeAwareFormControlUIEnabled(true);

Looks unnecessary.

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html:20
&gt; +function keyDown(key, modifiers)
&gt; +{

Style is inconsistent.  You put &quot;{&quot; on the same line as &quot;function&quot; in other functions.

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html:22
&gt; +    if (!window.eventSender)
&gt; +        return;

You had better warn the lack of eventSender at the beginning of the test rather than ignoring eventSender.keyDown.
We sometimes load a layout test with a real browser, and if the test doesn&apos;t work on the browser, we need to investigate the reason.

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html:27
&gt; +    input.value = input.min = input.max = null;

Is this needed?

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html:58
&gt; +shouldBeEqualToString(&apos;stepUp(&quot;2000-05-01&quot;, null, null)&apos;, &apos;2000-06-01&apos;);
&gt; +shouldBeEqualToString(&apos;stepDown(&quot;2000-05-01&quot;, null, null)&apos;, &apos;2000-04-01&apos;);
&gt; +shouldBeEqualToString(&apos;stepUp(&quot;2000-12-01&quot;, null, null)&apos;, &apos;2000-01-01&apos;);
&gt; +shouldBeEqualToString(&apos;stepDown(&quot;2000-01-01&quot;, null, null)&apos;, &apos;2000-12-01&apos;);
&gt; +shouldBeEqualToString(&apos;test(&quot;2000-05-01&quot;, null, null, [&quot;upArrow&quot;, &quot;upArrow&quot;, &quot;upArrow&quot;])&apos;, &apos;2000-08-01&apos;);
&gt; +shouldBeEqualToString(&apos;test(&quot;2000-05-01&quot;, null, null, [&quot;downArrow&quot;, &quot;downArrow&quot;, &quot;downArrow&quot;])&apos;, &apos;2000-02-01&apos;);
&gt; +shouldBeEqualToString(&apos;test(&quot;2000-05-01&quot;, null, null, [&quot;delete&quot;, &quot;upArrow&quot;])&apos;, &apos;2000-01-01&apos;);
&gt; +shouldBeEqualToString(&apos;test(&quot;2000-05-01&quot;, null, null, [&quot;delete&quot;, &quot;downArrow&quot;])&apos;, &apos;2000-12-01&apos;);

They look duplications of date-multiple-fields-keyboard-events.html.
We should remove them from this test, or merge everything to date-multiple-fields-keyboard-events.html.

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html:116
&gt; +document.body.removeChild(input);

input.remove() is enough.

&gt; LayoutTests/fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield-expected.txt:24
&gt; +PASS isReadOnlyField(createMonthInput(&quot;2012-12&quot;, &quot;2012-12&quot;, &quot;&quot;), pseudoMonth) is true
&gt; +PASS isReadOnlyField(createMonthInput(&quot;2012-11&quot;, &quot;2013-12&quot;, &quot;&quot;), pseudoMonth) is false
&gt; +PASS isReadOnlyField(createMonthInput(&quot;2012-12&quot;, &quot;2013-12&quot;, &quot;&quot;), pseudoMonth) is false

should add out-of-range month value cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801994</commentid>
    <comment_count>4</comment_count>
      <attachid>181631</attachid>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2013-01-07 21:24:26 -0800</bug_when>
    <thetext>Created attachment 181631
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801998</commentid>
    <comment_count>5</comment_count>
      <attachid>181487</attachid>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2013-01-07 21:31:54 -0800</bug_when>
    <thetext>Comment on attachment 181487
Patch

Thanks for the review.
All done, please take another look.


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

&gt;&gt; Source/WebCore/html/shadow/DateTimeEditElement.cpp:221
&gt;&gt; +        RefPtr&lt;DateTimeFieldElement&gt; field;
&gt; 
&gt; There are a lot of duplicated code in the FieldTypeMonth case and the FieldTypeMonthStandAlone case.  We had better merge them.
&gt; e.g.  ...::create(document, m_editElement, fieldType == DateTimeFormat::FieldTypeMonth ? m_parameters.locale.shortMonthLabels() : m_parameters.locale.shortStandAloneMonthLabels(), minMonth, maxMonth);

Done.

&gt;&gt; Source/WebCore/html/shadow/DateTimeFieldElements.h:64
&gt;&gt; +    // DateTimeNumericFieldElement functions.
&gt; 
&gt; functions -&gt; function

Done.

&gt;&gt; Source/WebCore/html/shadow/DateTimeFieldElements.h:137
&gt;&gt; +    // DateTimeNumericFieldElement functions.
&gt; 
&gt; Ditto.

Done.

&gt;&gt; Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.h:77
&gt;&gt; +    const int m_maxIndex;
&gt; 
&gt; should not be abbreviations.
&gt;   m_minIndex -&gt; m_minimumIndex
&gt;   m_maxIndex -&gt; m_maximumIndex

Done.

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html:49
&gt;&gt; +shouldBeFalse(&apos;isReadOnlyField(createDateInput(&quot;2012-12-01&quot;, &quot;2013-12-31&quot;, &quot;&quot;), pseudoMonth)&apos;);
&gt; 
&gt; should add out-of-range value case such as createDateInput(&quot;2012-12-01&quot;, &quot;2012-12-31&quot;, &quot;2012-11-30&quot;).

Done.

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html:59
&gt;&gt; +shouldBeFalse(&apos;isReadOnlyField(createDateInput(&quot;2012-12-17&quot;, &quot;2013-12-17&quot;, &quot;&quot;), pseudoDay)&apos;);
&gt; 
&gt; Ditto.

Done.

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html:11
&gt;&gt; +    internals.settings.setLangAttributeAwareFormControlUIEnabled(true);
&gt; 
&gt; Looks unnecessary.

Removed.

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html:20
&gt;&gt; +{
&gt; 
&gt; Style is inconsistent.  You put &quot;{&quot; on the same line as &quot;function&quot; in other functions.

Done.

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html:22
&gt;&gt; +        return;
&gt; 
&gt; You had better warn the lack of eventSender at the beginning of the test rather than ignoring eventSender.keyDown.
&gt; We sometimes load a layout test with a real browser, and if the test doesn&apos;t work on the browser, we need to investigate the reason.

Done.

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html:27
&gt;&gt; +    input.value = input.min = input.max = null;
&gt; 
&gt; Is this needed?

Removed.

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html:58
&gt;&gt; +shouldBeEqualToString(&apos;test(&quot;2000-05-01&quot;, null, null, [&quot;delete&quot;, &quot;downArrow&quot;])&apos;, &apos;2000-12-01&apos;);
&gt; 
&gt; They look duplications of date-multiple-fields-keyboard-events.html.
&gt; We should remove them from this test, or merge everything to date-multiple-fields-keyboard-events.html.

Ah, I see.
Removed the test cases with min=max=null from this file.

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html:116
&gt;&gt; +document.body.removeChild(input);
&gt; 
&gt; input.remove() is enough.

Done.

&gt;&gt; LayoutTests/fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield-expected.txt:24
&gt;&gt; +PASS isReadOnlyField(createMonthInput(&quot;2012-12&quot;, &quot;2013-12&quot;, &quot;&quot;), pseudoMonth) is false
&gt; 
&gt; should add out-of-range month value cases.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802004</commentid>
    <comment_count>6</comment_count>
      <attachid>181631</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-01-07 21:52:10 -0800</bug_when>
    <thetext>Comment on attachment 181631
Patch 2

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

&gt; Source/WebCore/html/shadow/DateTimeEditElement.cpp:200
&gt; +            const Vector&lt;String&gt;&amp; labels = fieldType == DateTimeFormat::FieldTypeMonth
&gt; +                ? (count == countForFullMonth
&gt; +                    ? m_parameters.locale.monthLabels()
&gt; +                    : m_parameters.locale.shortMonthLabels())
&gt; +                : (count == countForFullMonth
&gt; +                    ? m_parameters.locale.standAloneMonthLabels()
&gt; +                    : m_parameters.locale.shortStandAloneMonthLabels());

Nested  conditional operators are not good for code readability.
I recommend not merge count==countForFullMonth case and count==countForNarrow/AbbreviatedMonth case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802035</commentid>
    <comment_count>7</comment_count>
      <attachid>181644</attachid>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2013-01-07 22:35:55 -0800</bug_when>
    <thetext>Created attachment 181644
Patch 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802038</commentid>
    <comment_count>8</comment_count>
      <attachid>181631</attachid>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2013-01-07 22:36:30 -0800</bug_when>
    <thetext>Comment on attachment 181631
Patch 2

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

&gt;&gt; Source/WebCore/html/shadow/DateTimeEditElement.cpp:200
&gt;&gt; +                    : m_parameters.locale.shortStandAloneMonthLabels());
&gt; 
&gt; Nested  conditional operators are not good for code readability.
&gt; I recommend not merge count==countForFullMonth case and count==countForNarrow/AbbreviatedMonth case.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802040</commentid>
    <comment_count>9</comment_count>
      <attachid>181644</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-01-07 22:37:37 -0800</bug_when>
    <thetext>Comment on attachment 181644
Patch 3

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802069</commentid>
    <comment_count>10</comment_count>
      <attachid>181644</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-07 23:20:37 -0800</bug_when>
    <thetext>Comment on attachment 181644
Patch 3

Clearing flags on attachment: 181644

Committed r139036: &lt;http://trac.webkit.org/changeset/139036&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802070</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-07 23:20:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181487</attachid>
            <date>2013-01-07 01:14:47 -0800</date>
            <delta_ts>2013-01-07 21:31:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106212-20130107181151.patch</filename>
            <type>text/plain</type>
            <size>53920</size>
            <attacher name="Kunihiko Sakamoto">ksakamoto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4ODc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzU5YTQ3YjNlNjI2YzA0
MzMxZmNhMWE1MDhlODMxMzliOTdiMjYxMi4uYWRlNDRjYTgxYmE0MDM2YmVkOTNhMDMwYjc0MmEy
ZTRmZDk5ZDdhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEzLTAxLTA3ICBLdW5p
aGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSU5QVVRf
TVVMVElQTEVfRklFTERTX1VJOiBTdGVwLXVwLy1kb3duIG9mIG1vbnRoL2RheSBmaWVsZCBzaG91
bGQgcmVzcGVjdCBtaW4vbWF4IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjIxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc3RlcC11cC8tZG93biBvZiB0aGUgbW9udGggYW5k
IGRheSBmaWVsZHMgcmVzcGVjdCB0aGUgbWluL21heAorICAgICAgICBhdHRyaWJ1dGVzIG9mIHRo
ZSBlbGVtZW50LgorICAgICAgICBOb3RlIHRoYXQgdGhlc2UgZmllbGRzIHN0aWxsIGFjY2VwdCBh
bnkga2V5Ym9hcmQgaW5wdXRzICh0aGUgZWxlbWVudAorICAgICAgICBiZWNvbWVzICdpbnZhbGlk
JyBzdGF0ZSB3aGVuIG91dC1vZi1ib3VuZHMgdmFsdWVzIGVudGVyZWQpLgorCisgICAgICAgIFRl
c3RzOiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20t
cmVuZGVyZXIuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxl
LWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCisKKyAgICAgICAgKiBj
c3MvaHRtbC5jc3M6IEFkZCBDU1MgcnVsZXMgZm9yIG1vbnRoIGFuZCBkYXkgZmllbGRzLgorICAg
ICAgICAqIGh0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RGF0ZVRpbWVFZGl0QnVpbGRlcjo6dmlzaXRGaWVsZCk6CisgICAgICAgIENvbXB1dGUg
bWluaW11bS9tYXhpbXVtIHZhbHVlcyBvZiBtb250aC9kYXkgZmllbGRzIGZyb20gdGhlIG1pbi9t
YXgKKyAgICAgICAgcGFyYW1ldGVycyBvZiB0aGUgZWxlbWVudC4gSWYgbWluaW11bSwgbWF4aW11
bSwgYW5kIGN1cnJlbnQgdmFsdWUgaXMKKyAgICAgICAgdGhlIHNhbWUsIG1ha2VzIHRoZSBmaWVs
ZCByZWFkLW9ubHkuCisgICAgICAgICogaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lQU1QTUZpZWxkRWxlbWVudDo6RGF0ZVRp
bWVBTVBNRmllbGRFbGVtZW50KTogQWRkIG1pbmludW0vbWF4aW11bSBhcmd1bWVudHMuCisgICAg
ICAgIChXZWJDb3JlOjpEYXRlVGltZURheUZpZWxkRWxlbWVudDo6RGF0ZVRpbWVEYXlGaWVsZEVs
ZW1lbnQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lRGF5RmllbGRFbGVtZW50
OjpjcmVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lRGF5RmllbGRFbGVt
ZW50OjpjbGFtcFZhbHVlRm9ySGFyZExpbWl0cyk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudDo6RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudCk6IEFk
ZCBtaW5pbnVtL21heGltdW0gYXJndW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVN
b250aEZpZWxkRWxlbWVudDo6Y3JlYXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpEYXRl
VGltZU1vbnRoRmllbGRFbGVtZW50OjpjbGFtcFZhbHVlRm9ySGFyZExpbWl0cyk6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50OjpEYXRl
VGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQpOiBBZGQgbWluaW51bS9tYXhpbXVtIGFyZ3Vt
ZW50cy4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVu
dDo6Y3JlYXRlKTogRGl0dG8uCisgICAgICAgICogaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVs
ZW1lbnRzLmg6CisgICAgICAgIChEYXRlVGltZURheUZpZWxkRWxlbWVudCk6IEFkZCBtaW5pbnVt
L21heGltdW0gYXJndW1lbnRzIGFuZCBkZWNsYXJlIGNsYW1wVmFsdWVGb3JIYXJkTGltaXRzLgor
ICAgICAgICAoRGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudCk6IERpdHRvLgorICAgICAgICAoRGF0
ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50KTogQWRkIG1pbmludW0vbWF4aW11bSBhcmd1
bWVudHMuCisgICAgICAgICogaHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpE
YXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50KTogQWRkIG1pbmludW0vbWF4aW11bSBhcmd1bWVu
dHMuCisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjptYXhp
bXVtKTogUmV0dXJucyBtX21heEluZGV4ICsgMSBhcyBpdCBhc3N1bWVzIDEtb3JpZ2luIHZhbHVl
LgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudDo6bWluaW11
bSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVu
dDo6c3RlcERvd24pOiBSZXN0cmljdCB2YWx1ZSB0byBtX21pbkluZGV4LW1fbWF4SW5kZXguCisg
ICAgICAgIChXZWJDb3JlOjpEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpzdGVwVXApOiBE
aXR0by4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50
Lmg6CisgICAgICAgIChEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50KTogQWRkIG1fbWluSW5k
ZXggYW5kIG1fbWF4SW5kZXguCisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZVN5bWJvbGljRmll
bGRFbGVtZW50Ojppc0luUmFuZ2UpOiBBZGRlZC4KKwogMjAxMy0wMS0wNCAgUnlvc3VrZSBOaXdh
ICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBDaHJvbWl1bSB3aW5kb3dzIGNvbXBpbGUg
ZmFpbHMgYmVjYXVzZSBvZiB0aGUgYXNzZXJ0aW9uIGluIE5vZGVSYXJlRGF0YQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzIGIvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwu
Y3NzCmluZGV4IDBkMWIxZTlkMWM0YzMzNzQ2ZjZhMTYxYWEwMTMzNDA5NTIyMjFlYjEuLjdlNjY0
YTA5YjlhZjdiNDgzN2Y3NGJkY2UwZjczMmU2MDU3YTZmZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9odG1sLmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKQEAg
LTU4MCw2ICs1ODAsOCBAQCBpbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQ6
Zm9jdXMgewogfQogCiBpbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGRbcmVh
ZG9ubHldLAoraW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZFtyZWFkb25s
eV0sCitpbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZFtyZWFkb25seV0sCiBp
bnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWFtcG0tZmllbGRbcmVhZG9ubHldLAogaW5wdXQ6
Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkW3JlYWRvbmx5XSwKIGlucHV0Ojotd2Vi
a2l0LWRhdGV0aW1lLWVkaXQtbWlsbGlzZWNvbmQtZmllbGRbcmVhZG9ubHldLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcAppbmRleCA1
MWU2MGIwZmVkMGY4YzJlNGE0NDZkMDU2MTYyMTYwYmJjYjk5NGQ4Li44NDk3NDEyM2Y4OTc0OTM1
NGRmOTBkMDM4ZGEzZDNjZGY0YmY0ZDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcApAQCAtMTA1LDkgKzEwNSwyNCBAQCB2b2lk
IERhdGVUaW1lRWRpdEJ1aWxkZXI6OnZpc2l0RmllbGQoRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlw
ZSBmaWVsZFR5cGUsIGludCBjbwogICAgIERvY3VtZW50KiBjb25zdCBkb2N1bWVudCA9IG1fZWRp
dEVsZW1lbnQuZG9jdW1lbnQoKTsKIAogICAgIHN3aXRjaCAoZmllbGRUeXBlKSB7Ci0gICAgY2Fz
ZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlRGF5T2ZNb250aDoKLSAgICAgICAgbV9lZGl0RWxl
bWVudC5hZGRGaWVsZChEYXRlVGltZURheUZpZWxkRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCBt
X2VkaXRFbGVtZW50LCBtX3BhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JEYXkpKTsKKyAgICBjYXNl
IERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVEYXlPZk1vbnRoOiB7CisgICAgICAgIGludCBtaW5E
YXkgPSAxLCBtYXhEYXkgPSAzMTsKKyAgICAgICAgaWYgKG1fcGFyYW1ldGVycy5taW5pbXVtLnR5
cGUoKSAhPSBEYXRlQ29tcG9uZW50czo6SW52YWxpZAorICAgICAgICAgICAgJiYgbV9wYXJhbWV0
ZXJzLm1heGltdW0udHlwZSgpICE9IERhdGVDb21wb25lbnRzOjpJbnZhbGlkCisgICAgICAgICAg
ICAmJiBtX3BhcmFtZXRlcnMubWluaW11bS5mdWxsWWVhcigpID09IG1fcGFyYW1ldGVycy5tYXhp
bXVtLmZ1bGxZZWFyKCkKKyAgICAgICAgICAgICYmIG1fcGFyYW1ldGVycy5taW5pbXVtLm1vbnRo
KCkgPT0gbV9wYXJhbWV0ZXJzLm1heGltdW0ubW9udGgoKQorICAgICAgICAgICAgJiYgbV9wYXJh
bWV0ZXJzLm1pbmltdW0ubW9udGhEYXkoKSA8PSBtX3BhcmFtZXRlcnMubWF4aW11bS5tb250aERh
eSgpKSB7CisgICAgICAgICAgICBtaW5EYXkgPSBtX3BhcmFtZXRlcnMubWluaW11bS5tb250aERh
eSgpOworICAgICAgICAgICAgbWF4RGF5ID0gbV9wYXJhbWV0ZXJzLm1heGltdW0ubW9udGhEYXko
KTsKKyAgICAgICAgfQorICAgICAgICBSZWZQdHI8RGF0ZVRpbWVGaWVsZEVsZW1lbnQ+IGZpZWxk
ID0gRGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVu
dCwgbV9wYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yRGF5LCBtaW5EYXksIG1heERheSk7CisgICAg
ICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQoZmllbGQpOworICAgICAgICBpZiAobWluRGF5ID09
IG1heERheSAmJiBtaW5EYXkgPT0gbV9kYXRlVmFsdWUubW9udGhEYXkoKSkgeworICAgICAgICAg
ICAgZmllbGQtPnNldFZhbHVlQXNEYXRlKG1fZGF0ZVZhbHVlKTsKKyAgICAgICAgICAgIGZpZWxk
LT5zZXRSZWFkT25seSgpOworICAgICAgICB9CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAg
ICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVIb3VyMTE6IHsKICAgICAgICAgRGF0ZVRp
bWVOdW1lcmljRmllbGRFbGVtZW50OjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnMgPSBjcmVhdGVOdW1l
cmljRmllbGRQYXJhbWV0ZXJzKHN0YXRpY19jYXN0PGludD4obXNQZXJIb3VyKSwgc3RhdGljX2Nh
c3Q8aW50Pihtc1BlckhvdXIgKiAxMikpOwpAQCAtMTY0LDM1ICsxNzksNjUgQEAgdm9pZCBEYXRl
VGltZUVkaXRCdWlsZGVyOjp2aXNpdEZpZWxkKERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGUgZmll
bGRUeXBlLCBpbnQgY28KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGNhc2UgRGF0ZVRp
bWVGb3JtYXQ6OkZpZWxkVHlwZU1vbnRoOgorICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxk
VHlwZU1vbnRoOiB7CisgICAgICAgIGludCBtaW5Nb250aCA9IDAsIG1heE1vbnRoID0gMTE7Cisg
ICAgICAgIGlmIChtX3BhcmFtZXRlcnMubWluaW11bS50eXBlKCkgIT0gRGF0ZUNvbXBvbmVudHM6
OkludmFsaWQKKyAgICAgICAgICAgICYmIG1fcGFyYW1ldGVycy5tYXhpbXVtLnR5cGUoKSAhPSBE
YXRlQ29tcG9uZW50czo6SW52YWxpZAorICAgICAgICAgICAgJiYgbV9wYXJhbWV0ZXJzLm1pbmlt
dW0uZnVsbFllYXIoKSA9PSBtX3BhcmFtZXRlcnMubWF4aW11bS5mdWxsWWVhcigpCisgICAgICAg
ICAgICAmJiBtX3BhcmFtZXRlcnMubWluaW11bS5tb250aCgpIDw9IG1fcGFyYW1ldGVycy5tYXhp
bXVtLm1vbnRoKCkpIHsKKyAgICAgICAgICAgIG1pbk1vbnRoID0gbV9wYXJhbWV0ZXJzLm1pbmlt
dW0ubW9udGgoKTsKKyAgICAgICAgICAgIG1heE1vbnRoID0gbV9wYXJhbWV0ZXJzLm1heGltdW0u
bW9udGgoKTsKKyAgICAgICAgfQorICAgICAgICBSZWZQdHI8RGF0ZVRpbWVGaWVsZEVsZW1lbnQ+
IGZpZWxkOwogICAgICAgICBzd2l0Y2ggKGNvdW50KSB7CiAgICAgICAgIGNhc2UgY291bnRGb3JO
YXJyb3dNb250aDogLy8gRmFsbHRocm91Z2guCiAgICAgICAgIGNhc2UgY291bnRGb3JBYmJyZXZp
YXRlZE1vbnRoOgotICAgICAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChEYXRlVGltZVN5
bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwg
bV9wYXJhbWV0ZXJzLmxvY2FsZS5zaG9ydE1vbnRoTGFiZWxzKCkpKTsKKyAgICAgICAgICAgIGZp
ZWxkID0gRGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQs
IG1fZWRpdEVsZW1lbnQsIG1fcGFyYW1ldGVycy5sb2NhbGUuc2hvcnRNb250aExhYmVscygpLCBt
aW5Nb250aCwgbWF4TW9udGgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgY291
bnRGb3JGdWxsTW9udGg6Ci0gICAgICAgICAgICBtX2VkaXRFbGVtZW50LmFkZEZpZWxkKERhdGVU
aW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCBtX2VkaXRFbGVt
ZW50LCBtX3BhcmFtZXRlcnMubG9jYWxlLm1vbnRoTGFiZWxzKCkpKTsKKyAgICAgICAgICAgIGZp
ZWxkID0gRGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQs
IG1fZWRpdEVsZW1lbnQsIG1fcGFyYW1ldGVycy5sb2NhbGUubW9udGhMYWJlbHMoKSwgbWluTW9u
dGgsIG1heE1vbnRoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgotICAg
ICAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChEYXRlVGltZU1vbnRoRmllbGRFbGVtZW50
OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIG1fcGFyYW1ldGVycy5wbGFjZWhvbGRl
ckZvck1vbnRoKSk7CisgICAgICAgICAgICBmaWVsZCA9IERhdGVUaW1lTW9udGhGaWVsZEVsZW1l
bnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwgbV9wYXJhbWV0ZXJzLnBsYWNlaG9s
ZGVyRm9yTW9udGgsIG1pbk1vbnRoICsgMSwgbWF4TW9udGggKyAxKTsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICB9CisgICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQoZmllbGQpOwor
ICAgICAgICBpZiAobWluTW9udGggPT0gbWF4TW9udGggJiYgbWluTW9udGggPT0gbV9kYXRlVmFs
dWUubW9udGgoKSkgeworICAgICAgICAgICAgZmllbGQtPnNldFZhbHVlQXNEYXRlKG1fZGF0ZVZh
bHVlKTsKKyAgICAgICAgICAgIGZpZWxkLT5zZXRSZWFkT25seSgpOworICAgICAgICB9CiAgICAg
ICAgIHJldHVybjsKKyAgICB9CiAKLSAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVN
b250aFN0YW5kQWxvbmU6CisgICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTW9udGhT
dGFuZEFsb25lOiB7CisgICAgICAgIGludCBtaW5Nb250aCA9IDAsIG1heE1vbnRoID0gMTE7Cisg
ICAgICAgIGlmIChtX3BhcmFtZXRlcnMubWluaW11bS50eXBlKCkgIT0gRGF0ZUNvbXBvbmVudHM6
OkludmFsaWQKKyAgICAgICAgICAgICYmIG1fcGFyYW1ldGVycy5tYXhpbXVtLnR5cGUoKSAhPSBE
YXRlQ29tcG9uZW50czo6SW52YWxpZAorICAgICAgICAgICAgJiYgbV9wYXJhbWV0ZXJzLm1pbmlt
dW0uZnVsbFllYXIoKSA9PSBtX3BhcmFtZXRlcnMubWF4aW11bS5mdWxsWWVhcigpCisgICAgICAg
ICAgICAmJiBtX3BhcmFtZXRlcnMubWluaW11bS5tb250aCgpIDw9IG1fcGFyYW1ldGVycy5tYXhp
bXVtLm1vbnRoKCkpIHsKKyAgICAgICAgICAgIG1pbk1vbnRoID0gbV9wYXJhbWV0ZXJzLm1pbmlt
dW0ubW9udGgoKTsKKyAgICAgICAgICAgIG1heE1vbnRoID0gbV9wYXJhbWV0ZXJzLm1heGltdW0u
bW9udGgoKTsKKyAgICAgICAgfQorICAgICAgICBSZWZQdHI8RGF0ZVRpbWVGaWVsZEVsZW1lbnQ+
IGZpZWxkOwogICAgICAgICBzd2l0Y2ggKGNvdW50KSB7CiAgICAgICAgIGNhc2UgY291bnRGb3JO
YXJyb3dNb250aDogLy8gRmFsbHRocm91Z2guCiAgICAgICAgIGNhc2UgY291bnRGb3JBYmJyZXZp
YXRlZE1vbnRoOgotICAgICAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChEYXRlVGltZVN5
bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwg
bV9wYXJhbWV0ZXJzLmxvY2FsZS5zaG9ydFN0YW5kQWxvbmVNb250aExhYmVscygpKSk7CisgICAg
ICAgICAgICBmaWVsZCA9IERhdGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVudDo6Y3JlYXRl
KGRvY3VtZW50LCBtX2VkaXRFbGVtZW50LCBtX3BhcmFtZXRlcnMubG9jYWxlLnNob3J0U3RhbmRB
bG9uZU1vbnRoTGFiZWxzKCksIG1pbk1vbnRoLCBtYXhNb250aCk7CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgY2FzZSBjb3VudEZvckZ1bGxNb250aDoKLSAgICAgICAgICAgIG1fZWRpdEVs
ZW1lbnQuYWRkRmllbGQoRGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50OjpjcmVhdGUo
ZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIG1fcGFyYW1ldGVycy5sb2NhbGUuc3RhbmRBbG9uZU1v
bnRoTGFiZWxzKCkpKTsKKyAgICAgICAgICAgIGZpZWxkID0gRGF0ZVRpbWVTeW1ib2xpY01vbnRo
RmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIG1fcGFyYW1ldGVy
cy5sb2NhbGUuc3RhbmRBbG9uZU1vbnRoTGFiZWxzKCksIG1pbk1vbnRoLCBtYXhNb250aCk7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIG1fZWRpdEVs
ZW1lbnQuYWRkRmllbGQoRGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50
LCBtX2VkaXRFbGVtZW50LCBtX3BhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JNb250aCkpOworICAg
ICAgICAgICAgZmllbGQgPSBEYXRlVGltZU1vbnRoRmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1l
bnQsIG1fZWRpdEVsZW1lbnQsIG1fcGFyYW1ldGVycy5wbGFjZWhvbGRlckZvck1vbnRoLCBtaW5N
b250aCArIDEsIG1heE1vbnRoICsgMSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQor
ICAgICAgICBtX2VkaXRFbGVtZW50LmFkZEZpZWxkKGZpZWxkKTsKKyAgICAgICAgaWYgKG1pbk1v
bnRoID09IG1heE1vbnRoICYmIG1pbk1vbnRoID09IG1fZGF0ZVZhbHVlLm1vbnRoKCkpIHsKKyAg
ICAgICAgICAgIGZpZWxkLT5zZXRWYWx1ZUFzRGF0ZShtX2RhdGVWYWx1ZSk7CisgICAgICAgICAg
ICBmaWVsZC0+c2V0UmVhZE9ubHkoKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm47CisgICAg
fQogCiAgICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlUGVyaW9kOiB7CiAgICAgICAg
IFJlZlB0cjxEYXRlVGltZUZpZWxkRWxlbWVudD4gZmllbGQgPSBEYXRlVGltZUFNUE1GaWVsZEVs
ZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwgbV9wYXJhbWV0ZXJzLmxvY2Fs
ZS50aW1lQU1QTUxhYmVscygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9EYXRlVGltZUZpZWxkRWxlbWVudHMuY3BwCmluZGV4IDMxMDBkODAyYzUzMGUwNGQ0ZjliYTRj
ZDQ2MmFmYzExZmVkOGNiNDEuLmUxYmU2ODI3MWIwODJhNjRmOGY3NDZiMDFhMGIwOGRmOGE1NTVj
MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRF
bGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVs
ZEVsZW1lbnRzLmNwcApAQCAtMzYsNyArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBE
YXRlVGltZUFNUE1GaWVsZEVsZW1lbnQ6OkRhdGVUaW1lQU1QTUZpZWxkRWxlbWVudChEb2N1bWVu
dCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiBhbXBtTGFiZWxzKQotICAgIDogRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudChkb2N1bWVu
dCwgZmllbGRPd25lciwgYW1wbUxhYmVscykKKyAgICA6IERhdGVUaW1lU3ltYm9saWNGaWVsZEVs
ZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIGFtcG1MYWJlbHMsIDAsIDEpCiB7CiB9CiAKQEAg
LTcxLDE1ICs3MSwxNSBAQCB2b2lkIERhdGVUaW1lQU1QTUZpZWxkRWxlbWVudDo6c2V0VmFsdWVB
c0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZAogCiAvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAKLURhdGVUaW1lRGF5RmllbGRFbGVtZW50OjpEYXRlVGltZURh
eUZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIs
IGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIpCi0gICAgOiBEYXRlVGltZU51bWVyaWNGaWVsZEVs
ZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIDEsIDMxLCBwbGFjZWhvbGRlcikKK0RhdGVUaW1l
RGF5RmllbGRFbGVtZW50OjpEYXRlVGltZURheUZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1l
bnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIsIGlu
dCBtaW5pbXVtLCBpbnQgbWF4aW11bSkKKyAgICA6IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVu
dChkb2N1bWVudCwgZmllbGRPd25lciwgbWluaW11bSwgbWF4aW11bSwgcGxhY2Vob2xkZXIpCiB7
CiB9CiAKLVBhc3NSZWZQdHI8RGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQ+IERhdGVUaW1lRGF5Rmll
bGRFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93
bmVyLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9sZGVyKQorUGFzc1JlZlB0cjxEYXRlVGltZURheUZp
ZWxkRWxlbWVudD4gRGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9j
dW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIs
IGludCBtaW5pbXVtLCBpbnQgbWF4aW11bSkKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0
b21pY1N0cmluZywgZGF5UHN1ZWRvSWQsICgiLXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVs
ZCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBSZWZQdHI8RGF0
ZVRpbWVEYXlGaWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1lRGF5Rmll
bGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCBwbGFjZWhvbGRlci5pc0VtcHR5KCkgPyBB
U0NJSUxpdGVyYWwoIi0tIikgOiBwbGFjZWhvbGRlcikpOworICAgIFJlZlB0cjxEYXRlVGltZURh
eUZpZWxkRWxlbWVudD4gZmllbGQgPSBhZG9wdFJlZihuZXcgRGF0ZVRpbWVEYXlGaWVsZEVsZW1l
bnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIHBsYWNlaG9sZGVyLmlzRW1wdHkoKSA/IEFTQ0lJTGl0
ZXJhbCgiLS0iKSA6IHBsYWNlaG9sZGVyLCBtaW5pbXVtLCBtYXhpbXVtKSk7CiAgICAgZmllbGQt
PmluaXRpYWxpemUoZGF5UHN1ZWRvSWQsIEFYRGF5T2ZNb250aEZpZWxkVGV4dCgpKTsKICAgICBy
ZXR1cm4gZmllbGQucmVsZWFzZSgpOwogfQpAQCAtMTEwLDYgKzExMCwxMSBAQCB2b2lkIERhdGVU
aW1lRGF5RmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBE
YXRlVGltZUZpZWxkcwogICAgIHNldEVtcHR5VmFsdWUoKTsKIH0KIAoraW50IERhdGVUaW1lRGF5
RmllbGRFbGVtZW50OjpjbGFtcFZhbHVlRm9ySGFyZExpbWl0cyhpbnQgdmFsdWUpIGNvbnN0Cit7
CisgICAgcmV0dXJuIFJhbmdlKDEsIDMxKS5jbGFtcFZhbHVlKHZhbHVlKTsKK30KKwogLy8gLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBEYXRlVGltZUhvdXJGaWVsZEVsZW1lbnQ6OkRh
dGVUaW1lSG91ckZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZp
ZWxkT3duZXIsIGludCBtaW5pbXVtLCBpbnQgbWF4aW11bSwgY29uc3QgRGF0ZVRpbWVOdW1lcmlj
RmllbGRFbGVtZW50OjpQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQpAQCAtMjk5LDE1ICszMDQsMTUg
QEAgdm9pZCBEYXRlVGltZU1pbnV0ZUZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0RhdGVUaW1lRmll
bGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWUKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogCi1EYXRlVGltZU1vbnRoRmllbGRFbGVtZW50OjpEYXRlVGltZU1vbnRoRmllbGRFbGVt
ZW50KERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgU3Ry
aW5nJiBwbGFjZWhvbGRlcikKLSAgICA6IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudChkb2N1
bWVudCwgZmllbGRPd25lciwgMSwgMTIsIHBsYWNlaG9sZGVyKQorRGF0ZVRpbWVNb250aEZpZWxk
RWxlbWVudDo6RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZp
ZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIsIGludCBtaW5p
bXVtLCBpbnQgbWF4aW11bSkKKyAgICA6IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudChkb2N1
bWVudCwgZmllbGRPd25lciwgbWluaW11bSwgbWF4aW11bSwgcGxhY2Vob2xkZXIpCiB7CiB9CiAK
LVBhc3NSZWZQdHI8RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudD4gRGF0ZVRpbWVNb250aEZpZWxk
RWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25l
ciwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlcikKK1Bhc3NSZWZQdHI8RGF0ZVRpbWVNb250aEZp
ZWxkRWxlbWVudD4gRGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBk
b2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRl
ciwgaW50IG1pbmltdW0sIGludCBtYXhpbXVtKQogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwo
QXRvbWljU3RyaW5nLCBtb250aFBzdWVkb0lkLCAoIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250
aC1maWVsZCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBSZWZQ
dHI8RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudD4gZmllbGQgPSBhZG9wdFJlZihuZXcgRGF0ZVRp
bWVNb250aEZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcGxhY2Vob2xkZXIuaXNF
bXB0eSgpID8gQVNDSUlMaXRlcmFsKCItLSIpIDogcGxhY2Vob2xkZXIpKTsKKyAgICBSZWZQdHI8
RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudD4gZmllbGQgPSBhZG9wdFJlZihuZXcgRGF0ZVRpbWVN
b250aEZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcGxhY2Vob2xkZXIuaXNFbXB0
eSgpID8gQVNDSUlMaXRlcmFsKCItLSIpIDogcGxhY2Vob2xkZXIsIG1pbmltdW0sIG1heGltdW0p
KTsKICAgICBmaWVsZC0+aW5pdGlhbGl6ZShtb250aFBzdWVkb0lkLCBBWE1vbnRoRmllbGRUZXh0
KCkpOwogICAgIHJldHVybiBmaWVsZC5yZWxlYXNlKCk7CiB9CkBAIC0zMzgsNiArMzQzLDExIEBA
IHZvaWQgRGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0RhdGVUaW1lRmllbGRz
U3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsCiAgICAgc2V0RW1wdHlWYWx1ZSgpOwogfQogCitpbnQg
RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudDo6Y2xhbXBWYWx1ZUZvckhhcmRMaW1pdHMoaW50IHZh
bHVlKSBjb25zdAoreworICAgIHJldHVybiBSYW5nZSgxLCAxMikuY2xhbXBWYWx1ZSh2YWx1ZSk7
Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogRGF0ZVRpbWVTZWNvbmRG
aWVsZEVsZW1lbnQ6OkRhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVu
dCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVt
ZW50OjpQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQpAQCAtMzgxLDE1ICszOTEsMTUgQEAgdm9pZCBE
YXRlVGltZVNlY29uZEZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUo
Y29uc3QgRGF0ZVRpbWVGaWUKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1E
YXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lU3ltYm9saWNNb250aEZp
ZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiBsYWJlbHMpCi0gICAgOiBEYXRlVGltZVN5bWJvbGljRmllbGRF
bGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCBsYWJlbHMpCitEYXRlVGltZVN5bWJvbGljTW9u
dGhGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVudChEb2N1bWVu
dCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiBsYWJlbHMsIGludCBtaW5pbXVtLCBpbnQgbWF4aW11bSkKKyAgICA6IERhdGVUaW1lU3ltYm9s
aWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIGxhYmVscywgbWluaW11bSwgbWF4
aW11bSkKIHsKIH0KIAotUGFzc1JlZlB0cjxEYXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1l
bnQ+IERhdGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBk
b2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGxh
YmVscykKK1Bhc3NSZWZQdHI8RGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50PiBEYXRl
VGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQs
IEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsYWJlbHMsIGlu
dCBtaW5pbXVtLCBpbnQgbWF4aW11bSkKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21p
Y1N0cmluZywgbW9udGhQc3VlZG9JZCwgKCItd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmll
bGQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgUmVmUHRyPERh
dGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVudD4gZmllbGQgPSBhZG9wdFJlZihuZXcgRGF0
ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCBsYWJl
bHMpKTsKKyAgICBSZWZQdHI8RGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50PiBmaWVs
ZCA9IGFkb3B0UmVmKG5ldyBEYXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQoZG9jdW1l
bnQsIGZpZWxkT3duZXIsIGxhYmVscywgbWluaW11bSwgbWF4aW11bSkpOwogICAgIGZpZWxkLT5p
bml0aWFsaXplKG1vbnRoUHN1ZWRvSWQsIEFYTW9udGhGaWVsZFRleHQoKSk7CiAgICAgcmV0dXJu
IGZpZWxkLnJlbGVhc2UoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
RGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmgKaW5kZXggY2EzYmNjNTQ2MWUzMmYxMTk4OTQyNjcwYTcw
ZDgzNTQ2MjFjYThiMS4uMjBiZDgwNWQ4ZTZkNjYxM2YzZjkyNjUyMTRiNTVlNzM4YmZlZTAyMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1l
bnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1l
bnRzLmgKQEAgLTUxLDE1ICs1MSwxOCBAQCBjbGFzcyBEYXRlVGltZURheUZpZWxkRWxlbWVudCA6
IHB1YmxpYyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQgewogICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERhdGVUaW1lRGF5RmllbGRFbGVtZW50KTsKIAogcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPERhdGVUaW1lRGF5RmllbGRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqLCBGaWVs
ZE93bmVyJiwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlcik7CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8RGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCosIEZpZWxkT3duZXIm
LCBjb25zdCBTdHJpbmcmIHBsYWNlaG9sZGVyLCBpbnQgbWluaW11bSwgaW50IG1heGltdW0pOwog
CiBwcml2YXRlOgotICAgIERhdGVUaW1lRGF5RmllbGRFbGVtZW50KERvY3VtZW50KiwgRmllbGRP
d25lciYsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIpOworICAgIERhdGVUaW1lRGF5RmllbGRF
bGVtZW50KERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIs
IGludCBtaW5pbXVtLCBpbnQgbWF4aW11bSk7CiAKICAgICAvLyBEYXRlVGltZUZpZWxkRWxlbWVu
dCBmdW5jdGlvbnMuCiAgICAgdmlydHVhbCB2b2lkIHBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0
ZShEYXRlVGltZUZpZWxkc1N0YXRlJikgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCB2b2lk
IHNldFZhbHVlQXNEYXRlKGNvbnN0IERhdGVDb21wb25lbnRzJikgT1ZFUlJJREUgRklOQUw7CiAg
ICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVU
aW1lRmllbGRzU3RhdGUmKSBPVkVSUklERSBGSU5BTDsKKworICAgIC8vIERhdGVUaW1lTnVtZXJp
Y0ZpZWxkRWxlbWVudCBmdW5jdGlvbnMuCisgICAgdmlydHVhbCBpbnQgY2xhbXBWYWx1ZUZvckhh
cmRMaW1pdHMoaW50KSBjb25zdCBPVkVSUklERSBGSU5BTDsKIH07CiAKIC8vIERhdGVUaW1lSG91
ckZpZWxkRWxlbWVudCBpcyB1c2VkIGZvciBob3VyIGZpZWxkIG9mIGRhdGUgdGltZSBmb3JtYXQK
QEAgLTEyMSwxNSArMTI0LDE4IEBAIGNsYXNzIERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQgOiBw
dWJsaWMgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShEYXRlVGltZU1vbnRoRmllbGRFbGVtZW50KTsKIAogcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCosIEZp
ZWxkT3duZXImLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9sZGVyKTsKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxEYXRlVGltZU1vbnRoRmllbGRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqLCBGaWVsZE93
bmVyJiwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlciwgaW50IG1pbmltdW0sIGludCBtYXhpbXVt
KTsKIAogcHJpdmF0ZToKLSAgICBEYXRlVGltZU1vbnRoRmllbGRFbGVtZW50KERvY3VtZW50Kiwg
RmllbGRPd25lciYsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIpOworICAgIERhdGVUaW1lTW9u
dGhGaWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgU3RyaW5nJiBwbGFj
ZWhvbGRlciwgaW50IG1pbmltdW0sIGludCBtYXhpbXVtKTsKIAogICAgIC8vIERhdGVUaW1lRmll
bGRFbGVtZW50IGZ1bmN0aW9ucy4KICAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVEYXRlVGltZUZp
ZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3RhdGUmKSBPVkVSUklERSBGSU5BTDsKICAgICB2aXJ0
dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBPVkVSUklERSBG
SU5BTDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoY29u
c3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJTkFMOworCisgICAgLy8gRGF0ZVRp
bWVOdW1lcmljRmllbGRFbGVtZW50IGZ1bmN0aW9ucy4KKyAgICB2aXJ0dWFsIGludCBjbGFtcFZh
bHVlRm9ySGFyZExpbWl0cyhpbnQpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwogfTsKIAogY2xhc3Mg
RGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQgOiBwdWJsaWMgRGF0ZVRpbWVOdW1lcmljRmllbGRF
bGVtZW50IHsKQEAgLTE1MSwxMCArMTU3LDEwIEBAIGNsYXNzIERhdGVUaW1lU3ltYm9saWNNb250
aEZpZWxkRWxlbWVudCA6IHB1YmxpYyBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50IHsKICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQp
OwogCiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0ZVRpbWVTeW1ib2xpY01vbnRo
RmllbGRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgVmVjdG9y
PFN0cmluZz4mKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRlVGltZVN5bWJvbGljTW9udGhG
aWVsZEVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBWZWN0b3I8
U3RyaW5nPiYsIGludCBtaW5pbXVtLCBpbnQgbWF4aW11bSk7CiAKIHByaXZhdGU6Ci0gICAgRGF0
ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50KERvY3VtZW50KiwgRmllbGRPd25lciYsIGNv
bnN0IFZlY3RvcjxTdHJpbmc+Jik7CisgICAgRGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVt
ZW50KERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgaW50IG1p
bmltdW0sIGludCBtYXhpbXVtKTsKIAogICAgIC8vIERhdGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0
aW9ucy4KICAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVU
aW1lRmllbGRzU3RhdGUmKSBPVkVSUklERSBGSU5BTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5jcHAKaW5k
ZXggNGY1NGYxNTI5MjZkYzc4OWQ4NGZiOThkYzkzNGI0NWI0NjRlNjIxYi4uOGQ0Njg5NDNkZGQz
ODE4MDk2NjZjYmU4NTlkNDU2MjlhOTJmZTc3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5jcHAKQEAg
LTQ3LDE0ICs0NywxOSBAQCBzdGF0aWMgQXRvbWljU3RyaW5nIG1ha2VWaXNpYmxlRW1wdHlWYWx1
ZShjb25zdCBWZWN0b3I8U3RyaW5nPiYgc3ltYm9scykKICAgICByZXR1cm4gYnVpbGRlci50b0F0
b21pY1N0cmluZygpOwogfQogCi1EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpEYXRlVGlt
ZVN5bWJvbGljRmllbGRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmll
bGRPd25lciwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHN5bWJvbHMpCitEYXRlVGltZVN5bWJvbGlj
RmllbGRFbGVtZW50OjpEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50KERvY3VtZW50KiBkb2N1
bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHN5bWJv
bHMsIGludCBtaW5pbXVtLCBpbnQgbWF4aW11bSkKICAgICA6IERhdGVUaW1lRmllbGRFbGVtZW50
KGRvY3VtZW50LCBmaWVsZE93bmVyKQogICAgICwgbV9zeW1ib2xzKHN5bWJvbHMpCiAgICAgLCBt
X3Zpc2libGVFbXB0eVZhbHVlKG1ha2VWaXNpYmxlRW1wdHlWYWx1ZShzeW1ib2xzKSkKICAgICAs
IG1fc2VsZWN0ZWRJbmRleCgtMSkKICAgICAsIG1fdHlwZUFoZWFkKHRoaXMpCisgICAgLCBtX21p
bkluZGV4KG1pbmltdW0pCisgICAgLCBtX21heEluZGV4KG1heGltdW0pCiB7CiAgICAgQVNTRVJU
KCFzeW1ib2xzLmlzRW1wdHkoKSk7CisgICAgQVNTRVJUKG1fbWluSW5kZXggPj0gMCk7CisgICAg
QVNTRVJUKG1fbWF4SW5kZXggPCBzdGF0aWNfY2FzdDxpbnQ+KG1fc3ltYm9scy5zaXplKCkpKTsK
KyAgICBBU1NFUlQobV9taW5JbmRleCA8PSBtX21heEluZGV4KTsKIH0KIAogZmxvYXQgRGF0ZVRp
bWVTeW1ib2xpY0ZpZWxkRWxlbWVudDo6bWF4aW11bVdpZHRoKGNvbnN0IEZvbnQmIGZvbnQpCkBA
IC04OSwxMiArOTQsMTIgQEAgYm9vbCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpoYXNW
YWx1ZSgpIGNvbnN0CiAKIGludCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjptYXhpbXVt
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PihtX3N5bWJvbHMuc2l6ZSgp
KTsKKyAgICByZXR1cm4gbV9tYXhJbmRleCArIDE7CiB9CiAKIGludCBEYXRlVGltZVN5bWJvbGlj
RmllbGRFbGVtZW50OjptaW5pbXVtKCkgY29uc3QKIHsKLSAgICByZXR1cm4gMTsKKyAgICByZXR1
cm4gbV9taW5JbmRleCArIDE7CiB9CiAKIHZvaWQgRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVu
dDo6c2V0RW1wdHlWYWx1ZShFdmVudEJlaGF2aW9yIGV2ZW50QmVoYXZpb3IpCkBAIC0xMTMsMTQg
KzExOCwyMSBAQCB2b2lkIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNJ
bnRlZ2VyKGludCBuZXdTZWxlY3RlZEluZGV4LCBFdmVudAogCiB2b2lkIERhdGVUaW1lU3ltYm9s
aWNGaWVsZEVsZW1lbnQ6OnN0ZXBEb3duKCkKIHsKLSAgICBjb25zdCBpbnQgc2l6ZSA9IG1fc3lt
Ym9scy5zaXplKCk7Ci0gICAgbV9zZWxlY3RlZEluZGV4ID0gaGFzVmFsdWUoKSA/IChtX3NlbGVj
dGVkSW5kZXggKyBzaXplIC0gMSkgJSBzaXplIDogc2l6ZSAtIDE7CisgICAgaWYgKGhhc1ZhbHVl
KCkpIHsKKyAgICAgICAgaWYgKCFpc0luUmFuZ2UoLS1tX3NlbGVjdGVkSW5kZXgpKQorICAgICAg
ICAgICAgbV9zZWxlY3RlZEluZGV4ID0gbV9tYXhJbmRleDsKKyAgICB9IGVsc2UKKyAgICAgICAg
bV9zZWxlY3RlZEluZGV4ID0gbV9tYXhJbmRleDsKICAgICB1cGRhdGVWaXNpYmxlVmFsdWUoRGlz
cGF0Y2hFdmVudCk7CiB9CiAKIHZvaWQgRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudDo6c3Rl
cFVwKCkKIHsKLSAgICBtX3NlbGVjdGVkSW5kZXggPSBoYXNWYWx1ZSgpID8gKG1fc2VsZWN0ZWRJ
bmRleCArIDEpICUgbV9zeW1ib2xzLnNpemUoKSA6IDA7CisgICAgaWYgKGhhc1ZhbHVlKCkpIHsK
KyAgICAgICAgaWYgKCFpc0luUmFuZ2UoKyttX3NlbGVjdGVkSW5kZXgpKQorICAgICAgICAgICAg
bV9zZWxlY3RlZEluZGV4ID0gbV9taW5JbmRleDsKKyAgICB9IGVsc2UKKyAgICAgICAgbV9zZWxl
Y3RlZEluZGV4ID0gbV9taW5JbmRleDsKICAgICB1cGRhdGVWaXNpYmxlVmFsdWUoRGlzcGF0Y2hF
dmVudCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVU
aW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaAppbmRleCA2OGYxZTI5OTBjMTM0MDk3MWI3NzY2
NWY2NTU3NjJmMjUzYzIzYjc0Li4yZjZiZjkxNGEyZTU2ZDQ4ZDE3NTE0ZmE1MDFhNDc2NjIwOTkx
Nzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZVN5bWJv
bGljRmllbGRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRp
bWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5oCkBAIC0zOCw3ICszOCw3IEBAIGNsYXNzIERhdGVUaW1l
U3ltYm9saWNGaWVsZEVsZW1lbnQgOiBwdWJsaWMgRGF0ZVRpbWVGaWVsZEVsZW1lbnQsIHB1Ymxp
YyBUeXBlQWhlCiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0ZVRpbWVTeW1ib2xpY0ZpZWxk
RWxlbWVudCk7CiAKIHByb3RlY3RlZDoKLSAgICBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50
KERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7CisgICAgRGF0
ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudChEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBW
ZWN0b3I8U3RyaW5nPiYsIGludCBtaW5pbXVtLCBpbnQgbWF4aW11bSk7CiAgICAgc2l6ZV90IHN5
bWJvbHNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9zeW1ib2xzLnNpemUoKTsgfQogICAgIHZpcnR1
YWwgYm9vbCBoYXNWYWx1ZSgpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwogICAgIHZpcnR1YWwgdm9p
ZCBzZXRFbXB0eVZhbHVlKEV2ZW50QmVoYXZpb3IgPSBEaXNwYXRjaE5vRXZlbnQpIE9WRVJSSURF
IEZJTkFMOwpAQCAtNDksNiArNDksNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBpbnQg
aW52YWxpZEluZGV4ID0gLTE7CiAKICAgICBTdHJpbmcgdmlzaWJsZUVtcHR5VmFsdWUoKSBjb25z
dDsKKyAgICBib29sIGlzSW5SYW5nZShpbnQgaW5kZXgpIGNvbnN0IHsgcmV0dXJuIGluZGV4ID49
IG1fbWluSW5kZXggJiYgaW5kZXggPD0gbV9tYXhJbmRleDsgfQogCiAgICAgLy8gRGF0ZVRpbWVG
aWVsZEVsZW1lbnQgZnVuY3Rpb25zLgogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVLZXlib2FyZEV2
ZW50KEtleWJvYXJkRXZlbnQqKSBPVkVSUklERSBGSU5BTDsKQEAgLTcyLDYgKzczLDggQEAgcHJp
dmF0ZToKICAgICBjb25zdCBBdG9taWNTdHJpbmcgbV92aXNpYmxlRW1wdHlWYWx1ZTsKICAgICBp
bnQgbV9zZWxlY3RlZEluZGV4OwogICAgIFR5cGVBaGVhZCBtX3R5cGVBaGVhZDsKKyAgICBjb25z
dCBpbnQgbV9taW5JbmRleDsKKyAgICBjb25zdCBpbnQgbV9tYXhJbmRleDsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5ZDY5ODk4ZjUzZmQ3ZjkzODhmN2M4MTZjNDhjOWEy
Njk1MzAwZTMxLi4xMDg1MGE1ZTU0NjhiNTgwNTVmNzBlYzNkNzgxNDE1ZWQ0MTIxNjZmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMDEtMDcgIEt1bmloaWtvIFNha2Ftb3RvICA8a3Nha2Ft
b3RvQGNocm9taXVtLm9yZz4KKworICAgICAgICBJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUk6IFN0
ZXAtdXAvLWRvd24gb2YgbW9udGgvZGF5IGZpZWxkIHNob3VsZCByZXNwZWN0IG1pbi9tYXggYXR0
cmlidXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTA2MjEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXJl
YWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUt
bXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0
bWw6IEFkZCB0ZXN0cyBmb3IgbW9udGggYW5kIGRheSBmaWVsZHMuCisgICAgICAgICogZmFzdC9m
b3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3Rl
cGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0
ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9t
b250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZp
ZWxkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0
aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRo
LW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21v
bnRoLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sOiBB
ZGRlZC4KKwogMjAxMy0wMS0wNCAgVGVycnkgQW5kZXJzb24gIDx0ZGFuZGVyc29uQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZy4gVGVzdCBpcyBmbGFreSBvbiBM
aW51eCBhbmQgTWFjLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dAppbmRleCBi
OGYwZWUzNTlkZmE4ZTAzMmY4MDc4OWNmZjljZDU2NDM0OTA1Y2NiLi45N2VjM2NkYmEwOGI4ZjY4
OTNjNTAyYjIwYTg0MmJkYzhlOWFkNjc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1
YmZpZWxkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVs
dGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVj
dGVkLnR4dApAQCAtMTQsNiArMTQsMjMgQEAgUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0
ZUlucHV0KCIyMDEyLTAxLTAxIiwgIjIwMTItMTItMzEiLCAiIiksIHBzZXVkb1llYXIKIFBBU1Mg
aXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0wMS0wMSIsICIyMDEzLTEyLTMx
IiwgIiIpLCBwc2V1ZG9ZZWFyKSBpcyBmYWxzZQogUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRl
RGF0ZUlucHV0KCIyMDEyLTAxLTAxIiwgIjIwMTItMTItMzEiLCAiMjAxMi0wNS0zMCIpLCBwc2V1
ZG9ZZWFyKSBpcyB0cnVlCiBQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIw
MTItMDEtMDEiLCAiMjAxMi0xMi0zMSIsICIyMDEzLTAxLTAxIiksIHBzZXVkb1llYXIpIGlzIGZh
bHNlCitNb250aCBmaWVsZDoKK1BBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgi
IiwgIiIsICIiKSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChj
cmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMTciLCAiIiwgIiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFs
c2UKK1BBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIjIwMTItMTItMTci
LCAiIiksIHBzZXVkb01vbnRoKSBpcyBmYWxzZQorUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRl
RGF0ZUlucHV0KCIiLCAiIiwgIjIwMTItMTItMTciKSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCitQ
QVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMDEiLCAiMjAxMi0x
Mi0zMSIsICIiKSwgcHNldWRvTW9udGgpIGlzIHRydWUKK1BBU1MgaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZURhdGVJbnB1dCgiMjAxMi0xMS0wMSIsICIyMDEzLTEyLTMxIiwgIiIpLCBwc2V1ZG9Nb250
aCkgaXMgZmFsc2UKK1BBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0x
Mi0wMSIsICIyMDEzLTEyLTMxIiwgIiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFsc2UKK0RheSBmaWVs
ZDoKK1BBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIiIsICIiKSwgcHNl
dWRvRGF5KSBpcyBmYWxzZQorUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIy
MDEyLTEyLTE3IiwgIiIsICIiKSwgcHNldWRvRGF5KSBpcyBmYWxzZQorUEFTUyBpc1JlYWRPbmx5
RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAiMjAxMi0xMi0xNyIsICIiKSwgcHNldWRvRGF5KSBp
cyBmYWxzZQorUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAiIiwgIjIw
MTItMTItMTciKSwgcHNldWRvRGF5KSBpcyBmYWxzZQorUEFTUyBpc1JlYWRPbmx5RmllbGQoY3Jl
YXRlRGF0ZUlucHV0KCIyMDEyLTEyLTE3IiwgIjIwMTItMTItMTciLCAiIiksIHBzZXVkb0RheSkg
aXMgdHJ1ZQorUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTE3
IiwgIjIwMTMtMTItMTgiLCAiIiksIHBzZXVkb0RheSkgaXMgZmFsc2UKK1BBU1MgaXNSZWFkT25s
eUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMS0xNyIsICIyMDEyLTEyLTE3IiwgIiIpLCBw
c2V1ZG9EYXkpIGlzIGZhbHNlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQo
IjIwMTItMTItMTciLCAiMjAxMy0xMi0xNyIsICIiKSwgcHNldWRvRGF5KSBpcyBmYWxzZQogUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlw
bGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZp
ZWxkLmh0bWwKaW5kZXggNDU4MmE3YWM3MWM2MDliZTVmMTUzZTAzZTUzYTZhZGQ0OGJhNjM0Zi4u
YjUwODJlOWUzYWE4ODYyZWY5MmIyZmMyMmJkOGRlOGNjMTI3MjdhZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZp
ZWxkcy1yZWFkb25seS1zdWJmaWVsZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmll
bGQuaHRtbApAQCAtMzksNiArMzksMjUgQEAgc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxk
KGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0wMS0wMSIsICIyMDEzLTEyLTMxIiwgIiIpLAogc2hvdWxk
QmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTAxLTAxIiwgIjIw
MTItMTItMzEiLCAiMjAxMi0wNS0zMCIpLCBwc2V1ZG9ZZWFyKScpOwogc2hvdWxkQmVGYWxzZSgn
aXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0wMS0wMSIsICIyMDEyLTEyLTMx
IiwgIjIwMTMtMDEtMDEiKSwgcHNldWRvWWVhciknKTsKIAorZGVidWcoJ01vbnRoIGZpZWxkOicp
Oworc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIiIs
ICIiKSwgcHNldWRvTW9udGgpJyk7CitzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3Jl
YXRlRGF0ZUlucHV0KCIyMDEyLTEyLTE3IiwgIiIsICIiKSwgcHNldWRvTW9udGgpJyk7CitzaG91
bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAiMjAxMi0xMi0x
NyIsICIiKSwgcHNldWRvTW9udGgpJyk7CitzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlRGF0ZUlucHV0KCIiLCAiIiwgIjIwMTItMTItMTciKSwgcHNldWRvTW9udGgpJyk7Citz
aG91bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMDEi
LCAiMjAxMi0xMi0zMSIsICIiKSwgcHNldWRvTW9udGgpJyk7CitzaG91bGRCZUZhbHNlKCdpc1Jl
YWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTExLTAxIiwgIjIwMTMtMTItMzEiLCAi
IiksIHBzZXVkb01vbnRoKScpOworc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0
ZURhdGVJbnB1dCgiMjAxMi0xMi0wMSIsICIyMDEzLTEyLTMxIiwgIiIpLCBwc2V1ZG9Nb250aCkn
KTsKKworZGVidWcoJ0RheSBmaWVsZDonKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVs
ZChjcmVhdGVEYXRlSW5wdXQoIiIsICIiLCAiIiksIHBzZXVkb0RheSknKTsKK3Nob3VsZEJlRmFs
c2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMTciLCAiIiwgIiIp
LCBwc2V1ZG9EYXkpJyk7CitzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0
ZUlucHV0KCIiLCAiMjAxMi0xMi0xNyIsICIiKSwgcHNldWRvRGF5KScpOworc2hvdWxkQmVGYWxz
ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIiIsICIyMDEyLTEyLTE3Iiks
IHBzZXVkb0RheSknKTsKK3Nob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJ
bnB1dCgiMjAxMi0xMi0xNyIsICIyMDEyLTEyLTE3IiwgIiIpLCBwc2V1ZG9EYXkpJyk7CitzaG91
bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTE3Iiwg
IjIwMTMtMTItMTgiLCAiIiksIHBzZXVkb0RheSknKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVhZE9u
bHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTEtMTciLCAiMjAxMi0xMi0xNyIsICIiKSwg
cHNldWRvRGF5KScpOworc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJ
bnB1dCgiMjAxMi0xMi0xNyIsICIyMDEzLTEyLTE3IiwgIiIpLCBwc2V1ZG9EYXkpJyk7CisKIDwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24t
ZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUt
bXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9t
LXJlbmRlcmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNmZiMWI5M2NkMGUxYjVmNjA4NGQ2
Mjg1M2E0YzFmMDYzNzU2NGQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3Rl
cGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3MCBAQAorQ2hlY2sg
c3RlcHBpbmctdXAgYW5kIC1kb3duIGZvciBkYXRlIGlucHV0IGZpZWxkcyBmcm9tIHJlbmRlcmVy
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworRnVuY3Rpb24gYXJndW1lbnRzIGFy
ZSAodmFsdWUsIG1pbiwgbWF4LCBba2V5U2VxdWVuY2VdKS4KK01vbnRoCitQQVNTIHN0ZXBVcCgi
MjAwMC0wNS0wMSIsIG51bGwsIG51bGwpIGlzICIyMDAwLTA2LTAxIgorUEFTUyBzdGVwRG93bigi
MjAwMC0wNS0wMSIsIG51bGwsIG51bGwpIGlzICIyMDAwLTA0LTAxIgorUEFTUyBzdGVwVXAoIjIw
MDAtMTItMDEiLCBudWxsLCBudWxsKSBpcyAiMjAwMC0wMS0wMSIKK1BBU1Mgc3RlcERvd24oIjIw
MDAtMDEtMDEiLCBudWxsLCBudWxsKSBpcyAiMjAwMC0xMi0wMSIKK1BBU1MgdGVzdCgiMjAwMC0w
NS0wMSIsIG51bGwsIG51bGwsIFsidXBBcnJvdyIsICJ1cEFycm93IiwgInVwQXJyb3ciXSkgaXMg
IjIwMDAtMDgtMDEiCitQQVNTIHRlc3QoIjIwMDAtMDUtMDEiLCBudWxsLCBudWxsLCBbImRvd25B
cnJvdyIsICJkb3duQXJyb3ciLCAiZG93bkFycm93Il0pIGlzICIyMDAwLTAyLTAxIgorUEFTUyB0
ZXN0KCIyMDAwLTA1LTAxIiwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKSBpcyAi
MjAwMC0wMS0wMSIKK1BBU1MgdGVzdCgiMjAwMC0wNS0wMSIsIG51bGwsIG51bGwsIFsiZGVsZXRl
IiwgImRvd25BcnJvdyJdKSBpcyAiMjAwMC0xMi0wMSIKK1BBU1Mgc3RlcFVwKCIyMDAwLTA1LTAx
IiwgIjIwMDAtMDUtMDEiLCAiMjAwMC0xMC0zMSIpIGlzICIyMDAwLTA2LTAxIgorUEFTUyBzdGVw
RG93bigiMjAwMC0wNS0wMSIsICIyMDAwLTA1LTAxIiwgIjIwMDAtMTAtMzEiKSBpcyAiMjAwMC0x
MC0wMSIKK1BBU1Mgc3RlcFVwKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDItMDEiLCAiMjAwMC0wNS0z
MSIpIGlzICIyMDAwLTAyLTAxIgorUEFTUyBzdGVwRG93bigiMjAwMC0wNS0wMSIsICIyMDAwLTAy
LTAxIiwgIjIwMDAtMDUtMzEiKSBpcyAiMjAwMC0wNC0wMSIKK1BBU1Mgc3RlcFVwKCIyMDAwLTA1
LTAxIiwgIjIwMDAtMDgtMDEiLCAiMjAwMC0xMC0zMSIpIGlzICIyMDAwLTA4LTAxIgorUEFTUyBz
dGVwRG93bigiMjAwMC0wNS0wMSIsICIyMDAwLTA4LTAxIiwgIjIwMDAtMTAtMzEiKSBpcyAiMjAw
MC0xMC0wMSIKK1BBU1Mgc3RlcFVwKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDMtMDEiLCAiMjAwMC0w
My0zMSIpIGlzICIyMDAwLTAzLTAxIgorUEFTUyBzdGVwRG93bigiMjAwMC0wNS0wMSIsICIyMDAw
LTAzLTAxIiwgIjIwMDAtMDMtMzEiKSBpcyAiMjAwMC0wMy0wMSIKK1BBU1Mgc3RlcFVwKCIyMDAw
LTA1LTAxIiwgIjIwMDAtMDMtMDEiLCAiMjAwMS0wNS0zMSIpIGlzICIyMDAwLTA2LTAxIgorUEFT
UyBzdGVwRG93bigiMjAwMC0wNS0wMSIsICIyMDAwLTA1LTAxIiwgIjIwMDEtMDgtMzEiKSBpcyAi
MjAwMC0wNC0wMSIKK0RheQorUEFTUyBzdGVwVXAoIjIwMDAtMDUtMTAiLCBudWxsLCBudWxsKSBp
cyAiMjAwMC0wNS0xMSIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCBudWxsLCBudWxsKSBp
cyAiMjAwMC0wNS0wOSIKK1BBU1Mgc3RlcFVwKCIyMDAwLTA1LTMxIiwgbnVsbCwgbnVsbCkgaXMg
IjIwMDAtMDUtMDEiCitQQVNTIHN0ZXBEb3duKCIyMDAwLTA1LTAxIiwgbnVsbCwgbnVsbCkgaXMg
IjIwMDAtMDUtMzEiCitQQVNTIHRlc3QoIjIwMDAtMDUtMTAiLCBudWxsLCBudWxsLCBbInVwQXJy
b3ciLCAidXBBcnJvdyIsICJ1cEFycm93Il0pIGlzICIyMDAwLTA1LTEzIgorUEFTUyB0ZXN0KCIy
MDAwLTA1LTEwIiwgbnVsbCwgbnVsbCwgWyJkb3duQXJyb3ciLCAiZG93bkFycm93IiwgImRvd25B
cnJvdyJdKSBpcyAiMjAwMC0wNS0wNyIKK1BBU1MgdGVzdCgiMjAwMC0wNS0xMCIsIG51bGwsIG51
bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSkgaXMgIjIwMDAtMDUtMDEiCitQQVNTIHRlc3QoIjIw
MDAtMDUtMTAiLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSkgaXMgIjIwMDAt
MDUtMzEiCitQQVNTIHN0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTEwIiwgIjIwMDAtMDUt
MjAiKSBpcyAiMjAwMC0wNS0xMSIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0w
NS0xMCIsICIyMDAwLTA1LTIwIikgaXMgIjIwMDAtMDUtMjAiCitQQVNTIHN0ZXBVcCgiMjAwMC0w
NS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDUtMTAiKSBpcyAiMjAwMC0wNS0wNSIKK1BBU1Mg
c3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAwLTA1LTEwIikgaXMgIjIw
MDAtMDUtMDkiCitQQVNTIHN0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTIwIiwgIjIwMDAt
MDUtMzAiKSBpcyAiMjAwMC0wNS0yMCIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAw
MC0wNS0yMCIsICIyMDAwLTA1LTMwIikgaXMgIjIwMDAtMDUtMzAiCitQQVNTIHN0ZXBVcCgiMjAw
MC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDUtMDUiKSBpcyAiMjAwMC0wNS0wNSIKK1BB
U1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAwLTA1LTA1IikgaXMg
IjIwMDAtMDUtMDUiCitQQVNTIHN0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIw
MDEtMDUtMTAiKSBpcyAiMjAwMC0wNS0xMSIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAi
MjAwMC0wNS0xMCIsICIyMDAxLTA1LTE1IikgaXMgIjIwMDAtMDUtMDkiCitQQVNTIHN0ZXBVcCgi
MjAwMC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDYtMTAiKSBpcyAiMjAwMC0wNS0xMSIK
K1BBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0xMCIsICIyMDAwLTA2LTE1Iikg
aXMgIjIwMDAtMDUtMDkiCitZZWFyCitQQVNTIHN0ZXBVcCgiMjAwMC0wMS0wMSIsIG51bGwsIG51
bGwpIGlzICIyMDAxLTAxLTAxIgorUEFTUyBzdGVwRG93bigiMjAwMC0wMS0wMSIsIG51bGwsIG51
bGwpIGlzICIxOTk5LTAxLTAxIgorUEFTUyB0ZXN0KCIyMDAwLTAxLTAxIiwgbnVsbCwgbnVsbCwg
WyJ1cEFycm93IiwgInVwQXJyb3ciLCAidXBBcnJvdyJdKSBpcyAiMjAwMy0wMS0wMSIKK1BBU1Mg
dGVzdCgiMjAwMC0wMS0wMSIsIG51bGwsIG51bGwsIFsiZG93bkFycm93IiwgImRvd25BcnJvdyIs
ICJkb3duQXJyb3ciXSkgaXMgIjE5OTctMDEtMDEiCitQQVNTIHRlc3QoIjIwMDAtMDEtMDEiLCBu
dWxsLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pIGlzIGN1cnJlbnRZZWFyICsgIi0wMS0w
MSIKK1BBU1MgdGVzdCgiMjAwMC0wMS0wMSIsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgImRvd25B
cnJvdyJdKSBpcyBjdXJyZW50WWVhciArICItMDEtMDEiCitQQVNTIHN0ZXBVcCgiMjAwMC0wMS0w
MSIsICIyMDAwLTAxLTAxIiwgIjIwMDktMTItMzEiKSBpcyAiMjAwMS0wMS0wMSIKK1BBU1Mgc3Rl
cERvd24oIjIwMDAtMDEtMDEiLCAiMjAwMC0wMS0wMSIsICIyMDA5LTEyLTMxIikgaXMgIjIwMDkt
MDEtMDEiCitQQVNTIHN0ZXBVcCgiMjAwMC0wMS0wMSIsICIxOTkwLTAxLTAxIiwgIjIwMDAtMTIt
MzEiKSBpcyAiMTk5MC0wMS0wMSIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDEtMDEiLCAiMTk5MC0w
MS0wMSIsICIyMDAwLTEyLTMxIikgaXMgIjE5OTktMDEtMDEiCitQQVNTIHN0ZXBVcCgiMjc1NzYw
LTAxLTAxIiwgIjE5OTAtMDEtMDEiLCBudWxsKSBpcyAiMTk5MC0wMS0wMSIKK1BBU1Mgc3RlcERv
d24oIjE5OTAtMDEtMDEiLCAiMTk5MC0wMS0wMSIsIG51bGwpIGlzICIyNzU3NjAtMDEtMDEiCitQ
QVNTIHN0ZXBVcCgiMjAwMC0wMS0wMSIsIG51bGwsICIyMDAwLTEyLTMxIikgaXMgIjAwMDEtMDEt
MDEiCitQQVNTIHN0ZXBEb3duKCIwMDAxLTAxLTAxIiwgbnVsbCwgIjIwMDAtMTItMzEiKSBpcyAi
MjAwMC0wMS0wMSIKK1BBU1Mgc3RlcFVwKCIxOTkwLTAxLTAxIiwgIjIwMDAtMDEtMDEiLCAiMjAw
OS0xMi0zMSIpIGlzICIyMDAwLTAxLTAxIgorUEFTUyBzdGVwRG93bigiMTk5MC0wMS0wMSIsICIy
MDAwLTAxLTAxIiwgIjIwMDktMTItMzEiKSBpcyAiMjAwOS0wMS0wMSIKK1BBU1Mgc3RlcFVwKCIy
MDIwLTAxLTAxIiwgIjIwMDAtMDEtMDEiLCAiMjAwMC0xMi0zMSIpIGlzICIyMDAwLTAxLTAxIgor
UEFTUyBzdGVwRG93bigiMjAyMC0wMS0wMSIsICIyMDAwLTAxLTAxIiwgIjIwMDAtMTItMzEiKSBp
cyAiMjAwMC0wMS0wMSIKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVu
ZGVyZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kMjJjNGU4ZTdjNTlmMDBjYmU1M2NmODhhOThlMTU4Y2E5ZWRmMWVlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1s
CkBAIC0wLDAgKzEsMTIwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdDaGVjayBzdGVwcGluZy11cCBhbmQgLWRvd24g
Zm9yIGRhdGUgaW5wdXQgZmllbGRzIGZyb20gcmVuZGVyZXIuJyk7CitpZiAod2luZG93LmludGVy
bmFscykKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNv
bnRyb2xVSUVuYWJsZWQodHJ1ZSk7CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2lucHV0Jyk7CitpbnB1dC50eXBlID0gJ2RhdGUnOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChpbnB1dCk7CisKK3ZhciBjdXJyZW50WWVhciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIo
KTsKKworZnVuY3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykKK3sKKyAgICBpZiAoIXdpbmRv
dy5ldmVudFNlbmRlcikKKyAgICAgICAgcmV0dXJuOworICAgIGV2ZW50U2VuZGVyLmtleURvd24o
a2V5LCBtb2RpZmllcnMpOworfQorCitmdW5jdGlvbiBzZXRJbnB1dEF0dHJpYnV0ZXModmFsdWUs
IG1pbiwgbWF4KSB7CisgICAgaW5wdXQudmFsdWUgPSBpbnB1dC5taW4gPSBpbnB1dC5tYXggPSBu
dWxsOworICAgIGlucHV0LnZhbHVlID0gdmFsdWU7CisgICAgaW5wdXQubWluID0gbWluOworICAg
IGlucHV0Lm1heCA9IG1heDsKK30KKworZnVuY3Rpb24gdGVzdCh2YWx1ZSwgbWluLCBtYXgsIGtl
eVNlcXVlbmNlKSB7CisgICAgc2V0SW5wdXRBdHRyaWJ1dGVzKHZhbHVlLCBtaW4sIG1heCk7Cisg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlTZXF1ZW5jZS5sZW5ndGg7IGkrKykKKyAgICAgICAg
a2V5RG93bihrZXlTZXF1ZW5jZVtpXSk7CisgICAgcmV0dXJuIGlucHV0LnZhbHVlOworfQorCitm
dW5jdGlvbiBzdGVwVXAodmFsdWUsIG1pbiwgbWF4KSB7CisgICAgcmV0dXJuIHRlc3QodmFsdWUs
IG1pbiwgbWF4LCBbJ3VwQXJyb3cnXSk7Cit9CisKK2Z1bmN0aW9uIHN0ZXBEb3duKHZhbHVlLCBt
aW4sIG1heCkgeworICAgIHJldHVybiB0ZXN0KHZhbHVlLCBtaW4sIG1heCwgWydkb3duQXJyb3cn
XSk7Cit9CisKK2lucHV0LmZvY3VzKCk7CitkZWJ1ZygnRnVuY3Rpb24gYXJndW1lbnRzIGFyZSAo
dmFsdWUsIG1pbiwgbWF4LCBba2V5U2VxdWVuY2VdKS4nKTsKK2RlYnVnKCdNb250aCcpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUtMDEiLCBudWxsLCBudWxsKScsICcy
MDAwLTA2LTAxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1LTAx
IiwgbnVsbCwgbnVsbCknLCAnMjAwMC0wNC0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwVXAoIjIwMDAtMTItMDEiLCBudWxsLCBudWxsKScsICcyMDAwLTAxLTAxJyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTAxLTAxIiwgbnVsbCwgbnVsbCknLCAnMjAw
MC0xMi0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIyMDAwLTA1LTAxIiwgbnVs
bCwgbnVsbCwgWyJ1cEFycm93IiwgInVwQXJyb3ciLCAidXBBcnJvdyJdKScsICcyMDAwLTA4LTAx
Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjIwMDAtMDUtMDEiLCBudWxsLCBudWxs
LCBbImRvd25BcnJvdyIsICJkb3duQXJyb3ciLCAiZG93bkFycm93Il0pJywgJzIwMDAtMDItMDEn
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMjAwMC0wNS0wMSIsIG51bGwsIG51bGws
IFsiZGVsZXRlIiwgInVwQXJyb3ciXSknLCAnMjAwMC0wMS0wMScpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCd0ZXN0KCIyMDAwLTA1LTAxIiwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFy
cm93Il0pJywgJzIwMDAtMTItMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIy
MDAwLTA1LTAxIiwgIjIwMDAtMDUtMDEiLCAiMjAwMC0xMC0zMSIpJywgJzIwMDAtMDYtMDEnKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDUtMDEiLCAiMjAwMC0wNS0w
MSIsICIyMDAwLTEwLTMxIiknLCAnMjAwMC0xMC0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0wMi0wMSIsICIyMDAwLTA1LTMxIiknLCAnMjAw
MC0wMi0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNS0wMSIs
ICIyMDAwLTAyLTAxIiwgIjIwMDAtMDUtMzEiKScsICcyMDAwLTA0LTAxJyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNS0wMSIsICIyMDAwLTA4LTAxIiwgIjIwMDAtMTAt
MzEiKScsICcyMDAwLTA4LTAxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIy
MDAwLTA1LTAxIiwgIjIwMDAtMDgtMDEiLCAiMjAwMC0xMC0zMSIpJywgJzIwMDAtMTAtMDEnKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDMtMDEi
LCAiMjAwMC0wMy0zMSIpJywgJzIwMDAtMDMtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcERvd24oIjIwMDAtMDUtMDEiLCAiMjAwMC0wMy0wMSIsICIyMDAwLTAzLTMxIiknLCAnMjAw
MC0wMy0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUtMDEiLCAi
MjAwMC0wMy0wMSIsICIyMDAxLTA1LTMxIiknLCAnMjAwMC0wNi0wMScpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNS0wMSIsICIyMDAwLTA1LTAxIiwgIjIwMDEtMDgt
MzEiKScsICcyMDAwLTA0LTAxJyk7CisKK2RlYnVnKCdEYXknKTsKK2tleURvd24oJ3JpZ2h0QXJy
b3cnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1LTEwIiwgbnVsbCwg
bnVsbCknLCAnMjAwMC0wNS0xMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigi
MjAwMC0wNS0xMCIsIG51bGwsIG51bGwpJywgJzIwMDAtMDUtMDknKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcFVwKCIyMDAwLTA1LTMxIiwgbnVsbCwgbnVsbCknLCAnMjAwMC0wNS0wMScp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNS0wMSIsIG51bGwsIG51
bGwpJywgJzIwMDAtMDUtMzEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMjAwMC0w
NS0xMCIsIG51bGwsIG51bGwsIFsidXBBcnJvdyIsICJ1cEFycm93IiwgInVwQXJyb3ciXSknLCAn
MjAwMC0wNS0xMycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIyMDAwLTA1LTEwIiwg
bnVsbCwgbnVsbCwgWyJkb3duQXJyb3ciLCAiZG93bkFycm93IiwgImRvd25BcnJvdyJdKScsICcy
MDAwLTA1LTA3Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjIwMDAtMDUtMTAiLCBu
dWxsLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pJywgJzIwMDAtMDUtMDEnKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMjAwMC0wNS0xMCIsIG51bGwsIG51bGwsIFsiZGVsZXRl
IiwgImRvd25BcnJvdyJdKScsICcyMDAwLTA1LTMxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMjAiKScsICcyMDAw
LTA1LTExJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1LTEwIiwg
IjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0yMCIpJywgJzIwMDAtMDUtMjAnKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMDUiLCAiMjAwMC0wNS0x
MCIpJywgJzIwMDAtMDUtMDUnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIw
MDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAwLTA1LTEwIiknLCAnMjAwMC0wNS0wOScpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0yMCIs
ICIyMDAwLTA1LTMwIiknLCAnMjAwMC0wNS0yMCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwRG93bigiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTIwIiwgIjIwMDAtMDUtMzAiKScsICcyMDAw
LTA1LTMwJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNS0xMCIsICIy
MDAwLTA1LTA1IiwgIjIwMDAtMDUtMDUiKScsICcyMDAwLTA1LTA1Jyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMDUiLCAiMjAwMC0wNS0w
NSIpJywgJzIwMDAtMDUtMDUnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAw
LTA1LTEwIiwgIjIwMDAtMDUtMDUiLCAiMjAwMS0wNS0xMCIpJywgJzIwMDAtMDUtMTEnKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0xMCIs
ICIyMDAxLTA1LTE1IiknLCAnMjAwMC0wNS0wOScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwVXAoIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAwLTA2LTEwIiknLCAnMjAwMC0w
NS0xMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNS0xMCIsICIy
MDAwLTA1LTEwIiwgIjIwMDAtMDYtMTUiKScsICcyMDAwLTA1LTA5Jyk7CisKK2RlYnVnKCdZZWFy
Jyk7CitzZXRJbnB1dEF0dHJpYnV0ZXMobnVsbCwgbnVsbCwgbnVsbCwgbnVsbCk7CitrZXlEb3du
KCdyaWdodEFycm93Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wMS0w
MSIsIG51bGwsIG51bGwpJywgJzIwMDEtMDEtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcERvd24oIjIwMDAtMDEtMDEiLCBudWxsLCBudWxsKScsICcxOTk5LTAxLTAxJyk7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjIwMDAtMDEtMDEiLCBudWxsLCBudWxsLCBbInVwQXJy
b3ciLCAidXBBcnJvdyIsICJ1cEFycm93Il0pJywgJzIwMDMtMDEtMDEnKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygndGVzdCgiMjAwMC0wMS0wMSIsIG51bGwsIG51bGwsIFsiZG93bkFycm93Iiwg
ImRvd25BcnJvdyIsICJkb3duQXJyb3ciXSknLCAnMTk5Ny0wMS0wMScpOworc2hvdWxkQmUoJ3Rl
c3QoIjIwMDAtMDEtMDEiLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pJywgJ2N1
cnJlbnRZZWFyICsgIi0wMS0wMSInKTsKK3Nob3VsZEJlKCd0ZXN0KCIyMDAwLTAxLTAxIiwgbnVs
bCwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0pJywgJ2N1cnJlbnRZZWFyICsgIi0wMS0w
MSInKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTAxLTAxIiwgIjIwMDAt
MDEtMDEiLCAiMjAwOS0xMi0zMSIpJywgJzIwMDEtMDEtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcERvd24oIjIwMDAtMDEtMDEiLCAiMjAwMC0wMS0wMSIsICIyMDA5LTEyLTMxIikn
LCAnMjAwOS0wMS0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDEt
MDEiLCAiMTk5MC0wMS0wMSIsICIyMDAwLTEyLTMxIiknLCAnMTk5MC0wMS0wMScpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wMS0wMSIsICIxOTkwLTAxLTAxIiwgIjIw
MDAtMTItMzEiKScsICcxOTk5LTAxLTAxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBV
cCgiMjc1NzYwLTAxLTAxIiwgIjE5OTAtMDEtMDEiLCBudWxsKScsICcxOTkwLTAxLTAxJyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxOTkwLTAxLTAxIiwgIjE5OTAtMDEtMDEi
LCBudWxsKScsICcyNzU3NjAtMDEtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVw
KCIyMDAwLTAxLTAxIiwgbnVsbCwgIjIwMDAtMTItMzEiKScsICcwMDAxLTAxLTAxJyk7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwMDAxLTAxLTAxIiwgbnVsbCwgIjIwMDAtMTIt
MzEiKScsICcyMDAwLTAxLTAxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMTk5
MC0wMS0wMSIsICIyMDAwLTAxLTAxIiwgIjIwMDktMTItMzEiKScsICcyMDAwLTAxLTAxJyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIxOTkwLTAxLTAxIiwgIjIwMDAtMDEtMDEi
LCAiMjAwOS0xMi0zMSIpJywgJzIwMDktMDEtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIyMDIwLTAxLTAxIiwgIjIwMDAtMDEtMDEiLCAiMjAwMC0xMi0zMSIpJywgJzIwMDAt
MDEtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMjAtMDEtMDEiLCAi
MjAwMC0wMS0wMSIsICIyMDAwLTEyLTMxIiknLCAnMjAwMC0wMS0wMScpOworCitkZWJ1ZygnJyk7
Citkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGlucHV0KTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0
aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21v
bnRoLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uY2M2Zjc3MTZhNDMyYTM0ZGIxNWMxMzI0NGUwMzY0ODcxNjY0NjQ5ZgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21v
bnRoLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwyOCBAQAorU3ViLWZpZWxkcyBpbiBpbnB1dFt0eXBlPW1vbnRoXSBzaG91bGQgYmUgcmVh
ZC1vbmx5IGluIHNvbWUgY2FzZXMuIFRoaXMgcmVxdWlyZXMgd2luZG93LmludGVybmFscy4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2NyZWF0ZU1vbnRoSW5wdXQgYXJndW1lbnQg
b3JkZXI6IG1pbiwgbWF4LCB2YWx1ZQorCitZZWFyIGZpZWxkOgorUEFTUyBpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlTW9udGhJbnB1dCgiIiwgIiIsICIiKSwgcHNldWRvWWVhcikgaXMgZmFsc2UKK1BB
U1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMTIiLCAiIiwgIiIpLCBw
c2V1ZG9ZZWFyKSBpcyBmYWxzZQorUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1
dCgiIiwgIjIwMTItMTIiLCAiIiksIHBzZXVkb1llYXIpIGlzIGZhbHNlCitQQVNTIGlzUmVhZE9u
bHlGaWVsZChjcmVhdGVNb250aElucHV0KCIiLCAiIiwgIjIwMTItMTIiKSwgcHNldWRvWWVhcikg
aXMgZmFsc2UKK1BBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMDEi
LCAiMjAxMi0xMiIsICIiKSwgcHNldWRvWWVhcikgaXMgdHJ1ZQorUEFTUyBpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0wMSIsICIyMDEzLTEyIiwgIiIpLCBwc2V1ZG9ZZWFy
KSBpcyBmYWxzZQorUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0w
MSIsICIyMDEyLTEyIiwgIjIwMTItMDUiKSwgcHNldWRvWWVhcikgaXMgdHJ1ZQorUEFTUyBpc1Jl
YWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0wMSIsICIyMDEyLTEyIiwgIjIwMTMt
MDEiKSwgcHNldWRvWWVhcikgaXMgZmFsc2UKK01vbnRoIGZpZWxkOgorUEFTUyBpc1JlYWRPbmx5
RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiIiwgIiIsICIiKSwgcHNldWRvTW9udGgpIGlzIGZhbHNl
CitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTEyIiwgIiIsICIi
KSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250
aElucHV0KCIiLCAiMjAxMi0xMiIsICIiKSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCitQQVNTIGlz
UmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIiLCAiIiwgIjIwMTItMTIiKSwgcHNldWRv
TW9udGgpIGlzIGZhbHNlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIy
MDEyLTEyIiwgIjIwMTItMTIiLCAiIiksIHBzZXVkb01vbnRoKSBpcyB0cnVlCitQQVNTIGlzUmVh
ZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTExIiwgIjIwMTMtMTIiLCAiIiksIHBz
ZXVkb01vbnRoKSBpcyBmYWxzZQorUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1
dCgiMjAxMi0xMiIsICIyMDEzLTEyIiwgIiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFsc2UKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0
aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1z
dWJmaWVsZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjMDU5NzgwYjlhZjkyZjIyN2ZjYTQxYTk2MWY0NTE0
NmJlMWI1MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRo
LW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQu
aHRtbApAQCAtMCwwICsxLDUzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorZnVuY3Rpb24gY3JlYXRlTW9udGhJbnB1dChtaW4sIG1heCwgdmFsdWUpIHsKKyAgICB2YXIg
aW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOworICAgIGlucHV0LnR5cGUg
PSAnbW9udGgnOworICAgIGlmIChtaW4pCisgICAgICAgIGlucHV0Lm1pbiA9IG1pbjsKKyAgICBp
ZiAobWF4KQorICAgICAgICBpbnB1dC5tYXggPSBtYXg7CisgICAgaWYgKHZhbHVlKQorICAgICAg
ICBpbnB1dC52YWx1ZSA9IHZhbHVlOworICAgIHJldHVybiBpbnB1dDsKK30KKworZnVuY3Rpb24g
aXNSZWFkT25seUZpZWxkKGlucHV0LCBwc2V1ZG8pIHsKKyAgICB2YXIgbm9kZSA9IGludGVybmFs
cy55b3VuZ2VzdFNoYWRvd1Jvb3QoaW5wdXQpLnF1ZXJ5U2VsZWN0b3IoJypbcHNldWRvPSInICsg
cHNldWRvICsgJyJdJyk7CisgICAgaWYgKCFub2RlKQorICAgICAgICB0ZXN0RmFpbGVkKCdSZXF1
ZXN0ZWQgbm9kZSBpcyBtaXNzaW5nLicpOworICAgIHJldHVybiBub2RlICYmIG5vZGUuaGFzQXR0
cmlidXRlKCdyZWFkb25seScpOworfQorCit2YXIgcHNldWRvTW9udGggPSAnLXdlYmtpdC1kYXRl
dGltZS1lZGl0LW1vbnRoLWZpZWxkJzsKK3ZhciBwc2V1ZG9ZZWFyID0gJy13ZWJraXQtZGF0ZXRp
bWUtZWRpdC15ZWFyLWZpZWxkJzsKKworZGVzY3JpcHRpb24oJ1N1Yi1maWVsZHMgaW4gaW5wdXRb
dHlwZT1tb250aF0gc2hvdWxkIGJlIHJlYWQtb25seSBpbiBzb21lIGNhc2VzLiBUaGlzIHJlcXVp
cmVzIHdpbmRvdy5pbnRlcm5hbHMuJyk7CitkZWJ1ZygnY3JlYXRlTW9udGhJbnB1dCBhcmd1bWVu
dCBvcmRlcjogbWluLCBtYXgsIHZhbHVlJyk7CitkZWJ1ZygnJyk7CisKK2RlYnVnKCdZZWFyIGZp
ZWxkOicpOworc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQo
IiIsICIiLCAiIiksIHBzZXVkb1llYXIpJyk7CitzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0xMiIsICIiLCAiIiksIHBzZXVkb1llYXIpJyk7Citz
aG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiIiwgIjIwMTIt
MTIiLCAiIiksIHBzZXVkb1llYXIpJyk7CitzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlTW9udGhJbnB1dCgiIiwgIiIsICIyMDEyLTEyIiksIHBzZXVkb1llYXIpJyk7CitzaG91
bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTAxIiwgIjIw
MTItMTIiLCAiIiksIHBzZXVkb1llYXIpJyk7CitzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0wMSIsICIyMDEzLTEyIiwgIiIpLCBwc2V1ZG9ZZWFy
KScpOworc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAx
Mi0wMSIsICIyMDEyLTEyIiwgIjIwMTItMDUiKSwgcHNldWRvWWVhciknKTsKK3Nob3VsZEJlRmFs
c2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTAxIiwgIjIwMTItMTIi
LCAiMjAxMy0wMSIpLCBwc2V1ZG9ZZWFyKScpOworCitkZWJ1ZygnTW9udGggZmllbGQ6Jyk7Citz
aG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiIiwgIiIsICIi
KSwgcHNldWRvTW9udGgpJyk7CitzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRl
TW9udGhJbnB1dCgiMjAxMi0xMiIsICIiLCAiIiksIHBzZXVkb01vbnRoKScpOworc2hvdWxkQmVG
YWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIiIsICIyMDEyLTEyIiwgIiIp
LCBwc2V1ZG9Nb250aCknKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVN
b250aElucHV0KCIiLCAiIiwgIjIwMTItMTIiKSwgcHNldWRvTW9udGgpJyk7CitzaG91bGRCZVRy
dWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTEyIiwgIjIwMTItMTIi
LCAiIiksIHBzZXVkb01vbnRoKScpOworc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZU1vbnRoSW5wdXQoIjIwMTItMTEiLCAiMjAxMy0xMiIsICIiKSwgcHNldWRvTW9udGgpJyk7
CitzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0x
MiIsICIyMDEzLTEyIiwgIiIpLCBwc2V1ZG9Nb250aCknKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUt
ZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZp
ZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0MGIzNzE4MzE3ZDU5ZjFmMjM2MDcxMDUxMzhkMzg3
NmVhYzg2NDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRo
LW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZy
b20tcmVuZGVyZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDkgQEAKK0NoZWNrIHN0ZXBwaW5n
LXVwIGFuZCAtZG93biBmb3IgbW9udGggaW5wdXQgZmllbGRzIGZyb20gcmVuZGVyZXIuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1
ZSwgbWluLCBtYXgsIFtrZXlTZXF1ZW5jZV0pLgorTW9udGgKK1BBU1Mgc3RlcFVwKCIyMDAwLTA1
IiwgbnVsbCwgbnVsbCkgaXMgIjIwMDAtMDYiCitQQVNTIHN0ZXBEb3duKCIyMDAwLTA1IiwgbnVs
bCwgbnVsbCkgaXMgIjIwMDAtMDQiCitQQVNTIHN0ZXBVcCgiMjAwMC0xMiIsIG51bGwsIG51bGwp
IGlzICIyMDAwLTAxIgorUEFTUyBzdGVwRG93bigiMjAwMC0wMSIsIG51bGwsIG51bGwpIGlzICIy
MDAwLTEyIgorUEFTUyB0ZXN0KCIyMDAwLTA1IiwgbnVsbCwgbnVsbCwgWyJ1cEFycm93IiwgInVw
QXJyb3ciLCAidXBBcnJvdyJdKSBpcyAiMjAwMC0wOCIKK1BBU1MgdGVzdCgiMjAwMC0wNSIsIG51
bGwsIG51bGwsIFsiZG93bkFycm93IiwgImRvd25BcnJvdyIsICJkb3duQXJyb3ciXSkgaXMgIjIw
MDAtMDIiCitQQVNTIHRlc3QoIjIwMDAtMDUiLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFy
cm93Il0pIGlzICIyMDAwLTAxIgorUEFTUyB0ZXN0KCIyMDAwLTA1IiwgbnVsbCwgbnVsbCwgWyJk
ZWxldGUiLCAiZG93bkFycm93Il0pIGlzICIyMDAwLTEyIgorUEFTUyBzdGVwVXAoIjIwMDAtMDUi
LCAiMjAwMC0wNSIsICIyMDAwLTEwIikgaXMgIjIwMDAtMDYiCitQQVNTIHN0ZXBEb3duKCIyMDAw
LTA1IiwgIjIwMDAtMDUiLCAiMjAwMC0xMCIpIGlzICIyMDAwLTEwIgorUEFTUyBzdGVwVXAoIjIw
MDAtMDUiLCAiMjAwMC0wMiIsICIyMDAwLTA1IikgaXMgIjIwMDAtMDIiCitQQVNTIHN0ZXBEb3du
KCIyMDAwLTA1IiwgIjIwMDAtMDIiLCAiMjAwMC0wNSIpIGlzICIyMDAwLTA0IgorUEFTUyBzdGVw
VXAoIjIwMDAtMDUiLCAiMjAwMC0wOCIsICIyMDAwLTEwIikgaXMgIjIwMDAtMDgiCitQQVNTIHN0
ZXBEb3duKCIyMDAwLTA1IiwgIjIwMDAtMDgiLCAiMjAwMC0xMCIpIGlzICIyMDAwLTEwIgorUEFT
UyBzdGVwVXAoIjIwMDAtMDUiLCAiMjAwMC0wMyIsICIyMDAwLTAzIikgaXMgIjIwMDAtMDMiCitQ
QVNTIHN0ZXBEb3duKCIyMDAwLTA1IiwgIjIwMDAtMDMiLCAiMjAwMC0wMyIpIGlzICIyMDAwLTAz
IgorUEFTUyBzdGVwVXAoIjIwMDAtMDUiLCAiMjAwMC0wMyIsICIyMDAxLTA1IikgaXMgIjIwMDAt
MDYiCitQQVNTIHN0ZXBEb3duKCIyMDAwLTA1IiwgIjIwMDAtMDUiLCAiMjAwMS0wOCIpIGlzICIy
MDAwLTA0IgorWWVhcgorUEFTUyBzdGVwVXAoIjIwMDAtMDEiLCBudWxsLCBudWxsKSBpcyAiMjAw
MS0wMSIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDEiLCBudWxsLCBudWxsKSBpcyAiMTk5OS0wMSIK
K1BBU1MgdGVzdCgiMjAwMC0wMSIsIG51bGwsIG51bGwsIFsidXBBcnJvdyIsICJ1cEFycm93Iiwg
InVwQXJyb3ciXSkgaXMgIjIwMDMtMDEiCitQQVNTIHRlc3QoIjIwMDAtMDEiLCBudWxsLCBudWxs
LCBbImRvd25BcnJvdyIsICJkb3duQXJyb3ciLCAiZG93bkFycm93Il0pIGlzICIxOTk3LTAxIgor
UEFTUyB0ZXN0KCIyMDAwLTAxIiwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKSBp
cyBjdXJyZW50WWVhciArICItMDEiCitQQVNTIHRlc3QoIjIwMDAtMDEiLCBudWxsLCBudWxsLCBb
ImRlbGV0ZSIsICJkb3duQXJyb3ciXSkgaXMgY3VycmVudFllYXIgKyAiLTAxIgorUEFTUyBzdGVw
VXAoIjIwMDAtMDEiLCAiMjAwMC0wMSIsICIyMDA5LTEyIikgaXMgIjIwMDEtMDEiCitQQVNTIHN0
ZXBEb3duKCIyMDAwLTAxIiwgIjIwMDAtMDEiLCAiMjAwOS0xMiIpIGlzICIyMDA5LTAxIgorUEFT
UyBzdGVwVXAoIjIwMDAtMDEiLCAiMTk5MC0wMSIsICIyMDAwLTEyIikgaXMgIjE5OTAtMDEiCitQ
QVNTIHN0ZXBEb3duKCIyMDAwLTAxIiwgIjE5OTAtMDEiLCAiMjAwMC0xMiIpIGlzICIxOTk5LTAx
IgorUEFTUyBzdGVwVXAoIjI3NTc2MC0wMSIsICIxOTkwLTAxIiwgbnVsbCkgaXMgIjE5OTAtMDEi
CitQQVNTIHN0ZXBEb3duKCIxOTkwLTAxIiwgIjE5OTAtMDEiLCBudWxsKSBpcyAiMjc1NzYwLTAx
IgorUEFTUyBzdGVwVXAoIjIwMDAtMDEiLCBudWxsLCAiMjAwMC0xMiIpIGlzICIwMDAxLTAxIgor
UEFTUyBzdGVwRG93bigiMDAwMS0wMSIsIG51bGwsICIyMDAwLTEyIikgaXMgIjIwMDAtMDEiCitQ
QVNTIHN0ZXBVcCgiMTk5MC0wMSIsICIyMDAwLTAxIiwgIjIwMDktMTIiKSBpcyAiMjAwMC0wMSIK
K1BBU1Mgc3RlcERvd24oIjE5OTAtMDEiLCAiMjAwMC0wMSIsICIyMDA5LTEyIikgaXMgIjIwMDkt
MDEiCitQQVNTIHN0ZXBVcCgiMjAyMC0wMSIsICIyMDAwLTAxIiwgIjIwMDAtMTIiKSBpcyAiMjAw
MC0wMSIKK1BBU1Mgc3RlcERvd24oIjIwMjAtMDEiLCAiMjAwMC0wMSIsICIyMDAwLTEyIikgaXMg
IjIwMDAtMDEiCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxl
LWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVy
ZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21v
bnRoLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjhmMDIwMjdjZDVkYTZhODNkM2Q0MTRjMGRkNDQ1Mzc1OGIxNDAxNWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxk
cy9tb250aC1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRt
bApAQCAtMCwwICsxLDk3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdDaGVjayBzdGVwcGluZy11cCBhbmQgLWRvd24g
Zm9yIG1vbnRoIGlucHV0IGZpZWxkcyBmcm9tIHJlbmRlcmVyLicpOworaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldExhbmdBdHRyaWJ1dGVBd2FyZUZvcm1D
b250cm9sVUlFbmFibGVkKHRydWUpOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdpbnB1dCcpOworaW5wdXQudHlwZSA9ICdtb250aCc7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGlucHV0KTsKKwordmFyIGN1cnJlbnRZZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVh
cigpOworCitmdW5jdGlvbiBrZXlEb3duKGtleSwgbW9kaWZpZXJzKQoreworICAgIGlmICghd2lu
ZG93LmV2ZW50U2VuZGVyKQorICAgICAgICByZXR1cm47CisgICAgZXZlbnRTZW5kZXIua2V5RG93
bihrZXksIG1vZGlmaWVycyk7Cit9CisKK2Z1bmN0aW9uIHNldElucHV0QXR0cmlidXRlcyh2YWx1
ZSwgbWluLCBtYXgpIHsKKyAgICBpbnB1dC52YWx1ZSA9IGlucHV0Lm1pbiA9IGlucHV0Lm1heCA9
IG51bGw7CisgICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsKKyAgICBpbnB1dC5taW4gPSBtaW47Cisg
ICAgaW5wdXQubWF4ID0gbWF4OworfQorCitmdW5jdGlvbiB0ZXN0KHZhbHVlLCBtaW4sIG1heCwg
a2V5U2VxdWVuY2UpIHsKKyAgICBzZXRJbnB1dEF0dHJpYnV0ZXModmFsdWUsIG1pbiwgbWF4KTsK
KyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleVNlcXVlbmNlLmxlbmd0aDsgaSsrKQorICAgICAg
ICBrZXlEb3duKGtleVNlcXVlbmNlW2ldKTsKKyAgICByZXR1cm4gaW5wdXQudmFsdWU7Cit9CisK
K2Z1bmN0aW9uIHN0ZXBVcCh2YWx1ZSwgbWluLCBtYXgpIHsKKyAgICByZXR1cm4gdGVzdCh2YWx1
ZSwgbWluLCBtYXgsIFsndXBBcnJvdyddKTsKK30KKworZnVuY3Rpb24gc3RlcERvd24odmFsdWUs
IG1pbiwgbWF4KSB7CisgICAgcmV0dXJuIHRlc3QodmFsdWUsIG1pbiwgbWF4LCBbJ2Rvd25BcnJv
dyddKTsKK30KKworaW5wdXQuZm9jdXMoKTsKK2RlYnVnKCdGdW5jdGlvbiBhcmd1bWVudHMgYXJl
ICh2YWx1ZSwgbWluLCBtYXgsIFtrZXlTZXF1ZW5jZV0pLicpOworZGVidWcoJ01vbnRoJyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNSIsIG51bGwsIG51bGwpJywgJzIw
MDAtMDYnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDUiLCBudWxs
LCBudWxsKScsICcyMDAwLTA0Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAw
MC0xMiIsIG51bGwsIG51bGwpJywgJzIwMDAtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcERvd24oIjIwMDAtMDEiLCBudWxsLCBudWxsKScsICcyMDAwLTEyJyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3Rlc3QoIjIwMDAtMDUiLCBudWxsLCBudWxsLCBbInVwQXJyb3ciLCAidXBB
cnJvdyIsICJ1cEFycm93Il0pJywgJzIwMDAtMDgnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
dGVzdCgiMjAwMC0wNSIsIG51bGwsIG51bGwsIFsiZG93bkFycm93IiwgImRvd25BcnJvdyIsICJk
b3duQXJyb3ciXSknLCAnMjAwMC0wMicpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIy
MDAwLTA1IiwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKScsICcyMDAwLTAxJyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjIwMDAtMDUiLCBudWxsLCBudWxsLCBbImRl
bGV0ZSIsICJkb3duQXJyb3ciXSknLCAnMjAwMC0xMicpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwVXAoIjIwMDAtMDUiLCAiMjAwMC0wNSIsICIyMDAwLTEwIiknLCAnMjAwMC0wNicpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNSIsICIyMDAwLTA1IiwgIjIw
MDAtMTAiKScsICcyMDAwLTEwJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAw
MC0wNSIsICIyMDAwLTAyIiwgIjIwMDAtMDUiKScsICcyMDAwLTAyJyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1IiwgIjIwMDAtMDIiLCAiMjAwMC0wNSIpJywgJzIw
MDAtMDQnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1IiwgIjIwMDAt
MDgiLCAiMjAwMC0xMCIpJywgJzIwMDAtMDgnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cERvd24oIjIwMDAtMDUiLCAiMjAwMC0wOCIsICIyMDAwLTEwIiknLCAnMjAwMC0xMCcpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUiLCAiMjAwMC0wMyIsICIyMDAwLTAz
IiknLCAnMjAwMC0wMycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0w
NSIsICIyMDAwLTAzIiwgIjIwMDAtMDMiKScsICcyMDAwLTAzJyk7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTAzIiwgIjIwMDEtMDUiKScsICcyMDAwLTA2
Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1IiwgIjIwMDAtMDUi
LCAiMjAwMS0wOCIpJywgJzIwMDAtMDQnKTsKKworZGVidWcoJ1llYXInKTsKK3NldElucHV0QXR0
cmlidXRlcyhudWxsLCBudWxsLCBudWxsLCBudWxsKTsKK2tleURvd24oJ3JpZ2h0QXJyb3cnKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTAxIiwgbnVsbCwgbnVsbCknLCAn
MjAwMS0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wMSIsIG51
bGwsIG51bGwpJywgJzE5OTktMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMjAw
MC0wMSIsIG51bGwsIG51bGwsIFsidXBBcnJvdyIsICJ1cEFycm93IiwgInVwQXJyb3ciXSknLCAn
MjAwMy0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIyMDAwLTAxIiwgbnVsbCwg
bnVsbCwgWyJkb3duQXJyb3ciLCAiZG93bkFycm93IiwgImRvd25BcnJvdyJdKScsICcxOTk3LTAx
Jyk7CitzaG91bGRCZSgndGVzdCgiMjAwMC0wMSIsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgInVw
QXJyb3ciXSknLCAnY3VycmVudFllYXIgKyAiLTAxIicpOworc2hvdWxkQmUoJ3Rlc3QoIjIwMDAt
MDEiLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSknLCAnY3VycmVudFllYXIg
KyAiLTAxIicpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDEiLCAiMjAw
MC0wMSIsICIyMDA5LTEyIiknLCAnMjAwMS0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwRG93bigiMjAwMC0wMSIsICIyMDAwLTAxIiwgIjIwMDktMTIiKScsICcyMDA5LTAxJyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wMSIsICIxOTkwLTAxIiwgIjIwMDAt
MTIiKScsICcxOTkwLTAxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAw
LTAxIiwgIjE5OTAtMDEiLCAiMjAwMC0xMiIpJywgJzE5OTktMDEnKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcFVwKCIyNzU3NjAtMDEiLCAiMTk5MC0wMSIsIG51bGwpJywgJzE5OTAtMDEn
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE5OTAtMDEiLCAiMTk5MC0wMSIs
IG51bGwpJywgJzI3NTc2MC0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIw
MDAtMDEiLCBudWxsLCAiMjAwMC0xMiIpJywgJzAwMDEtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcERvd24oIjAwMDEtMDEiLCBudWxsLCAiMjAwMC0xMiIpJywgJzIwMDAtMDEnKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxOTkwLTAxIiwgIjIwMDAtMDEiLCAiMjAw
OS0xMiIpJywgJzIwMDAtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE5
OTAtMDEiLCAiMjAwMC0wMSIsICIyMDA5LTEyIiknLCAnMjAwOS0wMScpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwVXAoIjIwMjAtMDEiLCAiMjAwMC0wMSIsICIyMDAwLTEyIiknLCAnMjAw
MC0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAyMC0wMSIsICIyMDAw
LTAxIiwgIjIwMDAtMTIiKScsICcyMDAwLTAxJyk7CisKK2RlYnVnKCcnKTsKK2RvY3VtZW50LmJv
ZHkucmVtb3ZlQ2hpbGQoaW5wdXQpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181631</attachid>
            <date>2013-01-07 21:24:26 -0800</date>
            <delta_ts>2013-01-07 22:36:30 -0800</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-106212-20130108142130.patch</filename>
            <type>text/plain</type>
            <size>47965</size>
            <attacher name="Kunihiko Sakamoto">ksakamoto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4ODk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTYxYWNhNzk0OGYxYzIy
ZDIyNzQ0NTUzMmVhYjg1YTJlYjNmZDllYi4uMzc0NjVkMTQyNDQ2ZjE5Mzk0Yjk1ZmJhYmFjMmFl
NzJiYzIwZjczOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEzLTAxLTA3ICBLdW5p
aGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSU5QVVRf
TVVMVElQTEVfRklFTERTX1VJOiBTdGVwLXVwLy1kb3duIG9mIG1vbnRoL2RheSBmaWVsZCBzaG91
bGQgcmVzcGVjdCBtaW4vbWF4IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjIxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc3RlcC11cC8tZG93biBvZiB0aGUgbW9udGggYW5k
IGRheSBmaWVsZHMgcmVzcGVjdCB0aGUgbWluL21heAorICAgICAgICBhdHRyaWJ1dGVzIG9mIHRo
ZSBlbGVtZW50LgorICAgICAgICBOb3RlIHRoYXQgdGhlc2UgZmllbGRzIHN0aWxsIGFjY2VwdCBh
bnkga2V5Ym9hcmQgaW5wdXRzICh0aGUgZWxlbWVudAorICAgICAgICBiZWNvbWVzICdpbnZhbGlk
JyBzdGF0ZSB3aGVuIG91dC1vZi1ib3VuZHMgdmFsdWVzIGVudGVyZWQpLgorCisgICAgICAgIFRl
c3RzOiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20t
cmVuZGVyZXIuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxl
LWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCisKKyAgICAgICAgKiBj
c3MvaHRtbC5jc3M6IEFkZCBDU1MgcnVsZXMgZm9yIG1vbnRoIGFuZCBkYXkgZmllbGRzLgorICAg
ICAgICAqIGh0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RGF0ZVRpbWVFZGl0QnVpbGRlcjo6dmlzaXRGaWVsZCk6CisgICAgICAgIENvbXB1dGUg
bWluaW11bS9tYXhpbXVtIHZhbHVlcyBvZiBtb250aC9kYXkgZmllbGRzIGZyb20gdGhlIG1pbi9t
YXgKKyAgICAgICAgcGFyYW1ldGVycyBvZiB0aGUgZWxlbWVudC4gSWYgbWluaW11bSwgbWF4aW11
bSwgYW5kIGN1cnJlbnQgdmFsdWUgaXMKKyAgICAgICAgdGhlIHNhbWUsIG1ha2VzIHRoZSBmaWVs
ZCByZWFkLW9ubHkuCisgICAgICAgICogaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lQU1QTUZpZWxkRWxlbWVudDo6RGF0ZVRp
bWVBTVBNRmllbGRFbGVtZW50KTogQWRkIG1pbmludW0vbWF4aW11bSBhcmd1bWVudHMuCisgICAg
ICAgIChXZWJDb3JlOjpEYXRlVGltZURheUZpZWxkRWxlbWVudDo6RGF0ZVRpbWVEYXlGaWVsZEVs
ZW1lbnQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lRGF5RmllbGRFbGVtZW50
OjpjcmVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lRGF5RmllbGRFbGVt
ZW50OjpjbGFtcFZhbHVlRm9ySGFyZExpbWl0cyk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudDo6RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudCk6IEFk
ZCBtaW5pbnVtL21heGltdW0gYXJndW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVN
b250aEZpZWxkRWxlbWVudDo6Y3JlYXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpEYXRl
VGltZU1vbnRoRmllbGRFbGVtZW50OjpjbGFtcFZhbHVlRm9ySGFyZExpbWl0cyk6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50OjpEYXRl
VGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQpOiBBZGQgbWluaW51bS9tYXhpbXVtIGFyZ3Vt
ZW50cy4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVu
dDo6Y3JlYXRlKTogRGl0dG8uCisgICAgICAgICogaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVs
ZW1lbnRzLmg6CisgICAgICAgIChEYXRlVGltZURheUZpZWxkRWxlbWVudCk6IEFkZCBtaW5pbnVt
L21heGltdW0gYXJndW1lbnRzIGFuZCBkZWNsYXJlIGNsYW1wVmFsdWVGb3JIYXJkTGltaXRzLgor
ICAgICAgICAoRGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudCk6IERpdHRvLgorICAgICAgICAoRGF0
ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50KTogQWRkIG1pbmludW0vbWF4aW11bSBhcmd1
bWVudHMuCisgICAgICAgICogaHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpE
YXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50KTogQWRkIG1pbmludW0vbWF4aW11bSBhcmd1bWVu
dHMuCisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjptYXhp
bXVtKTogUmV0dXJucyBtX21heGltdW1JbmRleCArIDEgYXMgaXQgYXNzdW1lcyAxLW9yaWdpbiB2
YWx1ZS4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6Om1p
bmltdW0pOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lU3ltYm9saWNGaWVsZEVs
ZW1lbnQ6OnN0ZXBEb3duKTogUmVzdHJpY3QgdmFsdWUgdG8gbV9taW5pbXVtSW5kZXgtbV9tYXhp
bXVtSW5kZXguCisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50
OjpzdGVwVXApOiBEaXR0by4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGlj
RmllbGRFbGVtZW50Lmg6CisgICAgICAgIChEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50KTog
QWRkIG1fbWluaW11bUluZGV4IGFuZCBtX21heGltdW1JbmRleC4KKyAgICAgICAgKFdlYkNvcmU6
OkRhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OmlzSW5SYW5nZSk6IEFkZGVkLgorCiAyMDEz
LTAxLTA1ICBaZW5vIEFsYmlzc2VyICA8emVub0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtUZXht
YXBdIFRleHR1cmVNYXBwZXJHTCBzaG91bGQgcmVzZXQgQVJSQVlfQlVGRkVSIGFmdGVyIHBhaW50
aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzIGIvU291cmNlL1dl
YkNvcmUvY3NzL2h0bWwuY3NzCmluZGV4IDBkMWIxZTlkMWM0YzMzNzQ2ZjZhMTYxYWEwMTMzNDA5
NTIyMjFlYjEuLjdlNjY0YTA5YjlhZjdiNDgzN2Y3NGJkY2UwZjczMmU2MDU3YTZmZjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvaHRtbC5jc3MKQEAgLTU4MCw2ICs1ODAsOCBAQCBpbnB1dDo6LXdlYmtpdC1kYXRldGltZS1l
ZGl0LXllYXItZmllbGQ6Zm9jdXMgewogfQogCiBpbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0
LXllYXItZmllbGRbcmVhZG9ubHldLAoraW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250
aC1maWVsZFtyZWFkb25seV0sCitpbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVs
ZFtyZWFkb25seV0sCiBpbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWFtcG0tZmllbGRbcmVh
ZG9ubHldLAogaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkW3JlYWRvbmx5
XSwKIGlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWlsbGlzZWNvbmQtZmllbGRbcmVhZG9u
bHldLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVt
ZW50LmNwcAppbmRleCA1MWU2MGIwZmVkMGY4YzJlNGE0NDZkMDU2MTYyMTYwYmJjYjk5NGQ4Li4z
NGFkYjhjZWZhMTc3NDQ2OTZmMTk2MWQ4MjVlYTdhYjA4ZmMyNWU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcApAQCAtMTA1LDkg
KzEwNSwyNCBAQCB2b2lkIERhdGVUaW1lRWRpdEJ1aWxkZXI6OnZpc2l0RmllbGQoRGF0ZVRpbWVG
b3JtYXQ6OkZpZWxkVHlwZSBmaWVsZFR5cGUsIGludCBjbwogICAgIERvY3VtZW50KiBjb25zdCBk
b2N1bWVudCA9IG1fZWRpdEVsZW1lbnQuZG9jdW1lbnQoKTsKIAogICAgIHN3aXRjaCAoZmllbGRU
eXBlKSB7Ci0gICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlRGF5T2ZNb250aDoKLSAg
ICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChEYXRlVGltZURheUZpZWxkRWxlbWVudDo6Y3Jl
YXRlKGRvY3VtZW50LCBtX2VkaXRFbGVtZW50LCBtX3BhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JE
YXkpKTsKKyAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVEYXlPZk1vbnRoOiB7Cisg
ICAgICAgIGludCBtaW5EYXkgPSAxLCBtYXhEYXkgPSAzMTsKKyAgICAgICAgaWYgKG1fcGFyYW1l
dGVycy5taW5pbXVtLnR5cGUoKSAhPSBEYXRlQ29tcG9uZW50czo6SW52YWxpZAorICAgICAgICAg
ICAgJiYgbV9wYXJhbWV0ZXJzLm1heGltdW0udHlwZSgpICE9IERhdGVDb21wb25lbnRzOjpJbnZh
bGlkCisgICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMubWluaW11bS5mdWxsWWVhcigpID09IG1f
cGFyYW1ldGVycy5tYXhpbXVtLmZ1bGxZZWFyKCkKKyAgICAgICAgICAgICYmIG1fcGFyYW1ldGVy
cy5taW5pbXVtLm1vbnRoKCkgPT0gbV9wYXJhbWV0ZXJzLm1heGltdW0ubW9udGgoKQorICAgICAg
ICAgICAgJiYgbV9wYXJhbWV0ZXJzLm1pbmltdW0ubW9udGhEYXkoKSA8PSBtX3BhcmFtZXRlcnMu
bWF4aW11bS5tb250aERheSgpKSB7CisgICAgICAgICAgICBtaW5EYXkgPSBtX3BhcmFtZXRlcnMu
bWluaW11bS5tb250aERheSgpOworICAgICAgICAgICAgbWF4RGF5ID0gbV9wYXJhbWV0ZXJzLm1h
eGltdW0ubW9udGhEYXkoKTsKKyAgICAgICAgfQorICAgICAgICBSZWZQdHI8RGF0ZVRpbWVGaWVs
ZEVsZW1lbnQ+IGZpZWxkID0gRGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVu
dCwgbV9lZGl0RWxlbWVudCwgbV9wYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yRGF5LCBtaW5EYXks
IG1heERheSk7CisgICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQoZmllbGQpOworICAgICAg
ICBpZiAobWluRGF5ID09IG1heERheSAmJiBtaW5EYXkgPT0gbV9kYXRlVmFsdWUubW9udGhEYXko
KSkgeworICAgICAgICAgICAgZmllbGQtPnNldFZhbHVlQXNEYXRlKG1fZGF0ZVZhbHVlKTsKKyAg
ICAgICAgICAgIGZpZWxkLT5zZXRSZWFkT25seSgpOworICAgICAgICB9CiAgICAgICAgIHJldHVy
bjsKKyAgICB9CiAKICAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVIb3VyMTE6IHsK
ICAgICAgICAgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpQYXJhbWV0ZXJzIHBhcmFtZXRl
cnMgPSBjcmVhdGVOdW1lcmljRmllbGRQYXJhbWV0ZXJzKHN0YXRpY19jYXN0PGludD4obXNQZXJI
b3VyKSwgc3RhdGljX2Nhc3Q8aW50Pihtc1BlckhvdXIgKiAxMikpOwpAQCAtMTY0LDM1ICsxNzks
MzUgQEAgdm9pZCBEYXRlVGltZUVkaXRCdWlsZGVyOjp2aXNpdEZpZWxkKERhdGVUaW1lRm9ybWF0
OjpGaWVsZFR5cGUgZmllbGRUeXBlLCBpbnQgY28KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZU1vbnRoOgotICAgICAgICBzd2l0Y2gg
KGNvdW50KSB7Ci0gICAgICAgIGNhc2UgY291bnRGb3JOYXJyb3dNb250aDogLy8gRmFsbHRocm91
Z2guCi0gICAgICAgIGNhc2UgY291bnRGb3JBYmJyZXZpYXRlZE1vbnRoOgotICAgICAgICAgICAg
bV9lZGl0RWxlbWVudC5hZGRGaWVsZChEYXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ6
OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwgbV9wYXJhbWV0ZXJzLmxvY2FsZS5zaG9y
dE1vbnRoTGFiZWxzKCkpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIGNvdW50
Rm9yRnVsbE1vbnRoOgotICAgICAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChEYXRlVGlt
ZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVu
dCwgbV9wYXJhbWV0ZXJzLmxvY2FsZS5tb250aExhYmVscygpKSk7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQo
RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCBtX2VkaXRFbGVtZW50
LCBtX3BhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JNb250aCkpOwotICAgICAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTW9udGg6IC8vIEZhbGx0aHJvdWdo
LgorICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZU1vbnRoU3RhbmRBbG9uZTogewor
ICAgICAgICBpbnQgbWluTW9udGggPSAwLCBtYXhNb250aCA9IDExOworICAgICAgICBpZiAobV9w
YXJhbWV0ZXJzLm1pbmltdW0udHlwZSgpICE9IERhdGVDb21wb25lbnRzOjpJbnZhbGlkCisgICAg
ICAgICAgICAmJiBtX3BhcmFtZXRlcnMubWF4aW11bS50eXBlKCkgIT0gRGF0ZUNvbXBvbmVudHM6
OkludmFsaWQKKyAgICAgICAgICAgICYmIG1fcGFyYW1ldGVycy5taW5pbXVtLmZ1bGxZZWFyKCkg
PT0gbV9wYXJhbWV0ZXJzLm1heGltdW0uZnVsbFllYXIoKQorICAgICAgICAgICAgJiYgbV9wYXJh
bWV0ZXJzLm1pbmltdW0ubW9udGgoKSA8PSBtX3BhcmFtZXRlcnMubWF4aW11bS5tb250aCgpKSB7
CisgICAgICAgICAgICBtaW5Nb250aCA9IG1fcGFyYW1ldGVycy5taW5pbXVtLm1vbnRoKCk7Cisg
ICAgICAgICAgICBtYXhNb250aCA9IG1fcGFyYW1ldGVycy5tYXhpbXVtLm1vbnRoKCk7CiAgICAg
ICAgIH0KLSAgICAgICAgcmV0dXJuOwotCi0gICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRU
eXBlTW9udGhTdGFuZEFsb25lOgotICAgICAgICBzd2l0Y2ggKGNvdW50KSB7Ci0gICAgICAgIGNh
c2UgY291bnRGb3JOYXJyb3dNb250aDogLy8gRmFsbHRocm91Z2guCi0gICAgICAgIGNhc2UgY291
bnRGb3JBYmJyZXZpYXRlZE1vbnRoOgotICAgICAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVs
ZChEYXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9l
ZGl0RWxlbWVudCwgbV9wYXJhbWV0ZXJzLmxvY2FsZS5zaG9ydFN0YW5kQWxvbmVNb250aExhYmVs
cygpKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBjb3VudEZvckZ1bGxNb250
aDoKLSAgICAgICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQoRGF0ZVRpbWVTeW1ib2xpY01v
bnRoRmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIG1fcGFyYW1l
dGVycy5sb2NhbGUuc3RhbmRBbG9uZU1vbnRoTGFiZWxzKCkpKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChE
YXRlVGltZU1vbnRoRmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQs
IG1fcGFyYW1ldGVycy5wbGFjZWhvbGRlckZvck1vbnRoKSk7Ci0gICAgICAgICAgICBicmVhazsK
KyAgICAgICAgUmVmUHRyPERhdGVUaW1lRmllbGRFbGVtZW50PiBmaWVsZDsKKyAgICAgICAgaWYg
KGNvdW50ID09IGNvdW50Rm9yTmFycm93TW9udGggfHwgY291bnQgPT0gY291bnRGb3JBYmJyZXZp
YXRlZE1vbnRoIHx8IGNvdW50ID09IGNvdW50Rm9yRnVsbE1vbnRoKSB7CisgICAgICAgICAgICBj
b25zdCBWZWN0b3I8U3RyaW5nPiYgbGFiZWxzID0gZmllbGRUeXBlID09IERhdGVUaW1lRm9ybWF0
OjpGaWVsZFR5cGVNb250aAorICAgICAgICAgICAgICAgID8gKGNvdW50ID09IGNvdW50Rm9yRnVs
bE1vbnRoCisgICAgICAgICAgICAgICAgICAgID8gbV9wYXJhbWV0ZXJzLmxvY2FsZS5tb250aExh
YmVscygpCisgICAgICAgICAgICAgICAgICAgIDogbV9wYXJhbWV0ZXJzLmxvY2FsZS5zaG9ydE1v
bnRoTGFiZWxzKCkpCisgICAgICAgICAgICAgICAgOiAoY291bnQgPT0gY291bnRGb3JGdWxsTW9u
dGgKKyAgICAgICAgICAgICAgICAgICAgPyBtX3BhcmFtZXRlcnMubG9jYWxlLnN0YW5kQWxvbmVN
b250aExhYmVscygpCisgICAgICAgICAgICAgICAgICAgIDogbV9wYXJhbWV0ZXJzLmxvY2FsZS5z
aG9ydFN0YW5kQWxvbmVNb250aExhYmVscygpKTsKKyAgICAgICAgICAgIGZpZWxkID0gRGF0ZVRp
bWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1l
bnQsIGxhYmVscywgbWluTW9udGgsIG1heE1vbnRoKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAg
ICAgICBmaWVsZCA9IERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwg
bV9lZGl0RWxlbWVudCwgbV9wYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yTW9udGgsIG1pbk1vbnRo
ICsgMSwgbWF4TW9udGggKyAxKTsKKyAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChmaWVs
ZCk7CisgICAgICAgIGlmIChtaW5Nb250aCA9PSBtYXhNb250aCAmJiBtaW5Nb250aCA9PSBtX2Rh
dGVWYWx1ZS5tb250aCgpKSB7CisgICAgICAgICAgICBmaWVsZC0+c2V0VmFsdWVBc0RhdGUobV9k
YXRlVmFsdWUpOworICAgICAgICAgICAgZmllbGQtPnNldFJlYWRPbmx5KCk7CiAgICAgICAgIH0K
ICAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxk
VHlwZVBlcmlvZDogewogICAgICAgICBSZWZQdHI8RGF0ZVRpbWVGaWVsZEVsZW1lbnQ+IGZpZWxk
ID0gRGF0ZVRpbWVBTVBNRmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1l
bnQsIG1fcGFyYW1ldGVycy5sb2NhbGUudGltZUFNUE1MYWJlbHMoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcAppbmRleCAz
MTAwZDgwMmM1MzBlMDRkNGY5YmE0Y2Q0NjJhZmMxMWZlZDhjYjQxLi5lMWJlNjgyNzFiMDgyYTY0
ZjhmNzQ2YjAxYTBiMDhkZjhhNTU1YzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5jcHAKQEAgLTM2LDcgKzM2LDcgQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogRGF0ZVRpbWVBTVBNRmllbGRFbGVtZW50OjpEYXRlVGltZUFN
UE1GaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVy
LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgYW1wbUxhYmVscykKLSAgICA6IERhdGVUaW1lU3ltYm9s
aWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIGFtcG1MYWJlbHMpCisgICAgOiBE
YXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCBhbXBtTGFi
ZWxzLCAwLCAxKQogewogfQogCkBAIC03MSwxNSArNzEsMTUgQEAgdm9pZCBEYXRlVGltZUFNUE1G
aWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1l
RmllbGQKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1EYXRlVGltZURheUZp
ZWxkRWxlbWVudDo6RGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBG
aWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9sZGVyKQotICAgIDog
RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCAxLCAzMSwg
cGxhY2Vob2xkZXIpCitEYXRlVGltZURheUZpZWxkRWxlbWVudDo6RGF0ZVRpbWVEYXlGaWVsZEVs
ZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBT
dHJpbmcmIHBsYWNlaG9sZGVyLCBpbnQgbWluaW11bSwgaW50IG1heGltdW0pCisgICAgOiBEYXRl
VGltZU51bWVyaWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIG1pbmltdW0sIG1h
eGltdW0sIHBsYWNlaG9sZGVyKQogewogfQogCi1QYXNzUmVmUHRyPERhdGVUaW1lRGF5RmllbGRF
bGVtZW50PiBEYXRlVGltZURheUZpZWxkRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVu
dCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlcikKK1Bh
c3NSZWZQdHI8RGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQ+IERhdGVUaW1lRGF5RmllbGRFbGVtZW50
OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25z
dCBTdHJpbmcmIHBsYWNlaG9sZGVyLCBpbnQgbWluaW11bSwgaW50IG1heGltdW0pCiB7CiAgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGRheVBzdWVkb0lkLCAoIi13ZWJraXQt
ZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRl
cmFsKSk7Ci0gICAgUmVmUHRyPERhdGVUaW1lRGF5RmllbGRFbGVtZW50PiBmaWVsZCA9IGFkb3B0
UmVmKG5ldyBEYXRlVGltZURheUZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcGxh
Y2Vob2xkZXIuaXNFbXB0eSgpID8gQVNDSUlMaXRlcmFsKCItLSIpIDogcGxhY2Vob2xkZXIpKTsK
KyAgICBSZWZQdHI8RGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3
IERhdGVUaW1lRGF5RmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCBwbGFjZWhvbGRl
ci5pc0VtcHR5KCkgPyBBU0NJSUxpdGVyYWwoIi0tIikgOiBwbGFjZWhvbGRlciwgbWluaW11bSwg
bWF4aW11bSkpOwogICAgIGZpZWxkLT5pbml0aWFsaXplKGRheVBzdWVkb0lkLCBBWERheU9mTW9u
dGhGaWVsZFRleHQoKSk7CiAgICAgcmV0dXJuIGZpZWxkLnJlbGVhc2UoKTsKIH0KQEAgLTExMCw2
ICsxMTAsMTEgQEAgdm9pZCBEYXRlVGltZURheUZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0RhdGVU
aW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHMKICAgICBzZXRFbXB0eVZhbHVlKCk7
CiB9CiAKK2ludCBEYXRlVGltZURheUZpZWxkRWxlbWVudDo6Y2xhbXBWYWx1ZUZvckhhcmRMaW1p
dHMoaW50IHZhbHVlKSBjb25zdAoreworICAgIHJldHVybiBSYW5nZSgxLCAzMSkuY2xhbXBWYWx1
ZSh2YWx1ZSk7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogRGF0ZVRp
bWVIb3VyRmllbGRFbGVtZW50OjpEYXRlVGltZUhvdXJGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRv
Y3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBpbnQgbWluaW11bSwgaW50IG1heGltdW0s
IGNvbnN0IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6UGFyYW1ldGVycyYgcGFyYW1ldGVy
cykKQEAgLTI5OSwxNSArMzA0LDE1IEBAIHZvaWQgRGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQ6
OnNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllCiAKIC8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotRGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudDo6
RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXIm
IGZpZWxkT3duZXIsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIpCi0gICAgOiBEYXRlVGltZU51
bWVyaWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIDEsIDEyLCBwbGFjZWhvbGRl
cikKK0RhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQo
RG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBTdHJpbmcm
IHBsYWNlaG9sZGVyLCBpbnQgbWluaW11bSwgaW50IG1heGltdW0pCisgICAgOiBEYXRlVGltZU51
bWVyaWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIG1pbmltdW0sIG1heGltdW0s
IHBsYWNlaG9sZGVyKQogewogfQogCi1QYXNzUmVmUHRyPERhdGVUaW1lTW9udGhGaWVsZEVsZW1l
bnQ+IERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQs
IEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIpCitQYXNz
UmVmUHRyPERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ+IERhdGVUaW1lTW9udGhGaWVsZEVsZW1l
bnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNv
bnN0IFN0cmluZyYgcGxhY2Vob2xkZXIsIGludCBtaW5pbXVtLCBpbnQgbWF4aW11bSkKIHsKICAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbW9udGhQc3VlZG9JZCwgKCItd2Vi
a2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZy
b21MaXRlcmFsKSk7Ci0gICAgUmVmUHRyPERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ+IGZpZWxk
ID0gYWRvcHRSZWYobmV3IERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxk
T3duZXIsIHBsYWNlaG9sZGVyLmlzRW1wdHkoKSA/IEFTQ0lJTGl0ZXJhbCgiLS0iKSA6IHBsYWNl
aG9sZGVyKSk7CisgICAgUmVmUHRyPERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ+IGZpZWxkID0g
YWRvcHRSZWYobmV3IERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3du
ZXIsIHBsYWNlaG9sZGVyLmlzRW1wdHkoKSA/IEFTQ0lJTGl0ZXJhbCgiLS0iKSA6IHBsYWNlaG9s
ZGVyLCBtaW5pbXVtLCBtYXhpbXVtKSk7CiAgICAgZmllbGQtPmluaXRpYWxpemUobW9udGhQc3Vl
ZG9JZCwgQVhNb250aEZpZWxkVGV4dCgpKTsKICAgICByZXR1cm4gZmllbGQucmVsZWFzZSgpOwog
fQpAQCAtMzM4LDYgKzM0MywxMSBAQCB2b2lkIERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ6OnNl
dFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbAogICAgIHNldEVt
cHR5VmFsdWUoKTsKIH0KIAoraW50IERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ6OmNsYW1wVmFs
dWVGb3JIYXJkTGltaXRzKGludCB2YWx1ZSkgY29uc3QKK3sKKyAgICByZXR1cm4gUmFuZ2UoMSwg
MTIpLmNsYW1wVmFsdWUodmFsdWUpOworfQorCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiAKIERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50OjpEYXRlVGltZVNlY29uZEZpZWxkRWxl
bWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IERh
dGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6UGFyYW1ldGVycyYgcGFyYW1ldGVycykKQEAgLTM4
MSwxNSArMzkxLDE1IEBAIHZvaWQgRGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQ6OnNldFZhbHVl
QXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllCiAKIC8vIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIAotRGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50OjpE
YXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVs
ZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbGFiZWxzKQotICAgIDog
RGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgbGFiZWxz
KQorRGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50OjpEYXRlVGltZVN5bWJvbGljTW9u
dGhGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVy
LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbGFiZWxzLCBpbnQgbWluaW11bSwgaW50IG1heGltdW0p
CisgICAgOiBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVy
LCBsYWJlbHMsIG1pbmltdW0sIG1heGltdW0pCiB7CiB9CiAKLVBhc3NSZWZQdHI8RGF0ZVRpbWVT
eW1ib2xpY01vbnRoRmllbGRFbGVtZW50PiBEYXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1l
bnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiBsYWJlbHMpCitQYXNzUmVmUHRyPERhdGVUaW1lU3ltYm9saWNN
b250aEZpZWxkRWxlbWVudD4gRGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50OjpjcmVh
dGUoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBWZWN0
b3I8U3RyaW5nPiYgbGFiZWxzLCBpbnQgbWluaW11bSwgaW50IG1heGltdW0pCiB7CiAgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG1vbnRoUHN1ZWRvSWQsICgiLXdlYmtpdC1k
YXRldGltZS1lZGl0LW1vbnRoLWZpZWxkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0
ZXJhbCkpOwotICAgIFJlZlB0cjxEYXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ+IGZp
ZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVudChkb2N1
bWVudCwgZmllbGRPd25lciwgbGFiZWxzKSk7CisgICAgUmVmUHRyPERhdGVUaW1lU3ltYm9saWNN
b250aEZpZWxkRWxlbWVudD4gZmllbGQgPSBhZG9wdFJlZihuZXcgRGF0ZVRpbWVTeW1ib2xpY01v
bnRoRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCBsYWJlbHMsIG1pbmltdW0sIG1h
eGltdW0pKTsKICAgICBmaWVsZC0+aW5pdGlhbGl6ZShtb250aFBzdWVkb0lkLCBBWE1vbnRoRmll
bGRUZXh0KCkpOwogICAgIHJldHVybiBmaWVsZC5yZWxlYXNlKCk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5oCmluZGV4IGNhM2Jj
YzU0NjFlMzJmMTE5ODk0MjY3MGE3MGQ4MzU0NjIxY2E4YjEuLmMzN2Q3YTMzODA3N2E4MDljMjRh
YzFjNDQwOWQ3NDkzYjI5OGY5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5oCkBAIC01MSwxNSArNTEsMTggQEAgY2xhc3MgRGF0
ZVRpbWVEYXlGaWVsZEVsZW1lbnQgOiBwdWJsaWMgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRlVGltZURheUZpZWxkRWxlbWVudCk7CiAK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRlVGltZURheUZpZWxkRWxlbWVudD4g
Y3JlYXRlKERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIp
OworICAgIHN0YXRpYyBQYXNzUmVmUHRyPERhdGVUaW1lRGF5RmllbGRFbGVtZW50PiBjcmVhdGUo
RG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlciwgaW50IG1p
bmltdW0sIGludCBtYXhpbXVtKTsKIAogcHJpdmF0ZToKLSAgICBEYXRlVGltZURheUZpZWxkRWxl
bWVudChEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9sZGVyKTsK
KyAgICBEYXRlVGltZURheUZpZWxkRWxlbWVudChEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25z
dCBTdHJpbmcmIHBsYWNlaG9sZGVyLCBpbnQgbWluaW11bSwgaW50IG1heGltdW0pOwogCiAgICAg
Ly8gRGF0ZVRpbWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgogICAgIHZpcnR1YWwgdm9pZCBwb3B1
bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJ
TkFMOwogICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZShjb25zdCBEYXRlQ29tcG9uZW50
cyYpIE9WRVJSSURFIEZJTkFMOwogICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZVRpbWVG
aWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWxkc1N0YXRlJikgT1ZFUlJJREUgRklOQUw7CisK
KyAgICAvLyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQgZnVuY3Rpb24uCisgICAgdmlydHVh
bCBpbnQgY2xhbXBWYWx1ZUZvckhhcmRMaW1pdHMoaW50KSBjb25zdCBPVkVSUklERSBGSU5BTDsK
IH07CiAKIC8vIERhdGVUaW1lSG91ckZpZWxkRWxlbWVudCBpcyB1c2VkIGZvciBob3VyIGZpZWxk
IG9mIGRhdGUgdGltZSBmb3JtYXQKQEAgLTEyMSwxNSArMTI0LDE4IEBAIGNsYXNzIERhdGVUaW1l
TW9udGhGaWVsZEVsZW1lbnQgOiBwdWJsaWMgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50IHsK
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRlVGltZU1vbnRoRmllbGRFbGVtZW50KTsKIAog
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ+
IGNyZWF0ZShEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9sZGVy
KTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRlVGltZU1vbnRoRmllbGRFbGVtZW50PiBjcmVh
dGUoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlciwgaW50
IG1pbmltdW0sIGludCBtYXhpbXVtKTsKIAogcHJpdmF0ZToKLSAgICBEYXRlVGltZU1vbnRoRmll
bGRFbGVtZW50KERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xk
ZXIpOworICAgIERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVy
JiwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlciwgaW50IG1pbmltdW0sIGludCBtYXhpbXVtKTsK
IAogICAgIC8vIERhdGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0aW9ucy4KICAgICB2aXJ0dWFsIHZv
aWQgcG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3RhdGUmKSBPVkVS
UklERSBGSU5BTDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGUoY29uc3QgRGF0ZUNv
bXBvbmVudHMmKSBPVkVSUklERSBGSU5BTDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0Rh
dGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJ
TkFMOworCisgICAgLy8gRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50IGZ1bmN0aW9uLgorICAg
IHZpcnR1YWwgaW50IGNsYW1wVmFsdWVGb3JIYXJkTGltaXRzKGludCkgY29uc3QgT1ZFUlJJREUg
RklOQUw7CiB9OwogCiBjbGFzcyBEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVudCA6IHB1YmxpYyBE
YXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQgewpAQCAtMTUxLDEwICsxNTcsMTAgQEAgY2xhc3Mg
RGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50IDogcHVibGljIERhdGVUaW1lU3ltYm9s
aWNGaWVsZEVsZW1lbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lU3ltYm9s
aWNNb250aEZpZWxkRWxlbWVudCk7CiAKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxE
YXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCosIEZpZWxk
T3duZXImLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPERh
dGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVudD4gY3JlYXRlKERvY3VtZW50KiwgRmllbGRP
d25lciYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgaW50IG1pbmltdW0sIGludCBtYXhpbXVtKTsK
IAogcHJpdmF0ZToKLSAgICBEYXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQoRG9jdW1l
bnQqLCBGaWVsZE93bmVyJiwgY29uc3QgVmVjdG9yPFN0cmluZz4mKTsKKyAgICBEYXRlVGltZVN5
bWJvbGljTW9udGhGaWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgVmVj
dG9yPFN0cmluZz4mLCBpbnQgbWluaW11bSwgaW50IG1heGltdW0pOwogCiAgICAgLy8gRGF0ZVRp
bWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgogICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZURhdGVU
aW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJTkFMOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0ZpZWxk
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGlj
RmllbGRFbGVtZW50LmNwcAppbmRleCA0ZjU0ZjE1MjkyNmRjNzg5ZDg0ZmI5OGRjOTM0YjQ1YjQ2
NGU2MjFiLi5iYzEwZDYyY2EwOTdiNDU1MzkwNjQ2MmM2ZWU5NTc2NDQzNDMzNzI0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGlj
RmllbGRFbGVtZW50LmNwcApAQCAtNDcsMTQgKzQ3LDE5IEBAIHN0YXRpYyBBdG9taWNTdHJpbmcg
bWFrZVZpc2libGVFbXB0eVZhbHVlKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzeW1ib2xzKQogICAg
IHJldHVybiBidWlsZGVyLnRvQXRvbWljU3RyaW5nKCk7CiB9CiAKLURhdGVUaW1lU3ltYm9saWNG
aWVsZEVsZW1lbnQ6OkRhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3Vt
ZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc3ltYm9s
cykKK0RhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lU3ltYm9saWNGaWVsZEVs
ZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgc3ltYm9scywgaW50IG1pbmltdW0sIGludCBtYXhpbXVtKQogICAgIDog
RGF0ZVRpbWVGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIpCiAgICAgLCBtX3N5bWJv
bHMoc3ltYm9scykKICAgICAsIG1fdmlzaWJsZUVtcHR5VmFsdWUobWFrZVZpc2libGVFbXB0eVZh
bHVlKHN5bWJvbHMpKQogICAgICwgbV9zZWxlY3RlZEluZGV4KC0xKQogICAgICwgbV90eXBlQWhl
YWQodGhpcykKKyAgICAsIG1fbWluaW11bUluZGV4KG1pbmltdW0pCisgICAgLCBtX21heGltdW1J
bmRleChtYXhpbXVtKQogewogICAgIEFTU0VSVCghc3ltYm9scy5pc0VtcHR5KCkpOworICAgIEFT
U0VSVChtX21pbmltdW1JbmRleCA+PSAwKTsKKyAgICBBU1NFUlQobV9tYXhpbXVtSW5kZXggPCBz
dGF0aWNfY2FzdDxpbnQ+KG1fc3ltYm9scy5zaXplKCkpKTsKKyAgICBBU1NFUlQobV9taW5pbXVt
SW5kZXggPD0gbV9tYXhpbXVtSW5kZXgpOwogfQogCiBmbG9hdCBEYXRlVGltZVN5bWJvbGljRmll
bGRFbGVtZW50OjptYXhpbXVtV2lkdGgoY29uc3QgRm9udCYgZm9udCkKQEAgLTg5LDEyICs5NCwx
MiBAQCBib29sIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6Omhhc1ZhbHVlKCkgY29uc3QK
IAogaW50IERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6Om1heGltdW0oKSBjb25zdAogewot
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KG1fc3ltYm9scy5zaXplKCkpOworICAgIHJldHVy
biBtX21heGltdW1JbmRleCArIDE7CiB9CiAKIGludCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVt
ZW50OjptaW5pbXVtKCkgY29uc3QKIHsKLSAgICByZXR1cm4gMTsKKyAgICByZXR1cm4gbV9taW5p
bXVtSW5kZXggKyAxOwogfQogCiB2b2lkIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OnNl
dEVtcHR5VmFsdWUoRXZlbnRCZWhhdmlvciBldmVudEJlaGF2aW9yKQpAQCAtMTEzLDE0ICsxMTgs
MjEgQEAgdm9pZCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzSW50ZWdl
cihpbnQgbmV3U2VsZWN0ZWRJbmRleCwgRXZlbnQKIAogdm9pZCBEYXRlVGltZVN5bWJvbGljRmll
bGRFbGVtZW50OjpzdGVwRG93bigpCiB7Ci0gICAgY29uc3QgaW50IHNpemUgPSBtX3N5bWJvbHMu
c2l6ZSgpOwotICAgIG1fc2VsZWN0ZWRJbmRleCA9IGhhc1ZhbHVlKCkgPyAobV9zZWxlY3RlZElu
ZGV4ICsgc2l6ZSAtIDEpICUgc2l6ZSA6IHNpemUgLSAxOworICAgIGlmIChoYXNWYWx1ZSgpKSB7
CisgICAgICAgIGlmICghaXNJblJhbmdlKC0tbV9zZWxlY3RlZEluZGV4KSkKKyAgICAgICAgICAg
IG1fc2VsZWN0ZWRJbmRleCA9IG1fbWF4aW11bUluZGV4OworICAgIH0gZWxzZQorICAgICAgICBt
X3NlbGVjdGVkSW5kZXggPSBtX21heGltdW1JbmRleDsKICAgICB1cGRhdGVWaXNpYmxlVmFsdWUo
RGlzcGF0Y2hFdmVudCk7CiB9CiAKIHZvaWQgRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudDo6
c3RlcFVwKCkKIHsKLSAgICBtX3NlbGVjdGVkSW5kZXggPSBoYXNWYWx1ZSgpID8gKG1fc2VsZWN0
ZWRJbmRleCArIDEpICUgbV9zeW1ib2xzLnNpemUoKSA6IDA7CisgICAgaWYgKGhhc1ZhbHVlKCkp
IHsKKyAgICAgICAgaWYgKCFpc0luUmFuZ2UoKyttX3NlbGVjdGVkSW5kZXgpKQorICAgICAgICAg
ICAgbV9zZWxlY3RlZEluZGV4ID0gbV9taW5pbXVtSW5kZXg7CisgICAgfSBlbHNlCisgICAgICAg
IG1fc2VsZWN0ZWRJbmRleCA9IG1fbWluaW11bUluZGV4OwogICAgIHVwZGF0ZVZpc2libGVWYWx1
ZShEaXNwYXRjaEV2ZW50KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5oCmluZGV4IDY4ZjFlMjk5MGMx
MzQwOTcxYjc3NjY1ZjY1NTc2MmYyNTNjMjNiNzQuLjEzZDc2NmZjZDM2MTExYjE3YWE2OThlNTAx
N2IzN2RiOTA5NWJiYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmgKQEAgLTM4LDcgKzM4LDcgQEAgY2xh
c3MgRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudCA6IHB1YmxpYyBEYXRlVGltZUZpZWxkRWxl
bWVudCwgcHVibGljIFR5cGVBaGUKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRlVGltZVN5
bWJvbGljRmllbGRFbGVtZW50KTsKIAogcHJvdGVjdGVkOgotICAgIERhdGVUaW1lU3ltYm9saWNG
aWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgVmVjdG9yPFN0cmluZz4m
KTsKKyAgICBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50KERvY3VtZW50KiwgRmllbGRPd25l
ciYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgaW50IG1pbmltdW0sIGludCBtYXhpbXVtKTsKICAg
ICBzaXplX3Qgc3ltYm9sc1NpemUoKSBjb25zdCB7IHJldHVybiBtX3N5bWJvbHMuc2l6ZSgpOyB9
CiAgICAgdmlydHVhbCBib29sIGhhc1ZhbHVlKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7CiAgICAg
dmlydHVhbCB2b2lkIHNldEVtcHR5VmFsdWUoRXZlbnRCZWhhdmlvciA9IERpc3BhdGNoTm9FdmVu
dCkgT1ZFUlJJREUgRklOQUw7CkBAIC00OSw2ICs0OSw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGlj
IGNvbnN0IGludCBpbnZhbGlkSW5kZXggPSAtMTsKIAogICAgIFN0cmluZyB2aXNpYmxlRW1wdHlW
YWx1ZSgpIGNvbnN0OworICAgIGJvb2wgaXNJblJhbmdlKGludCBpbmRleCkgY29uc3QgeyByZXR1
cm4gaW5kZXggPj0gbV9taW5pbXVtSW5kZXggJiYgaW5kZXggPD0gbV9tYXhpbXVtSW5kZXg7IH0K
IAogICAgIC8vIERhdGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0aW9ucy4KICAgICB2aXJ0dWFsIHZv
aWQgaGFuZGxlS2V5Ym9hcmRFdmVudChLZXlib2FyZEV2ZW50KikgT1ZFUlJJREUgRklOQUw7CkBA
IC03Miw2ICs3Myw4IEBAIHByaXZhdGU6CiAgICAgY29uc3QgQXRvbWljU3RyaW5nIG1fdmlzaWJs
ZUVtcHR5VmFsdWU7CiAgICAgaW50IG1fc2VsZWN0ZWRJbmRleDsKICAgICBUeXBlQWhlYWQgbV90
eXBlQWhlYWQ7CisgICAgY29uc3QgaW50IG1fbWluaW11bUluZGV4OworICAgIGNvbnN0IGludCBt
X21heGltdW1JbmRleDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjNmJk
YTcxZTA1MTYyZDc3NjkyMDM5Mzg0YTg2NjcwMjM5MWNkZjcxLi43ZGM4YzAxMjUzYjI5ZGIxMTlj
MjBiZWQ1MTAyYWVlMjA2MDRhZjYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMDEtMDcg
IEt1bmloaWtvIFNha2Ftb3RvICA8a3Nha2Ftb3RvQGNocm9taXVtLm9yZz4KKworICAgICAgICBJ
TlBVVF9NVUxUSVBMRV9GSUVMRFNfVUk6IFN0ZXAtdXAvLWRvd24gb2YgbW9udGgvZGF5IGZpZWxk
IHNob3VsZCByZXNwZWN0IG1pbi9tYXggYXR0cmlidXRlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2MjEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmll
bGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWw6IEFkZCB0ZXN0cyBmb3IgbW9udGggYW5kIGRh
eSBmaWVsZHMuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVs
dGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmll
bGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
bW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRv
d24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3Rl
cGRvd24tZnJvbS1yZW5kZXJlci5odG1sOiBBZGRlZC4KKwogMjAxMy0wMS0wNSAgQ2hyaXN0b3Bo
ZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQgRUZMIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1leHBlY3RlZC50eHQKaW5k
ZXggYjhmMGVlMzU5ZGZhOGUwMzJmODA3ODljZmY5Y2Q1NjQzNDkwNWNjYi4uOGMwYzI3NWU5MDRm
Nzk1YmU5ZGU5M2I1Y2E4ZTFhMDAyZGNhNWQzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1yZWFkb25s
eS1zdWJmaWVsZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1l
eHBlY3RlZC50eHQKQEAgLTE0LDYgKzE0LDI3IEBAIFBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0
ZURhdGVJbnB1dCgiMjAxMi0wMS0wMSIsICIyMDEyLTEyLTMxIiwgIiIpLCBwc2V1ZG9ZZWFyCiBQ
QVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMDEtMDEiLCAiMjAxMy0x
Mi0zMSIsICIiKSwgcHNldWRvWWVhcikgaXMgZmFsc2UKIFBBU1MgaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZURhdGVJbnB1dCgiMjAxMi0wMS0wMSIsICIyMDEyLTEyLTMxIiwgIjIwMTItMDUtMzAiKSwg
cHNldWRvWWVhcikgaXMgdHJ1ZQogUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0
KCIyMDEyLTAxLTAxIiwgIjIwMTItMTItMzEiLCAiMjAxMy0wMS0wMSIpLCBwc2V1ZG9ZZWFyKSBp
cyBmYWxzZQorTW9udGggZmllbGQ6CitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5w
dXQoIiIsICIiLCAiIiksIHBzZXVkb01vbnRoKSBpcyBmYWxzZQorUEFTUyBpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTE3IiwgIiIsICIiKSwgcHNldWRvTW9udGgpIGlz
IGZhbHNlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIiIsICIyMDEyLTEy
LTE3IiwgIiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFsc2UKK1BBU1MgaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZURhdGVJbnB1dCgiIiwgIiIsICIyMDEyLTEyLTE3IiksIHBzZXVkb01vbnRoKSBpcyBmYWxz
ZQorUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTAxIiwgIjIw
MTItMTItMzEiLCAiIiksIHBzZXVkb01vbnRoKSBpcyB0cnVlCitQQVNTIGlzUmVhZE9ubHlGaWVs
ZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTEtMDEiLCAiMjAxMy0xMi0zMSIsICIiKSwgcHNldWRv
TW9udGgpIGlzIGZhbHNlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIw
MTItMTItMDEiLCAiMjAxMy0xMi0zMSIsICIiKSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCitQQVNT
IGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMDEiLCAiMjAxMi0xMi0z
MSIsICIyMDEyLTEyLTE1IiksIHBzZXVkb01vbnRoKSBpcyB0cnVlCitQQVNTIGlzUmVhZE9ubHlG
aWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMDEiLCAiMjAxMi0xMi0zMSIsICIyMDEyLTEx
LTMwIiksIHBzZXVkb01vbnRoKSBpcyBmYWxzZQorRGF5IGZpZWxkOgorUEFTUyBpc1JlYWRPbmx5
RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAiIiwgIiIpLCBwc2V1ZG9EYXkpIGlzIGZhbHNlCitQ
QVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMTciLCAiIiwgIiIp
LCBwc2V1ZG9EYXkpIGlzIGZhbHNlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5w
dXQoIiIsICIyMDEyLTEyLTE3IiwgIiIpLCBwc2V1ZG9EYXkpIGlzIGZhbHNlCitQQVNTIGlzUmVh
ZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIiIsICIiLCAiMjAxMi0xMi0xNyIpLCBwc2V1ZG9E
YXkpIGlzIGZhbHNlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTIt
MTItMTciLCAiMjAxMi0xMi0xNyIsICIiKSwgcHNldWRvRGF5KSBpcyB0cnVlCitQQVNTIGlzUmVh
ZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMTciLCAiMjAxMy0xMi0xOCIsICIi
KSwgcHNldWRvRGF5KSBpcyBmYWxzZQorUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlu
cHV0KCIyMDEyLTExLTE3IiwgIjIwMTItMTItMTciLCAiIiksIHBzZXVkb0RheSkgaXMgZmFsc2UK
K1BBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0xNyIsICIyMDEz
LTEyLTE3IiwgIiIpLCBwc2V1ZG9EYXkpIGlzIGZhbHNlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChj
cmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMTciLCAiMjAxMi0xMi0xNyIsICIyMDEyLTEyLTE3Iiks
IHBzZXVkb0RheSkgaXMgdHJ1ZQorUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0
KCIyMDEyLTEyLTE3IiwgIjIwMTItMTItMTciLCAiMjAxMi0xMi0xOCIpLCBwc2V1ZG9EYXkpIGlz
IGZhbHNlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVh
ZG9ubHktc3ViZmllbGQuaHRtbAppbmRleCA0NTgyYTdhYzcxYzYwOWJlNWYxNTNlMDNlNTNhNmFk
ZDQ4YmE2MzRmLi42ZDU4ZjRkNDE3YjIwMjFkZTY5NDk3YjRkYjFkMmY2ZGFmMGZkNjJhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUt
bXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1yZWFk
b25seS1zdWJmaWVsZC5odG1sCkBAIC0zOSw2ICszOSwyOSBAQCBzaG91bGRCZUZhbHNlKCdpc1Jl
YWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTAxLTAxIiwgIjIwMTMtMTItMzEiLCAi
IiksCiBzaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTIt
MDEtMDEiLCAiMjAxMi0xMi0zMSIsICIyMDEyLTA1LTMwIiksIHBzZXVkb1llYXIpJyk7CiBzaG91
bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTAxLTAxIiwg
IjIwMTItMTItMzEiLCAiMjAxMy0wMS0wMSIpLCBwc2V1ZG9ZZWFyKScpOwogCitkZWJ1ZygnTW9u
dGggZmllbGQ6Jyk7CitzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlu
cHV0KCIiLCAiIiwgIiIpLCBwc2V1ZG9Nb250aCknKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVhZE9u
bHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMTciLCAiIiwgIiIpLCBwc2V1ZG9Nb250
aCknKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIiIs
ICIyMDEyLTEyLTE3IiwgIiIpLCBwc2V1ZG9Nb250aCknKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVh
ZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIiIsICIiLCAiMjAxMi0xMi0xNyIpLCBwc2V1ZG9N
b250aCknKTsKK3Nob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgi
MjAxMi0xMi0wMSIsICIyMDEyLTEyLTMxIiwgIiIpLCBwc2V1ZG9Nb250aCknKTsKK3Nob3VsZEJl
RmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTEtMDEiLCAiMjAx
My0xMi0zMSIsICIiKSwgcHNldWRvTW9udGgpJyk7CitzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5
RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTAxIiwgIjIwMTMtMTItMzEiLCAiIiksIHBz
ZXVkb01vbnRoKScpOworc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlu
cHV0KCIyMDEyLTEyLTAxIiwgIjIwMTItMTItMzEiLCAiMjAxMi0xMi0xNSIpLCBwc2V1ZG9Nb250
aCknKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIw
MTItMTItMDEiLCAiMjAxMi0xMi0zMSIsICIyMDEyLTExLTMwIiksIHBzZXVkb01vbnRoKScpOwor
CitkZWJ1ZygnRGF5IGZpZWxkOicpOworc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZURhdGVJbnB1dCgiIiwgIiIsICIiKSwgcHNldWRvRGF5KScpOworc2hvdWxkQmVGYWxzZSgn
aXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0xNyIsICIiLCAiIiksIHBz
ZXVkb0RheSknKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5w
dXQoIiIsICIyMDEyLTEyLTE3IiwgIiIpLCBwc2V1ZG9EYXkpJyk7CitzaG91bGRCZUZhbHNlKCdp
c1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAiIiwgIjIwMTItMTItMTciKSwgcHNl
dWRvRGF5KScpOworc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0
KCIyMDEyLTEyLTE3IiwgIjIwMTItMTItMTciLCAiIiksIHBzZXVkb0RheSknKTsKK3Nob3VsZEJl
RmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMTciLCAiMjAx
My0xMi0xOCIsICIiKSwgcHNldWRvRGF5KScpOworc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZp
ZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMS0xNyIsICIyMDEyLTEyLTE3IiwgIiIpLCBwc2V1
ZG9EYXkpJyk7CitzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0
KCIyMDEyLTEyLTE3IiwgIjIwMTMtMTItMTciLCAiIiksIHBzZXVkb0RheSknKTsKK3Nob3VsZEJl
VHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0xNyIsICIyMDEy
LTEyLTE3IiwgIjIwMTItMTItMTciKSwgcHNldWRvRGF5KScpOworc2hvdWxkQmVGYWxzZSgnaXNS
ZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0xNyIsICIyMDEyLTEyLTE3Iiwg
IjIwMTItMTItMTgiKSwgcHNldWRvRGF5KScpOworCiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzFmZDgzMzY0MzNlZGM1ZWI0NTkxZjQwYWQ4MTg4NGU5NjQ1ZWEyNQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDggQEAKK0NoZWNrIHN0ZXBwaW5nLXVwIGFuZCAtZG93biBm
b3IgZGF0ZSBpbnB1dCBmaWVsZHMgZnJvbSByZW5kZXJlci4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK0Z1bmN0aW9uIGFyZ3VtZW50cyBhcmUgKHZhbHVlLCBtaW4sIG1heCwgW2tl
eVNlcXVlbmNlXSkuCitNb250aAorUEFTUyBzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0wNS0w
MSIsICIyMDAwLTEwLTMxIikgaXMgIjIwMDAtMDYtMDEiCitQQVNTIHN0ZXBEb3duKCIyMDAwLTA1
LTAxIiwgIjIwMDAtMDUtMDEiLCAiMjAwMC0xMC0zMSIpIGlzICIyMDAwLTEwLTAxIgorUEFTUyBz
dGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0wMi0wMSIsICIyMDAwLTA1LTMxIikgaXMgIjIwMDAt
MDItMDEiCitQQVNTIHN0ZXBEb3duKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDItMDEiLCAiMjAwMC0w
NS0zMSIpIGlzICIyMDAwLTA0LTAxIgorUEFTUyBzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0w
OC0wMSIsICIyMDAwLTEwLTMxIikgaXMgIjIwMDAtMDgtMDEiCitQQVNTIHN0ZXBEb3duKCIyMDAw
LTA1LTAxIiwgIjIwMDAtMDgtMDEiLCAiMjAwMC0xMC0zMSIpIGlzICIyMDAwLTEwLTAxIgorUEFT
UyBzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0wMy0wMSIsICIyMDAwLTAzLTMxIikgaXMgIjIw
MDAtMDMtMDEiCitQQVNTIHN0ZXBEb3duKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDMtMDEiLCAiMjAw
MC0wMy0zMSIpIGlzICIyMDAwLTAzLTAxIgorUEFTUyBzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAw
MC0wMy0wMSIsICIyMDAxLTA1LTMxIikgaXMgIjIwMDAtMDYtMDEiCitQQVNTIHN0ZXBEb3duKCIy
MDAwLTA1LTAxIiwgIjIwMDAtMDUtMDEiLCAiMjAwMS0wOC0zMSIpIGlzICIyMDAwLTA0LTAxIgor
RGF5CitQQVNTIHN0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMjAi
KSBpcyAiMjAwMC0wNS0xMSIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0x
MCIsICIyMDAwLTA1LTIwIikgaXMgIjIwMDAtMDUtMjAiCitQQVNTIHN0ZXBVcCgiMjAwMC0wNS0x
MCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDUtMTAiKSBpcyAiMjAwMC0wNS0wNSIKK1BBU1Mgc3Rl
cERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAwLTA1LTEwIikgaXMgIjIwMDAt
MDUtMDkiCitQQVNTIHN0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTIwIiwgIjIwMDAtMDUt
MzAiKSBpcyAiMjAwMC0wNS0yMCIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0w
NS0yMCIsICIyMDAwLTA1LTMwIikgaXMgIjIwMDAtMDUtMzAiCitQQVNTIHN0ZXBVcCgiMjAwMC0w
NS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDUtMDUiKSBpcyAiMjAwMC0wNS0wNSIKK1BBU1Mg
c3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAwLTA1LTA1IikgaXMgIjIw
MDAtMDUtMDUiCitQQVNTIHN0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDEt
MDUtMTAiKSBpcyAiMjAwMC0wNS0xMSIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAw
MC0wNS0xMCIsICIyMDAxLTA1LTE1IikgaXMgIjIwMDAtMDUtMDkiCitQQVNTIHN0ZXBVcCgiMjAw
MC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDYtMTAiKSBpcyAiMjAwMC0wNS0xMSIKK1BB
U1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0xMCIsICIyMDAwLTA2LTE1IikgaXMg
IjIwMDAtMDUtMDkiCitZZWFyCitQQVNTIHN0ZXBVcCgiMjAwMC0wMS0wMSIsICIyMDAwLTAxLTAx
IiwgIjIwMDktMTItMzEiKSBpcyAiMjAwMS0wMS0wMSIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDEt
MDEiLCAiMjAwMC0wMS0wMSIsICIyMDA5LTEyLTMxIikgaXMgIjIwMDktMDEtMDEiCitQQVNTIHN0
ZXBVcCgiMjAwMC0wMS0wMSIsICIxOTkwLTAxLTAxIiwgIjIwMDAtMTItMzEiKSBpcyAiMTk5MC0w
MS0wMSIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDEtMDEiLCAiMTk5MC0wMS0wMSIsICIyMDAwLTEy
LTMxIikgaXMgIjE5OTktMDEtMDEiCitQQVNTIHN0ZXBVcCgiMjc1NzYwLTAxLTAxIiwgIjE5OTAt
MDEtMDEiLCBudWxsKSBpcyAiMTk5MC0wMS0wMSIKK1BBU1Mgc3RlcERvd24oIjE5OTAtMDEtMDEi
LCAiMTk5MC0wMS0wMSIsIG51bGwpIGlzICIyNzU3NjAtMDEtMDEiCitQQVNTIHN0ZXBVcCgiMjAw
MC0wMS0wMSIsIG51bGwsICIyMDAwLTEyLTMxIikgaXMgIjAwMDEtMDEtMDEiCitQQVNTIHN0ZXBE
b3duKCIwMDAxLTAxLTAxIiwgbnVsbCwgIjIwMDAtMTItMzEiKSBpcyAiMjAwMC0wMS0wMSIKK1BB
U1Mgc3RlcFVwKCIxOTkwLTAxLTAxIiwgIjIwMDAtMDEtMDEiLCAiMjAwOS0xMi0zMSIpIGlzICIy
MDAwLTAxLTAxIgorUEFTUyBzdGVwRG93bigiMTk5MC0wMS0wMSIsICIyMDAwLTAxLTAxIiwgIjIw
MDktMTItMzEiKSBpcyAiMjAwOS0wMS0wMSIKK1BBU1Mgc3RlcFVwKCIyMDIwLTAxLTAxIiwgIjIw
MDAtMDEtMDEiLCAiMjAwMC0xMi0zMSIpIGlzICIyMDAwLTAxLTAxIgorUEFTUyBzdGVwRG93bigi
MjAyMC0wMS0wMSIsICIyMDAwLTAxLTAxIiwgIjIwMDAtMTItMzEiKSBpcyAiMjAwMC0wMS0wMSIK
KworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOTg5
M2Y0MzFiMGQxY2ExMzQ1ZjNlMDVlNTkxMTRhMDYyN2QwZjI2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCkBAIC0wLDAgKzEsODUg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oJ0NoZWNrIHN0ZXBwaW5nLXVwIGFuZCAtZG93biBmb3IgZGF0ZSBpbnB1dCBm
aWVsZHMgZnJvbSByZW5kZXJlci4nKTsKK2lmICghd2luZG93LmV2ZW50U2VuZGVyKQorICAgIGRl
YnVnKCdUaGlzIHRlc3QgcmVxdWlyZXMgZXZlbnRTZW5kZXIuJyk7CisKK3ZhciBpbnB1dCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CitpbnB1dC50eXBlID0gJ2RhdGUnOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7CisKK2Z1bmN0aW9uIHNldElucHV0QXR0cmli
dXRlcyh2YWx1ZSwgbWluLCBtYXgpIHsKKyAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOworICAgIGlu
cHV0Lm1pbiA9IG1pbjsKKyAgICBpbnB1dC5tYXggPSBtYXg7Cit9CisKK2Z1bmN0aW9uIHN0ZXBV
cCh2YWx1ZSwgbWluLCBtYXgpIHsKKyAgICBzZXRJbnB1dEF0dHJpYnV0ZXModmFsdWUsIG1pbiwg
bWF4KTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCd1cEFycm93Jyk7CisgICAgcmV0dXJuIGlu
cHV0LnZhbHVlOworfQorCitmdW5jdGlvbiBzdGVwRG93bih2YWx1ZSwgbWluLCBtYXgpIHsKKyAg
ICBzZXRJbnB1dEF0dHJpYnV0ZXModmFsdWUsIG1pbiwgbWF4KTsKKyAgICBldmVudFNlbmRlci5r
ZXlEb3duKCdkb3duQXJyb3cnKTsKKyAgICByZXR1cm4gaW5wdXQudmFsdWU7Cit9CisKK2lucHV0
LmZvY3VzKCk7CitkZWJ1ZygnRnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIG1pbiwgbWF4
LCBba2V5U2VxdWVuY2VdKS4nKTsKK2RlYnVnKCdNb250aCcpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0wNS0wMSIsICIyMDAwLTEwLTMxIiknLCAn
MjAwMC0wNi0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNS0w
MSIsICIyMDAwLTA1LTAxIiwgIjIwMDAtMTAtMzEiKScsICcyMDAwLTEwLTAxJyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNS0wMSIsICIyMDAwLTAyLTAxIiwgIjIwMDAt
MDUtMzEiKScsICcyMDAwLTAyLTAxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3du
KCIyMDAwLTA1LTAxIiwgIjIwMDAtMDItMDEiLCAiMjAwMC0wNS0zMSIpJywgJzIwMDAtMDQtMDEn
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDgt
MDEiLCAiMjAwMC0xMC0zMSIpJywgJzIwMDAtMDgtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcERvd24oIjIwMDAtMDUtMDEiLCAiMjAwMC0wOC0wMSIsICIyMDAwLTEwLTMxIiknLCAn
MjAwMC0xMC0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUtMDEi
LCAiMjAwMC0wMy0wMSIsICIyMDAwLTAzLTMxIiknLCAnMjAwMC0wMy0wMScpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNS0wMSIsICIyMDAwLTAzLTAxIiwgIjIwMDAt
MDMtMzEiKScsICcyMDAwLTAzLTAxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgi
MjAwMC0wNS0wMSIsICIyMDAwLTAzLTAxIiwgIjIwMDEtMDUtMzEiKScsICcyMDAwLTA2LTAxJyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDUt
MDEiLCAiMjAwMS0wOC0zMSIpJywgJzIwMDAtMDQtMDEnKTsKKworZGVidWcoJ0RheScpOworZXZl
bnRTZW5kZXIua2V5RG93bigncmlnaHRBcnJvdycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwVXAoIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTIwIiknLCAnMjAwMC0w
NS0xMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNS0xMCIsICIy
MDAwLTA1LTEwIiwgIjIwMDAtMDUtMjAiKScsICcyMDAwLTA1LTIwJyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDUtMTAi
KScsICcyMDAwLTA1LTA1Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAw
LTA1LTEwIiwgIjIwMDAtMDUtMDUiLCAiMjAwMC0wNS0xMCIpJywgJzIwMDAtMDUtMDknKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMjAiLCAi
MjAwMC0wNS0zMCIpJywgJzIwMDAtMDUtMjAnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0yMCIsICIyMDAwLTA1LTMwIiknLCAnMjAwMC0w
NS0zMCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUtMTAiLCAiMjAw
MC0wNS0wNSIsICIyMDAwLTA1LTA1IiknLCAnMjAwMC0wNS0wNScpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDUtMDUi
KScsICcyMDAwLTA1LTA1Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0w
NS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDEtMDUtMTAiKScsICcyMDAwLTA1LTExJyk7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMTAiLCAi
MjAwMS0wNS0xNSIpJywgJzIwMDAtMDUtMDknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cFVwKCIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMDUiLCAiMjAwMC0wNi0xMCIpJywgJzIwMDAtMDUt
MTEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAw
MC0wNS0xMCIsICIyMDAwLTA2LTE1IiknLCAnMjAwMC0wNS0wOScpOworCitkZWJ1ZygnWWVhcicp
Oworc2V0SW5wdXRBdHRyaWJ1dGVzKG51bGwsIG51bGwsIG51bGwsIG51bGwpOworZXZlbnRTZW5k
ZXIua2V5RG93bigncmlnaHRBcnJvdycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAo
IjIwMDAtMDEtMDEiLCAiMjAwMC0wMS0wMSIsICIyMDA5LTEyLTMxIiknLCAnMjAwMS0wMS0wMScp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wMS0wMSIsICIyMDAwLTAx
LTAxIiwgIjIwMDktMTItMzEiKScsICcyMDA5LTAxLTAxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBVcCgiMjAwMC0wMS0wMSIsICIxOTkwLTAxLTAxIiwgIjIwMDAtMTItMzEiKScsICcx
OTkwLTAxLTAxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTAxLTAx
IiwgIjE5OTAtMDEtMDEiLCAiMjAwMC0xMi0zMSIpJywgJzE5OTktMDEtMDEnKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcFVwKCIyNzU3NjAtMDEtMDEiLCAiMTk5MC0wMS0wMSIsIG51bGwp
JywgJzE5OTAtMDEtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE5OTAt
MDEtMDEiLCAiMTk5MC0wMS0wMSIsIG51bGwpJywgJzI3NTc2MC0wMS0wMScpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDEtMDEiLCBudWxsLCAiMjAwMC0xMi0zMSIpJywg
JzAwMDEtMDEtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjAwMDEtMDEt
MDEiLCBudWxsLCAiMjAwMC0xMi0zMSIpJywgJzIwMDAtMDEtMDEnKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcFVwKCIxOTkwLTAxLTAxIiwgIjIwMDAtMDEtMDEiLCAiMjAwOS0xMi0zMSIp
JywgJzIwMDAtMDEtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE5OTAt
MDEtMDEiLCAiMjAwMC0wMS0wMSIsICIyMDA5LTEyLTMxIiknLCAnMjAwOS0wMS0wMScpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMjAtMDEtMDEiLCAiMjAwMC0wMS0wMSIsICIy
MDAwLTEyLTMxIiknLCAnMjAwMC0wMS0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVw
RG93bigiMjAyMC0wMS0wMSIsICIyMDAwLTAxLTAxIiwgIjIwMDAtMTItMzEiKScsICcyMDAwLTAx
LTAxJyk7CisKK2RlYnVnKCcnKTsKK2lucHV0LnJlbW92ZSgpOworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11
bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMv
bW9udGgtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43MzQxNzIwYWM2NWIxODFlYjJmM2Y3MzVlNjgwNzBmNmFkNjcyMzA1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMv
bW9udGgtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDMwIEBACitTdWItZmllbGRzIGluIGlucHV0W3R5cGU9bW9udGhdIHNob3VsZCBiZSBy
ZWFkLW9ubHkgaW4gc29tZSBjYXNlcy4gVGhpcyByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxzLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworY3JlYXRlTW9udGhJbnB1dCBhcmd1bWVu
dCBvcmRlcjogbWluLCBtYXgsIHZhbHVlCisKK1llYXIgZmllbGQ6CitQQVNTIGlzUmVhZE9ubHlG
aWVsZChjcmVhdGVNb250aElucHV0KCIiLCAiIiwgIiIpLCBwc2V1ZG9ZZWFyKSBpcyBmYWxzZQor
UEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0xMiIsICIiLCAiIiks
IHBzZXVkb1llYXIpIGlzIGZhbHNlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElu
cHV0KCIiLCAiMjAxMi0xMiIsICIiKSwgcHNldWRvWWVhcikgaXMgZmFsc2UKK1BBU1MgaXNSZWFk
T25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIiIsICIiLCAiMjAxMi0xMiIpLCBwc2V1ZG9ZZWFy
KSBpcyBmYWxzZQorUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0w
MSIsICIyMDEyLTEyIiwgIiIpLCBwc2V1ZG9ZZWFyKSBpcyB0cnVlCitQQVNTIGlzUmVhZE9ubHlG
aWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTAxIiwgIjIwMTMtMTIiLCAiIiksIHBzZXVkb1ll
YXIpIGlzIGZhbHNlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEy
LTAxIiwgIjIwMTItMTIiLCAiMjAxMi0wNSIpLCBwc2V1ZG9ZZWFyKSBpcyB0cnVlCitQQVNTIGlz
UmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTAxIiwgIjIwMTItMTIiLCAiMjAx
My0wMSIpLCBwc2V1ZG9ZZWFyKSBpcyBmYWxzZQorTW9udGggZmllbGQ6CitQQVNTIGlzUmVhZE9u
bHlGaWVsZChjcmVhdGVNb250aElucHV0KCIiLCAiIiwgIiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFs
c2UKK1BBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMTIiLCAiIiwg
IiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFsc2UKK1BBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1v
bnRoSW5wdXQoIiIsICIyMDEyLTEyIiwgIiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFsc2UKK1BBU1Mg
aXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIiIsICIiLCAiMjAxMi0xMiIpLCBwc2V1
ZG9Nb250aCkgaXMgZmFsc2UKK1BBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQo
IjIwMTItMTIiLCAiMjAxMi0xMiIsICIiKSwgcHNldWRvTW9udGgpIGlzIHRydWUKK1BBU1MgaXNS
ZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMTEiLCAiMjAxMy0xMiIsICIiKSwg
cHNldWRvTW9udGgpIGlzIGZhbHNlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElu
cHV0KCIyMDEyLTEyIiwgIjIwMTMtMTIiLCAiIiksIHBzZXVkb01vbnRoKSBpcyBmYWxzZQorUEFT
UyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0xMiIsICIyMDEyLTEyIiwg
IjIwMTItMTIiKSwgcHNldWRvTW9udGgpIGlzIHRydWUKK1BBU1MgaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZU1vbnRoSW5wdXQoIjIwMTItMTIiLCAiMjAxMi0xMiIsICIyMDEyLTExIiksIHBzZXVkb01v
bnRoKSBpcyBmYWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlw
bGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlw
bGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjQ1NjFkNmI5ODQw
YWM3MjJkODUxMTk2ZmVmZWViZDk0MTNiOWI5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxk
cy1yZWFkb25seS1zdWJmaWVsZC5odG1sCkBAIC0wLDAgKzEsNTUgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBjcmVhdGVNb250aElucHV0KG1pbiwgbWF4
LCB2YWx1ZSkgeworICAgIHZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0
Jyk7CisgICAgaW5wdXQudHlwZSA9ICdtb250aCc7CisgICAgaWYgKG1pbikKKyAgICAgICAgaW5w
dXQubWluID0gbWluOworICAgIGlmIChtYXgpCisgICAgICAgIGlucHV0Lm1heCA9IG1heDsKKyAg
ICBpZiAodmFsdWUpCisgICAgICAgIGlucHV0LnZhbHVlID0gdmFsdWU7CisgICAgcmV0dXJuIGlu
cHV0OworfQorCitmdW5jdGlvbiBpc1JlYWRPbmx5RmllbGQoaW5wdXQsIHBzZXVkbykgeworICAg
IHZhciBub2RlID0gaW50ZXJuYWxzLnlvdW5nZXN0U2hhZG93Um9vdChpbnB1dCkucXVlcnlTZWxl
Y3RvcignKltwc2V1ZG89IicgKyBwc2V1ZG8gKyAnIl0nKTsKKyAgICBpZiAoIW5vZGUpCisgICAg
ICAgIHRlc3RGYWlsZWQoJ1JlcXVlc3RlZCBub2RlIGlzIG1pc3NpbmcuJyk7CisgICAgcmV0dXJu
IG5vZGUgJiYgbm9kZS5oYXNBdHRyaWJ1dGUoJ3JlYWRvbmx5Jyk7Cit9CisKK3ZhciBwc2V1ZG9N
b250aCA9ICctd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQnOwordmFyIHBzZXVkb1ll
YXIgPSAnLXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQnOworCitkZXNjcmlwdGlvbign
U3ViLWZpZWxkcyBpbiBpbnB1dFt0eXBlPW1vbnRoXSBzaG91bGQgYmUgcmVhZC1vbmx5IGluIHNv
bWUgY2FzZXMuIFRoaXMgcmVxdWlyZXMgd2luZG93LmludGVybmFscy4nKTsKK2RlYnVnKCdjcmVh
dGVNb250aElucHV0IGFyZ3VtZW50IG9yZGVyOiBtaW4sIG1heCwgdmFsdWUnKTsKK2RlYnVnKCcn
KTsKKworZGVidWcoJ1llYXIgZmllbGQ6Jyk7CitzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlTW9udGhJbnB1dCgiIiwgIiIsICIiKSwgcHNldWRvWWVhciknKTsKK3Nob3VsZEJl
RmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTEyIiwgIiIsICIi
KSwgcHNldWRvWWVhciknKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVN
b250aElucHV0KCIiLCAiMjAxMi0xMiIsICIiKSwgcHNldWRvWWVhciknKTsKK3Nob3VsZEJlRmFs
c2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIiLCAiIiwgIjIwMTItMTIiKSwg
cHNldWRvWWVhciknKTsKK3Nob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRo
SW5wdXQoIjIwMTItMDEiLCAiMjAxMi0xMiIsICIiKSwgcHNldWRvWWVhciknKTsKK3Nob3VsZEJl
RmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTAxIiwgIjIwMTMt
MTIiLCAiIiksIHBzZXVkb1llYXIpJyk7CitzaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChj
cmVhdGVNb250aElucHV0KCIyMDEyLTAxIiwgIjIwMTItMTIiLCAiMjAxMi0wNSIpLCBwc2V1ZG9Z
ZWFyKScpOworc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQo
IjIwMTItMDEiLCAiMjAxMi0xMiIsICIyMDEzLTAxIiksIHBzZXVkb1llYXIpJyk7CisKK2RlYnVn
KCdNb250aCBmaWVsZDonKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVN
b250aElucHV0KCIiLCAiIiwgIiIpLCBwc2V1ZG9Nb250aCknKTsKK3Nob3VsZEJlRmFsc2UoJ2lz
UmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTEyIiwgIiIsICIiKSwgcHNldWRv
TW9udGgpJyk7CitzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1
dCgiIiwgIjIwMTItMTIiLCAiIiksIHBzZXVkb01vbnRoKScpOworc2hvdWxkQmVGYWxzZSgnaXNS
ZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIiIsICIiLCAiMjAxMi0xMiIpLCBwc2V1ZG9N
b250aCknKTsKK3Nob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQo
IjIwMTItMTIiLCAiMjAxMi0xMiIsICIiKSwgcHNldWRvTW9udGgpJyk7CitzaG91bGRCZUZhbHNl
KCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0xMSIsICIyMDEzLTEyIiwg
IiIpLCBwc2V1ZG9Nb250aCknKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVh
dGVNb250aElucHV0KCIyMDEyLTEyIiwgIjIwMTMtMTIiLCAiIiksIHBzZXVkb01vbnRoKScpOwor
c2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0xMiIs
ICIyMDEyLTEyIiwgIjIwMTItMTIiKSwgcHNldWRvTW9udGgpJyk7CitzaG91bGRCZUZhbHNlKCdp
c1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0xMiIsICIyMDEyLTEyIiwgIjIw
MTItMTEiKSwgcHNldWRvTW9udGgpJyk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250
aC1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgt
bXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xZTMyMDRkNDIyOGVmYTAwYTZjNjM0YWU4OWEwZWFkNzBiYjg2ZWM0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBACitDaGVjayBzdGVwcGluZy11cCBhbmQgLWRv
d24gZm9yIG1vbnRoIGlucHV0IGZpZWxkcyBmcm9tIHJlbmRlcmVyLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworRnVuY3Rpb24gYXJndW1lbnRzIGFyZSAodmFsdWUsIG1pbiwgbWF4
LCBba2V5U2VxdWVuY2VdKS4KK01vbnRoCitQQVNTIHN0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTA1
IiwgIjIwMDAtMTAiKSBpcyAiMjAwMC0wNiIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDUiLCAiMjAw
MC0wNSIsICIyMDAwLTEwIikgaXMgIjIwMDAtMTAiCitQQVNTIHN0ZXBVcCgiMjAwMC0wNSIsICIy
MDAwLTAyIiwgIjIwMDAtMDUiKSBpcyAiMjAwMC0wMiIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDUi
LCAiMjAwMC0wMiIsICIyMDAwLTA1IikgaXMgIjIwMDAtMDQiCitQQVNTIHN0ZXBVcCgiMjAwMC0w
NSIsICIyMDAwLTA4IiwgIjIwMDAtMTAiKSBpcyAiMjAwMC0wOCIKK1BBU1Mgc3RlcERvd24oIjIw
MDAtMDUiLCAiMjAwMC0wOCIsICIyMDAwLTEwIikgaXMgIjIwMDAtMTAiCitQQVNTIHN0ZXBVcCgi
MjAwMC0wNSIsICIyMDAwLTAzIiwgIjIwMDAtMDMiKSBpcyAiMjAwMC0wMyIKK1BBU1Mgc3RlcERv
d24oIjIwMDAtMDUiLCAiMjAwMC0wMyIsICIyMDAwLTAzIikgaXMgIjIwMDAtMDMiCitQQVNTIHN0
ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTAzIiwgIjIwMDEtMDUiKSBpcyAiMjAwMC0wNiIKK1BBU1Mg
c3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0wNSIsICIyMDAxLTA4IikgaXMgIjIwMDAtMDQiCitZ
ZWFyCitQQVNTIHN0ZXBVcCgiMjAwMC0wMSIsICIyMDAwLTAxIiwgIjIwMDktMTIiKSBpcyAiMjAw
MS0wMSIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDEiLCAiMjAwMC0wMSIsICIyMDA5LTEyIikgaXMg
IjIwMDktMDEiCitQQVNTIHN0ZXBVcCgiMjAwMC0wMSIsICIxOTkwLTAxIiwgIjIwMDAtMTIiKSBp
cyAiMTk5MC0wMSIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDEiLCAiMTk5MC0wMSIsICIyMDAwLTEy
IikgaXMgIjE5OTktMDEiCitQQVNTIHN0ZXBVcCgiMjc1NzYwLTAxIiwgIjE5OTAtMDEiLCBudWxs
KSBpcyAiMTk5MC0wMSIKK1BBU1Mgc3RlcERvd24oIjE5OTAtMDEiLCAiMTk5MC0wMSIsIG51bGwp
IGlzICIyNzU3NjAtMDEiCitQQVNTIHN0ZXBVcCgiMjAwMC0wMSIsIG51bGwsICIyMDAwLTEyIikg
aXMgIjAwMDEtMDEiCitQQVNTIHN0ZXBEb3duKCIwMDAxLTAxIiwgbnVsbCwgIjIwMDAtMTIiKSBp
cyAiMjAwMC0wMSIKK1BBU1Mgc3RlcFVwKCIxOTkwLTAxIiwgIjIwMDAtMDEiLCAiMjAwOS0xMiIp
IGlzICIyMDAwLTAxIgorUEFTUyBzdGVwRG93bigiMTk5MC0wMSIsICIyMDAwLTAxIiwgIjIwMDkt
MTIiKSBpcyAiMjAwOS0wMSIKK1BBU1Mgc3RlcFVwKCIyMDIwLTAxIiwgIjIwMDAtMDEiLCAiMjAw
MC0xMiIpIGlzICIyMDAwLTAxIgorUEFTUyBzdGVwRG93bigiMjAyMC0wMSIsICIyMDAwLTAxIiwg
IjIwMDAtMTIiKSBpcyAiMjAwMC0wMSIKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
bW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRv
d24tZnJvbS1yZW5kZXJlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0
aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJl
bmRlcmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTFlYWJhNGUyNGJhYzQyZTZlNThiOWZlYzhiZDY5Mzdi
YTMzZjJiNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgt
bXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJv
bS1yZW5kZXJlci5odG1sCkBAIC0wLDAgKzEsNjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ0NoZWNrIHN0ZXBwaW5n
LXVwIGFuZCAtZG93biBmb3IgbW9udGggaW5wdXQgZmllbGRzIGZyb20gcmVuZGVyZXIuJyk7Citp
ZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKKyAgICBkZWJ1ZygnVGhpcyB0ZXN0IHJlcXVpcmVzIGV2
ZW50U2VuZGVyLicpOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1
dCcpOworaW5wdXQudHlwZSA9ICdtb250aCc7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlu
cHV0KTsKKworZnVuY3Rpb24gc2V0SW5wdXRBdHRyaWJ1dGVzKHZhbHVlLCBtaW4sIG1heCkgewor
ICAgIGlucHV0LnZhbHVlID0gdmFsdWU7CisgICAgaW5wdXQubWluID0gbWluOworICAgIGlucHV0
Lm1heCA9IG1heDsKK30KKworZnVuY3Rpb24gc3RlcFVwKHZhbHVlLCBtaW4sIG1heCkgeworICAg
IHNldElucHV0QXR0cmlidXRlcyh2YWx1ZSwgbWluLCBtYXgpOworICAgIGV2ZW50U2VuZGVyLmtl
eURvd24oJ3VwQXJyb3cnKTsKKyAgICByZXR1cm4gaW5wdXQudmFsdWU7Cit9CisKK2Z1bmN0aW9u
IHN0ZXBEb3duKHZhbHVlLCBtaW4sIG1heCkgeworICAgIHNldElucHV0QXR0cmlidXRlcyh2YWx1
ZSwgbWluLCBtYXgpOworICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ2Rvd25BcnJvdycpOworICAg
IHJldHVybiBpbnB1dC52YWx1ZTsKK30KKworaW5wdXQuZm9jdXMoKTsKK2RlYnVnKCdGdW5jdGlv
biBhcmd1bWVudHMgYXJlICh2YWx1ZSwgbWluLCBtYXgsIFtrZXlTZXF1ZW5jZV0pLicpOworZGVi
dWcoJ01vbnRoJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNSIsICIy
MDAwLTA1IiwgIjIwMDAtMTAiKScsICcyMDAwLTA2Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBEb3duKCIyMDAwLTA1IiwgIjIwMDAtMDUiLCAiMjAwMC0xMCIpJywgJzIwMDAtMTAnKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1IiwgIjIwMDAtMDIiLCAiMjAw
MC0wNSIpJywgJzIwMDAtMDInKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIw
MDAtMDUiLCAiMjAwMC0wMiIsICIyMDAwLTA1IiknLCAnMjAwMC0wNCcpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUiLCAiMjAwMC0wOCIsICIyMDAwLTEwIiknLCAnMjAw
MC0wOCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNSIsICIyMDAw
LTA4IiwgIjIwMDAtMTAiKScsICcyMDAwLTEwJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0
ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTAzIiwgIjIwMDAtMDMiKScsICcyMDAwLTAzJyk7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1IiwgIjIwMDAtMDMiLCAiMjAwMC0w
MyIpJywgJzIwMDAtMDMnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1
IiwgIjIwMDAtMDMiLCAiMjAwMS0wNSIpJywgJzIwMDAtMDYnKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0wNSIsICIyMDAxLTA4IiknLCAnMjAwMC0w
NCcpOworCitkZWJ1ZygnWWVhcicpOworZXZlbnRTZW5kZXIua2V5RG93bigncmlnaHRBcnJvdycp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDEiLCAiMjAwMC0wMSIsICIy
MDA5LTEyIiknLCAnMjAwMS0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigi
MjAwMC0wMSIsICIyMDAwLTAxIiwgIjIwMDktMTIiKScsICcyMDA5LTAxJyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wMSIsICIxOTkwLTAxIiwgIjIwMDAtMTIiKScsICcx
OTkwLTAxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTAxIiwgIjE5
OTAtMDEiLCAiMjAwMC0xMiIpJywgJzE5OTktMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIyNzU3NjAtMDEiLCAiMTk5MC0wMSIsIG51bGwpJywgJzE5OTAtMDEnKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE5OTAtMDEiLCAiMTk5MC0wMSIsIG51bGwpJywg
JzI3NTc2MC0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDEiLCBu
dWxsLCAiMjAwMC0xMiIpJywgJzAwMDEtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cERvd24oIjAwMDEtMDEiLCBudWxsLCAiMjAwMC0xMiIpJywgJzIwMDAtMDEnKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcFVwKCIxOTkwLTAxIiwgIjIwMDAtMDEiLCAiMjAwOS0xMiIpJywg
JzIwMDAtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE5OTAtMDEiLCAi
MjAwMC0wMSIsICIyMDA5LTEyIiknLCAnMjAwOS0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwVXAoIjIwMjAtMDEiLCAiMjAwMC0wMSIsICIyMDAwLTEyIiknLCAnMjAwMC0wMScpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAyMC0wMSIsICIyMDAwLTAxIiwgIjIw
MDAtMTIiKScsICcyMDAwLTAxJyk7CisKK2RlYnVnKCcnKTsKK2lucHV0LnJlbW92ZSgpOworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181644</attachid>
            <date>2013-01-07 22:35:55 -0800</date>
            <delta_ts>2013-01-07 23:20:37 -0800</delta_ts>
            <desc>Patch 3</desc>
            <filename>bug-106212-20130108153300.patch</filename>
            <type>text/plain</type>
            <size>47770</size>
            <attacher name="Kunihiko Sakamoto">ksakamoto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4ODk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTYxYWNhNzk0OGYxYzIy
ZDIyNzQ0NTUzMmVhYjg1YTJlYjNmZDllYi4uMzc0NjVkMTQyNDQ2ZjE5Mzk0Yjk1ZmJhYmFjMmFl
NzJiYzIwZjczOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEzLTAxLTA3ICBLdW5p
aGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSU5QVVRf
TVVMVElQTEVfRklFTERTX1VJOiBTdGVwLXVwLy1kb3duIG9mIG1vbnRoL2RheSBmaWVsZCBzaG91
bGQgcmVzcGVjdCBtaW4vbWF4IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjIxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc3RlcC11cC8tZG93biBvZiB0aGUgbW9udGggYW5k
IGRheSBmaWVsZHMgcmVzcGVjdCB0aGUgbWluL21heAorICAgICAgICBhdHRyaWJ1dGVzIG9mIHRo
ZSBlbGVtZW50LgorICAgICAgICBOb3RlIHRoYXQgdGhlc2UgZmllbGRzIHN0aWxsIGFjY2VwdCBh
bnkga2V5Ym9hcmQgaW5wdXRzICh0aGUgZWxlbWVudAorICAgICAgICBiZWNvbWVzICdpbnZhbGlk
JyBzdGF0ZSB3aGVuIG91dC1vZi1ib3VuZHMgdmFsdWVzIGVudGVyZWQpLgorCisgICAgICAgIFRl
c3RzOiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20t
cmVuZGVyZXIuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxl
LWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCisKKyAgICAgICAgKiBj
c3MvaHRtbC5jc3M6IEFkZCBDU1MgcnVsZXMgZm9yIG1vbnRoIGFuZCBkYXkgZmllbGRzLgorICAg
ICAgICAqIGh0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RGF0ZVRpbWVFZGl0QnVpbGRlcjo6dmlzaXRGaWVsZCk6CisgICAgICAgIENvbXB1dGUg
bWluaW11bS9tYXhpbXVtIHZhbHVlcyBvZiBtb250aC9kYXkgZmllbGRzIGZyb20gdGhlIG1pbi9t
YXgKKyAgICAgICAgcGFyYW1ldGVycyBvZiB0aGUgZWxlbWVudC4gSWYgbWluaW11bSwgbWF4aW11
bSwgYW5kIGN1cnJlbnQgdmFsdWUgaXMKKyAgICAgICAgdGhlIHNhbWUsIG1ha2VzIHRoZSBmaWVs
ZCByZWFkLW9ubHkuCisgICAgICAgICogaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lQU1QTUZpZWxkRWxlbWVudDo6RGF0ZVRp
bWVBTVBNRmllbGRFbGVtZW50KTogQWRkIG1pbmludW0vbWF4aW11bSBhcmd1bWVudHMuCisgICAg
ICAgIChXZWJDb3JlOjpEYXRlVGltZURheUZpZWxkRWxlbWVudDo6RGF0ZVRpbWVEYXlGaWVsZEVs
ZW1lbnQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lRGF5RmllbGRFbGVtZW50
OjpjcmVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lRGF5RmllbGRFbGVt
ZW50OjpjbGFtcFZhbHVlRm9ySGFyZExpbWl0cyk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudDo6RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudCk6IEFk
ZCBtaW5pbnVtL21heGltdW0gYXJndW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVN
b250aEZpZWxkRWxlbWVudDo6Y3JlYXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpEYXRl
VGltZU1vbnRoRmllbGRFbGVtZW50OjpjbGFtcFZhbHVlRm9ySGFyZExpbWl0cyk6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50OjpEYXRl
VGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQpOiBBZGQgbWluaW51bS9tYXhpbXVtIGFyZ3Vt
ZW50cy4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVu
dDo6Y3JlYXRlKTogRGl0dG8uCisgICAgICAgICogaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVs
ZW1lbnRzLmg6CisgICAgICAgIChEYXRlVGltZURheUZpZWxkRWxlbWVudCk6IEFkZCBtaW5pbnVt
L21heGltdW0gYXJndW1lbnRzIGFuZCBkZWNsYXJlIGNsYW1wVmFsdWVGb3JIYXJkTGltaXRzLgor
ICAgICAgICAoRGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudCk6IERpdHRvLgorICAgICAgICAoRGF0
ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50KTogQWRkIG1pbmludW0vbWF4aW11bSBhcmd1
bWVudHMuCisgICAgICAgICogaHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpE
YXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50KTogQWRkIG1pbmludW0vbWF4aW11bSBhcmd1bWVu
dHMuCisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjptYXhp
bXVtKTogUmV0dXJucyBtX21heGltdW1JbmRleCArIDEgYXMgaXQgYXNzdW1lcyAxLW9yaWdpbiB2
YWx1ZS4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6Om1p
bmltdW0pOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lU3ltYm9saWNGaWVsZEVs
ZW1lbnQ6OnN0ZXBEb3duKTogUmVzdHJpY3QgdmFsdWUgdG8gbV9taW5pbXVtSW5kZXgtbV9tYXhp
bXVtSW5kZXguCisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50
OjpzdGVwVXApOiBEaXR0by4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGlj
RmllbGRFbGVtZW50Lmg6CisgICAgICAgIChEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50KTog
QWRkIG1fbWluaW11bUluZGV4IGFuZCBtX21heGltdW1JbmRleC4KKyAgICAgICAgKFdlYkNvcmU6
OkRhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OmlzSW5SYW5nZSk6IEFkZGVkLgorCiAyMDEz
LTAxLTA1ICBaZW5vIEFsYmlzc2VyICA8emVub0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtUZXht
YXBdIFRleHR1cmVNYXBwZXJHTCBzaG91bGQgcmVzZXQgQVJSQVlfQlVGRkVSIGFmdGVyIHBhaW50
aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzIGIvU291cmNlL1dl
YkNvcmUvY3NzL2h0bWwuY3NzCmluZGV4IDBkMWIxZTlkMWM0YzMzNzQ2ZjZhMTYxYWEwMTMzNDA5
NTIyMjFlYjEuLjdlNjY0YTA5YjlhZjdiNDgzN2Y3NGJkY2UwZjczMmU2MDU3YTZmZjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvaHRtbC5jc3MKQEAgLTU4MCw2ICs1ODAsOCBAQCBpbnB1dDo6LXdlYmtpdC1kYXRldGltZS1l
ZGl0LXllYXItZmllbGQ6Zm9jdXMgewogfQogCiBpbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0
LXllYXItZmllbGRbcmVhZG9ubHldLAoraW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250
aC1maWVsZFtyZWFkb25seV0sCitpbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVs
ZFtyZWFkb25seV0sCiBpbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWFtcG0tZmllbGRbcmVh
ZG9ubHldLAogaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkW3JlYWRvbmx5
XSwKIGlucHV0Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWlsbGlzZWNvbmQtZmllbGRbcmVhZG9u
bHldLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVt
ZW50LmNwcAppbmRleCA1MWU2MGIwZmVkMGY4YzJlNGE0NDZkMDU2MTYyMTYwYmJjYjk5NGQ4Li5h
MThlNmUzOGNlMTFlYjY1YWUxNGM1MGNiMjA3N2Y1MWE4ZDI1MjgwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcApAQCAtMTA1LDkg
KzEwNSwyNCBAQCB2b2lkIERhdGVUaW1lRWRpdEJ1aWxkZXI6OnZpc2l0RmllbGQoRGF0ZVRpbWVG
b3JtYXQ6OkZpZWxkVHlwZSBmaWVsZFR5cGUsIGludCBjbwogICAgIERvY3VtZW50KiBjb25zdCBk
b2N1bWVudCA9IG1fZWRpdEVsZW1lbnQuZG9jdW1lbnQoKTsKIAogICAgIHN3aXRjaCAoZmllbGRU
eXBlKSB7Ci0gICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlRGF5T2ZNb250aDoKLSAg
ICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChEYXRlVGltZURheUZpZWxkRWxlbWVudDo6Y3Jl
YXRlKGRvY3VtZW50LCBtX2VkaXRFbGVtZW50LCBtX3BhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JE
YXkpKTsKKyAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVEYXlPZk1vbnRoOiB7Cisg
ICAgICAgIGludCBtaW5EYXkgPSAxLCBtYXhEYXkgPSAzMTsKKyAgICAgICAgaWYgKG1fcGFyYW1l
dGVycy5taW5pbXVtLnR5cGUoKSAhPSBEYXRlQ29tcG9uZW50czo6SW52YWxpZAorICAgICAgICAg
ICAgJiYgbV9wYXJhbWV0ZXJzLm1heGltdW0udHlwZSgpICE9IERhdGVDb21wb25lbnRzOjpJbnZh
bGlkCisgICAgICAgICAgICAmJiBtX3BhcmFtZXRlcnMubWluaW11bS5mdWxsWWVhcigpID09IG1f
cGFyYW1ldGVycy5tYXhpbXVtLmZ1bGxZZWFyKCkKKyAgICAgICAgICAgICYmIG1fcGFyYW1ldGVy
cy5taW5pbXVtLm1vbnRoKCkgPT0gbV9wYXJhbWV0ZXJzLm1heGltdW0ubW9udGgoKQorICAgICAg
ICAgICAgJiYgbV9wYXJhbWV0ZXJzLm1pbmltdW0ubW9udGhEYXkoKSA8PSBtX3BhcmFtZXRlcnMu
bWF4aW11bS5tb250aERheSgpKSB7CisgICAgICAgICAgICBtaW5EYXkgPSBtX3BhcmFtZXRlcnMu
bWluaW11bS5tb250aERheSgpOworICAgICAgICAgICAgbWF4RGF5ID0gbV9wYXJhbWV0ZXJzLm1h
eGltdW0ubW9udGhEYXkoKTsKKyAgICAgICAgfQorICAgICAgICBSZWZQdHI8RGF0ZVRpbWVGaWVs
ZEVsZW1lbnQ+IGZpZWxkID0gRGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVu
dCwgbV9lZGl0RWxlbWVudCwgbV9wYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yRGF5LCBtaW5EYXks
IG1heERheSk7CisgICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQoZmllbGQpOworICAgICAg
ICBpZiAobWluRGF5ID09IG1heERheSAmJiBtaW5EYXkgPT0gbV9kYXRlVmFsdWUubW9udGhEYXko
KSkgeworICAgICAgICAgICAgZmllbGQtPnNldFZhbHVlQXNEYXRlKG1fZGF0ZVZhbHVlKTsKKyAg
ICAgICAgICAgIGZpZWxkLT5zZXRSZWFkT25seSgpOworICAgICAgICB9CiAgICAgICAgIHJldHVy
bjsKKyAgICB9CiAKICAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVIb3VyMTE6IHsK
ICAgICAgICAgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpQYXJhbWV0ZXJzIHBhcmFtZXRl
cnMgPSBjcmVhdGVOdW1lcmljRmllbGRQYXJhbWV0ZXJzKHN0YXRpY19jYXN0PGludD4obXNQZXJI
b3VyKSwgc3RhdGljX2Nhc3Q8aW50Pihtc1BlckhvdXIgKiAxMikpOwpAQCAtMTY0LDM1ICsxNzks
MzYgQEAgdm9pZCBEYXRlVGltZUVkaXRCdWlsZGVyOjp2aXNpdEZpZWxkKERhdGVUaW1lRm9ybWF0
OjpGaWVsZFR5cGUgZmllbGRUeXBlLCBpbnQgY28KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZU1vbnRoOgotICAgICAgICBzd2l0Y2gg
KGNvdW50KSB7Ci0gICAgICAgIGNhc2UgY291bnRGb3JOYXJyb3dNb250aDogLy8gRmFsbHRocm91
Z2guCi0gICAgICAgIGNhc2UgY291bnRGb3JBYmJyZXZpYXRlZE1vbnRoOgotICAgICAgICAgICAg
bV9lZGl0RWxlbWVudC5hZGRGaWVsZChEYXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ6
OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwgbV9wYXJhbWV0ZXJzLmxvY2FsZS5zaG9y
dE1vbnRoTGFiZWxzKCkpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIGNvdW50
Rm9yRnVsbE1vbnRoOgotICAgICAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChEYXRlVGlt
ZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVu
dCwgbV9wYXJhbWV0ZXJzLmxvY2FsZS5tb250aExhYmVscygpKSk7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQo
RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCBtX2VkaXRFbGVtZW50
LCBtX3BhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JNb250aCkpOwotICAgICAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTW9udGg6IC8vIEZhbGx0aHJvdWdo
LgorICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZU1vbnRoU3RhbmRBbG9uZTogewor
ICAgICAgICBpbnQgbWluTW9udGggPSAwLCBtYXhNb250aCA9IDExOworICAgICAgICBpZiAobV9w
YXJhbWV0ZXJzLm1pbmltdW0udHlwZSgpICE9IERhdGVDb21wb25lbnRzOjpJbnZhbGlkCisgICAg
ICAgICAgICAmJiBtX3BhcmFtZXRlcnMubWF4aW11bS50eXBlKCkgIT0gRGF0ZUNvbXBvbmVudHM6
OkludmFsaWQKKyAgICAgICAgICAgICYmIG1fcGFyYW1ldGVycy5taW5pbXVtLmZ1bGxZZWFyKCkg
PT0gbV9wYXJhbWV0ZXJzLm1heGltdW0uZnVsbFllYXIoKQorICAgICAgICAgICAgJiYgbV9wYXJh
bWV0ZXJzLm1pbmltdW0ubW9udGgoKSA8PSBtX3BhcmFtZXRlcnMubWF4aW11bS5tb250aCgpKSB7
CisgICAgICAgICAgICBtaW5Nb250aCA9IG1fcGFyYW1ldGVycy5taW5pbXVtLm1vbnRoKCk7Cisg
ICAgICAgICAgICBtYXhNb250aCA9IG1fcGFyYW1ldGVycy5tYXhpbXVtLm1vbnRoKCk7CiAgICAg
ICAgIH0KLSAgICAgICAgcmV0dXJuOwotCi0gICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRU
eXBlTW9udGhTdGFuZEFsb25lOgorICAgICAgICBSZWZQdHI8RGF0ZVRpbWVGaWVsZEVsZW1lbnQ+
IGZpZWxkOwogICAgICAgICBzd2l0Y2ggKGNvdW50KSB7CiAgICAgICAgIGNhc2UgY291bnRGb3JO
YXJyb3dNb250aDogLy8gRmFsbHRocm91Z2guCiAgICAgICAgIGNhc2UgY291bnRGb3JBYmJyZXZp
YXRlZE1vbnRoOgotICAgICAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChEYXRlVGltZVN5
bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwg
bV9wYXJhbWV0ZXJzLmxvY2FsZS5zaG9ydFN0YW5kQWxvbmVNb250aExhYmVscygpKSk7CisgICAg
ICAgICAgICBmaWVsZCA9IERhdGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVudDo6Y3JlYXRl
KGRvY3VtZW50LCBtX2VkaXRFbGVtZW50LCBmaWVsZFR5cGUgPT0gRGF0ZVRpbWVGb3JtYXQ6OkZp
ZWxkVHlwZU1vbnRoID8gbV9wYXJhbWV0ZXJzLmxvY2FsZS5zaG9ydE1vbnRoTGFiZWxzKCkgOiBt
X3BhcmFtZXRlcnMubG9jYWxlLnNob3J0U3RhbmRBbG9uZU1vbnRoTGFiZWxzKCksIG1pbk1vbnRo
LCBtYXhNb250aCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBjb3VudEZvckZ1
bGxNb250aDoKLSAgICAgICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQoRGF0ZVRpbWVTeW1i
b2xpY01vbnRoRmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIG1f
cGFyYW1ldGVycy5sb2NhbGUuc3RhbmRBbG9uZU1vbnRoTGFiZWxzKCkpKTsKKyAgICAgICAgICAg
IGZpZWxkID0gRGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1l
bnQsIG1fZWRpdEVsZW1lbnQsIGZpZWxkVHlwZSA9PSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBl
TW9udGggPyBtX3BhcmFtZXRlcnMubG9jYWxlLm1vbnRoTGFiZWxzKCkgOiBtX3BhcmFtZXRlcnMu
bG9jYWxlLnN0YW5kQWxvbmVNb250aExhYmVscygpLCBtaW5Nb250aCwgbWF4TW9udGgpOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBtX2VkaXRFbGVt
ZW50LmFkZEZpZWxkKERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwg
bV9lZGl0RWxlbWVudCwgbV9wYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yTW9udGgpKTsKKyAgICAg
ICAgICAgIGZpZWxkID0gRGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50
LCBtX2VkaXRFbGVtZW50LCBtX3BhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JNb250aCwgbWluTW9u
dGggKyAxLCBtYXhNb250aCArIDEpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAg
ICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChmaWVsZCk7CisgICAgICAgIGlmIChtaW5Nb250
aCA9PSBtYXhNb250aCAmJiBtaW5Nb250aCA9PSBtX2RhdGVWYWx1ZS5tb250aCgpKSB7CisgICAg
ICAgICAgICBmaWVsZC0+c2V0VmFsdWVBc0RhdGUobV9kYXRlVmFsdWUpOworICAgICAgICAgICAg
ZmllbGQtPnNldFJlYWRPbmx5KCk7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuOworICAgIH0K
IAogICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZVBlcmlvZDogewogICAgICAgICBS
ZWZQdHI8RGF0ZVRpbWVGaWVsZEVsZW1lbnQ+IGZpZWxkID0gRGF0ZVRpbWVBTVBNRmllbGRFbGVt
ZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQsIG1fcGFyYW1ldGVycy5sb2NhbGUu
dGltZUFNUE1MYWJlbHMoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9EYXRlVGltZUZpZWxkRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
RGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcAppbmRleCAzMTAwZDgwMmM1MzBlMDRkNGY5YmE0Y2Q0
NjJhZmMxMWZlZDhjYjQxLi5lMWJlNjgyNzFiMDgyYTY0ZjhmNzQ2YjAxYTBiMDhkZjhhNTU1YzM5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxl
bWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRF
bGVtZW50cy5jcHAKQEAgLTM2LDcgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRGF0
ZVRpbWVBTVBNRmllbGRFbGVtZW50OjpEYXRlVGltZUFNUE1GaWVsZEVsZW1lbnQoRG9jdW1lbnQq
IGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYg
YW1wbUxhYmVscykKLSAgICA6IERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQs
IGZpZWxkT3duZXIsIGFtcG1MYWJlbHMpCisgICAgOiBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVt
ZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCBhbXBtTGFiZWxzLCAwLCAxKQogewogfQogCkBAIC03
MSwxNSArNzEsMTUgQEAgdm9pZCBEYXRlVGltZUFNUE1GaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNE
YXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaW1lRmllbGQKIAogLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogCi1EYXRlVGltZURheUZpZWxkRWxlbWVudDo6RGF0ZVRpbWVEYXlG
aWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBj
b25zdCBTdHJpbmcmIHBsYWNlaG9sZGVyKQotICAgIDogRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVt
ZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCAxLCAzMSwgcGxhY2Vob2xkZXIpCitEYXRlVGltZURh
eUZpZWxkRWxlbWVudDo6RGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50
LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9sZGVyLCBpbnQg
bWluaW11bSwgaW50IG1heGltdW0pCisgICAgOiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQo
ZG9jdW1lbnQsIGZpZWxkT3duZXIsIG1pbmltdW0sIG1heGltdW0sIHBsYWNlaG9sZGVyKQogewog
fQogCi1QYXNzUmVmUHRyPERhdGVUaW1lRGF5RmllbGRFbGVtZW50PiBEYXRlVGltZURheUZpZWxk
RWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25l
ciwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlcikKK1Bhc3NSZWZQdHI8RGF0ZVRpbWVEYXlGaWVs
ZEVsZW1lbnQ+IERhdGVUaW1lRGF5RmllbGRFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3Vt
ZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9sZGVyLCBp
bnQgbWluaW11bSwgaW50IG1heGltdW0pCiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9t
aWNTdHJpbmcsIGRheVBzdWVkb0lkLCAoIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQi
LCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgUmVmUHRyPERhdGVU
aW1lRGF5RmllbGRFbGVtZW50PiBmaWVsZCA9IGFkb3B0UmVmKG5ldyBEYXRlVGltZURheUZpZWxk
RWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcGxhY2Vob2xkZXIuaXNFbXB0eSgpID8gQVND
SUlMaXRlcmFsKCItLSIpIDogcGxhY2Vob2xkZXIpKTsKKyAgICBSZWZQdHI8RGF0ZVRpbWVEYXlG
aWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1lRGF5RmllbGRFbGVtZW50
KGRvY3VtZW50LCBmaWVsZE93bmVyLCBwbGFjZWhvbGRlci5pc0VtcHR5KCkgPyBBU0NJSUxpdGVy
YWwoIi0tIikgOiBwbGFjZWhvbGRlciwgbWluaW11bSwgbWF4aW11bSkpOwogICAgIGZpZWxkLT5p
bml0aWFsaXplKGRheVBzdWVkb0lkLCBBWERheU9mTW9udGhGaWVsZFRleHQoKSk7CiAgICAgcmV0
dXJuIGZpZWxkLnJlbGVhc2UoKTsKIH0KQEAgLTExMCw2ICsxMTAsMTEgQEAgdm9pZCBEYXRlVGlt
ZURheUZpZWxkRWxlbWVudDo6c2V0VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0
ZVRpbWVGaWVsZHMKICAgICBzZXRFbXB0eVZhbHVlKCk7CiB9CiAKK2ludCBEYXRlVGltZURheUZp
ZWxkRWxlbWVudDo6Y2xhbXBWYWx1ZUZvckhhcmRMaW1pdHMoaW50IHZhbHVlKSBjb25zdAorewor
ICAgIHJldHVybiBSYW5nZSgxLCAzMSkuY2xhbXBWYWx1ZSh2YWx1ZSk7Cit9CisKIC8vIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogRGF0ZVRpbWVIb3VyRmllbGRFbGVtZW50OjpEYXRl
VGltZUhvdXJGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVs
ZE93bmVyLCBpbnQgbWluaW11bSwgaW50IG1heGltdW0sIGNvbnN0IERhdGVUaW1lTnVtZXJpY0Zp
ZWxkRWxlbWVudDo6UGFyYW1ldGVycyYgcGFyYW1ldGVycykKQEAgLTI5OSwxNSArMzA0LDE1IEBA
IHZvaWQgRGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlVGltZUZpZWxk
c1N0YXRlKGNvbnN0IERhdGVUaW1lRmllCiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIAotRGF0ZVRpbWVNb250aEZpZWxkRWxlbWVudDo6RGF0ZVRpbWVNb250aEZpZWxkRWxlbWVu
dChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFN0cmlu
ZyYgcGxhY2Vob2xkZXIpCi0gICAgOiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQoZG9jdW1l
bnQsIGZpZWxkT3duZXIsIDEsIDEyLCBwbGFjZWhvbGRlcikKK0RhdGVUaW1lTW9udGhGaWVsZEVs
ZW1lbnQ6OkRhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVs
ZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9sZGVyLCBpbnQgbWluaW11
bSwgaW50IG1heGltdW0pCisgICAgOiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQoZG9jdW1l
bnQsIGZpZWxkT3duZXIsIG1pbmltdW0sIG1heGltdW0sIHBsYWNlaG9sZGVyKQogewogfQogCi1Q
YXNzUmVmUHRyPERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ+IERhdGVUaW1lTW9udGhGaWVsZEVs
ZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIs
IGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIpCitQYXNzUmVmUHRyPERhdGVUaW1lTW9udGhGaWVs
ZEVsZW1lbnQ+IERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9j
dW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIs
IGludCBtaW5pbXVtLCBpbnQgbWF4aW11bSkKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0
b21pY1N0cmluZywgbW9udGhQc3VlZG9JZCwgKCItd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgt
ZmllbGQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgUmVmUHRy
PERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1l
TW9udGhGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIHBsYWNlaG9sZGVyLmlzRW1w
dHkoKSA/IEFTQ0lJTGl0ZXJhbCgiLS0iKSA6IHBsYWNlaG9sZGVyKSk7CisgICAgUmVmUHRyPERh
dGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1lTW9u
dGhGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIHBsYWNlaG9sZGVyLmlzRW1wdHko
KSA/IEFTQ0lJTGl0ZXJhbCgiLS0iKSA6IHBsYWNlaG9sZGVyLCBtaW5pbXVtLCBtYXhpbXVtKSk7
CiAgICAgZmllbGQtPmluaXRpYWxpemUobW9udGhQc3VlZG9JZCwgQVhNb250aEZpZWxkVGV4dCgp
KTsKICAgICByZXR1cm4gZmllbGQucmVsZWFzZSgpOwogfQpAQCAtMzM4LDYgKzM0MywxMSBAQCB2
b2lkIERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0
YXRlKGNvbnN0IERhdGVUaW1lRmllbAogICAgIHNldEVtcHR5VmFsdWUoKTsKIH0KIAoraW50IERh
dGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ6OmNsYW1wVmFsdWVGb3JIYXJkTGltaXRzKGludCB2YWx1
ZSkgY29uc3QKK3sKKyAgICByZXR1cm4gUmFuZ2UoMSwgMTIpLmNsYW1wVmFsdWUodmFsdWUpOwor
fQorCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIERhdGVUaW1lU2Vjb25kRmll
bGRFbGVtZW50OjpEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQs
IEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVu
dDo6UGFyYW1ldGVycyYgcGFyYW1ldGVycykKQEAgLTM4MSwxNSArMzkxLDE1IEBAIHZvaWQgRGF0
ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNv
bnN0IERhdGVUaW1lRmllCiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotRGF0
ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50OjpEYXRlVGltZVN5bWJvbGljTW9udGhGaWVs
ZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25z
dCBWZWN0b3I8U3RyaW5nPiYgbGFiZWxzKQotICAgIDogRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxl
bWVudChkb2N1bWVudCwgZmllbGRPd25lciwgbGFiZWxzKQorRGF0ZVRpbWVTeW1ib2xpY01vbnRo
RmllbGRFbGVtZW50OjpEYXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQoRG9jdW1lbnQq
IGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYg
bGFiZWxzLCBpbnQgbWluaW11bSwgaW50IG1heGltdW0pCisgICAgOiBEYXRlVGltZVN5bWJvbGlj
RmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCBsYWJlbHMsIG1pbmltdW0sIG1heGlt
dW0pCiB7CiB9CiAKLVBhc3NSZWZQdHI8RGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50
PiBEYXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9j
dW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsYWJl
bHMpCitQYXNzUmVmUHRyPERhdGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVudD4gRGF0ZVRp
bWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBG
aWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbGFiZWxzLCBpbnQg
bWluaW11bSwgaW50IG1heGltdW0pCiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNT
dHJpbmcsIG1vbnRoUHN1ZWRvSWQsICgiLXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxk
IiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIFJlZlB0cjxEYXRl
VGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVU
aW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgbGFiZWxz
KSk7CisgICAgUmVmUHRyPERhdGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVudD4gZmllbGQg
PSBhZG9wdFJlZihuZXcgRGF0ZVRpbWVTeW1ib2xpY01vbnRoRmllbGRFbGVtZW50KGRvY3VtZW50
LCBmaWVsZE93bmVyLCBsYWJlbHMsIG1pbmltdW0sIG1heGltdW0pKTsKICAgICBmaWVsZC0+aW5p
dGlhbGl6ZShtb250aFBzdWVkb0lkLCBBWE1vbnRoRmllbGRUZXh0KCkpOwogICAgIHJldHVybiBm
aWVsZC5yZWxlYXNlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9EYXRlVGltZUZpZWxkRWxlbWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lRmllbGRFbGVtZW50cy5oCmluZGV4IGNhM2JjYzU0NjFlMzJmMTE5ODk0MjY3MGE3MGQ4
MzU0NjIxY2E4YjEuLmMzN2Q3YTMzODA3N2E4MDljMjRhYzFjNDQwOWQ3NDkzYjI5OGY5MWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50
cy5oCkBAIC01MSwxNSArNTEsMTggQEAgY2xhc3MgRGF0ZVRpbWVEYXlGaWVsZEVsZW1lbnQgOiBw
dWJsaWMgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShEYXRlVGltZURheUZpZWxkRWxlbWVudCk7CiAKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxEYXRlVGltZURheUZpZWxkRWxlbWVudD4gY3JlYXRlKERvY3VtZW50KiwgRmllbGRP
d25lciYsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIpOworICAgIHN0YXRpYyBQYXNzUmVmUHRy
PERhdGVUaW1lRGF5RmllbGRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwg
Y29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlciwgaW50IG1pbmltdW0sIGludCBtYXhpbXVtKTsKIAog
cHJpdmF0ZToKLSAgICBEYXRlVGltZURheUZpZWxkRWxlbWVudChEb2N1bWVudCosIEZpZWxkT3du
ZXImLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9sZGVyKTsKKyAgICBEYXRlVGltZURheUZpZWxkRWxl
bWVudChEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9sZGVyLCBp
bnQgbWluaW11bSwgaW50IG1heGltdW0pOwogCiAgICAgLy8gRGF0ZVRpbWVGaWVsZEVsZW1lbnQg
ZnVuY3Rpb25zLgogICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUo
RGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJTkFMOwogICAgIHZpcnR1YWwgdm9pZCBz
ZXRWYWx1ZUFzRGF0ZShjb25zdCBEYXRlQ29tcG9uZW50cyYpIE9WRVJSSURFIEZJTkFMOwogICAg
IHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGlt
ZUZpZWxkc1N0YXRlJikgT1ZFUlJJREUgRklOQUw7CisKKyAgICAvLyBEYXRlVGltZU51bWVyaWNG
aWVsZEVsZW1lbnQgZnVuY3Rpb24uCisgICAgdmlydHVhbCBpbnQgY2xhbXBWYWx1ZUZvckhhcmRM
aW1pdHMoaW50KSBjb25zdCBPVkVSUklERSBGSU5BTDsKIH07CiAKIC8vIERhdGVUaW1lSG91ckZp
ZWxkRWxlbWVudCBpcyB1c2VkIGZvciBob3VyIGZpZWxkIG9mIGRhdGUgdGltZSBmb3JtYXQKQEAg
LTEyMSwxNSArMTI0LDE4IEBAIGNsYXNzIERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQgOiBwdWJs
aWMgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShEYXRlVGltZU1vbnRoRmllbGRFbGVtZW50KTsKIAogcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPERhdGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCosIEZpZWxk
T3duZXImLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9sZGVyKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxEYXRlVGltZU1vbnRoRmllbGRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqLCBGaWVsZE93bmVy
JiwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlciwgaW50IG1pbmltdW0sIGludCBtYXhpbXVtKTsK
IAogcHJpdmF0ZToKLSAgICBEYXRlVGltZU1vbnRoRmllbGRFbGVtZW50KERvY3VtZW50KiwgRmll
bGRPd25lciYsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIpOworICAgIERhdGVUaW1lTW9udGhG
aWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgU3RyaW5nJiBwbGFjZWhv
bGRlciwgaW50IG1pbmltdW0sIGludCBtYXhpbXVtKTsKIAogICAgIC8vIERhdGVUaW1lRmllbGRF
bGVtZW50IGZ1bmN0aW9ucy4KICAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVEYXRlVGltZUZpZWxk
c1N0YXRlKERhdGVUaW1lRmllbGRzU3RhdGUmKSBPVkVSUklERSBGSU5BTDsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0VmFsdWVBc0RhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBPVkVSUklERSBGSU5B
TDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3Qg
RGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJTkFMOworCisgICAgLy8gRGF0ZVRpbWVO
dW1lcmljRmllbGRFbGVtZW50IGZ1bmN0aW9uLgorICAgIHZpcnR1YWwgaW50IGNsYW1wVmFsdWVG
b3JIYXJkTGltaXRzKGludCkgY29uc3QgT1ZFUlJJREUgRklOQUw7CiB9OwogCiBjbGFzcyBEYXRl
VGltZVNlY29uZEZpZWxkRWxlbWVudCA6IHB1YmxpYyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1l
bnQgewpAQCAtMTUxLDEwICsxNTcsMTAgQEAgY2xhc3MgRGF0ZVRpbWVTeW1ib2xpY01vbnRoRmll
bGRFbGVtZW50IDogcHVibGljIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQgewogICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lU3ltYm9saWNNb250aEZpZWxkRWxlbWVudCk7CiAK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRlVGltZVN5bWJvbGljTW9udGhGaWVs
ZEVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBWZWN0b3I8U3Ry
aW5nPiYpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPERhdGVUaW1lU3ltYm9saWNNb250aEZpZWxk
RWxlbWVudD4gY3JlYXRlKERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiwgaW50IG1pbmltdW0sIGludCBtYXhpbXVtKTsKIAogcHJpdmF0ZToKLSAgICBEYXRlVGlt
ZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3Qg
VmVjdG9yPFN0cmluZz4mKTsKKyAgICBEYXRlVGltZVN5bWJvbGljTW9udGhGaWVsZEVsZW1lbnQo
RG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBpbnQgbWluaW11
bSwgaW50IG1heGltdW0pOwogCiAgICAgLy8gRGF0ZVRpbWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25z
LgogICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVG
aWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJTkFMOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmNwcAppbmRleCA0
ZjU0ZjE1MjkyNmRjNzg5ZDg0ZmI5OGRjOTM0YjQ1YjQ2NGU2MjFiLi5iYzEwZDYyY2EwOTdiNDU1
MzkwNjQ2MmM2ZWU5NTc2NDQzNDMzNzI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50LmNwcApAQCAtNDcs
MTQgKzQ3LDE5IEBAIHN0YXRpYyBBdG9taWNTdHJpbmcgbWFrZVZpc2libGVFbXB0eVZhbHVlKGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiBzeW1ib2xzKQogICAgIHJldHVybiBidWlsZGVyLnRvQXRvbWlj
U3RyaW5nKCk7CiB9CiAKLURhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lU3lt
Ym9saWNGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93
bmVyLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc3ltYm9scykKK0RhdGVUaW1lU3ltYm9saWNGaWVs
ZEVsZW1lbnQ6OkRhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50
LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc3ltYm9scywg
aW50IG1pbmltdW0sIGludCBtYXhpbXVtKQogICAgIDogRGF0ZVRpbWVGaWVsZEVsZW1lbnQoZG9j
dW1lbnQsIGZpZWxkT3duZXIpCiAgICAgLCBtX3N5bWJvbHMoc3ltYm9scykKICAgICAsIG1fdmlz
aWJsZUVtcHR5VmFsdWUobWFrZVZpc2libGVFbXB0eVZhbHVlKHN5bWJvbHMpKQogICAgICwgbV9z
ZWxlY3RlZEluZGV4KC0xKQogICAgICwgbV90eXBlQWhlYWQodGhpcykKKyAgICAsIG1fbWluaW11
bUluZGV4KG1pbmltdW0pCisgICAgLCBtX21heGltdW1JbmRleChtYXhpbXVtKQogewogICAgIEFT
U0VSVCghc3ltYm9scy5pc0VtcHR5KCkpOworICAgIEFTU0VSVChtX21pbmltdW1JbmRleCA+PSAw
KTsKKyAgICBBU1NFUlQobV9tYXhpbXVtSW5kZXggPCBzdGF0aWNfY2FzdDxpbnQ+KG1fc3ltYm9s
cy5zaXplKCkpKTsKKyAgICBBU1NFUlQobV9taW5pbXVtSW5kZXggPD0gbV9tYXhpbXVtSW5kZXgp
OwogfQogCiBmbG9hdCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjptYXhpbXVtV2lkdGgo
Y29uc3QgRm9udCYgZm9udCkKQEAgLTg5LDEyICs5NCwxMiBAQCBib29sIERhdGVUaW1lU3ltYm9s
aWNGaWVsZEVsZW1lbnQ6Omhhc1ZhbHVlKCkgY29uc3QKIAogaW50IERhdGVUaW1lU3ltYm9saWNG
aWVsZEVsZW1lbnQ6Om1heGltdW0oKSBjb25zdAogewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxp
bnQ+KG1fc3ltYm9scy5zaXplKCkpOworICAgIHJldHVybiBtX21heGltdW1JbmRleCArIDE7CiB9
CiAKIGludCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjptaW5pbXVtKCkgY29uc3QKIHsK
LSAgICByZXR1cm4gMTsKKyAgICByZXR1cm4gbV9taW5pbXVtSW5kZXggKyAxOwogfQogCiB2b2lk
IERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQ6OnNldEVtcHR5VmFsdWUoRXZlbnRCZWhhdmlv
ciBldmVudEJlaGF2aW9yKQpAQCAtMTEzLDE0ICsxMTgsMjEgQEAgdm9pZCBEYXRlVGltZVN5bWJv
bGljRmllbGRFbGVtZW50OjpzZXRWYWx1ZUFzSW50ZWdlcihpbnQgbmV3U2VsZWN0ZWRJbmRleCwg
RXZlbnQKIAogdm9pZCBEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50OjpzdGVwRG93bigpCiB7
Ci0gICAgY29uc3QgaW50IHNpemUgPSBtX3N5bWJvbHMuc2l6ZSgpOwotICAgIG1fc2VsZWN0ZWRJ
bmRleCA9IGhhc1ZhbHVlKCkgPyAobV9zZWxlY3RlZEluZGV4ICsgc2l6ZSAtIDEpICUgc2l6ZSA6
IHNpemUgLSAxOworICAgIGlmIChoYXNWYWx1ZSgpKSB7CisgICAgICAgIGlmICghaXNJblJhbmdl
KC0tbV9zZWxlY3RlZEluZGV4KSkKKyAgICAgICAgICAgIG1fc2VsZWN0ZWRJbmRleCA9IG1fbWF4
aW11bUluZGV4OworICAgIH0gZWxzZQorICAgICAgICBtX3NlbGVjdGVkSW5kZXggPSBtX21heGlt
dW1JbmRleDsKICAgICB1cGRhdGVWaXNpYmxlVmFsdWUoRGlzcGF0Y2hFdmVudCk7CiB9CiAKIHZv
aWQgRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudDo6c3RlcFVwKCkKIHsKLSAgICBtX3NlbGVj
dGVkSW5kZXggPSBoYXNWYWx1ZSgpID8gKG1fc2VsZWN0ZWRJbmRleCArIDEpICUgbV9zeW1ib2xz
LnNpemUoKSA6IDA7CisgICAgaWYgKGhhc1ZhbHVlKCkpIHsKKyAgICAgICAgaWYgKCFpc0luUmFu
Z2UoKyttX3NlbGVjdGVkSW5kZXgpKQorICAgICAgICAgICAgbV9zZWxlY3RlZEluZGV4ID0gbV9t
aW5pbXVtSW5kZXg7CisgICAgfSBlbHNlCisgICAgICAgIG1fc2VsZWN0ZWRJbmRleCA9IG1fbWlu
aW11bUluZGV4OwogICAgIHVwZGF0ZVZpc2libGVWYWx1ZShEaXNwYXRjaEV2ZW50KTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xpY0Zp
ZWxkRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVTeW1ib2xp
Y0ZpZWxkRWxlbWVudC5oCmluZGV4IDY4ZjFlMjk5MGMxMzQwOTcxYjc3NjY1ZjY1NTc2MmYyNTNj
MjNiNzQuLjEzZDc2NmZjZDM2MTExYjE3YWE2OThlNTAxN2IzN2RiOTA5NWJiYTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZVN5bWJvbGljRmll
bGRFbGVtZW50LmgKQEAgLTM4LDcgKzM4LDcgQEAgY2xhc3MgRGF0ZVRpbWVTeW1ib2xpY0ZpZWxk
RWxlbWVudCA6IHB1YmxpYyBEYXRlVGltZUZpZWxkRWxlbWVudCwgcHVibGljIFR5cGVBaGUKICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRlVGltZVN5bWJvbGljRmllbGRFbGVtZW50KTsKIAog
cHJvdGVjdGVkOgotICAgIERhdGVUaW1lU3ltYm9saWNGaWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBG
aWVsZE93bmVyJiwgY29uc3QgVmVjdG9yPFN0cmluZz4mKTsKKyAgICBEYXRlVGltZVN5bWJvbGlj
RmllbGRFbGVtZW50KERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiwgaW50IG1pbmltdW0sIGludCBtYXhpbXVtKTsKICAgICBzaXplX3Qgc3ltYm9sc1NpemUoKSBj
b25zdCB7IHJldHVybiBtX3N5bWJvbHMuc2l6ZSgpOyB9CiAgICAgdmlydHVhbCBib29sIGhhc1Zh
bHVlKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCB2b2lkIHNldEVtcHR5VmFs
dWUoRXZlbnRCZWhhdmlvciA9IERpc3BhdGNoTm9FdmVudCkgT1ZFUlJJREUgRklOQUw7CkBAIC00
OSw2ICs0OSw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IGludCBpbnZhbGlkSW5kZXgg
PSAtMTsKIAogICAgIFN0cmluZyB2aXNpYmxlRW1wdHlWYWx1ZSgpIGNvbnN0OworICAgIGJvb2wg
aXNJblJhbmdlKGludCBpbmRleCkgY29uc3QgeyByZXR1cm4gaW5kZXggPj0gbV9taW5pbXVtSW5k
ZXggJiYgaW5kZXggPD0gbV9tYXhpbXVtSW5kZXg7IH0KIAogICAgIC8vIERhdGVUaW1lRmllbGRF
bGVtZW50IGZ1bmN0aW9ucy4KICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlS2V5Ym9hcmRFdmVudChL
ZXlib2FyZEV2ZW50KikgT1ZFUlJJREUgRklOQUw7CkBAIC03Miw2ICs3Myw4IEBAIHByaXZhdGU6
CiAgICAgY29uc3QgQXRvbWljU3RyaW5nIG1fdmlzaWJsZUVtcHR5VmFsdWU7CiAgICAgaW50IG1f
c2VsZWN0ZWRJbmRleDsKICAgICBUeXBlQWhlYWQgbV90eXBlQWhlYWQ7CisgICAgY29uc3QgaW50
IG1fbWluaW11bUluZGV4OworICAgIGNvbnN0IGludCBtX21heGltdW1JbmRleDsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjNmJkYTcxZTA1MTYyZDc3NjkyMDM5Mzg0YTg2
NjcwMjM5MWNkZjcxLi43ZGM4YzAxMjUzYjI5ZGIxMTljMjBiZWQ1MTAyYWVlMjA2MDRhZjYwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMDEtMDcgIEt1bmloaWtvIFNha2Ftb3RvICA8a3Nh
a2Ftb3RvQGNocm9taXVtLm9yZz4KKworICAgICAgICBJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUk6
IFN0ZXAtdXAvLWRvd24gb2YgbW9udGgvZGF5IGZpZWxkIHNob3VsZCByZXNwZWN0IG1pbi9tYXgg
YXR0cmlidXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTA2MjEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LXJlYWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2Rh
dGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxk
Lmh0bWw6IEFkZCB0ZXN0cyBmb3IgbW9udGggYW5kIGRheSBmaWVsZHMuCisgICAgICAgICogZmFz
dC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAt
c3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVw
LXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jt
cy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1
YmZpZWxkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1t
dWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZpZWxkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21v
bnRoLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRz
L21vbnRoLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1s
OiBBZGRlZC4KKwogMjAxMy0wMS0wNSAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVt
ZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgRUZMIGdhcmRlbmluZy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1y
ZWFkb25seS1zdWJmaWVsZC1leHBlY3RlZC50eHQKaW5kZXggYjhmMGVlMzU5ZGZhOGUwMzJmODA3
ODljZmY5Y2Q1NjQzNDkwNWNjYi4uOGMwYzI3NWU5MDRmNzk1YmU5ZGU5M2I1Y2E4ZTFhMDAyZGNh
NWQzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZp
ZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC1leHBlY3RlZC50eHQKQEAgLTE0LDYgKzE0
LDI3IEBAIFBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0wMS0wMSIs
ICIyMDEyLTEyLTMxIiwgIiIpLCBwc2V1ZG9ZZWFyCiBQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVh
dGVEYXRlSW5wdXQoIjIwMTItMDEtMDEiLCAiMjAxMy0xMi0zMSIsICIiKSwgcHNldWRvWWVhcikg
aXMgZmFsc2UKIFBBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0wMS0w
MSIsICIyMDEyLTEyLTMxIiwgIjIwMTItMDUtMzAiKSwgcHNldWRvWWVhcikgaXMgdHJ1ZQogUEFT
UyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTAxLTAxIiwgIjIwMTItMTIt
MzEiLCAiMjAxMy0wMS0wMSIpLCBwc2V1ZG9ZZWFyKSBpcyBmYWxzZQorTW9udGggZmllbGQ6CitQ
QVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIiIsICIiLCAiIiksIHBzZXVkb01v
bnRoKSBpcyBmYWxzZQorUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEy
LTEyLTE3IiwgIiIsICIiKSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCitQQVNTIGlzUmVhZE9ubHlG
aWVsZChjcmVhdGVEYXRlSW5wdXQoIiIsICIyMDEyLTEyLTE3IiwgIiIpLCBwc2V1ZG9Nb250aCkg
aXMgZmFsc2UKK1BBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIiIsICIy
MDEyLTEyLTE3IiksIHBzZXVkb01vbnRoKSBpcyBmYWxzZQorUEFTUyBpc1JlYWRPbmx5RmllbGQo
Y3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTAxIiwgIjIwMTItMTItMzEiLCAiIiksIHBzZXVkb01v
bnRoKSBpcyB0cnVlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTIt
MTEtMDEiLCAiMjAxMy0xMi0zMSIsICIiKSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCitQQVNTIGlz
UmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMDEiLCAiMjAxMy0xMi0zMSIs
ICIiKSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVE
YXRlSW5wdXQoIjIwMTItMTItMDEiLCAiMjAxMi0xMi0zMSIsICIyMDEyLTEyLTE1IiksIHBzZXVk
b01vbnRoKSBpcyB0cnVlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIw
MTItMTItMDEiLCAiMjAxMi0xMi0zMSIsICIyMDEyLTExLTMwIiksIHBzZXVkb01vbnRoKSBpcyBm
YWxzZQorRGF5IGZpZWxkOgorUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIi
LCAiIiwgIiIpLCBwc2V1ZG9EYXkpIGlzIGZhbHNlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVh
dGVEYXRlSW5wdXQoIjIwMTItMTItMTciLCAiIiwgIiIpLCBwc2V1ZG9EYXkpIGlzIGZhbHNlCitQ
QVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIiIsICIyMDEyLTEyLTE3IiwgIiIp
LCBwc2V1ZG9EYXkpIGlzIGZhbHNlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5w
dXQoIiIsICIiLCAiMjAxMi0xMi0xNyIpLCBwc2V1ZG9EYXkpIGlzIGZhbHNlCitQQVNTIGlzUmVh
ZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMTciLCAiMjAxMi0xMi0xNyIsICIi
KSwgcHNldWRvRGF5KSBpcyB0cnVlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5w
dXQoIjIwMTItMTItMTciLCAiMjAxMy0xMi0xOCIsICIiKSwgcHNldWRvRGF5KSBpcyBmYWxzZQor
UEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTExLTE3IiwgIjIwMTIt
MTItMTciLCAiIiksIHBzZXVkb0RheSkgaXMgZmFsc2UKK1BBU1MgaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0xNyIsICIyMDEzLTEyLTE3IiwgIiIpLCBwc2V1ZG9EYXkp
IGlzIGZhbHNlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTIt
MTciLCAiMjAxMi0xMi0xNyIsICIyMDEyLTEyLTE3IiksIHBzZXVkb0RheSkgaXMgdHJ1ZQorUEFT
UyBpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTE3IiwgIjIwMTItMTIt
MTciLCAiMjAxMi0xMi0xOCIpLCBwc2V1ZG9EYXkpIGlzIGZhbHNlCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVh
ZG9ubHktc3ViZmllbGQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQuaHRtbAppbmRl
eCA0NTgyYTdhYzcxYzYwOWJlNWYxNTNlMDNlNTNhNmFkZDQ4YmE2MzRmLi42ZDU4ZjRkNDE3YjIw
MjFkZTY5NDk3YjRkYjFkMmY2ZGFmMGZkNjJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5
LXN1YmZpZWxkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC5odG1sCkBAIC0z
OSw2ICszOSwyOSBAQCBzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlu
cHV0KCIyMDEyLTAxLTAxIiwgIjIwMTMtMTItMzEiLCAiIiksCiBzaG91bGRCZVRydWUoJ2lzUmVh
ZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMDEtMDEiLCAiMjAxMi0xMi0zMSIsICIy
MDEyLTA1LTMwIiksIHBzZXVkb1llYXIpJyk7CiBzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5Rmll
bGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTAxLTAxIiwgIjIwMTItMTItMzEiLCAiMjAxMy0wMS0w
MSIpLCBwc2V1ZG9ZZWFyKScpOwogCitkZWJ1ZygnTW9udGggZmllbGQ6Jyk7CitzaG91bGRCZUZh
bHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIiLCAiIiwgIiIpLCBwc2V1ZG9N
b250aCknKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQo
IjIwMTItMTItMTciLCAiIiwgIiIpLCBwc2V1ZG9Nb250aCknKTsKK3Nob3VsZEJlRmFsc2UoJ2lz
UmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIiIsICIyMDEyLTEyLTE3IiwgIiIpLCBwc2V1
ZG9Nb250aCknKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5w
dXQoIiIsICIiLCAiMjAxMi0xMi0xNyIpLCBwc2V1ZG9Nb250aCknKTsKK3Nob3VsZEJlVHJ1ZSgn
aXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0wMSIsICIyMDEyLTEyLTMx
IiwgIiIpLCBwc2V1ZG9Nb250aCknKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChj
cmVhdGVEYXRlSW5wdXQoIjIwMTItMTEtMDEiLCAiMjAxMy0xMi0zMSIsICIiKSwgcHNldWRvTW9u
dGgpJyk7CitzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIy
MDEyLTEyLTAxIiwgIjIwMTMtMTItMzEiLCAiIiksIHBzZXVkb01vbnRoKScpOworc2hvdWxkQmVU
cnVlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTAxIiwgIjIwMTIt
MTItMzEiLCAiMjAxMi0xMi0xNSIpLCBwc2V1ZG9Nb250aCknKTsKK3Nob3VsZEJlRmFsc2UoJ2lz
UmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMDEiLCAiMjAxMi0xMi0zMSIs
ICIyMDEyLTExLTMwIiksIHBzZXVkb01vbnRoKScpOworCitkZWJ1ZygnRGF5IGZpZWxkOicpOwor
c2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiIiwgIiIsICIi
KSwgcHNldWRvRGF5KScpOworc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURh
dGVJbnB1dCgiMjAxMi0xMi0xNyIsICIiLCAiIiksIHBzZXVkb0RheSknKTsKK3Nob3VsZEJlRmFs
c2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVEYXRlSW5wdXQoIiIsICIyMDEyLTEyLTE3IiwgIiIp
LCBwc2V1ZG9EYXkpJyk7CitzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0
ZUlucHV0KCIiLCAiIiwgIjIwMTItMTItMTciKSwgcHNldWRvRGF5KScpOworc2hvdWxkQmVUcnVl
KCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTE3IiwgIjIwMTItMTIt
MTciLCAiIiksIHBzZXVkb0RheSknKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChj
cmVhdGVEYXRlSW5wdXQoIjIwMTItMTItMTciLCAiMjAxMy0xMi0xOCIsICIiKSwgcHNldWRvRGF5
KScpOworc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJbnB1dCgiMjAx
Mi0xMS0xNyIsICIyMDEyLTEyLTE3IiwgIiIpLCBwc2V1ZG9EYXkpJyk7CitzaG91bGRCZUZhbHNl
KCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlRGF0ZUlucHV0KCIyMDEyLTEyLTE3IiwgIjIwMTMtMTIt
MTciLCAiIiksIHBzZXVkb0RheSknKTsKK3Nob3VsZEJlVHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNy
ZWF0ZURhdGVJbnB1dCgiMjAxMi0xMi0xNyIsICIyMDEyLTEyLTE3IiwgIjIwMTItMTItMTciKSwg
cHNldWRvRGF5KScpOworc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZURhdGVJ
bnB1dCgiMjAxMi0xMi0xNyIsICIyMDEyLTEyLTE3IiwgIjIwMTItMTItMTgiKSwgcHNldWRvRGF5
KScpOworCiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVw
LXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3Rl
cGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzFmZDgzMzY0MzNl
ZGM1ZWI0NTkxZjQwYWQ4MTg4NGU5NjQ1ZWEyNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMt
c3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDgg
QEAKK0NoZWNrIHN0ZXBwaW5nLXVwIGFuZCAtZG93biBmb3IgZGF0ZSBpbnB1dCBmaWVsZHMgZnJv
bSByZW5kZXJlci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0Z1bmN0aW9uIGFy
Z3VtZW50cyBhcmUgKHZhbHVlLCBtaW4sIG1heCwgW2tleVNlcXVlbmNlXSkuCitNb250aAorUEFT
UyBzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0wNS0wMSIsICIyMDAwLTEwLTMxIikgaXMgIjIw
MDAtMDYtMDEiCitQQVNTIHN0ZXBEb3duKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDUtMDEiLCAiMjAw
MC0xMC0zMSIpIGlzICIyMDAwLTEwLTAxIgorUEFTUyBzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAw
MC0wMi0wMSIsICIyMDAwLTA1LTMxIikgaXMgIjIwMDAtMDItMDEiCitQQVNTIHN0ZXBEb3duKCIy
MDAwLTA1LTAxIiwgIjIwMDAtMDItMDEiLCAiMjAwMC0wNS0zMSIpIGlzICIyMDAwLTA0LTAxIgor
UEFTUyBzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0wOC0wMSIsICIyMDAwLTEwLTMxIikgaXMg
IjIwMDAtMDgtMDEiCitQQVNTIHN0ZXBEb3duKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDgtMDEiLCAi
MjAwMC0xMC0zMSIpIGlzICIyMDAwLTEwLTAxIgorUEFTUyBzdGVwVXAoIjIwMDAtMDUtMDEiLCAi
MjAwMC0wMy0wMSIsICIyMDAwLTAzLTMxIikgaXMgIjIwMDAtMDMtMDEiCitQQVNTIHN0ZXBEb3du
KCIyMDAwLTA1LTAxIiwgIjIwMDAtMDMtMDEiLCAiMjAwMC0wMy0zMSIpIGlzICIyMDAwLTAzLTAx
IgorUEFTUyBzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0wMy0wMSIsICIyMDAxLTA1LTMxIikg
aXMgIjIwMDAtMDYtMDEiCitQQVNTIHN0ZXBEb3duKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDUtMDEi
LCAiMjAwMS0wOC0zMSIpIGlzICIyMDAwLTA0LTAxIgorRGF5CitQQVNTIHN0ZXBVcCgiMjAwMC0w
NS0xMCIsICIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMjAiKSBpcyAiMjAwMC0wNS0xMSIKK1BBU1Mg
c3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTIwIikgaXMgIjIw
MDAtMDUtMjAiCitQQVNTIHN0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAt
MDUtMTAiKSBpcyAiMjAwMC0wNS0wNSIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAw
MC0wNS0wNSIsICIyMDAwLTA1LTEwIikgaXMgIjIwMDAtMDUtMDkiCitQQVNTIHN0ZXBVcCgiMjAw
MC0wNS0xMCIsICIyMDAwLTA1LTIwIiwgIjIwMDAtMDUtMzAiKSBpcyAiMjAwMC0wNS0yMCIKK1BB
U1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0yMCIsICIyMDAwLTA1LTMwIikgaXMg
IjIwMDAtMDUtMzAiCitQQVNTIHN0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIw
MDAtMDUtMDUiKSBpcyAiMjAwMC0wNS0wNSIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAi
MjAwMC0wNS0wNSIsICIyMDAwLTA1LTA1IikgaXMgIjIwMDAtMDUtMDUiCitQQVNTIHN0ZXBVcCgi
MjAwMC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDEtMDUtMTAiKSBpcyAiMjAwMC0wNS0xMSIK
K1BBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0xMCIsICIyMDAxLTA1LTE1Iikg
aXMgIjIwMDAtMDUtMDkiCitQQVNTIHN0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTA1Iiwg
IjIwMDAtMDYtMTAiKSBpcyAiMjAwMC0wNS0xMSIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDUtMTAi
LCAiMjAwMC0wNS0xMCIsICIyMDAwLTA2LTE1IikgaXMgIjIwMDAtMDUtMDkiCitZZWFyCitQQVNT
IHN0ZXBVcCgiMjAwMC0wMS0wMSIsICIyMDAwLTAxLTAxIiwgIjIwMDktMTItMzEiKSBpcyAiMjAw
MS0wMS0wMSIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDEtMDEiLCAiMjAwMC0wMS0wMSIsICIyMDA5
LTEyLTMxIikgaXMgIjIwMDktMDEtMDEiCitQQVNTIHN0ZXBVcCgiMjAwMC0wMS0wMSIsICIxOTkw
LTAxLTAxIiwgIjIwMDAtMTItMzEiKSBpcyAiMTk5MC0wMS0wMSIKK1BBU1Mgc3RlcERvd24oIjIw
MDAtMDEtMDEiLCAiMTk5MC0wMS0wMSIsICIyMDAwLTEyLTMxIikgaXMgIjE5OTktMDEtMDEiCitQ
QVNTIHN0ZXBVcCgiMjc1NzYwLTAxLTAxIiwgIjE5OTAtMDEtMDEiLCBudWxsKSBpcyAiMTk5MC0w
MS0wMSIKK1BBU1Mgc3RlcERvd24oIjE5OTAtMDEtMDEiLCAiMTk5MC0wMS0wMSIsIG51bGwpIGlz
ICIyNzU3NjAtMDEtMDEiCitQQVNTIHN0ZXBVcCgiMjAwMC0wMS0wMSIsIG51bGwsICIyMDAwLTEy
LTMxIikgaXMgIjAwMDEtMDEtMDEiCitQQVNTIHN0ZXBEb3duKCIwMDAxLTAxLTAxIiwgbnVsbCwg
IjIwMDAtMTItMzEiKSBpcyAiMjAwMC0wMS0wMSIKK1BBU1Mgc3RlcFVwKCIxOTkwLTAxLTAxIiwg
IjIwMDAtMDEtMDEiLCAiMjAwOS0xMi0zMSIpIGlzICIyMDAwLTAxLTAxIgorUEFTUyBzdGVwRG93
bigiMTk5MC0wMS0wMSIsICIyMDAwLTAxLTAxIiwgIjIwMDktMTItMzEiKSBpcyAiMjAwOS0wMS0w
MSIKK1BBU1Mgc3RlcFVwKCIyMDIwLTAxLTAxIiwgIjIwMDAtMDEtMDEiLCAiMjAwMC0xMi0zMSIp
IGlzICIyMDAwLTAxLTAxIgorUEFTUyBzdGVwRG93bigiMjAyMC0wMS0wMSIsICIyMDAwLTAxLTAx
IiwgIjIwMDAtMTItMzEiKSBpcyAiMjAwMC0wMS0wMSIKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVw
LXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZy
b20tcmVuZGVyZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOTg5M2Y0MzFiMGQxY2ExMzQ1ZjNlMDVlNTkx
MTRhMDYyN2QwZjI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24t
ZnJvbS1yZW5kZXJlci5odG1sCkBAIC0wLDAgKzEsODUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ0NoZWNrIHN0ZXBw
aW5nLXVwIGFuZCAtZG93biBmb3IgZGF0ZSBpbnB1dCBmaWVsZHMgZnJvbSByZW5kZXJlci4nKTsK
K2lmICghd2luZG93LmV2ZW50U2VuZGVyKQorICAgIGRlYnVnKCdUaGlzIHRlc3QgcmVxdWlyZXMg
ZXZlbnRTZW5kZXIuJyk7CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lu
cHV0Jyk7CitpbnB1dC50eXBlID0gJ2RhdGUnOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChp
bnB1dCk7CisKK2Z1bmN0aW9uIHNldElucHV0QXR0cmlidXRlcyh2YWx1ZSwgbWluLCBtYXgpIHsK
KyAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOworICAgIGlucHV0Lm1pbiA9IG1pbjsKKyAgICBpbnB1
dC5tYXggPSBtYXg7Cit9CisKK2Z1bmN0aW9uIHN0ZXBVcCh2YWx1ZSwgbWluLCBtYXgpIHsKKyAg
ICBzZXRJbnB1dEF0dHJpYnV0ZXModmFsdWUsIG1pbiwgbWF4KTsKKyAgICBldmVudFNlbmRlci5r
ZXlEb3duKCd1cEFycm93Jyk7CisgICAgcmV0dXJuIGlucHV0LnZhbHVlOworfQorCitmdW5jdGlv
biBzdGVwRG93bih2YWx1ZSwgbWluLCBtYXgpIHsKKyAgICBzZXRJbnB1dEF0dHJpYnV0ZXModmFs
dWUsIG1pbiwgbWF4KTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCdkb3duQXJyb3cnKTsKKyAg
ICByZXR1cm4gaW5wdXQudmFsdWU7Cit9CisKK2lucHV0LmZvY3VzKCk7CitkZWJ1ZygnRnVuY3Rp
b24gYXJndW1lbnRzIGFyZSAodmFsdWUsIG1pbiwgbWF4LCBba2V5U2VxdWVuY2VdKS4nKTsKK2Rl
YnVnKCdNb250aCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUtMDEi
LCAiMjAwMC0wNS0wMSIsICIyMDAwLTEwLTMxIiknLCAnMjAwMC0wNi0wMScpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNS0wMSIsICIyMDAwLTA1LTAxIiwgIjIwMDAt
MTAtMzEiKScsICcyMDAwLTEwLTAxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgi
MjAwMC0wNS0wMSIsICIyMDAwLTAyLTAxIiwgIjIwMDAtMDUtMzEiKScsICcyMDAwLTAyLTAxJyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDIt
MDEiLCAiMjAwMC0wNS0zMSIpJywgJzIwMDAtMDQtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcFVwKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDgtMDEiLCAiMjAwMC0xMC0zMSIpJywgJzIw
MDAtMDgtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDUtMDEi
LCAiMjAwMC0wOC0wMSIsICIyMDAwLTEwLTMxIiknLCAnMjAwMC0xMC0wMScpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUtMDEiLCAiMjAwMC0wMy0wMSIsICIyMDAwLTAz
LTMxIiknLCAnMjAwMC0wMy0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigi
MjAwMC0wNS0wMSIsICIyMDAwLTAzLTAxIiwgIjIwMDAtMDMtMzEiKScsICcyMDAwLTAzLTAxJyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNS0wMSIsICIyMDAwLTAzLTAx
IiwgIjIwMDEtMDUtMzEiKScsICcyMDAwLTA2LTAxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBEb3duKCIyMDAwLTA1LTAxIiwgIjIwMDAtMDUtMDEiLCAiMjAwMS0wOC0zMSIpJywgJzIw
MDAtMDQtMDEnKTsKKworZGVidWcoJ0RheScpOworZXZlbnRTZW5kZXIua2V5RG93bigncmlnaHRB
cnJvdycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUtMTAiLCAiMjAw
MC0wNS0xMCIsICIyMDAwLTA1LTIwIiknLCAnMjAwMC0wNS0xMScpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMjAi
KScsICcyMDAwLTA1LTIwJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0w
NS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDUtMTAiKScsICcyMDAwLTA1LTA1Jyk7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMDUiLCAi
MjAwMC0wNS0xMCIpJywgJzIwMDAtMDUtMDknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cFVwKCIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMjAiLCAiMjAwMC0wNS0zMCIpJywgJzIwMDAtMDUt
MjAnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAw
MC0wNS0yMCIsICIyMDAwLTA1LTMwIiknLCAnMjAwMC0wNS0zMCcpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdzdGVwVXAoIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0wNSIsICIyMDAwLTA1LTA1Iikn
LCAnMjAwMC0wNS0wNScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0w
NS0xMCIsICIyMDAwLTA1LTA1IiwgIjIwMDAtMDUtMDUiKScsICcyMDAwLTA1LTA1Jyk7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNS0xMCIsICIyMDAwLTA1LTA1IiwgIjIw
MDEtMDUtMTAiKScsICcyMDAwLTA1LTExJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBE
b3duKCIyMDAwLTA1LTEwIiwgIjIwMDAtMDUtMTAiLCAiMjAwMS0wNS0xNSIpJywgJzIwMDAtMDUt
MDknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1LTEwIiwgIjIwMDAt
MDUtMDUiLCAiMjAwMC0wNi0xMCIpJywgJzIwMDAtMDUtMTEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcERvd24oIjIwMDAtMDUtMTAiLCAiMjAwMC0wNS0xMCIsICIyMDAwLTA2LTE1Iikn
LCAnMjAwMC0wNS0wOScpOworCitkZWJ1ZygnWWVhcicpOworc2V0SW5wdXRBdHRyaWJ1dGVzKG51
bGwsIG51bGwsIG51bGwsIG51bGwpOworZXZlbnRTZW5kZXIua2V5RG93bigncmlnaHRBcnJvdycp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDEtMDEiLCAiMjAwMC0wMS0w
MSIsICIyMDA5LTEyLTMxIiknLCAnMjAwMS0wMS0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwRG93bigiMjAwMC0wMS0wMSIsICIyMDAwLTAxLTAxIiwgIjIwMDktMTItMzEiKScsICcy
MDA5LTAxLTAxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wMS0wMSIs
ICIxOTkwLTAxLTAxIiwgIjIwMDAtMTItMzEiKScsICcxOTkwLTAxLTAxJyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTAxLTAxIiwgIjE5OTAtMDEtMDEiLCAiMjAwMC0x
Mi0zMSIpJywgJzE5OTktMDEtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIy
NzU3NjAtMDEtMDEiLCAiMTk5MC0wMS0wMSIsIG51bGwpJywgJzE5OTAtMDEtMDEnKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE5OTAtMDEtMDEiLCAiMTk5MC0wMS0wMSIsIG51
bGwpJywgJzI3NTc2MC0wMS0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIw
MDAtMDEtMDEiLCBudWxsLCAiMjAwMC0xMi0zMSIpJywgJzAwMDEtMDEtMDEnKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcERvd24oIjAwMDEtMDEtMDEiLCBudWxsLCAiMjAwMC0xMi0zMSIp
JywgJzIwMDAtMDEtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIxOTkwLTAx
LTAxIiwgIjIwMDAtMDEtMDEiLCAiMjAwOS0xMi0zMSIpJywgJzIwMDAtMDEtMDEnKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjE5OTAtMDEtMDEiLCAiMjAwMC0wMS0wMSIsICIy
MDA5LTEyLTMxIiknLCAnMjAwOS0wMS0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVw
VXAoIjIwMjAtMDEtMDEiLCAiMjAwMC0wMS0wMSIsICIyMDAwLTEyLTMxIiknLCAnMjAwMC0wMS0w
MScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAyMC0wMS0wMSIsICIyMDAw
LTAxLTAxIiwgIjIwMDAtMTItMzEiKScsICcyMDAwLTAxLTAxJyk7CisKK2RlYnVnKCcnKTsKK2lu
cHV0LnJlbW92ZSgpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0
aXBsZS1maWVsZHMtcmVhZG9ubHktc3ViZmllbGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJl
YWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzQxNzIwYWM2NWIxODFl
YjJmM2Y3MzVlNjgwNzBmNmFkNjcyMzA1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJl
YWRvbmx5LXN1YmZpZWxkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMwIEBACitTdWItZmllbGRz
IGluIGlucHV0W3R5cGU9bW9udGhdIHNob3VsZCBiZSByZWFkLW9ubHkgaW4gc29tZSBjYXNlcy4g
VGhpcyByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworY3JlYXRlTW9udGhJbnB1dCBhcmd1bWVudCBvcmRlcjogbWluLCBtYXgsIHZhbHVl
CisKK1llYXIgZmllbGQ6CitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIi
LCAiIiwgIiIpLCBwc2V1ZG9ZZWFyKSBpcyBmYWxzZQorUEFTUyBpc1JlYWRPbmx5RmllbGQoY3Jl
YXRlTW9udGhJbnB1dCgiMjAxMi0xMiIsICIiLCAiIiksIHBzZXVkb1llYXIpIGlzIGZhbHNlCitQ
QVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIiLCAiMjAxMi0xMiIsICIiKSwg
cHNldWRvWWVhcikgaXMgZmFsc2UKK1BBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5w
dXQoIiIsICIiLCAiMjAxMi0xMiIpLCBwc2V1ZG9ZZWFyKSBpcyBmYWxzZQorUEFTUyBpc1JlYWRP
bmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0wMSIsICIyMDEyLTEyIiwgIiIpLCBwc2V1
ZG9ZZWFyKSBpcyB0cnVlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIy
MDEyLTAxIiwgIjIwMTMtMTIiLCAiIiksIHBzZXVkb1llYXIpIGlzIGZhbHNlCitQQVNTIGlzUmVh
ZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTAxIiwgIjIwMTItMTIiLCAiMjAxMi0w
NSIpLCBwc2V1ZG9ZZWFyKSBpcyB0cnVlCitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250
aElucHV0KCIyMDEyLTAxIiwgIjIwMTItMTIiLCAiMjAxMy0wMSIpLCBwc2V1ZG9ZZWFyKSBpcyBm
YWxzZQorTW9udGggZmllbGQ6CitQQVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0
KCIiLCAiIiwgIiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFsc2UKK1BBU1MgaXNSZWFkT25seUZpZWxk
KGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMTIiLCAiIiwgIiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFs
c2UKK1BBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIiIsICIyMDEyLTEyIiwg
IiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFsc2UKK1BBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1v
bnRoSW5wdXQoIiIsICIiLCAiMjAxMi0xMiIpLCBwc2V1ZG9Nb250aCkgaXMgZmFsc2UKK1BBU1Mg
aXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMTIiLCAiMjAxMi0xMiIsICIi
KSwgcHNldWRvTW9udGgpIGlzIHRydWUKK1BBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRo
SW5wdXQoIjIwMTItMTEiLCAiMjAxMy0xMiIsICIiKSwgcHNldWRvTW9udGgpIGlzIGZhbHNlCitQ
QVNTIGlzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTEyIiwgIjIwMTMtMTIi
LCAiIiksIHBzZXVkb01vbnRoKSBpcyBmYWxzZQorUEFTUyBpc1JlYWRPbmx5RmllbGQoY3JlYXRl
TW9udGhJbnB1dCgiMjAxMi0xMiIsICIyMDEyLTEyIiwgIjIwMTItMTIiKSwgcHNldWRvTW9udGgp
IGlzIHRydWUKK1BBU1MgaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMTIi
LCAiMjAxMi0xMiIsICIyMDEyLTExIiksIHBzZXVkb01vbnRoKSBpcyBmYWxzZQorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxl
LWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9t
b250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXJlYWRvbmx5LXN1YmZp
ZWxkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjQ1NjFkNmI5ODQwYWM3MjJkODUxMTk2ZmVmZWViZDk0MTNi
OWI5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVs
dGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1yZWFkb25seS1zdWJmaWVsZC5odG1s
CkBAIC0wLDAgKzEsNTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citm
dW5jdGlvbiBjcmVhdGVNb250aElucHV0KG1pbiwgbWF4LCB2YWx1ZSkgeworICAgIHZhciBpbnB1
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CisgICAgaW5wdXQudHlwZSA9ICdt
b250aCc7CisgICAgaWYgKG1pbikKKyAgICAgICAgaW5wdXQubWluID0gbWluOworICAgIGlmICht
YXgpCisgICAgICAgIGlucHV0Lm1heCA9IG1heDsKKyAgICBpZiAodmFsdWUpCisgICAgICAgIGlu
cHV0LnZhbHVlID0gdmFsdWU7CisgICAgcmV0dXJuIGlucHV0OworfQorCitmdW5jdGlvbiBpc1Jl
YWRPbmx5RmllbGQoaW5wdXQsIHBzZXVkbykgeworICAgIHZhciBub2RlID0gaW50ZXJuYWxzLnlv
dW5nZXN0U2hhZG93Um9vdChpbnB1dCkucXVlcnlTZWxlY3RvcignKltwc2V1ZG89IicgKyBwc2V1
ZG8gKyAnIl0nKTsKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHRlc3RGYWlsZWQoJ1JlcXVlc3Rl
ZCBub2RlIGlzIG1pc3NpbmcuJyk7CisgICAgcmV0dXJuIG5vZGUgJiYgbm9kZS5oYXNBdHRyaWJ1
dGUoJ3JlYWRvbmx5Jyk7Cit9CisKK3ZhciBwc2V1ZG9Nb250aCA9ICctd2Via2l0LWRhdGV0aW1l
LWVkaXQtbW9udGgtZmllbGQnOwordmFyIHBzZXVkb1llYXIgPSAnLXdlYmtpdC1kYXRldGltZS1l
ZGl0LXllYXItZmllbGQnOworCitkZXNjcmlwdGlvbignU3ViLWZpZWxkcyBpbiBpbnB1dFt0eXBl
PW1vbnRoXSBzaG91bGQgYmUgcmVhZC1vbmx5IGluIHNvbWUgY2FzZXMuIFRoaXMgcmVxdWlyZXMg
d2luZG93LmludGVybmFscy4nKTsKK2RlYnVnKCdjcmVhdGVNb250aElucHV0IGFyZ3VtZW50IG9y
ZGVyOiBtaW4sIG1heCwgdmFsdWUnKTsKK2RlYnVnKCcnKTsKKworZGVidWcoJ1llYXIgZmllbGQ6
Jyk7CitzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiIiwg
IiIsICIiKSwgcHNldWRvWWVhciknKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChj
cmVhdGVNb250aElucHV0KCIyMDEyLTEyIiwgIiIsICIiKSwgcHNldWRvWWVhciknKTsKK3Nob3Vs
ZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIiLCAiMjAxMi0xMiIs
ICIiKSwgcHNldWRvWWVhciknKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVh
dGVNb250aElucHV0KCIiLCAiIiwgIjIwMTItMTIiKSwgcHNldWRvWWVhciknKTsKK3Nob3VsZEJl
VHJ1ZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMDEiLCAiMjAxMi0x
MiIsICIiKSwgcHNldWRvWWVhciknKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChj
cmVhdGVNb250aElucHV0KCIyMDEyLTAxIiwgIjIwMTMtMTIiLCAiIiksIHBzZXVkb1llYXIpJyk7
CitzaG91bGRCZVRydWUoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTAx
IiwgIjIwMTItMTIiLCAiMjAxMi0wNSIpLCBwc2V1ZG9ZZWFyKScpOworc2hvdWxkQmVGYWxzZSgn
aXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMDEiLCAiMjAxMi0xMiIsICIy
MDEzLTAxIiksIHBzZXVkb1llYXIpJyk7CisKK2RlYnVnKCdNb250aCBmaWVsZDonKTsKK3Nob3Vs
ZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIiLCAiIiwgIiIpLCBw
c2V1ZG9Nb250aCknKTsKK3Nob3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250
aElucHV0KCIyMDEyLTEyIiwgIiIsICIiKSwgcHNldWRvTW9udGgpJyk7CitzaG91bGRCZUZhbHNl
KCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiIiwgIjIwMTItMTIiLCAiIiksIHBz
ZXVkb01vbnRoKScpOworc2hvdWxkQmVGYWxzZSgnaXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRo
SW5wdXQoIiIsICIiLCAiMjAxMi0xMiIpLCBwc2V1ZG9Nb250aCknKTsKK3Nob3VsZEJlVHJ1ZSgn
aXNSZWFkT25seUZpZWxkKGNyZWF0ZU1vbnRoSW5wdXQoIjIwMTItMTIiLCAiMjAxMi0xMiIsICIi
KSwgcHNldWRvTW9udGgpJyk7CitzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRl
TW9udGhJbnB1dCgiMjAxMi0xMSIsICIyMDEzLTEyIiwgIiIpLCBwc2V1ZG9Nb250aCknKTsKK3No
b3VsZEJlRmFsc2UoJ2lzUmVhZE9ubHlGaWVsZChjcmVhdGVNb250aElucHV0KCIyMDEyLTEyIiwg
IjIwMTMtMTIiLCAiIiksIHBzZXVkb01vbnRoKScpOworc2hvdWxkQmVUcnVlKCdpc1JlYWRPbmx5
RmllbGQoY3JlYXRlTW9udGhJbnB1dCgiMjAxMi0xMiIsICIyMDEyLTEyIiwgIjIwMTItMTIiKSwg
cHNldWRvTW9udGgpJyk7CitzaG91bGRCZUZhbHNlKCdpc1JlYWRPbmx5RmllbGQoY3JlYXRlTW9u
dGhJbnB1dCgiMjAxMi0xMiIsICIyMDEyLTEyIiwgIjIwMTItMTEiKSwgcHNldWRvTW9udGgpJyk7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMtc3RlcHVw
LXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1z
dGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZTMyMDRkNDIy
OGVmYTAwYTZjNjM0YWU4OWEwZWFkNzBiYjg2ZWM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmll
bGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDM1IEBACitDaGVjayBzdGVwcGluZy11cCBhbmQgLWRvd24gZm9yIG1vbnRoIGlucHV0IGZpZWxk
cyBmcm9tIHJlbmRlcmVyLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworRnVuY3Rp
b24gYXJndW1lbnRzIGFyZSAodmFsdWUsIG1pbiwgbWF4LCBba2V5U2VxdWVuY2VdKS4KK01vbnRo
CitQQVNTIHN0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTA1IiwgIjIwMDAtMTAiKSBpcyAiMjAwMC0w
NiIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0wNSIsICIyMDAwLTEwIikgaXMgIjIw
MDAtMTAiCitQQVNTIHN0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTAyIiwgIjIwMDAtMDUiKSBpcyAi
MjAwMC0wMiIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0wMiIsICIyMDAwLTA1Iikg
aXMgIjIwMDAtMDQiCitQQVNTIHN0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTA4IiwgIjIwMDAtMTAi
KSBpcyAiMjAwMC0wOCIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0wOCIsICIyMDAw
LTEwIikgaXMgIjIwMDAtMTAiCitQQVNTIHN0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTAzIiwgIjIw
MDAtMDMiKSBpcyAiMjAwMC0wMyIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0wMyIs
ICIyMDAwLTAzIikgaXMgIjIwMDAtMDMiCitQQVNTIHN0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTAz
IiwgIjIwMDEtMDUiKSBpcyAiMjAwMC0wNiIKK1BBU1Mgc3RlcERvd24oIjIwMDAtMDUiLCAiMjAw
MC0wNSIsICIyMDAxLTA4IikgaXMgIjIwMDAtMDQiCitZZWFyCitQQVNTIHN0ZXBVcCgiMjAwMC0w
MSIsICIyMDAwLTAxIiwgIjIwMDktMTIiKSBpcyAiMjAwMS0wMSIKK1BBU1Mgc3RlcERvd24oIjIw
MDAtMDEiLCAiMjAwMC0wMSIsICIyMDA5LTEyIikgaXMgIjIwMDktMDEiCitQQVNTIHN0ZXBVcCgi
MjAwMC0wMSIsICIxOTkwLTAxIiwgIjIwMDAtMTIiKSBpcyAiMTk5MC0wMSIKK1BBU1Mgc3RlcERv
d24oIjIwMDAtMDEiLCAiMTk5MC0wMSIsICIyMDAwLTEyIikgaXMgIjE5OTktMDEiCitQQVNTIHN0
ZXBVcCgiMjc1NzYwLTAxIiwgIjE5OTAtMDEiLCBudWxsKSBpcyAiMTk5MC0wMSIKK1BBU1Mgc3Rl
cERvd24oIjE5OTAtMDEiLCAiMTk5MC0wMSIsIG51bGwpIGlzICIyNzU3NjAtMDEiCitQQVNTIHN0
ZXBVcCgiMjAwMC0wMSIsIG51bGwsICIyMDAwLTEyIikgaXMgIjAwMDEtMDEiCitQQVNTIHN0ZXBE
b3duKCIwMDAxLTAxIiwgbnVsbCwgIjIwMDAtMTIiKSBpcyAiMjAwMC0wMSIKK1BBU1Mgc3RlcFVw
KCIxOTkwLTAxIiwgIjIwMDAtMDEiLCAiMjAwOS0xMiIpIGlzICIyMDAwLTAxIgorUEFTUyBzdGVw
RG93bigiMTk5MC0wMSIsICIyMDAwLTAxIiwgIjIwMDktMTIiKSBpcyAiMjAwOS0wMSIKK1BBU1Mg
c3RlcFVwKCIyMDIwLTAxIiwgIjIwMDAtMDEiLCAiMjAwMC0xMiIpIGlzICIyMDAwLTAxIgorUEFT
UyBzdGVwRG93bigiMjAyMC0wMSIsICIyMDAwLTAxIiwgIjIwMDAtMTIiKSBpcyAiMjAwMC0wMSIK
KworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21v
bnRoLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlw
bGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OTFlYWJhNGUyNGJhYzQyZTZlNThiOWZlYzhiZDY5MzdiYTMzZjJiNQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11
bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCkBAIC0wLDAg
KzEsNjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oJ0NoZWNrIHN0ZXBwaW5nLXVwIGFuZCAtZG93biBmb3IgbW9udGgg
aW5wdXQgZmllbGRzIGZyb20gcmVuZGVyZXIuJyk7CitpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikK
KyAgICBkZWJ1ZygnVGhpcyB0ZXN0IHJlcXVpcmVzIGV2ZW50U2VuZGVyLicpOworCit2YXIgaW5w
dXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOworaW5wdXQudHlwZSA9ICdtb250
aCc7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKKworZnVuY3Rpb24gc2V0SW5w
dXRBdHRyaWJ1dGVzKHZhbHVlLCBtaW4sIG1heCkgeworICAgIGlucHV0LnZhbHVlID0gdmFsdWU7
CisgICAgaW5wdXQubWluID0gbWluOworICAgIGlucHV0Lm1heCA9IG1heDsKK30KKworZnVuY3Rp
b24gc3RlcFVwKHZhbHVlLCBtaW4sIG1heCkgeworICAgIHNldElucHV0QXR0cmlidXRlcyh2YWx1
ZSwgbWluLCBtYXgpOworICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ3VwQXJyb3cnKTsKKyAgICBy
ZXR1cm4gaW5wdXQudmFsdWU7Cit9CisKK2Z1bmN0aW9uIHN0ZXBEb3duKHZhbHVlLCBtaW4sIG1h
eCkgeworICAgIHNldElucHV0QXR0cmlidXRlcyh2YWx1ZSwgbWluLCBtYXgpOworICAgIGV2ZW50
U2VuZGVyLmtleURvd24oJ2Rvd25BcnJvdycpOworICAgIHJldHVybiBpbnB1dC52YWx1ZTsKK30K
KworaW5wdXQuZm9jdXMoKTsKK2RlYnVnKCdGdW5jdGlvbiBhcmd1bWVudHMgYXJlICh2YWx1ZSwg
bWluLCBtYXgsIFtrZXlTZXF1ZW5jZV0pLicpOworZGVidWcoJ01vbnRoJyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTA1IiwgIjIwMDAtMTAiKScsICcy
MDAwLTA2Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTA1IiwgIjIw
MDAtMDUiLCAiMjAwMC0xMCIpJywgJzIwMDAtMTAnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIyMDAwLTA1IiwgIjIwMDAtMDIiLCAiMjAwMC0wNSIpJywgJzIwMDAtMDInKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDUiLCAiMjAwMC0wMiIsICIyMDAw
LTA1IiknLCAnMjAwMC0wNCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAt
MDUiLCAiMjAwMC0wOCIsICIyMDAwLTEwIiknLCAnMjAwMC0wOCcpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdzdGVwRG93bigiMjAwMC0wNSIsICIyMDAwLTA4IiwgIjIwMDAtMTAiKScsICcyMDAw
LTEwJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAwMC0wNSIsICIyMDAwLTAz
IiwgIjIwMDAtMDMiKScsICcyMDAwLTAzJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBE
b3duKCIyMDAwLTA1IiwgIjIwMDAtMDMiLCAiMjAwMC0wMyIpJywgJzIwMDAtMDMnKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyMDAwLTA1IiwgIjIwMDAtMDMiLCAiMjAwMS0wNSIp
JywgJzIwMDAtMDYnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjIwMDAtMDUi
LCAiMjAwMC0wNSIsICIyMDAxLTA4IiknLCAnMjAwMC0wNCcpOworCitkZWJ1ZygnWWVhcicpOwor
ZXZlbnRTZW5kZXIua2V5RG93bigncmlnaHRBcnJvdycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwVXAoIjIwMDAtMDEiLCAiMjAwMC0wMSIsICIyMDA5LTEyIiknLCAnMjAwMS0wMScpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMjAwMC0wMSIsICIyMDAwLTAxIiwgIjIw
MDktMTIiKScsICcyMDA5LTAxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMjAw
MC0wMSIsICIxOTkwLTAxIiwgIjIwMDAtMTIiKScsICcxOTkwLTAxJyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBEb3duKCIyMDAwLTAxIiwgIjE5OTAtMDEiLCAiMjAwMC0xMiIpJywgJzE5
OTktMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIyNzU3NjAtMDEiLCAiMTk5
MC0wMSIsIG51bGwpJywgJzE5OTAtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERv
d24oIjE5OTAtMDEiLCAiMTk5MC0wMSIsIG51bGwpJywgJzI3NTc2MC0wMScpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMDAtMDEiLCBudWxsLCAiMjAwMC0xMiIpJywgJzAwMDEt
MDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjAwMDEtMDEiLCBudWxsLCAi
MjAwMC0xMiIpJywgJzIwMDAtMDEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIx
OTkwLTAxIiwgIjIwMDAtMDEiLCAiMjAwOS0xMiIpJywgJzIwMDAtMDEnKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygnc3RlcERvd24oIjE5OTAtMDEiLCAiMjAwMC0wMSIsICIyMDA5LTEyIiknLCAn
MjAwOS0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjIwMjAtMDEiLCAiMjAw
MC0wMSIsICIyMDAwLTEyIiknLCAnMjAwMC0wMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwRG93bigiMjAyMC0wMSIsICIyMDAwLTAxIiwgIjIwMDAtMTIiKScsICcyMDAwLTAxJyk7CisK
K2RlYnVnKCcnKTsKK2lucHV0LnJlbW92ZSgpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>