<?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>206033</bug_id>
          
          <creation_ts>2020-01-09 14:08:05 -0800</creation_ts>
          <short_desc>Standard gamepad mapping for GameControllerGamepads</short_desc>
          <delta_ts>2020-02-10 14:38:29 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Howard">jameshoward</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1604842</commentid>
    <comment_count>0</comment_count>
    <who name="James Howard">jameshoward</who>
    <bug_when>2020-01-09 14:08:05 -0800</bug_when>
    <thetext>The gamepad spec defines a standard mapping for certain gamepads[1]. As of iOS 13/macOS 10.15, extended gamepads via GameController.framework can be mapped in a straightforward manner to the standard mapping.

There are two benefits to moving these gamepads to the standard mapping, vs the ad-hoc empty string mapping they have now:

1. Buttons which are currently inaccessible in the current implementation will become accessible (thumbstick buttons, start and select buttons, and the home/guide button).
2. Web applications that recognize or require the standard mapping will start working.

[1] https://www.w3.org/TR/gamepad/#remapping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604844</commentid>
    <comment_count>1</comment_count>
    <who name="James Howard">jameshoward</who>
    <bug_when>2020-01-09 14:08:50 -0800</bug_when>
    <thetext>I have a patch, which I will attach as soon as I can correctly follow the steps to do so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604853</commentid>
    <comment_count>2</comment_count>
      <attachid>387272</attachid>
    <who name="James Howard">jameshoward</who>
    <bug_when>2020-01-09 14:16:14 -0800</bug_when>
    <thetext>Created attachment 387272
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605437</commentid>
    <comment_count>3</comment_count>
      <attachid>387406</attachid>
    <who name="James Howard">jameshoward</who>
    <bug_when>2020-01-10 17:35:53 -0800</bug_when>
    <thetext>Created attachment 387406
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605539</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-11 10:16:33 -0800</bug_when>
    <thetext>&lt;rdar://problem/58504913&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605557</commentid>
    <comment_count>5</comment_count>
      <attachid>387406</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-01-11 12:31:43 -0800</bug_when>
    <thetext>Comment on attachment 387406
Patch

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

Almost there. I&apos;d like to see some comments in the change log, and rationale for including the home button.

&gt; Source/WebCore/ChangeLog:7
&gt; +        Standard gamepad mapping for GameControllerGamepads
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=206033
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +

Please explain what you did in the patch here, and why.

For example, I see you swapped some axis mappings. Was that a bug?

Also, it seems you added the mapping field, but we only support the canonical standard mapping. Do we plan to add labels for the types of controllers we do support?

&gt; Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.mm:36
&gt; +@interface GCExtendedGamepad (ButtonHome)
&gt; +
&gt; +@property (readonly, nonatomic) GCControllerButtonInput *_buttonHome; // Internal in macOS 10.15, iOS 13.0
&gt; +
&gt; +@end

I don&apos;t think we should expose this. It&apos;s currently reserved for system use. Is there a good reason you want it?

&gt; Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.mm:105
&gt; +    if (@available(macOS 10.15.0, iOS 13.0, *)) {

We compile per-platform, so you&apos;ll have to use:
#if (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101500) || (PLATFORM(IOS_FAMILY) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 130000)

&gt; Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.mm:111
&gt; +    if (@available(macOS 10.14.1, iOS 12.1, *)) {

Ditto here? Did they really only get added in a .1 version? (checks notes.... they did but I think it will be ok to just use  __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101400 since we compile with a newer SDK)

Note that you don&apos;t have to have the iOS clause because iOS 12 is the minimum version we support at the moment.

&gt; Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.mm:118
&gt; +    // Home/Guide
&gt; +    if ([m_extendedGamepad.get() respondsToSelector:@selector(_buttonHome)])
&gt; +        bindButton(m_extendedGamepad.get()._buttonHome, 16);

Noted above: I don&apos;t think we should expose this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606154</commentid>
    <comment_count>6</comment_count>
      <attachid>387596</attachid>
    <who name="James Howard">jameshoward</who>
    <bug_when>2020-01-13 17:10:03 -0800</bug_when>
    <thetext>Created attachment 387596
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606158</commentid>
    <comment_count>7</comment_count>
    <who name="James Howard">jameshoward</who>
    <bug_when>2020-01-13 17:33:08 -0800</bug_when>
    <thetext>Hey dino! Thanks for the review! I&apos;ve attached an updated patch incorporating your feedback.

A couple of notes:

&gt; For example, I see you swapped some axis mappings. Was that a bug?

I updated the changelog entry to cover this, but in brief, when using the empty string gamepad mapping, anything goes in terms of axis coordinate systems. When using the &quot;standard&quot; mapping, however, the expectation is that the Y axis is treated as -1 = up, 1 = down [1], which is flipped from what GCControllerAxisInput provides.

&gt; rationale for including the home button

My initial rationale was that the button exists on popular gamepads, the &quot;standard&quot; mapping reserves an index (16) in the buttons array for it, and Chrome on Mac does map this button when using Xbox and PlayStation gamepads. 

However, the spec is a little vague on this point [2]. It states that &quot;up to 17 buttons&quot; can be included, and while the binding is shown in the standard_gamepad.svg, the table in the remapping section doesn&apos;t list it.

Given that it&apos;s not an API on iOS, and that it is a button that is often reserved for system use elsewhere, I removed it from the patch and left the buttons array at 16 elements only, rather than 17.

I do worry a little bit about web apps that assume that the buttons array will always be 17 elements long, so maybe there is a case to be made that the 16th index should be present but just always 0, but I didn&apos;t do that for now. It&apos;s an easy change to make if we want to do that.

[1] https://w3c.github.io/gamepad/standard_gamepad.svg
[2] https://w3c.github.io/gamepad/#remapping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606173</commentid>
    <comment_count>8</comment_count>
    <who name="James Howard">jameshoward</who>
    <bug_when>2020-01-13 17:51:51 -0800</bug_when>
    <thetext>&gt; Also, it seems you added the mapping field, but we only support the canonical standard mapping. 

There are two supported mappings, &quot;&quot; and &quot;standard&quot; [1]. Prior to my patch, WebKit only offered the empty string mapping. After my patch, we continue to provide empty string mapping for gamepads whose physical layout we&apos;re either unaware of, or that don&apos;t correspond to the standard layout (HID gamepads on Mac, micro gamepads on iOS). For now, I&apos;m just providing the standard mapping for the GCExtendedGamepads, because it&apos;s very straightforward.

As for what we should do for Mac, we could start recognizing certain vendor / product ID tuples in HIDGamepad and do the standard mapping for them. We&apos;d end up having to bundle some sort of database of these controllers, similar to what SDL does for instance. The other alternative would be to make GameController the preferred API for gamepads on macOS 10.15+ and move off of the HIDGamepad implementation. Personally, I like the simplicity of using GameController.framework as it pushes the controller database issue off to them and unifies the code between iOS and Mac. I&apos;m happy to contribute either approach in a follow-up patch if you have a stance on which approach you&apos;d like to see.

&gt; Do we plan to add labels for the types of controllers we do support?

I&apos;m not sure what you mean. Gamepads have an id field, which is just a string identifier. With GameController.framework examples of these are &quot;Nimbus Extended Gamepad&quot; or &quot;Xbox Wireless Controller Extended Gamepad&quot;. I didn&apos;t change that in this patch. In terms of the mapping, there are currently just two in the spec: &quot;&quot; and &quot;standard&quot; [1].

[1] https://w3c.github.io/gamepad/#gamepadmappingtype-enum</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606177</commentid>
    <comment_count>9</comment_count>
    <who name="James Howard">jameshoward</who>
    <bug_when>2020-01-13 18:02:35 -0800</bug_when>
    <thetext>&gt; Did they really only get added in a .1 version? (checks notes.... they did but I think it will be ok to just use  __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101400 since we compile with a newer SDK)

GCExtendedGamepad.h:108:68: note: &apos;leftThumbstickButton&apos; has been marked as being introduced in macOS 10.14.1 here, but the deployment target is macOS 10.14.0

Looks like we weren&apos;t able to get away with 101400 :/

How should I handle this? If we can&apos;t use the @available approach, then pragma disable Wunguarded-availability-new and then check respondsToSelector for these?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606478</commentid>
    <comment_count>10</comment_count>
      <attachid>387677</attachid>
    <who name="James Howard">jameshoward</who>
    <bug_when>2020-01-14 11:01:19 -0800</bug_when>
    <thetext>Created attachment 387677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607590</commentid>
    <comment_count>11</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-01-16 12:29:41 -0800</bug_when>
    <thetext>(In reply to James Howard from comment #8)
&gt; &gt; Also, it seems you added the mapping field, but we only support the canonical standard mapping. 
&gt; 
&gt; There are two supported mappings, &quot;&quot; and &quot;standard&quot; [1]. Prior to my patch,
&gt; WebKit only offered the empty string mapping. After my patch, we continue to
&gt; provide empty string mapping for gamepads whose physical layout we&apos;re either
&gt; unaware of, or that don&apos;t correspond to the standard layout (HID gamepads on
&gt; Mac, micro gamepads on iOS). For now, I&apos;m just providing the standard
&gt; mapping for the GCExtendedGamepads, because it&apos;s very straightforward.
&gt; 
&gt; As for what we should do for Mac, we could start recognizing certain vendor
&gt; / product ID tuples in HIDGamepad and do the standard mapping for them. We&apos;d
&gt; end up having to bundle some sort of database of these controllers, similar
&gt; to what SDL does for instance. The other alternative would be to make
&gt; GameController the preferred API for gamepads on macOS 10.15+ and move off
&gt; of the HIDGamepad implementation. Personally, I like the simplicity of using
&gt; GameController.framework as it pushes the controller database issue off to
&gt; them and unifies the code between iOS and Mac. I&apos;m happy to contribute
&gt; either approach in a follow-up patch if you have a stance on which approach
&gt; you&apos;d like to see.

I agree that using GameController.framework is best.

&gt; &gt; Do we plan to add labels for the types of controllers we do support?
&gt; 
&gt; I&apos;m not sure what you mean. Gamepads have an id field, which is just a
&gt; string identifier. With GameController.framework examples of these are
&gt; &quot;Nimbus Extended Gamepad&quot; or &quot;Xbox Wireless Controller Extended Gamepad&quot;. I
&gt; didn&apos;t change that in this patch. In terms of the mapping, there are
&gt; currently just two in the spec: &quot;&quot; and &quot;standard&quot; [1].
&gt; 
&gt; [1] https://w3c.github.io/gamepad/#gamepadmappingtype-enum

Got it!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607591</commentid>
    <comment_count>12</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-01-16 12:30:34 -0800</bug_when>
    <thetext>(In reply to James Howard from comment #7)

&gt; &gt; rationale for including the home button
&gt; 
&gt; My initial rationale was that the button exists on popular gamepads, the
&gt; &quot;standard&quot; mapping reserves an index (16) in the buttons array for it, and
&gt; Chrome on Mac does map this button when using Xbox and PlayStation gamepads. 
&gt; 
&gt; However, the spec is a little vague on this point [2]. It states that &quot;up to
&gt; 17 buttons&quot; can be included, and while the binding is shown in the
&gt; standard_gamepad.svg, the table in the remapping section doesn&apos;t list it.
&gt; 
&gt; Given that it&apos;s not an API on iOS, and that it is a button that is often
&gt; reserved for system use elsewhere, I removed it from the patch and left the
&gt; buttons array at 16 elements only, rather than 17.

Great. I don&apos;t think we should expose this while it isn&apos;t public API on the system.

&gt; 
&gt; I do worry a little bit about web apps that assume that the buttons array
&gt; will always be 17 elements long, so maybe there is a case to be made that
&gt; the 16th index should be present but just always 0, but I didn&apos;t do that for
&gt; now. It&apos;s an easy change to make if we want to do that.

Let&apos;s see if it causes problems.

&gt; 
&gt; [1] https://w3c.github.io/gamepad/standard_gamepad.svg
&gt; [2] https://w3c.github.io/gamepad/#remapping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607593</commentid>
    <comment_count>13</comment_count>
      <attachid>387677</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-01-16 12:32:59 -0800</bug_when>
    <thetext>Comment on attachment 387677
Patch

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

&gt; Source/WebCore/platform/gamepad/cocoa/GameControllerGamepad.mm:106
&gt; +    if (@available(macOS 10.14.1, iOS 12.1, *)) {

Please remove this statement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607603</commentid>
    <comment_count>14</comment_count>
    <who name="James Howard">jameshoward</who>
    <bug_when>2020-01-16 12:44:23 -0800</bug_when>
    <thetext>&gt; Please remove this statement.

And replace it with this?

#if HAVE(GCEXTENDEDGAMEPAD_BUTTONS_THUMBSTICK)
#pragma clang diagnostic push
#pragma clang diagnostic ignored &quot;-Wunguarded-availability&quot;
    if ([m_extendedGamepad.get() respondsToSelector:@selector(leftThumbstickButton)]) {
        bindButton(m_extendedGamepad.get().leftThumbstickButton, 10);
        bindButton(m_extendedGamepad.get().rightThumbstickButton, 11);
    }
#pragma clang diagnostic pop
#endif


Our options are disable the unguarded-availability warning or use @available. We can&apos;t set the HAVE_ flag to __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101401 since the Mojave build has it set to 101400, which means it would be compiled out incorrectly there, and also WebKit style check won&apos;t allow a point release in a HAVE_ flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613099</commentid>
    <comment_count>15</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-01-30 12:45:29 -0800</bug_when>
    <thetext>(In reply to James Howard from comment #14)
&gt; &gt; Please remove this statement.
&gt; 
&gt; And replace it with this?
&gt; 
&gt; #if HAVE(GCEXTENDEDGAMEPAD_BUTTONS_THUMBSTICK)
&gt; #pragma clang diagnostic push
&gt; #pragma clang diagnostic ignored &quot;-Wunguarded-availability&quot;
&gt;     if ([m_extendedGamepad.get()
&gt; respondsToSelector:@selector(leftThumbstickButton)]) {
&gt;         bindButton(m_extendedGamepad.get().leftThumbstickButton, 10);
&gt;         bindButton(m_extendedGamepad.get().rightThumbstickButton, 11);
&gt;     }
&gt; #pragma clang diagnostic pop
&gt; #endif
&gt; 
&gt; 
&gt; Our options are disable the unguarded-availability warning or use
&gt; @available. We can&apos;t set the HAVE_ flag to __MAC_OS_X_VERSION_MIN_REQUIRED
&gt; &gt;= 101401 since the Mojave build has it set to 101400, which means it would
&gt; be compiled out incorrectly there, and also WebKit style check won&apos;t allow a
&gt; point release in a HAVE_ flag.

This would be the first use of @available in WebKit, so I&apos;m just trying
to avoid it.

I think the code above, while ugly, is ok for now. Although please make
a note that this is required because the API was added in 10.14.1 (so
we can possibly remove the check once we drop support for that).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613184</commentid>
    <comment_count>16</comment_count>
      <attachid>389296</attachid>
    <who name="James Howard">jameshoward</who>
    <bug_when>2020-01-30 15:40:52 -0800</bug_when>
    <thetext>Created attachment 389296
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613537</commentid>
    <comment_count>17</comment_count>
      <attachid>389394</attachid>
    <who name="James Howard">jameshoward</who>
    <bug_when>2020-01-31 12:59:22 -0800</bug_when>
    <thetext>Created attachment 389394
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613538</commentid>
    <comment_count>18</comment_count>
    <who name="James Howard">jameshoward</who>
    <bug_when>2020-01-31 13:00:03 -0800</bug_when>
    <thetext>Updated the patch. Previous one I had forgotten to add the comment about 10.14.1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617121</commentid>
    <comment_count>19</comment_count>
      <attachid>389394</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-10 14:38:27 -0800</bug_when>
    <thetext>Comment on attachment 389394
Patch

Clearing flags on attachment: 389394

Committed r256215: &lt;https://trac.webkit.org/changeset/256215&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617122</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-10 14:38:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387272</attachid>
            <date>2020-01-09 14:16:14 -0800</date>
            <delta_ts>2020-01-10 17:35:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206033-20200109141613.patch</filename>
            <type>text/plain</type>
            <size>16457</size>
            <attacher name="James Howard">jameshoward</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWIwZjY4Y2FjNWQ0OGQ4
YWQ4NDJiZThmZTQ2NGNlZDk5MWQxYmUyZi4uMmNiMTMxNTBiYjk5N2NmOTRkZGYwMzFmNTIxZjdh
OGMwODhiNjFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTAxLTA5ICBKYW1l
cyBIb3dhcmQgIDxqYW1lc2hvd2FyZEBtYWMuY29tPgorCisgICAgICAgIFN0YW5kYXJkIGdhbWVw
YWQgbWFwcGluZyBmb3IgR2FtZUNvbnRyb2xsZXJHYW1lcGFkcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MDMzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAg
ICAgICAgKiBNb2R1bGVzL2dhbWVwYWQvR2FtZXBhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpH
YW1lcGFkOjpHYW1lcGFkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9nYW1lcGFkL1BsYXRmb3JtR2Ft
ZXBhZC5oOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1HYW1lcGFkOjptYXBwaW5nIGNvbnN0
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBh
ZC5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdhbWVDb250cm9sbGVyR2FtZXBhZDo6c2V0dXBBc0V4
dGVuZGVkR2FtZXBhZCk6CisKIDIwMjAtMDEtMDcgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBw
bGUuY29tPgogCiAgICAgICAgIEZpcnN0IGNoYXJhY3RlciBpbiBlYWNoIHdvcmQtd3JhcHBlZCBs
aW5lIGhhcyBpbmNvcnJlY3QgY2hhcmFjdGVyIHJlY3Qgd2hlbiByZXF1ZXN0ZWQgcmFuZ2Ugc3Bh
bnMgbXVsdGlwbGUgbGluZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYWE2NTlhYjJiZjgwMTYxYjZkZDg3MDI2NjMw
YjVhMGIxODg2MDJlYi4uNmY1NDM0MDY0MTM0ODE4YTcwYzhkNDJiZTVjMjA5NDk5ZTA4MmZmOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0wMS0wOSAgSmFtZXMgSG93YXJkICA8amFt
ZXNob3dhcmRAbWFjLmNvbT4KKworICAgICAgICBTdGFuZGFyZCBnYW1lcGFkIG1hcHBpbmcgZm9y
IEdhbWVDb250cm9sbGVyR2FtZXBhZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwNjAzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpHYW1lcGFkRGF0YTo6R2FtZXBhZERhdGEpOgorICAgICAgICAoV2ViS2l0OjpH
YW1lcGFkRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6R2FtZXBhZERhdGE6
OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuaDoKKyAgICAg
ICAgKFdlYktpdDo6R2FtZXBhZERhdGE6Om1hcHBpbmcgY29uc3QpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9HYW1lcGFkL1VJR2FtZXBhZC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVJR2FtZXBhZDo6
VUlHYW1lcGFkKToKKyAgICAgICAgKFdlYktpdDo6VUlHYW1lcGFkOjpmdWxsR2FtZXBhZERhdGEg
Y29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZC5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViR2FtZXBhZDo6V2ViR2FtZXBhZCk6CisKIDIwMjAtMDEtMDcgIERhbmllbCBCYXRlcyAgPGRh
YmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIEZpcnN0IGNoYXJhY3RlciBpbiBlYWNoIHdvcmQt
d3JhcHBlZCBsaW5lIGhhcyBpbmNvcnJlY3QgY2hhcmFjdGVyIHJlY3Qgd2hlbiByZXF1ZXN0ZWQg
cmFuZ2Ugc3BhbnMgbXVsdGlwbGUgbGluZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZ2FtZXBhZC9HYW1lcGFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBh
ZC9HYW1lcGFkLmNwcAppbmRleCA5NjUxOTVkZjI0YWE3NjExNDI2MmQ1MjVkYjNhMWFmYTBkZmRi
ZDBlLi4xYzFhZGViOTJlZDFiYTk0ZmEzYmFkOTlhZDY2MWNiYzdmM2QxM2QxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQvR2FtZXBhZC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuY3BwCkBAIC0zOSw2ICszOSw3IEBAIEdh
bWVwYWQ6OkdhbWVwYWQoY29uc3QgUGxhdGZvcm1HYW1lcGFkJiBwbGF0Zm9ybUdhbWVwYWQpCiAg
ICAgLCBtX2luZGV4KHBsYXRmb3JtR2FtZXBhZC5pbmRleCgpKQogICAgICwgbV9jb25uZWN0ZWQo
dHJ1ZSkKICAgICAsIG1fdGltZXN0YW1wKHBsYXRmb3JtR2FtZXBhZC5sYXN0VXBkYXRlVGltZSgp
KQorICAgICwgbV9tYXBwaW5nKHBsYXRmb3JtR2FtZXBhZC5tYXBwaW5nKCkpCiAgICAgLCBtX2F4
ZXMocGxhdGZvcm1HYW1lcGFkLmF4aXNWYWx1ZXMoKS5zaXplKCksIDAuMCkKIHsKICAgICB1bnNp
Z25lZCBidXR0b25Db3VudCA9IHBsYXRmb3JtR2FtZXBhZC5idXR0b25WYWx1ZXMoKS5zaXplKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL1BsYXRmb3JtR2Ft
ZXBhZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9QbGF0Zm9ybUdhbWVwYWQu
aAppbmRleCA2MGM0Y2IzNmJhYzY3ODdmM2VjNjZjNTUzZTk4YWM1NmM3MDc2YTViLi43NWNjOWVm
ZWY5ZDIwMGQwZmMzYWNjMmRlNTE4MDY0MTQxMzc5NTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9nYW1lcGFkL1BsYXRmb3JtR2FtZXBhZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dhbWVwYWQvUGxhdGZvcm1HYW1lcGFkLmgKQEAgLTM5LDYgKzM5LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgflBsYXRmb3JtR2FtZXBhZCgpID0gZGVmYXVsdDsKIAogICAg
IGNvbnN0IFN0cmluZyYgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9CisgICAgY29uc3QgU3Ry
aW5nJiBtYXBwaW5nKCkgY29uc3QgeyByZXR1cm4gbV9tYXBwaW5nOyB9CiAgICAgdW5zaWduZWQg
aW5kZXgoKSBjb25zdCB7IHJldHVybiBtX2luZGV4OyB9CiAgICAgTW9ub3RvbmljVGltZSBsYXN0
VXBkYXRlVGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdFVwZGF0ZVRpbWU7IH0KICAgICBNb25v
dG9uaWNUaW1lIGNvbm5lY3RUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9jb25uZWN0VGltZTsgfQpA
QCAtNTIsNiArNTMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgfQogCiAgICAgU3RyaW5nIG1faWQ7Cisg
ICAgU3RyaW5nIG1fbWFwcGluZzsKICAgICB1bnNpZ25lZCBtX2luZGV4OwogICAgIE1vbm90b25p
Y1RpbWUgbV9sYXN0VXBkYXRlVGltZTsKICAgICBNb25vdG9uaWNUaW1lIG1fY29ubmVjdFRpbWU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVD
b250cm9sbGVyR2FtZXBhZC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29j
b2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkLm1tCmluZGV4IDM5NGExNzBiMzkxYThhYzQ1ZDI3NTE5
MDZiYWMyNDdhNmVlYjM3NTAuLmMzOWQ2ZTgxODJiOTFjNzViOTIyYjNkZjUxMTQwNjdiNjVmMWIx
ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2Ft
ZUNvbnRyb2xsZXJHYW1lcGFkLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVw
YWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkLm1tCkBAIC0yOSw2ICsyOSwxOCBAQAogI2lu
Y2x1ZGUgIkdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLmgiCiAjaW5jbHVkZSA8R2FtZUNv
bnRyb2xsZXIvR2FtZUNvbnRyb2xsZXIuaD4KIAorQGludGVyZmFjZSBHQ0V4dGVuZGVkR2FtZXBh
ZCAoT3B0aW9uYWxCdXR0b25zKQorCitAcHJvcGVydHkgKHJlYWRvbmx5LCBub25hdG9taWMpIEdD
Q29udHJvbGxlckJ1dHRvbklucHV0ICpsZWZ0VGh1bWJzdGlja0J1dHRvbjsgLy8gQVBJIGluIG1h
Y09TIDEwLjE0LjEsIGlPUyAxMi4xCitAcHJvcGVydHkgKHJlYWRvbmx5LCBub25hdG9taWMpIEdD
Q29udHJvbGxlckJ1dHRvbklucHV0ICpyaWdodFRodW1ic3RpY2tCdXR0b247IC8vIEFQSSBpbiBt
YWNPUyAxMC4xNC4xLCBpT1MgMTIuMQorCitAcHJvcGVydHkgKHJlYWRvbmx5LCBub25hdG9taWMp
IEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICpidXR0b25PcHRpb25zOyAvLyBBUEkgaW4gbWFjT1Mg
MTAuMTUsIGlPUyAxMy4wCitAcHJvcGVydHkgKHJlYWRvbmx5LCBub25hdG9taWMpIEdDQ29udHJv
bGxlckJ1dHRvbklucHV0ICpidXR0b25NZW51OyAvLyBBUEkgaW4gbWFjT1MgMTAuMTUsIGlPUyAx
My4wCisKK0Bwcm9wZXJ0eSAocmVhZG9ubHksIG5vbmF0b21pYykgR0NDb250cm9sbGVyQnV0dG9u
SW5wdXQgKl9idXR0b25Ib21lOyAvLyBJbnRlcm5hbCBpbiBtYWNPUyAxMC4xNSwgaU9TIDEzLjAK
KworQGVuZAorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEdhbWVDb250cm9sbGVyR2FtZXBhZDo6
R2FtZUNvbnRyb2xsZXJHYW1lcGFkKEdDQ29udHJvbGxlciAqY29udHJvbGxlciwgdW5zaWduZWQg
aW5kZXgpCkBAIC01OCw2ICs3MCw3IEBAIHZvaWQgR2FtZUNvbnRyb2xsZXJHYW1lcGFkOjpzZXR1
cEFzRXh0ZW5kZWRHYW1lcGFkKCkKICAgICBBU1NFUlQobV9leHRlbmRlZEdhbWVwYWQpOwogCiAg
ICAgbV9pZCA9IG1ha2VTdHJpbmcoU3RyaW5nKG1fZ2NDb250cm9sbGVyLmdldCgpLnZlbmRvck5h
bWUpLCAiIEV4dGVuZGVkIEdhbWVwYWQiX3MpOworICAgIG1fbWFwcGluZyA9IFN0cmluZygic3Rh
bmRhcmQiKTsKIAogICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLnZhbHVlQ2hhbmdlZEhhbmRs
ZXIgPSBeKEdDRXh0ZW5kZWRHYW1lcGFkICosIEdDQ29udHJvbGxlckVsZW1lbnQgKikgewogICAg
ICAgICBtX2xhc3RVcGRhdGVUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CkBAIC02NSw4MiAr
NzgsNjggQEAgdm9pZCBHYW1lQ29udHJvbGxlckdhbWVwYWQ6OnNldHVwQXNFeHRlbmRlZEdhbWVw
YWQoKQogICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMgPSBmYWxzZTsKICAgICB9OwogCi0gICAg
bV9idXR0b25WYWx1ZXMucmVzaXplKDgpOwotICAgIG1fYnV0dG9uVmFsdWVzWzBdID0gbV9leHRl
bmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9uQS52YWx1ZTsKLSAgICBtX2J1dHRvblZhbHVlc1sxXSA9
IG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvbkIudmFsdWU7Ci0gICAgbV9idXR0b25WYWx1
ZXNbMl0gPSBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25YLnZhbHVlOwotICAgIG1fYnV0
dG9uVmFsdWVzWzNdID0gbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9uWS52YWx1ZTsKLSAg
ICBtX2J1dHRvblZhbHVlc1s0XSA9IG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRTaG91bGRl
ci52YWx1ZTsKLSAgICBtX2J1dHRvblZhbHVlc1s1XSA9IG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgp
LnJpZ2h0U2hvdWxkZXIudmFsdWU7Ci0gICAgbV9idXR0b25WYWx1ZXNbNl0gPSBtX2V4dGVuZGVk
R2FtZXBhZC5nZXQoKS5sZWZ0VHJpZ2dlci52YWx1ZTsKLSAgICBtX2J1dHRvblZhbHVlc1s3XSA9
IG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLnJpZ2h0VHJpZ2dlci52YWx1ZTsKLQotICAgIG1fYXhp
c1ZhbHVlcy5yZXNpemUoNik7CisgICAgbV9idXR0b25WYWx1ZXMucmVzaXplKDE3KTsKKworICAg
IGF1dG8gYmluZEJ1dHRvbiA9IF4oR0NDb250cm9sbGVyQnV0dG9uSW5wdXQgKmJ1dHRvbiwgc2l6
ZV90IGlkeCkgeworICAgICAgICBtX2J1dHRvblZhbHVlc1tpZHhdID0gYnV0dG9uLnZhbHVlOwor
ICAgICAgICBidXR0b24udmFsdWVDaGFuZ2VkSGFuZGxlciA9IF4oR0NDb250cm9sbGVyQnV0dG9u
SW5wdXQgKiwgZmxvYXQgdmFsdWUsIEJPT0wgcHJlc3NlZCkgeworICAgICAgICAgICAgbV9idXR0
b25WYWx1ZXNbaWR4XSA9IHZhbHVlOworICAgICAgICAgICAgaWYgKHByZXNzZWQpCisgICAgICAg
ICAgICAgICAgbV9oYWRCdXR0b25QcmVzc2VzID0gdHJ1ZTsKKyAgICAgICAgfTsKKyAgICB9Owor
CisgICAgLy8gQnV0dG9uIFBhZAorICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0
KCkuYnV0dG9uQSwgMCk7CisgICAgYmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5i
dXR0b25CLCAxKTsKKyAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRv
blgsIDIpOworICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9uWSwg
Myk7CisKKyAgICAvLyBTaG91bGRlcnMsIFRyaWdnZXJzCisgICAgYmluZEJ1dHRvbihtX2V4dGVu
ZGVkR2FtZXBhZC5nZXQoKS5sZWZ0U2hvdWxkZXIsIDQpOworICAgIGJpbmRCdXR0b24obV9leHRl
bmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRTaG91bGRlciwgNSk7CisgICAgYmluZEJ1dHRvbihtX2V4
dGVuZGVkR2FtZXBhZC5nZXQoKS5sZWZ0VHJpZ2dlciwgNik7CisgICAgYmluZEJ1dHRvbihtX2V4
dGVuZGVkR2FtZXBhZC5nZXQoKS5yaWdodFRyaWdnZXIsIDcpOworCisgICAgLy8gRCBQYWQKKyAg
ICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmRwYWQudXAsIDEyKTsKKyAgICBi
aW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmRwYWQuZG93biwgMTMpOworICAgIGJp
bmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuZHBhZC5sZWZ0LCAxNCk7CisgICAgYmlu
ZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5kcGFkLnJpZ2h0LCAxNSk7CisKKyAgICAv
LyBTZWxlY3QsIFN0YXJ0CisgICAgaWYgKFttX2V4dGVuZGVkR2FtZXBhZC5nZXQoKSByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKGJ1dHRvbk9wdGlvbnMpXSkKKyAgICAgICAgYmluZEJ1dHRv
bihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25PcHRpb25zLCA4KTsKKyAgICBpZiAoW21f
ZXh0ZW5kZWRHYW1lcGFkLmdldCgpIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoYnV0dG9u
TWVudSldKQorICAgICAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRv
bk1lbnUsIDkpOworCisgICAgLy8gTDMsIFIzCisgICAgaWYgKFttX2V4dGVuZGVkR2FtZXBhZC5n
ZXQoKSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGxlZnRUaHVtYnN0aWNrQnV0dG9uKV0p
CisgICAgICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkubGVmdFRodW1ic3Rp
Y2tCdXR0b24sIDEwKTsKKyAgICBpZiAoW21fZXh0ZW5kZWRHYW1lcGFkLmdldCgpIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IocmlnaHRUaHVtYnN0aWNrQnV0dG9uKV0pCisgICAgICAgIGJp
bmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRUaHVtYnN0aWNrQnV0dG9uLCAx
MSk7CisKKyAgICAvLyBIb21lL0d1aWRlCisgICAgaWYgKFttX2V4dGVuZGVkR2FtZXBhZC5nZXQo
KSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9idXR0b25Ib21lKV0pCisgICAgICAgIGJp
bmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuX2J1dHRvbkhvbWUsIDE2KTsKKworICAg
IG1fYXhpc1ZhbHVlcy5yZXNpemUoNCk7CiAgICAgbV9heGlzVmFsdWVzWzBdID0gbV9leHRlbmRl
ZEdhbWVwYWQuZ2V0KCkubGVmdFRodW1ic3RpY2sueEF4aXMudmFsdWU7Ci0gICAgbV9heGlzVmFs
dWVzWzFdID0gbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkubGVmdFRodW1ic3RpY2sueUF4aXMudmFs
dWU7CisgICAgbV9heGlzVmFsdWVzWzFdID0gLW1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRU
aHVtYnN0aWNrLnlBeGlzLnZhbHVlOwogICAgIG1fYXhpc1ZhbHVlc1syXSA9IG1fZXh0ZW5kZWRH
YW1lcGFkLmdldCgpLnJpZ2h0VGh1bWJzdGljay54QXhpcy52YWx1ZTsKLSAgICBtX2F4aXNWYWx1
ZXNbM10gPSBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5yaWdodFRodW1ic3RpY2sueUF4aXMudmFs
dWU7Ci0gICAgbV9heGlzVmFsdWVzWzRdID0gbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuZHBhZC54
QXhpcy52YWx1ZTsKLSAgICBtX2F4aXNWYWx1ZXNbNV0gPSBtX2V4dGVuZGVkR2FtZXBhZC5nZXQo
KS5kcGFkLnlBeGlzLnZhbHVlOwotCi0gICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9u
QS52YWx1ZUNoYW5nZWRIYW5kbGVyID0gXihHQ0NvbnRyb2xsZXJCdXR0b25JbnB1dCAqLCBmbG9h
dCB2YWx1ZSwgQk9PTCBwcmVzc2VkKSB7Ci0gICAgICAgIG1fYnV0dG9uVmFsdWVzWzBdID0gdmFs
dWU7Ci0gICAgICAgIGlmIChwcmVzc2VkKQotICAgICAgICAgICAgbV9oYWRCdXR0b25QcmVzc2Vz
ID0gdHJ1ZTsKLSAgICB9OwotICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvbkIudmFs
dWVDaGFuZ2VkSGFuZGxlciA9IF4oR0NDb250cm9sbGVyQnV0dG9uSW5wdXQgKiwgZmxvYXQgdmFs
dWUsIEJPT0wgcHJlc3NlZCkgewotICAgICAgICBtX2J1dHRvblZhbHVlc1sxXSA9IHZhbHVlOwot
ICAgICAgICBpZiAocHJlc3NlZCkKLSAgICAgICAgICAgIG1faGFkQnV0dG9uUHJlc3NlcyA9IHRy
dWU7Ci0gICAgfTsKLSAgICBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25YLnZhbHVlQ2hh
bmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0IHZhbHVlLCBC
T09MIHByZXNzZWQpIHsKLSAgICAgICAgbV9idXR0b25WYWx1ZXNbMl0gPSB2YWx1ZTsKLSAgICAg
ICAgaWYgKHByZXNzZWQpCi0gICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMgPSB0cnVlOwot
ICAgIH07Ci0gICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9uWS52YWx1ZUNoYW5nZWRI
YW5kbGVyID0gXihHQ0NvbnRyb2xsZXJCdXR0b25JbnB1dCAqLCBmbG9hdCB2YWx1ZSwgQk9PTCBw
cmVzc2VkKSB7Ci0gICAgICAgIG1fYnV0dG9uVmFsdWVzWzNdID0gdmFsdWU7Ci0gICAgICAgIGlm
IChwcmVzc2VkKQotICAgICAgICAgICAgbV9oYWRCdXR0b25QcmVzc2VzID0gdHJ1ZTsKLSAgICB9
OwotICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRTaG91bGRlci52YWx1ZUNoYW5nZWRI
YW5kbGVyID0gXihHQ0NvbnRyb2xsZXJCdXR0b25JbnB1dCAqLCBmbG9hdCB2YWx1ZSwgQk9PTCBw
cmVzc2VkKSB7Ci0gICAgICAgIG1fYnV0dG9uVmFsdWVzWzRdID0gdmFsdWU7Ci0gICAgICAgIGlm
IChwcmVzc2VkKQotICAgICAgICAgICAgbV9oYWRCdXR0b25QcmVzc2VzID0gdHJ1ZTsKLSAgICB9
OwotICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLnJpZ2h0U2hvdWxkZXIudmFsdWVDaGFuZ2Vk
SGFuZGxlciA9IF4oR0NDb250cm9sbGVyQnV0dG9uSW5wdXQgKiwgZmxvYXQgdmFsdWUsIEJPT0wg
cHJlc3NlZCkgewotICAgICAgICBtX2J1dHRvblZhbHVlc1s1XSA9IHZhbHVlOwotICAgICAgICBp
ZiAocHJlc3NlZCkKLSAgICAgICAgICAgIG1faGFkQnV0dG9uUHJlc3NlcyA9IHRydWU7Ci0gICAg
fTsKLSAgICBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5sZWZ0VHJpZ2dlci52YWx1ZUNoYW5nZWRI
YW5kbGVyID0gXihHQ0NvbnRyb2xsZXJCdXR0b25JbnB1dCAqLCBmbG9hdCB2YWx1ZSwgQk9PTCBw
cmVzc2VkKSB7Ci0gICAgICAgIG1fYnV0dG9uVmFsdWVzWzZdID0gdmFsdWU7Ci0gICAgICAgIGlm
IChwcmVzc2VkKQotICAgICAgICAgICAgbV9oYWRCdXR0b25QcmVzc2VzID0gdHJ1ZTsKLSAgICB9
OwotICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLnJpZ2h0VHJpZ2dlci52YWx1ZUNoYW5nZWRI
YW5kbGVyID0gXihHQ0NvbnRyb2xsZXJCdXR0b25JbnB1dCAqLCBmbG9hdCB2YWx1ZSwgQk9PTCBw
cmVzc2VkKSB7Ci0gICAgICAgIG1fYnV0dG9uVmFsdWVzWzddID0gdmFsdWU7Ci0gICAgICAgIGlm
IChwcmVzc2VkKQotICAgICAgICAgICAgbV9oYWRCdXR0b25QcmVzc2VzID0gdHJ1ZTsKLSAgICB9
OworICAgIG1fYXhpc1ZhbHVlc1szXSA9IC1tX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5yaWdodFRo
dW1ic3RpY2sueUF4aXMudmFsdWU7CiAKICAgICBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5sZWZ0
VGh1bWJzdGljay54QXhpcy52YWx1ZUNoYW5nZWRIYW5kbGVyID0gXihHQ0NvbnRyb2xsZXJBeGlz
SW5wdXQgKiwgZmxvYXQgdmFsdWUpIHsKICAgICAgICAgbV9heGlzVmFsdWVzWzBdID0gdmFsdWU7
CiAgICAgfTsKICAgICBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5sZWZ0VGh1bWJzdGljay55QXhp
cy52YWx1ZUNoYW5nZWRIYW5kbGVyID0gXihHQ0NvbnRyb2xsZXJBeGlzSW5wdXQgKiwgZmxvYXQg
dmFsdWUpIHsKLSAgICAgICAgbV9heGlzVmFsdWVzWzFdID0gdmFsdWU7CisgICAgICAgIG1fYXhp
c1ZhbHVlc1sxXSA9IC12YWx1ZTsKICAgICB9OwogICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgp
LnJpZ2h0VGh1bWJzdGljay54QXhpcy52YWx1ZUNoYW5nZWRIYW5kbGVyID0gXihHQ0NvbnRyb2xs
ZXJBeGlzSW5wdXQgKiwgZmxvYXQgdmFsdWUpIHsKICAgICAgICAgbV9heGlzVmFsdWVzWzJdID0g
dmFsdWU7CiAgICAgfTsKICAgICBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5yaWdodFRodW1ic3Rp
Y2sueUF4aXMudmFsdWVDaGFuZ2VkSGFuZGxlciA9IF4oR0NDb250cm9sbGVyQXhpc0lucHV0ICos
IGZsb2F0IHZhbHVlKSB7Ci0gICAgICAgIG1fYXhpc1ZhbHVlc1szXSA9IHZhbHVlOwotICAgIH07
Ci0gICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuZHBhZC54QXhpcy52YWx1ZUNoYW5nZWRIYW5k
bGVyID0gXihHQ0NvbnRyb2xsZXJBeGlzSW5wdXQgKiwgZmxvYXQgdmFsdWUpIHsKLSAgICAgICAg
bV9heGlzVmFsdWVzWzRdID0gdmFsdWU7Ci0gICAgfTsKLSAgICBtX2V4dGVuZGVkR2FtZXBhZC5n
ZXQoKS5kcGFkLnlBeGlzLnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckF4aXNJ
bnB1dCAqLCBmbG9hdCB2YWx1ZSkgewotICAgICAgICBtX2F4aXNWYWx1ZXNbNV0gPSB2YWx1ZTsK
KyAgICAgICAgbV9heGlzVmFsdWVzWzNdID0gLXZhbHVlOwogICAgIH07CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuY3BwIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvR2FtZXBhZC9HYW1lcGFkRGF0YS5jcHAKaW5kZXggN2U0MzI2NDdkNjM2
YzVkODlkMjdiODdkNTY3NjZjN2RiYTM0Y2FiNy4uZmQyNDVjZGI1Mjg3NjEyZmJjMTM0MGZiNGQw
YmZjNzgzN2ZkNjIwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvR2FtZXBhZC9H
YW1lcGFkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvR2FtZXBhZC9HYW1lcGFk
RGF0YS5jcHAKQEAgLTQxLDkgKzQxLDEwIEBAIEdhbWVwYWREYXRhOjpHYW1lcGFkRGF0YSh1bnNp
Z25lZCBpbmRleCwgY29uc3QgVmVjdG9yPGRvdWJsZT4mIGF4aXNWYWx1ZXMsIGNvbnN0CiB7CiB9
CiAKLUdhbWVwYWREYXRhOjpHYW1lcGFkRGF0YSh1bnNpZ25lZCBpbmRleCwgY29uc3QgU3RyaW5n
JiBpZCwgY29uc3QgVmVjdG9yPGRvdWJsZT4mIGF4aXNWYWx1ZXMsIGNvbnN0IFZlY3Rvcjxkb3Vi
bGU+JiBidXR0b25WYWx1ZXMsIE1vbm90b25pY1RpbWUgbGFzdFVwZGF0ZVRpbWUpCitHYW1lcGFk
RGF0YTo6R2FtZXBhZERhdGEodW5zaWduZWQgaW5kZXgsIGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0
IFN0cmluZyYgbWFwcGluZywgY29uc3QgVmVjdG9yPGRvdWJsZT4mIGF4aXNWYWx1ZXMsIGNvbnN0
IFZlY3Rvcjxkb3VibGU+JiBidXR0b25WYWx1ZXMsIE1vbm90b25pY1RpbWUgbGFzdFVwZGF0ZVRp
bWUpCiAgICAgOiBtX2luZGV4KGluZGV4KQogICAgICwgbV9pZChpZCkKKyAgICAsIG1fbWFwcGlu
ZyhtYXBwaW5nKQogICAgICwgbV9heGlzVmFsdWVzKGF4aXNWYWx1ZXMpCiAgICAgLCBtX2J1dHRv
blZhbHVlcyhidXR0b25WYWx1ZXMpCiAgICAgLCBtX2xhc3RVcGRhdGVUaW1lKGxhc3RVcGRhdGVU
aW1lKQpAQCAtNTYsNyArNTcsNyBAQCB2b2lkIEdhbWVwYWREYXRhOjplbmNvZGUoSVBDOjpFbmNv
ZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGlmIChtX2lzTnVsbCkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgZW5jb2RlciA8PCBtX2luZGV4IDw8IG1faWQgPDwgbV9heGlzVmFsdWVzIDw8IG1fYnV0
dG9uVmFsdWVzIDw8IG1fbGFzdFVwZGF0ZVRpbWU7CisgICAgZW5jb2RlciA8PCBtX2luZGV4IDw8
IG1faWQgPDwgbV9tYXBwaW5nIDw8IG1fYXhpc1ZhbHVlcyA8PCBtX2J1dHRvblZhbHVlcyA8PCBt
X2xhc3RVcGRhdGVUaW1lOwogfQogCiBPcHRpb25hbDxHYW1lcGFkRGF0YT4gR2FtZXBhZERhdGE6
OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIpCkBAIC03NCw2ICs3NSw5IEBAIE9wdGlvbmFs
PEdhbWVwYWREYXRhPiBHYW1lcGFkRGF0YTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlcikK
ICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGRhdGEubV9pZCkpCiAgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CiAKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGRhdGEubV9tYXBwaW5nKSkKKyAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZGF0
YS5tX2F4aXNWYWx1ZXMpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9HYW1lcGFkL0dhbWVwYWREYXRhLmggYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9HYW1lcGFkL0dhbWVwYWREYXRhLmgKaW5kZXggN2U3ZTYyMmQ0YzIxNmM5
NzQ2ODUzNTkzMzk0NmE0ZDRlNTVkN2VjZS4uN2UxNmE4OTJlMjQxYzYzZjg5ZjM4N2QxMzU1ODli
MWYwMTQ1Y2NjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvR2FtZXBhZC9HYW1l
cGFkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEu
aApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgR2FtZXBhZERhdGEodW5z
aWduZWQgaW5kZXgsIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBheGlzVmFsdWVzLCBjb25zdCBWZWN0
b3I8ZG91YmxlPiYgYnV0dG9uVmFsdWVzLCBNb25vdG9uaWNUaW1lIGxhc3RVcGRhdGVUaW1lKTsK
LSAgICBHYW1lcGFkRGF0YSh1bnNpZ25lZCBpbmRleCwgY29uc3QgU3RyaW5nJiBpZCwgY29uc3Qg
VmVjdG9yPGRvdWJsZT4mIGF4aXNWYWx1ZXMsIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBidXR0b25W
YWx1ZXMsIE1vbm90b25pY1RpbWUgbGFzdFVwZGF0ZVRpbWUpOworICAgIEdhbWVwYWREYXRhKHVu
c2lnbmVkIGluZGV4LCBjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBTdHJpbmcmIG1hcHBpbmcsIGNv
bnN0IFZlY3Rvcjxkb3VibGU+JiBheGlzVmFsdWVzLCBjb25zdCBWZWN0b3I8ZG91YmxlPiYgYnV0
dG9uVmFsdWVzLCBNb25vdG9uaWNUaW1lIGxhc3RVcGRhdGVUaW1lKTsKIAogICAgIHZvaWQgZW5j
b2RlKElQQzo6RW5jb2RlciYpIGNvbnN0OwogICAgIHN0YXRpYyBPcHRpb25hbDxHYW1lcGFkRGF0
YT4gZGVjb2RlKElQQzo6RGVjb2RlciYpOwpAQCAtNTYsMTIgKzU2LDE0IEBAIHB1YmxpYzoKICAg
ICBNb25vdG9uaWNUaW1lIGxhc3RVcGRhdGVUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0VXBk
YXRlVGltZTsgfQogICAgIHVuc2lnbmVkIGluZGV4KCkgY29uc3QgeyByZXR1cm4gbV9pbmRleDsg
fQogICAgIGNvbnN0IFN0cmluZyYgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9CisgICAgY29u
c3QgU3RyaW5nJiBtYXBwaW5nKCkgY29uc3QgeyByZXR1cm4gbV9tYXBwaW5nOyB9CiAgICAgY29u
c3QgVmVjdG9yPGRvdWJsZT4mIGF4aXNWYWx1ZXMoKSBjb25zdCB7IHJldHVybiBtX2F4aXNWYWx1
ZXM7IH0KICAgICBjb25zdCBWZWN0b3I8ZG91YmxlPiYgYnV0dG9uVmFsdWVzKCkgY29uc3QgeyBy
ZXR1cm4gbV9idXR0b25WYWx1ZXM7IH0KIAogcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2luZGV4
OwogICAgIFN0cmluZyBtX2lkOworICAgIFN0cmluZyBtX21hcHBpbmc7CiAgICAgVmVjdG9yPGRv
dWJsZT4gbV9heGlzVmFsdWVzOwogICAgIFZlY3Rvcjxkb3VibGU+IG1fYnV0dG9uVmFsdWVzOwog
ICAgIE1vbm90b25pY1RpbWUgbV9sYXN0VXBkYXRlVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkLmNwcAppbmRleCBiY2ExYzkyMmE2ZTI5Y2VjOTUwYzY0
MDQ0N2U5ZmI4ODQwMTgwZDgwLi5iYWVlOTdhNWI4MDgxYjU2ZTU2YTQ1ZDRlNTI2NzgzMTNhODBh
NzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBh
ZC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWQuY3Bw
CkBAIC0zNyw2ICszNyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogVUlHYW1lcGFkOjpV
SUdhbWVwYWQoV2ViQ29yZTo6UGxhdGZvcm1HYW1lcGFkJiBwbGF0Zm9ybUdhbWVwYWQpCiAgICAg
OiBtX2luZGV4KHBsYXRmb3JtR2FtZXBhZC5pbmRleCgpKQogICAgICwgbV9pZChwbGF0Zm9ybUdh
bWVwYWQuaWQoKSkKKyAgICAsIG1fbWFwcGluZyhwbGF0Zm9ybUdhbWVwYWQubWFwcGluZygpKQog
ICAgICwgbV9sYXN0VXBkYXRlVGltZShwbGF0Zm9ybUdhbWVwYWQubGFzdFVwZGF0ZVRpbWUoKSkK
IHsKICAgICBtX2F4aXNWYWx1ZXMucmVzaXplKHBsYXRmb3JtR2FtZXBhZC5heGlzVmFsdWVzKCku
c2l6ZSgpKTsKQEAgLTYzLDcgKzY0LDcgQEAgR2FtZXBhZERhdGEgVUlHYW1lcGFkOjpjb25kZW5z
ZWRHYW1lcGFkRGF0YSgpIGNvbnN0CiAKIEdhbWVwYWREYXRhIFVJR2FtZXBhZDo6ZnVsbEdhbWVw
YWREYXRhKCkgY29uc3QKIHsKLSAgICByZXR1cm4geyBtX2luZGV4LCBtX2lkLCBtX2F4aXNWYWx1
ZXMsIG1fYnV0dG9uVmFsdWVzLCBtX2xhc3RVcGRhdGVUaW1lIH07CisgICAgcmV0dXJuIHsgbV9p
bmRleCwgbV9pZCwgbV9tYXBwaW5nLCBtX2F4aXNWYWx1ZXMsIG1fYnV0dG9uVmFsdWVzLCBtX2xh
c3RVcGRhdGVUaW1lIH07CiB9CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvR2FtZXBhZC9VSUdhbWVwYWQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dhbWVwYWQv
VUlHYW1lcGFkLmgKaW5kZXggYjAyOTE1MDkxZTM4N2MwNDllY2U4ZWQwYzNjYWYxNDI0NTJkMDI1
Mi4uZGI3NmQyN2JjNTNhMTkwYWRmNWJhOWI1YWZjNjdjNGYxZDljZDVlYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZC5oCkBAIC01NCw2ICs1NCw3IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9pbmRleDsKICAgICBTdHJpbmcgbV9pZDsK
KyAgICBTdHJpbmcgbV9tYXBwaW5nOwogICAgIFZlY3Rvcjxkb3VibGU+IG1fYXhpc1ZhbHVlczsK
ICAgICBWZWN0b3I8ZG91YmxlPiBtX2J1dHRvblZhbHVlczsKICAgICBNb25vdG9uaWNUaW1lIG1f
bGFzdFVwZGF0ZVRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR2Ft
ZXBhZC9XZWJHYW1lcGFkLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HYW1lcGFkL1dl
YkdhbWVwYWQuY3BwCmluZGV4IDgwYzk3OTAwZGMwNGU0ZjVjYjlhZDI5Njk5OTdkOGFhYTE5NTVh
OGMuLmE0M2YwNGE0ZTc5MWZhZGU2YTcxZTA0YmVmOTM5MmQzMzM0M2Q2MTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HYW1lcGFkL1dlYkdhbWVwYWQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HYW1lcGFkL1dlYkdhbWVwYWQuY3BwCkBAIC00MCw2ICs0
MCw3IEBAIFdlYkdhbWVwYWQ6OldlYkdhbWVwYWQoY29uc3QgR2FtZXBhZERhdGEmIGdhbWVwYWRE
YXRhKQogICAgIExPRyhHYW1lcGFkLCAiQ29ubmVjdGluZyBXZWJHYW1lcGFkICV1IiwgZ2FtZXBh
ZERhdGEuaW5kZXgoKSk7CiAKICAgICBtX2lkID0gZ2FtZXBhZERhdGEuaWQoKTsKKyAgICBtX21h
cHBpbmcgPSBnYW1lcGFkRGF0YS5tYXBwaW5nKCk7CiAgICAgbV9heGlzVmFsdWVzLnJlc2l6ZShn
YW1lcGFkRGF0YS5heGlzVmFsdWVzKCkuc2l6ZSgpKTsKICAgICBtX2J1dHRvblZhbHVlcy5yZXNp
emUoZ2FtZXBhZERhdGEuYnV0dG9uVmFsdWVzKCkuc2l6ZSgpKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387406</attachid>
            <date>2020-01-10 17:35:53 -0800</date>
            <delta_ts>2020-01-13 17:10:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206033-20200110173552.patch</filename>
            <type>text/plain</type>
            <size>44790</size>
            <attacher name="James Howard">jameshoward</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWIwZjY4Y2FjNWQ0OGQ4
YWQ4NDJiZThmZTQ2NGNlZDk5MWQxYmUyZi4uMTcxYTAxMzc1OTY2MjMxYmI0MmJiOTEyMjkyMWQw
MWY3YjczZTQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTAxLTEwICBKYW1l
cyBIb3dhcmQgIDxqYW1lc2hvd2FyZEBtYWMuY29tPgorCisgICAgICAgIFN0YW5kYXJkIGdhbWVw
YWQgbWFwcGluZyBmb3IgR2FtZUNvbnRyb2xsZXJHYW1lcGFkcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MDMzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2dhbWVwYWQvR2FtZXBhZC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpHYW1lcGFkOjpHYW1lcGFkKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9nYW1lcGFkL1BsYXRmb3JtR2FtZXBhZC5oOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1HYW1lcGFkOjptYXBwaW5nIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9nYW1lcGFkL2Nv
Y29hL0dhbWVDb250cm9sbGVyR2FtZXBhZC5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdhbWVDb250
cm9sbGVyR2FtZXBhZDo6c2V0dXBBc0V4dGVuZGVkR2FtZXBhZCk6CisgICAgICAgICogdGVzdGlu
Zy9Nb2NrR2FtZXBhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrR2FtZXBhZDo6TW9ja0dh
bWVwYWQpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja0dhbWVwYWQ6OnVwZGF0ZURldGFpbHMpOgor
ICAgICAgICAqIHRlc3RpbmcvTW9ja0dhbWVwYWQuaDoKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tH
YW1lcGFkUHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja0dhbWVwYWRQcm92aWRl
cjo6c2V0TW9ja0dhbWVwYWREZXRhaWxzKToKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tHYW1lcGFk
UHJvdmlkZXIuaDoKKyAgICAgICAgKiB0ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHA6
CisgICAgICAgIChXZWJDb3JlVGVzdFN1cHBvcnQ6OnNldE1vY2tHYW1lcGFkRGV0YWlscyk6Cisg
ICAgICAgICogdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuaDoKKwogMjAyMC0wMS0wNyAg
RGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgRmlyc3QgY2hhcmFj
dGVyIGluIGVhY2ggd29yZC13cmFwcGVkIGxpbmUgaGFzIGluY29ycmVjdCBjaGFyYWN0ZXIgcmVj
dCB3aGVuIHJlcXVlc3RlZCByYW5nZSBzcGFucyBtdWx0aXBsZSBsaW5lcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBh
YTY1OWFiMmJmODAxNjFiNmRkODcwMjY2MzBiNWEwYjE4ODYwMmViLi5kZDY1NmVmZTFjYmE5ZTAy
OWNmZGZkYjljNDM1N2QxZjIzYzg2YThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIw
LTAxLTEwICBKYW1lcyBIb3dhcmQgIDxqYW1lc2hvd2FyZEBtYWMuY29tPgorCisgICAgICAgIFN0
YW5kYXJkIGdhbWVwYWQgbWFwcGluZyBmb3IgR2FtZUNvbnRyb2xsZXJHYW1lcGFkcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MDMzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvR2FtZXBh
ZC9HYW1lcGFkRGF0YS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdhbWVwYWREYXRhOjpHYW1lcGFk
RGF0YSk6CisgICAgICAgIChXZWJLaXQ6OkdhbWVwYWREYXRhOjplbmNvZGUgY29uc3QpOgorICAg
ICAgICAoV2ViS2l0OjpHYW1lcGFkRGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvR2Ft
ZXBhZC9HYW1lcGFkRGF0YS5oOgorICAgICAgICAoV2ViS2l0OjpHYW1lcGFkRGF0YTo6bWFwcGlu
ZyBjb25zdCk6CisgICAgICAgICogVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6VUlHYW1lcGFkOjpVSUdhbWVwYWQpOgorICAgICAgICAoV2ViS2l0OjpV
SUdhbWVwYWQ6OmZ1bGxHYW1lcGFkRGF0YSBjb25zdCk6CisgICAgICAgICogVUlQcm9jZXNzL0dh
bWVwYWQvVUlHYW1lcGFkLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HYW1lcGFkL1dlYkdhbWVw
YWQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJHYW1lcGFkOjpXZWJHYW1lcGFkKToKKwogMjAy
MC0wMS0wNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgRmly
c3QgY2hhcmFjdGVyIGluIGVhY2ggd29yZC13cmFwcGVkIGxpbmUgaGFzIGluY29ycmVjdCBjaGFy
YWN0ZXIgcmVjdCB3aGVuIHJlcXVlc3RlZCByYW5nZSBzcGFucyBtdWx0aXBsZSBsaW5lcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuY3BwCmluZGV4IDk2NTE5NWRmMjRh
YTc2MTE0MjYyZDUyNWRiM2ExYWZhMGRmZGJkMGUuLjFjMWFkZWI5MmVkMWJhOTRmYTNiYWQ5OWFk
NjYxY2JjN2YzZDEzZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBh
ZC9HYW1lcGFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQvR2FtZXBh
ZC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAgR2FtZXBhZDo6R2FtZXBhZChjb25zdCBQbGF0Zm9ybUdh
bWVwYWQmIHBsYXRmb3JtR2FtZXBhZCkKICAgICAsIG1faW5kZXgocGxhdGZvcm1HYW1lcGFkLmlu
ZGV4KCkpCiAgICAgLCBtX2Nvbm5lY3RlZCh0cnVlKQogICAgICwgbV90aW1lc3RhbXAocGxhdGZv
cm1HYW1lcGFkLmxhc3RVcGRhdGVUaW1lKCkpCisgICAgLCBtX21hcHBpbmcocGxhdGZvcm1HYW1l
cGFkLm1hcHBpbmcoKSkKICAgICAsIG1fYXhlcyhwbGF0Zm9ybUdhbWVwYWQuYXhpc1ZhbHVlcygp
LnNpemUoKSwgMC4wKQogewogICAgIHVuc2lnbmVkIGJ1dHRvbkNvdW50ID0gcGxhdGZvcm1HYW1l
cGFkLmJ1dHRvblZhbHVlcygpLnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dhbWVwYWQvUGxhdGZvcm1HYW1lcGFkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nYW1lcGFkL1BsYXRmb3JtR2FtZXBhZC5oCmluZGV4IDYwYzRjYjM2YmFjNjc4N2YzZWM2NmM1
NTNlOThhYzU2YzcwNzZhNWIuLjc1Y2M5ZWZlZjlkMjAwZDBmYzNhY2MyZGU1MTgwNjQxNDEzNzk1
MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvUGxhdGZvcm1H
YW1lcGFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9QbGF0Zm9ybUdh
bWVwYWQuaApAQCAtMzksNiArMzksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+UGxhdGZvcm1H
YW1lcGFkKCkgPSBkZWZhdWx0OwogCiAgICAgY29uc3QgU3RyaW5nJiBpZCgpIGNvbnN0IHsgcmV0
dXJuIG1faWQ7IH0KKyAgICBjb25zdCBTdHJpbmcmIG1hcHBpbmcoKSBjb25zdCB7IHJldHVybiBt
X21hcHBpbmc7IH0KICAgICB1bnNpZ25lZCBpbmRleCgpIGNvbnN0IHsgcmV0dXJuIG1faW5kZXg7
IH0KICAgICBNb25vdG9uaWNUaW1lIGxhc3RVcGRhdGVUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9s
YXN0VXBkYXRlVGltZTsgfQogICAgIE1vbm90b25pY1RpbWUgY29ubmVjdFRpbWUoKSBjb25zdCB7
IHJldHVybiBtX2Nvbm5lY3RUaW1lOyB9CkBAIC01Miw2ICs1Myw3IEBAIHByb3RlY3RlZDoKICAg
ICB9CiAKICAgICBTdHJpbmcgbV9pZDsKKyAgICBTdHJpbmcgbV9tYXBwaW5nOwogICAgIHVuc2ln
bmVkIG1faW5kZXg7CiAgICAgTW9ub3RvbmljVGltZSBtX2xhc3RVcGRhdGVUaW1lOwogICAgIE1v
bm90b25pY1RpbWUgbV9jb25uZWN0VGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWQubW0KaW5k
ZXggMzk0YTE3MGIzOTFhOGFjNDVkMjc1MTkwNmJhYzI0N2E2ZWViMzc1MC4uMGQ5Mzk3ZWIxNWMw
MzhiOTQ2M2RiODZlZTQ3MzFjNDBjNzI1MGY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWQubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWQu
bW0KQEAgLTI5LDYgKzI5LDEyIEBACiAjaW5jbHVkZSAiR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJv
dmlkZXIuaCIKICNpbmNsdWRlIDxHYW1lQ29udHJvbGxlci9HYW1lQ29udHJvbGxlci5oPgogCitA
aW50ZXJmYWNlIEdDRXh0ZW5kZWRHYW1lcGFkIChCdXR0b25Ib21lKQorCitAcHJvcGVydHkgKHJl
YWRvbmx5LCBub25hdG9taWMpIEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICpfYnV0dG9uSG9tZTsg
Ly8gSW50ZXJuYWwgaW4gbWFjT1MgMTAuMTUsIGlPUyAxMy4wCisKK0BlbmQKKwogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBHYW1lQ29udHJvbGxlckdhbWVwYWQ6OkdhbWVDb250cm9sbGVyR2FtZXBh
ZChHQ0NvbnRyb2xsZXIgKmNvbnRyb2xsZXIsIHVuc2lnbmVkIGluZGV4KQpAQCAtNTgsNiArNjQs
NyBAQCB2b2lkIEdhbWVDb250cm9sbGVyR2FtZXBhZDo6c2V0dXBBc0V4dGVuZGVkR2FtZXBhZCgp
CiAgICAgQVNTRVJUKG1fZXh0ZW5kZWRHYW1lcGFkKTsKIAogICAgIG1faWQgPSBtYWtlU3RyaW5n
KFN0cmluZyhtX2djQ29udHJvbGxlci5nZXQoKS52ZW5kb3JOYW1lKSwgIiBFeHRlbmRlZCBHYW1l
cGFkIl9zKTsKKyAgICBtX21hcHBpbmcgPSBTdHJpbmcoInN0YW5kYXJkIik7CiAKICAgICBtX2V4
dGVuZGVkR2FtZXBhZC5nZXQoKS52YWx1ZUNoYW5nZWRIYW5kbGVyID0gXihHQ0V4dGVuZGVkR2Ft
ZXBhZCAqLCBHQ0NvbnRyb2xsZXJFbGVtZW50ICopIHsKICAgICAgICAgbV9sYXN0VXBkYXRlVGlt
ZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwpAQCAtNjUsODIgKzcyLDY4IEBAIHZvaWQgR2FtZUNv
bnRyb2xsZXJHYW1lcGFkOjpzZXR1cEFzRXh0ZW5kZWRHYW1lcGFkKCkKICAgICAgICAgbV9oYWRC
dXR0b25QcmVzc2VzID0gZmFsc2U7CiAgICAgfTsKIAotICAgIG1fYnV0dG9uVmFsdWVzLnJlc2l6
ZSg4KTsKLSAgICBtX2J1dHRvblZhbHVlc1swXSA9IG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1
dHRvbkEudmFsdWU7Ci0gICAgbV9idXR0b25WYWx1ZXNbMV0gPSBtX2V4dGVuZGVkR2FtZXBhZC5n
ZXQoKS5idXR0b25CLnZhbHVlOwotICAgIG1fYnV0dG9uVmFsdWVzWzJdID0gbV9leHRlbmRlZEdh
bWVwYWQuZ2V0KCkuYnV0dG9uWC52YWx1ZTsKLSAgICBtX2J1dHRvblZhbHVlc1szXSA9IG1fZXh0
ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvblkudmFsdWU7Ci0gICAgbV9idXR0b25WYWx1ZXNbNF0g
PSBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5sZWZ0U2hvdWxkZXIudmFsdWU7Ci0gICAgbV9idXR0
b25WYWx1ZXNbNV0gPSBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5yaWdodFNob3VsZGVyLnZhbHVl
OwotICAgIG1fYnV0dG9uVmFsdWVzWzZdID0gbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkubGVmdFRy
aWdnZXIudmFsdWU7Ci0gICAgbV9idXR0b25WYWx1ZXNbN10gPSBtX2V4dGVuZGVkR2FtZXBhZC5n
ZXQoKS5yaWdodFRyaWdnZXIudmFsdWU7Ci0KLSAgICBtX2F4aXNWYWx1ZXMucmVzaXplKDYpOwor
ICAgIG1fYnV0dG9uVmFsdWVzLnJlc2l6ZSgxNyk7CisKKyAgICBhdXRvIGJpbmRCdXR0b24gPSBe
KEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICpidXR0b24sIHNpemVfdCBpZHgpIHsKKyAgICAgICAg
bV9idXR0b25WYWx1ZXNbaWR4XSA9IGJ1dHRvbi52YWx1ZTsKKyAgICAgICAgYnV0dG9uLnZhbHVl
Q2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0IHZhbHVl
LCBCT09MIHByZXNzZWQpIHsKKyAgICAgICAgICAgIG1fYnV0dG9uVmFsdWVzW2lkeF0gPSB2YWx1
ZTsKKyAgICAgICAgICAgIGlmIChwcmVzc2VkKQorICAgICAgICAgICAgICAgIG1faGFkQnV0dG9u
UHJlc3NlcyA9IHRydWU7CisgICAgICAgIH07CisgICAgfTsKKworICAgIC8vIEJ1dHRvbiBQYWQK
KyAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvbkEsIDApOworICAg
IGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9uQiwgMSk7CisgICAgYmlu
ZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25YLCAyKTsKKyAgICBiaW5kQnV0
dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvblksIDMpOworCisgICAgLy8gU2hvdWxk
ZXJzLCBUcmlnZ2VycworICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkubGVm
dFNob3VsZGVyLCA0KTsKKyAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLnJp
Z2h0U2hvdWxkZXIsIDUpOworICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCku
bGVmdFRyaWdnZXIsIDYpOworICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCku
cmlnaHRUcmlnZ2VyLCA3KTsKKworICAgIC8vIEQgUGFkCisgICAgYmluZEJ1dHRvbihtX2V4dGVu
ZGVkR2FtZXBhZC5nZXQoKS5kcGFkLnVwLCAxMik7CisgICAgYmluZEJ1dHRvbihtX2V4dGVuZGVk
R2FtZXBhZC5nZXQoKS5kcGFkLmRvd24sIDEzKTsKKyAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRH
YW1lcGFkLmdldCgpLmRwYWQubGVmdCwgMTQpOworICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdh
bWVwYWQuZ2V0KCkuZHBhZC5yaWdodCwgMTUpOworCisgICAgLy8gU2VsZWN0LCBTdGFydAorICAg
IGlmIChAYXZhaWxhYmxlKG1hY09TIDEwLjE1LjAsIGlPUyAxMy4wLCAqKSkgeworICAgICAgICBi
aW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvbk9wdGlvbnMsIDgpOworICAg
ICAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvbk1lbnUsIDkpOwor
ICAgIH0KKworICAgIC8vIEwzLCBSMworICAgIGlmIChAYXZhaWxhYmxlKG1hY09TIDEwLjE0LjEs
IGlPUyAxMi4xLCAqKSkgeworICAgICAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdl
dCgpLmxlZnRUaHVtYnN0aWNrQnV0dG9uLCAxMCk7CisgICAgICAgIGJpbmRCdXR0b24obV9leHRl
bmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRUaHVtYnN0aWNrQnV0dG9uLCAxMSk7CisgICAgfQorCisg
ICAgLy8gSG9tZS9HdWlkZQorICAgIGlmIChbbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkgcmVzcG9u
ZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfYnV0dG9uSG9tZSldKQorICAgICAgICBiaW5kQnV0dG9u
KG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLl9idXR0b25Ib21lLCAxNik7CisKKyAgICBtX2F4aXNW
YWx1ZXMucmVzaXplKDQpOwogICAgIG1fYXhpc1ZhbHVlc1swXSA9IG1fZXh0ZW5kZWRHYW1lcGFk
LmdldCgpLmxlZnRUaHVtYnN0aWNrLnhBeGlzLnZhbHVlOwotICAgIG1fYXhpc1ZhbHVlc1sxXSA9
IG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRUaHVtYnN0aWNrLnlBeGlzLnZhbHVlOworICAg
IG1fYXhpc1ZhbHVlc1sxXSA9IC1tX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5sZWZ0VGh1bWJzdGlj
ay55QXhpcy52YWx1ZTsKICAgICBtX2F4aXNWYWx1ZXNbMl0gPSBtX2V4dGVuZGVkR2FtZXBhZC5n
ZXQoKS5yaWdodFRodW1ic3RpY2sueEF4aXMudmFsdWU7Ci0gICAgbV9heGlzVmFsdWVzWzNdID0g
bV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRUaHVtYnN0aWNrLnlBeGlzLnZhbHVlOwotICAg
IG1fYXhpc1ZhbHVlc1s0XSA9IG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmRwYWQueEF4aXMudmFs
dWU7Ci0gICAgbV9heGlzVmFsdWVzWzVdID0gbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuZHBhZC55
QXhpcy52YWx1ZTsKLQotICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvbkEudmFsdWVD
aGFuZ2VkSGFuZGxlciA9IF4oR0NDb250cm9sbGVyQnV0dG9uSW5wdXQgKiwgZmxvYXQgdmFsdWUs
IEJPT0wgcHJlc3NlZCkgewotICAgICAgICBtX2J1dHRvblZhbHVlc1swXSA9IHZhbHVlOwotICAg
ICAgICBpZiAocHJlc3NlZCkKLSAgICAgICAgICAgIG1faGFkQnV0dG9uUHJlc3NlcyA9IHRydWU7
Ci0gICAgfTsKLSAgICBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25CLnZhbHVlQ2hhbmdl
ZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0IHZhbHVlLCBCT09M
IHByZXNzZWQpIHsKLSAgICAgICAgbV9idXR0b25WYWx1ZXNbMV0gPSB2YWx1ZTsKLSAgICAgICAg
aWYgKHByZXNzZWQpCi0gICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMgPSB0cnVlOwotICAg
IH07Ci0gICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9uWC52YWx1ZUNoYW5nZWRIYW5k
bGVyID0gXihHQ0NvbnRyb2xsZXJCdXR0b25JbnB1dCAqLCBmbG9hdCB2YWx1ZSwgQk9PTCBwcmVz
c2VkKSB7Ci0gICAgICAgIG1fYnV0dG9uVmFsdWVzWzJdID0gdmFsdWU7Ci0gICAgICAgIGlmIChw
cmVzc2VkKQotICAgICAgICAgICAgbV9oYWRCdXR0b25QcmVzc2VzID0gdHJ1ZTsKLSAgICB9Owot
ICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvblkudmFsdWVDaGFuZ2VkSGFuZGxlciA9
IF4oR0NDb250cm9sbGVyQnV0dG9uSW5wdXQgKiwgZmxvYXQgdmFsdWUsIEJPT0wgcHJlc3NlZCkg
ewotICAgICAgICBtX2J1dHRvblZhbHVlc1szXSA9IHZhbHVlOwotICAgICAgICBpZiAocHJlc3Nl
ZCkKLSAgICAgICAgICAgIG1faGFkQnV0dG9uUHJlc3NlcyA9IHRydWU7Ci0gICAgfTsKLSAgICBt
X2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5sZWZ0U2hvdWxkZXIudmFsdWVDaGFuZ2VkSGFuZGxlciA9
IF4oR0NDb250cm9sbGVyQnV0dG9uSW5wdXQgKiwgZmxvYXQgdmFsdWUsIEJPT0wgcHJlc3NlZCkg
ewotICAgICAgICBtX2J1dHRvblZhbHVlc1s0XSA9IHZhbHVlOwotICAgICAgICBpZiAocHJlc3Nl
ZCkKLSAgICAgICAgICAgIG1faGFkQnV0dG9uUHJlc3NlcyA9IHRydWU7Ci0gICAgfTsKLSAgICBt
X2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5yaWdodFNob3VsZGVyLnZhbHVlQ2hhbmdlZEhhbmRsZXIg
PSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0IHZhbHVlLCBCT09MIHByZXNzZWQp
IHsKLSAgICAgICAgbV9idXR0b25WYWx1ZXNbNV0gPSB2YWx1ZTsKLSAgICAgICAgaWYgKHByZXNz
ZWQpCi0gICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMgPSB0cnVlOwotICAgIH07Ci0gICAg
bV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkubGVmdFRyaWdnZXIudmFsdWVDaGFuZ2VkSGFuZGxlciA9
IF4oR0NDb250cm9sbGVyQnV0dG9uSW5wdXQgKiwgZmxvYXQgdmFsdWUsIEJPT0wgcHJlc3NlZCkg
ewotICAgICAgICBtX2J1dHRvblZhbHVlc1s2XSA9IHZhbHVlOwotICAgICAgICBpZiAocHJlc3Nl
ZCkKLSAgICAgICAgICAgIG1faGFkQnV0dG9uUHJlc3NlcyA9IHRydWU7Ci0gICAgfTsKLSAgICBt
X2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5yaWdodFRyaWdnZXIudmFsdWVDaGFuZ2VkSGFuZGxlciA9
IF4oR0NDb250cm9sbGVyQnV0dG9uSW5wdXQgKiwgZmxvYXQgdmFsdWUsIEJPT0wgcHJlc3NlZCkg
ewotICAgICAgICBtX2J1dHRvblZhbHVlc1s3XSA9IHZhbHVlOwotICAgICAgICBpZiAocHJlc3Nl
ZCkKLSAgICAgICAgICAgIG1faGFkQnV0dG9uUHJlc3NlcyA9IHRydWU7Ci0gICAgfTsKKyAgICBt
X2F4aXNWYWx1ZXNbM10gPSAtbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRUaHVtYnN0aWNr
LnlBeGlzLnZhbHVlOwogCiAgICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkubGVmdFRodW1ic3Rp
Y2sueEF4aXMudmFsdWVDaGFuZ2VkSGFuZGxlciA9IF4oR0NDb250cm9sbGVyQXhpc0lucHV0ICos
IGZsb2F0IHZhbHVlKSB7CiAgICAgICAgIG1fYXhpc1ZhbHVlc1swXSA9IHZhbHVlOwogICAgIH07
CiAgICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkubGVmdFRodW1ic3RpY2sueUF4aXMudmFsdWVD
aGFuZ2VkSGFuZGxlciA9IF4oR0NDb250cm9sbGVyQXhpc0lucHV0ICosIGZsb2F0IHZhbHVlKSB7
Ci0gICAgICAgIG1fYXhpc1ZhbHVlc1sxXSA9IHZhbHVlOworICAgICAgICBtX2F4aXNWYWx1ZXNb
MV0gPSAtdmFsdWU7CiAgICAgfTsKICAgICBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5yaWdodFRo
dW1ic3RpY2sueEF4aXMudmFsdWVDaGFuZ2VkSGFuZGxlciA9IF4oR0NDb250cm9sbGVyQXhpc0lu
cHV0ICosIGZsb2F0IHZhbHVlKSB7CiAgICAgICAgIG1fYXhpc1ZhbHVlc1syXSA9IHZhbHVlOwog
ICAgIH07CiAgICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRUaHVtYnN0aWNrLnlBeGlz
LnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckF4aXNJbnB1dCAqLCBmbG9hdCB2
YWx1ZSkgewotICAgICAgICBtX2F4aXNWYWx1ZXNbM10gPSB2YWx1ZTsKLSAgICB9OwotICAgIG1f
ZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmRwYWQueEF4aXMudmFsdWVDaGFuZ2VkSGFuZGxlciA9IF4o
R0NDb250cm9sbGVyQXhpc0lucHV0ICosIGZsb2F0IHZhbHVlKSB7Ci0gICAgICAgIG1fYXhpc1Zh
bHVlc1s0XSA9IHZhbHVlOwotICAgIH07Ci0gICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuZHBh
ZC55QXhpcy52YWx1ZUNoYW5nZWRIYW5kbGVyID0gXihHQ0NvbnRyb2xsZXJBeGlzSW5wdXQgKiwg
ZmxvYXQgdmFsdWUpIHsKLSAgICAgICAgbV9heGlzVmFsdWVzWzVdID0gdmFsdWU7CisgICAgICAg
IG1fYXhpc1ZhbHVlc1szXSA9IC12YWx1ZTsKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL01vY2tHYW1lcGFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvTW9ja0dhbWVwYWQuY3BwCmluZGV4IGFiYmM2ZWRmMWQ5OWFhMDJjNjA5MmZlYWFiOWVjYjgy
MjAzN2QxNjAuLjU1ZmY0Mzg4ZTk2N2FiMWRiZjJlN2NhYWI5YmY1M2I3Mzg4NDg4MGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWQuY3BwCkBAIC0zMCwxNiArMzAsMTcgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1Nb2NrR2FtZXBhZDo6TW9ja0dhbWVwYWQodW5zaWduZWQg
aW5kZXgsIGNvbnN0IFN0cmluZyYgZ2FtZXBhZElELCB1bnNpZ25lZCBheGlzQ291bnQsIHVuc2ln
bmVkIGJ1dHRvbkNvdW50KQorTW9ja0dhbWVwYWQ6Ok1vY2tHYW1lcGFkKHVuc2lnbmVkIGluZGV4
LCBjb25zdCBTdHJpbmcmIGdhbWVwYWRJRCwgY29uc3QgU3RyaW5nJiBtYXBwaW5nLCB1bnNpZ25l
ZCBheGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KQogICAgIDogUGxhdGZvcm1HYW1lcGFk
KGluZGV4KQogewogICAgIG1fY29ubmVjdFRpbWUgPSBtX2xhc3RVcGRhdGVUaW1lID0gTW9ub3Rv
bmljVGltZTo6bm93KCk7Ci0gICAgdXBkYXRlRGV0YWlscyhnYW1lcGFkSUQsIGF4aXNDb3VudCwg
YnV0dG9uQ291bnQpOworICAgIHVwZGF0ZURldGFpbHMoZ2FtZXBhZElELCBtYXBwaW5nLCBheGlz
Q291bnQsIGJ1dHRvbkNvdW50KTsKIH0KIAotdm9pZCBNb2NrR2FtZXBhZDo6dXBkYXRlRGV0YWls
cyhjb25zdCBTdHJpbmcmIGdhbWVwYWRJRCwgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBi
dXR0b25Db3VudCkKK3ZvaWQgTW9ja0dhbWVwYWQ6OnVwZGF0ZURldGFpbHMoY29uc3QgU3RyaW5n
JiBnYW1lcGFkSUQsIGNvbnN0IFN0cmluZyYgbWFwcGluZywgdW5zaWduZWQgYXhpc0NvdW50LCB1
bnNpZ25lZCBidXR0b25Db3VudCkKIHsKICAgICBtX2lkID0gZ2FtZXBhZElEOworICAgIG1fbWFw
cGluZyA9IG1hcHBpbmc7CiAgICAgbV9heGlzVmFsdWVzID0gVmVjdG9yPGRvdWJsZT4oYXhpc0Nv
dW50LCAwLjApOwogICAgIG1fYnV0dG9uVmFsdWVzID0gVmVjdG9yPGRvdWJsZT4oYnV0dG9uQ291
bnQsIDAuMCk7CiAgICAgbV9sYXN0VXBkYXRlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZC5oIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZC5oCmluZGV4IDcyOGY3ZDIxYzVkOWQ0ZTc4YzQ1
MTRjYmM4YWFhZTQyNWVkYTU1YWQuLmRkYTkxMDQ4ZGY0ZTBkZWI2ZWU2YmM3NWZmNjE2ZGRiMjg2
NGFmYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tHYW1lcGFkLmgKQEAgLTMzLDEyICszMywx
MiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE1vY2tHYW1lcGFkIDogcHVibGljIFBs
YXRmb3JtR2FtZXBhZCB7CiBwdWJsaWM6Ci0gICAgTW9ja0dhbWVwYWQodW5zaWduZWQgaW5kZXgs
IGNvbnN0IFN0cmluZyYgZ2FtZXBhZElELCB1bnNpZ25lZCBheGlzQ291bnQsIHVuc2lnbmVkIGJ1
dHRvbkNvdW50KTsKKyAgICBNb2NrR2FtZXBhZCh1bnNpZ25lZCBpbmRleCwgY29uc3QgU3RyaW5n
JiBnYW1lcGFkSUQsIGNvbnN0IFN0cmluZyYgbWFwcGluZywgdW5zaWduZWQgYXhpc0NvdW50LCB1
bnNpZ25lZCBidXR0b25Db3VudCk7CiAKICAgICBjb25zdCBWZWN0b3I8ZG91YmxlPiYgYXhpc1Zh
bHVlcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fYXhpc1ZhbHVlczsgfQogICAgIGNvbnN0IFZl
Y3Rvcjxkb3VibGU+JiBidXR0b25WYWx1ZXMoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2J1dHRv
blZhbHVlczsgfQogCi0gICAgdm9pZCB1cGRhdGVEZXRhaWxzKGNvbnN0IFN0cmluZyYgZ2FtZXBh
ZElELCB1bnNpZ25lZCBheGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KTsKKyAgICB2b2lk
IHVwZGF0ZURldGFpbHMoY29uc3QgU3RyaW5nJiBnYW1lcGFkSUQsIGNvbnN0IFN0cmluZyYgbWFw
cGluZywgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCk7CiAgICAgYm9v
bCBzZXRBeGlzVmFsdWUodW5zaWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSk7CiAgICAgYm9vbCBz
ZXRCdXR0b25WYWx1ZSh1bnNpZ25lZCBpbmRleCwgZG91YmxlIHZhbHVlKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWRQcm92aWRlci5jcHAKaW5kZXggZDQwZGVkMWRh
MTE5OGNhYTM0NTlkNjc3ZTFmZTg0ZjViZmI5NDZlNC4uNjE1MGY1MmEzZmE4MWY3YzY4YjJmMjI4
NDQ4NzNiZmQ1NWY2NmNjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2Nr
R2FtZXBhZFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tHYW1l
cGFkUHJvdmlkZXIuY3BwCkBAIC01NSwxNSArNTUsMTUgQEAgdm9pZCBNb2NrR2FtZXBhZFByb3Zp
ZGVyOjpzdG9wTW9uaXRvcmluZ0dhbWVwYWRzKEdhbWVwYWRQcm92aWRlckNsaWVudCYgY2xpZW50
KQogICAgIG1fY2xpZW50cy5yZW1vdmUoJmNsaWVudCk7CiB9CiAKLXZvaWQgTW9ja0dhbWVwYWRQ
cm92aWRlcjo6c2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVkIGluZGV4LCBjb25zdCBTdHJp
bmcmIGdhbWVwYWRJRCwgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCkK
K3ZvaWQgTW9ja0dhbWVwYWRQcm92aWRlcjo6c2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVk
IGluZGV4LCBjb25zdCBTdHJpbmcmIGdhbWVwYWRJRCwgY29uc3QgU3RyaW5nJiBtYXBwaW5nLCB1
bnNpZ25lZCBheGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KQogewogICAgIGlmIChpbmRl
eCA+PSBtX21vY2tHYW1lcGFkVmVjdG9yLnNpemUoKSkKICAgICAgICAgbV9tb2NrR2FtZXBhZFZl
Y3Rvci5yZXNpemUoaW5kZXggKyAxKTsKIAogICAgIGlmIChtX21vY2tHYW1lcGFkVmVjdG9yW2lu
ZGV4XSkKLSAgICAgICAgbV9tb2NrR2FtZXBhZFZlY3RvcltpbmRleF0tPnVwZGF0ZURldGFpbHMo
Z2FtZXBhZElELCBheGlzQ291bnQsIGJ1dHRvbkNvdW50KTsKKyAgICAgICAgbV9tb2NrR2FtZXBh
ZFZlY3RvcltpbmRleF0tPnVwZGF0ZURldGFpbHMoZ2FtZXBhZElELCBtYXBwaW5nLCBheGlzQ291
bnQsIGJ1dHRvbkNvdW50KTsKICAgICBlbHNlCi0gICAgICAgIG1fbW9ja0dhbWVwYWRWZWN0b3Jb
aW5kZXhdID0gbWFrZVVuaXF1ZTxNb2NrR2FtZXBhZD4oaW5kZXgsIGdhbWVwYWRJRCwgYXhpc0Nv
dW50LCBidXR0b25Db3VudCk7CisgICAgICAgIG1fbW9ja0dhbWVwYWRWZWN0b3JbaW5kZXhdID0g
bWFrZVVuaXF1ZTxNb2NrR2FtZXBhZD4oaW5kZXgsIGdhbWVwYWRJRCwgbWFwcGluZywgYXhpc0Nv
dW50LCBidXR0b25Db3VudCk7CiB9CiAKIGJvb2wgTW9ja0dhbWVwYWRQcm92aWRlcjo6Y29ubmVj
dE1vY2tHYW1lcGFkKHVuc2lnbmVkIGluZGV4KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01v
Y2tHYW1lcGFkUHJvdmlkZXIuaAppbmRleCA0MDQxOWI5MjMzZmUzOTA3YTk4MjZiNzA1MTJlZDYx
MWUxNTU4OGQ1Li5kYTc3NmVkZjJjNTYxN2IzODlmODYyYzM2ODA4NGJiMzBkYzhiNzhjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tHYW1lcGFkUHJvdmlkZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tHYW1lcGFkUHJvdmlkZXIuaApAQCAtNDQsNyAr
NDQsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgVmVjdG9yPFBsYXRmb3JtR2FtZXBhZCo+JiBwbGF0
Zm9ybUdhbWVwYWRzKCkgZmluYWwgeyByZXR1cm4gbV9jb25uZWN0ZWRHYW1lcGFkVmVjdG9yOyB9
CiAgICAgYm9vbCBpc01vY2tHYW1lcGFkUHJvdmlkZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0
cnVlOyB9CiAKLSAgICB2b2lkIHNldE1vY2tHYW1lcGFkRGV0YWlscyh1bnNpZ25lZCBpbmRleCwg
Y29uc3QgU3RyaW5nJiBnYW1lcGFkSUQsIHVuc2lnbmVkIGF4aXNDb3VudCwgdW5zaWduZWQgYnV0
dG9uQ291bnQpOworICAgIHZvaWQgc2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVkIGluZGV4
LCBjb25zdCBTdHJpbmcmIGdhbWVwYWRJRCwgY29uc3QgU3RyaW5nJiBtYXBwaW5nLCB1bnNpZ25l
ZCBheGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KTsKICAgICBib29sIHNldE1vY2tHYW1l
cGFkQXhpc1ZhbHVlKHVuc2lnbmVkIGluZGV4LCB1bnNpZ25lZCBheGlzSW5kZXgsIGRvdWJsZSB2
YWx1ZSk7CiAgICAgYm9vbCBzZXRNb2NrR2FtZXBhZEJ1dHRvblZhbHVlKHVuc2lnbmVkIGluZGV4
LCB1bnNpZ25lZCBidXR0b25JbmRleCwgZG91YmxlIHZhbHVlKTsKICAgICBib29sIGNvbm5lY3RN
b2NrR2FtZXBhZCh1bnNpZ25lZCBpbmRleCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAKaW5kZXggNDY2ZmE0MjcwOWNlMjM4ZWE4ZDI0Zjgy
OTU0MTgyZmM2NzMwYzc1Zi4uNjA2MWE5NjAxNzZkYTFkNzQyOWUxZjIyNGJmMWFjZGVkMTJjMWQ4
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBv
cnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0
LmNwcApAQCAtMTY0LDEzICsxNjQsMTQgQEAgdm9pZCBkaXNjb25uZWN0TW9ja0dhbWVwYWQodW5z
aWduZWQgZ2FtZXBhZEluZGV4KQogI2VuZGlmCiB9CiAKLXZvaWQgc2V0TW9ja0dhbWVwYWREZXRh
aWxzKHVuc2lnbmVkIGdhbWVwYWRJbmRleCwgY29uc3QgV1RGOjpTdHJpbmcmIGdhbWVwYWRJRCwg
dW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCkKK3ZvaWQgc2V0TW9ja0dh
bWVwYWREZXRhaWxzKHVuc2lnbmVkIGdhbWVwYWRJbmRleCwgY29uc3QgV1RGOjpTdHJpbmcmIGdh
bWVwYWRJRCwgY29uc3QgV1RGOjpTdHJpbmcmIG1hcHBpbmcsIHVuc2lnbmVkIGF4aXNDb3VudCwg
dW5zaWduZWQgYnV0dG9uQ291bnQpCiB7CiAjaWYgRU5BQkxFKEdBTUVQQUQpCi0gICAgTW9ja0dh
bWVwYWRQcm92aWRlcjo6c2luZ2xldG9uKCkuc2V0TW9ja0dhbWVwYWREZXRhaWxzKGdhbWVwYWRJ
bmRleCwgZ2FtZXBhZElELCBheGlzQ291bnQsIGJ1dHRvbkNvdW50KTsKKyAgICBNb2NrR2FtZXBh
ZFByb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXRNb2NrR2FtZXBhZERldGFpbHMoZ2FtZXBhZEluZGV4
LCBnYW1lcGFkSUQsIG1hcHBpbmcsIGF4aXNDb3VudCwgYnV0dG9uQ291bnQpOwogI2Vsc2UKICAg
ICBVTlVTRURfUEFSQU0oZ2FtZXBhZEluZGV4KTsKICAgICBVTlVTRURfUEFSQU0oZ2FtZXBhZElE
KTsKKyAgICBVTlVTRURfUEFSQU0obWFwcGluZyk7CiAgICAgVU5VU0VEX1BBUkFNKGF4aXNDb3Vu
dCk7CiAgICAgVU5VU0VEX1BBUkFNKGJ1dHRvbkNvdW50KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmgKaW5kZXggYmI3MWYwMWI1N2Q3
YzhlMjQ2MGRkYTIzMjE0YjdiNTU5NzA4M2Y0NC4uNzlhZWZlZjQ1MWEwODYxYWU0N2JjMjBiYWFj
YmUzYzgyZjNkZTAwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJD
b3JlVGVzdFN1cHBvcnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVU
ZXN0U3VwcG9ydC5oCkBAIC01OCw3ICs1OCw3IEBAIHZvaWQgc2V0QWxsb3dzQW55U1NMQ2VydGlm
aWNhdGUoYm9vbCkgVEVTVF9TVVBQT1JUX0VYUE9SVDsKIHZvaWQgaW5zdGFsbE1vY2tHYW1lcGFk
UHJvdmlkZXIoKSBURVNUX1NVUFBPUlRfRVhQT1JUOwogdm9pZCBjb25uZWN0TW9ja0dhbWVwYWQo
dW5zaWduZWQgaW5kZXgpIFRFU1RfU1VQUE9SVF9FWFBPUlQ7CiB2b2lkIGRpc2Nvbm5lY3RNb2Nr
R2FtZXBhZCh1bnNpZ25lZCBpbmRleCkgVEVTVF9TVVBQT1JUX0VYUE9SVDsKLXZvaWQgc2V0TW9j
a0dhbWVwYWREZXRhaWxzKHVuc2lnbmVkIGluZGV4LCBjb25zdCBXVEY6OlN0cmluZyYgZ2FtZXBh
ZElELCB1bnNpZ25lZCBheGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KSBURVNUX1NVUFBP
UlRfRVhQT1JUOwordm9pZCBzZXRNb2NrR2FtZXBhZERldGFpbHModW5zaWduZWQgaW5kZXgsIGNv
bnN0IFdURjo6U3RyaW5nJiBnYW1lcGFkSUQsIGNvbnN0IFdURjo6U3RyaW5nJiBtYXBwaW5nLCB1
bnNpZ25lZCBheGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KSBURVNUX1NVUFBPUlRfRVhQ
T1JUOwogdm9pZCBzZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSh1bnNpZ25lZCBpbmRleCwgdW5zaWdu
ZWQgYXhpc0luZGV4LCBkb3VibGUgdmFsdWUpIFRFU1RfU1VQUE9SVF9FWFBPUlQ7CiB2b2lkIHNl
dE1vY2tHYW1lcGFkQnV0dG9uVmFsdWUodW5zaWduZWQgaW5kZXgsIHVuc2lnbmVkIGJ1dHRvbklu
ZGV4LCBkb3VibGUgdmFsdWUpIFRFU1RfU1VQUE9SVF9FWFBPUlQ7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuY3BwIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvR2FtZXBhZC9HYW1lcGFkRGF0YS5jcHAKaW5kZXggN2U0MzI2NDdkNjM2YzVkODlk
MjdiODdkNTY3NjZjN2RiYTM0Y2FiNy4uZmQyNDVjZGI1Mjg3NjEyZmJjMTM0MGZiNGQwYmZjNzgz
N2ZkNjIwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvR2FtZXBhZC9HYW1lcGFk
RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvR2FtZXBhZC9HYW1lcGFkRGF0YS5j
cHAKQEAgLTQxLDkgKzQxLDEwIEBAIEdhbWVwYWREYXRhOjpHYW1lcGFkRGF0YSh1bnNpZ25lZCBp
bmRleCwgY29uc3QgVmVjdG9yPGRvdWJsZT4mIGF4aXNWYWx1ZXMsIGNvbnN0CiB7CiB9CiAKLUdh
bWVwYWREYXRhOjpHYW1lcGFkRGF0YSh1bnNpZ25lZCBpbmRleCwgY29uc3QgU3RyaW5nJiBpZCwg
Y29uc3QgVmVjdG9yPGRvdWJsZT4mIGF4aXNWYWx1ZXMsIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBi
dXR0b25WYWx1ZXMsIE1vbm90b25pY1RpbWUgbGFzdFVwZGF0ZVRpbWUpCitHYW1lcGFkRGF0YTo6
R2FtZXBhZERhdGEodW5zaWduZWQgaW5kZXgsIGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IFN0cmlu
ZyYgbWFwcGluZywgY29uc3QgVmVjdG9yPGRvdWJsZT4mIGF4aXNWYWx1ZXMsIGNvbnN0IFZlY3Rv
cjxkb3VibGU+JiBidXR0b25WYWx1ZXMsIE1vbm90b25pY1RpbWUgbGFzdFVwZGF0ZVRpbWUpCiAg
ICAgOiBtX2luZGV4KGluZGV4KQogICAgICwgbV9pZChpZCkKKyAgICAsIG1fbWFwcGluZyhtYXBw
aW5nKQogICAgICwgbV9heGlzVmFsdWVzKGF4aXNWYWx1ZXMpCiAgICAgLCBtX2J1dHRvblZhbHVl
cyhidXR0b25WYWx1ZXMpCiAgICAgLCBtX2xhc3RVcGRhdGVUaW1lKGxhc3RVcGRhdGVUaW1lKQpA
QCAtNTYsNyArNTcsNyBAQCB2b2lkIEdhbWVwYWREYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAogICAgIGlmIChtX2lzTnVsbCkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
ZW5jb2RlciA8PCBtX2luZGV4IDw8IG1faWQgPDwgbV9heGlzVmFsdWVzIDw8IG1fYnV0dG9uVmFs
dWVzIDw8IG1fbGFzdFVwZGF0ZVRpbWU7CisgICAgZW5jb2RlciA8PCBtX2luZGV4IDw8IG1faWQg
PDwgbV9tYXBwaW5nIDw8IG1fYXhpc1ZhbHVlcyA8PCBtX2J1dHRvblZhbHVlcyA8PCBtX2xhc3RV
cGRhdGVUaW1lOwogfQogCiBPcHRpb25hbDxHYW1lcGFkRGF0YT4gR2FtZXBhZERhdGE6OmRlY29k
ZShJUEM6OkRlY29kZXImIGRlY29kZXIpCkBAIC03NCw2ICs3NSw5IEBAIE9wdGlvbmFsPEdhbWVw
YWREYXRhPiBHYW1lcGFkRGF0YTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlcikKICAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKGRhdGEubV9pZCkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CiAKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGRhdGEubV9tYXBwaW5nKSkKKyAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKKwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZGF0YS5tX2F4
aXNWYWx1ZXMpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9HYW1lcGFkL0dhbWVwYWREYXRhLmggYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9HYW1lcGFkL0dhbWVwYWREYXRhLmgKaW5kZXggN2U3ZTYyMmQ0YzIxNmM5NzQ2ODUz
NTkzMzk0NmE0ZDRlNTVkN2VjZS4uN2UxNmE4OTJlMjQxYzYzZjg5ZjM4N2QxMzU1ODliMWYwMTQ1
Y2NjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvR2FtZXBhZC9HYW1lcGFkRGF0
YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuaApAQCAt
NDYsNyArNDYsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgR2FtZXBhZERhdGEodW5zaWduZWQg
aW5kZXgsIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBheGlzVmFsdWVzLCBjb25zdCBWZWN0b3I8ZG91
YmxlPiYgYnV0dG9uVmFsdWVzLCBNb25vdG9uaWNUaW1lIGxhc3RVcGRhdGVUaW1lKTsKLSAgICBH
YW1lcGFkRGF0YSh1bnNpZ25lZCBpbmRleCwgY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgVmVjdG9y
PGRvdWJsZT4mIGF4aXNWYWx1ZXMsIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBidXR0b25WYWx1ZXMs
IE1vbm90b25pY1RpbWUgbGFzdFVwZGF0ZVRpbWUpOworICAgIEdhbWVwYWREYXRhKHVuc2lnbmVk
IGluZGV4LCBjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBTdHJpbmcmIG1hcHBpbmcsIGNvbnN0IFZl
Y3Rvcjxkb3VibGU+JiBheGlzVmFsdWVzLCBjb25zdCBWZWN0b3I8ZG91YmxlPiYgYnV0dG9uVmFs
dWVzLCBNb25vdG9uaWNUaW1lIGxhc3RVcGRhdGVUaW1lKTsKIAogICAgIHZvaWQgZW5jb2RlKElQ
Qzo6RW5jb2RlciYpIGNvbnN0OwogICAgIHN0YXRpYyBPcHRpb25hbDxHYW1lcGFkRGF0YT4gZGVj
b2RlKElQQzo6RGVjb2RlciYpOwpAQCAtNTYsMTIgKzU2LDE0IEBAIHB1YmxpYzoKICAgICBNb25v
dG9uaWNUaW1lIGxhc3RVcGRhdGVUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0VXBkYXRlVGlt
ZTsgfQogICAgIHVuc2lnbmVkIGluZGV4KCkgY29uc3QgeyByZXR1cm4gbV9pbmRleDsgfQogICAg
IGNvbnN0IFN0cmluZyYgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9CisgICAgY29uc3QgU3Ry
aW5nJiBtYXBwaW5nKCkgY29uc3QgeyByZXR1cm4gbV9tYXBwaW5nOyB9CiAgICAgY29uc3QgVmVj
dG9yPGRvdWJsZT4mIGF4aXNWYWx1ZXMoKSBjb25zdCB7IHJldHVybiBtX2F4aXNWYWx1ZXM7IH0K
ICAgICBjb25zdCBWZWN0b3I8ZG91YmxlPiYgYnV0dG9uVmFsdWVzKCkgY29uc3QgeyByZXR1cm4g
bV9idXR0b25WYWx1ZXM7IH0KIAogcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2luZGV4OwogICAg
IFN0cmluZyBtX2lkOworICAgIFN0cmluZyBtX21hcHBpbmc7CiAgICAgVmVjdG9yPGRvdWJsZT4g
bV9heGlzVmFsdWVzOwogICAgIFZlY3Rvcjxkb3VibGU+IG1fYnV0dG9uVmFsdWVzOwogICAgIE1v
bm90b25pY1RpbWUgbV9sYXN0VXBkYXRlVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0dhbWVwYWQvVUlHYW1lcGFkLmNwcAppbmRleCBiY2ExYzkyMmE2ZTI5Y2VjOTUwYzY0MDQ0N2U5
ZmI4ODQwMTgwZDgwLi5iYWVlOTdhNWI4MDgxYjU2ZTU2YTQ1ZDRlNTI2NzgzMTNhODBhNzI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWQuY3BwCkBAIC0z
Nyw2ICszNyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogVUlHYW1lcGFkOjpVSUdhbWVw
YWQoV2ViQ29yZTo6UGxhdGZvcm1HYW1lcGFkJiBwbGF0Zm9ybUdhbWVwYWQpCiAgICAgOiBtX2lu
ZGV4KHBsYXRmb3JtR2FtZXBhZC5pbmRleCgpKQogICAgICwgbV9pZChwbGF0Zm9ybUdhbWVwYWQu
aWQoKSkKKyAgICAsIG1fbWFwcGluZyhwbGF0Zm9ybUdhbWVwYWQubWFwcGluZygpKQogICAgICwg
bV9sYXN0VXBkYXRlVGltZShwbGF0Zm9ybUdhbWVwYWQubGFzdFVwZGF0ZVRpbWUoKSkKIHsKICAg
ICBtX2F4aXNWYWx1ZXMucmVzaXplKHBsYXRmb3JtR2FtZXBhZC5heGlzVmFsdWVzKCkuc2l6ZSgp
KTsKQEAgLTYzLDcgKzY0LDcgQEAgR2FtZXBhZERhdGEgVUlHYW1lcGFkOjpjb25kZW5zZWRHYW1l
cGFkRGF0YSgpIGNvbnN0CiAKIEdhbWVwYWREYXRhIFVJR2FtZXBhZDo6ZnVsbEdhbWVwYWREYXRh
KCkgY29uc3QKIHsKLSAgICByZXR1cm4geyBtX2luZGV4LCBtX2lkLCBtX2F4aXNWYWx1ZXMsIG1f
YnV0dG9uVmFsdWVzLCBtX2xhc3RVcGRhdGVUaW1lIH07CisgICAgcmV0dXJuIHsgbV9pbmRleCwg
bV9pZCwgbV9tYXBwaW5nLCBtX2F4aXNWYWx1ZXMsIG1fYnV0dG9uVmFsdWVzLCBtX2xhc3RVcGRh
dGVUaW1lIH07CiB9CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR2Ft
ZXBhZC9VSUdhbWVwYWQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1l
cGFkLmgKaW5kZXggYjAyOTE1MDkxZTM4N2MwNDllY2U4ZWQwYzNjYWYxNDI0NTJkMDI1Mi4uZGI3
NmQyN2JjNTNhMTkwYWRmNWJhOWI1YWZjNjdjNGYxZDljZDVlYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZC5oCkBAIC01NCw2ICs1NCw3IEBAIHB1YmxpYzoK
IHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9pbmRleDsKICAgICBTdHJpbmcgbV9pZDsKKyAgICBT
dHJpbmcgbV9tYXBwaW5nOwogICAgIFZlY3Rvcjxkb3VibGU+IG1fYXhpc1ZhbHVlczsKICAgICBW
ZWN0b3I8ZG91YmxlPiBtX2J1dHRvblZhbHVlczsKICAgICBNb25vdG9uaWNUaW1lIG1fbGFzdFVw
ZGF0ZVRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR2FtZXBhZC9X
ZWJHYW1lcGFkLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HYW1lcGFkL1dlYkdhbWVw
YWQuY3BwCmluZGV4IDgwYzk3OTAwZGMwNGU0ZjVjYjlhZDI5Njk5OTdkOGFhYTE5NTVhOGMuLmE0
M2YwNGE0ZTc5MWZhZGU2YTcxZTA0YmVmOTM5MmQzMzM0M2Q2MTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HYW1lcGFkL1dlYkdhbWVwYWQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HYW1lcGFkL1dlYkdhbWVwYWQuY3BwCkBAIC00MCw2ICs0MCw3IEBA
IFdlYkdhbWVwYWQ6OldlYkdhbWVwYWQoY29uc3QgR2FtZXBhZERhdGEmIGdhbWVwYWREYXRhKQog
ICAgIExPRyhHYW1lcGFkLCAiQ29ubmVjdGluZyBXZWJHYW1lcGFkICV1IiwgZ2FtZXBhZERhdGEu
aW5kZXgoKSk7CiAKICAgICBtX2lkID0gZ2FtZXBhZERhdGEuaWQoKTsKKyAgICBtX21hcHBpbmcg
PSBnYW1lcGFkRGF0YS5tYXBwaW5nKCk7CiAgICAgbV9heGlzVmFsdWVzLnJlc2l6ZShnYW1lcGFk
RGF0YS5heGlzVmFsdWVzKCkuc2l6ZSgpKTsKICAgICBtX2J1dHRvblZhbHVlcy5yZXNpemUoZ2Ft
ZXBhZERhdGEuYnV0dG9uVmFsdWVzKCkuc2l6ZSgpKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDM2ODcxZGUzMTNiNzVlMDI0OWYxNTZmOGM2
MDFlZjAyNGJkNzc4ZTEuLmU5ZDk1OGY2ZGRkODgyYzM3OGE3NjRiMzBhODJmN2VhZDAzNDg4YjQg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAyMC0wMS0xMCAgSmFtZXMgSG93YXJkICA8amFtZXNob3dhcmRAbWFjLmNv
bT4KKworICAgICAgICBTdGFuZGFyZCBnYW1lcGFkIG1hcHBpbmcgZm9yIEdhbWVDb250cm9sbGVy
R2FtZXBhZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNjAzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlk
bDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIu
Y3BwOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpzZXRNb2NrR2FtZXBhZERldGFpbHMpOgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oOgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwOgorICAgICAgICAo
V1RSOjpUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21Jbmpl
Y3RlZEJ1bmRsZSk6CisKIDIwMjAtMDEtMDcgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUu
Y29tPgogCiAgICAgICAgIEZpcnN0IGNoYXJhY3RlciBpbiBlYWNoIHdvcmQtd3JhcHBlZCBsaW5l
IGhhcyBpbmNvcnJlY3QgY2hhcmFjdGVyIHJlY3Qgd2hlbiByZXF1ZXN0ZWQgcmFuZ2Ugc3BhbnMg
bXVsdGlwbGUgbGluZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCmluZGV4IDllNTNiNWJlOTI2
NGYyMTMwNTk2Y2JlZjcwYTk0NTFhYTM1NWU0ZGUuLjE2MGMyZTlmM2JhNjQ3NzU5OGFhNTJjYTJj
NWE3OTI4MDg5MzI4NjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbApAQCAtMjg1LDcgKzI4
NSw3IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICB2b2lkIGluc3RhbGxDdXN0b21NZW51
QWN0aW9uKERPTVN0cmluZyBuYW1lLCBib29sZWFuIGRpc21pc3Nlc0F1dG9tYXRpY2FsbHksIG9i
amVjdCBjYWxsYmFjayk7CiAKICAgICAvLyBHYW1lcGFkCi0gICAgdm9pZCBzZXRNb2NrR2FtZXBh
ZERldGFpbHModW5zaWduZWQgbG9uZyBpbmRleCwgRE9NU3RyaW5nIGlkLCB1bnNpZ25lZCBsb25n
IGF4aXNDb3VudCwgdW5zaWduZWQgbG9uZyBidXR0b25Db3VudCk7CisgICAgdm9pZCBzZXRNb2Nr
R2FtZXBhZERldGFpbHModW5zaWduZWQgbG9uZyBpbmRleCwgRE9NU3RyaW5nIGlkLCBET01TdHJp
bmcgbWFwcGluZywgdW5zaWduZWQgbG9uZyBheGlzQ291bnQsIHVuc2lnbmVkIGxvbmcgYnV0dG9u
Q291bnQpOwogICAgIHZvaWQgc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUodW5zaWduZWQgbG9uZyBp
bmRleCwgdW5zaWduZWQgbG9uZyBheGlzSW5kZXgsIGRvdWJsZSB2YWx1ZSk7CiAgICAgdm9pZCBz
ZXRNb2NrR2FtZXBhZEJ1dHRvblZhbHVlKHVuc2lnbmVkIGxvbmcgaW5kZXgsIHVuc2lnbmVkIGxv
bmcgYnV0dG9uSW5kZXgsIGRvdWJsZSB2YWx1ZSk7CiAgICAgdm9pZCBjb25uZWN0TW9ja0dhbWVw
YWQodW5zaWduZWQgbG9uZyBpbmRleCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCBmZTllMmZlYTQzZjRkZTNhNzhm
OTk1NTAyMzkwODlkMjNjYzkzNjQ1Li5jYzVlODcxMmI0ZDVkNzc3YjY5OWMyYTJkMjBmMTY4MWI1
OGYzYzc5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L1Rlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvVGVzdFJ1bm5lci5jcHAKQEAgLTI0NTAsNyArMjQ1MCw3IEBAIHZvaWQgVGVzdFJ1bm5lcjo6
ZGlzY29ubmVjdE1vY2tHYW1lcGFkKHVuc2lnbmVkIGluZGV4KQogICAgIFdLQnVuZGxlUG9zdFN5
bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1l
c3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSwgbnVsbHB0cik7CiB9CiAKLXZvaWQg
VGVzdFJ1bm5lcjo6c2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVkIGluZGV4LCBKU1N0cmlu
Z1JlZiBnYW1lcGFkSUQsIHVuc2lnbmVkIGF4aXNDb3VudCwgdW5zaWduZWQgYnV0dG9uQ291bnQp
Cit2b2lkIFRlc3RSdW5uZXI6OnNldE1vY2tHYW1lcGFkRGV0YWlscyh1bnNpZ25lZCBpbmRleCwg
SlNTdHJpbmdSZWYgZ2FtZXBhZElELCBKU1N0cmluZ1JlZiBtYXBwaW5nLCB1bnNpZ25lZCBheGlz
Q291bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KQogewogICAgIFZlY3RvcjxXS1JldGFpblB0cjxX
S1N0cmluZ1JlZj4+IGtleXM7CiAgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLVHlwZVJlZj4+IHZh
bHVlczsKQEAgLTI0NTgsNiArMjQ1OCw5IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0TW9ja0dhbWVw
YWREZXRhaWxzKHVuc2lnbmVkIGluZGV4LCBKU1N0cmluZ1JlZiBnYW1lcGFkSUQsIHVuCiAgICAg
a2V5cy5hcHBlbmQoYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiR2FtZXBh
ZElEIikpKTsKICAgICB2YWx1ZXMuYXBwZW5kKHRvV0soZ2FtZXBhZElEKSk7CiAKKyAgICBrZXlz
LmFwcGVuZChhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJNYXBwaW5nIikp
KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHRvV0sobWFwcGluZykpOworCiAgICAga2V5cy5hcHBlbmQo
YWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiR2FtZXBhZEluZGV4IikpKTsK
ICAgICB2YWx1ZXMuYXBwZW5kKGFkb3B0V0soV0tVSW50NjRDcmVhdGUoaW5kZXgpKSk7CiAKQEAg
LTI1NTEsNyArMjU1NCw3IEBAIHZvaWQgVGVzdFJ1bm5lcjo6ZGlzY29ubmVjdE1vY2tHYW1lcGFk
KHVuc2lnbmVkKQogewogfQogCi12b2lkIFRlc3RSdW5uZXI6OnNldE1vY2tHYW1lcGFkRGV0YWls
cyh1bnNpZ25lZCwgSlNTdHJpbmdSZWYsIHVuc2lnbmVkLCB1bnNpZ25lZCkKK3ZvaWQgVGVzdFJ1
bm5lcjo6c2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVkLCBKU1N0cmluZ1JlZiwgSlNTdHJp
bmdSZWYsIHVuc2lnbmVkLCB1bnNpZ25lZCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmggYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAppbmRleCA5NTVkZDBmNzFmYjNk
OTU5NTA4NWQwNTZiNDk4Zjc3NjQzZjlhYWY0Li5jM2MxMDQ1M2U5MzI4ZWJjZTg5NWI2YWEyZmFh
ODFjMWFkZjJiYWEyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL1Rlc3RSdW5uZXIuaApAQCAtMzc1LDcgKzM3NSw3IEBAIHB1YmxpYzoKICAgICAvLyBH
YW1lcGFkcwogICAgIHZvaWQgY29ubmVjdE1vY2tHYW1lcGFkKHVuc2lnbmVkIGluZGV4KTsKICAg
ICB2b2lkIGRpc2Nvbm5lY3RNb2NrR2FtZXBhZCh1bnNpZ25lZCBpbmRleCk7Ci0gICAgdm9pZCBz
ZXRNb2NrR2FtZXBhZERldGFpbHModW5zaWduZWQgaW5kZXgsIEpTU3RyaW5nUmVmIGdhbWVwYWRJ
RCwgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCk7CisgICAgdm9pZCBz
ZXRNb2NrR2FtZXBhZERldGFpbHModW5zaWduZWQgaW5kZXgsIEpTU3RyaW5nUmVmIGdhbWVwYWRJ
RCwgSlNTdHJpbmdSZWYgbWFwcGluZywgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0
b25Db3VudCk7CiAgICAgdm9pZCBzZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSh1bnNpZ25lZCBpbmRl
eCwgdW5zaWduZWQgYXhpc0luZGV4LCBkb3VibGUgdmFsdWUpOwogICAgIHZvaWQgc2V0TW9ja0dh
bWVwYWRCdXR0b25WYWx1ZSh1bnNpZ25lZCBpbmRleCwgdW5zaWduZWQgYnV0dG9uSW5kZXgsIGRv
dWJsZSB2YWx1ZSk7CiAgICAgCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RJbnZvY2F0aW9uLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24u
Y3BwCmluZGV4IDA5OGY1YmE3OGM3ZWYyODJhNjM3YjIzYWYyYzAzOTAxNmRhMGE3MzQuLjUxMzE5
N2MxYWZiYTI3ZGFjYTU5NDAzNzEyYWY0N2NmYzYwZDY1Y2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdEludm9jYXRpb24uY3BwCkBAIC0xMDE1LDE1ICsxMDE1LDE3IEBAIFdLUmV0YWlu
UHRyPFdLVHlwZVJlZj4gVGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3Nh
Z2VGcm9tSW5qZWN0ZWRCCiAgICAgICAgIFdLRGljdGlvbmFyeVJlZiBtZXNzYWdlQm9keURpY3Rp
b25hcnkgPSBzdGF0aWNfY2FzdDxXS0RpY3Rpb25hcnlSZWY+KG1lc3NhZ2VCb2R5KTsKICAgICAg
ICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGdhbWVwYWRJbmRleEtleSA9IGFkb3B0V0soV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkdhbWVwYWRJbmRleCIpKTsKICAgICAgICAgV0tS
ZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGdhbWVwYWRJREtleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoIkdhbWVwYWRJRCIpKTsKKyAgICAgICAgV0tSZXRhaW5QdHI8V0tT
dHJpbmdSZWY+IG1hcHBpbmdLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3Ry
aW5nKCJNYXBwaW5nIikpOwogICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gYXhpc0Nv
dW50S2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiQXhpc0NvdW50
IikpOwogICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gYnV0dG9uQ291bnRLZXkgPSBh
ZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJCdXR0b25Db3VudCIpKTsKIAog
ICAgICAgICBXS1VJbnQ2NFJlZiBnYW1lcGFkSW5kZXggPSBzdGF0aWNfY2FzdDxXS1VJbnQ2NFJl
Zj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIGdhbWVw
YWRJbmRleEtleS5nZXQoKSkpOwogICAgICAgICBXS1N0cmluZ1JlZiBnYW1lcGFkSUQgPSBzdGF0
aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9k
eURpY3Rpb25hcnksIGdhbWVwYWRJREtleS5nZXQoKSkpOworICAgICAgICBXS1N0cmluZ1JlZiBt
YXBwaW5nID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JL
ZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBtYXBwaW5nS2V5LmdldCgpKSk7CiAgICAgICAgIFdL
VUludDY0UmVmIGF4aXNDb3VudCA9IHN0YXRpY19jYXN0PFdLVUludDY0UmVmPihXS0RpY3Rpb25h
cnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgYXhpc0NvdW50S2V5LmdldCgp
KSk7CiAgICAgICAgIFdLVUludDY0UmVmIGJ1dHRvbkNvdW50ID0gc3RhdGljX2Nhc3Q8V0tVSW50
NjRSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBi
dXR0b25Db3VudEtleS5nZXQoKSkpOwogCi0gICAgICAgIFdlYkNvcmVUZXN0U3VwcG9ydDo6c2V0
TW9ja0dhbWVwYWREZXRhaWxzKFdLVUludDY0R2V0VmFsdWUoZ2FtZXBhZEluZGV4KSwgdG9XVEZT
dHJpbmcoZ2FtZXBhZElEKSwgV0tVSW50NjRHZXRWYWx1ZShheGlzQ291bnQpLCBXS1VJbnQ2NEdl
dFZhbHVlKGJ1dHRvbkNvdW50KSk7CisgICAgICAgIFdlYkNvcmVUZXN0U3VwcG9ydDo6c2V0TW9j
a0dhbWVwYWREZXRhaWxzKFdLVUludDY0R2V0VmFsdWUoZ2FtZXBhZEluZGV4KSwgdG9XVEZTdHJp
bmcoZ2FtZXBhZElEKSwgdG9XVEZTdHJpbmcobWFwcGluZyksIFdLVUludDY0R2V0VmFsdWUoYXhp
c0NvdW50KSwgV0tVSW50NjRHZXRWYWx1ZShidXR0b25Db3VudCkpOwogICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjZjhhZDcxOWQ5NTIyNjVkMDgyNzI5ZDk5ZDU3YmUx
NDgxNGM3ZDI2Li42NGY0ZjZiNTBhMjEzZDU5ZjIxY2Q4MGE2MzczOWU0MzJmNGI4NWU3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDEtMTAgIEphbWVzIEhvd2FyZCAgPGphbWVzaG93YXJk
QG1hYy5jb20+CisKKyAgICAgICAgU3RhbmRhcmQgZ2FtZXBhZCBtYXBwaW5nIGZvciBHYW1lQ29u
dHJvbGxlckdhbWVwYWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDYwMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGdhbWVwYWQvZ2FtZXBhZC1wb2xsaW5nLWFjY2Vzcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZ2FtZXBhZC9nYW1lcGFkLXBvbGxpbmctYWNjZXNzLmh0bWw6CisgICAgICAgICog
Z2FtZXBhZC9nYW1lcGFkLXRpbWVzdGFtcC5odG1sOgorICAgICAgICAqIGdhbWVwYWQvZ2FtZXBh
ZC12aXNpYmlsaXR5LTEuaHRtbDoKKwogMjAyMC0wMS0wNyAgUGFibG8gU2FhdmVkcmEgIDxwc2Fh
dmVkcmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZS1zeW5jIHdlYi1wbGF0Zm9ybS10ZXN0cy94
aHIgZnJvbSB1cHN0cmVhbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZ2FtZXBhZC9nYW1lcGFk
LXBvbGxpbmctYWNjZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2dhbWVwYWQvZ2FtZXBh
ZC1wb2xsaW5nLWFjY2Vzcy1leHBlY3RlZC50eHQKaW5kZXggNTJiNmJiNWMxNDZiYzhiNDI3ZTZl
YjY0NTBiMzcyNDIxMjEzZDk3NS4uZWIwZTZhNDA5NzU4NzA0ZDdiZjRiZTc1MTI1OTBhZDZiYTE3
NTA2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZ2FtZXBhZC9nYW1lcGFkLXBvbGxpbmctYWNj
ZXNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtcG9sbGlu
Zy1hY2Nlc3MtZXhwZWN0ZWQudHh0CkBAIC00LDIwMiArNCwyNDIgQEAgQ29ubmVjdGluZyBnYW1l
cGFkOgogW29iamVjdCBHYW1lcGFkXQogTmFtZTogMAogSW5kZXg6IDAKK01hcHBpbmc6IAogQXhl
czogCiBCdXR0b25zOiAKIENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmplY3QgR2FtZXBhZF0sW29i
amVjdCBHYW1lcGFkXQogTmFtZTogMQogSW5kZXg6IDEKK01hcHBpbmc6IAogQXhlczogMAogQnV0
dG9uczogZmFsc2UtMCAKIENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmplY3QgR2FtZXBhZF0sW29i
amVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiAyCiBJbmRleDogMgorTWFwcGlu
ZzogCiBBeGVzOiAwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCAKIENvbm5lY3RpbmcgZ2Ft
ZXBhZDoKIFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDMKIEluZGV4OiAzCitNYXBwaW5nOiAKIEF4ZXM6IDAs
MCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIENvbm5lY3RpbmcgZ2FtZXBh
ZDoKIFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogNAogSW5kZXg6IDQKK01hcHBp
bmc6IAogQXhlczogMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCAKIENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdCiBOYW1lOiA1CiBJbmRleDogNQorTWFwcGluZzogCiBBeGVzOiAwLDAs
MCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAK
IENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDYKIEluZGV4OiA2CitNYXBwaW5nOiAK
IEF4ZXM6IDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCAKIENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29i
amVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBH
YW1lcGFkXQogTmFtZTogNwogSW5kZXg6IDcKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAs
MAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCAKIENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdCiBOYW1lOiA4CiBJbmRleDogOAorTWFwcGluZzogCiBBeGVzOiAwLDAs
MCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmpl
Y3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2Ft
ZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6
IDkKIEluZGV4OiA5CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25z
OiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCAKIENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQog
TmFtZTogMTAKIEluZGV4OiAxMAorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCww
CiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogQ29ubmVjdGluZyBnYW1lcGFkOgog
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDExCiBJbmRleDogMTEKK01h
cHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3Qg
R2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiAxMgogSW5kZXg6IDEy
CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIENvbm5lY3RpbmcgZ2FtZXBhZDoK
IFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmpl
Y3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2Ft
ZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXQogTmFtZTogMTMKIEluZGV4OiAxMworTWFwcGluZzogCiBBeGVzOiAwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIAogQ29ubmVjdGluZyBnYW1lcGFkOgogW29iamVjdCBHYW1lcGFk
XSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2Jq
ZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdh
bWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmpl
Y3QgR2FtZXBhZF0KIE5hbWU6IDE0CiBJbmRleDogMTQKK01hcHBpbmc6IAogQXhlczogMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2Jq
ZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdh
bWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmpl
Y3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2Ft
ZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiAxNQogSW5kZXg6
IDE1CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0
b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMAogQ29ubmVjdGluZyBnYW1lcGFkOgogW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3Qg
R2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiAxNgogSW5kZXg6IDE2
CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRv
bnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmpl
Y3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2Ft
ZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXQogTmFtZTogMTcKIEluZGV4OiAxNworTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIENv
bm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2Jq
ZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdh
bWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmpl
Y3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2Ft
ZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0K
IE5hbWU6IDE4CiBJbmRleDogMTgKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IAogQ29ubmVjdGluZyBnYW1lcGFkOgogW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmpl
Y3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2Ft
ZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiAxOQogSW5kZXg6IDE5CitNYXBwaW5nOiAKIEF4
ZXM6IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBWZXJpZnlpbmcgdGhlcmUgYXJlIDIw
IGNvbm5lY3RlZCBnYW1lcGFkcyBpbiB0aGUgc2V0IG9mIGFsbCBnYW1lcGFkcwogW29iamVjdCBH
YW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFk
XSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2Jq
ZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdh
bWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmpl
Y3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiAwCiBJ
bmRleDogMAorTWFwcGluZzogCiBBeGVzOiAKIEJ1dHRvbnM6IAogTmFtZTogMQogSW5kZXg6IDEK
K01hcHBpbmc6IAogQXhlczogMAogQnV0dG9uczogZmFsc2UtMCAKIE5hbWU6IDIKIEluZGV4OiAy
CitNYXBwaW5nOiAKIEF4ZXM6IDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIAogTmFtZTog
MwogSW5kZXg6IDMKK01hcHBpbmc6IAogQXhlczogMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIAogTmFtZTogNAogSW5kZXg6IDQKK01hcHBpbmc6IAogQXhlczogMCwwLDAs
MAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDUKIElu
ZGV4OiA1CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogTmFtZTogNgogSW5kZXg6IDYKK01hcHBpbmc6
IAogQXhlczogMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogTmFtZTogNwogSW5kZXg6IDcKK01hcHBpbmc6IAogQXhl
czogMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDgKIEluZGV4OiA4CitNYXBwaW5nOiAK
IEF4ZXM6IDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogTmFtZTogOQogSW5kZXg6
IDkKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIAogTmFtZTogMTAKIEluZGV4OiAxMAorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAs
MCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogTmFtZTogMTEKIElu
ZGV4OiAxMQorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDEyCiBJbmRleDogMTIKK01h
cHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogTmFtZTogMTMKIEluZGV4OiAxMworTWFw
cGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogTmFtZTogMTQKIEluZGV4
OiAxNAorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRv
bnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCAKIE5hbWU6IDE1CiBJbmRleDogMTUKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wCiBOYW1lOiAxNgogSW5kZXg6IDE2CitNYXBw
aW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgCiBOYW1lOiAxNwogSW5kZXg6IDE3CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIAogTmFtZTogMTgKIEluZGV4OiAxOAorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgCiBOYW1lOiAxOQogSW5kZXg6IDE5CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgCiBEaXNjb25uZWN0aW5nIGdhbWVwYWRzIGluIHJldmVyc2Ugb3Jk
ZXIsIG1ha2luZyBzdXJlIGdhbWVwYWRzIGFycmF5IHJlbWFpbnMgYXMgZXhwZWN0ZWQKQEAgLTI0
OCw2ICsyODgsNyBAQCBDb25uZWN0aW5nIGdhbWVwYWQ6CiAsLCwsLCwsLCwsW29iamVjdCBHYW1l
cGFkXSwsLCwsLCwsLAogTmFtZTogQXdlc29tZSBKb3lzdGljayA1MDAwCiBJbmRleDogMTAKK01h
cHBpbmc6IHN0YW5kYXJkCiBBeGVzOiAwLjcsLTAuOSwxLC0xCi1CdXR0b25zOiB0cnVlLTEgdHJ1
ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVl
LTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUt
MSB0cnVlLTEgdHJ1ZS0xIAorQnV0dG9uczogdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRy
dWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1
ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZ2FtZXBhZC9nYW1lcGFkLXBvbGxpbmctYWNjZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9nYW1l
cGFkL2dhbWVwYWQtcG9sbGluZy1hY2Nlc3MuaHRtbAppbmRleCA2NDZkMjE5ZjBkMjI1OTIwZTAz
ZGVhNWJhMzVjOWE5MTZiODEyODRjLi42ZGJhODI1NTIyYjg4NWRiNTc5MDc0OGNhNjNmMzk3ZDAw
MDViYmE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtcG9sbGluZy1h
Y2Nlc3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtcG9sbGluZy1hY2Nl
c3MuaHRtbApAQCAtMzYsNiArMzYsNyBAQCBmdW5jdGlvbiBsb2dHYW1lcGFkKGdwKQogewogICAg
IGxvZygiTmFtZTogIiArIGdwLmlkKTsKICAgICBsb2coIkluZGV4OiAiICsgZ3AuaW5kZXgpOwor
ICAgIGxvZygiTWFwcGluZzogIiArIGdwLm1hcHBpbmcpOwogICAgIGxvZygiQXhlczogIiArIGdw
LmF4ZXMpOwogICAgIAogICAgIHZhciBidXR0b25TdHJpbmcgPSAiIjsKQEAgLTUzLDcgKzU0LDcg
QEAgZnVuY3Rpb24qIHRlc3RTdGVwcygpIHsKICAgICBsb2coIkluaXRpYWwgZ2FtZXBhZHMgbGVu
Z3RoOiAiICsgbmF2aWdhdG9yLmdldEdhbWVwYWRzKCkubGVuZ3RoKTsKICAgICBsb2coIkNvbm5l
Y3RpbmcgMjAgZGlmZmVyZW50IGdhbWVwYWRzIik7CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAy
MDsgKytpKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVwYWREZXRhaWxzKGksIGks
IGksIGkpOworICAgICAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkRGV0YWlscyhpLCBpLCAi
IiwgaSwgaSk7CiAgICAgICAgIHRlc3RSdW5uZXIuY29ubmVjdE1vY2tHYW1lcGFkKGkpOwogICAg
ICAgICB5aWVsZDsKICAgICB9CkBAIC03MywxMiArNzQsMTIgQEAgZnVuY3Rpb24qIHRlc3RTdGVw
cygpIHsKIAogICAgIGxvZygiQ2hlY2tpbmcgbm9uLXplcm8nZWQgZGV0YWlscyBmb3IgYSBnYW1l
cGFkIik7CiAKLSAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkRGV0YWlscygxMCwgIkF3ZXNv
bWUgSm95c3RpY2sgNTAwMCIsIDQsIDIwKTsKKyAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFk
RGV0YWlscygxMCwgIkF3ZXNvbWUgSm95c3RpY2sgNTAwMCIsICJzdGFuZGFyZCIsIDQsIDE3KTsK
ICAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkQXhpc1ZhbHVlKDEwLCAwLCAwLjcpOwogICAg
IHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUoMTAsIDEsIC0wLjkpOwogICAgIHRl
c3RSdW5uZXIuc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUoMTAsIDIsIDEuMCk7CiAgICAgdGVzdFJ1
bm5lci5zZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSgxMCwgMywgLTEuMCk7Ci0gICAgZm9yICh2YXIg
aSA9IDA7IGkgPCAyMDsgKytpKQorICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTc7ICsraSkKICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZEJ1dHRvblZhbHVlKDEwLCBpLCAxLjApOwog
ICAgICAgICAKICAgICB0ZXN0UnVubmVyLmNvbm5lY3RNb2NrR2FtZXBhZCgxMCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtdGltZXN0YW1wLmh0bWwgYi9MYXlvdXRU
ZXN0cy9nYW1lcGFkL2dhbWVwYWQtdGltZXN0YW1wLmh0bWwKaW5kZXggNDllZGNlY2JlNjM1YTJk
ZWE0NmIwZDYyM2NhMTczNmFjYjE3MTg4Ny4uMGI0YzAxMTgxNGE4MTAwZjA4Yzk2NzQ2NDkzZmI1
NWQ1ZDMzZTRiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZ2FtZXBhZC9nYW1lcGFkLXRpbWVz
dGFtcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2dhbWVwYWQvZ2FtZXBhZC10aW1lc3RhbXAuaHRt
bApAQCAtNzIsMTMgKzcyLDEzIEBAIGZ1bmN0aW9uIGhhbmRsZUdhbWVwYWRDb25uZWN0KCkKIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgYWRkRXZlbnRMaXN0ZW5lcigiZ2FtZXBhZGNvbm5lY3Rl
ZCIsIGhhbmRsZUdhbWVwYWRDb25uZWN0KTsKIAotICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVw
YWREZXRhaWxzKDAsICJUZXN0IEpveXN0aWNrIiwgMiwgMik7CisgICAgdGVzdFJ1bm5lci5zZXRN
b2NrR2FtZXBhZERldGFpbHMoMCwgIlRlc3QgSm95c3RpY2siLCAiIiwgMiwgMik7CiAgICAgdGVz
dFJ1bm5lci5zZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSgwLCAwLCAwLjcpOwogICAgIHRlc3RSdW5u
ZXIuc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUoMCwgMSwgLTEuMCk7CiAgICAgdGVzdFJ1bm5lci5z
ZXRNb2NrR2FtZXBhZEJ1dHRvblZhbHVlKDAsIDAsIDEuMCk7CiAgICAgdGVzdFJ1bm5lci5zZXRN
b2NrR2FtZXBhZEJ1dHRvblZhbHVlKDAsIDEsIDEuMCk7CiAgICAgdGVzdFJ1bm5lci5jb25uZWN0
TW9ja0dhbWVwYWQoMCk7Ci0gICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZERldGFpbHMoMSwg
IlRlc3QgSm95c3RpY2sgMiIsIDIsIDIpOworICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVwYWRE
ZXRhaWxzKDEsICJUZXN0IEpveXN0aWNrIDIiLCAiIiwgMiwgMik7CiAgICAgdGVzdFJ1bm5lci5z
ZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSgxLCAwLCAwLjcpOwogICAgIHRlc3RSdW5uZXIuc2V0TW9j
a0dhbWVwYWRBeGlzVmFsdWUoMSwgMSwgLTEuMCk7CiAgICAgdGVzdFJ1bm5lci5zZXRNb2NrR2Ft
ZXBhZEJ1dHRvblZhbHVlKDEsIDAsIDEuMCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9nYW1l
cGFkL2dhbWVwYWQtdmlzaWJpbGl0eS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVw
YWQtdmlzaWJpbGl0eS0xLmh0bWwKaW5kZXggOGQ1NDM4OWE1YTRlODc5N2Q4Yzk3MGFjNTI2Mjk1
NDM4YjZmMTlmMC4uMDc5NjNlZjQxNjBhZTE2YWYyZDA0Zjg0YWM0NGI1YTQ5MjE2NzQ5MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZ2FtZXBhZC9nYW1lcGFkLXZpc2liaWxpdHktMS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2dhbWVwYWQvZ2FtZXBhZC12aXNpYmlsaXR5LTEuaHRtbApAQCAtNDEs
NyArNDEsNyBAQCBmdW5jdGlvbiBydW5UZXN0KCkgewogCiAgICAgLy8gQ29ubmVjdGluZyB0aGUg
Z2FtZXBhZCBhbmQgY2hhbmdpbmcgYXhpcyB2YWx1ZXMgc2hvdWxkICpub3QqIG1ha2UgaXQgdmlz
aWJsZS4KICAgICAvLyBPbmx5IGJ1dHRvbiBwcmVzc2VzIHNob3VsZCBleHBvc2UgaXQuCi0gICAg
dGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZERldGFpbHMoMCwgIlRlc3QgSm95c3RpY2siLCAyLCAy
KTsKKyAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkRGV0YWlscygwLCAiVGVzdCBKb3lzdGlj
ayIsICIiLCAyLCAyKTsKICAgICB0ZXN0UnVubmVyLmNvbm5lY3RNb2NrR2FtZXBhZCgwKTsKICAg
ICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkQXhpc1ZhbHVlKDAsIDAsIDAuNyk7CiAgICAgdGVz
dFJ1bm5lci5zZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSgwLCAxLCAtMS4wKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387596</attachid>
            <date>2020-01-13 17:10:03 -0800</date>
            <delta_ts>2020-01-14 11:01:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206033-20200113171002.patch</filename>
            <type>text/plain</type>
            <size>46218</size>
            <attacher name="James Howard">jameshoward</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NDUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2QwYmZhMzE3ODY2NTRl
Y2E1Zjg1Yjc3Y2NhYmRmOWI2MzJiNmRjNy4uZjg0ZmE0OWVlZGU4MGM1ODE2Mzg3N2Q4ZTEwNjc5
ODc0MGY2NmNjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIwLTAxLTEzICBKYW1l
cyBIb3dhcmQgIDxqYW1lc2hvd2FyZEBtYWMuY29tPgorCisgICAgICAgIFN0YW5kYXJkIGdhbWVw
YWQgbWFwcGluZyBmb3IgR2FtZUNvbnRyb2xsZXJHYW1lcGFkcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MDMzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0ZW5kIFBsYXRmb3JtR2FtZXBhZCB0byBh
ZGQgYSBmaWVsZCBmb3IgdGhlIGdhbWVwYWQgbWFwcGluZy4KKyAgICAgICAgVGhlIG1hcHBpbmcg
ZGVmaW5lcyB0aGUgb3JkZXIgYW5kIGludGVycHJldGF0aW9uIG9mIHRoZSBheGVzIGFuZAorICAg
ICAgICBidXR0b25zIHZlY3RvcnMsIGFuZCBpcyBwYXNzZWQgYWxvbmcgdG8gdXNlcnMgb2YgdGhl
IEdhbWVwYWQKKyAgICAgICAgQVBJWzFdLgorCisgICAgICAgIExldHRpbmcgUGxhdGZvcm1HYW1l
cGFkIHN1YmNsYXNzZXJzIGRlZmluZSB0aGVpciBtYXBwaW5nIGlzIHRoZQorICAgICAgICBuYXR1
cmFsIHBsYWNlIGZvciB0aGlzIGZ1bmN0aW9uYWxpdHkuIFRoZSBQbGF0Zm9ybUdhbWVwYWQKKyAg
ICAgICAgYWxyZWFkeSBkZWZpbmVzIHRoZSBvcmRlciBvZiB0aGUgYXhlcyBhbmQgYnV0dG9ucyBh
bmQKKyAgICAgICAgUGxhdGZvcm1HYW1lcGFkIHN1YmNsYXNzZXJzIG1heSBrbm93IHNvbWV0aGlu
ZyBhYm91dCB0aGUKKyAgICAgICAgcGh5c2ljYWwgbGF5b3V0IG9mIHRoZSBnYW1lcGFkIHRoZXkg
cmVwcmVzZW50LgorCisgICAgICAgIFRoaXMgY2hhbmdlIG1vZGlmaWVzIHRoZSBHYW1lQ29udHJv
bGxlckdhbWVwYWQgc3ViY2xhc3Mgb2YKKyAgICAgICAgUGxhdGZvcm1HYW1lcGFkIHRvIHNldCB0
aGUgbWFwcGluZyB0byAic3RhbmRhcmQiIHdoZW4gYQorICAgICAgICBHQ0V4dGVuZGVkR2FtZXBh
ZCBpcyBkZXRlY3RlZCwgYW5kIHRvIGJpbmQgdGhlIGF4ZXMgYW5kIGJ1dHRvbnMKKyAgICAgICAg
YXBwcm9wcmlhdGVseS4gUHJldmlvdXNseSwgdGhlIGJ1dHRvbnMgYW5kIGF4ZXMgd2VyZSBib3Vu
ZAorICAgICAgICBhcmJpdHJhcmlseSwgYW5kIGluIHNvbWUgY2FzZXMgaW5jb21wbGV0ZWx5LiBX
aGlsZSB0aGF0IHdhc24ndCBhCisgICAgICAgIGJ1ZyBwZXIgc2UsIGJlY2F1c2Ugd2l0aCB0aGUg
bWFwcGluZyBzZXQgdG8gdGhlIGVtcHR5IHN0cmluZyBhbgorICAgICAgICBpbXBsZW1lbnRhdGlv
biBpcyBmcmVlIHRvIHByb3ZpZGUgYW55IGludGVycHJldGF0aW9uIG9mIHRoZQorICAgICAgICBn
YW1lcGFkIGVsZW1lbnRzIGl0IGxpa2VzLCBpdCB3YXMgY2VydGFpbmx5IGxlc3MgdXNlZnVsIHRo
YW4gdGhlCisgICAgICAgICJzdGFuZGFyZCIgbWFwcGluZy4KKworICAgICAgICBbMV0gaHR0cHM6
Ly93d3cudzMub3JnL1RSL2dhbWVwYWQvI3JlbWFwcGluZworCisgICAgICAgICogTW9kdWxlcy9n
YW1lcGFkL0dhbWVwYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2FtZXBhZDo6R2FtZXBhZCk6
CisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9QbGF0Zm9ybUdhbWVwYWQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlBsYXRmb3JtR2FtZXBhZDo6bWFwcGluZyBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWQubW06CisgICAgICAgIChX
ZWJDb3JlOjpHYW1lQ29udHJvbGxlckdhbWVwYWQ6OnNldHVwQXNFeHRlbmRlZEdhbWVwYWQpOgor
ICAgICAgICAqIHRlc3RpbmcvTW9ja0dhbWVwYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9j
a0dhbWVwYWQ6Ok1vY2tHYW1lcGFkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tHYW1lcGFkOjp1
cGRhdGVEZXRhaWxzKToKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tHYW1lcGFkLmg6CisgICAgICAg
ICogdGVzdGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tHYW1lcGFkUHJvdmlkZXI6OnNldE1vY2tHYW1lcGFkRGV0YWlscyk6CisgICAgICAgICogdGVz
dGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmg6CisgICAgICAgICogdGVzdGluZy9qcy9XZWJDb3Jl
VGVzdFN1cHBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZVRlc3RTdXBwb3J0OjpzZXRNb2NrR2Ft
ZXBhZERldGFpbHMpOgorICAgICAgICAqIHRlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0Lmg6
CisKIDIwMjAtMDEtMTMgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFNwbGl0IEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYSB0byBpbXBsZW1lbnQg
cmVtb3RlIGF1ZGlvIHJlbmRlcmluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAwMGQ1ZjkwMDgyZGY2YTY1MWI2ODdi
NDgyZTg3NDQxYmU2YWM5MjUyLi5lYTNjNDNhMTgzY2U4OWE3OTc3Zjc5OWZhNjc4MWYxY2VhYjMz
YTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTAxLTEzICBKYW1lcyBIb3dhcmQg
IDxqYW1lc2hvd2FyZEBtYWMuY29tPgorCisgICAgICAgIFN0YW5kYXJkIGdhbWVwYWQgbWFwcGlu
ZyBmb3IgR2FtZUNvbnRyb2xsZXJHYW1lcGFkcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MDMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisgICAgICAgIAorICAgICAgICBNYWtlIHRoZSBtYXBwaW5nIGFzIHByb3ZpZGVk
IGJ5IFBsYXRmb3JtR2FtZXBhZAorICAgICAgICBhdmFpbGFibGUgaW4gVUlHYW1lcGFkLCBhbmQg
cGFzcyBpdCBhbG9uZyB0bworICAgICAgICBHYW1lcGFkRGF0YSBzbyBpdCBjYW4gYmUgY29ycmVj
dGx5IHJlZmxlY3RlZAorICAgICAgICBpbiB0aGUgR2FtZXBhZCBBUEkuCisKKyAgICAgICAgKiBT
aGFyZWQvR2FtZXBhZC9HYW1lcGFkRGF0YS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdhbWVwYWRE
YXRhOjpHYW1lcGFkRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OkdhbWVwYWREYXRhOjplbmNvZGUg
Y29uc3QpOgorICAgICAgICAoV2ViS2l0OjpHYW1lcGFkRGF0YTo6ZGVjb2RlKToKKyAgICAgICAg
KiBTaGFyZWQvR2FtZXBhZC9HYW1lcGFkRGF0YS5oOgorICAgICAgICAoV2ViS2l0OjpHYW1lcGFk
RGF0YTo6bWFwcGluZyBjb25zdCk6CisgICAgICAgICogVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1l
cGFkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6VUlHYW1lcGFkOjpVSUdhbWVwYWQpOgorICAgICAg
ICAoV2ViS2l0OjpVSUdhbWVwYWQ6OmZ1bGxHYW1lcGFkRGF0YSBjb25zdCk6CisgICAgICAgICog
VUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HYW1l
cGFkL1dlYkdhbWVwYWQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJHYW1lcGFkOjpXZWJHYW1l
cGFkKToKKwogMjAyMC0wMS0wNiAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtXZWJBdXRobl0gU3VwcG9ydCBDVEFQIENsaWVudCBQaW4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCmlu
ZGV4IGM4YTBhZmQwMWFjMWQ1ODc4NDRkNDJhYmUzZDgzY2VhYTRkMTczNjYuLmU5NzU1NDA0NDRm
ZWQ3YzU3N2IzNWQxMzc5NjZkMDhmMzdhNzM2ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtMTAzMyw2ICsx
MDMzLDE0IEBACiAjZGVmaW5lIEhBVkVfT1NfU0lHTlBPU1QgMQogI2VuZGlmCiAKKyNpZiAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkg
fHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEzMDAwMCkKKyNkZWZpbmUgSEFWRV9HQ0VYVEVOREVER0FNRVBBRF9CVVRUT05TX09Q
VElPTlNfTUVOVSAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkp
CisjZGVmaW5lIEhBVkVfR0NFWFRFTkRFREdBTUVQQURfQlVUVE9OU19USFVNQlNUSUNLIDEKKyNl
bmRpZgorCiAKIAogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIF9faGFzX2luY2x1ZGUo
PFdlYktpdEFkZGl0aW9ucy9BZGRpdGlvbmFsUGxhdGZvcm0uaD4pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQvR2FtZXBhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2dhbWVwYWQvR2FtZXBhZC5jcHAKaW5kZXggOTY1MTk1ZGYyNGFhNzYxMTQyNjJkNTI1
ZGIzYTFhZmEwZGZkYmQwZS4uMWMxYWRlYjkyZWQxYmE5NGZhM2JhZDk5YWQ2NjFjYmM3ZjNkMTNk
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkLmNwcApAQCAtMzks
NiArMzksNyBAQCBHYW1lcGFkOjpHYW1lcGFkKGNvbnN0IFBsYXRmb3JtR2FtZXBhZCYgcGxhdGZv
cm1HYW1lcGFkKQogICAgICwgbV9pbmRleChwbGF0Zm9ybUdhbWVwYWQuaW5kZXgoKSkKICAgICAs
IG1fY29ubmVjdGVkKHRydWUpCiAgICAgLCBtX3RpbWVzdGFtcChwbGF0Zm9ybUdhbWVwYWQubGFz
dFVwZGF0ZVRpbWUoKSkKKyAgICAsIG1fbWFwcGluZyhwbGF0Zm9ybUdhbWVwYWQubWFwcGluZygp
KQogICAgICwgbV9heGVzKHBsYXRmb3JtR2FtZXBhZC5heGlzVmFsdWVzKCkuc2l6ZSgpLCAwLjAp
CiB7CiAgICAgdW5zaWduZWQgYnV0dG9uQ291bnQgPSBwbGF0Zm9ybUdhbWVwYWQuYnV0dG9uVmFs
dWVzKCkuc2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBh
ZC9QbGF0Zm9ybUdhbWVwYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvUGxh
dGZvcm1HYW1lcGFkLmgKaW5kZXggNjBjNGNiMzZiYWM2Nzg3ZjNlYzY2YzU1M2U5OGFjNTZjNzA3
NmE1Yi4uNzVjYzllZmVmOWQyMDBkMGZjM2FjYzJkZTUxODA2NDE0MTM3OTUzMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9QbGF0Zm9ybUdhbWVwYWQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL1BsYXRmb3JtR2FtZXBhZC5oCkBAIC0z
OSw2ICszOSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5QbGF0Zm9ybUdhbWVwYWQoKSA9IGRl
ZmF1bHQ7CiAKICAgICBjb25zdCBTdHJpbmcmIGlkKCkgY29uc3QgeyByZXR1cm4gbV9pZDsgfQor
ICAgIGNvbnN0IFN0cmluZyYgbWFwcGluZygpIGNvbnN0IHsgcmV0dXJuIG1fbWFwcGluZzsgfQog
ICAgIHVuc2lnbmVkIGluZGV4KCkgY29uc3QgeyByZXR1cm4gbV9pbmRleDsgfQogICAgIE1vbm90
b25pY1RpbWUgbGFzdFVwZGF0ZVRpbWUoKSBjb25zdCB7IHJldHVybiBtX2xhc3RVcGRhdGVUaW1l
OyB9CiAgICAgTW9ub3RvbmljVGltZSBjb25uZWN0VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29u
bmVjdFRpbWU7IH0KQEAgLTUyLDYgKzUzLDcgQEAgcHJvdGVjdGVkOgogICAgIH0KIAogICAgIFN0
cmluZyBtX2lkOworICAgIFN0cmluZyBtX21hcHBpbmc7CiAgICAgdW5zaWduZWQgbV9pbmRleDsK
ICAgICBNb25vdG9uaWNUaW1lIG1fbGFzdFVwZGF0ZVRpbWU7CiAgICAgTW9ub3RvbmljVGltZSBt
X2Nvbm5lY3RUaW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBh
ZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZC5tbQppbmRleCAzOTRhMTcwYjM5
MWE4YWM0NWQyNzUxOTA2YmFjMjQ3YTZlZWIzNzUwLi4yZTNiMWNlNTA3Yjk2NjQ5YTg1YWExNDcy
OGExMmVkNmU1M2I1MDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1l
cGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZC5tbQpAQCAtNTgsNiAr
NTgsNyBAQCB2b2lkIEdhbWVDb250cm9sbGVyR2FtZXBhZDo6c2V0dXBBc0V4dGVuZGVkR2FtZXBh
ZCgpCiAgICAgQVNTRVJUKG1fZXh0ZW5kZWRHYW1lcGFkKTsKIAogICAgIG1faWQgPSBtYWtlU3Ry
aW5nKFN0cmluZyhtX2djQ29udHJvbGxlci5nZXQoKS52ZW5kb3JOYW1lKSwgIiBFeHRlbmRlZCBH
YW1lcGFkIl9zKTsKKyAgICBtX21hcHBpbmcgPSBTdHJpbmcoInN0YW5kYXJkIik7CiAKICAgICBt
X2V4dGVuZGVkR2FtZXBhZC5nZXQoKS52YWx1ZUNoYW5nZWRIYW5kbGVyID0gXihHQ0V4dGVuZGVk
R2FtZXBhZCAqLCBHQ0NvbnRyb2xsZXJFbGVtZW50ICopIHsKICAgICAgICAgbV9sYXN0VXBkYXRl
VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwpAQCAtNjUsODIgKzY2LDY0IEBAIHZvaWQgR2Ft
ZUNvbnRyb2xsZXJHYW1lcGFkOjpzZXR1cEFzRXh0ZW5kZWRHYW1lcGFkKCkKICAgICAgICAgbV9o
YWRCdXR0b25QcmVzc2VzID0gZmFsc2U7CiAgICAgfTsKIAotICAgIG1fYnV0dG9uVmFsdWVzLnJl
c2l6ZSg4KTsKLSAgICBtX2J1dHRvblZhbHVlc1swXSA9IG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgp
LmJ1dHRvbkEudmFsdWU7Ci0gICAgbV9idXR0b25WYWx1ZXNbMV0gPSBtX2V4dGVuZGVkR2FtZXBh
ZC5nZXQoKS5idXR0b25CLnZhbHVlOwotICAgIG1fYnV0dG9uVmFsdWVzWzJdID0gbV9leHRlbmRl
ZEdhbWVwYWQuZ2V0KCkuYnV0dG9uWC52YWx1ZTsKLSAgICBtX2J1dHRvblZhbHVlc1szXSA9IG1f
ZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvblkudmFsdWU7Ci0gICAgbV9idXR0b25WYWx1ZXNb
NF0gPSBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5sZWZ0U2hvdWxkZXIudmFsdWU7Ci0gICAgbV9i
dXR0b25WYWx1ZXNbNV0gPSBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5yaWdodFNob3VsZGVyLnZh
bHVlOwotICAgIG1fYnV0dG9uVmFsdWVzWzZdID0gbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkubGVm
dFRyaWdnZXIudmFsdWU7Ci0gICAgbV9idXR0b25WYWx1ZXNbN10gPSBtX2V4dGVuZGVkR2FtZXBh
ZC5nZXQoKS5yaWdodFRyaWdnZXIudmFsdWU7Ci0KLSAgICBtX2F4aXNWYWx1ZXMucmVzaXplKDYp
OworICAgIG1fYnV0dG9uVmFsdWVzLnJlc2l6ZSgxNik7CisKKyAgICBhdXRvIGJpbmRCdXR0b24g
PSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICpidXR0b24sIHNpemVfdCBpZHgpIHsKKyAgICAg
ICAgbV9idXR0b25WYWx1ZXNbaWR4XSA9IGJ1dHRvbi52YWx1ZTsKKyAgICAgICAgYnV0dG9uLnZh
bHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0IHZh
bHVlLCBCT09MIHByZXNzZWQpIHsKKyAgICAgICAgICAgIG1fYnV0dG9uVmFsdWVzW2lkeF0gPSB2
YWx1ZTsKKyAgICAgICAgICAgIGlmIChwcmVzc2VkKQorICAgICAgICAgICAgICAgIG1faGFkQnV0
dG9uUHJlc3NlcyA9IHRydWU7CisgICAgICAgIH07CisgICAgfTsKKworICAgIC8vIEJ1dHRvbiBQ
YWQKKyAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvbkEsIDApOwor
ICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9uQiwgMSk7CisgICAg
YmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25YLCAyKTsKKyAgICBiaW5k
QnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvblksIDMpOworCisgICAgLy8gU2hv
dWxkZXJzLCBUcmlnZ2VycworICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCku
bGVmdFNob3VsZGVyLCA0KTsKKyAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgp
LnJpZ2h0U2hvdWxkZXIsIDUpOworICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0
KCkubGVmdFRyaWdnZXIsIDYpOworICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0
KCkucmlnaHRUcmlnZ2VyLCA3KTsKKworICAgIC8vIEQgUGFkCisgICAgYmluZEJ1dHRvbihtX2V4
dGVuZGVkR2FtZXBhZC5nZXQoKS5kcGFkLnVwLCAxMik7CisgICAgYmluZEJ1dHRvbihtX2V4dGVu
ZGVkR2FtZXBhZC5nZXQoKS5kcGFkLmRvd24sIDEzKTsKKyAgICBiaW5kQnV0dG9uKG1fZXh0ZW5k
ZWRHYW1lcGFkLmdldCgpLmRwYWQubGVmdCwgMTQpOworICAgIGJpbmRCdXR0b24obV9leHRlbmRl
ZEdhbWVwYWQuZ2V0KCkuZHBhZC5yaWdodCwgMTUpOworCisgICAgLy8gU2VsZWN0LCBTdGFydAor
I2lmIEhBVkUoR0NFWFRFTkRFREdBTUVQQURfQlVUVE9OU19PUFRJT05TX01FTlUpCisgICAgYmlu
ZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25PcHRpb25zLCA4KTsKKyAgICBi
aW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvbk1lbnUsIDkpOworI2VuZGlm
CisKKyAgICAvLyBMMywgUjMKKyNpZiBIQVZFKEdDRVhURU5ERURHQU1FUEFEX0JVVFRPTlNfVEhV
TUJTVElDSykKKyAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRUaHVt
YnN0aWNrQnV0dG9uLCAxMCk7CisgICAgYmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQo
KS5yaWdodFRodW1ic3RpY2tCdXR0b24sIDExKTsKKyNlbmRpZgorCisgICAgbV9heGlzVmFsdWVz
LnJlc2l6ZSg0KTsKICAgICBtX2F4aXNWYWx1ZXNbMF0gPSBtX2V4dGVuZGVkR2FtZXBhZC5nZXQo
KS5sZWZ0VGh1bWJzdGljay54QXhpcy52YWx1ZTsKLSAgICBtX2F4aXNWYWx1ZXNbMV0gPSBtX2V4
dGVuZGVkR2FtZXBhZC5nZXQoKS5sZWZ0VGh1bWJzdGljay55QXhpcy52YWx1ZTsKKyAgICBtX2F4
aXNWYWx1ZXNbMV0gPSAtbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkubGVmdFRodW1ic3RpY2sueUF4
aXMudmFsdWU7CiAgICAgbV9heGlzVmFsdWVzWzJdID0gbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCku
cmlnaHRUaHVtYnN0aWNrLnhBeGlzLnZhbHVlOwotICAgIG1fYXhpc1ZhbHVlc1szXSA9IG1fZXh0
ZW5kZWRHYW1lcGFkLmdldCgpLnJpZ2h0VGh1bWJzdGljay55QXhpcy52YWx1ZTsKLSAgICBtX2F4
aXNWYWx1ZXNbNF0gPSBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5kcGFkLnhBeGlzLnZhbHVlOwot
ICAgIG1fYXhpc1ZhbHVlc1s1XSA9IG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmRwYWQueUF4aXMu
dmFsdWU7Ci0KLSAgICBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25BLnZhbHVlQ2hhbmdl
ZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0IHZhbHVlLCBCT09M
IHByZXNzZWQpIHsKLSAgICAgICAgbV9idXR0b25WYWx1ZXNbMF0gPSB2YWx1ZTsKLSAgICAgICAg
aWYgKHByZXNzZWQpCi0gICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMgPSB0cnVlOwotICAg
IH07Ci0gICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9uQi52YWx1ZUNoYW5nZWRIYW5k
bGVyID0gXihHQ0NvbnRyb2xsZXJCdXR0b25JbnB1dCAqLCBmbG9hdCB2YWx1ZSwgQk9PTCBwcmVz
c2VkKSB7Ci0gICAgICAgIG1fYnV0dG9uVmFsdWVzWzFdID0gdmFsdWU7Ci0gICAgICAgIGlmIChw
cmVzc2VkKQotICAgICAgICAgICAgbV9oYWRCdXR0b25QcmVzc2VzID0gdHJ1ZTsKLSAgICB9Owot
ICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvblgudmFsdWVDaGFuZ2VkSGFuZGxlciA9
IF4oR0NDb250cm9sbGVyQnV0dG9uSW5wdXQgKiwgZmxvYXQgdmFsdWUsIEJPT0wgcHJlc3NlZCkg
ewotICAgICAgICBtX2J1dHRvblZhbHVlc1syXSA9IHZhbHVlOwotICAgICAgICBpZiAocHJlc3Nl
ZCkKLSAgICAgICAgICAgIG1faGFkQnV0dG9uUHJlc3NlcyA9IHRydWU7Ci0gICAgfTsKLSAgICBt
X2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25ZLnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdD
Q29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0IHZhbHVlLCBCT09MIHByZXNzZWQpIHsKLSAg
ICAgICAgbV9idXR0b25WYWx1ZXNbM10gPSB2YWx1ZTsKLSAgICAgICAgaWYgKHByZXNzZWQpCi0g
ICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMgPSB0cnVlOwotICAgIH07Ci0gICAgbV9leHRl
bmRlZEdhbWVwYWQuZ2V0KCkubGVmdFNob3VsZGVyLnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdD
Q29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0IHZhbHVlLCBCT09MIHByZXNzZWQpIHsKLSAg
ICAgICAgbV9idXR0b25WYWx1ZXNbNF0gPSB2YWx1ZTsKLSAgICAgICAgaWYgKHByZXNzZWQpCi0g
ICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMgPSB0cnVlOwotICAgIH07Ci0gICAgbV9leHRl
bmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRTaG91bGRlci52YWx1ZUNoYW5nZWRIYW5kbGVyID0gXihH
Q0NvbnRyb2xsZXJCdXR0b25JbnB1dCAqLCBmbG9hdCB2YWx1ZSwgQk9PTCBwcmVzc2VkKSB7Ci0g
ICAgICAgIG1fYnV0dG9uVmFsdWVzWzVdID0gdmFsdWU7Ci0gICAgICAgIGlmIChwcmVzc2VkKQot
ICAgICAgICAgICAgbV9oYWRCdXR0b25QcmVzc2VzID0gdHJ1ZTsKLSAgICB9OwotICAgIG1fZXh0
ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRUcmlnZ2VyLnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdD
Q29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0IHZhbHVlLCBCT09MIHByZXNzZWQpIHsKLSAg
ICAgICAgbV9idXR0b25WYWx1ZXNbNl0gPSB2YWx1ZTsKLSAgICAgICAgaWYgKHByZXNzZWQpCi0g
ICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMgPSB0cnVlOwotICAgIH07Ci0gICAgbV9leHRl
bmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRUcmlnZ2VyLnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdD
Q29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0IHZhbHVlLCBCT09MIHByZXNzZWQpIHsKLSAg
ICAgICAgbV9idXR0b25WYWx1ZXNbN10gPSB2YWx1ZTsKLSAgICAgICAgaWYgKHByZXNzZWQpCi0g
ICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMgPSB0cnVlOwotICAgIH07CisgICAgbV9heGlz
VmFsdWVzWzNdID0gLW1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLnJpZ2h0VGh1bWJzdGljay55QXhp
cy52YWx1ZTsKIAogICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRUaHVtYnN0aWNrLnhB
eGlzLnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckF4aXNJbnB1dCAqLCBmbG9h
dCB2YWx1ZSkgewogICAgICAgICBtX2F4aXNWYWx1ZXNbMF0gPSB2YWx1ZTsKICAgICB9OwogICAg
IG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRUaHVtYnN0aWNrLnlBeGlzLnZhbHVlQ2hhbmdl
ZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckF4aXNJbnB1dCAqLCBmbG9hdCB2YWx1ZSkgewotICAg
ICAgICBtX2F4aXNWYWx1ZXNbMV0gPSB2YWx1ZTsKKyAgICAgICAgbV9heGlzVmFsdWVzWzFdID0g
LXZhbHVlOwogICAgIH07CiAgICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRUaHVtYnN0
aWNrLnhBeGlzLnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckF4aXNJbnB1dCAq
LCBmbG9hdCB2YWx1ZSkgewogICAgICAgICBtX2F4aXNWYWx1ZXNbMl0gPSB2YWx1ZTsKICAgICB9
OwogICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLnJpZ2h0VGh1bWJzdGljay55QXhpcy52YWx1
ZUNoYW5nZWRIYW5kbGVyID0gXihHQ0NvbnRyb2xsZXJBeGlzSW5wdXQgKiwgZmxvYXQgdmFsdWUp
IHsKLSAgICAgICAgbV9heGlzVmFsdWVzWzNdID0gdmFsdWU7Ci0gICAgfTsKLSAgICBtX2V4dGVu
ZGVkR2FtZXBhZC5nZXQoKS5kcGFkLnhBeGlzLnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29u
dHJvbGxlckF4aXNJbnB1dCAqLCBmbG9hdCB2YWx1ZSkgewotICAgICAgICBtX2F4aXNWYWx1ZXNb
NF0gPSB2YWx1ZTsKLSAgICB9OwotICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmRwYWQueUF4
aXMudmFsdWVDaGFuZ2VkSGFuZGxlciA9IF4oR0NDb250cm9sbGVyQXhpc0lucHV0ICosIGZsb2F0
IHZhbHVlKSB7Ci0gICAgICAgIG1fYXhpc1ZhbHVlc1s1XSA9IHZhbHVlOworICAgICAgICBtX2F4
aXNWYWx1ZXNbM10gPSAtdmFsdWU7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01v
Y2tHYW1lcGFkLmNwcAppbmRleCBhYmJjNmVkZjFkOTlhYTAyYzYwOTJmZWFhYjllY2I4MjIwMzdk
MTYwLi41NWZmNDM4OGU5NjdhYjFkYmYyZTdjYWFiOWJmNTNiNzM4ODQ4ODBiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tHYW1lcGFkLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL01vY2tHYW1lcGFkLmNwcApAQCAtMzAsMTYgKzMwLDE3IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotTW9ja0dhbWVwYWQ6Ok1vY2tHYW1lcGFkKHVuc2lnbmVkIGluZGV4
LCBjb25zdCBTdHJpbmcmIGdhbWVwYWRJRCwgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBi
dXR0b25Db3VudCkKK01vY2tHYW1lcGFkOjpNb2NrR2FtZXBhZCh1bnNpZ25lZCBpbmRleCwgY29u
c3QgU3RyaW5nJiBnYW1lcGFkSUQsIGNvbnN0IFN0cmluZyYgbWFwcGluZywgdW5zaWduZWQgYXhp
c0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCkKICAgICA6IFBsYXRmb3JtR2FtZXBhZChpbmRl
eCkKIHsKICAgICBtX2Nvbm5lY3RUaW1lID0gbV9sYXN0VXBkYXRlVGltZSA9IE1vbm90b25pY1Rp
bWU6Om5vdygpOwotICAgIHVwZGF0ZURldGFpbHMoZ2FtZXBhZElELCBheGlzQ291bnQsIGJ1dHRv
bkNvdW50KTsKKyAgICB1cGRhdGVEZXRhaWxzKGdhbWVwYWRJRCwgbWFwcGluZywgYXhpc0NvdW50
LCBidXR0b25Db3VudCk7CiB9CiAKLXZvaWQgTW9ja0dhbWVwYWQ6OnVwZGF0ZURldGFpbHMoY29u
c3QgU3RyaW5nJiBnYW1lcGFkSUQsIHVuc2lnbmVkIGF4aXNDb3VudCwgdW5zaWduZWQgYnV0dG9u
Q291bnQpCit2b2lkIE1vY2tHYW1lcGFkOjp1cGRhdGVEZXRhaWxzKGNvbnN0IFN0cmluZyYgZ2Ft
ZXBhZElELCBjb25zdCBTdHJpbmcmIG1hcHBpbmcsIHVuc2lnbmVkIGF4aXNDb3VudCwgdW5zaWdu
ZWQgYnV0dG9uQ291bnQpCiB7CiAgICAgbV9pZCA9IGdhbWVwYWRJRDsKKyAgICBtX21hcHBpbmcg
PSBtYXBwaW5nOwogICAgIG1fYXhpc1ZhbHVlcyA9IFZlY3Rvcjxkb3VibGU+KGF4aXNDb3VudCwg
MC4wKTsKICAgICBtX2J1dHRvblZhbHVlcyA9IFZlY3Rvcjxkb3VibGU+KGJ1dHRvbkNvdW50LCAw
LjApOwogICAgIG1fbGFzdFVwZGF0ZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWQuaCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWQuaAppbmRleCA3MjhmN2QyMWM1ZDlkNGU3OGM0NTE0Y2Jj
OGFhYWU0MjVlZGE1NWFkLi5kZGE5MTA0OGRmNGUwZGViNmVlNmJjNzVmZjYxNmRkYjI4NjRhZmJl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tHYW1lcGFkLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZC5oCkBAIC0zMywxMiArMzMsMTIgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBNb2NrR2FtZXBhZCA6IHB1YmxpYyBQbGF0Zm9y
bUdhbWVwYWQgewogcHVibGljOgotICAgIE1vY2tHYW1lcGFkKHVuc2lnbmVkIGluZGV4LCBjb25z
dCBTdHJpbmcmIGdhbWVwYWRJRCwgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25D
b3VudCk7CisgICAgTW9ja0dhbWVwYWQodW5zaWduZWQgaW5kZXgsIGNvbnN0IFN0cmluZyYgZ2Ft
ZXBhZElELCBjb25zdCBTdHJpbmcmIG1hcHBpbmcsIHVuc2lnbmVkIGF4aXNDb3VudCwgdW5zaWdu
ZWQgYnV0dG9uQ291bnQpOwogCiAgICAgY29uc3QgVmVjdG9yPGRvdWJsZT4mIGF4aXNWYWx1ZXMo
KSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2F4aXNWYWx1ZXM7IH0KICAgICBjb25zdCBWZWN0b3I8
ZG91YmxlPiYgYnV0dG9uVmFsdWVzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9idXR0b25WYWx1
ZXM7IH0KIAotICAgIHZvaWQgdXBkYXRlRGV0YWlscyhjb25zdCBTdHJpbmcmIGdhbWVwYWRJRCwg
dW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCk7CisgICAgdm9pZCB1cGRh
dGVEZXRhaWxzKGNvbnN0IFN0cmluZyYgZ2FtZXBhZElELCBjb25zdCBTdHJpbmcmIG1hcHBpbmcs
IHVuc2lnbmVkIGF4aXNDb3VudCwgdW5zaWduZWQgYnV0dG9uQ291bnQpOwogICAgIGJvb2wgc2V0
QXhpc1ZhbHVlKHVuc2lnbmVkIGluZGV4LCBkb3VibGUgdmFsdWUpOwogICAgIGJvb2wgc2V0QnV0
dG9uVmFsdWUodW5zaWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWRQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL01vY2tHYW1lcGFkUHJvdmlkZXIuY3BwCmluZGV4IGQ0MGRlZDFkYTExOThj
YWEzNDU5ZDY3N2UxZmU4NGY1YmZiOTQ2ZTQuLjYxNTBmNTJhM2ZhODFmN2M2OGIyZjIyODQ0ODcz
YmZkNTVmNjZjYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVw
YWRQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZFBy
b3ZpZGVyLmNwcApAQCAtNTUsMTUgKzU1LDE1IEBAIHZvaWQgTW9ja0dhbWVwYWRQcm92aWRlcjo6
c3RvcE1vbml0b3JpbmdHYW1lcGFkcyhHYW1lcGFkUHJvdmlkZXJDbGllbnQmIGNsaWVudCkKICAg
ICBtX2NsaWVudHMucmVtb3ZlKCZjbGllbnQpOwogfQogCi12b2lkIE1vY2tHYW1lcGFkUHJvdmlk
ZXI6OnNldE1vY2tHYW1lcGFkRGV0YWlscyh1bnNpZ25lZCBpbmRleCwgY29uc3QgU3RyaW5nJiBn
YW1lcGFkSUQsIHVuc2lnbmVkIGF4aXNDb3VudCwgdW5zaWduZWQgYnV0dG9uQ291bnQpCit2b2lk
IE1vY2tHYW1lcGFkUHJvdmlkZXI6OnNldE1vY2tHYW1lcGFkRGV0YWlscyh1bnNpZ25lZCBpbmRl
eCwgY29uc3QgU3RyaW5nJiBnYW1lcGFkSUQsIGNvbnN0IFN0cmluZyYgbWFwcGluZywgdW5zaWdu
ZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCkKIHsKICAgICBpZiAoaW5kZXggPj0g
bV9tb2NrR2FtZXBhZFZlY3Rvci5zaXplKCkpCiAgICAgICAgIG1fbW9ja0dhbWVwYWRWZWN0b3Iu
cmVzaXplKGluZGV4ICsgMSk7CiAKICAgICBpZiAobV9tb2NrR2FtZXBhZFZlY3RvcltpbmRleF0p
Ci0gICAgICAgIG1fbW9ja0dhbWVwYWRWZWN0b3JbaW5kZXhdLT51cGRhdGVEZXRhaWxzKGdhbWVw
YWRJRCwgYXhpc0NvdW50LCBidXR0b25Db3VudCk7CisgICAgICAgIG1fbW9ja0dhbWVwYWRWZWN0
b3JbaW5kZXhdLT51cGRhdGVEZXRhaWxzKGdhbWVwYWRJRCwgbWFwcGluZywgYXhpc0NvdW50LCBi
dXR0b25Db3VudCk7CiAgICAgZWxzZQotICAgICAgICBtX21vY2tHYW1lcGFkVmVjdG9yW2luZGV4
XSA9IG1ha2VVbmlxdWU8TW9ja0dhbWVwYWQ+KGluZGV4LCBnYW1lcGFkSUQsIGF4aXNDb3VudCwg
YnV0dG9uQ291bnQpOworICAgICAgICBtX21vY2tHYW1lcGFkVmVjdG9yW2luZGV4XSA9IG1ha2VV
bmlxdWU8TW9ja0dhbWVwYWQ+KGluZGV4LCBnYW1lcGFkSUQsIG1hcHBpbmcsIGF4aXNDb3VudCwg
YnV0dG9uQ291bnQpOwogfQogCiBib29sIE1vY2tHYW1lcGFkUHJvdmlkZXI6OmNvbm5lY3RNb2Nr
R2FtZXBhZCh1bnNpZ25lZCBpbmRleCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvTW9ja0dhbWVwYWRQcm92aWRlci5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2Ft
ZXBhZFByb3ZpZGVyLmgKaW5kZXggNDA0MTliOTIzM2ZlMzkwN2E5ODI2YjcwNTEyZWQ2MTFlMTU1
ODhkNS4uZGE3NzZlZGYyYzU2MTdiMzg5Zjg2MmMzNjgwODRiYjMwZGM4Yjc4YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmgKQEAgLTQ0LDcgKzQ0LDcg
QEAgcHVibGljOgogICAgIGNvbnN0IFZlY3RvcjxQbGF0Zm9ybUdhbWVwYWQqPiYgcGxhdGZvcm1H
YW1lcGFkcygpIGZpbmFsIHsgcmV0dXJuIG1fY29ubmVjdGVkR2FtZXBhZFZlY3RvcjsgfQogICAg
IGJvb2wgaXNNb2NrR2FtZXBhZFByb3ZpZGVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsg
fQogCi0gICAgdm9pZCBzZXRNb2NrR2FtZXBhZERldGFpbHModW5zaWduZWQgaW5kZXgsIGNvbnN0
IFN0cmluZyYgZ2FtZXBhZElELCB1bnNpZ25lZCBheGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNv
dW50KTsKKyAgICB2b2lkIHNldE1vY2tHYW1lcGFkRGV0YWlscyh1bnNpZ25lZCBpbmRleCwgY29u
c3QgU3RyaW5nJiBnYW1lcGFkSUQsIGNvbnN0IFN0cmluZyYgbWFwcGluZywgdW5zaWduZWQgYXhp
c0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCk7CiAgICAgYm9vbCBzZXRNb2NrR2FtZXBhZEF4
aXNWYWx1ZSh1bnNpZ25lZCBpbmRleCwgdW5zaWduZWQgYXhpc0luZGV4LCBkb3VibGUgdmFsdWUp
OwogICAgIGJvb2wgc2V0TW9ja0dhbWVwYWRCdXR0b25WYWx1ZSh1bnNpZ25lZCBpbmRleCwgdW5z
aWduZWQgYnV0dG9uSW5kZXgsIGRvdWJsZSB2YWx1ZSk7CiAgICAgYm9vbCBjb25uZWN0TW9ja0dh
bWVwYWQodW5zaWduZWQgaW5kZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9X
ZWJDb3JlVGVzdFN1cHBvcnQuY3BwCmluZGV4IDQ2NmZhNDI3MDljZTIzOGVhOGQyNGY4Mjk1NDE4
MmZjNjczMGM3NWYuLjYwNjFhOTYwMTc2ZGExZDc0MjllMWYyMjRiZjFhY2RlZDEyYzFkODQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAK
QEAgLTE2NCwxMyArMTY0LDE0IEBAIHZvaWQgZGlzY29ubmVjdE1vY2tHYW1lcGFkKHVuc2lnbmVk
IGdhbWVwYWRJbmRleCkKICNlbmRpZgogfQogCi12b2lkIHNldE1vY2tHYW1lcGFkRGV0YWlscyh1
bnNpZ25lZCBnYW1lcGFkSW5kZXgsIGNvbnN0IFdURjo6U3RyaW5nJiBnYW1lcGFkSUQsIHVuc2ln
bmVkIGF4aXNDb3VudCwgdW5zaWduZWQgYnV0dG9uQ291bnQpCit2b2lkIHNldE1vY2tHYW1lcGFk
RGV0YWlscyh1bnNpZ25lZCBnYW1lcGFkSW5kZXgsIGNvbnN0IFdURjo6U3RyaW5nJiBnYW1lcGFk
SUQsIGNvbnN0IFdURjo6U3RyaW5nJiBtYXBwaW5nLCB1bnNpZ25lZCBheGlzQ291bnQsIHVuc2ln
bmVkIGJ1dHRvbkNvdW50KQogewogI2lmIEVOQUJMRShHQU1FUEFEKQotICAgIE1vY2tHYW1lcGFk
UHJvdmlkZXI6OnNpbmdsZXRvbigpLnNldE1vY2tHYW1lcGFkRGV0YWlscyhnYW1lcGFkSW5kZXgs
IGdhbWVwYWRJRCwgYXhpc0NvdW50LCBidXR0b25Db3VudCk7CisgICAgTW9ja0dhbWVwYWRQcm92
aWRlcjo6c2luZ2xldG9uKCkuc2V0TW9ja0dhbWVwYWREZXRhaWxzKGdhbWVwYWRJbmRleCwgZ2Ft
ZXBhZElELCBtYXBwaW5nLCBheGlzQ291bnQsIGJ1dHRvbkNvdW50KTsKICNlbHNlCiAgICAgVU5V
U0VEX1BBUkFNKGdhbWVwYWRJbmRleCk7CiAgICAgVU5VU0VEX1BBUkFNKGdhbWVwYWRJRCk7Cisg
ICAgVU5VU0VEX1BBUkFNKG1hcHBpbmcpOwogICAgIFVOVVNFRF9QQVJBTShheGlzQ291bnQpOwog
ICAgIFVOVVNFRF9QQVJBTShidXR0b25Db3VudCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmggYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5oCmluZGV4IGJiNzFmMDFiNTdkN2M4ZTI0
NjBkZGEyMzIxNGI3YjU1OTcwODNmNDQuLjc5YWVmZWY0NTFhMDg2MWFlNDdiYzIwYmFhY2JlM2M4
MmYzZGUwMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRl
c3RTdXBwb3J0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1
cHBvcnQuaApAQCAtNTgsNyArNTgsNyBAQCB2b2lkIHNldEFsbG93c0FueVNTTENlcnRpZmljYXRl
KGJvb2wpIFRFU1RfU1VQUE9SVF9FWFBPUlQ7CiB2b2lkIGluc3RhbGxNb2NrR2FtZXBhZFByb3Zp
ZGVyKCkgVEVTVF9TVVBQT1JUX0VYUE9SVDsKIHZvaWQgY29ubmVjdE1vY2tHYW1lcGFkKHVuc2ln
bmVkIGluZGV4KSBURVNUX1NVUFBPUlRfRVhQT1JUOwogdm9pZCBkaXNjb25uZWN0TW9ja0dhbWVw
YWQodW5zaWduZWQgaW5kZXgpIFRFU1RfU1VQUE9SVF9FWFBPUlQ7Ci12b2lkIHNldE1vY2tHYW1l
cGFkRGV0YWlscyh1bnNpZ25lZCBpbmRleCwgY29uc3QgV1RGOjpTdHJpbmcmIGdhbWVwYWRJRCwg
dW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCkgVEVTVF9TVVBQT1JUX0VY
UE9SVDsKK3ZvaWQgc2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVkIGluZGV4LCBjb25zdCBX
VEY6OlN0cmluZyYgZ2FtZXBhZElELCBjb25zdCBXVEY6OlN0cmluZyYgbWFwcGluZywgdW5zaWdu
ZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCkgVEVTVF9TVVBQT1JUX0VYUE9SVDsK
IHZvaWQgc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUodW5zaWduZWQgaW5kZXgsIHVuc2lnbmVkIGF4
aXNJbmRleCwgZG91YmxlIHZhbHVlKSBURVNUX1NVUFBPUlRfRVhQT1JUOwogdm9pZCBzZXRNb2Nr
R2FtZXBhZEJ1dHRvblZhbHVlKHVuc2lnbmVkIGluZGV4LCB1bnNpZ25lZCBidXR0b25JbmRleCwg
ZG91YmxlIHZhbHVlKSBURVNUX1NVUFBPUlRfRVhQT1JUOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9HYW1lcGFkL0dhbWVwYWREYXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuY3BwCmluZGV4IDdlNDMyNjQ3ZDYzNmM1ZDg5ZDI3Yjg3
ZDU2NzY2YzdkYmEzNGNhYjcuLmZkMjQ1Y2RiNTI4NzYxMmZiYzEzNDBmYjRkMGJmYzc4MzdmZDYy
MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuY3BwCkBA
IC00MSw5ICs0MSwxMCBAQCBHYW1lcGFkRGF0YTo6R2FtZXBhZERhdGEodW5zaWduZWQgaW5kZXgs
IGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBheGlzVmFsdWVzLCBjb25zdAogewogfQogCi1HYW1lcGFk
RGF0YTo6R2FtZXBhZERhdGEodW5zaWduZWQgaW5kZXgsIGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0
IFZlY3Rvcjxkb3VibGU+JiBheGlzVmFsdWVzLCBjb25zdCBWZWN0b3I8ZG91YmxlPiYgYnV0dG9u
VmFsdWVzLCBNb25vdG9uaWNUaW1lIGxhc3RVcGRhdGVUaW1lKQorR2FtZXBhZERhdGE6OkdhbWVw
YWREYXRhKHVuc2lnbmVkIGluZGV4LCBjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBTdHJpbmcmIG1h
cHBpbmcsIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBheGlzVmFsdWVzLCBjb25zdCBWZWN0b3I8ZG91
YmxlPiYgYnV0dG9uVmFsdWVzLCBNb25vdG9uaWNUaW1lIGxhc3RVcGRhdGVUaW1lKQogICAgIDog
bV9pbmRleChpbmRleCkKICAgICAsIG1faWQoaWQpCisgICAgLCBtX21hcHBpbmcobWFwcGluZykK
ICAgICAsIG1fYXhpc1ZhbHVlcyhheGlzVmFsdWVzKQogICAgICwgbV9idXR0b25WYWx1ZXMoYnV0
dG9uVmFsdWVzKQogICAgICwgbV9sYXN0VXBkYXRlVGltZShsYXN0VXBkYXRlVGltZSkKQEAgLTU2
LDcgKzU3LDcgQEAgdm9pZCBHYW1lcGFkRGF0YTo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2Rl
cikgY29uc3QKICAgICBpZiAobV9pc051bGwpCiAgICAgICAgIHJldHVybjsKIAotICAgIGVuY29k
ZXIgPDwgbV9pbmRleCA8PCBtX2lkIDw8IG1fYXhpc1ZhbHVlcyA8PCBtX2J1dHRvblZhbHVlcyA8
PCBtX2xhc3RVcGRhdGVUaW1lOworICAgIGVuY29kZXIgPDwgbV9pbmRleCA8PCBtX2lkIDw8IG1f
bWFwcGluZyA8PCBtX2F4aXNWYWx1ZXMgPDwgbV9idXR0b25WYWx1ZXMgPDwgbV9sYXN0VXBkYXRl
VGltZTsKIH0KIAogT3B0aW9uYWw8R2FtZXBhZERhdGE+IEdhbWVwYWREYXRhOjpkZWNvZGUoSVBD
OjpEZWNvZGVyJiBkZWNvZGVyKQpAQCAtNzQsNiArNzUsOSBAQCBPcHRpb25hbDxHYW1lcGFkRGF0
YT4gR2FtZXBhZERhdGE6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIpCiAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShkYXRhLm1faWQpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owog
CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShkYXRhLm1fbWFwcGluZykpCisgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGRhdGEubV9heGlzVmFs
dWVzKSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvR2FtZXBhZC9HYW1lcGFkRGF0YS5oIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvR2FtZXBhZC9HYW1lcGFkRGF0YS5oCmluZGV4IDdlN2U2MjJkNGMyMTZjOTc0Njg1MzU5MzM5
NDZhNGQ0ZTU1ZDdlY2UuLjdlMTZhODkyZTI0MWM2M2Y4OWYzODdkMTM1NTg5YjFmMDE0NWNjY2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9HYW1lcGFkL0dhbWVwYWREYXRhLmgKQEAgLTQ2LDcg
KzQ2LDcgQEAgcHVibGljOgogICAgIH0KIAogICAgIEdhbWVwYWREYXRhKHVuc2lnbmVkIGluZGV4
LCBjb25zdCBWZWN0b3I8ZG91YmxlPiYgYXhpc1ZhbHVlcywgY29uc3QgVmVjdG9yPGRvdWJsZT4m
IGJ1dHRvblZhbHVlcywgTW9ub3RvbmljVGltZSBsYXN0VXBkYXRlVGltZSk7Ci0gICAgR2FtZXBh
ZERhdGEodW5zaWduZWQgaW5kZXgsIGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IFZlY3Rvcjxkb3Vi
bGU+JiBheGlzVmFsdWVzLCBjb25zdCBWZWN0b3I8ZG91YmxlPiYgYnV0dG9uVmFsdWVzLCBNb25v
dG9uaWNUaW1lIGxhc3RVcGRhdGVUaW1lKTsKKyAgICBHYW1lcGFkRGF0YSh1bnNpZ25lZCBpbmRl
eCwgY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3RyaW5nJiBtYXBwaW5nLCBjb25zdCBWZWN0b3I8
ZG91YmxlPiYgYXhpc1ZhbHVlcywgY29uc3QgVmVjdG9yPGRvdWJsZT4mIGJ1dHRvblZhbHVlcywg
TW9ub3RvbmljVGltZSBsYXN0VXBkYXRlVGltZSk7CiAKICAgICB2b2lkIGVuY29kZShJUEM6OkVu
Y29kZXImKSBjb25zdDsKICAgICBzdGF0aWMgT3B0aW9uYWw8R2FtZXBhZERhdGE+IGRlY29kZShJ
UEM6OkRlY29kZXImKTsKQEAgLTU2LDEyICs1NiwxNCBAQCBwdWJsaWM6CiAgICAgTW9ub3Rvbmlj
VGltZSBsYXN0VXBkYXRlVGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdFVwZGF0ZVRpbWU7IH0K
ICAgICB1bnNpZ25lZCBpbmRleCgpIGNvbnN0IHsgcmV0dXJuIG1faW5kZXg7IH0KICAgICBjb25z
dCBTdHJpbmcmIGlkKCkgY29uc3QgeyByZXR1cm4gbV9pZDsgfQorICAgIGNvbnN0IFN0cmluZyYg
bWFwcGluZygpIGNvbnN0IHsgcmV0dXJuIG1fbWFwcGluZzsgfQogICAgIGNvbnN0IFZlY3Rvcjxk
b3VibGU+JiBheGlzVmFsdWVzKCkgY29uc3QgeyByZXR1cm4gbV9heGlzVmFsdWVzOyB9CiAgICAg
Y29uc3QgVmVjdG9yPGRvdWJsZT4mIGJ1dHRvblZhbHVlcygpIGNvbnN0IHsgcmV0dXJuIG1fYnV0
dG9uVmFsdWVzOyB9CiAKIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9pbmRleDsKICAgICBTdHJp
bmcgbV9pZDsKKyAgICBTdHJpbmcgbV9tYXBwaW5nOwogICAgIFZlY3Rvcjxkb3VibGU+IG1fYXhp
c1ZhbHVlczsKICAgICBWZWN0b3I8ZG91YmxlPiBtX2J1dHRvblZhbHVlczsKICAgICBNb25vdG9u
aWNUaW1lIG1fbGFzdFVwZGF0ZVRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9HYW1lcGFkL1VJR2FtZXBhZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HYW1l
cGFkL1VJR2FtZXBhZC5jcHAKaW5kZXggYmNhMWM5MjJhNmUyOWNlYzk1MGM2NDA0NDdlOWZiODg0
MDE4MGQ4MC4uYmFlZTk3YTViODA4MWI1NmU1NmE0NWQ0ZTUyNjc4MzEzYTgwYTcyOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkLmNwcApAQCAtMzcsNiAr
MzcsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIFVJR2FtZXBhZDo6VUlHYW1lcGFkKFdl
YkNvcmU6OlBsYXRmb3JtR2FtZXBhZCYgcGxhdGZvcm1HYW1lcGFkKQogICAgIDogbV9pbmRleChw
bGF0Zm9ybUdhbWVwYWQuaW5kZXgoKSkKICAgICAsIG1faWQocGxhdGZvcm1HYW1lcGFkLmlkKCkp
CisgICAgLCBtX21hcHBpbmcocGxhdGZvcm1HYW1lcGFkLm1hcHBpbmcoKSkKICAgICAsIG1fbGFz
dFVwZGF0ZVRpbWUocGxhdGZvcm1HYW1lcGFkLmxhc3RVcGRhdGVUaW1lKCkpCiB7CiAgICAgbV9h
eGlzVmFsdWVzLnJlc2l6ZShwbGF0Zm9ybUdhbWVwYWQuYXhpc1ZhbHVlcygpLnNpemUoKSk7CkBA
IC02Myw3ICs2NCw3IEBAIEdhbWVwYWREYXRhIFVJR2FtZXBhZDo6Y29uZGVuc2VkR2FtZXBhZERh
dGEoKSBjb25zdAogCiBHYW1lcGFkRGF0YSBVSUdhbWVwYWQ6OmZ1bGxHYW1lcGFkRGF0YSgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIHsgbV9pbmRleCwgbV9pZCwgbV9heGlzVmFsdWVzLCBtX2J1dHRv
blZhbHVlcywgbV9sYXN0VXBkYXRlVGltZSB9OworICAgIHJldHVybiB7IG1faW5kZXgsIG1faWQs
IG1fbWFwcGluZywgbV9heGlzVmFsdWVzLCBtX2J1dHRvblZhbHVlcywgbV9sYXN0VXBkYXRlVGlt
ZSB9OwogfQogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dhbWVwYWQv
VUlHYW1lcGFkLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZC5o
CmluZGV4IGIwMjkxNTA5MWUzODdjMDQ5ZWNlOGVkMGMzY2FmMTQyNDUyZDAyNTIuLmRiNzZkMjdi
YzUzYTE5MGFkZjViYTliNWFmYzY3YzRmMWQ5Y2Q1ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWQuaApAQCAtNTQsNiArNTQsNyBAQCBwdWJsaWM6CiBwcml2
YXRlOgogICAgIHVuc2lnbmVkIG1faW5kZXg7CiAgICAgU3RyaW5nIG1faWQ7CisgICAgU3RyaW5n
IG1fbWFwcGluZzsKICAgICBWZWN0b3I8ZG91YmxlPiBtX2F4aXNWYWx1ZXM7CiAgICAgVmVjdG9y
PGRvdWJsZT4gbV9idXR0b25WYWx1ZXM7CiAgICAgTW9ub3RvbmljVGltZSBtX2xhc3RVcGRhdGVU
aW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dhbWVwYWQvV2ViR2Ft
ZXBhZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFkLmNw
cAppbmRleCA4MGM5NzkwMGRjMDRlNGY1Y2I5YWQyOTY5OTk3ZDhhYWExOTU1YThjLi5hNDNmMDRh
NGU3OTFmYWRlNmE3MWUwNGJlZjkzOTJkMzMzNDNkNjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFkLmNwcApAQCAtNDAsNiArNDAsNyBAQCBXZWJH
YW1lcGFkOjpXZWJHYW1lcGFkKGNvbnN0IEdhbWVwYWREYXRhJiBnYW1lcGFkRGF0YSkKICAgICBM
T0coR2FtZXBhZCwgIkNvbm5lY3RpbmcgV2ViR2FtZXBhZCAldSIsIGdhbWVwYWREYXRhLmluZGV4
KCkpOwogCiAgICAgbV9pZCA9IGdhbWVwYWREYXRhLmlkKCk7CisgICAgbV9tYXBwaW5nID0gZ2Ft
ZXBhZERhdGEubWFwcGluZygpOwogICAgIG1fYXhpc1ZhbHVlcy5yZXNpemUoZ2FtZXBhZERhdGEu
YXhpc1ZhbHVlcygpLnNpemUoKSk7CiAgICAgbV9idXR0b25WYWx1ZXMucmVzaXplKGdhbWVwYWRE
YXRhLmJ1dHRvblZhbHVlcygpLnNpemUoKSk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiZTFmODI0NTI2ZmEwMzY0Zjg5NDIxYzM3NzFlYTJm
NjA3ODUyZGE0Li41YWVhZjYxYTkzZTg4MTA5NjNmYzhjYjVjMzBkZDZkMTkyMzBhYzYwIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMjAtMDEtMTMgIEphbWVzIEhvd2FyZCAgPGphbWVzaG93YXJkQG1hYy5jb20+CisK
KyAgICAgICAgU3RhbmRhcmQgZ2FtZXBhZCBtYXBwaW5nIGZvciBHYW1lQ29udHJvbGxlckdhbWVw
YWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYw
MzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGw6Cisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoK
KyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0TW9ja0dhbWVwYWREZXRhaWxzKToKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6
VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRC
dW5kbGUpOgorCiAyMDIwLTAxLTEzICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KIAogICAgICAgICBbRVdTXSBBZGQgdW5pdCB0ZXN0cyBmb3IgZmFjdG9yaWVzCmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RS
dW5uZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5n
cy9UZXN0UnVubmVyLmlkbAppbmRleCA5ZTUzYjViZTkyNjRmMjEzMDU5NmNiZWY3MGE5NDUxYWEz
NTVlNGRlLi4xNjBjMmU5ZjNiYTY0Nzc1OThhYTUyY2EyYzVhNzkyODA4OTMyODY3IDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RS
dW5uZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmlu
ZGluZ3MvVGVzdFJ1bm5lci5pZGwKQEAgLTI4NSw3ICsyODUsNyBAQCBpbnRlcmZhY2UgVGVzdFJ1
bm5lciB7CiAgICAgdm9pZCBpbnN0YWxsQ3VzdG9tTWVudUFjdGlvbihET01TdHJpbmcgbmFtZSwg
Ym9vbGVhbiBkaXNtaXNzZXNBdXRvbWF0aWNhbGx5LCBvYmplY3QgY2FsbGJhY2spOwogCiAgICAg
Ly8gR2FtZXBhZAotICAgIHZvaWQgc2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVkIGxvbmcg
aW5kZXgsIERPTVN0cmluZyBpZCwgdW5zaWduZWQgbG9uZyBheGlzQ291bnQsIHVuc2lnbmVkIGxv
bmcgYnV0dG9uQ291bnQpOworICAgIHZvaWQgc2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVk
IGxvbmcgaW5kZXgsIERPTVN0cmluZyBpZCwgRE9NU3RyaW5nIG1hcHBpbmcsIHVuc2lnbmVkIGxv
bmcgYXhpc0NvdW50LCB1bnNpZ25lZCBsb25nIGJ1dHRvbkNvdW50KTsKICAgICB2b2lkIHNldE1v
Y2tHYW1lcGFkQXhpc1ZhbHVlKHVuc2lnbmVkIGxvbmcgaW5kZXgsIHVuc2lnbmVkIGxvbmcgYXhp
c0luZGV4LCBkb3VibGUgdmFsdWUpOwogICAgIHZvaWQgc2V0TW9ja0dhbWVwYWRCdXR0b25WYWx1
ZSh1bnNpZ25lZCBsb25nIGluZGV4LCB1bnNpZ25lZCBsb25nIGJ1dHRvbkluZGV4LCBkb3VibGUg
dmFsdWUpOwogICAgIHZvaWQgY29ubmVjdE1vY2tHYW1lcGFkKHVuc2lnbmVkIGxvbmcgaW5kZXgp
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1
bm5lci5jcHAKaW5kZXggZmU5ZTJmZWE0M2Y0ZGUzYTc4Zjk5NTUwMjM5MDg5ZDIzY2M5MzY0NS4u
Y2M1ZTg3MTJiNGQ1ZDc3N2I2OTljMmEyZDIwZjE2ODFiNThmM2M3OSAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAorKysgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCkBAIC0y
NDUwLDcgKzI0NTAsNyBAQCB2b2lkIFRlc3RSdW5uZXI6OmRpc2Nvbm5lY3RNb2NrR2FtZXBhZCh1
bnNpZ25lZCBpbmRleCkKICAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0
ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2Fn
ZUJvZHkuZ2V0KCksIG51bGxwdHIpOwogfQogCi12b2lkIFRlc3RSdW5uZXI6OnNldE1vY2tHYW1l
cGFkRGV0YWlscyh1bnNpZ25lZCBpbmRleCwgSlNTdHJpbmdSZWYgZ2FtZXBhZElELCB1bnNpZ25l
ZCBheGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KQordm9pZCBUZXN0UnVubmVyOjpzZXRN
b2NrR2FtZXBhZERldGFpbHModW5zaWduZWQgaW5kZXgsIEpTU3RyaW5nUmVmIGdhbWVwYWRJRCwg
SlNTdHJpbmdSZWYgbWFwcGluZywgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25D
b3VudCkKIHsKICAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+PiBrZXlzOwogICAg
IFZlY3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7CkBAIC0yNDU4LDYgKzI0NTgs
OSBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldE1vY2tHYW1lcGFkRGV0YWlscyh1bnNpZ25lZCBpbmRl
eCwgSlNTdHJpbmdSZWYgZ2FtZXBhZElELCB1bgogICAgIGtleXMuYXBwZW5kKGFkb3B0V0soV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkdhbWVwYWRJRCIpKSk7CiAgICAgdmFsdWVzLmFw
cGVuZCh0b1dLKGdhbWVwYWRJRCkpOwogCisgICAga2V5cy5hcHBlbmQoYWRvcHRXSyhXS1N0cmlu
Z0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiTWFwcGluZyIpKSk7CisgICAgdmFsdWVzLmFwcGVuZCh0
b1dLKG1hcHBpbmcpKTsKKwogICAgIGtleXMuYXBwZW5kKGFkb3B0V0soV0tTdHJpbmdDcmVhdGVX
aXRoVVRGOENTdHJpbmcoIkdhbWVwYWRJbmRleCIpKSk7CiAgICAgdmFsdWVzLmFwcGVuZChhZG9w
dFdLKFdLVUludDY0Q3JlYXRlKGluZGV4KSkpOwogCkBAIC0yNTUxLDcgKzI1NTQsNyBAQCB2b2lk
IFRlc3RSdW5uZXI6OmRpc2Nvbm5lY3RNb2NrR2FtZXBhZCh1bnNpZ25lZCkKIHsKIH0KIAotdm9p
ZCBUZXN0UnVubmVyOjpzZXRNb2NrR2FtZXBhZERldGFpbHModW5zaWduZWQsIEpTU3RyaW5nUmVm
LCB1bnNpZ25lZCwgdW5zaWduZWQpCit2b2lkIFRlc3RSdW5uZXI6OnNldE1vY2tHYW1lcGFkRGV0
YWlscyh1bnNpZ25lZCwgSlNTdHJpbmdSZWYsIEpTU3RyaW5nUmVmLCB1bnNpZ25lZCwgdW5zaWdu
ZWQpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9UZXN0UnVubmVyLmgKaW5kZXggOTU1ZGQwZjcxZmIzZDk1OTUwODVkMDU2YjQ5OGY3NzY0M2Y5
YWFmNC4uYzNjMTA0NTNlOTMyOGViY2U4OTViNmFhMmZhYTgxYzFhZGYyYmFhMiAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKQEAg
LTM3NSw3ICszNzUsNyBAQCBwdWJsaWM6CiAgICAgLy8gR2FtZXBhZHMKICAgICB2b2lkIGNvbm5l
Y3RNb2NrR2FtZXBhZCh1bnNpZ25lZCBpbmRleCk7CiAgICAgdm9pZCBkaXNjb25uZWN0TW9ja0dh
bWVwYWQodW5zaWduZWQgaW5kZXgpOwotICAgIHZvaWQgc2V0TW9ja0dhbWVwYWREZXRhaWxzKHVu
c2lnbmVkIGluZGV4LCBKU1N0cmluZ1JlZiBnYW1lcGFkSUQsIHVuc2lnbmVkIGF4aXNDb3VudCwg
dW5zaWduZWQgYnV0dG9uQ291bnQpOworICAgIHZvaWQgc2V0TW9ja0dhbWVwYWREZXRhaWxzKHVu
c2lnbmVkIGluZGV4LCBKU1N0cmluZ1JlZiBnYW1lcGFkSUQsIEpTU3RyaW5nUmVmIG1hcHBpbmcs
IHVuc2lnbmVkIGF4aXNDb3VudCwgdW5zaWduZWQgYnV0dG9uQ291bnQpOwogICAgIHZvaWQgc2V0
TW9ja0dhbWVwYWRBeGlzVmFsdWUodW5zaWduZWQgaW5kZXgsIHVuc2lnbmVkIGF4aXNJbmRleCwg
ZG91YmxlIHZhbHVlKTsKICAgICB2b2lkIHNldE1vY2tHYW1lcGFkQnV0dG9uVmFsdWUodW5zaWdu
ZWQgaW5kZXgsIHVuc2lnbmVkIGJ1dHRvbkluZGV4LCBkb3VibGUgdmFsdWUpOwogICAgIApkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAppbmRleCAwOThmNWJhNzhjN2Vm
MjgyYTYzN2IyM2FmMmMwMzkwMTZkYTBhNzM0Li41MTMxOTdjMWFmYmEyN2RhY2E1OTQwMzcxMmFm
NDdjZmM2MGQ2NWNhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZv
Y2F0aW9uLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNw
cApAQCAtMTAxNSwxNSArMTAxNSwxNyBAQCBXS1JldGFpblB0cjxXS1R5cGVSZWY+IFRlc3RJbnZv
Y2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQgogICAgICAg
ICBXS0RpY3Rpb25hcnlSZWYgbWVzc2FnZUJvZHlEaWN0aW9uYXJ5ID0gc3RhdGljX2Nhc3Q8V0tE
aWN0aW9uYXJ5UmVmPihtZXNzYWdlQm9keSk7CiAgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5n
UmVmPiBnYW1lcGFkSW5kZXhLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3Ry
aW5nKCJHYW1lcGFkSW5kZXgiKSk7CiAgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBn
YW1lcGFkSURLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJHYW1l
cGFkSUQiKSk7CisgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtYXBwaW5nS2V5ID0g
YWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiTWFwcGluZyIpKTsKICAgICAg
ICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGF4aXNDb3VudEtleSA9IGFkb3B0V0soV0tTdHJp
bmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkF4aXNDb3VudCIpKTsKICAgICAgICAgV0tSZXRhaW5Q
dHI8V0tTdHJpbmdSZWY+IGJ1dHRvbkNvdW50S2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdp
dGhVVEY4Q1N0cmluZygiQnV0dG9uQ291bnQiKSk7CiAKICAgICAgICAgV0tVSW50NjRSZWYgZ2Ft
ZXBhZEluZGV4ID0gc3RhdGljX2Nhc3Q8V0tVSW50NjRSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1G
b3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBnYW1lcGFkSW5kZXhLZXkuZ2V0KCkpKTsKICAg
ICAgICAgV0tTdHJpbmdSZWYgZ2FtZXBhZElEID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdL
RGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBnYW1lcGFkSURL
ZXkuZ2V0KCkpKTsKKyAgICAgICAgV0tTdHJpbmdSZWYgbWFwcGluZyA9IHN0YXRpY19jYXN0PFdL
U3RyaW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFy
eSwgbWFwcGluZ0tleS5nZXQoKSkpOwogICAgICAgICBXS1VJbnQ2NFJlZiBheGlzQ291bnQgPSBz
dGF0aWNfY2FzdDxXS1VJbnQ2NFJlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdl
Qm9keURpY3Rpb25hcnksIGF4aXNDb3VudEtleS5nZXQoKSkpOwogICAgICAgICBXS1VJbnQ2NFJl
ZiBidXR0b25Db3VudCA9IHN0YXRpY19jYXN0PFdLVUludDY0UmVmPihXS0RpY3Rpb25hcnlHZXRJ
dGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgYnV0dG9uQ291bnRLZXkuZ2V0KCkpKTsK
IAotICAgICAgICBXZWJDb3JlVGVzdFN1cHBvcnQ6OnNldE1vY2tHYW1lcGFkRGV0YWlscyhXS1VJ
bnQ2NEdldFZhbHVlKGdhbWVwYWRJbmRleCksIHRvV1RGU3RyaW5nKGdhbWVwYWRJRCksIFdLVUlu
dDY0R2V0VmFsdWUoYXhpc0NvdW50KSwgV0tVSW50NjRHZXRWYWx1ZShidXR0b25Db3VudCkpOwor
ICAgICAgICBXZWJDb3JlVGVzdFN1cHBvcnQ6OnNldE1vY2tHYW1lcGFkRGV0YWlscyhXS1VJbnQ2
NEdldFZhbHVlKGdhbWVwYWRJbmRleCksIHRvV1RGU3RyaW5nKGdhbWVwYWRJRCksIHRvV1RGU3Ry
aW5nKG1hcHBpbmcpLCBXS1VJbnQ2NEdldFZhbHVlKGF4aXNDb3VudCksIFdLVUludDY0R2V0VmFs
dWUoYnV0dG9uQ291bnQpKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMGVlYTNjY2RmYTRhYzVlOTk0YjAwNjQ2ZGFiNDJjMDA4OWU3MDc0MC4uMjcyNjg3YTdlMDkz
N2NmMGY4MjdlNDAzZTZkYjJiOWQ1YzJhYWJlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIw
LTAxLTEzICBKYW1lcyBIb3dhcmQgIDxqYW1lc2hvd2FyZEBtYWMuY29tPgorCisgICAgICAgIFN0
YW5kYXJkIGdhbWVwYWQgbWFwcGluZyBmb3IgR2FtZUNvbnRyb2xsZXJHYW1lcGFkcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MDMzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBnYW1lcGFkL2dhbWVw
YWQtcG9sbGluZy1hY2Nlc3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGdhbWVwYWQvZ2FtZXBh
ZC1wb2xsaW5nLWFjY2Vzcy5odG1sOgorICAgICAgICAqIGdhbWVwYWQvZ2FtZXBhZC10aW1lc3Rh
bXAuaHRtbDoKKyAgICAgICAgKiBnYW1lcGFkL2dhbWVwYWQtdmlzaWJpbGl0eS0xLmh0bWw6CisK
IDIwMjAtMDEtMTMgIFRydWl0dCBTYXZlbGwgIDx0c2F2ZWxsQGFwcGxlLmNvbT4KIAogICAgICAg
ICBGbGFreSBUZXN0OiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N2Zy9pbXBvcnQv
c3RydWN0LWRvbS0wNi1iLW1hbnVhbC5zdmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2dhbWVw
YWQvZ2FtZXBhZC1wb2xsaW5nLWFjY2Vzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9nYW1l
cGFkL2dhbWVwYWQtcG9sbGluZy1hY2Nlc3MtZXhwZWN0ZWQudHh0CmluZGV4IDUyYjZiYjVjMTQ2
YmM4YjQyN2U2ZWI2NDUwYjM3MjQyMTIxM2Q5NzUuLjljMjhmOGQ1ODczMjViZWI0MmZiZGFjNTk4
M2Y3NzlmMGI1Y2JjY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2dhbWVwYWQvZ2FtZXBhZC1w
b2xsaW5nLWFjY2Vzcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZ2FtZXBhZC9nYW1l
cGFkLXBvbGxpbmctYWNjZXNzLWV4cGVjdGVkLnR4dApAQCAtNCwyMDIgKzQsMjQyIEBAIENvbm5l
Y3RpbmcgZ2FtZXBhZDoKIFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDAKIEluZGV4OiAwCitNYXBw
aW5nOiAKIEF4ZXM6IAogQnV0dG9uczogCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdh
bWVwYWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDEKIEluZGV4OiAxCitNYXBwaW5nOiAKIEF4
ZXM6IDAKIEJ1dHRvbnM6IGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdh
bWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogMgogSW5kZXg6
IDIKK01hcHBpbmc6IAogQXhlczogMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgCiBDb25u
ZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiAzCiBJbmRleDogMworTWFwcGluZzog
CiBBeGVzOiAwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0
aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBH
YW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDQKIEluZGV4
OiA0CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3Qg
R2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogNQogSW5kZXg6IDUKK01hcHBpbmc6IAog
QXhlczogMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3Qg
R2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiA2CiBJbmRleDogNgor
TWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2Jq
ZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdh
bWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDcKIEluZGV4OiA3CitNYXBwaW5nOiAKIEF4ZXM6IDAs
MCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3Qg
R2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogOAogSW5kZXg6IDgKK01hcHBpbmc6IAog
QXhlczogMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVw
YWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdCiBOYW1lOiA5CiBJbmRleDogOQorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAs
MAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3Qg
R2FtZXBhZF0KIE5hbWU6IDEwCiBJbmRleDogMTAKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCww
LDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIENvbm5lY3Rpbmcg
Z2FtZXBhZDoKIFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3Qg
R2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiAxMQogSW5k
ZXg6IDExCitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczog
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogQ29ubmVjdGluZyBnYW1lcGFkOgogW29i
amVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBH
YW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFk
XSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2Jq
ZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogMTIK
IEluZGV4OiAxMgorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0
dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5n
IGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDEzCiBJbmRleDogMTMKK01hcHBpbmc6IAogQXhl
czogMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmpl
Y3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2Ft
ZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiAxNAogSW5kZXg6IDE0CitNYXBwaW5nOiAKIEF4
ZXM6IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogQ29ubmVjdGluZyBnYW1l
cGFkOgogW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTog
MTUKIEluZGV4OiAxNQorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAKIENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29i
amVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBH
YW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFk
XSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2Jq
ZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogMTYK
IEluZGV4OiAxNgorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogQ29ubmVjdGluZyBnYW1lcGFkOgogW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0KIE5hbWU6IDE3CiBJbmRleDogMTcKK01hcHBpbmc6IAogQXhlczogMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2Ft
ZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdCiBOYW1lOiAxOAogSW5kZXg6IDE4CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCAKIENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogMTkKIEluZGV4OiAxOQorTWFw
cGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0
b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogVmVyaWZ5aW5nIHRo
ZXJlIGFyZSAyMCBjb25uZWN0ZWQgZ2FtZXBhZHMgaW4gdGhlIHNldCBvZiBhbGwgZ2FtZXBhZHMK
IFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmpl
Y3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2Ft
ZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQog
TmFtZTogMAogSW5kZXg6IDAKK01hcHBpbmc6IAogQXhlczogCiBCdXR0b25zOiAKIE5hbWU6IDEK
IEluZGV4OiAxCitNYXBwaW5nOiAKIEF4ZXM6IDAKIEJ1dHRvbnM6IGZhbHNlLTAgCiBOYW1lOiAy
CiBJbmRleDogMgorTWFwcGluZzogCiBBeGVzOiAwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2Ut
MCAKIE5hbWU6IDMKIEluZGV4OiAzCitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwCiBCdXR0b25zOiBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDQKIEluZGV4OiA0CitNYXBwaW5nOiAKIEF4
ZXM6IDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBO
YW1lOiA1CiBJbmRleDogNQorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAKIEJ1dHRvbnM6IGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDYKIEluZGV4OiA2
CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDcKIEluZGV4OiA3CitNYXBw
aW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBOYW1lOiA4CiBJbmRleDogOAor
TWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6
IDkKIEluZGV4OiA5CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25z
OiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDEwCiBJbmRleDogMTAKK01hcHBpbmc6IAogQXhlczog
MCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5h
bWU6IDExCiBJbmRleDogMTEKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMCww
CiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBOYW1lOiAxMgogSW5k
ZXg6IDEyCitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25z
OiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDEzCiBJbmRl
eDogMTMKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9u
czogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6
IDE0CiBJbmRleDogMTQKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgCiBOYW1lOiAxNQogSW5kZXg6IDE1CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMAogTmFtZTogMTYKIEluZGV4
OiAxNgorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBC
dXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogTmFtZTogMTcKIEluZGV4OiAxNworTWFwcGluZzogCiBB
eGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCAKIE5hbWU6IDE4CiBJbmRleDogMTgKK01hcHBpbmc6IAogQXhlczogMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIAogTmFtZTogMTkKIEluZGV4OiAxOQorTWFwcGluZzogCiBBeGVzOiAw
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogRGlzY29ubmVjdGluZyBnYW1lcGFkcyBpbiBy
ZXZlcnNlIG9yZGVyLCBtYWtpbmcgc3VyZSBnYW1lcGFkcyBhcnJheSByZW1haW5zIGFzIGV4cGVj
dGVkCkBAIC0yNDgsNiArMjg4LDcgQEAgQ29ubmVjdGluZyBnYW1lcGFkOgogLCwsLCwsLCwsLFtv
YmplY3QgR2FtZXBhZF0sLCwsLCwsLCwKIE5hbWU6IEF3ZXNvbWUgSm95c3RpY2sgNTAwMAogSW5k
ZXg6IDEwCitNYXBwaW5nOiBzdGFuZGFyZAogQXhlczogMC43LC0wLjksMSwtMQotQnV0dG9uczog
dHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0
cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRy
dWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSAKK0J1dHRvbnM6IHRydWUtMSB0cnVlLTEgdHJ1ZS0x
IHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEg
dHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZ2FtZXBhZC9nYW1lcGFkLXBvbGxpbmctYWNjZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9n
YW1lcGFkL2dhbWVwYWQtcG9sbGluZy1hY2Nlc3MuaHRtbAppbmRleCA2NDZkMjE5ZjBkMjI1OTIw
ZTAzZGVhNWJhMzVjOWE5MTZiODEyODRjLi44ZGNkMmE1Yzc1NzdiMmYzMDZhZmM5ZmQwODNmZmM0
NzYxNGUwODFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtcG9sbGlu
Zy1hY2Nlc3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtcG9sbGluZy1h
Y2Nlc3MuaHRtbApAQCAtMzYsNiArMzYsNyBAQCBmdW5jdGlvbiBsb2dHYW1lcGFkKGdwKQogewog
ICAgIGxvZygiTmFtZTogIiArIGdwLmlkKTsKICAgICBsb2coIkluZGV4OiAiICsgZ3AuaW5kZXgp
OworICAgIGxvZygiTWFwcGluZzogIiArIGdwLm1hcHBpbmcpOwogICAgIGxvZygiQXhlczogIiAr
IGdwLmF4ZXMpOwogICAgIAogICAgIHZhciBidXR0b25TdHJpbmcgPSAiIjsKQEAgLTUzLDcgKzU0
LDcgQEAgZnVuY3Rpb24qIHRlc3RTdGVwcygpIHsKICAgICBsb2coIkluaXRpYWwgZ2FtZXBhZHMg
bGVuZ3RoOiAiICsgbmF2aWdhdG9yLmdldEdhbWVwYWRzKCkubGVuZ3RoKTsKICAgICBsb2coIkNv
bm5lY3RpbmcgMjAgZGlmZmVyZW50IGdhbWVwYWRzIik7CiAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCAyMDsgKytpKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVwYWREZXRhaWxzKGks
IGksIGksIGkpOworICAgICAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkRGV0YWlscyhpLCBp
LCAiIiwgaSwgaSk7CiAgICAgICAgIHRlc3RSdW5uZXIuY29ubmVjdE1vY2tHYW1lcGFkKGkpOwog
ICAgICAgICB5aWVsZDsKICAgICB9CkBAIC03MywxMiArNzQsMTIgQEAgZnVuY3Rpb24qIHRlc3RT
dGVwcygpIHsKIAogICAgIGxvZygiQ2hlY2tpbmcgbm9uLXplcm8nZWQgZGV0YWlscyBmb3IgYSBn
YW1lcGFkIik7CiAKLSAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkRGV0YWlscygxMCwgIkF3
ZXNvbWUgSm95c3RpY2sgNTAwMCIsIDQsIDIwKTsKKyAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1l
cGFkRGV0YWlscygxMCwgIkF3ZXNvbWUgSm95c3RpY2sgNTAwMCIsICJzdGFuZGFyZCIsIDQsIDE2
KTsKICAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkQXhpc1ZhbHVlKDEwLCAwLCAwLjcpOwog
ICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUoMTAsIDEsIC0wLjkpOwogICAg
IHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUoMTAsIDIsIDEuMCk7CiAgICAgdGVz
dFJ1bm5lci5zZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSgxMCwgMywgLTEuMCk7Ci0gICAgZm9yICh2
YXIgaSA9IDA7IGkgPCAyMDsgKytpKQorICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7ICsraSkK
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZEJ1dHRvblZhbHVlKDEwLCBpLCAxLjAp
OwogICAgICAgICAKICAgICB0ZXN0UnVubmVyLmNvbm5lY3RNb2NrR2FtZXBhZCgxMCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtdGltZXN0YW1wLmh0bWwgYi9MYXlv
dXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtdGltZXN0YW1wLmh0bWwKaW5kZXggNDllZGNlY2JlNjM1
YTJkZWE0NmIwZDYyM2NhMTczNmFjYjE3MTg4Ny4uMGI0YzAxMTgxNGE4MTAwZjA4Yzk2NzQ2NDkz
ZmI1NWQ1ZDMzZTRiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZ2FtZXBhZC9nYW1lcGFkLXRp
bWVzdGFtcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2dhbWVwYWQvZ2FtZXBhZC10aW1lc3RhbXAu
aHRtbApAQCAtNzIsMTMgKzcyLDEzIEBAIGZ1bmN0aW9uIGhhbmRsZUdhbWVwYWRDb25uZWN0KCkK
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgYWRkRXZlbnRMaXN0ZW5lcigiZ2FtZXBhZGNvbm5l
Y3RlZCIsIGhhbmRsZUdhbWVwYWRDb25uZWN0KTsKIAotICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dh
bWVwYWREZXRhaWxzKDAsICJUZXN0IEpveXN0aWNrIiwgMiwgMik7CisgICAgdGVzdFJ1bm5lci5z
ZXRNb2NrR2FtZXBhZERldGFpbHMoMCwgIlRlc3QgSm95c3RpY2siLCAiIiwgMiwgMik7CiAgICAg
dGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSgwLCAwLCAwLjcpOwogICAgIHRlc3RS
dW5uZXIuc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUoMCwgMSwgLTEuMCk7CiAgICAgdGVzdFJ1bm5l
ci5zZXRNb2NrR2FtZXBhZEJ1dHRvblZhbHVlKDAsIDAsIDEuMCk7CiAgICAgdGVzdFJ1bm5lci5z
ZXRNb2NrR2FtZXBhZEJ1dHRvblZhbHVlKDAsIDEsIDEuMCk7CiAgICAgdGVzdFJ1bm5lci5jb25u
ZWN0TW9ja0dhbWVwYWQoMCk7Ci0gICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZERldGFpbHMo
MSwgIlRlc3QgSm95c3RpY2sgMiIsIDIsIDIpOworICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVw
YWREZXRhaWxzKDEsICJUZXN0IEpveXN0aWNrIDIiLCAiIiwgMiwgMik7CiAgICAgdGVzdFJ1bm5l
ci5zZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSgxLCAwLCAwLjcpOwogICAgIHRlc3RSdW5uZXIuc2V0
TW9ja0dhbWVwYWRBeGlzVmFsdWUoMSwgMSwgLTEuMCk7CiAgICAgdGVzdFJ1bm5lci5zZXRNb2Nr
R2FtZXBhZEJ1dHRvblZhbHVlKDEsIDAsIDEuMCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9n
YW1lcGFkL2dhbWVwYWQtdmlzaWJpbGl0eS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9nYW1lcGFkL2dh
bWVwYWQtdmlzaWJpbGl0eS0xLmh0bWwKaW5kZXggOGQ1NDM4OWE1YTRlODc5N2Q4Yzk3MGFjNTI2
Mjk1NDM4YjZmMTlmMC4uMDc5NjNlZjQxNjBhZTE2YWYyZDA0Zjg0YWM0NGI1YTQ5MjE2NzQ5MiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZ2FtZXBhZC9nYW1lcGFkLXZpc2liaWxpdHktMS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2dhbWVwYWQvZ2FtZXBhZC12aXNpYmlsaXR5LTEuaHRtbApAQCAt
NDEsNyArNDEsNyBAQCBmdW5jdGlvbiBydW5UZXN0KCkgewogCiAgICAgLy8gQ29ubmVjdGluZyB0
aGUgZ2FtZXBhZCBhbmQgY2hhbmdpbmcgYXhpcyB2YWx1ZXMgc2hvdWxkICpub3QqIG1ha2UgaXQg
dmlzaWJsZS4KICAgICAvLyBPbmx5IGJ1dHRvbiBwcmVzc2VzIHNob3VsZCBleHBvc2UgaXQuCi0g
ICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZERldGFpbHMoMCwgIlRlc3QgSm95c3RpY2siLCAy
LCAyKTsKKyAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkRGV0YWlscygwLCAiVGVzdCBKb3lz
dGljayIsICIiLCAyLCAyKTsKICAgICB0ZXN0UnVubmVyLmNvbm5lY3RNb2NrR2FtZXBhZCgwKTsK
ICAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkQXhpc1ZhbHVlKDAsIDAsIDAuNyk7CiAgICAg
dGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSgwLCAxLCAtMS4wKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387677</attachid>
            <date>2020-01-14 11:01:19 -0800</date>
            <delta_ts>2020-01-30 15:40:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206033-20200114110119.patch</filename>
            <type>text/plain</type>
            <size>46284</size>
            <attacher name="James Howard">jameshoward</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NDUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2QwYmZhMzE3ODY2NTRl
Y2E1Zjg1Yjc3Y2NhYmRmOWI2MzJiNmRjNy4uYWVlYmY0ZGIyMThlYzY0ZjJiOWRlZGIwMTE3NWNi
OGY2YzRiMDQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIwLTAxLTE0ICBKYW1l
cyBIb3dhcmQgIDxqYW1lc2hvd2FyZEBtYWMuY29tPgorCisgICAgICAgIFN0YW5kYXJkIGdhbWVw
YWQgbWFwcGluZyBmb3IgR2FtZUNvbnRyb2xsZXJHYW1lcGFkcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MDMzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0ZW5kIFBsYXRmb3JtR2FtZXBhZCB0byBh
ZGQgYSBmaWVsZCBmb3IgdGhlIGdhbWVwYWQgbWFwcGluZy4KKyAgICAgICAgVGhlIG1hcHBpbmcg
ZGVmaW5lcyB0aGUgb3JkZXIgYW5kIGludGVycHJldGF0aW9uIG9mIHRoZSBheGVzIGFuZAorICAg
ICAgICBidXR0b25zIHZlY3RvcnMsIGFuZCBpcyBwYXNzZWQgYWxvbmcgdG8gdXNlcnMgb2YgdGhl
IEdhbWVwYWQKKyAgICAgICAgQVBJWzFdLgorCisgICAgICAgIExldHRpbmcgUGxhdGZvcm1HYW1l
cGFkIHN1YmNsYXNzZXJzIGRlZmluZSB0aGVpciBtYXBwaW5nIGlzIHRoZQorICAgICAgICBuYXR1
cmFsIHBsYWNlIGZvciB0aGlzIGZ1bmN0aW9uYWxpdHkuIFRoZSBQbGF0Zm9ybUdhbWVwYWQKKyAg
ICAgICAgYWxyZWFkeSBkZWZpbmVzIHRoZSBvcmRlciBvZiB0aGUgYXhlcyBhbmQgYnV0dG9ucyBh
bmQKKyAgICAgICAgUGxhdGZvcm1HYW1lcGFkIHN1YmNsYXNzZXJzIG1heSBrbm93IHNvbWV0aGlu
ZyBhYm91dCB0aGUKKyAgICAgICAgcGh5c2ljYWwgbGF5b3V0IG9mIHRoZSBnYW1lcGFkIHRoZXkg
cmVwcmVzZW50LgorCisgICAgICAgIFRoaXMgY2hhbmdlIG1vZGlmaWVzIHRoZSBHYW1lQ29udHJv
bGxlckdhbWVwYWQgc3ViY2xhc3Mgb2YKKyAgICAgICAgUGxhdGZvcm1HYW1lcGFkIHRvIHNldCB0
aGUgbWFwcGluZyB0byAic3RhbmRhcmQiIHdoZW4gYQorICAgICAgICBHQ0V4dGVuZGVkR2FtZXBh
ZCBpcyBkZXRlY3RlZCwgYW5kIHRvIGJpbmQgdGhlIGF4ZXMgYW5kIGJ1dHRvbnMKKyAgICAgICAg
YXBwcm9wcmlhdGVseS4gUHJldmlvdXNseSwgdGhlIGJ1dHRvbnMgYW5kIGF4ZXMgd2VyZSBib3Vu
ZAorICAgICAgICBhcmJpdHJhcmlseSwgYW5kIGluIHNvbWUgY2FzZXMgaW5jb21wbGV0ZWx5LiBX
aGlsZSB0aGF0IHdhc24ndCBhCisgICAgICAgIGJ1ZyBwZXIgc2UsIGJlY2F1c2Ugd2l0aCB0aGUg
bWFwcGluZyBzZXQgdG8gdGhlIGVtcHR5IHN0cmluZyBhbgorICAgICAgICBpbXBsZW1lbnRhdGlv
biBpcyBmcmVlIHRvIHByb3ZpZGUgYW55IGludGVycHJldGF0aW9uIG9mIHRoZQorICAgICAgICBn
YW1lcGFkIGVsZW1lbnRzIGl0IGxpa2VzLCBpdCB3YXMgY2VydGFpbmx5IGxlc3MgdXNlZnVsIHRo
YW4gdGhlCisgICAgICAgICJzdGFuZGFyZCIgbWFwcGluZy4KKworICAgICAgICBbMV0gaHR0cHM6
Ly93d3cudzMub3JnL1RSL2dhbWVwYWQvI3JlbWFwcGluZworCisgICAgICAgICogTW9kdWxlcy9n
YW1lcGFkL0dhbWVwYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2FtZXBhZDo6R2FtZXBhZCk6
CisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9QbGF0Zm9ybUdhbWVwYWQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlBsYXRmb3JtR2FtZXBhZDo6bWFwcGluZyBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWQubW06CisgICAgICAgIChX
ZWJDb3JlOjpHYW1lQ29udHJvbGxlckdhbWVwYWQ6OnNldHVwQXNFeHRlbmRlZEdhbWVwYWQpOgor
ICAgICAgICAqIHRlc3RpbmcvTW9ja0dhbWVwYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9j
a0dhbWVwYWQ6Ok1vY2tHYW1lcGFkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tHYW1lcGFkOjp1
cGRhdGVEZXRhaWxzKToKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tHYW1lcGFkLmg6CisgICAgICAg
ICogdGVzdGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tHYW1lcGFkUHJvdmlkZXI6OnNldE1vY2tHYW1lcGFkRGV0YWlscyk6CisgICAgICAgICogdGVz
dGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmg6CisgICAgICAgICogdGVzdGluZy9qcy9XZWJDb3Jl
VGVzdFN1cHBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZVRlc3RTdXBwb3J0OjpzZXRNb2NrR2Ft
ZXBhZERldGFpbHMpOgorICAgICAgICAqIHRlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0Lmg6
CisKIDIwMjAtMDEtMTMgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFNwbGl0IEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYSB0byBpbXBsZW1lbnQg
cmVtb3RlIGF1ZGlvIHJlbmRlcmluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAwMGQ1ZjkwMDgyZGY2YTY1MWI2ODdi
NDgyZTg3NDQxYmU2YWM5MjUyLi42NTVmOGRkMDg5MzA1ZWMxZGFkYmJhMjkyOTk2Njk2NGY2NzU5
YTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTAxLTE0ICBKYW1lcyBIb3dhcmQg
IDxqYW1lc2hvd2FyZEBtYWMuY29tPgorCisgICAgICAgIFN0YW5kYXJkIGdhbWVwYWQgbWFwcGlu
ZyBmb3IgR2FtZUNvbnRyb2xsZXJHYW1lcGFkcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MDMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisgICAgICAgIAorICAgICAgICBNYWtlIHRoZSBtYXBwaW5nIGFzIHByb3ZpZGVk
IGJ5IFBsYXRmb3JtR2FtZXBhZAorICAgICAgICBhdmFpbGFibGUgaW4gVUlHYW1lcGFkLCBhbmQg
cGFzcyBpdCBhbG9uZyB0bworICAgICAgICBHYW1lcGFkRGF0YSBzbyBpdCBjYW4gYmUgY29ycmVj
dGx5IHJlZmxlY3RlZAorICAgICAgICBpbiB0aGUgR2FtZXBhZCBBUEkuCisKKyAgICAgICAgKiBT
aGFyZWQvR2FtZXBhZC9HYW1lcGFkRGF0YS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdhbWVwYWRE
YXRhOjpHYW1lcGFkRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OkdhbWVwYWREYXRhOjplbmNvZGUg
Y29uc3QpOgorICAgICAgICAoV2ViS2l0OjpHYW1lcGFkRGF0YTo6ZGVjb2RlKToKKyAgICAgICAg
KiBTaGFyZWQvR2FtZXBhZC9HYW1lcGFkRGF0YS5oOgorICAgICAgICAoV2ViS2l0OjpHYW1lcGFk
RGF0YTo6bWFwcGluZyBjb25zdCk6CisgICAgICAgICogVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1l
cGFkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6VUlHYW1lcGFkOjpVSUdhbWVwYWQpOgorICAgICAg
ICAoV2ViS2l0OjpVSUdhbWVwYWQ6OmZ1bGxHYW1lcGFkRGF0YSBjb25zdCk6CisgICAgICAgICog
VUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HYW1l
cGFkL1dlYkdhbWVwYWQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJHYW1lcGFkOjpXZWJHYW1l
cGFkKToKKwogMjAyMC0wMS0wNiAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtXZWJBdXRobl0gU3VwcG9ydCBDVEFQIENsaWVudCBQaW4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCmlu
ZGV4IGM4YTBhZmQwMWFjMWQ1ODc4NDRkNDJhYmUzZDgzY2VhYTRkMTczNjYuLmU5NzU1NDA0NDRm
ZWQ3YzU3N2IzNWQxMzc5NjZkMDhmMzdhNzM2ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtMTAzMyw2ICsx
MDMzLDE0IEBACiAjZGVmaW5lIEhBVkVfT1NfU0lHTlBPU1QgMQogI2VuZGlmCiAKKyNpZiAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkg
fHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEzMDAwMCkKKyNkZWZpbmUgSEFWRV9HQ0VYVEVOREVER0FNRVBBRF9CVVRUT05TX09Q
VElPTlNfTUVOVSAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkp
CisjZGVmaW5lIEhBVkVfR0NFWFRFTkRFREdBTUVQQURfQlVUVE9OU19USFVNQlNUSUNLIDEKKyNl
bmRpZgorCiAKIAogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIF9faGFzX2luY2x1ZGUo
PFdlYktpdEFkZGl0aW9ucy9BZGRpdGlvbmFsUGxhdGZvcm0uaD4pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQvR2FtZXBhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2dhbWVwYWQvR2FtZXBhZC5jcHAKaW5kZXggOTY1MTk1ZGYyNGFhNzYxMTQyNjJkNTI1
ZGIzYTFhZmEwZGZkYmQwZS4uMWMxYWRlYjkyZWQxYmE5NGZhM2JhZDk5YWQ2NjFjYmM3ZjNkMTNk
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkLmNwcApAQCAtMzks
NiArMzksNyBAQCBHYW1lcGFkOjpHYW1lcGFkKGNvbnN0IFBsYXRmb3JtR2FtZXBhZCYgcGxhdGZv
cm1HYW1lcGFkKQogICAgICwgbV9pbmRleChwbGF0Zm9ybUdhbWVwYWQuaW5kZXgoKSkKICAgICAs
IG1fY29ubmVjdGVkKHRydWUpCiAgICAgLCBtX3RpbWVzdGFtcChwbGF0Zm9ybUdhbWVwYWQubGFz
dFVwZGF0ZVRpbWUoKSkKKyAgICAsIG1fbWFwcGluZyhwbGF0Zm9ybUdhbWVwYWQubWFwcGluZygp
KQogICAgICwgbV9heGVzKHBsYXRmb3JtR2FtZXBhZC5heGlzVmFsdWVzKCkuc2l6ZSgpLCAwLjAp
CiB7CiAgICAgdW5zaWduZWQgYnV0dG9uQ291bnQgPSBwbGF0Zm9ybUdhbWVwYWQuYnV0dG9uVmFs
dWVzKCkuc2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBh
ZC9QbGF0Zm9ybUdhbWVwYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvUGxh
dGZvcm1HYW1lcGFkLmgKaW5kZXggNjBjNGNiMzZiYWM2Nzg3ZjNlYzY2YzU1M2U5OGFjNTZjNzA3
NmE1Yi4uNzVjYzllZmVmOWQyMDBkMGZjM2FjYzJkZTUxODA2NDE0MTM3OTUzMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9QbGF0Zm9ybUdhbWVwYWQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL1BsYXRmb3JtR2FtZXBhZC5oCkBAIC0z
OSw2ICszOSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5QbGF0Zm9ybUdhbWVwYWQoKSA9IGRl
ZmF1bHQ7CiAKICAgICBjb25zdCBTdHJpbmcmIGlkKCkgY29uc3QgeyByZXR1cm4gbV9pZDsgfQor
ICAgIGNvbnN0IFN0cmluZyYgbWFwcGluZygpIGNvbnN0IHsgcmV0dXJuIG1fbWFwcGluZzsgfQog
ICAgIHVuc2lnbmVkIGluZGV4KCkgY29uc3QgeyByZXR1cm4gbV9pbmRleDsgfQogICAgIE1vbm90
b25pY1RpbWUgbGFzdFVwZGF0ZVRpbWUoKSBjb25zdCB7IHJldHVybiBtX2xhc3RVcGRhdGVUaW1l
OyB9CiAgICAgTW9ub3RvbmljVGltZSBjb25uZWN0VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29u
bmVjdFRpbWU7IH0KQEAgLTUyLDYgKzUzLDcgQEAgcHJvdGVjdGVkOgogICAgIH0KIAogICAgIFN0
cmluZyBtX2lkOworICAgIFN0cmluZyBtX21hcHBpbmc7CiAgICAgdW5zaWduZWQgbV9pbmRleDsK
ICAgICBNb25vdG9uaWNUaW1lIG1fbGFzdFVwZGF0ZVRpbWU7CiAgICAgTW9ub3RvbmljVGltZSBt
X2Nvbm5lY3RUaW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBh
ZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZC5tbQppbmRleCAzOTRhMTcwYjM5
MWE4YWM0NWQyNzUxOTA2YmFjMjQ3YTZlZWIzNzUwLi5mOWI1ZjA2YjNjZDEzNzYzYjgxNjgyYmI4
MmIxZTU5ZjZhOWRlNDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1l
cGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZC5tbQpAQCAtNTgsNiAr
NTgsNyBAQCB2b2lkIEdhbWVDb250cm9sbGVyR2FtZXBhZDo6c2V0dXBBc0V4dGVuZGVkR2FtZXBh
ZCgpCiAgICAgQVNTRVJUKG1fZXh0ZW5kZWRHYW1lcGFkKTsKIAogICAgIG1faWQgPSBtYWtlU3Ry
aW5nKFN0cmluZyhtX2djQ29udHJvbGxlci5nZXQoKS52ZW5kb3JOYW1lKSwgIiBFeHRlbmRlZCBH
YW1lcGFkIl9zKTsKKyAgICBtX21hcHBpbmcgPSBTdHJpbmcoInN0YW5kYXJkIik7CiAKICAgICBt
X2V4dGVuZGVkR2FtZXBhZC5nZXQoKS52YWx1ZUNoYW5nZWRIYW5kbGVyID0gXihHQ0V4dGVuZGVk
R2FtZXBhZCAqLCBHQ0NvbnRyb2xsZXJFbGVtZW50ICopIHsKICAgICAgICAgbV9sYXN0VXBkYXRl
VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwpAQCAtNjUsODIgKzY2LDY2IEBAIHZvaWQgR2Ft
ZUNvbnRyb2xsZXJHYW1lcGFkOjpzZXR1cEFzRXh0ZW5kZWRHYW1lcGFkKCkKICAgICAgICAgbV9o
YWRCdXR0b25QcmVzc2VzID0gZmFsc2U7CiAgICAgfTsKIAotICAgIG1fYnV0dG9uVmFsdWVzLnJl
c2l6ZSg4KTsKLSAgICBtX2J1dHRvblZhbHVlc1swXSA9IG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgp
LmJ1dHRvbkEudmFsdWU7Ci0gICAgbV9idXR0b25WYWx1ZXNbMV0gPSBtX2V4dGVuZGVkR2FtZXBh
ZC5nZXQoKS5idXR0b25CLnZhbHVlOwotICAgIG1fYnV0dG9uVmFsdWVzWzJdID0gbV9leHRlbmRl
ZEdhbWVwYWQuZ2V0KCkuYnV0dG9uWC52YWx1ZTsKLSAgICBtX2J1dHRvblZhbHVlc1szXSA9IG1f
ZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvblkudmFsdWU7Ci0gICAgbV9idXR0b25WYWx1ZXNb
NF0gPSBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5sZWZ0U2hvdWxkZXIudmFsdWU7Ci0gICAgbV9i
dXR0b25WYWx1ZXNbNV0gPSBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5yaWdodFNob3VsZGVyLnZh
bHVlOwotICAgIG1fYnV0dG9uVmFsdWVzWzZdID0gbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkubGVm
dFRyaWdnZXIudmFsdWU7Ci0gICAgbV9idXR0b25WYWx1ZXNbN10gPSBtX2V4dGVuZGVkR2FtZXBh
ZC5nZXQoKS5yaWdodFRyaWdnZXIudmFsdWU7Ci0KLSAgICBtX2F4aXNWYWx1ZXMucmVzaXplKDYp
OworICAgIG1fYnV0dG9uVmFsdWVzLnJlc2l6ZSgxNik7CisKKyAgICBhdXRvIGJpbmRCdXR0b24g
PSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICpidXR0b24sIHNpemVfdCBpZHgpIHsKKyAgICAg
ICAgbV9idXR0b25WYWx1ZXNbaWR4XSA9IGJ1dHRvbi52YWx1ZTsKKyAgICAgICAgYnV0dG9uLnZh
bHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0IHZh
bHVlLCBCT09MIHByZXNzZWQpIHsKKyAgICAgICAgICAgIG1fYnV0dG9uVmFsdWVzW2lkeF0gPSB2
YWx1ZTsKKyAgICAgICAgICAgIGlmIChwcmVzc2VkKQorICAgICAgICAgICAgICAgIG1faGFkQnV0
dG9uUHJlc3NlcyA9IHRydWU7CisgICAgICAgIH07CisgICAgfTsKKworICAgIC8vIEJ1dHRvbiBQ
YWQKKyAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvbkEsIDApOwor
ICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9uQiwgMSk7CisgICAg
YmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25YLCAyKTsKKyAgICBiaW5k
QnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvblksIDMpOworCisgICAgLy8gU2hv
dWxkZXJzLCBUcmlnZ2VycworICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCku
bGVmdFNob3VsZGVyLCA0KTsKKyAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgp
LnJpZ2h0U2hvdWxkZXIsIDUpOworICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0
KCkubGVmdFRyaWdnZXIsIDYpOworICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0
KCkucmlnaHRUcmlnZ2VyLCA3KTsKKworICAgIC8vIEQgUGFkCisgICAgYmluZEJ1dHRvbihtX2V4
dGVuZGVkR2FtZXBhZC5nZXQoKS5kcGFkLnVwLCAxMik7CisgICAgYmluZEJ1dHRvbihtX2V4dGVu
ZGVkR2FtZXBhZC5nZXQoKS5kcGFkLmRvd24sIDEzKTsKKyAgICBiaW5kQnV0dG9uKG1fZXh0ZW5k
ZWRHYW1lcGFkLmdldCgpLmRwYWQubGVmdCwgMTQpOworICAgIGJpbmRCdXR0b24obV9leHRlbmRl
ZEdhbWVwYWQuZ2V0KCkuZHBhZC5yaWdodCwgMTUpOworCisgICAgLy8gU2VsZWN0LCBTdGFydAor
I2lmIEhBVkUoR0NFWFRFTkRFREdBTUVQQURfQlVUVE9OU19PUFRJT05TX01FTlUpCisgICAgYmlu
ZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25PcHRpb25zLCA4KTsKKyAgICBi
aW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvbk1lbnUsIDkpOworI2VuZGlm
CisKKyAgICAvLyBMMywgUjMKKyNpZiBIQVZFKEdDRVhURU5ERURHQU1FUEFEX0JVVFRPTlNfVEhV
TUJTVElDSykKKyAgICBpZiAoQGF2YWlsYWJsZShtYWNPUyAxMC4xNC4xLCBpT1MgMTIuMSwgKikp
IHsKKyAgICAgICAgYmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5sZWZ0VGh1bWJz
dGlja0J1dHRvbiwgMTApOworICAgICAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdl
dCgpLnJpZ2h0VGh1bWJzdGlja0J1dHRvbiwgMTEpOworICAgIH0KKyNlbmRpZgorCisgICAgbV9h
eGlzVmFsdWVzLnJlc2l6ZSg0KTsKICAgICBtX2F4aXNWYWx1ZXNbMF0gPSBtX2V4dGVuZGVkR2Ft
ZXBhZC5nZXQoKS5sZWZ0VGh1bWJzdGljay54QXhpcy52YWx1ZTsKLSAgICBtX2F4aXNWYWx1ZXNb
MV0gPSBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5sZWZ0VGh1bWJzdGljay55QXhpcy52YWx1ZTsK
KyAgICBtX2F4aXNWYWx1ZXNbMV0gPSAtbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkubGVmdFRodW1i
c3RpY2sueUF4aXMudmFsdWU7CiAgICAgbV9heGlzVmFsdWVzWzJdID0gbV9leHRlbmRlZEdhbWVw
YWQuZ2V0KCkucmlnaHRUaHVtYnN0aWNrLnhBeGlzLnZhbHVlOwotICAgIG1fYXhpc1ZhbHVlc1sz
XSA9IG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLnJpZ2h0VGh1bWJzdGljay55QXhpcy52YWx1ZTsK
LSAgICBtX2F4aXNWYWx1ZXNbNF0gPSBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5kcGFkLnhBeGlz
LnZhbHVlOwotICAgIG1fYXhpc1ZhbHVlc1s1XSA9IG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmRw
YWQueUF4aXMudmFsdWU7Ci0KLSAgICBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25BLnZh
bHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0IHZh
bHVlLCBCT09MIHByZXNzZWQpIHsKLSAgICAgICAgbV9idXR0b25WYWx1ZXNbMF0gPSB2YWx1ZTsK
LSAgICAgICAgaWYgKHByZXNzZWQpCi0gICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMgPSB0
cnVlOwotICAgIH07Ci0gICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9uQi52YWx1ZUNo
YW5nZWRIYW5kbGVyID0gXihHQ0NvbnRyb2xsZXJCdXR0b25JbnB1dCAqLCBmbG9hdCB2YWx1ZSwg
Qk9PTCBwcmVzc2VkKSB7Ci0gICAgICAgIG1fYnV0dG9uVmFsdWVzWzFdID0gdmFsdWU7Ci0gICAg
ICAgIGlmIChwcmVzc2VkKQotICAgICAgICAgICAgbV9oYWRCdXR0b25QcmVzc2VzID0gdHJ1ZTsK
LSAgICB9OwotICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvblgudmFsdWVDaGFuZ2Vk
SGFuZGxlciA9IF4oR0NDb250cm9sbGVyQnV0dG9uSW5wdXQgKiwgZmxvYXQgdmFsdWUsIEJPT0wg
cHJlc3NlZCkgewotICAgICAgICBtX2J1dHRvblZhbHVlc1syXSA9IHZhbHVlOwotICAgICAgICBp
ZiAocHJlc3NlZCkKLSAgICAgICAgICAgIG1faGFkQnV0dG9uUHJlc3NlcyA9IHRydWU7Ci0gICAg
fTsKLSAgICBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25ZLnZhbHVlQ2hhbmdlZEhhbmRs
ZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0IHZhbHVlLCBCT09MIHByZXNz
ZWQpIHsKLSAgICAgICAgbV9idXR0b25WYWx1ZXNbM10gPSB2YWx1ZTsKLSAgICAgICAgaWYgKHBy
ZXNzZWQpCi0gICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMgPSB0cnVlOwotICAgIH07Ci0g
ICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkubGVmdFNob3VsZGVyLnZhbHVlQ2hhbmdlZEhhbmRs
ZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0IHZhbHVlLCBCT09MIHByZXNz
ZWQpIHsKLSAgICAgICAgbV9idXR0b25WYWx1ZXNbNF0gPSB2YWx1ZTsKLSAgICAgICAgaWYgKHBy
ZXNzZWQpCi0gICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMgPSB0cnVlOwotICAgIH07Ci0g
ICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRTaG91bGRlci52YWx1ZUNoYW5nZWRIYW5k
bGVyID0gXihHQ0NvbnRyb2xsZXJCdXR0b25JbnB1dCAqLCBmbG9hdCB2YWx1ZSwgQk9PTCBwcmVz
c2VkKSB7Ci0gICAgICAgIG1fYnV0dG9uVmFsdWVzWzVdID0gdmFsdWU7Ci0gICAgICAgIGlmIChw
cmVzc2VkKQotICAgICAgICAgICAgbV9oYWRCdXR0b25QcmVzc2VzID0gdHJ1ZTsKLSAgICB9Owot
ICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRUcmlnZ2VyLnZhbHVlQ2hhbmdlZEhhbmRs
ZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0IHZhbHVlLCBCT09MIHByZXNz
ZWQpIHsKLSAgICAgICAgbV9idXR0b25WYWx1ZXNbNl0gPSB2YWx1ZTsKLSAgICAgICAgaWYgKHBy
ZXNzZWQpCi0gICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMgPSB0cnVlOwotICAgIH07Ci0g
ICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRUcmlnZ2VyLnZhbHVlQ2hhbmdlZEhhbmRs
ZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0IHZhbHVlLCBCT09MIHByZXNz
ZWQpIHsKLSAgICAgICAgbV9idXR0b25WYWx1ZXNbN10gPSB2YWx1ZTsKLSAgICAgICAgaWYgKHBy
ZXNzZWQpCi0gICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMgPSB0cnVlOwotICAgIH07Cisg
ICAgbV9heGlzVmFsdWVzWzNdID0gLW1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLnJpZ2h0VGh1bWJz
dGljay55QXhpcy52YWx1ZTsKIAogICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRUaHVt
YnN0aWNrLnhBeGlzLnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckF4aXNJbnB1
dCAqLCBmbG9hdCB2YWx1ZSkgewogICAgICAgICBtX2F4aXNWYWx1ZXNbMF0gPSB2YWx1ZTsKICAg
ICB9OwogICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRUaHVtYnN0aWNrLnlBeGlzLnZh
bHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckF4aXNJbnB1dCAqLCBmbG9hdCB2YWx1
ZSkgewotICAgICAgICBtX2F4aXNWYWx1ZXNbMV0gPSB2YWx1ZTsKKyAgICAgICAgbV9heGlzVmFs
dWVzWzFdID0gLXZhbHVlOwogICAgIH07CiAgICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkucmln
aHRUaHVtYnN0aWNrLnhBeGlzLnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckF4
aXNJbnB1dCAqLCBmbG9hdCB2YWx1ZSkgewogICAgICAgICBtX2F4aXNWYWx1ZXNbMl0gPSB2YWx1
ZTsKICAgICB9OwogICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLnJpZ2h0VGh1bWJzdGljay55
QXhpcy52YWx1ZUNoYW5nZWRIYW5kbGVyID0gXihHQ0NvbnRyb2xsZXJBeGlzSW5wdXQgKiwgZmxv
YXQgdmFsdWUpIHsKLSAgICAgICAgbV9heGlzVmFsdWVzWzNdID0gdmFsdWU7Ci0gICAgfTsKLSAg
ICBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5kcGFkLnhBeGlzLnZhbHVlQ2hhbmdlZEhhbmRsZXIg
PSBeKEdDQ29udHJvbGxlckF4aXNJbnB1dCAqLCBmbG9hdCB2YWx1ZSkgewotICAgICAgICBtX2F4
aXNWYWx1ZXNbNF0gPSB2YWx1ZTsKLSAgICB9OwotICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgp
LmRwYWQueUF4aXMudmFsdWVDaGFuZ2VkSGFuZGxlciA9IF4oR0NDb250cm9sbGVyQXhpc0lucHV0
ICosIGZsb2F0IHZhbHVlKSB7Ci0gICAgICAgIG1fYXhpc1ZhbHVlc1s1XSA9IHZhbHVlOworICAg
ICAgICBtX2F4aXNWYWx1ZXNbM10gPSAtdmFsdWU7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL01vY2tHYW1lcGFkLmNwcAppbmRleCBhYmJjNmVkZjFkOTlhYTAyYzYwOTJmZWFhYjll
Y2I4MjIwMzdkMTYwLi41NWZmNDM4OGU5NjdhYjFkYmYyZTdjYWFiOWJmNTNiNzM4ODQ4ODBiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tHYW1lcGFkLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tHYW1lcGFkLmNwcApAQCAtMzAsMTYgKzMwLDE3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotTW9ja0dhbWVwYWQ6Ok1vY2tHYW1lcGFkKHVuc2ln
bmVkIGluZGV4LCBjb25zdCBTdHJpbmcmIGdhbWVwYWRJRCwgdW5zaWduZWQgYXhpc0NvdW50LCB1
bnNpZ25lZCBidXR0b25Db3VudCkKK01vY2tHYW1lcGFkOjpNb2NrR2FtZXBhZCh1bnNpZ25lZCBp
bmRleCwgY29uc3QgU3RyaW5nJiBnYW1lcGFkSUQsIGNvbnN0IFN0cmluZyYgbWFwcGluZywgdW5z
aWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCkKICAgICA6IFBsYXRmb3JtR2Ft
ZXBhZChpbmRleCkKIHsKICAgICBtX2Nvbm5lY3RUaW1lID0gbV9sYXN0VXBkYXRlVGltZSA9IE1v
bm90b25pY1RpbWU6Om5vdygpOwotICAgIHVwZGF0ZURldGFpbHMoZ2FtZXBhZElELCBheGlzQ291
bnQsIGJ1dHRvbkNvdW50KTsKKyAgICB1cGRhdGVEZXRhaWxzKGdhbWVwYWRJRCwgbWFwcGluZywg
YXhpc0NvdW50LCBidXR0b25Db3VudCk7CiB9CiAKLXZvaWQgTW9ja0dhbWVwYWQ6OnVwZGF0ZURl
dGFpbHMoY29uc3QgU3RyaW5nJiBnYW1lcGFkSUQsIHVuc2lnbmVkIGF4aXNDb3VudCwgdW5zaWdu
ZWQgYnV0dG9uQ291bnQpCit2b2lkIE1vY2tHYW1lcGFkOjp1cGRhdGVEZXRhaWxzKGNvbnN0IFN0
cmluZyYgZ2FtZXBhZElELCBjb25zdCBTdHJpbmcmIG1hcHBpbmcsIHVuc2lnbmVkIGF4aXNDb3Vu
dCwgdW5zaWduZWQgYnV0dG9uQ291bnQpCiB7CiAgICAgbV9pZCA9IGdhbWVwYWRJRDsKKyAgICBt
X21hcHBpbmcgPSBtYXBwaW5nOwogICAgIG1fYXhpc1ZhbHVlcyA9IFZlY3Rvcjxkb3VibGU+KGF4
aXNDb3VudCwgMC4wKTsKICAgICBtX2J1dHRvblZhbHVlcyA9IFZlY3Rvcjxkb3VibGU+KGJ1dHRv
bkNvdW50LCAwLjApOwogICAgIG1fbGFzdFVwZGF0ZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3co
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWQuaAppbmRleCA3MjhmN2QyMWM1ZDlkNGU3
OGM0NTE0Y2JjOGFhYWU0MjVlZGE1NWFkLi5kZGE5MTA0OGRmNGUwZGViNmVlNmJjNzVmZjYxNmRk
YjI4NjRhZmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tHYW1lcGFk
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZC5oCkBAIC0zMywxMiAr
MzMsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBNb2NrR2FtZXBhZCA6IHB1Ymxp
YyBQbGF0Zm9ybUdhbWVwYWQgewogcHVibGljOgotICAgIE1vY2tHYW1lcGFkKHVuc2lnbmVkIGlu
ZGV4LCBjb25zdCBTdHJpbmcmIGdhbWVwYWRJRCwgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25l
ZCBidXR0b25Db3VudCk7CisgICAgTW9ja0dhbWVwYWQodW5zaWduZWQgaW5kZXgsIGNvbnN0IFN0
cmluZyYgZ2FtZXBhZElELCBjb25zdCBTdHJpbmcmIG1hcHBpbmcsIHVuc2lnbmVkIGF4aXNDb3Vu
dCwgdW5zaWduZWQgYnV0dG9uQ291bnQpOwogCiAgICAgY29uc3QgVmVjdG9yPGRvdWJsZT4mIGF4
aXNWYWx1ZXMoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2F4aXNWYWx1ZXM7IH0KICAgICBjb25z
dCBWZWN0b3I8ZG91YmxlPiYgYnV0dG9uVmFsdWVzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9i
dXR0b25WYWx1ZXM7IH0KIAotICAgIHZvaWQgdXBkYXRlRGV0YWlscyhjb25zdCBTdHJpbmcmIGdh
bWVwYWRJRCwgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCk7CisgICAg
dm9pZCB1cGRhdGVEZXRhaWxzKGNvbnN0IFN0cmluZyYgZ2FtZXBhZElELCBjb25zdCBTdHJpbmcm
IG1hcHBpbmcsIHVuc2lnbmVkIGF4aXNDb3VudCwgdW5zaWduZWQgYnV0dG9uQ291bnQpOwogICAg
IGJvb2wgc2V0QXhpc1ZhbHVlKHVuc2lnbmVkIGluZGV4LCBkb3VibGUgdmFsdWUpOwogICAgIGJv
b2wgc2V0QnV0dG9uVmFsdWUodW5zaWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWRQcm92aWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tHYW1lcGFkUHJvdmlkZXIuY3BwCmluZGV4IGQ0MGRl
ZDFkYTExOThjYWEzNDU5ZDY3N2UxZmU4NGY1YmZiOTQ2ZTQuLjYxNTBmNTJhM2ZhODFmN2M2OGIy
ZjIyODQ0ODczYmZkNTVmNjZjYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
TW9ja0dhbWVwYWRQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2Nr
R2FtZXBhZFByb3ZpZGVyLmNwcApAQCAtNTUsMTUgKzU1LDE1IEBAIHZvaWQgTW9ja0dhbWVwYWRQ
cm92aWRlcjo6c3RvcE1vbml0b3JpbmdHYW1lcGFkcyhHYW1lcGFkUHJvdmlkZXJDbGllbnQmIGNs
aWVudCkKICAgICBtX2NsaWVudHMucmVtb3ZlKCZjbGllbnQpOwogfQogCi12b2lkIE1vY2tHYW1l
cGFkUHJvdmlkZXI6OnNldE1vY2tHYW1lcGFkRGV0YWlscyh1bnNpZ25lZCBpbmRleCwgY29uc3Qg
U3RyaW5nJiBnYW1lcGFkSUQsIHVuc2lnbmVkIGF4aXNDb3VudCwgdW5zaWduZWQgYnV0dG9uQ291
bnQpCit2b2lkIE1vY2tHYW1lcGFkUHJvdmlkZXI6OnNldE1vY2tHYW1lcGFkRGV0YWlscyh1bnNp
Z25lZCBpbmRleCwgY29uc3QgU3RyaW5nJiBnYW1lcGFkSUQsIGNvbnN0IFN0cmluZyYgbWFwcGlu
ZywgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCkKIHsKICAgICBpZiAo
aW5kZXggPj0gbV9tb2NrR2FtZXBhZFZlY3Rvci5zaXplKCkpCiAgICAgICAgIG1fbW9ja0dhbWVw
YWRWZWN0b3IucmVzaXplKGluZGV4ICsgMSk7CiAKICAgICBpZiAobV9tb2NrR2FtZXBhZFZlY3Rv
cltpbmRleF0pCi0gICAgICAgIG1fbW9ja0dhbWVwYWRWZWN0b3JbaW5kZXhdLT51cGRhdGVEZXRh
aWxzKGdhbWVwYWRJRCwgYXhpc0NvdW50LCBidXR0b25Db3VudCk7CisgICAgICAgIG1fbW9ja0dh
bWVwYWRWZWN0b3JbaW5kZXhdLT51cGRhdGVEZXRhaWxzKGdhbWVwYWRJRCwgbWFwcGluZywgYXhp
c0NvdW50LCBidXR0b25Db3VudCk7CiAgICAgZWxzZQotICAgICAgICBtX21vY2tHYW1lcGFkVmVj
dG9yW2luZGV4XSA9IG1ha2VVbmlxdWU8TW9ja0dhbWVwYWQ+KGluZGV4LCBnYW1lcGFkSUQsIGF4
aXNDb3VudCwgYnV0dG9uQ291bnQpOworICAgICAgICBtX21vY2tHYW1lcGFkVmVjdG9yW2luZGV4
XSA9IG1ha2VVbmlxdWU8TW9ja0dhbWVwYWQ+KGluZGV4LCBnYW1lcGFkSUQsIG1hcHBpbmcsIGF4
aXNDb3VudCwgYnV0dG9uQ291bnQpOwogfQogCiBib29sIE1vY2tHYW1lcGFkUHJvdmlkZXI6OmNv
bm5lY3RNb2NrR2FtZXBhZCh1bnNpZ25lZCBpbmRleCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWRQcm92aWRlci5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmgKaW5kZXggNDA0MTliOTIzM2ZlMzkwN2E5ODI2YjcwNTEy
ZWQ2MTFlMTU1ODhkNS4uZGE3NzZlZGYyYzU2MTdiMzg5Zjg2MmMzNjgwODRiYjMwZGM4Yjc4YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmgKQEAgLTQ0
LDcgKzQ0LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFZlY3RvcjxQbGF0Zm9ybUdhbWVwYWQqPiYg
cGxhdGZvcm1HYW1lcGFkcygpIGZpbmFsIHsgcmV0dXJuIG1fY29ubmVjdGVkR2FtZXBhZFZlY3Rv
cjsgfQogICAgIGJvb2wgaXNNb2NrR2FtZXBhZFByb3ZpZGVyKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gdHJ1ZTsgfQogCi0gICAgdm9pZCBzZXRNb2NrR2FtZXBhZERldGFpbHModW5zaWduZWQgaW5k
ZXgsIGNvbnN0IFN0cmluZyYgZ2FtZXBhZElELCB1bnNpZ25lZCBheGlzQ291bnQsIHVuc2lnbmVk
IGJ1dHRvbkNvdW50KTsKKyAgICB2b2lkIHNldE1vY2tHYW1lcGFkRGV0YWlscyh1bnNpZ25lZCBp
bmRleCwgY29uc3QgU3RyaW5nJiBnYW1lcGFkSUQsIGNvbnN0IFN0cmluZyYgbWFwcGluZywgdW5z
aWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCk7CiAgICAgYm9vbCBzZXRNb2Nr
R2FtZXBhZEF4aXNWYWx1ZSh1bnNpZ25lZCBpbmRleCwgdW5zaWduZWQgYXhpc0luZGV4LCBkb3Vi
bGUgdmFsdWUpOwogICAgIGJvb2wgc2V0TW9ja0dhbWVwYWRCdXR0b25WYWx1ZSh1bnNpZ25lZCBp
bmRleCwgdW5zaWduZWQgYnV0dG9uSW5kZXgsIGRvdWJsZSB2YWx1ZSk7CiAgICAgYm9vbCBjb25u
ZWN0TW9ja0dhbWVwYWQodW5zaWduZWQgaW5kZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwCmluZGV4IDQ2NmZhNDI3MDljZTIzOGVhOGQy
NGY4Mjk1NDE4MmZjNjczMGM3NWYuLjYwNjFhOTYwMTc2ZGExZDc0MjllMWYyMjRiZjFhY2RlZDEy
YzFkODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RT
dXBwb3J0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3Vw
cG9ydC5jcHAKQEAgLTE2NCwxMyArMTY0LDE0IEBAIHZvaWQgZGlzY29ubmVjdE1vY2tHYW1lcGFk
KHVuc2lnbmVkIGdhbWVwYWRJbmRleCkKICNlbmRpZgogfQogCi12b2lkIHNldE1vY2tHYW1lcGFk
RGV0YWlscyh1bnNpZ25lZCBnYW1lcGFkSW5kZXgsIGNvbnN0IFdURjo6U3RyaW5nJiBnYW1lcGFk
SUQsIHVuc2lnbmVkIGF4aXNDb3VudCwgdW5zaWduZWQgYnV0dG9uQ291bnQpCit2b2lkIHNldE1v
Y2tHYW1lcGFkRGV0YWlscyh1bnNpZ25lZCBnYW1lcGFkSW5kZXgsIGNvbnN0IFdURjo6U3RyaW5n
JiBnYW1lcGFkSUQsIGNvbnN0IFdURjo6U3RyaW5nJiBtYXBwaW5nLCB1bnNpZ25lZCBheGlzQ291
bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KQogewogI2lmIEVOQUJMRShHQU1FUEFEKQotICAgIE1v
Y2tHYW1lcGFkUHJvdmlkZXI6OnNpbmdsZXRvbigpLnNldE1vY2tHYW1lcGFkRGV0YWlscyhnYW1l
cGFkSW5kZXgsIGdhbWVwYWRJRCwgYXhpc0NvdW50LCBidXR0b25Db3VudCk7CisgICAgTW9ja0dh
bWVwYWRQcm92aWRlcjo6c2luZ2xldG9uKCkuc2V0TW9ja0dhbWVwYWREZXRhaWxzKGdhbWVwYWRJ
bmRleCwgZ2FtZXBhZElELCBtYXBwaW5nLCBheGlzQ291bnQsIGJ1dHRvbkNvdW50KTsKICNlbHNl
CiAgICAgVU5VU0VEX1BBUkFNKGdhbWVwYWRJbmRleCk7CiAgICAgVU5VU0VEX1BBUkFNKGdhbWVw
YWRJRCk7CisgICAgVU5VU0VEX1BBUkFNKG1hcHBpbmcpOwogICAgIFVOVVNFRF9QQVJBTShheGlz
Q291bnQpOwogICAgIFVOVVNFRF9QQVJBTShidXR0b25Db3VudCk7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5oCmluZGV4IGJiNzFmMDFi
NTdkN2M4ZTI0NjBkZGEyMzIxNGI3YjU1OTcwODNmNDQuLjc5YWVmZWY0NTFhMDg2MWFlNDdiYzIw
YmFhY2JlM2M4MmYzZGUwMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMv
V2ViQ29yZVRlc3RTdXBwb3J0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJD
b3JlVGVzdFN1cHBvcnQuaApAQCAtNTgsNyArNTgsNyBAQCB2b2lkIHNldEFsbG93c0FueVNTTENl
cnRpZmljYXRlKGJvb2wpIFRFU1RfU1VQUE9SVF9FWFBPUlQ7CiB2b2lkIGluc3RhbGxNb2NrR2Ft
ZXBhZFByb3ZpZGVyKCkgVEVTVF9TVVBQT1JUX0VYUE9SVDsKIHZvaWQgY29ubmVjdE1vY2tHYW1l
cGFkKHVuc2lnbmVkIGluZGV4KSBURVNUX1NVUFBPUlRfRVhQT1JUOwogdm9pZCBkaXNjb25uZWN0
TW9ja0dhbWVwYWQodW5zaWduZWQgaW5kZXgpIFRFU1RfU1VQUE9SVF9FWFBPUlQ7Ci12b2lkIHNl
dE1vY2tHYW1lcGFkRGV0YWlscyh1bnNpZ25lZCBpbmRleCwgY29uc3QgV1RGOjpTdHJpbmcmIGdh
bWVwYWRJRCwgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCkgVEVTVF9T
VVBQT1JUX0VYUE9SVDsKK3ZvaWQgc2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVkIGluZGV4
LCBjb25zdCBXVEY6OlN0cmluZyYgZ2FtZXBhZElELCBjb25zdCBXVEY6OlN0cmluZyYgbWFwcGlu
ZywgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCkgVEVTVF9TVVBQT1JU
X0VYUE9SVDsKIHZvaWQgc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUodW5zaWduZWQgaW5kZXgsIHVu
c2lnbmVkIGF4aXNJbmRleCwgZG91YmxlIHZhbHVlKSBURVNUX1NVUFBPUlRfRVhQT1JUOwogdm9p
ZCBzZXRNb2NrR2FtZXBhZEJ1dHRvblZhbHVlKHVuc2lnbmVkIGluZGV4LCB1bnNpZ25lZCBidXR0
b25JbmRleCwgZG91YmxlIHZhbHVlKSBURVNUX1NVUFBPUlRfRVhQT1JUOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9HYW1lcGFkL0dhbWVwYWREYXRhLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuY3BwCmluZGV4IDdlNDMyNjQ3ZDYzNmM1
ZDg5ZDI3Yjg3ZDU2NzY2YzdkYmEzNGNhYjcuLmZkMjQ1Y2RiNTI4NzYxMmZiYzEzNDBmYjRkMGJm
Yzc4MzdmZDYyMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0dhbWVwYWQvR2Ft
ZXBhZERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERh
dGEuY3BwCkBAIC00MSw5ICs0MSwxMCBAQCBHYW1lcGFkRGF0YTo6R2FtZXBhZERhdGEodW5zaWdu
ZWQgaW5kZXgsIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBheGlzVmFsdWVzLCBjb25zdAogewogfQog
Ci1HYW1lcGFkRGF0YTo6R2FtZXBhZERhdGEodW5zaWduZWQgaW5kZXgsIGNvbnN0IFN0cmluZyYg
aWQsIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBheGlzVmFsdWVzLCBjb25zdCBWZWN0b3I8ZG91Ymxl
PiYgYnV0dG9uVmFsdWVzLCBNb25vdG9uaWNUaW1lIGxhc3RVcGRhdGVUaW1lKQorR2FtZXBhZERh
dGE6OkdhbWVwYWREYXRhKHVuc2lnbmVkIGluZGV4LCBjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBT
dHJpbmcmIG1hcHBpbmcsIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBheGlzVmFsdWVzLCBjb25zdCBW
ZWN0b3I8ZG91YmxlPiYgYnV0dG9uVmFsdWVzLCBNb25vdG9uaWNUaW1lIGxhc3RVcGRhdGVUaW1l
KQogICAgIDogbV9pbmRleChpbmRleCkKICAgICAsIG1faWQoaWQpCisgICAgLCBtX21hcHBpbmco
bWFwcGluZykKICAgICAsIG1fYXhpc1ZhbHVlcyhheGlzVmFsdWVzKQogICAgICwgbV9idXR0b25W
YWx1ZXMoYnV0dG9uVmFsdWVzKQogICAgICwgbV9sYXN0VXBkYXRlVGltZShsYXN0VXBkYXRlVGlt
ZSkKQEAgLTU2LDcgKzU3LDcgQEAgdm9pZCBHYW1lcGFkRGF0YTo6ZW5jb2RlKElQQzo6RW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QKICAgICBpZiAobV9pc051bGwpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIGVuY29kZXIgPDwgbV9pbmRleCA8PCBtX2lkIDw8IG1fYXhpc1ZhbHVlcyA8PCBtX2J1dHRv
blZhbHVlcyA8PCBtX2xhc3RVcGRhdGVUaW1lOworICAgIGVuY29kZXIgPDwgbV9pbmRleCA8PCBt
X2lkIDw8IG1fbWFwcGluZyA8PCBtX2F4aXNWYWx1ZXMgPDwgbV9idXR0b25WYWx1ZXMgPDwgbV9s
YXN0VXBkYXRlVGltZTsKIH0KIAogT3B0aW9uYWw8R2FtZXBhZERhdGE+IEdhbWVwYWREYXRhOjpk
ZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQpAQCAtNzQsNiArNzUsOSBAQCBPcHRpb25hbDxH
YW1lcGFkRGF0YT4gR2FtZXBhZERhdGE6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIpCiAg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShkYXRhLm1faWQpKQogICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OwogCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShkYXRhLm1fbWFwcGluZykpCisgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGRhdGEu
bV9heGlzVmFsdWVzKSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvR2FtZXBhZC9HYW1lcGFkRGF0YS5oIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvR2FtZXBhZC9HYW1lcGFkRGF0YS5oCmluZGV4IDdlN2U2MjJkNGMyMTZjOTc0
Njg1MzU5MzM5NDZhNGQ0ZTU1ZDdlY2UuLjdlMTZhODkyZTI0MWM2M2Y4OWYzODdkMTM1NTg5YjFm
MDE0NWNjY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0dhbWVwYWQvR2FtZXBh
ZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9HYW1lcGFkL0dhbWVwYWREYXRhLmgK
QEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogICAgIH0KIAogICAgIEdhbWVwYWREYXRhKHVuc2ln
bmVkIGluZGV4LCBjb25zdCBWZWN0b3I8ZG91YmxlPiYgYXhpc1ZhbHVlcywgY29uc3QgVmVjdG9y
PGRvdWJsZT4mIGJ1dHRvblZhbHVlcywgTW9ub3RvbmljVGltZSBsYXN0VXBkYXRlVGltZSk7Ci0g
ICAgR2FtZXBhZERhdGEodW5zaWduZWQgaW5kZXgsIGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IFZl
Y3Rvcjxkb3VibGU+JiBheGlzVmFsdWVzLCBjb25zdCBWZWN0b3I8ZG91YmxlPiYgYnV0dG9uVmFs
dWVzLCBNb25vdG9uaWNUaW1lIGxhc3RVcGRhdGVUaW1lKTsKKyAgICBHYW1lcGFkRGF0YSh1bnNp
Z25lZCBpbmRleCwgY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3RyaW5nJiBtYXBwaW5nLCBjb25z
dCBWZWN0b3I8ZG91YmxlPiYgYXhpc1ZhbHVlcywgY29uc3QgVmVjdG9yPGRvdWJsZT4mIGJ1dHRv
blZhbHVlcywgTW9ub3RvbmljVGltZSBsYXN0VXBkYXRlVGltZSk7CiAKICAgICB2b2lkIGVuY29k
ZShJUEM6OkVuY29kZXImKSBjb25zdDsKICAgICBzdGF0aWMgT3B0aW9uYWw8R2FtZXBhZERhdGE+
IGRlY29kZShJUEM6OkRlY29kZXImKTsKQEAgLTU2LDEyICs1NiwxNCBAQCBwdWJsaWM6CiAgICAg
TW9ub3RvbmljVGltZSBsYXN0VXBkYXRlVGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdFVwZGF0
ZVRpbWU7IH0KICAgICB1bnNpZ25lZCBpbmRleCgpIGNvbnN0IHsgcmV0dXJuIG1faW5kZXg7IH0K
ICAgICBjb25zdCBTdHJpbmcmIGlkKCkgY29uc3QgeyByZXR1cm4gbV9pZDsgfQorICAgIGNvbnN0
IFN0cmluZyYgbWFwcGluZygpIGNvbnN0IHsgcmV0dXJuIG1fbWFwcGluZzsgfQogICAgIGNvbnN0
IFZlY3Rvcjxkb3VibGU+JiBheGlzVmFsdWVzKCkgY29uc3QgeyByZXR1cm4gbV9heGlzVmFsdWVz
OyB9CiAgICAgY29uc3QgVmVjdG9yPGRvdWJsZT4mIGJ1dHRvblZhbHVlcygpIGNvbnN0IHsgcmV0
dXJuIG1fYnV0dG9uVmFsdWVzOyB9CiAKIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9pbmRleDsK
ICAgICBTdHJpbmcgbV9pZDsKKyAgICBTdHJpbmcgbV9tYXBwaW5nOwogICAgIFZlY3Rvcjxkb3Vi
bGU+IG1fYXhpc1ZhbHVlczsKICAgICBWZWN0b3I8ZG91YmxlPiBtX2J1dHRvblZhbHVlczsKICAg
ICBNb25vdG9uaWNUaW1lIG1fbGFzdFVwZGF0ZVRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9HYW1lcGFkL1VJR2FtZXBhZC5jcHAKaW5kZXggYmNhMWM5MjJhNmUyOWNlYzk1MGM2NDA0
NDdlOWZiODg0MDE4MGQ4MC4uYmFlZTk3YTViODA4MWI1NmU1NmE0NWQ0ZTUyNjc4MzEzYTgwYTcy
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkLmNwcApA
QCAtMzcsNiArMzcsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIFVJR2FtZXBhZDo6VUlH
YW1lcGFkKFdlYkNvcmU6OlBsYXRmb3JtR2FtZXBhZCYgcGxhdGZvcm1HYW1lcGFkKQogICAgIDog
bV9pbmRleChwbGF0Zm9ybUdhbWVwYWQuaW5kZXgoKSkKICAgICAsIG1faWQocGxhdGZvcm1HYW1l
cGFkLmlkKCkpCisgICAgLCBtX21hcHBpbmcocGxhdGZvcm1HYW1lcGFkLm1hcHBpbmcoKSkKICAg
ICAsIG1fbGFzdFVwZGF0ZVRpbWUocGxhdGZvcm1HYW1lcGFkLmxhc3RVcGRhdGVUaW1lKCkpCiB7
CiAgICAgbV9heGlzVmFsdWVzLnJlc2l6ZShwbGF0Zm9ybUdhbWVwYWQuYXhpc1ZhbHVlcygpLnNp
emUoKSk7CkBAIC02Myw3ICs2NCw3IEBAIEdhbWVwYWREYXRhIFVJR2FtZXBhZDo6Y29uZGVuc2Vk
R2FtZXBhZERhdGEoKSBjb25zdAogCiBHYW1lcGFkRGF0YSBVSUdhbWVwYWQ6OmZ1bGxHYW1lcGFk
RGF0YSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHsgbV9pbmRleCwgbV9pZCwgbV9heGlzVmFsdWVz
LCBtX2J1dHRvblZhbHVlcywgbV9sYXN0VXBkYXRlVGltZSB9OworICAgIHJldHVybiB7IG1faW5k
ZXgsIG1faWQsIG1fbWFwcGluZywgbV9heGlzVmFsdWVzLCBtX2J1dHRvblZhbHVlcywgbV9sYXN0
VXBkYXRlVGltZSB9OwogfQogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0dhbWVwYWQvVUlHYW1lcGFkLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HYW1lcGFkL1VJ
R2FtZXBhZC5oCmluZGV4IGIwMjkxNTA5MWUzODdjMDQ5ZWNlOGVkMGMzY2FmMTQyNDUyZDAyNTIu
LmRiNzZkMjdiYzUzYTE5MGFkZjViYTliNWFmYzY3YzRmMWQ5Y2Q1ZWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWQuaApAQCAtNTQsNiArNTQsNyBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1faW5kZXg7CiAgICAgU3RyaW5nIG1faWQ7Cisg
ICAgU3RyaW5nIG1fbWFwcGluZzsKICAgICBWZWN0b3I8ZG91YmxlPiBtX2F4aXNWYWx1ZXM7CiAg
ICAgVmVjdG9yPGRvdWJsZT4gbV9idXR0b25WYWx1ZXM7CiAgICAgTW9ub3RvbmljVGltZSBtX2xh
c3RVcGRhdGVUaW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dhbWVw
YWQvV2ViR2FtZXBhZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR2FtZXBhZC9XZWJH
YW1lcGFkLmNwcAppbmRleCA4MGM5NzkwMGRjMDRlNGY1Y2I5YWQyOTY5OTk3ZDhhYWExOTU1YThj
Li5hNDNmMDRhNGU3OTFmYWRlNmE3MWUwNGJlZjkzOTJkMzMzNDNkNjEwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFkLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFkLmNwcApAQCAtNDAsNiArNDAs
NyBAQCBXZWJHYW1lcGFkOjpXZWJHYW1lcGFkKGNvbnN0IEdhbWVwYWREYXRhJiBnYW1lcGFkRGF0
YSkKICAgICBMT0coR2FtZXBhZCwgIkNvbm5lY3RpbmcgV2ViR2FtZXBhZCAldSIsIGdhbWVwYWRE
YXRhLmluZGV4KCkpOwogCiAgICAgbV9pZCA9IGdhbWVwYWREYXRhLmlkKCk7CisgICAgbV9tYXBw
aW5nID0gZ2FtZXBhZERhdGEubWFwcGluZygpOwogICAgIG1fYXhpc1ZhbHVlcy5yZXNpemUoZ2Ft
ZXBhZERhdGEuYXhpc1ZhbHVlcygpLnNpemUoKSk7CiAgICAgbV9idXR0b25WYWx1ZXMucmVzaXpl
KGdhbWVwYWREYXRhLmJ1dHRvblZhbHVlcygpLnNpemUoKSk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiZTFmODI0NTI2ZmEwMzY0Zjg5NDIx
YzM3NzFlYTJmNjA3ODUyZGE0Li44Mzk5YmNmZDYxMjU3MWFkZGJiZmE3ZTgzYmFjNDM2NzU3MDU4
Y2M2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMjAtMDEtMTQgIEphbWVzIEhvd2FyZCAgPGphbWVzaG93YXJkQG1h
Yy5jb20+CisKKyAgICAgICAgU3RhbmRhcmQgZ2FtZXBhZCBtYXBwaW5nIGZvciBHYW1lQ29udHJv
bGxlckdhbWVwYWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDYwMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5l
ci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVu
bmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0TW9ja0dhbWVwYWREZXRhaWxz
KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIu
aDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcDoKKyAgICAg
ICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9t
SW5qZWN0ZWRCdW5kbGUpOgorCiAyMDIwLTAxLTEzICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWlu
QGFwcGxlLmNvbT4KIAogICAgICAgICBbRVdTXSBBZGQgdW5pdCB0ZXN0cyBmb3IgZmFjdG9yaWVz
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRp
bmdzL1Rlc3RSdW5uZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAppbmRleCA5ZTUzYjViZTkyNjRmMjEzMDU5NmNiZWY3
MGE5NDUxYWEzNTVlNGRlLi4xNjBjMmU5ZjNiYTY0Nzc1OThhYTUyY2EyYzVhNzkyODA4OTMyODY3
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRp
bmdzL1Rlc3RSdW5uZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKQEAgLTI4NSw3ICsyODUsNyBAQCBpbnRlcmZh
Y2UgVGVzdFJ1bm5lciB7CiAgICAgdm9pZCBpbnN0YWxsQ3VzdG9tTWVudUFjdGlvbihET01TdHJp
bmcgbmFtZSwgYm9vbGVhbiBkaXNtaXNzZXNBdXRvbWF0aWNhbGx5LCBvYmplY3QgY2FsbGJhY2sp
OwogCiAgICAgLy8gR2FtZXBhZAotICAgIHZvaWQgc2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2ln
bmVkIGxvbmcgaW5kZXgsIERPTVN0cmluZyBpZCwgdW5zaWduZWQgbG9uZyBheGlzQ291bnQsIHVu
c2lnbmVkIGxvbmcgYnV0dG9uQ291bnQpOworICAgIHZvaWQgc2V0TW9ja0dhbWVwYWREZXRhaWxz
KHVuc2lnbmVkIGxvbmcgaW5kZXgsIERPTVN0cmluZyBpZCwgRE9NU3RyaW5nIG1hcHBpbmcsIHVu
c2lnbmVkIGxvbmcgYXhpc0NvdW50LCB1bnNpZ25lZCBsb25nIGJ1dHRvbkNvdW50KTsKICAgICB2
b2lkIHNldE1vY2tHYW1lcGFkQXhpc1ZhbHVlKHVuc2lnbmVkIGxvbmcgaW5kZXgsIHVuc2lnbmVk
IGxvbmcgYXhpc0luZGV4LCBkb3VibGUgdmFsdWUpOwogICAgIHZvaWQgc2V0TW9ja0dhbWVwYWRC
dXR0b25WYWx1ZSh1bnNpZ25lZCBsb25nIGluZGV4LCB1bnNpZ25lZCBsb25nIGJ1dHRvbkluZGV4
LCBkb3VibGUgdmFsdWUpOwogICAgIHZvaWQgY29ubmVjdE1vY2tHYW1lcGFkKHVuc2lnbmVkIGxv
bmcgaW5kZXgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvVGVzdFJ1bm5lci5jcHAKaW5kZXggZmU5ZTJmZWE0M2Y0ZGUzYTc4Zjk5NTUwMjM5MDg5ZDIz
Y2M5MzY0NS4uY2M1ZTg3MTJiNGQ1ZDc3N2I2OTljMmEyZDIwZjE2ODFiNThmM2M3OSAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNw
cAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIu
Y3BwCkBAIC0yNDUwLDcgKzI0NTAsNyBAQCB2b2lkIFRlc3RSdW5uZXI6OmRpc2Nvbm5lY3RNb2Nr
R2FtZXBhZCh1bnNpZ25lZCBpbmRleCkKICAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3Nh
Z2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQo
KSwgbWVzc2FnZUJvZHkuZ2V0KCksIG51bGxwdHIpOwogfQogCi12b2lkIFRlc3RSdW5uZXI6OnNl
dE1vY2tHYW1lcGFkRGV0YWlscyh1bnNpZ25lZCBpbmRleCwgSlNTdHJpbmdSZWYgZ2FtZXBhZElE
LCB1bnNpZ25lZCBheGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KQordm9pZCBUZXN0UnVu
bmVyOjpzZXRNb2NrR2FtZXBhZERldGFpbHModW5zaWduZWQgaW5kZXgsIEpTU3RyaW5nUmVmIGdh
bWVwYWRJRCwgSlNTdHJpbmdSZWYgbWFwcGluZywgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25l
ZCBidXR0b25Db3VudCkKIHsKICAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+PiBr
ZXlzOwogICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7CkBAIC0yNDU4
LDYgKzI0NTgsOSBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldE1vY2tHYW1lcGFkRGV0YWlscyh1bnNp
Z25lZCBpbmRleCwgSlNTdHJpbmdSZWYgZ2FtZXBhZElELCB1bgogICAgIGtleXMuYXBwZW5kKGFk
b3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkdhbWVwYWRJRCIpKSk7CiAgICAg
dmFsdWVzLmFwcGVuZCh0b1dLKGdhbWVwYWRJRCkpOwogCisgICAga2V5cy5hcHBlbmQoYWRvcHRX
SyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiTWFwcGluZyIpKSk7CisgICAgdmFsdWVz
LmFwcGVuZCh0b1dLKG1hcHBpbmcpKTsKKwogICAgIGtleXMuYXBwZW5kKGFkb3B0V0soV0tTdHJp
bmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkdhbWVwYWRJbmRleCIpKSk7CiAgICAgdmFsdWVzLmFw
cGVuZChhZG9wdFdLKFdLVUludDY0Q3JlYXRlKGluZGV4KSkpOwogCkBAIC0yNTUxLDcgKzI1NTQs
NyBAQCB2b2lkIFRlc3RSdW5uZXI6OmRpc2Nvbm5lY3RNb2NrR2FtZXBhZCh1bnNpZ25lZCkKIHsK
IH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRNb2NrR2FtZXBhZERldGFpbHModW5zaWduZWQsIEpT
U3RyaW5nUmVmLCB1bnNpZ25lZCwgdW5zaWduZWQpCit2b2lkIFRlc3RSdW5uZXI6OnNldE1vY2tH
YW1lcGFkRGV0YWlscyh1bnNpZ25lZCwgSlNTdHJpbmdSZWYsIEpTU3RyaW5nUmVmLCB1bnNpZ25l
ZCwgdW5zaWduZWQpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKaW5kZXggOTU1ZGQwZjcxZmIzZDk1OTUwODVkMDU2YjQ5
OGY3NzY0M2Y5YWFmNC4uYzNjMTA0NTNlOTMyOGViY2U4OTViNmFhMmZhYTgxYzFhZGYyYmFhMiAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVu
bmVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVu
bmVyLmgKQEAgLTM3NSw3ICszNzUsNyBAQCBwdWJsaWM6CiAgICAgLy8gR2FtZXBhZHMKICAgICB2
b2lkIGNvbm5lY3RNb2NrR2FtZXBhZCh1bnNpZ25lZCBpbmRleCk7CiAgICAgdm9pZCBkaXNjb25u
ZWN0TW9ja0dhbWVwYWQodW5zaWduZWQgaW5kZXgpOwotICAgIHZvaWQgc2V0TW9ja0dhbWVwYWRE
ZXRhaWxzKHVuc2lnbmVkIGluZGV4LCBKU1N0cmluZ1JlZiBnYW1lcGFkSUQsIHVuc2lnbmVkIGF4
aXNDb3VudCwgdW5zaWduZWQgYnV0dG9uQ291bnQpOworICAgIHZvaWQgc2V0TW9ja0dhbWVwYWRE
ZXRhaWxzKHVuc2lnbmVkIGluZGV4LCBKU1N0cmluZ1JlZiBnYW1lcGFkSUQsIEpTU3RyaW5nUmVm
IG1hcHBpbmcsIHVuc2lnbmVkIGF4aXNDb3VudCwgdW5zaWduZWQgYnV0dG9uQ291bnQpOwogICAg
IHZvaWQgc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUodW5zaWduZWQgaW5kZXgsIHVuc2lnbmVkIGF4
aXNJbmRleCwgZG91YmxlIHZhbHVlKTsKICAgICB2b2lkIHNldE1vY2tHYW1lcGFkQnV0dG9uVmFs
dWUodW5zaWduZWQgaW5kZXgsIHVuc2lnbmVkIGJ1dHRvbkluZGV4LCBkb3VibGUgdmFsdWUpOwog
ICAgIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5j
cHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAppbmRleCAwOThm
NWJhNzhjN2VmMjgyYTYzN2IyM2FmMmMwMzkwMTZkYTBhNzM0Li41MTMxOTdjMWFmYmEyN2RhY2E1
OTQwMzcxMmFmNDdjZmM2MGQ2NWNhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L1Rlc3RJbnZvY2F0aW9uLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZv
Y2F0aW9uLmNwcApAQCAtMTAxNSwxNSArMTAxNSwxNyBAQCBXS1JldGFpblB0cjxXS1R5cGVSZWY+
IFRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVk
QgogICAgICAgICBXS0RpY3Rpb25hcnlSZWYgbWVzc2FnZUJvZHlEaWN0aW9uYXJ5ID0gc3RhdGlj
X2Nhc3Q8V0tEaWN0aW9uYXJ5UmVmPihtZXNzYWdlQm9keSk7CiAgICAgICAgIFdLUmV0YWluUHRy
PFdLU3RyaW5nUmVmPiBnYW1lcGFkSW5kZXhLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0
aFVURjhDU3RyaW5nKCJHYW1lcGFkSW5kZXgiKSk7CiAgICAgICAgIFdLUmV0YWluUHRyPFdLU3Ry
aW5nUmVmPiBnYW1lcGFkSURLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3Ry
aW5nKCJHYW1lcGFkSUQiKSk7CisgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtYXBw
aW5nS2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiTWFwcGluZyIp
KTsKICAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGF4aXNDb3VudEtleSA9IGFkb3B0
V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkF4aXNDb3VudCIpKTsKICAgICAgICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGJ1dHRvbkNvdW50S2V5ID0gYWRvcHRXSyhXS1N0cmlu
Z0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiQnV0dG9uQ291bnQiKSk7CiAKICAgICAgICAgV0tVSW50
NjRSZWYgZ2FtZXBhZEluZGV4ID0gc3RhdGljX2Nhc3Q8V0tVSW50NjRSZWY+KFdLRGljdGlvbmFy
eUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBnYW1lcGFkSW5kZXhLZXkuZ2V0
KCkpKTsKICAgICAgICAgV0tTdHJpbmdSZWYgZ2FtZXBhZElEID0gc3RhdGljX2Nhc3Q8V0tTdHJp
bmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBn
YW1lcGFkSURLZXkuZ2V0KCkpKTsKKyAgICAgICAgV0tTdHJpbmdSZWYgbWFwcGluZyA9IHN0YXRp
Y19jYXN0PFdLU3RyaW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5
RGljdGlvbmFyeSwgbWFwcGluZ0tleS5nZXQoKSkpOwogICAgICAgICBXS1VJbnQ2NFJlZiBheGlz
Q291bnQgPSBzdGF0aWNfY2FzdDxXS1VJbnQ2NFJlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktl
eShtZXNzYWdlQm9keURpY3Rpb25hcnksIGF4aXNDb3VudEtleS5nZXQoKSkpOwogICAgICAgICBX
S1VJbnQ2NFJlZiBidXR0b25Db3VudCA9IHN0YXRpY19jYXN0PFdLVUludDY0UmVmPihXS0RpY3Rp
b25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgYnV0dG9uQ291bnRLZXku
Z2V0KCkpKTsKIAotICAgICAgICBXZWJDb3JlVGVzdFN1cHBvcnQ6OnNldE1vY2tHYW1lcGFkRGV0
YWlscyhXS1VJbnQ2NEdldFZhbHVlKGdhbWVwYWRJbmRleCksIHRvV1RGU3RyaW5nKGdhbWVwYWRJ
RCksIFdLVUludDY0R2V0VmFsdWUoYXhpc0NvdW50KSwgV0tVSW50NjRHZXRWYWx1ZShidXR0b25D
b3VudCkpOworICAgICAgICBXZWJDb3JlVGVzdFN1cHBvcnQ6OnNldE1vY2tHYW1lcGFkRGV0YWls
cyhXS1VJbnQ2NEdldFZhbHVlKGdhbWVwYWRJbmRleCksIHRvV1RGU3RyaW5nKGdhbWVwYWRJRCks
IHRvV1RGU3RyaW5nKG1hcHBpbmcpLCBXS1VJbnQ2NEdldFZhbHVlKGF4aXNDb3VudCksIFdLVUlu
dDY0R2V0VmFsdWUoYnV0dG9uQ291bnQpKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAg
fQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMGVlYTNjY2RmYTRhYzVlOTk0YjAwNjQ2ZGFiNDJjMDA4OWU3MDc0MC4uOTA1
OTMwNjY1ZjBiNmRjY2JhMGZhZTIwNzA3YTQwYWQyZGI2NWJiYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDIwLTAxLTE0ICBKYW1lcyBIb3dhcmQgIDxqYW1lc2hvd2FyZEBtYWMuY29tPgorCisg
ICAgICAgIFN0YW5kYXJkIGdhbWVwYWQgbWFwcGluZyBmb3IgR2FtZUNvbnRyb2xsZXJHYW1lcGFk
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MDMz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBnYW1l
cGFkL2dhbWVwYWQtcG9sbGluZy1hY2Nlc3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGdhbWVw
YWQvZ2FtZXBhZC1wb2xsaW5nLWFjY2Vzcy5odG1sOgorICAgICAgICAqIGdhbWVwYWQvZ2FtZXBh
ZC10aW1lc3RhbXAuaHRtbDoKKyAgICAgICAgKiBnYW1lcGFkL2dhbWVwYWQtdmlzaWJpbGl0eS0x
Lmh0bWw6CisKIDIwMjAtMDEtMTMgIFRydWl0dCBTYXZlbGwgIDx0c2F2ZWxsQGFwcGxlLmNvbT4K
IAogICAgICAgICBGbGFreSBUZXN0OiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N2
Zy9pbXBvcnQvc3RydWN0LWRvbS0wNi1iLW1hbnVhbC5zdmcKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2dhbWVwYWQvZ2FtZXBhZC1wb2xsaW5nLWFjY2Vzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9nYW1lcGFkL2dhbWVwYWQtcG9sbGluZy1hY2Nlc3MtZXhwZWN0ZWQudHh0CmluZGV4IDUy
YjZiYjVjMTQ2YmM4YjQyN2U2ZWI2NDUwYjM3MjQyMTIxM2Q5NzUuLjljMjhmOGQ1ODczMjViZWI0
MmZiZGFjNTk4M2Y3NzlmMGI1Y2JjY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2dhbWVwYWQv
Z2FtZXBhZC1wb2xsaW5nLWFjY2Vzcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZ2Ft
ZXBhZC9nYW1lcGFkLXBvbGxpbmctYWNjZXNzLWV4cGVjdGVkLnR4dApAQCAtNCwyMDIgKzQsMjQy
IEBAIENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDAKIEluZGV4
OiAwCitNYXBwaW5nOiAKIEF4ZXM6IAogQnV0dG9uczogCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDEKIEluZGV4OiAxCitNYXBw
aW5nOiAKIEF4ZXM6IDAKIEJ1dHRvbnM6IGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTog
MgogSW5kZXg6IDIKK01hcHBpbmc6IAogQXhlczogMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNl
LTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiAzCiBJbmRleDogMwor
TWFwcGluZzogCiBBeGVzOiAwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
CiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6
IDQKIEluZGV4OiA0CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdh
bWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogNQogSW5kZXg6IDUKK01h
cHBpbmc6IAogQXhlczogMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmpl
Y3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiA2CiBJ
bmRleDogNgorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVw
YWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDcKIEluZGV4OiA3CitNYXBwaW5nOiAK
IEF4ZXM6IDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2Jq
ZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdh
bWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogOAogSW5kZXg6IDgKK01h
cHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0
aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBH
YW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFk
XSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2Jq
ZWN0IEdhbWVwYWRdCiBOYW1lOiA5CiBJbmRleDogOQorTWFwcGluZzogCiBBeGVzOiAwLDAsMCww
LDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6
CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2Jq
ZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdh
bWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDEwCiBJbmRleDogMTAKK01hcHBpbmc6IAogQXhlczog
MCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIENv
bm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2Jq
ZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdh
bWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1l
OiAxMQogSW5kZXg6IDExCitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCwwLDAsMAog
QnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogQ29ubmVjdGluZyBnYW1l
cGFkOgogW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQog
TmFtZTogMTIKIEluZGV4OiAxMgorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBD
b25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29i
amVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBH
YW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFk
XSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2Jq
ZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDEzCiBJbmRleDogMTMKK01hcHBp
bmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIENvbm5lY3RpbmcgZ2FtZXBh
ZDoKIFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3Qg
R2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29i
amVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiAxNAogSW5kZXg6IDE0CitNYXBw
aW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogQ29ubmVj
dGluZyBnYW1lcGFkOgogW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3Qg
R2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29i
amVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBH
YW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFk
XQogTmFtZTogMTUKIEluZGV4OiAxNQorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAKIENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmpl
Y3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2Ft
ZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQog
TmFtZTogMTYKIEluZGV4OiAxNgorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogQ29ubmVjdGluZyBnYW1lcGFk
OgogW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29i
amVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBH
YW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFk
XSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2Jq
ZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdh
bWVwYWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDE3CiBJbmRleDogMTcKK01hcHBpbmc6IAog
QXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3Qg
R2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29i
amVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBH
YW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFk
XSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiAxOAogSW5kZXg6IDE4CitNYXBwaW5nOiAKIEF4ZXM6
IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCAKIENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29i
amVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBH
YW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFk
XSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2Jq
ZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdh
bWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogMTkKIEluZGV4
OiAxOQorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogVmVy
aWZ5aW5nIHRoZXJlIGFyZSAyMCBjb25uZWN0ZWQgZ2FtZXBhZHMgaW4gdGhlIHNldCBvZiBhbGwg
Z2FtZXBhZHMKIFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3Qg
R2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29i
amVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBH
YW1lcGFkXQogTmFtZTogMAogSW5kZXg6IDAKK01hcHBpbmc6IAogQXhlczogCiBCdXR0b25zOiAK
IE5hbWU6IDEKIEluZGV4OiAxCitNYXBwaW5nOiAKIEF4ZXM6IDAKIEJ1dHRvbnM6IGZhbHNlLTAg
CiBOYW1lOiAyCiBJbmRleDogMgorTWFwcGluZzogCiBBeGVzOiAwLDAKIEJ1dHRvbnM6IGZhbHNl
LTAgZmFsc2UtMCAKIE5hbWU6IDMKIEluZGV4OiAzCitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwCiBC
dXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDQKIEluZGV4OiA0CitNYXBw
aW5nOiAKIEF4ZXM6IDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgCiBOYW1lOiA1CiBJbmRleDogNQorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAKIEJ1
dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDYK
IEluZGV4OiA2CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDcKIEluZGV4
OiA3CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBOYW1lOiA4CiBJ
bmRleDogOAorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCAKIE5hbWU6IDkKIEluZGV4OiA5CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCww
CiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDEwCiBJbmRleDogMTAKK01hcHBpbmc6
IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCAKIE5hbWU6IDExCiBJbmRleDogMTEKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAs
MCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBOYW1l
OiAxMgogSW5kZXg6IDEyCitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
CiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6
IDEzCiBJbmRleDogMTMKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCAKIE5hbWU6IDE0CiBJbmRleDogMTQKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBOYW1lOiAxNQogSW5kZXg6IDE1CitNYXBwaW5nOiAKIEF4
ZXM6IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMAogTmFtZTog
MTYKIEluZGV4OiAxNgorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogTmFtZTogMTcKIEluZGV4OiAxNworTWFw
cGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDE4CiBJbmRleDogMTgKK01hcHBpbmc6IAog
QXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogTmFtZTogMTkKIEluZGV4OiAxOQorTWFwcGluZzog
CiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogRGlzY29ubmVjdGluZyBnYW1l
cGFkcyBpbiByZXZlcnNlIG9yZGVyLCBtYWtpbmcgc3VyZSBnYW1lcGFkcyBhcnJheSByZW1haW5z
IGFzIGV4cGVjdGVkCkBAIC0yNDgsNiArMjg4LDcgQEAgQ29ubmVjdGluZyBnYW1lcGFkOgogLCws
LCwsLCwsLFtvYmplY3QgR2FtZXBhZF0sLCwsLCwsLCwKIE5hbWU6IEF3ZXNvbWUgSm95c3RpY2sg
NTAwMAogSW5kZXg6IDEwCitNYXBwaW5nOiBzdGFuZGFyZAogQXhlczogMC43LC0wLjksMSwtMQot
QnV0dG9uczogdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0x
IHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEg
dHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSAKK0J1dHRvbnM6IHRydWUtMSB0cnVl
LTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUt
MSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSAKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZ2FtZXBhZC9nYW1lcGFkLXBvbGxpbmctYWNjZXNzLmh0bWwgYi9MYXlv
dXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtcG9sbGluZy1hY2Nlc3MuaHRtbAppbmRleCA2NDZkMjE5
ZjBkMjI1OTIwZTAzZGVhNWJhMzVjOWE5MTZiODEyODRjLi44ZGNkMmE1Yzc1NzdiMmYzMDZhZmM5
ZmQwODNmZmM0NzYxNGUwODFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVw
YWQtcG9sbGluZy1hY2Nlc3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQt
cG9sbGluZy1hY2Nlc3MuaHRtbApAQCAtMzYsNiArMzYsNyBAQCBmdW5jdGlvbiBsb2dHYW1lcGFk
KGdwKQogewogICAgIGxvZygiTmFtZTogIiArIGdwLmlkKTsKICAgICBsb2coIkluZGV4OiAiICsg
Z3AuaW5kZXgpOworICAgIGxvZygiTWFwcGluZzogIiArIGdwLm1hcHBpbmcpOwogICAgIGxvZygi
QXhlczogIiArIGdwLmF4ZXMpOwogICAgIAogICAgIHZhciBidXR0b25TdHJpbmcgPSAiIjsKQEAg
LTUzLDcgKzU0LDcgQEAgZnVuY3Rpb24qIHRlc3RTdGVwcygpIHsKICAgICBsb2coIkluaXRpYWwg
Z2FtZXBhZHMgbGVuZ3RoOiAiICsgbmF2aWdhdG9yLmdldEdhbWVwYWRzKCkubGVuZ3RoKTsKICAg
ICBsb2coIkNvbm5lY3RpbmcgMjAgZGlmZmVyZW50IGdhbWVwYWRzIik7CiAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCAyMDsgKytpKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVwYWRE
ZXRhaWxzKGksIGksIGksIGkpOworICAgICAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkRGV0
YWlscyhpLCBpLCAiIiwgaSwgaSk7CiAgICAgICAgIHRlc3RSdW5uZXIuY29ubmVjdE1vY2tHYW1l
cGFkKGkpOwogICAgICAgICB5aWVsZDsKICAgICB9CkBAIC03MywxMiArNzQsMTIgQEAgZnVuY3Rp
b24qIHRlc3RTdGVwcygpIHsKIAogICAgIGxvZygiQ2hlY2tpbmcgbm9uLXplcm8nZWQgZGV0YWls
cyBmb3IgYSBnYW1lcGFkIik7CiAKLSAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkRGV0YWls
cygxMCwgIkF3ZXNvbWUgSm95c3RpY2sgNTAwMCIsIDQsIDIwKTsKKyAgICB0ZXN0UnVubmVyLnNl
dE1vY2tHYW1lcGFkRGV0YWlscygxMCwgIkF3ZXNvbWUgSm95c3RpY2sgNTAwMCIsICJzdGFuZGFy
ZCIsIDQsIDE2KTsKICAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkQXhpc1ZhbHVlKDEwLCAw
LCAwLjcpOwogICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUoMTAsIDEsIC0w
LjkpOwogICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUoMTAsIDIsIDEuMCk7
CiAgICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSgxMCwgMywgLTEuMCk7Ci0g
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCAyMDsgKytpKQorICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
MTY7ICsraSkKICAgICAgICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZEJ1dHRvblZhbHVlKDEw
LCBpLCAxLjApOwogICAgICAgICAKICAgICB0ZXN0UnVubmVyLmNvbm5lY3RNb2NrR2FtZXBhZCgx
MCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtdGltZXN0YW1wLmh0
bWwgYi9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtdGltZXN0YW1wLmh0bWwKaW5kZXggNDll
ZGNlY2JlNjM1YTJkZWE0NmIwZDYyM2NhMTczNmFjYjE3MTg4Ny4uMGI0YzAxMTgxNGE4MTAwZjA4
Yzk2NzQ2NDkzZmI1NWQ1ZDMzZTRiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZ2FtZXBhZC9n
YW1lcGFkLXRpbWVzdGFtcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2dhbWVwYWQvZ2FtZXBhZC10
aW1lc3RhbXAuaHRtbApAQCAtNzIsMTMgKzcyLDEzIEBAIGZ1bmN0aW9uIGhhbmRsZUdhbWVwYWRD
b25uZWN0KCkKIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgYWRkRXZlbnRMaXN0ZW5lcigiZ2Ft
ZXBhZGNvbm5lY3RlZCIsIGhhbmRsZUdhbWVwYWRDb25uZWN0KTsKIAotICAgIHRlc3RSdW5uZXIu
c2V0TW9ja0dhbWVwYWREZXRhaWxzKDAsICJUZXN0IEpveXN0aWNrIiwgMiwgMik7CisgICAgdGVz
dFJ1bm5lci5zZXRNb2NrR2FtZXBhZERldGFpbHMoMCwgIlRlc3QgSm95c3RpY2siLCAiIiwgMiwg
Mik7CiAgICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSgwLCAwLCAwLjcpOwog
ICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUoMCwgMSwgLTEuMCk7CiAgICAg
dGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZEJ1dHRvblZhbHVlKDAsIDAsIDEuMCk7CiAgICAgdGVz
dFJ1bm5lci5zZXRNb2NrR2FtZXBhZEJ1dHRvblZhbHVlKDAsIDEsIDEuMCk7CiAgICAgdGVzdFJ1
bm5lci5jb25uZWN0TW9ja0dhbWVwYWQoMCk7Ci0gICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBh
ZERldGFpbHMoMSwgIlRlc3QgSm95c3RpY2sgMiIsIDIsIDIpOworICAgIHRlc3RSdW5uZXIuc2V0
TW9ja0dhbWVwYWREZXRhaWxzKDEsICJUZXN0IEpveXN0aWNrIDIiLCAiIiwgMiwgMik7CiAgICAg
dGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSgxLCAwLCAwLjcpOwogICAgIHRlc3RS
dW5uZXIuc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUoMSwgMSwgLTEuMCk7CiAgICAgdGVzdFJ1bm5l
ci5zZXRNb2NrR2FtZXBhZEJ1dHRvblZhbHVlKDEsIDAsIDEuMCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtdmlzaWJpbGl0eS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9n
YW1lcGFkL2dhbWVwYWQtdmlzaWJpbGl0eS0xLmh0bWwKaW5kZXggOGQ1NDM4OWE1YTRlODc5N2Q4
Yzk3MGFjNTI2Mjk1NDM4YjZmMTlmMC4uMDc5NjNlZjQxNjBhZTE2YWYyZDA0Zjg0YWM0NGI1YTQ5
MjE2NzQ5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZ2FtZXBhZC9nYW1lcGFkLXZpc2liaWxp
dHktMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2dhbWVwYWQvZ2FtZXBhZC12aXNpYmlsaXR5LTEu
aHRtbApAQCAtNDEsNyArNDEsNyBAQCBmdW5jdGlvbiBydW5UZXN0KCkgewogCiAgICAgLy8gQ29u
bmVjdGluZyB0aGUgZ2FtZXBhZCBhbmQgY2hhbmdpbmcgYXhpcyB2YWx1ZXMgc2hvdWxkICpub3Qq
IG1ha2UgaXQgdmlzaWJsZS4KICAgICAvLyBPbmx5IGJ1dHRvbiBwcmVzc2VzIHNob3VsZCBleHBv
c2UgaXQuCi0gICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZERldGFpbHMoMCwgIlRlc3QgSm95
c3RpY2siLCAyLCAyKTsKKyAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkRGV0YWlscygwLCAi
VGVzdCBKb3lzdGljayIsICIiLCAyLCAyKTsKICAgICB0ZXN0UnVubmVyLmNvbm5lY3RNb2NrR2Ft
ZXBhZCgwKTsKICAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkQXhpc1ZhbHVlKDAsIDAsIDAu
Nyk7CiAgICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSgwLCAxLCAtMS4wKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389296</attachid>
            <date>2020-01-30 15:40:52 -0800</date>
            <delta_ts>2020-01-31 12:59:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206033-20200130154048.patch</filename>
            <type>text/plain</type>
            <size>46548</size>
            <attacher name="James Howard">jameshoward</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1NDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2JmYWVhNWMyNmJhNTlm
Mzk0MDM5MjBjMWM4ZTQ0MTkwNjI2MWNhZS4uMzA1OTY4YjQxNjg2YmRmOTljMWVhMzU4MmJlNDI1
ZTM4Y2QzYmFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIwLTAxLTMwICBKYW1l
cyBIb3dhcmQgIDxqYW1lc2hvd2FyZEBtYWMuY29tPgorCisgICAgICAgIFN0YW5kYXJkIGdhbWVw
YWQgbWFwcGluZyBmb3IgR2FtZUNvbnRyb2xsZXJHYW1lcGFkcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MDMzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0ZW5kIFBsYXRmb3JtR2FtZXBhZCB0byBh
ZGQgYSBmaWVsZCBmb3IgdGhlIGdhbWVwYWQgbWFwcGluZy4KKyAgICAgICAgVGhlIG1hcHBpbmcg
ZGVmaW5lcyB0aGUgb3JkZXIgYW5kIGludGVycHJldGF0aW9uIG9mIHRoZSBheGVzIGFuZAorICAg
ICAgICBidXR0b25zIHZlY3RvcnMsIGFuZCBpcyBwYXNzZWQgYWxvbmcgdG8gdXNlcnMgb2YgdGhl
IEdhbWVwYWQKKyAgICAgICAgQVBJWzFdLgorCisgICAgICAgIExldHRpbmcgUGxhdGZvcm1HYW1l
cGFkIHN1YmNsYXNzZXJzIGRlZmluZSB0aGVpciBtYXBwaW5nIGlzIHRoZQorICAgICAgICBuYXR1
cmFsIHBsYWNlIGZvciB0aGlzIGZ1bmN0aW9uYWxpdHkuIFRoZSBQbGF0Zm9ybUdhbWVwYWQKKyAg
ICAgICAgYWxyZWFkeSBkZWZpbmVzIHRoZSBvcmRlciBvZiB0aGUgYXhlcyBhbmQgYnV0dG9ucyBh
bmQKKyAgICAgICAgUGxhdGZvcm1HYW1lcGFkIHN1YmNsYXNzZXJzIG1heSBrbm93IHNvbWV0aGlu
ZyBhYm91dCB0aGUKKyAgICAgICAgcGh5c2ljYWwgbGF5b3V0IG9mIHRoZSBnYW1lcGFkIHRoZXkg
cmVwcmVzZW50LgorCisgICAgICAgIFRoaXMgY2hhbmdlIG1vZGlmaWVzIHRoZSBHYW1lQ29udHJv
bGxlckdhbWVwYWQgc3ViY2xhc3Mgb2YKKyAgICAgICAgUGxhdGZvcm1HYW1lcGFkIHRvIHNldCB0
aGUgbWFwcGluZyB0byAic3RhbmRhcmQiIHdoZW4gYQorICAgICAgICBHQ0V4dGVuZGVkR2FtZXBh
ZCBpcyBkZXRlY3RlZCwgYW5kIHRvIGJpbmQgdGhlIGF4ZXMgYW5kIGJ1dHRvbnMKKyAgICAgICAg
YXBwcm9wcmlhdGVseS4gUHJldmlvdXNseSwgdGhlIGJ1dHRvbnMgYW5kIGF4ZXMgd2VyZSBib3Vu
ZAorICAgICAgICBhcmJpdHJhcmlseSwgYW5kIGluIHNvbWUgY2FzZXMgaW5jb21wbGV0ZWx5LiBX
aGlsZSB0aGF0IHdhc24ndCBhCisgICAgICAgIGJ1ZyBwZXIgc2UsIGJlY2F1c2Ugd2l0aCB0aGUg
bWFwcGluZyBzZXQgdG8gdGhlIGVtcHR5IHN0cmluZyBhbgorICAgICAgICBpbXBsZW1lbnRhdGlv
biBpcyBmcmVlIHRvIHByb3ZpZGUgYW55IGludGVycHJldGF0aW9uIG9mIHRoZQorICAgICAgICBn
YW1lcGFkIGVsZW1lbnRzIGl0IGxpa2VzLCBpdCB3YXMgY2VydGFpbmx5IGxlc3MgdXNlZnVsIHRo
YW4gdGhlCisgICAgICAgICJzdGFuZGFyZCIgbWFwcGluZy4KKworICAgICAgICBbMV0gaHR0cHM6
Ly93d3cudzMub3JnL1RSL2dhbWVwYWQvI3JlbWFwcGluZworCisgICAgICAgICogTW9kdWxlcy9n
YW1lcGFkL0dhbWVwYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2FtZXBhZDo6R2FtZXBhZCk6
CisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9QbGF0Zm9ybUdhbWVwYWQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlBsYXRmb3JtR2FtZXBhZDo6bWFwcGluZyBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWQubW06CisgICAgICAgIChX
ZWJDb3JlOjpHYW1lQ29udHJvbGxlckdhbWVwYWQ6OnNldHVwQXNFeHRlbmRlZEdhbWVwYWQpOgor
ICAgICAgICAqIHRlc3RpbmcvTW9ja0dhbWVwYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9j
a0dhbWVwYWQ6Ok1vY2tHYW1lcGFkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tHYW1lcGFkOjp1
cGRhdGVEZXRhaWxzKToKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tHYW1lcGFkLmg6CisgICAgICAg
ICogdGVzdGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tHYW1lcGFkUHJvdmlkZXI6OnNldE1vY2tHYW1lcGFkRGV0YWlscyk6CisgICAgICAgICogdGVz
dGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmg6CisgICAgICAgICogdGVzdGluZy9qcy9XZWJDb3Jl
VGVzdFN1cHBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZVRlc3RTdXBwb3J0OjpzZXRNb2NrR2Ft
ZXBhZERldGFpbHMpOgorICAgICAgICAqIHRlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0Lmg6
CisKIDIwMjAtMDEtMzAgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI1NTQyNC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjE5MTMy
MTJiNTZkMGNkZjc0ODdmZDk1YmI2ODU2YjA4MjA3YzgyZS4uMGFmNGRjYTRhMDUxN2JkY2NlZWVl
MzRkMGI5ZTM3ZDg4MTMzMzczMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAyMC0wMS0z
MCAgSmFtZXMgSG93YXJkICA8amFtZXNob3dhcmRAbWFjLmNvbT4KKworICAgICAgICBTdGFuZGFy
ZCBnYW1lcGFkIG1hcHBpbmcgZm9yIEdhbWVDb250cm9sbGVyR2FtZXBhZHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjAzMworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgTWFrZSB0aGUgbWFw
cGluZyBhcyBwcm92aWRlZCBieSBQbGF0Zm9ybUdhbWVwYWQKKyAgICAgICAgYXZhaWxhYmxlIGlu
IFVJR2FtZXBhZCwgYW5kIHBhc3MgaXQgYWxvbmcgdG8KKyAgICAgICAgR2FtZXBhZERhdGEgc28g
aXQgY2FuIGJlIGNvcnJlY3RseSByZWZsZWN0ZWQKKyAgICAgICAgaW4gdGhlIEdhbWVwYWQgQVBJ
LgorCisgICAgICAgICogU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuY3BwOgorICAgICAgICAo
V2ViS2l0OjpHYW1lcGFkRGF0YTo6R2FtZXBhZERhdGEpOgorICAgICAgICAoV2ViS2l0OjpHYW1l
cGFkRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6R2FtZXBhZERhdGE6OmRl
Y29kZSk6CisgICAgICAgICogU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuaDoKKyAgICAgICAg
KFdlYktpdDo6R2FtZXBhZERhdGE6Om1hcHBpbmcgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9HYW1lcGFkL1VJR2FtZXBhZC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVJR2FtZXBhZDo6VUlH
YW1lcGFkKToKKyAgICAgICAgKFdlYktpdDo6VUlHYW1lcGFkOjpmdWxsR2FtZXBhZERhdGEgY29u
c3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZC5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
R2FtZXBhZDo6V2ViR2FtZXBhZCk6CisKIDIwMjAtMDEtMzAgIHlvdWVubiBmYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIERpc2FibGUgU2VydmljZSBXb3JrZXJzIGJlZm9yZSB0
ZXJtaW5hdGluZyBhbiB1bnJlc3BvbnNpdmUgc2VydmljZSB3b3JrZXIgcHJvY2VzcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybUhhdmUuaAppbmRleCBkMTM3NzJhYzNiMzZkZTAwMmU4MGUwMWUxNDhjOGJjYTg4MjAzMTdm
Li4wMGY3N2ZkZTE2Y2U3NGE1M2RkMTIwMTM5ZTEyZWQ3OTA3ZTdjMTQ5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bUhhdmUuaApAQCAtNTc0LDMgKzU3NCwxMSBAQAogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTQwMCkg
JiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBIQVZF
X0NHX1BBVEhfVU5FVkVOX0NPUk5FUlNfUk9VTkRFRFJFQ1QgMQogI2VuZGlmCisKKyNpZiAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkg
fHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEzMDAwMCkKKyNkZWZpbmUgSEFWRV9HQ0VYVEVOREVER0FNRVBBRF9CVVRUT05TX09Q
VElPTlNfTUVOVSAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkp
CisjZGVmaW5lIEhBVkVfR0NFWFRFTkRFREdBTUVQQURfQlVUVE9OU19USFVNQlNUSUNLIDEKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuY3BwCmluZGV4IDk2
NTE5NWRmMjRhYTc2MTE0MjYyZDUyNWRiM2ExYWZhMGRmZGJkMGUuLjFjMWFkZWI5MmVkMWJhOTRm
YTNiYWQ5OWFkNjYxY2JjN2YzZDEzZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2FtZXBhZC9HYW1lcGFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVw
YWQvR2FtZXBhZC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAgR2FtZXBhZDo6R2FtZXBhZChjb25zdCBQ
bGF0Zm9ybUdhbWVwYWQmIHBsYXRmb3JtR2FtZXBhZCkKICAgICAsIG1faW5kZXgocGxhdGZvcm1H
YW1lcGFkLmluZGV4KCkpCiAgICAgLCBtX2Nvbm5lY3RlZCh0cnVlKQogICAgICwgbV90aW1lc3Rh
bXAocGxhdGZvcm1HYW1lcGFkLmxhc3RVcGRhdGVUaW1lKCkpCisgICAgLCBtX21hcHBpbmcocGxh
dGZvcm1HYW1lcGFkLm1hcHBpbmcoKSkKICAgICAsIG1fYXhlcyhwbGF0Zm9ybUdhbWVwYWQuYXhp
c1ZhbHVlcygpLnNpemUoKSwgMC4wKQogewogICAgIHVuc2lnbmVkIGJ1dHRvbkNvdW50ID0gcGxh
dGZvcm1HYW1lcGFkLmJ1dHRvblZhbHVlcygpLnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvUGxhdGZvcm1HYW1lcGFkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9nYW1lcGFkL1BsYXRmb3JtR2FtZXBhZC5oCmluZGV4IDYwYzRjYjM2YmFjNjc4
N2YzZWM2NmM1NTNlOThhYzU2YzcwNzZhNWIuLjc1Y2M5ZWZlZjlkMjAwZDBmYzNhY2MyZGU1MTgw
NjQxNDEzNzk1MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQv
UGxhdGZvcm1HYW1lcGFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9Q
bGF0Zm9ybUdhbWVwYWQuaApAQCAtMzksNiArMzksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+
UGxhdGZvcm1HYW1lcGFkKCkgPSBkZWZhdWx0OwogCiAgICAgY29uc3QgU3RyaW5nJiBpZCgpIGNv
bnN0IHsgcmV0dXJuIG1faWQ7IH0KKyAgICBjb25zdCBTdHJpbmcmIG1hcHBpbmcoKSBjb25zdCB7
IHJldHVybiBtX21hcHBpbmc7IH0KICAgICB1bnNpZ25lZCBpbmRleCgpIGNvbnN0IHsgcmV0dXJu
IG1faW5kZXg7IH0KICAgICBNb25vdG9uaWNUaW1lIGxhc3RVcGRhdGVUaW1lKCkgY29uc3QgeyBy
ZXR1cm4gbV9sYXN0VXBkYXRlVGltZTsgfQogICAgIE1vbm90b25pY1RpbWUgY29ubmVjdFRpbWUo
KSBjb25zdCB7IHJldHVybiBtX2Nvbm5lY3RUaW1lOyB9CkBAIC01Miw2ICs1Myw3IEBAIHByb3Rl
Y3RlZDoKICAgICB9CiAKICAgICBTdHJpbmcgbV9pZDsKKyAgICBTdHJpbmcgbV9tYXBwaW5nOwog
ICAgIHVuc2lnbmVkIG1faW5kZXg7CiAgICAgTW9ub3RvbmljVGltZSBtX2xhc3RVcGRhdGVUaW1l
OwogICAgIE1vbm90b25pY1RpbWUgbV9jb25uZWN0VGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVw
YWQubW0KaW5kZXggMzk0YTE3MGIzOTFhOGFjNDVkMjc1MTkwNmJhYzI0N2E2ZWViMzc1MC4uYzJl
NDQxMWYwOTEzZjAwYmI4MmI2NDkyMThmODc4Yjk1NjUwODM2ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWQubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxl
ckdhbWVwYWQubW0KQEAgLTU4LDYgKzU4LDcgQEAgdm9pZCBHYW1lQ29udHJvbGxlckdhbWVwYWQ6
OnNldHVwQXNFeHRlbmRlZEdhbWVwYWQoKQogICAgIEFTU0VSVChtX2V4dGVuZGVkR2FtZXBhZCk7
CiAKICAgICBtX2lkID0gbWFrZVN0cmluZyhTdHJpbmcobV9nY0NvbnRyb2xsZXIuZ2V0KCkudmVu
ZG9yTmFtZSksICIgRXh0ZW5kZWQgR2FtZXBhZCJfcyk7CisgICAgbV9tYXBwaW5nID0gU3RyaW5n
KCJzdGFuZGFyZCIpOwogCiAgICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkudmFsdWVDaGFuZ2Vk
SGFuZGxlciA9IF4oR0NFeHRlbmRlZEdhbWVwYWQgKiwgR0NDb250cm9sbGVyRWxlbWVudCAqKSB7
CiAgICAgICAgIG1fbGFzdFVwZGF0ZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKQEAgLTY1
LDgyICs2Niw2OSBAQCB2b2lkIEdhbWVDb250cm9sbGVyR2FtZXBhZDo6c2V0dXBBc0V4dGVuZGVk
R2FtZXBhZCgpCiAgICAgICAgIG1faGFkQnV0dG9uUHJlc3NlcyA9IGZhbHNlOwogICAgIH07CiAK
LSAgICBtX2J1dHRvblZhbHVlcy5yZXNpemUoOCk7Ci0gICAgbV9idXR0b25WYWx1ZXNbMF0gPSBt
X2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25BLnZhbHVlOwotICAgIG1fYnV0dG9uVmFsdWVz
WzFdID0gbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9uQi52YWx1ZTsKLSAgICBtX2J1dHRv
blZhbHVlc1syXSA9IG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvblgudmFsdWU7Ci0gICAg
bV9idXR0b25WYWx1ZXNbM10gPSBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25ZLnZhbHVl
OwotICAgIG1fYnV0dG9uVmFsdWVzWzRdID0gbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkubGVmdFNo
b3VsZGVyLnZhbHVlOwotICAgIG1fYnV0dG9uVmFsdWVzWzVdID0gbV9leHRlbmRlZEdhbWVwYWQu
Z2V0KCkucmlnaHRTaG91bGRlci52YWx1ZTsKLSAgICBtX2J1dHRvblZhbHVlc1s2XSA9IG1fZXh0
ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRUcmlnZ2VyLnZhbHVlOwotICAgIG1fYnV0dG9uVmFsdWVz
WzddID0gbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRUcmlnZ2VyLnZhbHVlOwotCi0gICAg
bV9heGlzVmFsdWVzLnJlc2l6ZSg2KTsKKyAgICBtX2J1dHRvblZhbHVlcy5yZXNpemUoMTYpOwor
CisgICAgYXV0byBiaW5kQnV0dG9uID0gXihHQ0NvbnRyb2xsZXJCdXR0b25JbnB1dCAqYnV0dG9u
LCBzaXplX3QgaWR4KSB7CisgICAgICAgIG1fYnV0dG9uVmFsdWVzW2lkeF0gPSBidXR0b24udmFs
dWU7CisgICAgICAgIGJ1dHRvbi52YWx1ZUNoYW5nZWRIYW5kbGVyID0gXihHQ0NvbnRyb2xsZXJC
dXR0b25JbnB1dCAqLCBmbG9hdCB2YWx1ZSwgQk9PTCBwcmVzc2VkKSB7CisgICAgICAgICAgICBt
X2J1dHRvblZhbHVlc1tpZHhdID0gdmFsdWU7CisgICAgICAgICAgICBpZiAocHJlc3NlZCkKKyAg
ICAgICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMgPSB0cnVlOworICAgICAgICB9OworICAg
IH07CisKKyAgICAvLyBCdXR0b24gUGFkCisgICAgYmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBh
ZC5nZXQoKS5idXR0b25BLCAwKTsKKyAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdl
dCgpLmJ1dHRvbkIsIDEpOworICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCku
YnV0dG9uWCwgMik7CisgICAgYmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0
b25ZLCAzKTsKKworICAgIC8vIFNob3VsZGVycywgVHJpZ2dlcnMKKyAgICBiaW5kQnV0dG9uKG1f
ZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRTaG91bGRlciwgNCk7CisgICAgYmluZEJ1dHRvbiht
X2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5yaWdodFNob3VsZGVyLCA1KTsKKyAgICBiaW5kQnV0dG9u
KG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRUcmlnZ2VyLCA2KTsKKyAgICBiaW5kQnV0dG9u
KG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLnJpZ2h0VHJpZ2dlciwgNyk7CisKKyAgICAvLyBEIFBh
ZAorICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuZHBhZC51cCwgMTIpOwor
ICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuZHBhZC5kb3duLCAxMyk7Cisg
ICAgYmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5kcGFkLmxlZnQsIDE0KTsKKyAg
ICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmRwYWQucmlnaHQsIDE1KTsKKwor
ICAgIC8vIFNlbGVjdCwgU3RhcnQKKyNpZiBIQVZFKEdDRVhURU5ERURHQU1FUEFEX0JVVFRPTlNf
T1BUSU9OU19NRU5VKQorICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0
dG9uT3B0aW9ucywgOCk7CisgICAgYmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5i
dXR0b25NZW51LCA5KTsKKyNlbmRpZgorCisgICAgLy8gTDMsIFIzCisjaWYgSEFWRShHQ0VYVEVO
REVER0FNRVBBRF9CVVRUT05TX1RIVU1CU1RJQ0spCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMg
cHVzaAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XdW5ndWFyZGVkLWF2YWls
YWJpbGl0eSIKKyAgICBpZiAoW21fZXh0ZW5kZWRHYW1lcGFkLmdldCgpIHJlc3BvbmRzVG9TZWxl
Y3RvcjpAc2VsZWN0b3IobGVmdFRodW1ic3RpY2tCdXR0b24pXSkgeworICAgICAgICBiaW5kQnV0
dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRUaHVtYnN0aWNrQnV0dG9uLCAxMCk7Cisg
ICAgICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRUaHVtYnN0aWNr
QnV0dG9uLCAxMSk7CisgICAgfQorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorI2VuZGlm
CisKKyAgICBtX2F4aXNWYWx1ZXMucmVzaXplKDQpOwogICAgIG1fYXhpc1ZhbHVlc1swXSA9IG1f
ZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRUaHVtYnN0aWNrLnhBeGlzLnZhbHVlOwotICAgIG1f
YXhpc1ZhbHVlc1sxXSA9IG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRUaHVtYnN0aWNrLnlB
eGlzLnZhbHVlOworICAgIG1fYXhpc1ZhbHVlc1sxXSA9IC1tX2V4dGVuZGVkR2FtZXBhZC5nZXQo
KS5sZWZ0VGh1bWJzdGljay55QXhpcy52YWx1ZTsKICAgICBtX2F4aXNWYWx1ZXNbMl0gPSBtX2V4
dGVuZGVkR2FtZXBhZC5nZXQoKS5yaWdodFRodW1ic3RpY2sueEF4aXMudmFsdWU7Ci0gICAgbV9h
eGlzVmFsdWVzWzNdID0gbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRUaHVtYnN0aWNrLnlB
eGlzLnZhbHVlOwotICAgIG1fYXhpc1ZhbHVlc1s0XSA9IG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgp
LmRwYWQueEF4aXMudmFsdWU7Ci0gICAgbV9heGlzVmFsdWVzWzVdID0gbV9leHRlbmRlZEdhbWVw
YWQuZ2V0KCkuZHBhZC55QXhpcy52YWx1ZTsKLQotICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgp
LmJ1dHRvbkEudmFsdWVDaGFuZ2VkSGFuZGxlciA9IF4oR0NDb250cm9sbGVyQnV0dG9uSW5wdXQg
KiwgZmxvYXQgdmFsdWUsIEJPT0wgcHJlc3NlZCkgewotICAgICAgICBtX2J1dHRvblZhbHVlc1sw
XSA9IHZhbHVlOwotICAgICAgICBpZiAocHJlc3NlZCkKLSAgICAgICAgICAgIG1faGFkQnV0dG9u
UHJlc3NlcyA9IHRydWU7Ci0gICAgfTsKLSAgICBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0
b25CLnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZs
b2F0IHZhbHVlLCBCT09MIHByZXNzZWQpIHsKLSAgICAgICAgbV9idXR0b25WYWx1ZXNbMV0gPSB2
YWx1ZTsKLSAgICAgICAgaWYgKHByZXNzZWQpCi0gICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNz
ZXMgPSB0cnVlOwotICAgIH07Ci0gICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9uWC52
YWx1ZUNoYW5nZWRIYW5kbGVyID0gXihHQ0NvbnRyb2xsZXJCdXR0b25JbnB1dCAqLCBmbG9hdCB2
YWx1ZSwgQk9PTCBwcmVzc2VkKSB7Ci0gICAgICAgIG1fYnV0dG9uVmFsdWVzWzJdID0gdmFsdWU7
Ci0gICAgICAgIGlmIChwcmVzc2VkKQotICAgICAgICAgICAgbV9oYWRCdXR0b25QcmVzc2VzID0g
dHJ1ZTsKLSAgICB9OwotICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvblkudmFsdWVD
aGFuZ2VkSGFuZGxlciA9IF4oR0NDb250cm9sbGVyQnV0dG9uSW5wdXQgKiwgZmxvYXQgdmFsdWUs
IEJPT0wgcHJlc3NlZCkgewotICAgICAgICBtX2J1dHRvblZhbHVlc1szXSA9IHZhbHVlOwotICAg
ICAgICBpZiAocHJlc3NlZCkKLSAgICAgICAgICAgIG1faGFkQnV0dG9uUHJlc3NlcyA9IHRydWU7
Ci0gICAgfTsKLSAgICBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5sZWZ0U2hvdWxkZXIudmFsdWVD
aGFuZ2VkSGFuZGxlciA9IF4oR0NDb250cm9sbGVyQnV0dG9uSW5wdXQgKiwgZmxvYXQgdmFsdWUs
IEJPT0wgcHJlc3NlZCkgewotICAgICAgICBtX2J1dHRvblZhbHVlc1s0XSA9IHZhbHVlOwotICAg
ICAgICBpZiAocHJlc3NlZCkKLSAgICAgICAgICAgIG1faGFkQnV0dG9uUHJlc3NlcyA9IHRydWU7
Ci0gICAgfTsKLSAgICBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5yaWdodFNob3VsZGVyLnZhbHVl
Q2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0IHZhbHVl
LCBCT09MIHByZXNzZWQpIHsKLSAgICAgICAgbV9idXR0b25WYWx1ZXNbNV0gPSB2YWx1ZTsKLSAg
ICAgICAgaWYgKHByZXNzZWQpCi0gICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMgPSB0cnVl
OwotICAgIH07Ci0gICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkubGVmdFRyaWdnZXIudmFsdWVD
aGFuZ2VkSGFuZGxlciA9IF4oR0NDb250cm9sbGVyQnV0dG9uSW5wdXQgKiwgZmxvYXQgdmFsdWUs
IEJPT0wgcHJlc3NlZCkgewotICAgICAgICBtX2J1dHRvblZhbHVlc1s2XSA9IHZhbHVlOwotICAg
ICAgICBpZiAocHJlc3NlZCkKLSAgICAgICAgICAgIG1faGFkQnV0dG9uUHJlc3NlcyA9IHRydWU7
Ci0gICAgfTsKLSAgICBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5yaWdodFRyaWdnZXIudmFsdWVD
aGFuZ2VkSGFuZGxlciA9IF4oR0NDb250cm9sbGVyQnV0dG9uSW5wdXQgKiwgZmxvYXQgdmFsdWUs
IEJPT0wgcHJlc3NlZCkgewotICAgICAgICBtX2J1dHRvblZhbHVlc1s3XSA9IHZhbHVlOwotICAg
ICAgICBpZiAocHJlc3NlZCkKLSAgICAgICAgICAgIG1faGFkQnV0dG9uUHJlc3NlcyA9IHRydWU7
Ci0gICAgfTsKKyAgICBtX2F4aXNWYWx1ZXNbM10gPSAtbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCku
cmlnaHRUaHVtYnN0aWNrLnlBeGlzLnZhbHVlOwogCiAgICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0
KCkubGVmdFRodW1ic3RpY2sueEF4aXMudmFsdWVDaGFuZ2VkSGFuZGxlciA9IF4oR0NDb250cm9s
bGVyQXhpc0lucHV0ICosIGZsb2F0IHZhbHVlKSB7CiAgICAgICAgIG1fYXhpc1ZhbHVlc1swXSA9
IHZhbHVlOwogICAgIH07CiAgICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkubGVmdFRodW1ic3Rp
Y2sueUF4aXMudmFsdWVDaGFuZ2VkSGFuZGxlciA9IF4oR0NDb250cm9sbGVyQXhpc0lucHV0ICos
IGZsb2F0IHZhbHVlKSB7Ci0gICAgICAgIG1fYXhpc1ZhbHVlc1sxXSA9IHZhbHVlOworICAgICAg
ICBtX2F4aXNWYWx1ZXNbMV0gPSAtdmFsdWU7CiAgICAgfTsKICAgICBtX2V4dGVuZGVkR2FtZXBh
ZC5nZXQoKS5yaWdodFRodW1ic3RpY2sueEF4aXMudmFsdWVDaGFuZ2VkSGFuZGxlciA9IF4oR0ND
b250cm9sbGVyQXhpc0lucHV0ICosIGZsb2F0IHZhbHVlKSB7CiAgICAgICAgIG1fYXhpc1ZhbHVl
c1syXSA9IHZhbHVlOwogICAgIH07CiAgICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRU
aHVtYnN0aWNrLnlBeGlzLnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckF4aXNJ
bnB1dCAqLCBmbG9hdCB2YWx1ZSkgewotICAgICAgICBtX2F4aXNWYWx1ZXNbM10gPSB2YWx1ZTsK
LSAgICB9OwotICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmRwYWQueEF4aXMudmFsdWVDaGFu
Z2VkSGFuZGxlciA9IF4oR0NDb250cm9sbGVyQXhpc0lucHV0ICosIGZsb2F0IHZhbHVlKSB7Ci0g
ICAgICAgIG1fYXhpc1ZhbHVlc1s0XSA9IHZhbHVlOwotICAgIH07Ci0gICAgbV9leHRlbmRlZEdh
bWVwYWQuZ2V0KCkuZHBhZC55QXhpcy52YWx1ZUNoYW5nZWRIYW5kbGVyID0gXihHQ0NvbnRyb2xs
ZXJBeGlzSW5wdXQgKiwgZmxvYXQgdmFsdWUpIHsKLSAgICAgICAgbV9heGlzVmFsdWVzWzVdID0g
dmFsdWU7CisgICAgICAgIG1fYXhpc1ZhbHVlc1szXSA9IC12YWx1ZTsKICAgICB9OwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tHYW1lcGFkLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWQuY3BwCmluZGV4IGFiYmM2ZWRmMWQ5OWFhMDJj
NjA5MmZlYWFiOWVjYjgyMjAzN2QxNjAuLjU1ZmY0Mzg4ZTk2N2FiMWRiZjJlN2NhYWI5YmY1M2I3
Mzg4NDg4MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWQuY3BwCkBAIC0zMCwx
NiArMzAsMTcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1Nb2NrR2FtZXBhZDo6TW9ja0dh
bWVwYWQodW5zaWduZWQgaW5kZXgsIGNvbnN0IFN0cmluZyYgZ2FtZXBhZElELCB1bnNpZ25lZCBh
eGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KQorTW9ja0dhbWVwYWQ6Ok1vY2tHYW1lcGFk
KHVuc2lnbmVkIGluZGV4LCBjb25zdCBTdHJpbmcmIGdhbWVwYWRJRCwgY29uc3QgU3RyaW5nJiBt
YXBwaW5nLCB1bnNpZ25lZCBheGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KQogICAgIDog
UGxhdGZvcm1HYW1lcGFkKGluZGV4KQogewogICAgIG1fY29ubmVjdFRpbWUgPSBtX2xhc3RVcGRh
dGVUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7Ci0gICAgdXBkYXRlRGV0YWlscyhnYW1lcGFk
SUQsIGF4aXNDb3VudCwgYnV0dG9uQ291bnQpOworICAgIHVwZGF0ZURldGFpbHMoZ2FtZXBhZElE
LCBtYXBwaW5nLCBheGlzQ291bnQsIGJ1dHRvbkNvdW50KTsKIH0KIAotdm9pZCBNb2NrR2FtZXBh
ZDo6dXBkYXRlRGV0YWlscyhjb25zdCBTdHJpbmcmIGdhbWVwYWRJRCwgdW5zaWduZWQgYXhpc0Nv
dW50LCB1bnNpZ25lZCBidXR0b25Db3VudCkKK3ZvaWQgTW9ja0dhbWVwYWQ6OnVwZGF0ZURldGFp
bHMoY29uc3QgU3RyaW5nJiBnYW1lcGFkSUQsIGNvbnN0IFN0cmluZyYgbWFwcGluZywgdW5zaWdu
ZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCkKIHsKICAgICBtX2lkID0gZ2FtZXBh
ZElEOworICAgIG1fbWFwcGluZyA9IG1hcHBpbmc7CiAgICAgbV9heGlzVmFsdWVzID0gVmVjdG9y
PGRvdWJsZT4oYXhpc0NvdW50LCAwLjApOwogICAgIG1fYnV0dG9uVmFsdWVzID0gVmVjdG9yPGRv
dWJsZT4oYnV0dG9uQ291bnQsIDAuMCk7CiAgICAgbV9sYXN0VXBkYXRlVGltZSA9IE1vbm90b25p
Y1RpbWU6Om5vdygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2Ft
ZXBhZC5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZC5oCmluZGV4IDcyOGY3
ZDIxYzVkOWQ0ZTc4YzQ1MTRjYmM4YWFhZTQyNWVkYTU1YWQuLmRkYTkxMDQ4ZGY0ZTBkZWI2ZWU2
YmM3NWZmNjE2ZGRiMjg2NGFmYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
TW9ja0dhbWVwYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tHYW1lcGFkLmgK
QEAgLTMzLDEyICszMywxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE1vY2tHYW1l
cGFkIDogcHVibGljIFBsYXRmb3JtR2FtZXBhZCB7CiBwdWJsaWM6Ci0gICAgTW9ja0dhbWVwYWQo
dW5zaWduZWQgaW5kZXgsIGNvbnN0IFN0cmluZyYgZ2FtZXBhZElELCB1bnNpZ25lZCBheGlzQ291
bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KTsKKyAgICBNb2NrR2FtZXBhZCh1bnNpZ25lZCBpbmRl
eCwgY29uc3QgU3RyaW5nJiBnYW1lcGFkSUQsIGNvbnN0IFN0cmluZyYgbWFwcGluZywgdW5zaWdu
ZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCk7CiAKICAgICBjb25zdCBWZWN0b3I8
ZG91YmxlPiYgYXhpc1ZhbHVlcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fYXhpc1ZhbHVlczsg
fQogICAgIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBidXR0b25WYWx1ZXMoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX2J1dHRvblZhbHVlczsgfQogCi0gICAgdm9pZCB1cGRhdGVEZXRhaWxzKGNvbnN0
IFN0cmluZyYgZ2FtZXBhZElELCB1bnNpZ25lZCBheGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNv
dW50KTsKKyAgICB2b2lkIHVwZGF0ZURldGFpbHMoY29uc3QgU3RyaW5nJiBnYW1lcGFkSUQsIGNv
bnN0IFN0cmluZyYgbWFwcGluZywgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25D
b3VudCk7CiAgICAgYm9vbCBzZXRBeGlzVmFsdWUodW5zaWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1
ZSk7CiAgICAgYm9vbCBzZXRCdXR0b25WYWx1ZSh1bnNpZ25lZCBpbmRleCwgZG91YmxlIHZhbHVl
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZFByb3Zp
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWRQcm92aWRlci5jcHAK
aW5kZXggZDQwZGVkMWRhMTE5OGNhYTM0NTlkNjc3ZTFmZTg0ZjViZmI5NDZlNC4uNjE1MGY1MmEz
ZmE4MWY3YzY4YjJmMjI4NDQ4NzNiZmQ1NWY2NmNjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL01vY2tHYW1lcGFkUHJvdmlkZXIuY3BwCkBAIC01NSwxNSArNTUsMTUgQEAgdm9pZCBN
b2NrR2FtZXBhZFByb3ZpZGVyOjpzdG9wTW9uaXRvcmluZ0dhbWVwYWRzKEdhbWVwYWRQcm92aWRl
ckNsaWVudCYgY2xpZW50KQogICAgIG1fY2xpZW50cy5yZW1vdmUoJmNsaWVudCk7CiB9CiAKLXZv
aWQgTW9ja0dhbWVwYWRQcm92aWRlcjo6c2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVkIGlu
ZGV4LCBjb25zdCBTdHJpbmcmIGdhbWVwYWRJRCwgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25l
ZCBidXR0b25Db3VudCkKK3ZvaWQgTW9ja0dhbWVwYWRQcm92aWRlcjo6c2V0TW9ja0dhbWVwYWRE
ZXRhaWxzKHVuc2lnbmVkIGluZGV4LCBjb25zdCBTdHJpbmcmIGdhbWVwYWRJRCwgY29uc3QgU3Ry
aW5nJiBtYXBwaW5nLCB1bnNpZ25lZCBheGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KQog
ewogICAgIGlmIChpbmRleCA+PSBtX21vY2tHYW1lcGFkVmVjdG9yLnNpemUoKSkKICAgICAgICAg
bV9tb2NrR2FtZXBhZFZlY3Rvci5yZXNpemUoaW5kZXggKyAxKTsKIAogICAgIGlmIChtX21vY2tH
YW1lcGFkVmVjdG9yW2luZGV4XSkKLSAgICAgICAgbV9tb2NrR2FtZXBhZFZlY3RvcltpbmRleF0t
PnVwZGF0ZURldGFpbHMoZ2FtZXBhZElELCBheGlzQ291bnQsIGJ1dHRvbkNvdW50KTsKKyAgICAg
ICAgbV9tb2NrR2FtZXBhZFZlY3RvcltpbmRleF0tPnVwZGF0ZURldGFpbHMoZ2FtZXBhZElELCBt
YXBwaW5nLCBheGlzQ291bnQsIGJ1dHRvbkNvdW50KTsKICAgICBlbHNlCi0gICAgICAgIG1fbW9j
a0dhbWVwYWRWZWN0b3JbaW5kZXhdID0gbWFrZVVuaXF1ZTxNb2NrR2FtZXBhZD4oaW5kZXgsIGdh
bWVwYWRJRCwgYXhpc0NvdW50LCBidXR0b25Db3VudCk7CisgICAgICAgIG1fbW9ja0dhbWVwYWRW
ZWN0b3JbaW5kZXhdID0gbWFrZVVuaXF1ZTxNb2NrR2FtZXBhZD4oaW5kZXgsIGdhbWVwYWRJRCwg
bWFwcGluZywgYXhpc0NvdW50LCBidXR0b25Db3VudCk7CiB9CiAKIGJvb2wgTW9ja0dhbWVwYWRQ
cm92aWRlcjo6Y29ubmVjdE1vY2tHYW1lcGFkKHVuc2lnbmVkIGluZGV4KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL01vY2tHYW1lcGFkUHJvdmlkZXIuaAppbmRleCA0MDQxOWI5MjMzZmUzOTA3
YTk4MjZiNzA1MTJlZDYxMWUxNTU4OGQ1Li5kYTc3NmVkZjJjNTYxN2IzODlmODYyYzM2ODA4NGJi
MzBkYzhiNzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tHYW1lcGFk
UHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tHYW1lcGFkUHJvdmlk
ZXIuaApAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgVmVjdG9yPFBsYXRmb3Jt
R2FtZXBhZCo+JiBwbGF0Zm9ybUdhbWVwYWRzKCkgZmluYWwgeyByZXR1cm4gbV9jb25uZWN0ZWRH
YW1lcGFkVmVjdG9yOyB9CiAgICAgYm9vbCBpc01vY2tHYW1lcGFkUHJvdmlkZXIoKSBjb25zdCBm
aW5hbCB7IHJldHVybiB0cnVlOyB9CiAKLSAgICB2b2lkIHNldE1vY2tHYW1lcGFkRGV0YWlscyh1
bnNpZ25lZCBpbmRleCwgY29uc3QgU3RyaW5nJiBnYW1lcGFkSUQsIHVuc2lnbmVkIGF4aXNDb3Vu
dCwgdW5zaWduZWQgYnV0dG9uQ291bnQpOworICAgIHZvaWQgc2V0TW9ja0dhbWVwYWREZXRhaWxz
KHVuc2lnbmVkIGluZGV4LCBjb25zdCBTdHJpbmcmIGdhbWVwYWRJRCwgY29uc3QgU3RyaW5nJiBt
YXBwaW5nLCB1bnNpZ25lZCBheGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KTsKICAgICBi
b29sIHNldE1vY2tHYW1lcGFkQXhpc1ZhbHVlKHVuc2lnbmVkIGluZGV4LCB1bnNpZ25lZCBheGlz
SW5kZXgsIGRvdWJsZSB2YWx1ZSk7CiAgICAgYm9vbCBzZXRNb2NrR2FtZXBhZEJ1dHRvblZhbHVl
KHVuc2lnbmVkIGluZGV4LCB1bnNpZ25lZCBidXR0b25JbmRleCwgZG91YmxlIHZhbHVlKTsKICAg
ICBib29sIGNvbm5lY3RNb2NrR2FtZXBhZCh1bnNpZ25lZCBpbmRleCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAKaW5kZXggNDY2ZmE0Mjcw
OWNlMjM4ZWE4ZDI0ZjgyOTU0MTgyZmM2NzMwYzc1Zi4uNjA2MWE5NjAxNzZkYTFkNzQyOWUxZjIy
NGJmMWFjZGVkMTJjMWQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9X
ZWJDb3JlVGVzdFN1cHBvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2Vi
Q29yZVRlc3RTdXBwb3J0LmNwcApAQCAtMTY0LDEzICsxNjQsMTQgQEAgdm9pZCBkaXNjb25uZWN0
TW9ja0dhbWVwYWQodW5zaWduZWQgZ2FtZXBhZEluZGV4KQogI2VuZGlmCiB9CiAKLXZvaWQgc2V0
TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVkIGdhbWVwYWRJbmRleCwgY29uc3QgV1RGOjpTdHJp
bmcmIGdhbWVwYWRJRCwgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCkK
K3ZvaWQgc2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVkIGdhbWVwYWRJbmRleCwgY29uc3Qg
V1RGOjpTdHJpbmcmIGdhbWVwYWRJRCwgY29uc3QgV1RGOjpTdHJpbmcmIG1hcHBpbmcsIHVuc2ln
bmVkIGF4aXNDb3VudCwgdW5zaWduZWQgYnV0dG9uQ291bnQpCiB7CiAjaWYgRU5BQkxFKEdBTUVQ
QUQpCi0gICAgTW9ja0dhbWVwYWRQcm92aWRlcjo6c2luZ2xldG9uKCkuc2V0TW9ja0dhbWVwYWRE
ZXRhaWxzKGdhbWVwYWRJbmRleCwgZ2FtZXBhZElELCBheGlzQ291bnQsIGJ1dHRvbkNvdW50KTsK
KyAgICBNb2NrR2FtZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXRNb2NrR2FtZXBhZERldGFp
bHMoZ2FtZXBhZEluZGV4LCBnYW1lcGFkSUQsIG1hcHBpbmcsIGF4aXNDb3VudCwgYnV0dG9uQ291
bnQpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oZ2FtZXBhZEluZGV4KTsKICAgICBVTlVTRURf
UEFSQU0oZ2FtZXBhZElEKTsKKyAgICBVTlVTRURfUEFSQU0obWFwcGluZyk7CiAgICAgVU5VU0VE
X1BBUkFNKGF4aXNDb3VudCk7CiAgICAgVU5VU0VEX1BBUkFNKGJ1dHRvbkNvdW50KTsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBv
cnQuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmgKaW5k
ZXggYmI3MWYwMWI1N2Q3YzhlMjQ2MGRkYTIzMjE0YjdiNTU5NzA4M2Y0NC4uNzlhZWZlZjQ1MWEw
ODYxYWU0N2JjMjBiYWFjYmUzYzgyZjNkZTAwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5oCkBAIC01OCw3ICs1OCw3IEBAIHZvaWQgc2V0QWxs
b3dzQW55U1NMQ2VydGlmaWNhdGUoYm9vbCkgVEVTVF9TVVBQT1JUX0VYUE9SVDsKIHZvaWQgaW5z
dGFsbE1vY2tHYW1lcGFkUHJvdmlkZXIoKSBURVNUX1NVUFBPUlRfRVhQT1JUOwogdm9pZCBjb25u
ZWN0TW9ja0dhbWVwYWQodW5zaWduZWQgaW5kZXgpIFRFU1RfU1VQUE9SVF9FWFBPUlQ7CiB2b2lk
IGRpc2Nvbm5lY3RNb2NrR2FtZXBhZCh1bnNpZ25lZCBpbmRleCkgVEVTVF9TVVBQT1JUX0VYUE9S
VDsKLXZvaWQgc2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVkIGluZGV4LCBjb25zdCBXVEY6
OlN0cmluZyYgZ2FtZXBhZElELCB1bnNpZ25lZCBheGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNv
dW50KSBURVNUX1NVUFBPUlRfRVhQT1JUOwordm9pZCBzZXRNb2NrR2FtZXBhZERldGFpbHModW5z
aWduZWQgaW5kZXgsIGNvbnN0IFdURjo6U3RyaW5nJiBnYW1lcGFkSUQsIGNvbnN0IFdURjo6U3Ry
aW5nJiBtYXBwaW5nLCB1bnNpZ25lZCBheGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KSBU
RVNUX1NVUFBPUlRfRVhQT1JUOwogdm9pZCBzZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSh1bnNpZ25l
ZCBpbmRleCwgdW5zaWduZWQgYXhpc0luZGV4LCBkb3VibGUgdmFsdWUpIFRFU1RfU1VQUE9SVF9F
WFBPUlQ7CiB2b2lkIHNldE1vY2tHYW1lcGFkQnV0dG9uVmFsdWUodW5zaWduZWQgaW5kZXgsIHVu
c2lnbmVkIGJ1dHRvbkluZGV4LCBkb3VibGUgdmFsdWUpIFRFU1RfU1VQUE9SVF9FWFBPUlQ7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuY3Bw
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvR2FtZXBhZC9HYW1lcGFkRGF0YS5jcHAKaW5kZXggZjli
YTQ5ZDc3NjBmMTMxYzZkMjg3ZDJmZWE1MGE2MDRhNzNlNDZkYS4uM2Q3NDAxOTQwZjQ0NGJkMTRj
M2NlY2Y3YTAxYWFiOTk2ODJjMDg4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
R2FtZXBhZC9HYW1lcGFkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvR2FtZXBh
ZC9HYW1lcGFkRGF0YS5jcHAKQEAgLTQxLDkgKzQxLDEwIEBAIEdhbWVwYWREYXRhOjpHYW1lcGFk
RGF0YSh1bnNpZ25lZCBpbmRleCwgY29uc3QgVmVjdG9yPGRvdWJsZT4mIGF4aXNWYWx1ZXMsIGNv
bnN0CiB7CiB9CiAKLUdhbWVwYWREYXRhOjpHYW1lcGFkRGF0YSh1bnNpZ25lZCBpbmRleCwgY29u
c3QgU3RyaW5nJiBpZCwgY29uc3QgVmVjdG9yPGRvdWJsZT4mIGF4aXNWYWx1ZXMsIGNvbnN0IFZl
Y3Rvcjxkb3VibGU+JiBidXR0b25WYWx1ZXMsIE1vbm90b25pY1RpbWUgbGFzdFVwZGF0ZVRpbWUp
CitHYW1lcGFkRGF0YTo6R2FtZXBhZERhdGEodW5zaWduZWQgaW5kZXgsIGNvbnN0IFN0cmluZyYg
aWQsIGNvbnN0IFN0cmluZyYgbWFwcGluZywgY29uc3QgVmVjdG9yPGRvdWJsZT4mIGF4aXNWYWx1
ZXMsIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBidXR0b25WYWx1ZXMsIE1vbm90b25pY1RpbWUgbGFz
dFVwZGF0ZVRpbWUpCiAgICAgOiBtX2luZGV4KGluZGV4KQogICAgICwgbV9pZChpZCkKKyAgICAs
IG1fbWFwcGluZyhtYXBwaW5nKQogICAgICwgbV9heGlzVmFsdWVzKGF4aXNWYWx1ZXMpCiAgICAg
LCBtX2J1dHRvblZhbHVlcyhidXR0b25WYWx1ZXMpCiAgICAgLCBtX2xhc3RVcGRhdGVUaW1lKGxh
c3RVcGRhdGVUaW1lKQpAQCAtNTYsNyArNTcsNyBAQCB2b2lkIEdhbWVwYWREYXRhOjplbmNvZGUo
SVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGlmIChtX2lzTnVsbCkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgZW5jb2RlciA8PCBtX2luZGV4IDw8IG1faWQgPDwgbV9heGlzVmFsdWVz
IDw8IG1fYnV0dG9uVmFsdWVzIDw8IG1fbGFzdFVwZGF0ZVRpbWU7CisgICAgZW5jb2RlciA8PCBt
X2luZGV4IDw8IG1faWQgPDwgbV9tYXBwaW5nIDw8IG1fYXhpc1ZhbHVlcyA8PCBtX2J1dHRvblZh
bHVlcyA8PCBtX2xhc3RVcGRhdGVUaW1lOwogfQogCiBPcHRpb25hbDxHYW1lcGFkRGF0YT4gR2Ft
ZXBhZERhdGE6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIpCkBAIC03NCw2ICs3NSw5IEBA
IE9wdGlvbmFsPEdhbWVwYWREYXRhPiBHYW1lcGFkRGF0YTo6ZGVjb2RlKElQQzo6RGVjb2RlciYg
ZGVjb2RlcikKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGRhdGEubV9pZCkpCiAgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CiAKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGRhdGEubV9tYXBw
aW5nKSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKwogICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUoZGF0YS5tX2F4aXNWYWx1ZXMpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9HYW1lcGFkL0dhbWVwYWREYXRhLmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9HYW1lcGFkL0dhbWVwYWREYXRhLmgKaW5kZXggN2U3ZTYy
MmQ0YzIxNmM5NzQ2ODUzNTkzMzk0NmE0ZDRlNTVkN2VjZS4uN2UxNmE4OTJlMjQxYzYzZjg5ZjM4
N2QxMzU1ODliMWYwMTQ1Y2NjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvR2Ft
ZXBhZC9HYW1lcGFkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0dhbWVwYWQvR2Ft
ZXBhZERhdGEuaApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgR2FtZXBh
ZERhdGEodW5zaWduZWQgaW5kZXgsIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBheGlzVmFsdWVzLCBj
b25zdCBWZWN0b3I8ZG91YmxlPiYgYnV0dG9uVmFsdWVzLCBNb25vdG9uaWNUaW1lIGxhc3RVcGRh
dGVUaW1lKTsKLSAgICBHYW1lcGFkRGF0YSh1bnNpZ25lZCBpbmRleCwgY29uc3QgU3RyaW5nJiBp
ZCwgY29uc3QgVmVjdG9yPGRvdWJsZT4mIGF4aXNWYWx1ZXMsIGNvbnN0IFZlY3Rvcjxkb3VibGU+
JiBidXR0b25WYWx1ZXMsIE1vbm90b25pY1RpbWUgbGFzdFVwZGF0ZVRpbWUpOworICAgIEdhbWVw
YWREYXRhKHVuc2lnbmVkIGluZGV4LCBjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBTdHJpbmcmIG1h
cHBpbmcsIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBheGlzVmFsdWVzLCBjb25zdCBWZWN0b3I8ZG91
YmxlPiYgYnV0dG9uVmFsdWVzLCBNb25vdG9uaWNUaW1lIGxhc3RVcGRhdGVUaW1lKTsKIAogICAg
IHZvaWQgZW5jb2RlKElQQzo6RW5jb2RlciYpIGNvbnN0OwogICAgIHN0YXRpYyBPcHRpb25hbDxH
YW1lcGFkRGF0YT4gZGVjb2RlKElQQzo6RGVjb2RlciYpOwpAQCAtNTYsMTIgKzU2LDE0IEBAIHB1
YmxpYzoKICAgICBNb25vdG9uaWNUaW1lIGxhc3RVcGRhdGVUaW1lKCkgY29uc3QgeyByZXR1cm4g
bV9sYXN0VXBkYXRlVGltZTsgfQogICAgIHVuc2lnbmVkIGluZGV4KCkgY29uc3QgeyByZXR1cm4g
bV9pbmRleDsgfQogICAgIGNvbnN0IFN0cmluZyYgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9
CisgICAgY29uc3QgU3RyaW5nJiBtYXBwaW5nKCkgY29uc3QgeyByZXR1cm4gbV9tYXBwaW5nOyB9
CiAgICAgY29uc3QgVmVjdG9yPGRvdWJsZT4mIGF4aXNWYWx1ZXMoKSBjb25zdCB7IHJldHVybiBt
X2F4aXNWYWx1ZXM7IH0KICAgICBjb25zdCBWZWN0b3I8ZG91YmxlPiYgYnV0dG9uVmFsdWVzKCkg
Y29uc3QgeyByZXR1cm4gbV9idXR0b25WYWx1ZXM7IH0KIAogcHJpdmF0ZToKICAgICB1bnNpZ25l
ZCBtX2luZGV4OwogICAgIFN0cmluZyBtX2lkOworICAgIFN0cmluZyBtX21hcHBpbmc7CiAgICAg
VmVjdG9yPGRvdWJsZT4gbV9heGlzVmFsdWVzOwogICAgIFZlY3Rvcjxkb3VibGU+IG1fYnV0dG9u
VmFsdWVzOwogICAgIE1vbm90b25pY1RpbWUgbV9sYXN0VXBkYXRlVGltZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkLmNwcAppbmRleCBiY2ExYzkyMmE2ZTI5
Y2VjOTUwYzY0MDQ0N2U5ZmI4ODQwMTgwZDgwLi5iYWVlOTdhNWI4MDgxYjU2ZTU2YTQ1ZDRlNTI2
NzgzMTNhODBhNzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HYW1lcGFk
L1VJR2FtZXBhZC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR2FtZXBhZC9VSUdh
bWVwYWQuY3BwCkBAIC0zNyw2ICszNyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogVUlH
YW1lcGFkOjpVSUdhbWVwYWQoV2ViQ29yZTo6UGxhdGZvcm1HYW1lcGFkJiBwbGF0Zm9ybUdhbWVw
YWQpCiAgICAgOiBtX2luZGV4KHBsYXRmb3JtR2FtZXBhZC5pbmRleCgpKQogICAgICwgbV9pZChw
bGF0Zm9ybUdhbWVwYWQuaWQoKSkKKyAgICAsIG1fbWFwcGluZyhwbGF0Zm9ybUdhbWVwYWQubWFw
cGluZygpKQogICAgICwgbV9sYXN0VXBkYXRlVGltZShwbGF0Zm9ybUdhbWVwYWQubGFzdFVwZGF0
ZVRpbWUoKSkKIHsKICAgICBtX2F4aXNWYWx1ZXMucmVzaXplKHBsYXRmb3JtR2FtZXBhZC5heGlz
VmFsdWVzKCkuc2l6ZSgpKTsKQEAgLTYzLDcgKzY0LDcgQEAgR2FtZXBhZERhdGEgVUlHYW1lcGFk
Ojpjb25kZW5zZWRHYW1lcGFkRGF0YSgpIGNvbnN0CiAKIEdhbWVwYWREYXRhIFVJR2FtZXBhZDo6
ZnVsbEdhbWVwYWREYXRhKCkgY29uc3QKIHsKLSAgICByZXR1cm4geyBtX2luZGV4LCBtX2lkLCBt
X2F4aXNWYWx1ZXMsIG1fYnV0dG9uVmFsdWVzLCBtX2xhc3RVcGRhdGVUaW1lIH07CisgICAgcmV0
dXJuIHsgbV9pbmRleCwgbV9pZCwgbV9tYXBwaW5nLCBtX2F4aXNWYWx1ZXMsIG1fYnV0dG9uVmFs
dWVzLCBtX2xhc3RVcGRhdGVUaW1lIH07CiB9CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0dhbWVwYWQvVUlHYW1lcGFkLmgKaW5kZXggYjAyOTE1MDkxZTM4N2MwNDllY2U4ZWQwYzNjYWYx
NDI0NTJkMDI1Mi4uZGI3NmQyN2JjNTNhMTkwYWRmNWJhOWI1YWZjNjdjNGYxZDljZDVlYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZC5oCkBAIC01NCw2ICs1
NCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9pbmRleDsKICAgICBTdHJp
bmcgbV9pZDsKKyAgICBTdHJpbmcgbV9tYXBwaW5nOwogICAgIFZlY3Rvcjxkb3VibGU+IG1fYXhp
c1ZhbHVlczsKICAgICBWZWN0b3I8ZG91YmxlPiBtX2J1dHRvblZhbHVlczsKICAgICBNb25vdG9u
aWNUaW1lIG1fbGFzdFVwZGF0ZVRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFkLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
YW1lcGFkL1dlYkdhbWVwYWQuY3BwCmluZGV4IDgwYzk3OTAwZGMwNGU0ZjVjYjlhZDI5Njk5OTdk
OGFhYTE5NTVhOGMuLmE0M2YwNGE0ZTc5MWZhZGU2YTcxZTA0YmVmOTM5MmQzMzM0M2Q2MTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HYW1lcGFkL1dlYkdhbWVwYWQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HYW1lcGFkL1dlYkdhbWVwYWQuY3BwCkBA
IC00MCw2ICs0MCw3IEBAIFdlYkdhbWVwYWQ6OldlYkdhbWVwYWQoY29uc3QgR2FtZXBhZERhdGEm
IGdhbWVwYWREYXRhKQogICAgIExPRyhHYW1lcGFkLCAiQ29ubmVjdGluZyBXZWJHYW1lcGFkICV1
IiwgZ2FtZXBhZERhdGEuaW5kZXgoKSk7CiAKICAgICBtX2lkID0gZ2FtZXBhZERhdGEuaWQoKTsK
KyAgICBtX21hcHBpbmcgPSBnYW1lcGFkRGF0YS5tYXBwaW5nKCk7CiAgICAgbV9heGlzVmFsdWVz
LnJlc2l6ZShnYW1lcGFkRGF0YS5heGlzVmFsdWVzKCkuc2l6ZSgpKTsKICAgICBtX2J1dHRvblZh
bHVlcy5yZXNpemUoZ2FtZXBhZERhdGEuYnV0dG9uVmFsdWVzKCkuc2l6ZSgpKTsKIApkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGEzYWQzMWI2YjJj
YTUxMTg4ODIxOWU5NGVkNGQxZmY0NGVlZjY4MjguLjVjZTNiMDFhMDgyNmRmY2NiYWE4MTFiYzVl
ZDc0MmUwYjhlZDJmMzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wMS0zMCAgSmFtZXMgSG93YXJkICA8amFt
ZXNob3dhcmRAbWFjLmNvbT4KKworICAgICAgICBTdGFuZGFyZCBnYW1lcGFkIG1hcHBpbmcgZm9y
IEdhbWVDb250cm9sbGVyR2FtZXBhZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwNjAzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5n
cy9UZXN0UnVubmVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpzZXRNb2NrR2Ft
ZXBhZERldGFpbHMpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24u
Y3BwOgorICAgICAgICAoV1RSOjpUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZVN5bmNocm9ub3Vz
TWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZSk6CisKIDIwMjAtMDEtMzAgIEpvbmF0aGFuIEJlZGFy
ZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFRlc3RXZWJLaXRBUEk6IFJlLWJhc2Vs
aW5lIEFjY2Vzc2liaWxpdHlUZXN0cyBmb3IgQ2F0YWx5c3QKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIu
aWRsCmluZGV4IDllNTNiNWJlOTI2NGYyMTMwNTk2Y2JlZjcwYTk0NTFhYTM1NWU0ZGUuLjE2MGMy
ZTlmM2JhNjQ3NzU5OGFhNTJjYTJjNWE3OTI4MDg5MzI4NjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVu
bmVyLmlkbApAQCAtMjg1LDcgKzI4NSw3IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICB2
b2lkIGluc3RhbGxDdXN0b21NZW51QWN0aW9uKERPTVN0cmluZyBuYW1lLCBib29sZWFuIGRpc21p
c3Nlc0F1dG9tYXRpY2FsbHksIG9iamVjdCBjYWxsYmFjayk7CiAKICAgICAvLyBHYW1lcGFkCi0g
ICAgdm9pZCBzZXRNb2NrR2FtZXBhZERldGFpbHModW5zaWduZWQgbG9uZyBpbmRleCwgRE9NU3Ry
aW5nIGlkLCB1bnNpZ25lZCBsb25nIGF4aXNDb3VudCwgdW5zaWduZWQgbG9uZyBidXR0b25Db3Vu
dCk7CisgICAgdm9pZCBzZXRNb2NrR2FtZXBhZERldGFpbHModW5zaWduZWQgbG9uZyBpbmRleCwg
RE9NU3RyaW5nIGlkLCBET01TdHJpbmcgbWFwcGluZywgdW5zaWduZWQgbG9uZyBheGlzQ291bnQs
IHVuc2lnbmVkIGxvbmcgYnV0dG9uQ291bnQpOwogICAgIHZvaWQgc2V0TW9ja0dhbWVwYWRBeGlz
VmFsdWUodW5zaWduZWQgbG9uZyBpbmRleCwgdW5zaWduZWQgbG9uZyBheGlzSW5kZXgsIGRvdWJs
ZSB2YWx1ZSk7CiAgICAgdm9pZCBzZXRNb2NrR2FtZXBhZEJ1dHRvblZhbHVlKHVuc2lnbmVkIGxv
bmcgaW5kZXgsIHVuc2lnbmVkIGxvbmcgYnV0dG9uSW5kZXgsIGRvdWJsZSB2YWx1ZSk7CiAgICAg
dm9pZCBjb25uZWN0TW9ja0dhbWVwYWQodW5zaWduZWQgbG9uZyBpbmRleCk7CmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAppbmRl
eCAyZWEzY2JkNzJiNDJiMmEzMGNhMmE3NmM4NjVjMWRhYjAyMjllYzVhLi42OTMyMzU4OGNhYTlj
NWZjN2U1YTVmNmVjODE2NjAzODEyN2U2MWVlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKQEAgLTI0NTAsNyArMjQ1MCw3
IEBAIHZvaWQgVGVzdFJ1bm5lcjo6ZGlzY29ubmVjdE1vY2tHYW1lcGFkKHVuc2lnbmVkIGluZGV4
KQogICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2lu
Z2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSwg
bnVsbHB0cik7CiB9CiAKLXZvaWQgVGVzdFJ1bm5lcjo6c2V0TW9ja0dhbWVwYWREZXRhaWxzKHVu
c2lnbmVkIGluZGV4LCBKU1N0cmluZ1JlZiBnYW1lcGFkSUQsIHVuc2lnbmVkIGF4aXNDb3VudCwg
dW5zaWduZWQgYnV0dG9uQ291bnQpCit2b2lkIFRlc3RSdW5uZXI6OnNldE1vY2tHYW1lcGFkRGV0
YWlscyh1bnNpZ25lZCBpbmRleCwgSlNTdHJpbmdSZWYgZ2FtZXBhZElELCBKU1N0cmluZ1JlZiBt
YXBwaW5nLCB1bnNpZ25lZCBheGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KQogewogICAg
IFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGtleXM7CiAgICAgVmVjdG9yPFdLUmV0
YWluUHRyPFdLVHlwZVJlZj4+IHZhbHVlczsKQEAgLTI0NTgsNiArMjQ1OCw5IEBAIHZvaWQgVGVz
dFJ1bm5lcjo6c2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVkIGluZGV4LCBKU1N0cmluZ1Jl
ZiBnYW1lcGFkSUQsIHVuCiAgICAga2V5cy5hcHBlbmQoYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdp
dGhVVEY4Q1N0cmluZygiR2FtZXBhZElEIikpKTsKICAgICB2YWx1ZXMuYXBwZW5kKHRvV0soZ2Ft
ZXBhZElEKSk7CiAKKyAgICBrZXlzLmFwcGVuZChhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVU
RjhDU3RyaW5nKCJNYXBwaW5nIikpKTsKKyAgICB2YWx1ZXMuYXBwZW5kKHRvV0sobWFwcGluZykp
OworCiAgICAga2V5cy5hcHBlbmQoYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmlu
ZygiR2FtZXBhZEluZGV4IikpKTsKICAgICB2YWx1ZXMuYXBwZW5kKGFkb3B0V0soV0tVSW50NjRD
cmVhdGUoaW5kZXgpKSk7CiAKQEAgLTI1NTEsNyArMjU1NCw3IEBAIHZvaWQgVGVzdFJ1bm5lcjo6
ZGlzY29ubmVjdE1vY2tHYW1lcGFkKHVuc2lnbmVkKQogewogfQogCi12b2lkIFRlc3RSdW5uZXI6
OnNldE1vY2tHYW1lcGFkRGV0YWlscyh1bnNpZ25lZCwgSlNTdHJpbmdSZWYsIHVuc2lnbmVkLCB1
bnNpZ25lZCkKK3ZvaWQgVGVzdFJ1bm5lcjo6c2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVk
LCBKU1N0cmluZ1JlZiwgSlNTdHJpbmdSZWYsIHVuc2lnbmVkLCB1bnNpZ25lZCkKIHsKIH0KIApk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVu
bmVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIu
aAppbmRleCA5NTVkZDBmNzFmYjNkOTU5NTA4NWQwNTZiNDk4Zjc3NjQzZjlhYWY0Li5jM2MxMDQ1
M2U5MzI4ZWJjZTg5NWI2YWEyZmFhODFjMWFkZjJiYWEyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaApAQCAtMzc1LDcgKzM3NSw3
IEBAIHB1YmxpYzoKICAgICAvLyBHYW1lcGFkcwogICAgIHZvaWQgY29ubmVjdE1vY2tHYW1lcGFk
KHVuc2lnbmVkIGluZGV4KTsKICAgICB2b2lkIGRpc2Nvbm5lY3RNb2NrR2FtZXBhZCh1bnNpZ25l
ZCBpbmRleCk7Ci0gICAgdm9pZCBzZXRNb2NrR2FtZXBhZERldGFpbHModW5zaWduZWQgaW5kZXgs
IEpTU3RyaW5nUmVmIGdhbWVwYWRJRCwgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0
b25Db3VudCk7CisgICAgdm9pZCBzZXRNb2NrR2FtZXBhZERldGFpbHModW5zaWduZWQgaW5kZXgs
IEpTU3RyaW5nUmVmIGdhbWVwYWRJRCwgSlNTdHJpbmdSZWYgbWFwcGluZywgdW5zaWduZWQgYXhp
c0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCk7CiAgICAgdm9pZCBzZXRNb2NrR2FtZXBhZEF4
aXNWYWx1ZSh1bnNpZ25lZCBpbmRleCwgdW5zaWduZWQgYXhpc0luZGV4LCBkb3VibGUgdmFsdWUp
OwogICAgIHZvaWQgc2V0TW9ja0dhbWVwYWRCdXR0b25WYWx1ZSh1bnNpZ25lZCBpbmRleCwgdW5z
aWduZWQgYnV0dG9uSW5kZXgsIGRvdWJsZSB2YWx1ZSk7CiAgICAgCmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdEludm9jYXRpb24uY3BwCmluZGV4IGZkNWYyZTllZWYzOGNlNWMyNTU0M2IyZGQ2
NjI5ZjllMjZlN2RhMGQuLjI5Yjk5ZjhjMjMyOGQ3NjI1ZmNiYWU2NWU4ODk3ZGY0MGNhMmJjY2Eg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCkBAIC0xMDI5LDE1
ICsxMDI5LDE3IEBAIFdLUmV0YWluUHRyPFdLVHlwZVJlZj4gVGVzdEludm9jYXRpb246OmRpZFJl
Y2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCCiAgICAgICAgIFdLRGljdGlvbmFy
eVJlZiBtZXNzYWdlQm9keURpY3Rpb25hcnkgPSBzdGF0aWNfY2FzdDxXS0RpY3Rpb25hcnlSZWY+
KG1lc3NhZ2VCb2R5KTsKICAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGdhbWVwYWRJ
bmRleEtleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkdhbWVwYWRJ
bmRleCIpKTsKICAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGdhbWVwYWRJREtleSA9
IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkdhbWVwYWRJRCIpKTsKKyAg
ICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1hcHBpbmdLZXkgPSBhZG9wdFdLKFdLU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJNYXBwaW5nIikpOwogICAgICAgICBXS1JldGFpblB0
cjxXS1N0cmluZ1JlZj4gYXhpc0NvdW50S2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZygiQXhpc0NvdW50IikpOwogICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1Jl
Zj4gYnV0dG9uQ291bnRLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5n
KCJCdXR0b25Db3VudCIpKTsKIAogICAgICAgICBXS1VJbnQ2NFJlZiBnYW1lcGFkSW5kZXggPSBz
dGF0aWNfY2FzdDxXS1VJbnQ2NFJlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdl
Qm9keURpY3Rpb25hcnksIGdhbWVwYWRJbmRleEtleS5nZXQoKSkpOwogICAgICAgICBXS1N0cmlu
Z1JlZiBnYW1lcGFkSUQgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0
SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIGdhbWVwYWRJREtleS5nZXQoKSkpOwor
ICAgICAgICBXS1N0cmluZ1JlZiBtYXBwaW5nID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdL
RGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBtYXBwaW5nS2V5
LmdldCgpKSk7CiAgICAgICAgIFdLVUludDY0UmVmIGF4aXNDb3VudCA9IHN0YXRpY19jYXN0PFdL
VUludDY0UmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFy
eSwgYXhpc0NvdW50S2V5LmdldCgpKSk7CiAgICAgICAgIFdLVUludDY0UmVmIGJ1dHRvbkNvdW50
ID0gc3RhdGljX2Nhc3Q8V0tVSW50NjRSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVz
c2FnZUJvZHlEaWN0aW9uYXJ5LCBidXR0b25Db3VudEtleS5nZXQoKSkpOwogCi0gICAgICAgIFdl
YkNvcmVUZXN0U3VwcG9ydDo6c2V0TW9ja0dhbWVwYWREZXRhaWxzKFdLVUludDY0R2V0VmFsdWUo
Z2FtZXBhZEluZGV4KSwgdG9XVEZTdHJpbmcoZ2FtZXBhZElEKSwgV0tVSW50NjRHZXRWYWx1ZShh
eGlzQ291bnQpLCBXS1VJbnQ2NEdldFZhbHVlKGJ1dHRvbkNvdW50KSk7CisgICAgICAgIFdlYkNv
cmVUZXN0U3VwcG9ydDo6c2V0TW9ja0dhbWVwYWREZXRhaWxzKFdLVUludDY0R2V0VmFsdWUoZ2Ft
ZXBhZEluZGV4KSwgdG9XVEZTdHJpbmcoZ2FtZXBhZElEKSwgdG9XVEZTdHJpbmcobWFwcGluZyks
IFdLVUludDY0R2V0VmFsdWUoYXhpc0NvdW50KSwgV0tVSW50NjRHZXRWYWx1ZShidXR0b25Db3Vu
dCkpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhYzc0OTVhZDUy
ZTcyOTExNzAxZGNmMmNhZjJlYTQ3ZDBmZjkyN2EyLi5hMzE5NzIzYzRmNjEwYWJmZTM4MTdmNzBh
ODk1ZjM5NDg2M2M0ZTg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDEtMzAgIEphbWVz
IEhvd2FyZCAgPGphbWVzaG93YXJkQG1hYy5jb20+CisKKyAgICAgICAgU3RhbmRhcmQgZ2FtZXBh
ZCBtYXBwaW5nIGZvciBHYW1lQ29udHJvbGxlckdhbWVwYWRzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYwMzMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGdhbWVwYWQvZ2FtZXBhZC1wb2xsaW5nLWFj
Y2Vzcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZ2FtZXBhZC9nYW1lcGFkLXBvbGxpbmctYWNj
ZXNzLmh0bWw6CisgICAgICAgICogZ2FtZXBhZC9nYW1lcGFkLXRpbWVzdGFtcC5odG1sOgorICAg
ICAgICAqIGdhbWVwYWQvZ2FtZXBhZC12aXNpYmlsaXR5LTEuaHRtbDoKKwogMjAyMC0wMS0zMCAg
VHJ1aXR0IFNhdmVsbCAgPHRzYXZlbGxAYXBwbGUuY29tPgogCiAgICAgICAgIFsgTWFjIF0gZmFz
dC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJhc2UtcGVuZGluZy10cmFuc2FjdGlvbi5odG1s
IGlzIHRpbWluZyBvdXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2dhbWVwYWQvZ2FtZXBhZC1w
b2xsaW5nLWFjY2Vzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQt
cG9sbGluZy1hY2Nlc3MtZXhwZWN0ZWQudHh0CmluZGV4IDUyYjZiYjVjMTQ2YmM4YjQyN2U2ZWI2
NDUwYjM3MjQyMTIxM2Q5NzUuLjljMjhmOGQ1ODczMjViZWI0MmZiZGFjNTk4M2Y3NzlmMGI1Y2Jj
Y2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2dhbWVwYWQvZ2FtZXBhZC1wb2xsaW5nLWFjY2Vz
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZ2FtZXBhZC9nYW1lcGFkLXBvbGxpbmct
YWNjZXNzLWV4cGVjdGVkLnR4dApAQCAtNCwyMDIgKzQsMjQyIEBAIENvbm5lY3RpbmcgZ2FtZXBh
ZDoKIFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDAKIEluZGV4OiAwCitNYXBwaW5nOiAKIEF4ZXM6
IAogQnV0dG9uczogCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmpl
Y3QgR2FtZXBhZF0KIE5hbWU6IDEKIEluZGV4OiAxCitNYXBwaW5nOiAKIEF4ZXM6IDAKIEJ1dHRv
bnM6IGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmpl
Y3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogMgogSW5kZXg6IDIKK01hcHBpbmc6
IAogQXhlczogMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVw
YWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdCiBOYW1lOiAzCiBJbmRleDogMworTWFwcGluZzogCiBBeGVzOiAwLDAs
MAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6
CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2Jq
ZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDQKIEluZGV4OiA0CitNYXBwaW5n
OiAKIEF4ZXM6IDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29i
amVjdCBHYW1lcGFkXQogTmFtZTogNQogSW5kZXg6IDUKK01hcHBpbmc6IAogQXhlczogMCwwLDAs
MCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBD
b25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29i
amVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBH
YW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiA2CiBJbmRleDogNgorTWFwcGluZzogCiBB
eGVzOiAwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmpl
Y3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2Ft
ZXBhZF0KIE5hbWU6IDcKIEluZGV4OiA3CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAK
IEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3Qg
R2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29i
amVjdCBHYW1lcGFkXQogTmFtZTogOAogSW5kZXg6IDgKK01hcHBpbmc6IAogQXhlczogMCwwLDAs
MCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiA5
CiBJbmRleDogOQorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczog
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3Qg
R2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0KIE5h
bWU6IDEwCiBJbmRleDogMTAKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMAog
QnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3Qg
R2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29i
amVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiAxMQogSW5kZXg6IDExCitNYXBw
aW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIAogQ29ubmVjdGluZyBnYW1lcGFkOgogW29iamVjdCBHYW1lcGFk
XSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2Jq
ZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdh
bWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogMTIKIEluZGV4OiAxMgor
TWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3Qg
R2FtZXBhZF0KIE5hbWU6IDEzCiBJbmRleDogMTMKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCAKIENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdCiBOYW1lOiAxNAogSW5kZXg6IDE0CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogQ29ubmVjdGluZyBnYW1lcGFkOgogW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogMTUKIEluZGV4OiAx
NQorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9u
czogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAKIENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBH
YW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFk
XSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2Jq
ZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdh
bWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogMTYKIEluZGV4OiAxNgor
TWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25z
OiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIAogQ29ubmVjdGluZyBnYW1lcGFkOgogW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3Qg
R2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBh
ZF0KIE5hbWU6IDE3CiBJbmRleDogMTcKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25u
ZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBO
YW1lOiAxOAogSW5kZXg6IDE4CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAK
IENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3Qg
R2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogMTkKIEluZGV4OiAxOQorTWFwcGluZzogCiBBeGVz
OiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogVmVyaWZ5aW5nIHRoZXJlIGFyZSAyMCBj
b25uZWN0ZWQgZ2FtZXBhZHMgaW4gdGhlIHNldCBvZiBhbGwgZ2FtZXBhZHMKIFtvYmplY3QgR2Ft
ZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogMAogSW5k
ZXg6IDAKK01hcHBpbmc6IAogQXhlczogCiBCdXR0b25zOiAKIE5hbWU6IDEKIEluZGV4OiAxCitN
YXBwaW5nOiAKIEF4ZXM6IDAKIEJ1dHRvbnM6IGZhbHNlLTAgCiBOYW1lOiAyCiBJbmRleDogMgor
TWFwcGluZzogCiBBeGVzOiAwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDMK
IEluZGV4OiAzCitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCAKIE5hbWU6IDQKIEluZGV4OiA0CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAK
IEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBOYW1lOiA1CiBJbmRl
eDogNQorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDYKIEluZGV4OiA2CitNYXBwaW5nOiAK
IEF4ZXM6IDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDcKIEluZGV4OiA3CitNYXBwaW5nOiAKIEF4ZXM6
IDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBOYW1lOiA4CiBJbmRleDogOAorTWFwcGluZzogCiBB
eGVzOiAwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDkKIEluZGV4OiA5
CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCAKIE5hbWU6IDEwCiBJbmRleDogMTAKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAs
MCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDExCiBJbmRl
eDogMTEKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBOYW1lOiAxMgogSW5kZXg6IDEyCitNYXBw
aW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDEzCiBJbmRleDogMTMKK01hcHBp
bmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDE0CiBJbmRleDog
MTQKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25z
OiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
CiBOYW1lOiAxNQogSW5kZXg6IDE1CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMAogTmFtZTogMTYKIEluZGV4OiAxNgorTWFwcGlu
ZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIAogTmFtZTogMTcKIEluZGV4OiAxNworTWFwcGluZzogCiBBeGVzOiAwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCAKIE5hbWU6IDE4CiBJbmRleDogMTgKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIAogTmFtZTogMTkKIEluZGV4OiAxOQorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIAogRGlzY29ubmVjdGluZyBnYW1lcGFkcyBpbiByZXZlcnNlIG9yZGVy
LCBtYWtpbmcgc3VyZSBnYW1lcGFkcyBhcnJheSByZW1haW5zIGFzIGV4cGVjdGVkCkBAIC0yNDgs
NiArMjg4LDcgQEAgQ29ubmVjdGluZyBnYW1lcGFkOgogLCwsLCwsLCwsLFtvYmplY3QgR2FtZXBh
ZF0sLCwsLCwsLCwKIE5hbWU6IEF3ZXNvbWUgSm95c3RpY2sgNTAwMAogSW5kZXg6IDEwCitNYXBw
aW5nOiBzdGFuZGFyZAogQXhlczogMC43LC0wLjksMSwtMQotQnV0dG9uczogdHJ1ZS0xIHRydWUt
MSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0x
IHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEg
dHJ1ZS0xIHRydWUtMSAKK0J1dHRvbnM6IHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVl
LTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUt
MSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZ2FtZXBh
ZC9nYW1lcGFkLXBvbGxpbmctYWNjZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVw
YWQtcG9sbGluZy1hY2Nlc3MuaHRtbAppbmRleCA2NDZkMjE5ZjBkMjI1OTIwZTAzZGVhNWJhMzVj
OWE5MTZiODEyODRjLi44ZGNkMmE1Yzc1NzdiMmYzMDZhZmM5ZmQwODNmZmM0NzYxNGUwODFmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtcG9sbGluZy1hY2Nlc3MuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtcG9sbGluZy1hY2Nlc3MuaHRtbApA
QCAtMzYsNiArMzYsNyBAQCBmdW5jdGlvbiBsb2dHYW1lcGFkKGdwKQogewogICAgIGxvZygiTmFt
ZTogIiArIGdwLmlkKTsKICAgICBsb2coIkluZGV4OiAiICsgZ3AuaW5kZXgpOworICAgIGxvZygi
TWFwcGluZzogIiArIGdwLm1hcHBpbmcpOwogICAgIGxvZygiQXhlczogIiArIGdwLmF4ZXMpOwog
ICAgIAogICAgIHZhciBidXR0b25TdHJpbmcgPSAiIjsKQEAgLTUzLDcgKzU0LDcgQEAgZnVuY3Rp
b24qIHRlc3RTdGVwcygpIHsKICAgICBsb2coIkluaXRpYWwgZ2FtZXBhZHMgbGVuZ3RoOiAiICsg
bmF2aWdhdG9yLmdldEdhbWVwYWRzKCkubGVuZ3RoKTsKICAgICBsb2coIkNvbm5lY3RpbmcgMjAg
ZGlmZmVyZW50IGdhbWVwYWRzIik7CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAyMDsgKytpKSB7
Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVwYWREZXRhaWxzKGksIGksIGksIGkpOwor
ICAgICAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkRGV0YWlscyhpLCBpLCAiIiwgaSwgaSk7
CiAgICAgICAgIHRlc3RSdW5uZXIuY29ubmVjdE1vY2tHYW1lcGFkKGkpOwogICAgICAgICB5aWVs
ZDsKICAgICB9CkBAIC03MywxMiArNzQsMTIgQEAgZnVuY3Rpb24qIHRlc3RTdGVwcygpIHsKIAog
ICAgIGxvZygiQ2hlY2tpbmcgbm9uLXplcm8nZWQgZGV0YWlscyBmb3IgYSBnYW1lcGFkIik7CiAK
LSAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkRGV0YWlscygxMCwgIkF3ZXNvbWUgSm95c3Rp
Y2sgNTAwMCIsIDQsIDIwKTsKKyAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkRGV0YWlscygx
MCwgIkF3ZXNvbWUgSm95c3RpY2sgNTAwMCIsICJzdGFuZGFyZCIsIDQsIDE2KTsKICAgICB0ZXN0
UnVubmVyLnNldE1vY2tHYW1lcGFkQXhpc1ZhbHVlKDEwLCAwLCAwLjcpOwogICAgIHRlc3RSdW5u
ZXIuc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUoMTAsIDEsIC0wLjkpOwogICAgIHRlc3RSdW5uZXIu
c2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUoMTAsIDIsIDEuMCk7CiAgICAgdGVzdFJ1bm5lci5zZXRN
b2NrR2FtZXBhZEF4aXNWYWx1ZSgxMCwgMywgLTEuMCk7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkg
PCAyMDsgKytpKQorICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7ICsraSkKICAgICAgICAgdGVz
dFJ1bm5lci5zZXRNb2NrR2FtZXBhZEJ1dHRvblZhbHVlKDEwLCBpLCAxLjApOwogICAgICAgICAK
ICAgICB0ZXN0UnVubmVyLmNvbm5lY3RNb2NrR2FtZXBhZCgxMCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtdGltZXN0YW1wLmh0bWwgYi9MYXlvdXRUZXN0cy9nYW1l
cGFkL2dhbWVwYWQtdGltZXN0YW1wLmh0bWwKaW5kZXggNDllZGNlY2JlNjM1YTJkZWE0NmIwZDYy
M2NhMTczNmFjYjE3MTg4Ny4uMGI0YzAxMTgxNGE4MTAwZjA4Yzk2NzQ2NDkzZmI1NWQ1ZDMzZTRi
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZ2FtZXBhZC9nYW1lcGFkLXRpbWVzdGFtcC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2dhbWVwYWQvZ2FtZXBhZC10aW1lc3RhbXAuaHRtbApAQCAtNzIs
MTMgKzcyLDEzIEBAIGZ1bmN0aW9uIGhhbmRsZUdhbWVwYWRDb25uZWN0KCkKIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CiAgICAgYWRkRXZlbnRMaXN0ZW5lcigiZ2FtZXBhZGNvbm5lY3RlZCIsIGhhbmRs
ZUdhbWVwYWRDb25uZWN0KTsKIAotICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVwYWREZXRhaWxz
KDAsICJUZXN0IEpveXN0aWNrIiwgMiwgMik7CisgICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBh
ZERldGFpbHMoMCwgIlRlc3QgSm95c3RpY2siLCAiIiwgMiwgMik7CiAgICAgdGVzdFJ1bm5lci5z
ZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSgwLCAwLCAwLjcpOwogICAgIHRlc3RSdW5uZXIuc2V0TW9j
a0dhbWVwYWRBeGlzVmFsdWUoMCwgMSwgLTEuMCk7CiAgICAgdGVzdFJ1bm5lci5zZXRNb2NrR2Ft
ZXBhZEJ1dHRvblZhbHVlKDAsIDAsIDEuMCk7CiAgICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBh
ZEJ1dHRvblZhbHVlKDAsIDEsIDEuMCk7CiAgICAgdGVzdFJ1bm5lci5jb25uZWN0TW9ja0dhbWVw
YWQoMCk7Ci0gICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZERldGFpbHMoMSwgIlRlc3QgSm95
c3RpY2sgMiIsIDIsIDIpOworICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVwYWREZXRhaWxzKDEs
ICJUZXN0IEpveXN0aWNrIDIiLCAiIiwgMiwgMik7CiAgICAgdGVzdFJ1bm5lci5zZXRNb2NrR2Ft
ZXBhZEF4aXNWYWx1ZSgxLCAwLCAwLjcpOwogICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVwYWRB
eGlzVmFsdWUoMSwgMSwgLTEuMCk7CiAgICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZEJ1dHRv
blZhbHVlKDEsIDAsIDEuMCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVw
YWQtdmlzaWJpbGl0eS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtdmlzaWJp
bGl0eS0xLmh0bWwKaW5kZXggOGQ1NDM4OWE1YTRlODc5N2Q4Yzk3MGFjNTI2Mjk1NDM4YjZmMTlm
MC4uMDc5NjNlZjQxNjBhZTE2YWYyZDA0Zjg0YWM0NGI1YTQ5MjE2NzQ5MiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZ2FtZXBhZC9nYW1lcGFkLXZpc2liaWxpdHktMS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2dhbWVwYWQvZ2FtZXBhZC12aXNpYmlsaXR5LTEuaHRtbApAQCAtNDEsNyArNDEsNyBA
QCBmdW5jdGlvbiBydW5UZXN0KCkgewogCiAgICAgLy8gQ29ubmVjdGluZyB0aGUgZ2FtZXBhZCBh
bmQgY2hhbmdpbmcgYXhpcyB2YWx1ZXMgc2hvdWxkICpub3QqIG1ha2UgaXQgdmlzaWJsZS4KICAg
ICAvLyBPbmx5IGJ1dHRvbiBwcmVzc2VzIHNob3VsZCBleHBvc2UgaXQuCi0gICAgdGVzdFJ1bm5l
ci5zZXRNb2NrR2FtZXBhZERldGFpbHMoMCwgIlRlc3QgSm95c3RpY2siLCAyLCAyKTsKKyAgICB0
ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkRGV0YWlscygwLCAiVGVzdCBKb3lzdGljayIsICIiLCAy
LCAyKTsKICAgICB0ZXN0UnVubmVyLmNvbm5lY3RNb2NrR2FtZXBhZCgwKTsKICAgICB0ZXN0UnVu
bmVyLnNldE1vY2tHYW1lcGFkQXhpc1ZhbHVlKDAsIDAsIDAuNyk7CiAgICAgdGVzdFJ1bm5lci5z
ZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSgwLCAxLCAtMS4wKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389394</attachid>
            <date>2020-01-31 12:59:22 -0800</date>
            <delta_ts>2020-02-10 14:38:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206033-20200131125917.patch</filename>
            <type>text/plain</type>
            <size>46612</size>
            <attacher name="James Howard">jameshoward</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1NDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2JmYWVhNWMyNmJhNTlm
Mzk0MDM5MjBjMWM4ZTQ0MTkwNjI2MWNhZS4uMzA1OTY4YjQxNjg2YmRmOTljMWVhMzU4MmJlNDI1
ZTM4Y2QzYmFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIwLTAxLTMwICBKYW1l
cyBIb3dhcmQgIDxqYW1lc2hvd2FyZEBtYWMuY29tPgorCisgICAgICAgIFN0YW5kYXJkIGdhbWVw
YWQgbWFwcGluZyBmb3IgR2FtZUNvbnRyb2xsZXJHYW1lcGFkcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MDMzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0ZW5kIFBsYXRmb3JtR2FtZXBhZCB0byBh
ZGQgYSBmaWVsZCBmb3IgdGhlIGdhbWVwYWQgbWFwcGluZy4KKyAgICAgICAgVGhlIG1hcHBpbmcg
ZGVmaW5lcyB0aGUgb3JkZXIgYW5kIGludGVycHJldGF0aW9uIG9mIHRoZSBheGVzIGFuZAorICAg
ICAgICBidXR0b25zIHZlY3RvcnMsIGFuZCBpcyBwYXNzZWQgYWxvbmcgdG8gdXNlcnMgb2YgdGhl
IEdhbWVwYWQKKyAgICAgICAgQVBJWzFdLgorCisgICAgICAgIExldHRpbmcgUGxhdGZvcm1HYW1l
cGFkIHN1YmNsYXNzZXJzIGRlZmluZSB0aGVpciBtYXBwaW5nIGlzIHRoZQorICAgICAgICBuYXR1
cmFsIHBsYWNlIGZvciB0aGlzIGZ1bmN0aW9uYWxpdHkuIFRoZSBQbGF0Zm9ybUdhbWVwYWQKKyAg
ICAgICAgYWxyZWFkeSBkZWZpbmVzIHRoZSBvcmRlciBvZiB0aGUgYXhlcyBhbmQgYnV0dG9ucyBh
bmQKKyAgICAgICAgUGxhdGZvcm1HYW1lcGFkIHN1YmNsYXNzZXJzIG1heSBrbm93IHNvbWV0aGlu
ZyBhYm91dCB0aGUKKyAgICAgICAgcGh5c2ljYWwgbGF5b3V0IG9mIHRoZSBnYW1lcGFkIHRoZXkg
cmVwcmVzZW50LgorCisgICAgICAgIFRoaXMgY2hhbmdlIG1vZGlmaWVzIHRoZSBHYW1lQ29udHJv
bGxlckdhbWVwYWQgc3ViY2xhc3Mgb2YKKyAgICAgICAgUGxhdGZvcm1HYW1lcGFkIHRvIHNldCB0
aGUgbWFwcGluZyB0byAic3RhbmRhcmQiIHdoZW4gYQorICAgICAgICBHQ0V4dGVuZGVkR2FtZXBh
ZCBpcyBkZXRlY3RlZCwgYW5kIHRvIGJpbmQgdGhlIGF4ZXMgYW5kIGJ1dHRvbnMKKyAgICAgICAg
YXBwcm9wcmlhdGVseS4gUHJldmlvdXNseSwgdGhlIGJ1dHRvbnMgYW5kIGF4ZXMgd2VyZSBib3Vu
ZAorICAgICAgICBhcmJpdHJhcmlseSwgYW5kIGluIHNvbWUgY2FzZXMgaW5jb21wbGV0ZWx5LiBX
aGlsZSB0aGF0IHdhc24ndCBhCisgICAgICAgIGJ1ZyBwZXIgc2UsIGJlY2F1c2Ugd2l0aCB0aGUg
bWFwcGluZyBzZXQgdG8gdGhlIGVtcHR5IHN0cmluZyBhbgorICAgICAgICBpbXBsZW1lbnRhdGlv
biBpcyBmcmVlIHRvIHByb3ZpZGUgYW55IGludGVycHJldGF0aW9uIG9mIHRoZQorICAgICAgICBn
YW1lcGFkIGVsZW1lbnRzIGl0IGxpa2VzLCBpdCB3YXMgY2VydGFpbmx5IGxlc3MgdXNlZnVsIHRo
YW4gdGhlCisgICAgICAgICJzdGFuZGFyZCIgbWFwcGluZy4KKworICAgICAgICBbMV0gaHR0cHM6
Ly93d3cudzMub3JnL1RSL2dhbWVwYWQvI3JlbWFwcGluZworCisgICAgICAgICogTW9kdWxlcy9n
YW1lcGFkL0dhbWVwYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2FtZXBhZDo6R2FtZXBhZCk6
CisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9QbGF0Zm9ybUdhbWVwYWQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlBsYXRmb3JtR2FtZXBhZDo6bWFwcGluZyBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWQubW06CisgICAgICAgIChX
ZWJDb3JlOjpHYW1lQ29udHJvbGxlckdhbWVwYWQ6OnNldHVwQXNFeHRlbmRlZEdhbWVwYWQpOgor
ICAgICAgICAqIHRlc3RpbmcvTW9ja0dhbWVwYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9j
a0dhbWVwYWQ6Ok1vY2tHYW1lcGFkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tHYW1lcGFkOjp1
cGRhdGVEZXRhaWxzKToKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tHYW1lcGFkLmg6CisgICAgICAg
ICogdGVzdGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tHYW1lcGFkUHJvdmlkZXI6OnNldE1vY2tHYW1lcGFkRGV0YWlscyk6CisgICAgICAgICogdGVz
dGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmg6CisgICAgICAgICogdGVzdGluZy9qcy9XZWJDb3Jl
VGVzdFN1cHBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZVRlc3RTdXBwb3J0OjpzZXRNb2NrR2Ft
ZXBhZERldGFpbHMpOgorICAgICAgICAqIHRlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0Lmg6
CisKIDIwMjAtMDEtMzAgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI1NTQyNC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjE5MTMy
MTJiNTZkMGNkZjc0ODdmZDk1YmI2ODU2YjA4MjA3YzgyZS4uMGFmNGRjYTRhMDUxN2JkY2NlZWVl
MzRkMGI5ZTM3ZDg4MTMzMzczMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAyMC0wMS0z
MCAgSmFtZXMgSG93YXJkICA8amFtZXNob3dhcmRAbWFjLmNvbT4KKworICAgICAgICBTdGFuZGFy
ZCBnYW1lcGFkIG1hcHBpbmcgZm9yIEdhbWVDb250cm9sbGVyR2FtZXBhZHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjAzMworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgTWFrZSB0aGUgbWFw
cGluZyBhcyBwcm92aWRlZCBieSBQbGF0Zm9ybUdhbWVwYWQKKyAgICAgICAgYXZhaWxhYmxlIGlu
IFVJR2FtZXBhZCwgYW5kIHBhc3MgaXQgYWxvbmcgdG8KKyAgICAgICAgR2FtZXBhZERhdGEgc28g
aXQgY2FuIGJlIGNvcnJlY3RseSByZWZsZWN0ZWQKKyAgICAgICAgaW4gdGhlIEdhbWVwYWQgQVBJ
LgorCisgICAgICAgICogU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuY3BwOgorICAgICAgICAo
V2ViS2l0OjpHYW1lcGFkRGF0YTo6R2FtZXBhZERhdGEpOgorICAgICAgICAoV2ViS2l0OjpHYW1l
cGFkRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6R2FtZXBhZERhdGE6OmRl
Y29kZSk6CisgICAgICAgICogU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuaDoKKyAgICAgICAg
KFdlYktpdDo6R2FtZXBhZERhdGE6Om1hcHBpbmcgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9HYW1lcGFkL1VJR2FtZXBhZC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVJR2FtZXBhZDo6VUlH
YW1lcGFkKToKKyAgICAgICAgKFdlYktpdDo6VUlHYW1lcGFkOjpmdWxsR2FtZXBhZERhdGEgY29u
c3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZC5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
R2FtZXBhZDo6V2ViR2FtZXBhZCk6CisKIDIwMjAtMDEtMzAgIHlvdWVubiBmYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIERpc2FibGUgU2VydmljZSBXb3JrZXJzIGJlZm9yZSB0
ZXJtaW5hdGluZyBhbiB1bnJlc3BvbnNpdmUgc2VydmljZSB3b3JrZXIgcHJvY2VzcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybUhhdmUuaAppbmRleCBkMTM3NzJhYzNiMzZkZTAwMmU4MGUwMWUxNDhjOGJjYTg4MjAzMTdm
Li4wMGY3N2ZkZTE2Y2U3NGE1M2RkMTIwMTM5ZTEyZWQ3OTA3ZTdjMTQ5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bUhhdmUuaApAQCAtNTc0LDMgKzU3NCwxMSBAQAogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTQwMCkg
JiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBIQVZF
X0NHX1BBVEhfVU5FVkVOX0NPUk5FUlNfUk9VTkRFRFJFQ1QgMQogI2VuZGlmCisKKyNpZiAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkg
fHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEzMDAwMCkKKyNkZWZpbmUgSEFWRV9HQ0VYVEVOREVER0FNRVBBRF9CVVRUT05TX09Q
VElPTlNfTUVOVSAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkp
CisjZGVmaW5lIEhBVkVfR0NFWFRFTkRFREdBTUVQQURfQlVUVE9OU19USFVNQlNUSUNLIDEKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuY3BwCmluZGV4IDk2
NTE5NWRmMjRhYTc2MTE0MjYyZDUyNWRiM2ExYWZhMGRmZGJkMGUuLjFjMWFkZWI5MmVkMWJhOTRm
YTNiYWQ5OWFkNjYxY2JjN2YzZDEzZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2FtZXBhZC9HYW1lcGFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVw
YWQvR2FtZXBhZC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAgR2FtZXBhZDo6R2FtZXBhZChjb25zdCBQ
bGF0Zm9ybUdhbWVwYWQmIHBsYXRmb3JtR2FtZXBhZCkKICAgICAsIG1faW5kZXgocGxhdGZvcm1H
YW1lcGFkLmluZGV4KCkpCiAgICAgLCBtX2Nvbm5lY3RlZCh0cnVlKQogICAgICwgbV90aW1lc3Rh
bXAocGxhdGZvcm1HYW1lcGFkLmxhc3RVcGRhdGVUaW1lKCkpCisgICAgLCBtX21hcHBpbmcocGxh
dGZvcm1HYW1lcGFkLm1hcHBpbmcoKSkKICAgICAsIG1fYXhlcyhwbGF0Zm9ybUdhbWVwYWQuYXhp
c1ZhbHVlcygpLnNpemUoKSwgMC4wKQogewogICAgIHVuc2lnbmVkIGJ1dHRvbkNvdW50ID0gcGxh
dGZvcm1HYW1lcGFkLmJ1dHRvblZhbHVlcygpLnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvUGxhdGZvcm1HYW1lcGFkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9nYW1lcGFkL1BsYXRmb3JtR2FtZXBhZC5oCmluZGV4IDYwYzRjYjM2YmFjNjc4
N2YzZWM2NmM1NTNlOThhYzU2YzcwNzZhNWIuLjc1Y2M5ZWZlZjlkMjAwZDBmYzNhY2MyZGU1MTgw
NjQxNDEzNzk1MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQv
UGxhdGZvcm1HYW1lcGFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9Q
bGF0Zm9ybUdhbWVwYWQuaApAQCAtMzksNiArMzksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+
UGxhdGZvcm1HYW1lcGFkKCkgPSBkZWZhdWx0OwogCiAgICAgY29uc3QgU3RyaW5nJiBpZCgpIGNv
bnN0IHsgcmV0dXJuIG1faWQ7IH0KKyAgICBjb25zdCBTdHJpbmcmIG1hcHBpbmcoKSBjb25zdCB7
IHJldHVybiBtX21hcHBpbmc7IH0KICAgICB1bnNpZ25lZCBpbmRleCgpIGNvbnN0IHsgcmV0dXJu
IG1faW5kZXg7IH0KICAgICBNb25vdG9uaWNUaW1lIGxhc3RVcGRhdGVUaW1lKCkgY29uc3QgeyBy
ZXR1cm4gbV9sYXN0VXBkYXRlVGltZTsgfQogICAgIE1vbm90b25pY1RpbWUgY29ubmVjdFRpbWUo
KSBjb25zdCB7IHJldHVybiBtX2Nvbm5lY3RUaW1lOyB9CkBAIC01Miw2ICs1Myw3IEBAIHByb3Rl
Y3RlZDoKICAgICB9CiAKICAgICBTdHJpbmcgbV9pZDsKKyAgICBTdHJpbmcgbV9tYXBwaW5nOwog
ICAgIHVuc2lnbmVkIG1faW5kZXg7CiAgICAgTW9ub3RvbmljVGltZSBtX2xhc3RVcGRhdGVUaW1l
OwogICAgIE1vbm90b25pY1RpbWUgbV9jb25uZWN0VGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVw
YWQubW0KaW5kZXggMzk0YTE3MGIzOTFhOGFjNDVkMjc1MTkwNmJhYzI0N2E2ZWViMzc1MC4uYzBk
ZjIxMTYyOGVkYjYyZWFmOGNiNGE0MjBhZjYzM2FmOTc3Y2YzOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWQubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxl
ckdhbWVwYWQubW0KQEAgLTU4LDYgKzU4LDcgQEAgdm9pZCBHYW1lQ29udHJvbGxlckdhbWVwYWQ6
OnNldHVwQXNFeHRlbmRlZEdhbWVwYWQoKQogICAgIEFTU0VSVChtX2V4dGVuZGVkR2FtZXBhZCk7
CiAKICAgICBtX2lkID0gbWFrZVN0cmluZyhTdHJpbmcobV9nY0NvbnRyb2xsZXIuZ2V0KCkudmVu
ZG9yTmFtZSksICIgRXh0ZW5kZWQgR2FtZXBhZCJfcyk7CisgICAgbV9tYXBwaW5nID0gU3RyaW5n
KCJzdGFuZGFyZCIpOwogCiAgICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkudmFsdWVDaGFuZ2Vk
SGFuZGxlciA9IF4oR0NFeHRlbmRlZEdhbWVwYWQgKiwgR0NDb250cm9sbGVyRWxlbWVudCAqKSB7
CiAgICAgICAgIG1fbGFzdFVwZGF0ZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKQEAgLTY1
LDgyICs2Niw3MCBAQCB2b2lkIEdhbWVDb250cm9sbGVyR2FtZXBhZDo6c2V0dXBBc0V4dGVuZGVk
R2FtZXBhZCgpCiAgICAgICAgIG1faGFkQnV0dG9uUHJlc3NlcyA9IGZhbHNlOwogICAgIH07CiAK
LSAgICBtX2J1dHRvblZhbHVlcy5yZXNpemUoOCk7Ci0gICAgbV9idXR0b25WYWx1ZXNbMF0gPSBt
X2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25BLnZhbHVlOwotICAgIG1fYnV0dG9uVmFsdWVz
WzFdID0gbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9uQi52YWx1ZTsKLSAgICBtX2J1dHRv
blZhbHVlc1syXSA9IG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvblgudmFsdWU7Ci0gICAg
bV9idXR0b25WYWx1ZXNbM10gPSBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25ZLnZhbHVl
OwotICAgIG1fYnV0dG9uVmFsdWVzWzRdID0gbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkubGVmdFNo
b3VsZGVyLnZhbHVlOwotICAgIG1fYnV0dG9uVmFsdWVzWzVdID0gbV9leHRlbmRlZEdhbWVwYWQu
Z2V0KCkucmlnaHRTaG91bGRlci52YWx1ZTsKLSAgICBtX2J1dHRvblZhbHVlc1s2XSA9IG1fZXh0
ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRUcmlnZ2VyLnZhbHVlOwotICAgIG1fYnV0dG9uVmFsdWVz
WzddID0gbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRUcmlnZ2VyLnZhbHVlOwotCi0gICAg
bV9heGlzVmFsdWVzLnJlc2l6ZSg2KTsKKyAgICBtX2J1dHRvblZhbHVlcy5yZXNpemUoMTYpOwor
CisgICAgYXV0byBiaW5kQnV0dG9uID0gXihHQ0NvbnRyb2xsZXJCdXR0b25JbnB1dCAqYnV0dG9u
LCBzaXplX3QgaWR4KSB7CisgICAgICAgIG1fYnV0dG9uVmFsdWVzW2lkeF0gPSBidXR0b24udmFs
dWU7CisgICAgICAgIGJ1dHRvbi52YWx1ZUNoYW5nZWRIYW5kbGVyID0gXihHQ0NvbnRyb2xsZXJC
dXR0b25JbnB1dCAqLCBmbG9hdCB2YWx1ZSwgQk9PTCBwcmVzc2VkKSB7CisgICAgICAgICAgICBt
X2J1dHRvblZhbHVlc1tpZHhdID0gdmFsdWU7CisgICAgICAgICAgICBpZiAocHJlc3NlZCkKKyAg
ICAgICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMgPSB0cnVlOworICAgICAgICB9OworICAg
IH07CisKKyAgICAvLyBCdXR0b24gUGFkCisgICAgYmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBh
ZC5nZXQoKS5idXR0b25BLCAwKTsKKyAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdl
dCgpLmJ1dHRvbkIsIDEpOworICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCku
YnV0dG9uWCwgMik7CisgICAgYmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0
b25ZLCAzKTsKKworICAgIC8vIFNob3VsZGVycywgVHJpZ2dlcnMKKyAgICBiaW5kQnV0dG9uKG1f
ZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRTaG91bGRlciwgNCk7CisgICAgYmluZEJ1dHRvbiht
X2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5yaWdodFNob3VsZGVyLCA1KTsKKyAgICBiaW5kQnV0dG9u
KG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRUcmlnZ2VyLCA2KTsKKyAgICBiaW5kQnV0dG9u
KG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLnJpZ2h0VHJpZ2dlciwgNyk7CisKKyAgICAvLyBEIFBh
ZAorICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuZHBhZC51cCwgMTIpOwor
ICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuZHBhZC5kb3duLCAxMyk7Cisg
ICAgYmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5kcGFkLmxlZnQsIDE0KTsKKyAg
ICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmRwYWQucmlnaHQsIDE1KTsKKwor
ICAgIC8vIFNlbGVjdCwgU3RhcnQKKyNpZiBIQVZFKEdDRVhURU5ERURHQU1FUEFEX0JVVFRPTlNf
T1BUSU9OU19NRU5VKQorICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0
dG9uT3B0aW9ucywgOCk7CisgICAgYmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5i
dXR0b25NZW51LCA5KTsKKyNlbmRpZgorCisgICAgLy8gTDMsIFIzCisjaWYgSEFWRShHQ0VYVEVO
REVER0FNRVBBRF9CVVRUT05TX1RIVU1CU1RJQ0spCisgICAgLy8gVGh1bWJzdGljayBidXR0b25z
IGFyZSBvbmx5IGluIG1hY09TIDEwLjE0LjEgLyBpT1MgMTIuMQorI3ByYWdtYSBjbGFuZyBkaWFn
bm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV3VuZ3VhcmRl
ZC1hdmFpbGFiaWxpdHkiCisgICAgaWYgKFttX2V4dGVuZGVkR2FtZXBhZC5nZXQoKSByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKGxlZnRUaHVtYnN0aWNrQnV0dG9uKV0pIHsKKyAgICAgICAg
YmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5sZWZ0VGh1bWJzdGlja0J1dHRvbiwg
MTApOworICAgICAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLnJpZ2h0VGh1
bWJzdGlja0J1dHRvbiwgMTEpOworICAgIH0KKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AK
KyNlbmRpZgorCisgICAgbV9heGlzVmFsdWVzLnJlc2l6ZSg0KTsKICAgICBtX2F4aXNWYWx1ZXNb
MF0gPSBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5sZWZ0VGh1bWJzdGljay54QXhpcy52YWx1ZTsK
LSAgICBtX2F4aXNWYWx1ZXNbMV0gPSBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5sZWZ0VGh1bWJz
dGljay55QXhpcy52YWx1ZTsKKyAgICBtX2F4aXNWYWx1ZXNbMV0gPSAtbV9leHRlbmRlZEdhbWVw
YWQuZ2V0KCkubGVmdFRodW1ic3RpY2sueUF4aXMudmFsdWU7CiAgICAgbV9heGlzVmFsdWVzWzJd
ID0gbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRUaHVtYnN0aWNrLnhBeGlzLnZhbHVlOwot
ICAgIG1fYXhpc1ZhbHVlc1szXSA9IG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLnJpZ2h0VGh1bWJz
dGljay55QXhpcy52YWx1ZTsKLSAgICBtX2F4aXNWYWx1ZXNbNF0gPSBtX2V4dGVuZGVkR2FtZXBh
ZC5nZXQoKS5kcGFkLnhBeGlzLnZhbHVlOwotICAgIG1fYXhpc1ZhbHVlc1s1XSA9IG1fZXh0ZW5k
ZWRHYW1lcGFkLmdldCgpLmRwYWQueUF4aXMudmFsdWU7Ci0KLSAgICBtX2V4dGVuZGVkR2FtZXBh
ZC5nZXQoKS5idXR0b25BLnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRv
bklucHV0ICosIGZsb2F0IHZhbHVlLCBCT09MIHByZXNzZWQpIHsKLSAgICAgICAgbV9idXR0b25W
YWx1ZXNbMF0gPSB2YWx1ZTsKLSAgICAgICAgaWYgKHByZXNzZWQpCi0gICAgICAgICAgICBtX2hh
ZEJ1dHRvblByZXNzZXMgPSB0cnVlOwotICAgIH07Ci0gICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0
KCkuYnV0dG9uQi52YWx1ZUNoYW5nZWRIYW5kbGVyID0gXihHQ0NvbnRyb2xsZXJCdXR0b25JbnB1
dCAqLCBmbG9hdCB2YWx1ZSwgQk9PTCBwcmVzc2VkKSB7Ci0gICAgICAgIG1fYnV0dG9uVmFsdWVz
WzFdID0gdmFsdWU7Ci0gICAgICAgIGlmIChwcmVzc2VkKQotICAgICAgICAgICAgbV9oYWRCdXR0
b25QcmVzc2VzID0gdHJ1ZTsKLSAgICB9OwotICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1
dHRvblgudmFsdWVDaGFuZ2VkSGFuZGxlciA9IF4oR0NDb250cm9sbGVyQnV0dG9uSW5wdXQgKiwg
ZmxvYXQgdmFsdWUsIEJPT0wgcHJlc3NlZCkgewotICAgICAgICBtX2J1dHRvblZhbHVlc1syXSA9
IHZhbHVlOwotICAgICAgICBpZiAocHJlc3NlZCkKLSAgICAgICAgICAgIG1faGFkQnV0dG9uUHJl
c3NlcyA9IHRydWU7Ci0gICAgfTsKLSAgICBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25Z
LnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0
IHZhbHVlLCBCT09MIHByZXNzZWQpIHsKLSAgICAgICAgbV9idXR0b25WYWx1ZXNbM10gPSB2YWx1
ZTsKLSAgICAgICAgaWYgKHByZXNzZWQpCi0gICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMg
PSB0cnVlOwotICAgIH07Ci0gICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkubGVmdFNob3VsZGVy
LnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0
IHZhbHVlLCBCT09MIHByZXNzZWQpIHsKLSAgICAgICAgbV9idXR0b25WYWx1ZXNbNF0gPSB2YWx1
ZTsKLSAgICAgICAgaWYgKHByZXNzZWQpCi0gICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMg
PSB0cnVlOwotICAgIH07Ci0gICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRTaG91bGRl
ci52YWx1ZUNoYW5nZWRIYW5kbGVyID0gXihHQ0NvbnRyb2xsZXJCdXR0b25JbnB1dCAqLCBmbG9h
dCB2YWx1ZSwgQk9PTCBwcmVzc2VkKSB7Ci0gICAgICAgIG1fYnV0dG9uVmFsdWVzWzVdID0gdmFs
dWU7Ci0gICAgICAgIGlmIChwcmVzc2VkKQotICAgICAgICAgICAgbV9oYWRCdXR0b25QcmVzc2Vz
ID0gdHJ1ZTsKLSAgICB9OwotICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRUcmlnZ2Vy
LnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0
IHZhbHVlLCBCT09MIHByZXNzZWQpIHsKLSAgICAgICAgbV9idXR0b25WYWx1ZXNbNl0gPSB2YWx1
ZTsKLSAgICAgICAgaWYgKHByZXNzZWQpCi0gICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMg
PSB0cnVlOwotICAgIH07Ci0gICAgbV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkucmlnaHRUcmlnZ2Vy
LnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckJ1dHRvbklucHV0ICosIGZsb2F0
IHZhbHVlLCBCT09MIHByZXNzZWQpIHsKLSAgICAgICAgbV9idXR0b25WYWx1ZXNbN10gPSB2YWx1
ZTsKLSAgICAgICAgaWYgKHByZXNzZWQpCi0gICAgICAgICAgICBtX2hhZEJ1dHRvblByZXNzZXMg
PSB0cnVlOwotICAgIH07CisgICAgbV9heGlzVmFsdWVzWzNdID0gLW1fZXh0ZW5kZWRHYW1lcGFk
LmdldCgpLnJpZ2h0VGh1bWJzdGljay55QXhpcy52YWx1ZTsKIAogICAgIG1fZXh0ZW5kZWRHYW1l
cGFkLmdldCgpLmxlZnRUaHVtYnN0aWNrLnhBeGlzLnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdD
Q29udHJvbGxlckF4aXNJbnB1dCAqLCBmbG9hdCB2YWx1ZSkgewogICAgICAgICBtX2F4aXNWYWx1
ZXNbMF0gPSB2YWx1ZTsKICAgICB9OwogICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmxlZnRU
aHVtYnN0aWNrLnlBeGlzLnZhbHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckF4aXNJ
bnB1dCAqLCBmbG9hdCB2YWx1ZSkgewotICAgICAgICBtX2F4aXNWYWx1ZXNbMV0gPSB2YWx1ZTsK
KyAgICAgICAgbV9heGlzVmFsdWVzWzFdID0gLXZhbHVlOwogICAgIH07CiAgICAgbV9leHRlbmRl
ZEdhbWVwYWQuZ2V0KCkucmlnaHRUaHVtYnN0aWNrLnhBeGlzLnZhbHVlQ2hhbmdlZEhhbmRsZXIg
PSBeKEdDQ29udHJvbGxlckF4aXNJbnB1dCAqLCBmbG9hdCB2YWx1ZSkgewogICAgICAgICBtX2F4
aXNWYWx1ZXNbMl0gPSB2YWx1ZTsKICAgICB9OwogICAgIG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgp
LnJpZ2h0VGh1bWJzdGljay55QXhpcy52YWx1ZUNoYW5nZWRIYW5kbGVyID0gXihHQ0NvbnRyb2xs
ZXJBeGlzSW5wdXQgKiwgZmxvYXQgdmFsdWUpIHsKLSAgICAgICAgbV9heGlzVmFsdWVzWzNdID0g
dmFsdWU7Ci0gICAgfTsKLSAgICBtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5kcGFkLnhBeGlzLnZh
bHVlQ2hhbmdlZEhhbmRsZXIgPSBeKEdDQ29udHJvbGxlckF4aXNJbnB1dCAqLCBmbG9hdCB2YWx1
ZSkgewotICAgICAgICBtX2F4aXNWYWx1ZXNbNF0gPSB2YWx1ZTsKLSAgICB9OwotICAgIG1fZXh0
ZW5kZWRHYW1lcGFkLmdldCgpLmRwYWQueUF4aXMudmFsdWVDaGFuZ2VkSGFuZGxlciA9IF4oR0ND
b250cm9sbGVyQXhpc0lucHV0ICosIGZsb2F0IHZhbHVlKSB7Ci0gICAgICAgIG1fYXhpc1ZhbHVl
c1s1XSA9IHZhbHVlOworICAgICAgICBtX2F4aXNWYWx1ZXNbM10gPSAtdmFsdWU7CiAgICAgfTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tHYW1lcGFkLmNwcAppbmRleCBhYmJjNmVkZjFk
OTlhYTAyYzYwOTJmZWFhYjllY2I4MjIwMzdkMTYwLi41NWZmNDM4OGU5NjdhYjFkYmYyZTdjYWFi
OWJmNTNiNzM4ODQ4ODBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tH
YW1lcGFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tHYW1lcGFkLmNwcApA
QCAtMzAsMTYgKzMwLDE3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotTW9ja0dhbWVwYWQ6
Ok1vY2tHYW1lcGFkKHVuc2lnbmVkIGluZGV4LCBjb25zdCBTdHJpbmcmIGdhbWVwYWRJRCwgdW5z
aWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCkKK01vY2tHYW1lcGFkOjpNb2Nr
R2FtZXBhZCh1bnNpZ25lZCBpbmRleCwgY29uc3QgU3RyaW5nJiBnYW1lcGFkSUQsIGNvbnN0IFN0
cmluZyYgbWFwcGluZywgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCkK
ICAgICA6IFBsYXRmb3JtR2FtZXBhZChpbmRleCkKIHsKICAgICBtX2Nvbm5lY3RUaW1lID0gbV9s
YXN0VXBkYXRlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwotICAgIHVwZGF0ZURldGFpbHMo
Z2FtZXBhZElELCBheGlzQ291bnQsIGJ1dHRvbkNvdW50KTsKKyAgICB1cGRhdGVEZXRhaWxzKGdh
bWVwYWRJRCwgbWFwcGluZywgYXhpc0NvdW50LCBidXR0b25Db3VudCk7CiB9CiAKLXZvaWQgTW9j
a0dhbWVwYWQ6OnVwZGF0ZURldGFpbHMoY29uc3QgU3RyaW5nJiBnYW1lcGFkSUQsIHVuc2lnbmVk
IGF4aXNDb3VudCwgdW5zaWduZWQgYnV0dG9uQ291bnQpCit2b2lkIE1vY2tHYW1lcGFkOjp1cGRh
dGVEZXRhaWxzKGNvbnN0IFN0cmluZyYgZ2FtZXBhZElELCBjb25zdCBTdHJpbmcmIG1hcHBpbmcs
IHVuc2lnbmVkIGF4aXNDb3VudCwgdW5zaWduZWQgYnV0dG9uQ291bnQpCiB7CiAgICAgbV9pZCA9
IGdhbWVwYWRJRDsKKyAgICBtX21hcHBpbmcgPSBtYXBwaW5nOwogICAgIG1fYXhpc1ZhbHVlcyA9
IFZlY3Rvcjxkb3VibGU+KGF4aXNDb3VudCwgMC4wKTsKICAgICBtX2J1dHRvblZhbHVlcyA9IFZl
Y3Rvcjxkb3VibGU+KGJ1dHRvbkNvdW50LCAwLjApOwogICAgIG1fbGFzdFVwZGF0ZVRpbWUgPSBN
b25vdG9uaWNUaW1lOjpub3coKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
TW9ja0dhbWVwYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWQuaAppbmRl
eCA3MjhmN2QyMWM1ZDlkNGU3OGM0NTE0Y2JjOGFhYWU0MjVlZGE1NWFkLi5kZGE5MTA0OGRmNGUw
ZGViNmVlNmJjNzVmZjYxNmRkYjI4NjRhZmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL01vY2tHYW1lcGFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2Ft
ZXBhZC5oCkBAIC0zMywxMiArMzMsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBN
b2NrR2FtZXBhZCA6IHB1YmxpYyBQbGF0Zm9ybUdhbWVwYWQgewogcHVibGljOgotICAgIE1vY2tH
YW1lcGFkKHVuc2lnbmVkIGluZGV4LCBjb25zdCBTdHJpbmcmIGdhbWVwYWRJRCwgdW5zaWduZWQg
YXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCk7CisgICAgTW9ja0dhbWVwYWQodW5zaWdu
ZWQgaW5kZXgsIGNvbnN0IFN0cmluZyYgZ2FtZXBhZElELCBjb25zdCBTdHJpbmcmIG1hcHBpbmcs
IHVuc2lnbmVkIGF4aXNDb3VudCwgdW5zaWduZWQgYnV0dG9uQ291bnQpOwogCiAgICAgY29uc3Qg
VmVjdG9yPGRvdWJsZT4mIGF4aXNWYWx1ZXMoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2F4aXNW
YWx1ZXM7IH0KICAgICBjb25zdCBWZWN0b3I8ZG91YmxlPiYgYnV0dG9uVmFsdWVzKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9idXR0b25WYWx1ZXM7IH0KIAotICAgIHZvaWQgdXBkYXRlRGV0YWls
cyhjb25zdCBTdHJpbmcmIGdhbWVwYWRJRCwgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBi
dXR0b25Db3VudCk7CisgICAgdm9pZCB1cGRhdGVEZXRhaWxzKGNvbnN0IFN0cmluZyYgZ2FtZXBh
ZElELCBjb25zdCBTdHJpbmcmIG1hcHBpbmcsIHVuc2lnbmVkIGF4aXNDb3VudCwgdW5zaWduZWQg
YnV0dG9uQ291bnQpOwogICAgIGJvb2wgc2V0QXhpc1ZhbHVlKHVuc2lnbmVkIGluZGV4LCBkb3Vi
bGUgdmFsdWUpOwogICAgIGJvb2wgc2V0QnV0dG9uVmFsdWUodW5zaWduZWQgaW5kZXgsIGRvdWJs
ZSB2YWx1ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVw
YWRQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tHYW1lcGFkUHJvdmlk
ZXIuY3BwCmluZGV4IGQ0MGRlZDFkYTExOThjYWEzNDU5ZDY3N2UxZmU4NGY1YmZiOTQ2ZTQuLjYx
NTBmNTJhM2ZhODFmN2M2OGIyZjIyODQ0ODczYmZkNTVmNjZjYzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWRQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmNwcApAQCAtNTUsMTUgKzU1LDE1IEBA
IHZvaWQgTW9ja0dhbWVwYWRQcm92aWRlcjo6c3RvcE1vbml0b3JpbmdHYW1lcGFkcyhHYW1lcGFk
UHJvdmlkZXJDbGllbnQmIGNsaWVudCkKICAgICBtX2NsaWVudHMucmVtb3ZlKCZjbGllbnQpOwog
fQogCi12b2lkIE1vY2tHYW1lcGFkUHJvdmlkZXI6OnNldE1vY2tHYW1lcGFkRGV0YWlscyh1bnNp
Z25lZCBpbmRleCwgY29uc3QgU3RyaW5nJiBnYW1lcGFkSUQsIHVuc2lnbmVkIGF4aXNDb3VudCwg
dW5zaWduZWQgYnV0dG9uQ291bnQpCit2b2lkIE1vY2tHYW1lcGFkUHJvdmlkZXI6OnNldE1vY2tH
YW1lcGFkRGV0YWlscyh1bnNpZ25lZCBpbmRleCwgY29uc3QgU3RyaW5nJiBnYW1lcGFkSUQsIGNv
bnN0IFN0cmluZyYgbWFwcGluZywgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25D
b3VudCkKIHsKICAgICBpZiAoaW5kZXggPj0gbV9tb2NrR2FtZXBhZFZlY3Rvci5zaXplKCkpCiAg
ICAgICAgIG1fbW9ja0dhbWVwYWRWZWN0b3IucmVzaXplKGluZGV4ICsgMSk7CiAKICAgICBpZiAo
bV9tb2NrR2FtZXBhZFZlY3RvcltpbmRleF0pCi0gICAgICAgIG1fbW9ja0dhbWVwYWRWZWN0b3Jb
aW5kZXhdLT51cGRhdGVEZXRhaWxzKGdhbWVwYWRJRCwgYXhpc0NvdW50LCBidXR0b25Db3VudCk7
CisgICAgICAgIG1fbW9ja0dhbWVwYWRWZWN0b3JbaW5kZXhdLT51cGRhdGVEZXRhaWxzKGdhbWVw
YWRJRCwgbWFwcGluZywgYXhpc0NvdW50LCBidXR0b25Db3VudCk7CiAgICAgZWxzZQotICAgICAg
ICBtX21vY2tHYW1lcGFkVmVjdG9yW2luZGV4XSA9IG1ha2VVbmlxdWU8TW9ja0dhbWVwYWQ+KGlu
ZGV4LCBnYW1lcGFkSUQsIGF4aXNDb3VudCwgYnV0dG9uQ291bnQpOworICAgICAgICBtX21vY2tH
YW1lcGFkVmVjdG9yW2luZGV4XSA9IG1ha2VVbmlxdWU8TW9ja0dhbWVwYWQ+KGluZGV4LCBnYW1l
cGFkSUQsIG1hcHBpbmcsIGF4aXNDb3VudCwgYnV0dG9uQ291bnQpOwogfQogCiBib29sIE1vY2tH
YW1lcGFkUHJvdmlkZXI6OmNvbm5lY3RNb2NrR2FtZXBhZCh1bnNpZ25lZCBpbmRleCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0dhbWVwYWRQcm92aWRlci5oIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBhZFByb3ZpZGVyLmgKaW5kZXggNDA0MTliOTIz
M2ZlMzkwN2E5ODI2YjcwNTEyZWQ2MTFlMTU1ODhkNS4uZGE3NzZlZGYyYzU2MTdiMzg5Zjg2MmMz
NjgwODRiYjMwZGM4Yjc4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2Nr
R2FtZXBhZFByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrR2FtZXBh
ZFByb3ZpZGVyLmgKQEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFZlY3RvcjxQ
bGF0Zm9ybUdhbWVwYWQqPiYgcGxhdGZvcm1HYW1lcGFkcygpIGZpbmFsIHsgcmV0dXJuIG1fY29u
bmVjdGVkR2FtZXBhZFZlY3RvcjsgfQogICAgIGJvb2wgaXNNb2NrR2FtZXBhZFByb3ZpZGVyKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAgdm9pZCBzZXRNb2NrR2FtZXBhZERl
dGFpbHModW5zaWduZWQgaW5kZXgsIGNvbnN0IFN0cmluZyYgZ2FtZXBhZElELCB1bnNpZ25lZCBh
eGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KTsKKyAgICB2b2lkIHNldE1vY2tHYW1lcGFk
RGV0YWlscyh1bnNpZ25lZCBpbmRleCwgY29uc3QgU3RyaW5nJiBnYW1lcGFkSUQsIGNvbnN0IFN0
cmluZyYgbWFwcGluZywgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCk7
CiAgICAgYm9vbCBzZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSh1bnNpZ25lZCBpbmRleCwgdW5zaWdu
ZWQgYXhpc0luZGV4LCBkb3VibGUgdmFsdWUpOwogICAgIGJvb2wgc2V0TW9ja0dhbWVwYWRCdXR0
b25WYWx1ZSh1bnNpZ25lZCBpbmRleCwgdW5zaWduZWQgYnV0dG9uSW5kZXgsIGRvdWJsZSB2YWx1
ZSk7CiAgICAgYm9vbCBjb25uZWN0TW9ja0dhbWVwYWQodW5zaWduZWQgaW5kZXgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwCmluZGV4IDQ2
NmZhNDI3MDljZTIzOGVhOGQyNGY4Mjk1NDE4MmZjNjczMGM3NWYuLjYwNjFhOTYwMTc2ZGExZDc0
MjllMWYyMjRiZjFhY2RlZDEyYzFkODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAKQEAgLTE2NCwxMyArMTY0LDE0IEBAIHZvaWQgZGlz
Y29ubmVjdE1vY2tHYW1lcGFkKHVuc2lnbmVkIGdhbWVwYWRJbmRleCkKICNlbmRpZgogfQogCi12
b2lkIHNldE1vY2tHYW1lcGFkRGV0YWlscyh1bnNpZ25lZCBnYW1lcGFkSW5kZXgsIGNvbnN0IFdU
Rjo6U3RyaW5nJiBnYW1lcGFkSUQsIHVuc2lnbmVkIGF4aXNDb3VudCwgdW5zaWduZWQgYnV0dG9u
Q291bnQpCit2b2lkIHNldE1vY2tHYW1lcGFkRGV0YWlscyh1bnNpZ25lZCBnYW1lcGFkSW5kZXgs
IGNvbnN0IFdURjo6U3RyaW5nJiBnYW1lcGFkSUQsIGNvbnN0IFdURjo6U3RyaW5nJiBtYXBwaW5n
LCB1bnNpZ25lZCBheGlzQ291bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KQogewogI2lmIEVOQUJM
RShHQU1FUEFEKQotICAgIE1vY2tHYW1lcGFkUHJvdmlkZXI6OnNpbmdsZXRvbigpLnNldE1vY2tH
YW1lcGFkRGV0YWlscyhnYW1lcGFkSW5kZXgsIGdhbWVwYWRJRCwgYXhpc0NvdW50LCBidXR0b25D
b3VudCk7CisgICAgTW9ja0dhbWVwYWRQcm92aWRlcjo6c2luZ2xldG9uKCkuc2V0TW9ja0dhbWVw
YWREZXRhaWxzKGdhbWVwYWRJbmRleCwgZ2FtZXBhZElELCBtYXBwaW5nLCBheGlzQ291bnQsIGJ1
dHRvbkNvdW50KTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGdhbWVwYWRJbmRleCk7CiAgICAg
VU5VU0VEX1BBUkFNKGdhbWVwYWRJRCk7CisgICAgVU5VU0VEX1BBUkFNKG1hcHBpbmcpOwogICAg
IFVOVVNFRF9QQVJBTShheGlzQ291bnQpOwogICAgIFVOVVNFRF9QQVJBTShidXR0b25Db3VudCk7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRl
c3RTdXBwb3J0LmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9y
dC5oCmluZGV4IGJiNzFmMDFiNTdkN2M4ZTI0NjBkZGEyMzIxNGI3YjU1OTcwODNmNDQuLjc5YWVm
ZWY0NTFhMDg2MWFlNDdiYzIwYmFhY2JlM2M4MmYzZGUwMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuaApAQCAtNTgsNyArNTgsNyBAQCB2b2lk
IHNldEFsbG93c0FueVNTTENlcnRpZmljYXRlKGJvb2wpIFRFU1RfU1VQUE9SVF9FWFBPUlQ7CiB2
b2lkIGluc3RhbGxNb2NrR2FtZXBhZFByb3ZpZGVyKCkgVEVTVF9TVVBQT1JUX0VYUE9SVDsKIHZv
aWQgY29ubmVjdE1vY2tHYW1lcGFkKHVuc2lnbmVkIGluZGV4KSBURVNUX1NVUFBPUlRfRVhQT1JU
Owogdm9pZCBkaXNjb25uZWN0TW9ja0dhbWVwYWQodW5zaWduZWQgaW5kZXgpIFRFU1RfU1VQUE9S
VF9FWFBPUlQ7Ci12b2lkIHNldE1vY2tHYW1lcGFkRGV0YWlscyh1bnNpZ25lZCBpbmRleCwgY29u
c3QgV1RGOjpTdHJpbmcmIGdhbWVwYWRJRCwgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBi
dXR0b25Db3VudCkgVEVTVF9TVVBQT1JUX0VYUE9SVDsKK3ZvaWQgc2V0TW9ja0dhbWVwYWREZXRh
aWxzKHVuc2lnbmVkIGluZGV4LCBjb25zdCBXVEY6OlN0cmluZyYgZ2FtZXBhZElELCBjb25zdCBX
VEY6OlN0cmluZyYgbWFwcGluZywgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25D
b3VudCkgVEVTVF9TVVBQT1JUX0VYUE9SVDsKIHZvaWQgc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUo
dW5zaWduZWQgaW5kZXgsIHVuc2lnbmVkIGF4aXNJbmRleCwgZG91YmxlIHZhbHVlKSBURVNUX1NV
UFBPUlRfRVhQT1JUOwogdm9pZCBzZXRNb2NrR2FtZXBhZEJ1dHRvblZhbHVlKHVuc2lnbmVkIGlu
ZGV4LCB1bnNpZ25lZCBidXR0b25JbmRleCwgZG91YmxlIHZhbHVlKSBURVNUX1NVUFBPUlRfRVhQ
T1JUOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9HYW1lcGFkL0dhbWVwYWRE
YXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuY3BwCmlu
ZGV4IGY5YmE0OWQ3NzYwZjEzMWM2ZDI4N2QyZmVhNTBhNjA0YTczZTQ2ZGEuLjNkNzQwMTk0MGY0
NDRiZDE0YzNjZWNmN2EwMWFhYjk5NjgyYzA4OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0dhbWVwYWQvR2FtZXBhZERhdGEuY3BwCkBAIC00MSw5ICs0MSwxMCBAQCBHYW1lcGFkRGF0YTo6
R2FtZXBhZERhdGEodW5zaWduZWQgaW5kZXgsIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBheGlzVmFs
dWVzLCBjb25zdAogewogfQogCi1HYW1lcGFkRGF0YTo6R2FtZXBhZERhdGEodW5zaWduZWQgaW5k
ZXgsIGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBheGlzVmFsdWVzLCBj
b25zdCBWZWN0b3I8ZG91YmxlPiYgYnV0dG9uVmFsdWVzLCBNb25vdG9uaWNUaW1lIGxhc3RVcGRh
dGVUaW1lKQorR2FtZXBhZERhdGE6OkdhbWVwYWREYXRhKHVuc2lnbmVkIGluZGV4LCBjb25zdCBT
dHJpbmcmIGlkLCBjb25zdCBTdHJpbmcmIG1hcHBpbmcsIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBh
eGlzVmFsdWVzLCBjb25zdCBWZWN0b3I8ZG91YmxlPiYgYnV0dG9uVmFsdWVzLCBNb25vdG9uaWNU
aW1lIGxhc3RVcGRhdGVUaW1lKQogICAgIDogbV9pbmRleChpbmRleCkKICAgICAsIG1faWQoaWQp
CisgICAgLCBtX21hcHBpbmcobWFwcGluZykKICAgICAsIG1fYXhpc1ZhbHVlcyhheGlzVmFsdWVz
KQogICAgICwgbV9idXR0b25WYWx1ZXMoYnV0dG9uVmFsdWVzKQogICAgICwgbV9sYXN0VXBkYXRl
VGltZShsYXN0VXBkYXRlVGltZSkKQEAgLTU2LDcgKzU3LDcgQEAgdm9pZCBHYW1lcGFkRGF0YTo6
ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBpZiAobV9pc051bGwpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGVuY29kZXIgPDwgbV9pbmRleCA8PCBtX2lkIDw8IG1fYXhp
c1ZhbHVlcyA8PCBtX2J1dHRvblZhbHVlcyA8PCBtX2xhc3RVcGRhdGVUaW1lOworICAgIGVuY29k
ZXIgPDwgbV9pbmRleCA8PCBtX2lkIDw8IG1fbWFwcGluZyA8PCBtX2F4aXNWYWx1ZXMgPDwgbV9i
dXR0b25WYWx1ZXMgPDwgbV9sYXN0VXBkYXRlVGltZTsKIH0KIAogT3B0aW9uYWw8R2FtZXBhZERh
dGE+IEdhbWVwYWREYXRhOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQpAQCAtNzQsNiAr
NzUsOSBAQCBPcHRpb25hbDxHYW1lcGFkRGF0YT4gR2FtZXBhZERhdGE6OmRlY29kZShJUEM6OkRl
Y29kZXImIGRlY29kZXIpCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShkYXRhLm1faWQpKQogICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShkYXRh
Lm1fbWFwcGluZykpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKICAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKGRhdGEubV9heGlzVmFsdWVzKSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvR2FtZXBhZC9HYW1lcGFk
RGF0YS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvR2FtZXBhZC9HYW1lcGFkRGF0YS5oCmluZGV4
IDdlN2U2MjJkNGMyMTZjOTc0Njg1MzU5MzM5NDZhNGQ0ZTU1ZDdlY2UuLjdlMTZhODkyZTI0MWM2
M2Y4OWYzODdkMTM1NTg5YjFmMDE0NWNjY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0dhbWVwYWQvR2FtZXBhZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9HYW1l
cGFkL0dhbWVwYWREYXRhLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogICAgIH0KIAogICAg
IEdhbWVwYWREYXRhKHVuc2lnbmVkIGluZGV4LCBjb25zdCBWZWN0b3I8ZG91YmxlPiYgYXhpc1Zh
bHVlcywgY29uc3QgVmVjdG9yPGRvdWJsZT4mIGJ1dHRvblZhbHVlcywgTW9ub3RvbmljVGltZSBs
YXN0VXBkYXRlVGltZSk7Ci0gICAgR2FtZXBhZERhdGEodW5zaWduZWQgaW5kZXgsIGNvbnN0IFN0
cmluZyYgaWQsIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBheGlzVmFsdWVzLCBjb25zdCBWZWN0b3I8
ZG91YmxlPiYgYnV0dG9uVmFsdWVzLCBNb25vdG9uaWNUaW1lIGxhc3RVcGRhdGVUaW1lKTsKKyAg
ICBHYW1lcGFkRGF0YSh1bnNpZ25lZCBpbmRleCwgY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3Ry
aW5nJiBtYXBwaW5nLCBjb25zdCBWZWN0b3I8ZG91YmxlPiYgYXhpc1ZhbHVlcywgY29uc3QgVmVj
dG9yPGRvdWJsZT4mIGJ1dHRvblZhbHVlcywgTW9ub3RvbmljVGltZSBsYXN0VXBkYXRlVGltZSk7
CiAKICAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKICAgICBzdGF0aWMgT3B0
aW9uYWw8R2FtZXBhZERhdGE+IGRlY29kZShJUEM6OkRlY29kZXImKTsKQEAgLTU2LDEyICs1Niwx
NCBAQCBwdWJsaWM6CiAgICAgTW9ub3RvbmljVGltZSBsYXN0VXBkYXRlVGltZSgpIGNvbnN0IHsg
cmV0dXJuIG1fbGFzdFVwZGF0ZVRpbWU7IH0KICAgICB1bnNpZ25lZCBpbmRleCgpIGNvbnN0IHsg
cmV0dXJuIG1faW5kZXg7IH0KICAgICBjb25zdCBTdHJpbmcmIGlkKCkgY29uc3QgeyByZXR1cm4g
bV9pZDsgfQorICAgIGNvbnN0IFN0cmluZyYgbWFwcGluZygpIGNvbnN0IHsgcmV0dXJuIG1fbWFw
cGluZzsgfQogICAgIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBheGlzVmFsdWVzKCkgY29uc3QgeyBy
ZXR1cm4gbV9heGlzVmFsdWVzOyB9CiAgICAgY29uc3QgVmVjdG9yPGRvdWJsZT4mIGJ1dHRvblZh
bHVlcygpIGNvbnN0IHsgcmV0dXJuIG1fYnV0dG9uVmFsdWVzOyB9CiAKIHByaXZhdGU6CiAgICAg
dW5zaWduZWQgbV9pbmRleDsKICAgICBTdHJpbmcgbV9pZDsKKyAgICBTdHJpbmcgbV9tYXBwaW5n
OwogICAgIFZlY3Rvcjxkb3VibGU+IG1fYXhpc1ZhbHVlczsKICAgICBWZWN0b3I8ZG91YmxlPiBt
X2J1dHRvblZhbHVlczsKICAgICBNb25vdG9uaWNUaW1lIG1fbGFzdFVwZGF0ZVRpbWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZC5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZC5jcHAKaW5kZXggYmNhMWM5
MjJhNmUyOWNlYzk1MGM2NDA0NDdlOWZiODg0MDE4MGQ4MC4uYmFlZTk3YTViODA4MWI1NmU1NmE0
NWQ0ZTUyNjc4MzEzYTgwYTcyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
R2FtZXBhZC9VSUdhbWVwYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dhbWVw
YWQvVUlHYW1lcGFkLmNwcApAQCAtMzcsNiArMzcsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIFVJR2FtZXBhZDo6VUlHYW1lcGFkKFdlYkNvcmU6OlBsYXRmb3JtR2FtZXBhZCYgcGxhdGZv
cm1HYW1lcGFkKQogICAgIDogbV9pbmRleChwbGF0Zm9ybUdhbWVwYWQuaW5kZXgoKSkKICAgICAs
IG1faWQocGxhdGZvcm1HYW1lcGFkLmlkKCkpCisgICAgLCBtX21hcHBpbmcocGxhdGZvcm1HYW1l
cGFkLm1hcHBpbmcoKSkKICAgICAsIG1fbGFzdFVwZGF0ZVRpbWUocGxhdGZvcm1HYW1lcGFkLmxh
c3RVcGRhdGVUaW1lKCkpCiB7CiAgICAgbV9heGlzVmFsdWVzLnJlc2l6ZShwbGF0Zm9ybUdhbWVw
YWQuYXhpc1ZhbHVlcygpLnNpemUoKSk7CkBAIC02Myw3ICs2NCw3IEBAIEdhbWVwYWREYXRhIFVJ
R2FtZXBhZDo6Y29uZGVuc2VkR2FtZXBhZERhdGEoKSBjb25zdAogCiBHYW1lcGFkRGF0YSBVSUdh
bWVwYWQ6OmZ1bGxHYW1lcGFkRGF0YSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHsgbV9pbmRleCwg
bV9pZCwgbV9heGlzVmFsdWVzLCBtX2J1dHRvblZhbHVlcywgbV9sYXN0VXBkYXRlVGltZSB9Owor
ICAgIHJldHVybiB7IG1faW5kZXgsIG1faWQsIG1fbWFwcGluZywgbV9heGlzVmFsdWVzLCBtX2J1
dHRvblZhbHVlcywgbV9sYXN0VXBkYXRlVGltZSB9OwogfQogCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZC5oCmluZGV4IGIwMjkxNTA5MWUzODdjMDQ5ZWNlOGVk
MGMzY2FmMTQyNDUyZDAyNTIuLmRiNzZkMjdiYzUzYTE5MGFkZjViYTliNWFmYzY3YzRmMWQ5Y2Q1
ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFk
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWQuaApAQCAt
NTQsNiArNTQsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1faW5kZXg7CiAg
ICAgU3RyaW5nIG1faWQ7CisgICAgU3RyaW5nIG1fbWFwcGluZzsKICAgICBWZWN0b3I8ZG91Ymxl
PiBtX2F4aXNWYWx1ZXM7CiAgICAgVmVjdG9yPGRvdWJsZT4gbV9idXR0b25WYWx1ZXM7CiAgICAg
TW9ub3RvbmljVGltZSBtX2xhc3RVcGRhdGVUaW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dhbWVwYWQvV2ViR2FtZXBhZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFkLmNwcAppbmRleCA4MGM5NzkwMGRjMDRlNGY1Y2I5YWQy
OTY5OTk3ZDhhYWExOTU1YThjLi5hNDNmMDRhNGU3OTFmYWRlNmE3MWUwNGJlZjkzOTJkMzMzNDNk
NjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1l
cGFkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFk
LmNwcApAQCAtNDAsNiArNDAsNyBAQCBXZWJHYW1lcGFkOjpXZWJHYW1lcGFkKGNvbnN0IEdhbWVw
YWREYXRhJiBnYW1lcGFkRGF0YSkKICAgICBMT0coR2FtZXBhZCwgIkNvbm5lY3RpbmcgV2ViR2Ft
ZXBhZCAldSIsIGdhbWVwYWREYXRhLmluZGV4KCkpOwogCiAgICAgbV9pZCA9IGdhbWVwYWREYXRh
LmlkKCk7CisgICAgbV9tYXBwaW5nID0gZ2FtZXBhZERhdGEubWFwcGluZygpOwogICAgIG1fYXhp
c1ZhbHVlcy5yZXNpemUoZ2FtZXBhZERhdGEuYXhpc1ZhbHVlcygpLnNpemUoKSk7CiAgICAgbV9i
dXR0b25WYWx1ZXMucmVzaXplKGdhbWVwYWREYXRhLmJ1dHRvblZhbHVlcygpLnNpemUoKSk7CiAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhM2Fk
MzFiNmIyY2E1MTE4ODgyMTllOTRlZDRkMWZmNDRlZWY2ODI4Li41Y2UzYjAxYTA4MjZkZmNjYmFh
ODExYmM1ZWQ3NDJlMGI4ZWQyZjM3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDEtMzAgIEphbWVzIEhvd2Fy
ZCAgPGphbWVzaG93YXJkQG1hYy5jb20+CisKKyAgICAgICAgU3RhbmRhcmQgZ2FtZXBhZCBtYXBw
aW5nIGZvciBHYW1lQ29udHJvbGxlckdhbWVwYWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYwMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QmluZGluZ3MvVGVzdFJ1bm5lci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0
TW9ja0dhbWVwYWREZXRhaWxzKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL1Rlc3RSdW5uZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZv
Y2F0aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5j
aHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorCiAyMDIwLTAxLTMwICBKb25hdGhh
biBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBUZXN0V2ViS2l0QVBJOiBS
ZS1iYXNlbGluZSBBY2Nlc3NpYmlsaXR5VGVzdHMgZm9yIENhdGFseXN0CmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIu
aWRsIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0
UnVubmVyLmlkbAppbmRleCA5ZTUzYjViZTkyNjRmMjEzMDU5NmNiZWY3MGE5NDUxYWEzNTVlNGRl
Li4xNjBjMmU5ZjNiYTY0Nzc1OThhYTUyY2EyYzVhNzkyODA4OTMyODY3IDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIu
aWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3Mv
VGVzdFJ1bm5lci5pZGwKQEAgLTI4NSw3ICsyODUsNyBAQCBpbnRlcmZhY2UgVGVzdFJ1bm5lciB7
CiAgICAgdm9pZCBpbnN0YWxsQ3VzdG9tTWVudUFjdGlvbihET01TdHJpbmcgbmFtZSwgYm9vbGVh
biBkaXNtaXNzZXNBdXRvbWF0aWNhbGx5LCBvYmplY3QgY2FsbGJhY2spOwogCiAgICAgLy8gR2Ft
ZXBhZAotICAgIHZvaWQgc2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVkIGxvbmcgaW5kZXgs
IERPTVN0cmluZyBpZCwgdW5zaWduZWQgbG9uZyBheGlzQ291bnQsIHVuc2lnbmVkIGxvbmcgYnV0
dG9uQ291bnQpOworICAgIHZvaWQgc2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVkIGxvbmcg
aW5kZXgsIERPTVN0cmluZyBpZCwgRE9NU3RyaW5nIG1hcHBpbmcsIHVuc2lnbmVkIGxvbmcgYXhp
c0NvdW50LCB1bnNpZ25lZCBsb25nIGJ1dHRvbkNvdW50KTsKICAgICB2b2lkIHNldE1vY2tHYW1l
cGFkQXhpc1ZhbHVlKHVuc2lnbmVkIGxvbmcgaW5kZXgsIHVuc2lnbmVkIGxvbmcgYXhpc0luZGV4
LCBkb3VibGUgdmFsdWUpOwogICAgIHZvaWQgc2V0TW9ja0dhbWVwYWRCdXR0b25WYWx1ZSh1bnNp
Z25lZCBsb25nIGluZGV4LCB1bnNpZ25lZCBsb25nIGJ1dHRvbkluZGV4LCBkb3VibGUgdmFsdWUp
OwogICAgIHZvaWQgY29ubmVjdE1vY2tHYW1lcGFkKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVy
LmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5j
cHAKaW5kZXggMmVhM2NiZDcyYjQyYjJhMzBjYTJhNzZjODY1YzFkYWIwMjI5ZWM1YS4uNjkzMjM1
ODhjYWE5YzVmYzdlNWE1ZjZlYzgxNjYwMzgxMjdlNjFlZSAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCkBAIC0yNDUwLDcg
KzI0NTAsNyBAQCB2b2lkIFRlc3RSdW5uZXI6OmRpc2Nvbm5lY3RNb2NrR2FtZXBhZCh1bnNpZ25l
ZCBpbmRleCkKICAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5k
bGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHku
Z2V0KCksIG51bGxwdHIpOwogfQogCi12b2lkIFRlc3RSdW5uZXI6OnNldE1vY2tHYW1lcGFkRGV0
YWlscyh1bnNpZ25lZCBpbmRleCwgSlNTdHJpbmdSZWYgZ2FtZXBhZElELCB1bnNpZ25lZCBheGlz
Q291bnQsIHVuc2lnbmVkIGJ1dHRvbkNvdW50KQordm9pZCBUZXN0UnVubmVyOjpzZXRNb2NrR2Ft
ZXBhZERldGFpbHModW5zaWduZWQgaW5kZXgsIEpTU3RyaW5nUmVmIGdhbWVwYWRJRCwgSlNTdHJp
bmdSZWYgbWFwcGluZywgdW5zaWduZWQgYXhpc0NvdW50LCB1bnNpZ25lZCBidXR0b25Db3VudCkK
IHsKICAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+PiBrZXlzOwogICAgIFZlY3Rv
cjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7CkBAIC0yNDU4LDYgKzI0NTgsOSBAQCB2
b2lkIFRlc3RSdW5uZXI6OnNldE1vY2tHYW1lcGFkRGV0YWlscyh1bnNpZ25lZCBpbmRleCwgSlNT
dHJpbmdSZWYgZ2FtZXBhZElELCB1bgogICAgIGtleXMuYXBwZW5kKGFkb3B0V0soV0tTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcoIkdhbWVwYWRJRCIpKSk7CiAgICAgdmFsdWVzLmFwcGVuZCh0
b1dLKGdhbWVwYWRJRCkpOwogCisgICAga2V5cy5hcHBlbmQoYWRvcHRXSyhXS1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZygiTWFwcGluZyIpKSk7CisgICAgdmFsdWVzLmFwcGVuZCh0b1dLKG1h
cHBpbmcpKTsKKwogICAgIGtleXMuYXBwZW5kKGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRG
OENTdHJpbmcoIkdhbWVwYWRJbmRleCIpKSk7CiAgICAgdmFsdWVzLmFwcGVuZChhZG9wdFdLKFdL
VUludDY0Q3JlYXRlKGluZGV4KSkpOwogCkBAIC0yNTUxLDcgKzI1NTQsNyBAQCB2b2lkIFRlc3RS
dW5uZXI6OmRpc2Nvbm5lY3RNb2NrR2FtZXBhZCh1bnNpZ25lZCkKIHsKIH0KIAotdm9pZCBUZXN0
UnVubmVyOjpzZXRNb2NrR2FtZXBhZERldGFpbHModW5zaWduZWQsIEpTU3RyaW5nUmVmLCB1bnNp
Z25lZCwgdW5zaWduZWQpCit2b2lkIFRlc3RSdW5uZXI6OnNldE1vY2tHYW1lcGFkRGV0YWlscyh1
bnNpZ25lZCwgSlNTdHJpbmdSZWYsIEpTU3RyaW5nUmVmLCB1bnNpZ25lZCwgdW5zaWduZWQpCiB7
CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmgKaW5kZXggOTU1ZGQwZjcxZmIzZDk1OTUwODVkMDU2YjQ5OGY3NzY0M2Y5YWFmNC4u
YzNjMTA0NTNlOTMyOGViY2U4OTViNmFhMmZhYTgxYzFhZGYyYmFhMiAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKQEAgLTM3NSw3
ICszNzUsNyBAQCBwdWJsaWM6CiAgICAgLy8gR2FtZXBhZHMKICAgICB2b2lkIGNvbm5lY3RNb2Nr
R2FtZXBhZCh1bnNpZ25lZCBpbmRleCk7CiAgICAgdm9pZCBkaXNjb25uZWN0TW9ja0dhbWVwYWQo
dW5zaWduZWQgaW5kZXgpOwotICAgIHZvaWQgc2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVk
IGluZGV4LCBKU1N0cmluZ1JlZiBnYW1lcGFkSUQsIHVuc2lnbmVkIGF4aXNDb3VudCwgdW5zaWdu
ZWQgYnV0dG9uQ291bnQpOworICAgIHZvaWQgc2V0TW9ja0dhbWVwYWREZXRhaWxzKHVuc2lnbmVk
IGluZGV4LCBKU1N0cmluZ1JlZiBnYW1lcGFkSUQsIEpTU3RyaW5nUmVmIG1hcHBpbmcsIHVuc2ln
bmVkIGF4aXNDb3VudCwgdW5zaWduZWQgYnV0dG9uQ291bnQpOwogICAgIHZvaWQgc2V0TW9ja0dh
bWVwYWRBeGlzVmFsdWUodW5zaWduZWQgaW5kZXgsIHVuc2lnbmVkIGF4aXNJbmRleCwgZG91Ymxl
IHZhbHVlKTsKICAgICB2b2lkIHNldE1vY2tHYW1lcGFkQnV0dG9uVmFsdWUodW5zaWduZWQgaW5k
ZXgsIHVuc2lnbmVkIGJ1dHRvbkluZGV4LCBkb3VibGUgdmFsdWUpOwogICAgIApkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAppbmRleCBmZDVmMmU5ZWVmMzhjZTVjMjU1
NDNiMmRkNjYyOWY5ZTI2ZTdkYTBkLi4yOWI5OWY4YzIzMjhkNzYyNWZjYmFlNjVlODg5N2RmNDBj
YTJiY2NhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9u
LmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcApAQCAt
MTAyOSwxNSArMTAyOSwxNyBAQCBXS1JldGFpblB0cjxXS1R5cGVSZWY+IFRlc3RJbnZvY2F0aW9u
OjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQgogICAgICAgICBXS0Rp
Y3Rpb25hcnlSZWYgbWVzc2FnZUJvZHlEaWN0aW9uYXJ5ID0gc3RhdGljX2Nhc3Q8V0tEaWN0aW9u
YXJ5UmVmPihtZXNzYWdlQm9keSk7CiAgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBn
YW1lcGFkSW5kZXhLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJH
YW1lcGFkSW5kZXgiKSk7CiAgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBnYW1lcGFk
SURLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJHYW1lcGFkSUQi
KSk7CisgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtYXBwaW5nS2V5ID0gYWRvcHRX
SyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiTWFwcGluZyIpKTsKICAgICAgICAgV0tS
ZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGF4aXNDb3VudEtleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoIkF4aXNDb3VudCIpKTsKICAgICAgICAgV0tSZXRhaW5QdHI8V0tT
dHJpbmdSZWY+IGJ1dHRvbkNvdW50S2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4
Q1N0cmluZygiQnV0dG9uQ291bnQiKSk7CiAKICAgICAgICAgV0tVSW50NjRSZWYgZ2FtZXBhZElu
ZGV4ID0gc3RhdGljX2Nhc3Q8V0tVSW50NjRSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXko
bWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBnYW1lcGFkSW5kZXhLZXkuZ2V0KCkpKTsKICAgICAgICAg
V0tTdHJpbmdSZWYgZ2FtZXBhZElEID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlv
bmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBnYW1lcGFkSURLZXkuZ2V0
KCkpKTsKKyAgICAgICAgV0tTdHJpbmdSZWYgbWFwcGluZyA9IHN0YXRpY19jYXN0PFdLU3RyaW5n
UmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgbWFw
cGluZ0tleS5nZXQoKSkpOwogICAgICAgICBXS1VJbnQ2NFJlZiBheGlzQ291bnQgPSBzdGF0aWNf
Y2FzdDxXS1VJbnQ2NFJlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURp
Y3Rpb25hcnksIGF4aXNDb3VudEtleS5nZXQoKSkpOwogICAgICAgICBXS1VJbnQ2NFJlZiBidXR0
b25Db3VudCA9IHN0YXRpY19jYXN0PFdLVUludDY0UmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9y
S2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgYnV0dG9uQ291bnRLZXkuZ2V0KCkpKTsKIAotICAg
ICAgICBXZWJDb3JlVGVzdFN1cHBvcnQ6OnNldE1vY2tHYW1lcGFkRGV0YWlscyhXS1VJbnQ2NEdl
dFZhbHVlKGdhbWVwYWRJbmRleCksIHRvV1RGU3RyaW5nKGdhbWVwYWRJRCksIFdLVUludDY0R2V0
VmFsdWUoYXhpc0NvdW50KSwgV0tVSW50NjRHZXRWYWx1ZShidXR0b25Db3VudCkpOworICAgICAg
ICBXZWJDb3JlVGVzdFN1cHBvcnQ6OnNldE1vY2tHYW1lcGFkRGV0YWlscyhXS1VJbnQ2NEdldFZh
bHVlKGdhbWVwYWRJbmRleCksIHRvV1RGU3RyaW5nKGdhbWVwYWRJRCksIHRvV1RGU3RyaW5nKG1h
cHBpbmcpLCBXS1VJbnQ2NEdldFZhbHVlKGF4aXNDb3VudCksIFdLVUludDY0R2V0VmFsdWUoYnV0
dG9uQ291bnQpKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWM3
NDk1YWQ1MmU3MjkxMTcwMWRjZjJjYWYyZWE0N2QwZmY5MjdhMi4uYTMxOTcyM2M0ZjYxMGFiZmUz
ODE3ZjcwYTg5NWYzOTQ4NjNjNGU4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTAxLTMw
ICBKYW1lcyBIb3dhcmQgIDxqYW1lc2hvd2FyZEBtYWMuY29tPgorCisgICAgICAgIFN0YW5kYXJk
IGdhbWVwYWQgbWFwcGluZyBmb3IgR2FtZUNvbnRyb2xsZXJHYW1lcGFkcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MDMzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBnYW1lcGFkL2dhbWVwYWQtcG9s
bGluZy1hY2Nlc3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGdhbWVwYWQvZ2FtZXBhZC1wb2xs
aW5nLWFjY2Vzcy5odG1sOgorICAgICAgICAqIGdhbWVwYWQvZ2FtZXBhZC10aW1lc3RhbXAuaHRt
bDoKKyAgICAgICAgKiBnYW1lcGFkL2dhbWVwYWQtdmlzaWJpbGl0eS0xLmh0bWw6CisKIDIwMjAt
MDEtMzAgIFRydWl0dCBTYXZlbGwgIDx0c2F2ZWxsQGFwcGxlLmNvbT4KIAogICAgICAgICBbIE1h
YyBdIGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXdlYmRhdGFiYXNlLXBlbmRpbmctdHJhbnNhY3Rp
b24uaHRtbCBpcyB0aW1pbmcgb3V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9nYW1lcGFkL2dh
bWVwYWQtcG9sbGluZy1hY2Nlc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZ2FtZXBhZC9n
YW1lcGFkLXBvbGxpbmctYWNjZXNzLWV4cGVjdGVkLnR4dAppbmRleCA1MmI2YmI1YzE0NmJjOGI0
MjdlNmViNjQ1MGIzNzI0MjEyMTNkOTc1Li45YzI4ZjhkNTg3MzI1YmViNDJmYmRhYzU5ODNmNzc5
ZjBiNWNiY2NmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtcG9sbGlu
Zy1hY2Nlc3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2dhbWVwYWQvZ2FtZXBhZC1w
b2xsaW5nLWFjY2Vzcy1leHBlY3RlZC50eHQKQEAgLTQsMjAyICs0LDI0MiBAQCBDb25uZWN0aW5n
IGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiAwCiBJbmRleDogMAorTWFwcGluZzog
CiBBeGVzOiAKIEJ1dHRvbnM6IAogQ29ubmVjdGluZyBnYW1lcGFkOgogW29iamVjdCBHYW1lcGFk
XSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiAxCiBJbmRleDogMQorTWFwcGluZzogCiBBeGVzOiAw
CiBCdXR0b25zOiBmYWxzZS0wIAogQ29ubmVjdGluZyBnYW1lcGFkOgogW29iamVjdCBHYW1lcGFk
XSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDIKIEluZGV4OiAyCitN
YXBwaW5nOiAKIEF4ZXM6IDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIAogQ29ubmVjdGlu
ZyBnYW1lcGFkOgogW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2Ft
ZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogMwogSW5kZXg6IDMKK01hcHBpbmc6IAogQXhl
czogMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogQ29ubmVjdGluZyBn
YW1lcGFkOgogW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdCiBOYW1lOiA0CiBJbmRleDogNAor
TWFwcGluZzogCiBBeGVzOiAwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIAogQ29ubmVjdGluZyBnYW1lcGFkOgogW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDUKIEluZGV4OiA1CitNYXBwaW5nOiAKIEF4ZXM6
IDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIAogQ29ubmVjdGluZyBnYW1lcGFkOgogW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogNgogSW5kZXg6IDYKK01hcHBp
bmc6IAogQXhlczogMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogQ29ubmVjdGluZyBnYW1lcGFkOgogW29iamVjdCBH
YW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFk
XSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2Jq
ZWN0IEdhbWVwYWRdCiBOYW1lOiA3CiBJbmRleDogNworTWFwcGluZzogCiBBeGVzOiAwLDAsMCww
LDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIAogQ29ubmVjdGluZyBnYW1lcGFkOgogW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDgKIEluZGV4OiA4CitNYXBwaW5nOiAKIEF4ZXM6
IDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogQ29ubmVjdGluZyBnYW1lcGFkOgog
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQog
TmFtZTogOQogSW5kZXg6IDkKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAKIEJ1
dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogQ29ubmVjdGluZyBnYW1lcGFkOgogW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdCiBOYW1lOiAxMAogSW5kZXg6IDEwCitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAs
MCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVw
YWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVw
YWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXQogTmFtZTogMTEKIEluZGV4OiAx
MQorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmplY3Qg
R2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29i
amVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBH
YW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDEyCiBJbmRl
eDogMTIKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogQ29ubmVjdGluZyBnYW1l
cGFkOgogW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdCiBOYW1lOiAxMwogSW5kZXg6IDEzCitNYXBwaW5nOiAKIEF4ZXM6IDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdh
bWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmpl
Y3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2Ft
ZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXQogTmFtZTogMTQKIEluZGV4OiAxNAorTWFwcGluZzogCiBBeGVzOiAw
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIENvbm5lY3RpbmcgZ2FtZXBhZDoK
IFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmpl
Y3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2Ft
ZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDE1CiBJ
bmRleDogMTUKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAK
IEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtv
YmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3Qg
R2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBh
ZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29i
amVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBH
YW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDE2CiBJbmRl
eDogMTYKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMAog
QnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIENvbm5lY3RpbmcgZ2FtZXBhZDoKIFtvYmplY3QgR2Ft
ZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdCiBOYW1lOiAxNwogSW5kZXg6IDE3CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IAogQ29ubmVjdGluZyBnYW1lcGFkOgogW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmpl
Y3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2Ft
ZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXQogTmFtZTogMTgKIEluZGV4OiAxOAorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgCiBDb25uZWN0aW5nIGdhbWVwYWQ6CiBbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2Ft
ZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVj
dCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1l
cGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxb
b2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0
IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6IDE5CiBJbmRleDogMTkKK01hcHBpbmc6
IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczog
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIFZlcmlmeWluZyB0aGVyZSBh
cmUgMjAgY29ubmVjdGVkIGdhbWVwYWRzIGluIHRoZSBzZXQgb2YgYWxsIGdhbWVwYWRzCiBbb2Jq
ZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdh
bWVwYWRdLFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRd
LFtvYmplY3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmpl
Y3QgR2FtZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2Ft
ZXBhZF0sW29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0s
W29iamVjdCBHYW1lcGFkXSxbb2JqZWN0IEdhbWVwYWRdLFtvYmplY3QgR2FtZXBhZF0KIE5hbWU6
IDAKIEluZGV4OiAwCitNYXBwaW5nOiAKIEF4ZXM6IAogQnV0dG9uczogCiBOYW1lOiAxCiBJbmRl
eDogMQorTWFwcGluZzogCiBBeGVzOiAwCiBCdXR0b25zOiBmYWxzZS0wIAogTmFtZTogMgogSW5k
ZXg6IDIKK01hcHBpbmc6IAogQXhlczogMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgCiBO
YW1lOiAzCiBJbmRleDogMworTWFwcGluZzogCiBBeGVzOiAwLDAsMAogQnV0dG9uczogZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgCiBOYW1lOiA0CiBJbmRleDogNAorTWFwcGluZzogCiBBeGVzOiAw
LDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogTmFtZTog
NQogSW5kZXg6IDUKK01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBOYW1lOiA2CiBJbmRleDogNgorTWFw
cGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBOYW1lOiA3CiBJbmRleDogNworTWFwcGluZzog
CiBBeGVzOiAwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogTmFtZTogOAogSW5kZXg6IDgKK01hcHBp
bmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBOYW1lOiA5CiBJ
bmRleDogOQorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgCiBOYW1lOiAxMAogSW5kZXg6IDEwCitNYXBwaW5nOiAKIEF4ZXM6IDAsMCww
LDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBOYW1lOiAx
MQogSW5kZXg6IDExCitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0
dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIAogTmFtZTogMTIKIEluZGV4OiAx
MgorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBOYW1lOiAxMwogSW5kZXg6IDEz
CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKIEJ1dHRvbnM6IGZh
bHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgCiBOYW1lOiAxNAog
SW5kZXg6IDE0CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMAog
QnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIAogTmFtZTogMTUKIEluZGV4OiAxNQorTWFwcGluZzogCiBBeGVzOiAwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAKIE5hbWU6IDE2CiBJbmRleDogMTYK
K01hcHBpbmc6IAogQXhlczogMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9u
czogZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCAKIE5hbWU6IDE3CiBJbmRleDogMTcKK01hcHBpbmc6IAogQXhlczog
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2Ut
MCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgCiBOYW1lOiAxOAogSW5kZXg6IDE4CitNYXBwaW5nOiAKIEF4ZXM6IDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwCiBCdXR0b25zOiBmYWxzZS0wIGZhbHNlLTAgZmFs
c2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxz
ZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNl
LTAgZmFsc2UtMCAKIE5hbWU6IDE5CiBJbmRleDogMTkKK01hcHBpbmc6IAogQXhlczogMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMAogQnV0dG9uczogZmFsc2UtMCBmYWxzZS0w
IGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAg
ZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBmYWxzZS0wIGZhbHNlLTAgZmFsc2UtMCBm
YWxzZS0wIGZhbHNlLTAgZmFsc2UtMCAKIERpc2Nvbm5lY3RpbmcgZ2FtZXBhZHMgaW4gcmV2ZXJz
ZSBvcmRlciwgbWFraW5nIHN1cmUgZ2FtZXBhZHMgYXJyYXkgcmVtYWlucyBhcyBleHBlY3RlZApA
QCAtMjQ4LDYgKzI4OCw3IEBAIENvbm5lY3RpbmcgZ2FtZXBhZDoKICwsLCwsLCwsLCxbb2JqZWN0
IEdhbWVwYWRdLCwsLCwsLCwsCiBOYW1lOiBBd2Vzb21lIEpveXN0aWNrIDUwMDAKIEluZGV4OiAx
MAorTWFwcGluZzogc3RhbmRhcmQKIEF4ZXM6IDAuNywtMC45LDEsLTEKLUJ1dHRvbnM6IHRydWUt
MSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0x
IHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEg
dHJ1ZS0xIHRydWUtMSB0cnVlLTEgCitCdXR0b25zOiB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVl
LTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgdHJ1ZS0xIHRydWUt
MSB0cnVlLTEgdHJ1ZS0xIHRydWUtMSB0cnVlLTEgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2dhbWVwYWQvZ2FtZXBhZC1wb2xsaW5nLWFjY2Vzcy5odG1sIGIvTGF5b3V0VGVzdHMvZ2FtZXBh
ZC9nYW1lcGFkLXBvbGxpbmctYWNjZXNzLmh0bWwKaW5kZXggNjQ2ZDIxOWYwZDIyNTkyMGUwM2Rl
YTViYTM1YzlhOTE2YjgxMjg0Yy4uOGRjZDJhNWM3NTc3YjJmMzA2YWZjOWZkMDgzZmZjNDc2MTRl
MDgxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZ2FtZXBhZC9nYW1lcGFkLXBvbGxpbmctYWNj
ZXNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZ2FtZXBhZC9nYW1lcGFkLXBvbGxpbmctYWNjZXNz
Lmh0bWwKQEAgLTM2LDYgKzM2LDcgQEAgZnVuY3Rpb24gbG9nR2FtZXBhZChncCkKIHsKICAgICBs
b2coIk5hbWU6ICIgKyBncC5pZCk7CiAgICAgbG9nKCJJbmRleDogIiArIGdwLmluZGV4KTsKKyAg
ICBsb2coIk1hcHBpbmc6ICIgKyBncC5tYXBwaW5nKTsKICAgICBsb2coIkF4ZXM6ICIgKyBncC5h
eGVzKTsKICAgICAKICAgICB2YXIgYnV0dG9uU3RyaW5nID0gIiI7CkBAIC01Myw3ICs1NCw3IEBA
IGZ1bmN0aW9uKiB0ZXN0U3RlcHMoKSB7CiAgICAgbG9nKCJJbml0aWFsIGdhbWVwYWRzIGxlbmd0
aDogIiArIG5hdmlnYXRvci5nZXRHYW1lcGFkcygpLmxlbmd0aCk7CiAgICAgbG9nKCJDb25uZWN0
aW5nIDIwIGRpZmZlcmVudCBnYW1lcGFkcyIpOwogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMjA7
ICsraSkgewotICAgICAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkRGV0YWlscyhpLCBpLCBp
LCBpKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZERldGFpbHMoaSwgaSwgIiIs
IGksIGkpOwogICAgICAgICB0ZXN0UnVubmVyLmNvbm5lY3RNb2NrR2FtZXBhZChpKTsKICAgICAg
ICAgeWllbGQ7CiAgICAgfQpAQCAtNzMsMTIgKzc0LDEyIEBAIGZ1bmN0aW9uKiB0ZXN0U3RlcHMo
KSB7CiAKICAgICBsb2coIkNoZWNraW5nIG5vbi16ZXJvJ2VkIGRldGFpbHMgZm9yIGEgZ2FtZXBh
ZCIpOwogCi0gICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZERldGFpbHMoMTAsICJBd2Vzb21l
IEpveXN0aWNrIDUwMDAiLCA0LCAyMCk7CisgICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZERl
dGFpbHMoMTAsICJBd2Vzb21lIEpveXN0aWNrIDUwMDAiLCAic3RhbmRhcmQiLCA0LCAxNik7CiAg
ICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSgxMCwgMCwgMC43KTsKICAgICB0
ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkQXhpc1ZhbHVlKDEwLCAxLCAtMC45KTsKICAgICB0ZXN0
UnVubmVyLnNldE1vY2tHYW1lcGFkQXhpc1ZhbHVlKDEwLCAyLCAxLjApOwogICAgIHRlc3RSdW5u
ZXIuc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUoMTAsIDMsIC0xLjApOwotICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgMjA7ICsraSkKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDE2OyArK2kpCiAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVwYWRCdXR0b25WYWx1ZSgxMCwgaSwgMS4wKTsKICAg
ICAgICAgCiAgICAgdGVzdFJ1bm5lci5jb25uZWN0TW9ja0dhbWVwYWQoMTApOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZ2FtZXBhZC9nYW1lcGFkLXRpbWVzdGFtcC5odG1sIGIvTGF5b3V0VGVz
dHMvZ2FtZXBhZC9nYW1lcGFkLXRpbWVzdGFtcC5odG1sCmluZGV4IDQ5ZWRjZWNiZTYzNWEyZGVh
NDZiMGQ2MjNjYTE3MzZhY2IxNzE4ODcuLjBiNGMwMTE4MTRhODEwMGYwOGM5Njc0NjQ5M2ZiNTVk
NWQzM2U0YmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2dhbWVwYWQvZ2FtZXBhZC10aW1lc3Rh
bXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtdGltZXN0YW1wLmh0bWwK
QEAgLTcyLDEzICs3MiwxMyBAQCBmdW5jdGlvbiBoYW5kbGVHYW1lcGFkQ29ubmVjdCgpCiBmdW5j
dGlvbiBydW5UZXN0KCkgewogICAgIGFkZEV2ZW50TGlzdGVuZXIoImdhbWVwYWRjb25uZWN0ZWQi
LCBoYW5kbGVHYW1lcGFkQ29ubmVjdCk7CiAKLSAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFk
RGV0YWlscygwLCAiVGVzdCBKb3lzdGljayIsIDIsIDIpOworICAgIHRlc3RSdW5uZXIuc2V0TW9j
a0dhbWVwYWREZXRhaWxzKDAsICJUZXN0IEpveXN0aWNrIiwgIiIsIDIsIDIpOwogICAgIHRlc3RS
dW5uZXIuc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUoMCwgMCwgMC43KTsKICAgICB0ZXN0UnVubmVy
LnNldE1vY2tHYW1lcGFkQXhpc1ZhbHVlKDAsIDEsIC0xLjApOwogICAgIHRlc3RSdW5uZXIuc2V0
TW9ja0dhbWVwYWRCdXR0b25WYWx1ZSgwLCAwLCAxLjApOwogICAgIHRlc3RSdW5uZXIuc2V0TW9j
a0dhbWVwYWRCdXR0b25WYWx1ZSgwLCAxLCAxLjApOwogICAgIHRlc3RSdW5uZXIuY29ubmVjdE1v
Y2tHYW1lcGFkKDApOwotICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVwYWREZXRhaWxzKDEsICJU
ZXN0IEpveXN0aWNrIDIiLCAyLCAyKTsKKyAgICB0ZXN0UnVubmVyLnNldE1vY2tHYW1lcGFkRGV0
YWlscygxLCAiVGVzdCBKb3lzdGljayAyIiwgIiIsIDIsIDIpOwogICAgIHRlc3RSdW5uZXIuc2V0
TW9ja0dhbWVwYWRBeGlzVmFsdWUoMSwgMCwgMC43KTsKICAgICB0ZXN0UnVubmVyLnNldE1vY2tH
YW1lcGFkQXhpc1ZhbHVlKDEsIDEsIC0xLjApOwogICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dhbWVw
YWRCdXR0b25WYWx1ZSgxLCAwLCAxLjApOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZ2FtZXBh
ZC9nYW1lcGFkLXZpc2liaWxpdHktMS5odG1sIGIvTGF5b3V0VGVzdHMvZ2FtZXBhZC9nYW1lcGFk
LXZpc2liaWxpdHktMS5odG1sCmluZGV4IDhkNTQzODlhNWE0ZTg3OTdkOGM5NzBhYzUyNjI5NTQz
OGI2ZjE5ZjAuLjA3OTYzZWY0MTYwYWUxNmFmMmQwNGY4NGFjNDRiNWE0OTIxNjc0OTIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2dhbWVwYWQvZ2FtZXBhZC12aXNpYmlsaXR5LTEuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9nYW1lcGFkL2dhbWVwYWQtdmlzaWJpbGl0eS0xLmh0bWwKQEAgLTQxLDcg
KzQxLDcgQEAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKIAogICAgIC8vIENvbm5lY3RpbmcgdGhlIGdh
bWVwYWQgYW5kIGNoYW5naW5nIGF4aXMgdmFsdWVzIHNob3VsZCAqbm90KiBtYWtlIGl0IHZpc2li
bGUuCiAgICAgLy8gT25seSBidXR0b24gcHJlc3NlcyBzaG91bGQgZXhwb3NlIGl0LgotICAgIHRl
c3RSdW5uZXIuc2V0TW9ja0dhbWVwYWREZXRhaWxzKDAsICJUZXN0IEpveXN0aWNrIiwgMiwgMik7
CisgICAgdGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZERldGFpbHMoMCwgIlRlc3QgSm95c3RpY2si
LCAiIiwgMiwgMik7CiAgICAgdGVzdFJ1bm5lci5jb25uZWN0TW9ja0dhbWVwYWQoMCk7CiAgICAg
dGVzdFJ1bm5lci5zZXRNb2NrR2FtZXBhZEF4aXNWYWx1ZSgwLCAwLCAwLjcpOwogICAgIHRlc3RS
dW5uZXIuc2V0TW9ja0dhbWVwYWRBeGlzVmFsdWUoMCwgMSwgLTEuMCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>