<?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>234405</bug_id>
          
          <creation_ts>2021-12-16 13:54:45 -0800</creation_ts>
          <short_desc>Remove unneeded webkit specific CSS attribute for Image Control Menu.</short_desc>
          <delta_ts>2022-01-05 18:17:34 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></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="Megan Gardner">megan_gardner</reporter>
          <assigned_to name="Megan Gardner">megan_gardner</assigned_to>
          <cc>achristensen</cc>
    
    <cc>akeerthi</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1824872</commentid>
    <comment_count>0</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-16 13:54:45 -0800</bug_when>
    <thetext>Remove unneeded webkit specific CSS attribute for Image Control Menu.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824873</commentid>
    <comment_count>1</comment_count>
      <attachid>447391</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-16 13:59:19 -0800</bug_when>
    <thetext>Created attachment 447391
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824907</commentid>
    <comment_count>2</comment_count>
      <attachid>447397</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-16 16:22:57 -0800</bug_when>
    <thetext>Created attachment 447397
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824908</commentid>
    <comment_count>3</comment_count>
      <attachid>447397</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-12-16 16:52:28 -0800</bug_when>
    <thetext>Comment on attachment 447397
Patch

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

&gt; Source/WebKit/ChangeLog:13
&gt; +        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
&gt; +        (-[WKWebViewConfiguration init]):

Did you actually change anything here?

&gt; Source/WebCore/rendering/RenderTheme.cpp:307
&gt; +#if ENABLE(SERVICE_CONTROLS)
&gt; +    if (ImageControlsMac::isImageControlsButtonElement(element.get()))
&gt; +        return ImageControlsButtonPart;
&gt; +#endif

It&apos;s a bit weird to see macOS code in RenderTheme which has a RenderThemeMac subclass. Can we factor this into a virtual function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824917</commentid>
    <comment_count>4</comment_count>
      <attachid>447402</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-16 17:19:58 -0800</bug_when>
    <thetext>Created attachment 447402
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824954</commentid>
    <comment_count>5</comment_count>
      <attachid>447410</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-16 18:57:51 -0800</bug_when>
    <thetext>Created attachment 447410
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824960</commentid>
    <comment_count>6</comment_count>
      <attachid>447414</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-16 19:44:10 -0800</bug_when>
    <thetext>Created attachment 447414
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825009</commentid>
    <comment_count>7</comment_count>
      <attachid>447436</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-17 00:08:35 -0800</bug_when>
    <thetext>Created attachment 447436
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825010</commentid>
    <comment_count>8</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-17 00:09:58 -0800</bug_when>
    <thetext>Patch with logging for debugging test output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825123</commentid>
    <comment_count>9</comment_count>
      <attachid>447436</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-12-17 10:38:23 -0800</bug_when>
    <thetext>Comment on attachment 447436
Patch

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

&gt; Source/WebCore/rendering/RenderThemeMac.mm:2317
&gt; +bool RenderThemeMac::isImageControl(const Element* elementPtr) const

This should take a `const Element&amp;` instead of a pointer, since you always dereference.

Can move the code you added to `RenderTheme::autoAppearanceForElement` below the `Ref element = *elementPtr;`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825786</commentid>
    <comment_count>10</comment_count>
      <attachid>447656</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-20 15:46:13 -0800</bug_when>
    <thetext>Created attachment 447656
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825795</commentid>
    <comment_count>11</comment_count>
      <attachid>447658</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-20 16:03:59 -0800</bug_when>
    <thetext>Created attachment 447658
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825802</commentid>
    <comment_count>12</comment_count>
      <attachid>447658</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-12-20 16:19:32 -0800</bug_when>
    <thetext>Comment on attachment 447658
Patch

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

&gt; Source/WebCore/css/CSSValueKeywords.in:-894
&gt; --internal-image-controls-button

Because of the way we go from CSSValueID to ControlPart (see CSSPrimitiveValueMappings.h, `CSSPrimitiveValue::operator ControlPart()`), removing this value here also requires that the enum value `ImageControlsButtonPart` is moved to the end in the ControlPart enum.

Can you make the change in ThemeTypes.h, and add a comment like &quot;// Internal-only values&quot; to separate the value?

```
enum ControlPart {
    NoControlPart,
...
#if ENABLE(ATTACHMENT_ELEMENT)
    AttachmentPart,
    BorderlessAttachmentPart,
#endif
    CapsLockIndicatorPart,
    // Internal-only values
    ImageControlsButtonPart
};
```

&gt; Source/WebCore/rendering/RenderThemeMac.mm:2317
&gt; +bool RenderThemeMac::isImageControl(const Element* elementPtr) const

https://bugs.webkit.org/show_bug.cgi?id=234405#c9</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825806</commentid>
    <comment_count>13</comment_count>
      <attachid>447658</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-20 16:28:46 -0800</bug_when>
    <thetext>Comment on attachment 447658
Patch

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

LGTM, with mine and Aditya&apos;s comments.

&gt;&gt; Source/WebCore/rendering/RenderThemeMac.mm:2317
&gt;&gt; +bool RenderThemeMac::isImageControl(const Element* elementPtr) const
&gt; 
&gt; https://bugs.webkit.org/show_bug.cgi?id=234405#c9

+1!

(Alternately — you could consider just using `ImageControlsMac::isImageControlsButtonElement` instead of adding this helper function on RenderThemeMac)

&gt; LayoutTests/fast/images/image-controls-basic.html:32
&gt; +	setInterval(() =&gt; {
&gt; +    if (hasImageControls(elem))
&gt; +        testRunner.notifyDone();
&gt; +	}, 200);

Minor nit - it looks like this test mixes spaces and tabs; let&apos;s just use spaces?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826379</commentid>
    <comment_count>14</comment_count>
      <attachid>447827</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-22 13:14:49 -0800</bug_when>
    <thetext>Created attachment 447827
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826487</commentid>
    <comment_count>15</comment_count>
      <attachid>447856</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-22 20:38:02 -0800</bug_when>
    <thetext>Created attachment 447856
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826499</commentid>
    <comment_count>16</comment_count>
      <attachid>447862</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-22 23:19:14 -0800</bug_when>
    <thetext>Created attachment 447862
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826555</commentid>
    <comment_count>17</comment_count>
      <attachid>447880</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-23 08:33:45 -0800</bug_when>
    <thetext>Created attachment 447880
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826631</commentid>
    <comment_count>18</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-23 13:55:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/86864533&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826679</commentid>
    <comment_count>19</comment_count>
      <attachid>447926</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-23 18:19:01 -0800</bug_when>
    <thetext>Created attachment 447926
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828150</commentid>
    <comment_count>20</comment_count>
      <attachid>448346</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-01-04 16:48:57 -0800</bug_when>
    <thetext>Created attachment 448346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828179</commentid>
    <comment_count>21</comment_count>
      <attachid>448346</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-04 20:37:30 -0800</bug_when>
    <thetext>Comment on attachment 448346
Patch

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

&gt; Source/WebCore/html/HTMLImageElement.cpp:748
&gt; +#endif // ENABLE(SERVICE_CONTROLS)

Should omit this comment here.

&gt; Source/WebCore/html/shadow/mac/imageControlsMac.css:42
&gt; -    appearance: -internal-image-controls-button;
&gt; +    appearance: auto;

Should we remove this line entirely instead of changing it to say &quot;auto&quot;?

&gt; Source/WebCore/platform/ThemeTypes.h:114
&gt; +    LargestControlPart = ImageControlsButtonPart
&gt; +#else
&gt; +    LargestControlPart = CapsLockIndicatorPart

Can LargestControlPart be a constant outside the enumeration rather than an enumeration value?

    constexpr ControlPart largestControlPart = ImageControlsButtonPart;

It can otherwise be the same, still right here in the header next to the enumeration.

&gt; Source/WebCore/rendering/RenderTheme.cpp:306
&gt; +#endif
&gt;      Ref element = *elementPtr;

I suggest a blank line here.

&gt; Source/WebCore/rendering/RenderTheme.h:370
&gt; +    virtual bool isImageControl(const Element*) const { return false; }

This should take a const Element&amp;, because it dereferences the pointer without checking for nullptr.

&gt; Source/WebCore/rendering/RenderThemeMac.mm:2321
&gt; +    if (ImageControlsMac::isImageControlsButtonElement(*elementPtr))
&gt; +        return true;
&gt; +    return false;

Should just be return x, rather than if (x) return true; return false;

&gt; Source/WebCore/rendering/style/RenderStyle.h:1143
&gt; +        static_assert(LargestControlPart &lt; 1 &lt;&lt; APPEARANCE_BIT_WIDTH, &quot;Control part must fit in storage bits&quot;);

I suggest we just put this static_assert outside the functions, alongside them. Since a static_assert works at runtime it does not need to be inside a function.

&gt; Source/WebCore/rendering/style/StyleRareNonInheritedData.h:69
&gt; +#define APPEARANCE_BIT_WIDTH 7

This should be a constexpr integer, not a #define.

    constexpr int appearanceBitWidth = 7;

&gt; Source/WebCore/testing/Internals.cpp:6397
&gt; +#endif // ENABLE(SERVICE_CONTROLS)

This endif doesn’t need a comment, it’s so close to the start of the #If.

&gt; Source/WebCore/testing/Internals.h:1194
&gt; +#endif // ENABLE(SERVICE_CONTROLS)

This endif doesn’t need a comment, it’s so close to the start of the #If.

&gt; LayoutTests/ChangeLog:11
&gt; +        We need to move this test to be a mac specific one, as it now has mac specific 
&gt; +        test harnessing. Also changed the test to be resistent to the async nature of adding
&gt; +        the shadow dom elements, and checking the shadow dom directly rather than the resulting layout,
&gt; +        which is prone to pixel errors.

What makes this test Mac-specific?

&gt; LayoutTests/fast/images/mac/image-controls-basic.html:32
&gt; +   		if (internals.shadowRoot(elem) &amp;&amp; internals.shadowRoot(elem).getElementById(&apos;image-controls&apos;) &amp;&amp; internals.shadowRoot(elem).getElementById(&apos;image-controls-button&apos;)) 
&gt; +   	        output += &apos;PASS: image controls exist in shadowDom&apos;;
&gt; +   		else
&gt; +   			output += &apos;FAIL: no image controls found in shadowDom&apos;;
&gt; +   		document.getElementById(&apos;log&apos;).innerHTML = output;

Broken indentation here.

&gt; LayoutTests/fast/images/mac/image-controls-basic.html:40
&gt; +    	checkForShadowDom(elem);

And here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828433</commentid>
    <comment_count>22</comment_count>
      <attachid>448346</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-01-05 15:44:35 -0800</bug_when>
    <thetext>Comment on attachment 448346
Patch

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

&gt;&gt; Source/WebCore/html/shadow/mac/imageControlsMac.css:42
&gt;&gt; +    appearance: auto;
&gt; 
&gt; Should we remove this line entirely instead of changing it to say &quot;auto&quot;?

No, default appearance is &apos;none&apos; so we need this line.

&gt;&gt; LayoutTests/ChangeLog:11
&gt;&gt; +        which is prone to pixel errors.
&gt; 
&gt; What makes this test Mac-specific?

hasImageControls - this is on Mac only, and since this test is written to wait until this returns true for async reasons the only way for the test to not time out would be for this to return true (which is blatantly not true), or for us to have a more complicated return system with a N/A return value, or... we could just run it on Mac, which the feature is Mac only anyways, so lets just run it on Mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828444</commentid>
    <comment_count>23</comment_count>
      <attachid>448448</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-01-05 16:11:26 -0800</bug_when>
    <thetext>Created attachment 448448
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828466</commentid>
    <comment_count>24</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-01-05 17:12:09 -0800</bug_when>
    <thetext>rdar://86426074</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828475</commentid>
    <comment_count>25</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-05 17:41:00 -0800</bug_when>
    <thetext>Committed r287663 (245760@main): &lt;https://commits.webkit.org/245760@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 448448.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828480</commentid>
    <comment_count>26</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-01-05 17:56:30 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828481</commentid>
    <comment_count>27</comment_count>
      <attachid>448460</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-01-05 17:56:33 -0800</bug_when>
    <thetext>Created attachment 448460
[fast-cq] Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828484</commentid>
    <comment_count>28</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-01-05 18:17:07 -0800</bug_when>
    <thetext>r287666</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447391</attachid>
            <date>2021-12-16 13:59:19 -0800</date>
            <delta_ts>2021-12-16 17:09:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234405-20211216135918.patch</filename>
            <type>text/plain</type>
            <size>8153</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmQwNTU1M2VjMzgyYzI5
YTgzMDFjNzAwMzViMGU0OGMwYzNlM2VhZi4uNTg4NmE0YThkZjJhMDk3N2EyMGNiMGY2MzA3Yzk2
MDdjMmQ0Yjk3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTEyLTE2ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVu
bmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1l
bnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0
MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICBXZSBkbyBub3QgYWN0dWFs
bHkgbmVlZCBhIHNwZWNpZmljIENTUyBhdHRyaWJ1dGUgdG8gYWNoaWV2ZSB0aGUgaW1hZ2UgY29u
dHJvbCBtZW51LAorICAgICAgICBzbyB3ZSBzaG91bGQgcmVtb3ZlIGl0IHRvIGtlZXAgV2ViS2l0
IHNwZWNpZmljIGNsdXR0ZXIgb3V0IG9mIG91ciBDU1MgaW1wbGVtZW50YXRpb24KKyAgICAgICAg
YW5kIHdlIHNob3VsZCBrZWVwIHRyYWNrIG9mIHRoZSBwcmVzZW5jZSBvZiB0aGUgaW1hZ2UgY29u
dHJvbCBtZW51IGZ1bGx5IGludGVybmFsbHkuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydGllcy5qc29uOgorICAg
ICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NT
UGFyc2VySWRpb21zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsdWVBbGxvd2VkSW5Nb2Rl
KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEltYWdlRWxlbWVudDo6c2V0QXR0YWNobWVudEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwv
c2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzczoKKyAgICAgICAgKGRpdiNpbWFnZS1jb250
cm9scyBidXR0b24jaW1hZ2UtY29udHJvbHMtYnV0dG9uKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGhlbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFkanVzdFN0
eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjphdXRvQXBwZWFyYW5jZUZvckVs
ZW1lbnQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGU6OkFkanVzdGVyOjphZGp1c3QgY29uc3QpOgorCiAyMDIxLTEyLTE0
ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIFRh
a2UgdGV4dC1hbGlnbiBvZmZzZXQgaW50byBhY2NvdW50IHdoZW4gY29tcHV0aW5nIHRoZSBSVEwg
ZGlzcGxheSBib3ggZ2VvbWV0cnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNzM1ZTMyNjQyOTAxZTViNjkyMDRkZDk3
NTFkYTc2ZTlhZWZhZTZkOS4uOTRkYzkxNGEzNGZjZDQ0MTE0YTAwZjA2ZTFkMjE3Y2FkNGNmYTEz
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0xMi0xNiAgTWVnYW4gR2FyZG5lciAg
PG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB1bm5lZWRlZCB3ZWJr
aXQgc3BlY2lmaWMgQ1NTIGF0dHJpYnV0ZSBmb3IgSW1hZ2UgQ29udHJvbCBNZW51LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NDA1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBXZSBkbyBu
b3QgYWN0dWFsbHkgbmVlZCBhIHNwZWNpZmljIENTUyBhdHRyaWJ1dGUgdG8gYWNoaWV2ZSB0aGUg
aW1hZ2UgY29udHJvbCBtZW51LAorICAgICAgICBzbyB3ZSBzaG91bGQgcmVtb3ZlIGl0IHRvIGtl
ZXAgV2ViS2l0IHNwZWNpZmljIGNsdXR0ZXIgb3V0IG9mIG91ciBDU1MgaW1wbGVtZW50YXRpb24K
KyAgICAgICAgYW5kIHdlIHNob3VsZCBrZWVwIHRyYWNrIG9mIHRoZSBwcmVzZW5jZSBvZiB0aGUg
aW1hZ2UgY29udHJvbCBtZW51IGZ1bGx5IGludGVybmFsbHkuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW06CisgICAgICAgICgtW1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24gaW5pdF0pOgorCiAyMDIxLTEyLTE0ICBBbGV4IENocmlzdGVuc2Vu
ICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIF9XS0NvbnRlbnRSdWxl
TGlzdEFjdGlvbi5yZWRpcmVjdGVkIGFuZCAubW9kaWZpZWRIZWFkZXJzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCBiNjk3ZWZkMGRiNWI5
ZDdlZmIwNzA0M2Y3ZjE5ZWI1NTI1NjkyZTJkLi43YzJhNTJmOWI3YjA4NmIxMjQwOTM0NThjNzk4
OGI3MGQ5NDc5MGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1
ZU1hcHBpbmdzLmgKQEAgLTYzNCw3ICs2MzQsOCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoQ29udHJvbFBhcnQgZSkKICNlbmRpZgogI2lm
IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBh
cnQ6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlSW50ZXJuYWxJbWFnZUNvbnRy
b2xzQnV0dG9uOworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgbV92YWx1
ZS52YWx1ZUlEID0gQ1NTVmFsdWVOb25lOwogICAgICAgICBicmVhazsKICNlbmRpZgogI2lmIEVO
QUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgppbmRleCA4
NzcwMTgxYmY4ZTRmOTY4YTljNzFiMTIyNmI2OTMyOWYyZDU4Yzc2Li5jMjU1NmI2Y2UzZGNjMjEx
MjljM2UzZmYzNjMzZjI4YWVkZDA5NGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVz
Lmpzb24KQEAgLTUxNzcsNyArNTE3Nyw2IEBACiAgICAgICAgICAgICAgICAgImNvbnRpbnVvdXMt
Y2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAgICAgICAiZGlzY3JldGUtY2Fw
YWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAgICAgICAicmF0aW5nLWxldmVsLWlu
ZGljYXRvciIsCi0gICAgICAgICAgICAgICAgIi1pbnRlcm5hbC1pbWFnZS1jb250cm9scy1idXR0
b24iLAogICAgICAgICAgICAgICAgICItYXBwbGUtcGF5LWJ1dHRvbiIsCiAgICAgICAgICAgICAg
ICAgInRleHRhcmVhIiwKICAgICAgICAgICAgICAgICAiYXR0YWNobWVudCIsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDE2YmJiMGFiYjAwNzMyZjM1NDFmMjI1Yzcy
MGU4NjY4Y2NjMWQ1ZmMuLjBjYTFkYTRmZDRhYjQ3MmY4NTM3OTY0NGQzMjVkNTU5ZDEzNjMzMjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC04OTAsOSArODkwLDYg
QEAgcmVsZXZhbmN5LWxldmVsLWluZGljYXRvcgogY29udGludW91cy1jYXBhY2l0eS1sZXZlbC1p
bmRpY2F0b3IKIGRpc2NyZXRlLWNhcGFjaXR5LWxldmVsLWluZGljYXRvcgogcmF0aW5nLWxldmVs
LWluZGljYXRvcgotI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICYmIEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTCi0taW50ZXJuYWwtaW1hZ2UtY29udHJvbHMtYnV0dG9uCi0jZW5k
aWYKICNpZiBkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVkpICYmIEVOQUJMRV9BUFBMRV9QQVkKIC1h
cHBsZS1wYXktYnV0dG9uCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UGFyc2VySWRpb21zLmNwcAppbmRleCAyNTI5NzczMWIyZmFkZGViNTA2NWZmOWJiNzZiNTg2M2Q2
ZDFmNzNjLi42NTQ0ZjI2ZjUxYTkyM2VlNjMwZTc5MThkYjkzMzg2ZmNhNWU1N2QxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwCkBAIC00MCwxMCAr
NDAsNiBAQCBib29sIGlzVmFsdWVBbGxvd2VkSW5Nb2RlKHVuc2lnbmVkIHNob3J0IGlkLCBDU1NQ
YXJzZXJNb2RlIG1vZGUpCiAgICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKTsK
ICAgICBjYXNlIENTU1ZhbHVlV2Via2l0Rm9jdXNSaW5nQ29sb3I6CiAgICAgICAgIHJldHVybiBp
c1VBU2hlZXRCZWhhdmlvcihtb2RlKSB8fCBpc1F1aXJrc01vZGVCZWhhdmlvcihtb2RlKTsKLSNp
ZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLSAgICBjYXNlIENTU1ZhbHVlSW50ZXJuYWxJbWFn
ZUNvbnRyb2xzQnV0dG9uOgotICAgICAgICByZXR1cm4gaXNVQVNoZWV0QmVoYXZpb3IobW9kZSk7
Ci0jZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAppbmRleCA3N2M5OGY1ZTA0NTk3NmY5
OTdjNTg5YmExYWM0M2M1ZmRmMWFiMjgzLi5iMzMxMzliOWJkYjY5ZjRlNzQ1NjQwODVkYzNjOTM0
ZThjZGIzNmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAg
LTMxMyw4ICszMTMsNyBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpbgogICAgICAgICBpZiAoIXBh
cnNlQ29tcG9zaXRlQW5kQmxlbmRPcGVyYXRvcih2YWx1ZSwgbV9jb21wb3NpdGVPcGVyYXRvciwg
YmxlbmRPcCkpCiAgICAgICAgICAgICBtX2NvbXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9zaXRlT3Bl
cmF0b3I6OlNvdXJjZU92ZXI7CiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0gICAgfSBl
bHNlIGlmIChuYW1lID09IHdlYmtpdGltYWdlbWVudUF0dHIpIHsKLSAgICAgICAgbV9pbWFnZU1l
bnVFbmFibGVkID0gIXZhbHVlLmlzTnVsbCgpOworICAgIH0gZWxzZSBpZiAobV9pbWFnZU1lbnVF
bmFibGVkKSB7CiAgICAgICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKICNlbmRpZgogICAgIH0g
ZWxzZSBpZiAobmFtZSA9PSBsb2FkaW5nQXR0cikgewpAQCAtNzQzLDcgKzc0Miw5IEBAIHZvaWQg
SFRNTEltYWdlRWxlbWVudDo6c2V0QXR0YWNobWVudEVsZW1lbnQoUmVmPEhUTUxBdHRhY2htZW50
RWxlbWVudD4mJiBhdHRhY2htCiAKICAgICBhdHRhY2htZW50LT5zZXRJbmxpbmVTdHlsZVByb3Bl
cnR5KENTU1Byb3BlcnR5RGlzcGxheSwgQ1NTVmFsdWVOb25lLCB0cnVlKTsKICAgICBlbnN1cmVV
c2VyQWdlbnRTaGFkb3dSb290KCkuYXBwZW5kQ2hpbGQoV1RGTW92ZShhdHRhY2htZW50KSk7Ci0g
ICAgc2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbih3ZWJraXRpbWFnZW1lbnVBdHRy
LCBlbXB0eVN0cmluZygpKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBtX2lt
YWdlTWVudUVuYWJsZWQgPSB0cnVlOworI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQogfQogCiBSZWZQdHI8SFRNTEF0dGFjaG1lbnRFbGVtZW50PiBIVE1MSW1hZ2VFbGVtZW50Ojph
dHRhY2htZW50RWxlbWVudCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKaW5kZXggZDVhNmFlZjQ2ZmJjOTI0MjEyYmIx
ZTg1NmUyNTUyN2I5YWEzZDZhZS4uMWFhNzQ3MTUxNGM4M2E0YzM4NTMxY2VlMTA5YjFlZWE0OGQ0
ZWM1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29u
dHJvbHNNYWMuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNv
bnRyb2xzTWFjLmNzcwpAQCAtMzksOCArMzksNiBAQCBkaXYjaW1hZ2UtY29udHJvbHMgYnV0dG9u
I2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CiAgICAgCiAgICAgZGlzcGxheTogYmxvY2s7CiAKLSAg
ICBhcHBlYXJhbmNlOiAtaW50ZXJuYWwtaW1hZ2UtY29udHJvbHMtYnV0dG9uOwotCiAgICAgdHJh
bnNpdGlvbjogb3BhY2l0eSAwLjI1czsKICAgICBvcGFjaXR5OiAwLjA7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCAxZGMxNGNjNTU5NGFlOGQ5YmFlZWEw
NThjOWQzNmMzYjgwZTM4YTYxLi40ZmM4MThiMzFmNTUzNTBlNmZmYWM3YjgxMzg4MzUxODMwZmQy
YTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKQEAgLTU3LDYg
KzU3LDkgQEAKICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9TdHJpbmdDb25jYXRlbmF0ZU51bWJlcnMuaD4KIAorI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRpZgogCiAjaWYgRU5B
QkxFKERBVEFMSVNUX0VMRU1FTlQpCiAjaW5jbHVkZSAiSFRNTERhdGFMaXN0RWxlbWVudC5oIgpA
QCAtODQsNiArODcsMTIgQEAgUmVuZGVyVGhlbWU6OlJlbmRlclRoZW1lKCkKIHZvaWQgUmVuZGVy
VGhlbWU6OmFkanVzdFN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCogZWxl
bWVudCwgY29uc3QgUmVuZGVyU3R5bGUqIHVzZXJBZ2VudEFwcGVhcmFuY2VTdHlsZSkKIHsKICAg
ICBhdXRvIHBhcnQgPSBzdHlsZS5lZmZlY3RpdmVBcHBlYXJhbmNlKCk7CisjaWYgRU5BQkxFKFNF
UlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKEltYWdlQ29udHJvbHNNYWM6OmlzSW1hZ2VDb250cm9s
c0J1dHRvbkVsZW1lbnQoKmVsZW1lbnQpKSB7CisgICAgICAgIHN0eWxlLnNldEVmZmVjdGl2ZUFw
cGVhcmFuY2UoSW1hZ2VDb250cm9sc0J1dHRvblBhcnQpOworICAgICAgICBwYXJ0ID0gSW1hZ2VD
b250cm9sc0J1dHRvblBhcnQ7CisgICAgfQorI2VuZGlmCiAgICAgaWYgKHBhcnQgPT0gQXV0b1Bh
cnQpIHsKICAgICAgICAgcGFydCA9IGF1dG9BcHBlYXJhbmNlRm9yRWxlbWVudChlbGVtZW50KTsK
IAo=
</data>
<flag name="commit-queue"
          id="473016"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447397</attachid>
            <date>2021-12-16 16:22:57 -0800</date>
            <delta_ts>2021-12-16 17:19:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234405-20211216162256.patch</filename>
            <type>text/plain</type>
            <size>8091</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmQwNTU1M2VjMzgyYzI5
YTgzMDFjNzAwMzViMGU0OGMwYzNlM2VhZi4uNTg4NmE0YThkZjJhMDk3N2EyMGNiMGY2MzA3Yzk2
MDdjMmQ0Yjk3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTEyLTE2ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVu
bmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1l
bnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0
MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICBXZSBkbyBub3QgYWN0dWFs
bHkgbmVlZCBhIHNwZWNpZmljIENTUyBhdHRyaWJ1dGUgdG8gYWNoaWV2ZSB0aGUgaW1hZ2UgY29u
dHJvbCBtZW51LAorICAgICAgICBzbyB3ZSBzaG91bGQgcmVtb3ZlIGl0IHRvIGtlZXAgV2ViS2l0
IHNwZWNpZmljIGNsdXR0ZXIgb3V0IG9mIG91ciBDU1MgaW1wbGVtZW50YXRpb24KKyAgICAgICAg
YW5kIHdlIHNob3VsZCBrZWVwIHRyYWNrIG9mIHRoZSBwcmVzZW5jZSBvZiB0aGUgaW1hZ2UgY29u
dHJvbCBtZW51IGZ1bGx5IGludGVybmFsbHkuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydGllcy5qc29uOgorICAg
ICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NT
UGFyc2VySWRpb21zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsdWVBbGxvd2VkSW5Nb2Rl
KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEltYWdlRWxlbWVudDo6c2V0QXR0YWNobWVudEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwv
c2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzczoKKyAgICAgICAgKGRpdiNpbWFnZS1jb250
cm9scyBidXR0b24jaW1hZ2UtY29udHJvbHMtYnV0dG9uKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGhlbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFkanVzdFN0
eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjphdXRvQXBwZWFyYW5jZUZvckVs
ZW1lbnQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGU6OkFkanVzdGVyOjphZGp1c3QgY29uc3QpOgorCiAyMDIxLTEyLTE0
ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIFRh
a2UgdGV4dC1hbGlnbiBvZmZzZXQgaW50byBhY2NvdW50IHdoZW4gY29tcHV0aW5nIHRoZSBSVEwg
ZGlzcGxheSBib3ggZ2VvbWV0cnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNzM1ZTMyNjQyOTAxZTViNjkyMDRkZDk3
NTFkYTc2ZTlhZWZhZTZkOS4uOTRkYzkxNGEzNGZjZDQ0MTE0YTAwZjA2ZTFkMjE3Y2FkNGNmYTEz
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0xMi0xNiAgTWVnYW4gR2FyZG5lciAg
PG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB1bm5lZWRlZCB3ZWJr
aXQgc3BlY2lmaWMgQ1NTIGF0dHJpYnV0ZSBmb3IgSW1hZ2UgQ29udHJvbCBNZW51LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NDA1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBXZSBkbyBu
b3QgYWN0dWFsbHkgbmVlZCBhIHNwZWNpZmljIENTUyBhdHRyaWJ1dGUgdG8gYWNoaWV2ZSB0aGUg
aW1hZ2UgY29udHJvbCBtZW51LAorICAgICAgICBzbyB3ZSBzaG91bGQgcmVtb3ZlIGl0IHRvIGtl
ZXAgV2ViS2l0IHNwZWNpZmljIGNsdXR0ZXIgb3V0IG9mIG91ciBDU1MgaW1wbGVtZW50YXRpb24K
KyAgICAgICAgYW5kIHdlIHNob3VsZCBrZWVwIHRyYWNrIG9mIHRoZSBwcmVzZW5jZSBvZiB0aGUg
aW1hZ2UgY29udHJvbCBtZW51IGZ1bGx5IGludGVybmFsbHkuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW06CisgICAgICAgICgtW1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24gaW5pdF0pOgorCiAyMDIxLTEyLTE0ICBBbGV4IENocmlzdGVuc2Vu
ICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIF9XS0NvbnRlbnRSdWxl
TGlzdEFjdGlvbi5yZWRpcmVjdGVkIGFuZCAubW9kaWZpZWRIZWFkZXJzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCBiNjk3ZWZkMGRiNWI5
ZDdlZmIwNzA0M2Y3ZjE5ZWI1NTI1NjkyZTJkLi43YzJhNTJmOWI3YjA4NmIxMjQwOTM0NThjNzk4
OGI3MGQ5NDc5MGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1
ZU1hcHBpbmdzLmgKQEAgLTYzNCw3ICs2MzQsOCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoQ29udHJvbFBhcnQgZSkKICNlbmRpZgogI2lm
IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBh
cnQ6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlSW50ZXJuYWxJbWFnZUNvbnRy
b2xzQnV0dG9uOworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgbV92YWx1
ZS52YWx1ZUlEID0gQ1NTVmFsdWVOb25lOwogICAgICAgICBicmVhazsKICNlbmRpZgogI2lmIEVO
QUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgppbmRleCA4
NzcwMTgxYmY4ZTRmOTY4YTljNzFiMTIyNmI2OTMyOWYyZDU4Yzc2Li5jMjU1NmI2Y2UzZGNjMjEx
MjljM2UzZmYzNjMzZjI4YWVkZDA5NGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVz
Lmpzb24KQEAgLTUxNzcsNyArNTE3Nyw2IEBACiAgICAgICAgICAgICAgICAgImNvbnRpbnVvdXMt
Y2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAgICAgICAiZGlzY3JldGUtY2Fw
YWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAgICAgICAicmF0aW5nLWxldmVsLWlu
ZGljYXRvciIsCi0gICAgICAgICAgICAgICAgIi1pbnRlcm5hbC1pbWFnZS1jb250cm9scy1idXR0
b24iLAogICAgICAgICAgICAgICAgICItYXBwbGUtcGF5LWJ1dHRvbiIsCiAgICAgICAgICAgICAg
ICAgInRleHRhcmVhIiwKICAgICAgICAgICAgICAgICAiYXR0YWNobWVudCIsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDE2YmJiMGFiYjAwNzMyZjM1NDFmMjI1Yzcy
MGU4NjY4Y2NjMWQ1ZmMuLjBjYTFkYTRmZDRhYjQ3MmY4NTM3OTY0NGQzMjVkNTU5ZDEzNjMzMjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC04OTAsOSArODkwLDYg
QEAgcmVsZXZhbmN5LWxldmVsLWluZGljYXRvcgogY29udGludW91cy1jYXBhY2l0eS1sZXZlbC1p
bmRpY2F0b3IKIGRpc2NyZXRlLWNhcGFjaXR5LWxldmVsLWluZGljYXRvcgogcmF0aW5nLWxldmVs
LWluZGljYXRvcgotI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICYmIEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTCi0taW50ZXJuYWwtaW1hZ2UtY29udHJvbHMtYnV0dG9uCi0jZW5k
aWYKICNpZiBkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVkpICYmIEVOQUJMRV9BUFBMRV9QQVkKIC1h
cHBsZS1wYXktYnV0dG9uCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UGFyc2VySWRpb21zLmNwcAppbmRleCAyNTI5NzczMWIyZmFkZGViNTA2NWZmOWJiNzZiNTg2M2Q2
ZDFmNzNjLi42NTQ0ZjI2ZjUxYTkyM2VlNjMwZTc5MThkYjkzMzg2ZmNhNWU1N2QxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwCkBAIC00MCwxMCAr
NDAsNiBAQCBib29sIGlzVmFsdWVBbGxvd2VkSW5Nb2RlKHVuc2lnbmVkIHNob3J0IGlkLCBDU1NQ
YXJzZXJNb2RlIG1vZGUpCiAgICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKTsK
ICAgICBjYXNlIENTU1ZhbHVlV2Via2l0Rm9jdXNSaW5nQ29sb3I6CiAgICAgICAgIHJldHVybiBp
c1VBU2hlZXRCZWhhdmlvcihtb2RlKSB8fCBpc1F1aXJrc01vZGVCZWhhdmlvcihtb2RlKTsKLSNp
ZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLSAgICBjYXNlIENTU1ZhbHVlSW50ZXJuYWxJbWFn
ZUNvbnRyb2xzQnV0dG9uOgotICAgICAgICByZXR1cm4gaXNVQVNoZWV0QmVoYXZpb3IobW9kZSk7
Ci0jZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAppbmRleCA3N2M5OGY1ZTA0NTk3NmY5
OTdjNTg5YmExYWM0M2M1ZmRmMWFiMjgzLi5iMzMxMzliOWJkYjY5ZjRlNzQ1NjQwODVkYzNjOTM0
ZThjZGIzNmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAg
LTMxMyw4ICszMTMsNyBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpbgogICAgICAgICBpZiAoIXBh
cnNlQ29tcG9zaXRlQW5kQmxlbmRPcGVyYXRvcih2YWx1ZSwgbV9jb21wb3NpdGVPcGVyYXRvciwg
YmxlbmRPcCkpCiAgICAgICAgICAgICBtX2NvbXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9zaXRlT3Bl
cmF0b3I6OlNvdXJjZU92ZXI7CiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0gICAgfSBl
bHNlIGlmIChuYW1lID09IHdlYmtpdGltYWdlbWVudUF0dHIpIHsKLSAgICAgICAgbV9pbWFnZU1l
bnVFbmFibGVkID0gIXZhbHVlLmlzTnVsbCgpOworICAgIH0gZWxzZSBpZiAobV9pbWFnZU1lbnVF
bmFibGVkKSB7CiAgICAgICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKICNlbmRpZgogICAgIH0g
ZWxzZSBpZiAobmFtZSA9PSBsb2FkaW5nQXR0cikgewpAQCAtNzQzLDcgKzc0Miw5IEBAIHZvaWQg
SFRNTEltYWdlRWxlbWVudDo6c2V0QXR0YWNobWVudEVsZW1lbnQoUmVmPEhUTUxBdHRhY2htZW50
RWxlbWVudD4mJiBhdHRhY2htCiAKICAgICBhdHRhY2htZW50LT5zZXRJbmxpbmVTdHlsZVByb3Bl
cnR5KENTU1Byb3BlcnR5RGlzcGxheSwgQ1NTVmFsdWVOb25lLCB0cnVlKTsKICAgICBlbnN1cmVV
c2VyQWdlbnRTaGFkb3dSb290KCkuYXBwZW5kQ2hpbGQoV1RGTW92ZShhdHRhY2htZW50KSk7Ci0g
ICAgc2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbih3ZWJraXRpbWFnZW1lbnVBdHRy
LCBlbXB0eVN0cmluZygpKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBtX2lt
YWdlTWVudUVuYWJsZWQgPSB0cnVlOworI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQogfQogCiBSZWZQdHI8SFRNTEF0dGFjaG1lbnRFbGVtZW50PiBIVE1MSW1hZ2VFbGVtZW50Ojph
dHRhY2htZW50RWxlbWVudCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKaW5kZXggZDVhNmFlZjQ2ZmJjOTI0MjEyYmIx
ZTg1NmUyNTUyN2I5YWEzZDZhZS4uZTJjOGNmZGY5YTJiNjAzNTg4MjJkZDE0NTk3ODk5MjhjNWM3
NGMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29u
dHJvbHNNYWMuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNv
bnRyb2xzTWFjLmNzcwpAQCAtMzksNyArMzksNyBAQCBkaXYjaW1hZ2UtY29udHJvbHMgYnV0dG9u
I2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CiAgICAgCiAgICAgZGlzcGxheTogYmxvY2s7CiAKLSAg
ICBhcHBlYXJhbmNlOiAtaW50ZXJuYWwtaW1hZ2UtY29udHJvbHMtYnV0dG9uOworICAgIGFwcGVh
cmFuY2U6IGF1dG87CiAKICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzOwogICAgIG9wYWNp
dHk6IDAuMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCmluZGV4IDFk
YzE0Y2M1NTk0YWU4ZDliYWVlYTA1OGM5ZDM2YzNiODBlMzhhNjEuLjRiM2RhYzEzNGUzMjJmM2Nl
Mzk2MjhiYTJhMmVkMDE0YThhOWE5NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lLmNwcApAQCAtNTcsNiArNTcsOSBAQAogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3ll
ZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlTnVtYmVycy5oPgogCisj
aWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisjaW5jbHVkZSAiSW1hZ2VDb250cm9sc01hYy5o
IgorI2VuZGlmCiAKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKICNpbmNsdWRlICJIVE1M
RGF0YUxpc3RFbGVtZW50LmgiCkBAIC0yOTcsNiArMzAwLDExIEBAIENvbnRyb2xQYXJ0IFJlbmRl
clRoZW1lOjphdXRvQXBwZWFyYW5jZUZvckVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudFB0
cikgY29uCiAgICAgICAgIHJldHVybiBOb0NvbnRyb2xQYXJ0OwogCiAgICAgUmVmIGVsZW1lbnQg
PSAqZWxlbWVudFB0cjsKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBp
ZiAoSW1hZ2VDb250cm9sc01hYzo6aXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudChlbGVtZW50
LmdldCgpKSkKKyAgICAgICAgcmV0dXJuIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0OworI2VuZGlm
CiAKICAgICBpZiAoaXM8SFRNTElucHV0RWxlbWVudD4oZWxlbWVudCkpIHsKICAgICAgICAgYXV0
byYgaW5wdXQgPSBkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50PihlbGVtZW50LmdldCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447402</attachid>
            <date>2021-12-16 17:19:58 -0800</date>
            <delta_ts>2021-12-16 19:02:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234405-20211216171957.patch</filename>
            <type>text/plain</type>
            <size>11786</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmQwNTU1M2VjMzgyYzI5
YTgzMDFjNzAwMzViMGU0OGMwYzNlM2VhZi4uNTg4NmE0YThkZjJhMDk3N2EyMGNiMGY2MzA3Yzk2
MDdjMmQ0Yjk3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTEyLTE2ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVu
bmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1l
bnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0
MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICBXZSBkbyBub3QgYWN0dWFs
bHkgbmVlZCBhIHNwZWNpZmljIENTUyBhdHRyaWJ1dGUgdG8gYWNoaWV2ZSB0aGUgaW1hZ2UgY29u
dHJvbCBtZW51LAorICAgICAgICBzbyB3ZSBzaG91bGQgcmVtb3ZlIGl0IHRvIGtlZXAgV2ViS2l0
IHNwZWNpZmljIGNsdXR0ZXIgb3V0IG9mIG91ciBDU1MgaW1wbGVtZW50YXRpb24KKyAgICAgICAg
YW5kIHdlIHNob3VsZCBrZWVwIHRyYWNrIG9mIHRoZSBwcmVzZW5jZSBvZiB0aGUgaW1hZ2UgY29u
dHJvbCBtZW51IGZ1bGx5IGludGVybmFsbHkuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydGllcy5qc29uOgorICAg
ICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NT
UGFyc2VySWRpb21zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsdWVBbGxvd2VkSW5Nb2Rl
KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEltYWdlRWxlbWVudDo6c2V0QXR0YWNobWVudEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwv
c2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzczoKKyAgICAgICAgKGRpdiNpbWFnZS1jb250
cm9scyBidXR0b24jaW1hZ2UtY29udHJvbHMtYnV0dG9uKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGhlbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFkanVzdFN0
eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjphdXRvQXBwZWFyYW5jZUZvckVs
ZW1lbnQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGU6OkFkanVzdGVyOjphZGp1c3QgY29uc3QpOgorCiAyMDIxLTEyLTE0
ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIFRh
a2UgdGV4dC1hbGlnbiBvZmZzZXQgaW50byBhY2NvdW50IHdoZW4gY29tcHV0aW5nIHRoZSBSVEwg
ZGlzcGxheSBib3ggZ2VvbWV0cnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNzM1ZTMyNjQyOTAxZTViNjkyMDRkZDk3
NTFkYTc2ZTlhZWZhZTZkOS4uOTRkYzkxNGEzNGZjZDQ0MTE0YTAwZjA2ZTFkMjE3Y2FkNGNmYTEz
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0xMi0xNiAgTWVnYW4gR2FyZG5lciAg
PG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB1bm5lZWRlZCB3ZWJr
aXQgc3BlY2lmaWMgQ1NTIGF0dHJpYnV0ZSBmb3IgSW1hZ2UgQ29udHJvbCBNZW51LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NDA1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBXZSBkbyBu
b3QgYWN0dWFsbHkgbmVlZCBhIHNwZWNpZmljIENTUyBhdHRyaWJ1dGUgdG8gYWNoaWV2ZSB0aGUg
aW1hZ2UgY29udHJvbCBtZW51LAorICAgICAgICBzbyB3ZSBzaG91bGQgcmVtb3ZlIGl0IHRvIGtl
ZXAgV2ViS2l0IHNwZWNpZmljIGNsdXR0ZXIgb3V0IG9mIG91ciBDU1MgaW1wbGVtZW50YXRpb24K
KyAgICAgICAgYW5kIHdlIHNob3VsZCBrZWVwIHRyYWNrIG9mIHRoZSBwcmVzZW5jZSBvZiB0aGUg
aW1hZ2UgY29udHJvbCBtZW51IGZ1bGx5IGludGVybmFsbHkuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW06CisgICAgICAgICgtW1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24gaW5pdF0pOgorCiAyMDIxLTEyLTE0ICBBbGV4IENocmlzdGVuc2Vu
ICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIF9XS0NvbnRlbnRSdWxl
TGlzdEFjdGlvbi5yZWRpcmVjdGVkIGFuZCAubW9kaWZpZWRIZWFkZXJzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCBiNjk3ZWZkMGRiNWI5
ZDdlZmIwNzA0M2Y3ZjE5ZWI1NTI1NjkyZTJkLi43YzJhNTJmOWI3YjA4NmIxMjQwOTM0NThjNzk4
OGI3MGQ5NDc5MGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1
ZU1hcHBpbmdzLmgKQEAgLTYzNCw3ICs2MzQsOCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoQ29udHJvbFBhcnQgZSkKICNlbmRpZgogI2lm
IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBh
cnQ6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlSW50ZXJuYWxJbWFnZUNvbnRy
b2xzQnV0dG9uOworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgbV92YWx1
ZS52YWx1ZUlEID0gQ1NTVmFsdWVOb25lOwogICAgICAgICBicmVhazsKICNlbmRpZgogI2lmIEVO
QUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgppbmRleCA4
NzcwMTgxYmY4ZTRmOTY4YTljNzFiMTIyNmI2OTMyOWYyZDU4Yzc2Li5jMjU1NmI2Y2UzZGNjMjEx
MjljM2UzZmYzNjMzZjI4YWVkZDA5NGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVz
Lmpzb24KQEAgLTUxNzcsNyArNTE3Nyw2IEBACiAgICAgICAgICAgICAgICAgImNvbnRpbnVvdXMt
Y2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAgICAgICAiZGlzY3JldGUtY2Fw
YWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAgICAgICAicmF0aW5nLWxldmVsLWlu
ZGljYXRvciIsCi0gICAgICAgICAgICAgICAgIi1pbnRlcm5hbC1pbWFnZS1jb250cm9scy1idXR0
b24iLAogICAgICAgICAgICAgICAgICItYXBwbGUtcGF5LWJ1dHRvbiIsCiAgICAgICAgICAgICAg
ICAgInRleHRhcmVhIiwKICAgICAgICAgICAgICAgICAiYXR0YWNobWVudCIsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDE2YmJiMGFiYjAwNzMyZjM1NDFmMjI1Yzcy
MGU4NjY4Y2NjMWQ1ZmMuLjBjYTFkYTRmZDRhYjQ3MmY4NTM3OTY0NGQzMjVkNTU5ZDEzNjMzMjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC04OTAsOSArODkwLDYg
QEAgcmVsZXZhbmN5LWxldmVsLWluZGljYXRvcgogY29udGludW91cy1jYXBhY2l0eS1sZXZlbC1p
bmRpY2F0b3IKIGRpc2NyZXRlLWNhcGFjaXR5LWxldmVsLWluZGljYXRvcgogcmF0aW5nLWxldmVs
LWluZGljYXRvcgotI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICYmIEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTCi0taW50ZXJuYWwtaW1hZ2UtY29udHJvbHMtYnV0dG9uCi0jZW5k
aWYKICNpZiBkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVkpICYmIEVOQUJMRV9BUFBMRV9QQVkKIC1h
cHBsZS1wYXktYnV0dG9uCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UGFyc2VySWRpb21zLmNwcAppbmRleCAyNTI5NzczMWIyZmFkZGViNTA2NWZmOWJiNzZiNTg2M2Q2
ZDFmNzNjLi42NTQ0ZjI2ZjUxYTkyM2VlNjMwZTc5MThkYjkzMzg2ZmNhNWU1N2QxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwCkBAIC00MCwxMCAr
NDAsNiBAQCBib29sIGlzVmFsdWVBbGxvd2VkSW5Nb2RlKHVuc2lnbmVkIHNob3J0IGlkLCBDU1NQ
YXJzZXJNb2RlIG1vZGUpCiAgICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKTsK
ICAgICBjYXNlIENTU1ZhbHVlV2Via2l0Rm9jdXNSaW5nQ29sb3I6CiAgICAgICAgIHJldHVybiBp
c1VBU2hlZXRCZWhhdmlvcihtb2RlKSB8fCBpc1F1aXJrc01vZGVCZWhhdmlvcihtb2RlKTsKLSNp
ZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLSAgICBjYXNlIENTU1ZhbHVlSW50ZXJuYWxJbWFn
ZUNvbnRyb2xzQnV0dG9uOgotICAgICAgICByZXR1cm4gaXNVQVNoZWV0QmVoYXZpb3IobW9kZSk7
Ci0jZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAppbmRleCA3N2M5OGY1ZTA0NTk3NmY5
OTdjNTg5YmExYWM0M2M1ZmRmMWFiMjgzLi5iMzMxMzliOWJkYjY5ZjRlNzQ1NjQwODVkYzNjOTM0
ZThjZGIzNmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAg
LTMxMyw4ICszMTMsNyBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpbgogICAgICAgICBpZiAoIXBh
cnNlQ29tcG9zaXRlQW5kQmxlbmRPcGVyYXRvcih2YWx1ZSwgbV9jb21wb3NpdGVPcGVyYXRvciwg
YmxlbmRPcCkpCiAgICAgICAgICAgICBtX2NvbXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9zaXRlT3Bl
cmF0b3I6OlNvdXJjZU92ZXI7CiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0gICAgfSBl
bHNlIGlmIChuYW1lID09IHdlYmtpdGltYWdlbWVudUF0dHIpIHsKLSAgICAgICAgbV9pbWFnZU1l
bnVFbmFibGVkID0gIXZhbHVlLmlzTnVsbCgpOworICAgIH0gZWxzZSBpZiAobV9pbWFnZU1lbnVF
bmFibGVkKSB7CiAgICAgICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKICNlbmRpZgogICAgIH0g
ZWxzZSBpZiAobmFtZSA9PSBsb2FkaW5nQXR0cikgewpAQCAtNzQzLDcgKzc0Miw5IEBAIHZvaWQg
SFRNTEltYWdlRWxlbWVudDo6c2V0QXR0YWNobWVudEVsZW1lbnQoUmVmPEhUTUxBdHRhY2htZW50
RWxlbWVudD4mJiBhdHRhY2htCiAKICAgICBhdHRhY2htZW50LT5zZXRJbmxpbmVTdHlsZVByb3Bl
cnR5KENTU1Byb3BlcnR5RGlzcGxheSwgQ1NTVmFsdWVOb25lLCB0cnVlKTsKICAgICBlbnN1cmVV
c2VyQWdlbnRTaGFkb3dSb290KCkuYXBwZW5kQ2hpbGQoV1RGTW92ZShhdHRhY2htZW50KSk7Ci0g
ICAgc2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbih3ZWJraXRpbWFnZW1lbnVBdHRy
LCBlbXB0eVN0cmluZygpKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBtX2lt
YWdlTWVudUVuYWJsZWQgPSB0cnVlOworI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQogfQogCiBSZWZQdHI8SFRNTEF0dGFjaG1lbnRFbGVtZW50PiBIVE1MSW1hZ2VFbGVtZW50Ojph
dHRhY2htZW50RWxlbWVudCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKaW5kZXggZDVhNmFlZjQ2ZmJjOTI0MjEyYmIx
ZTg1NmUyNTUyN2I5YWEzZDZhZS4uZTJjOGNmZGY5YTJiNjAzNTg4MjJkZDE0NTk3ODk5MjhjNWM3
NGMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29u
dHJvbHNNYWMuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNv
bnRyb2xzTWFjLmNzcwpAQCAtMzksNyArMzksNyBAQCBkaXYjaW1hZ2UtY29udHJvbHMgYnV0dG9u
I2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CiAgICAgCiAgICAgZGlzcGxheTogYmxvY2s7CiAKLSAg
ICBhcHBlYXJhbmNlOiAtaW50ZXJuYWwtaW1hZ2UtY29udHJvbHMtYnV0dG9uOworICAgIGFwcGVh
cmFuY2U6IGF1dG87CiAKICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzOwogICAgIG9wYWNp
dHk6IDAuMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCmluZGV4IDFk
YzE0Y2M1NTk0YWU4ZDliYWVlYTA1OGM5ZDM2YzNiODBlMzhhNjEuLjRiM2RhYzEzNGUzMjJmM2Nl
Mzk2MjhiYTJhMmVkMDE0YThhOWE5NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lLmNwcApAQCAtNTcsNiArNTcsOSBAQAogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3ll
ZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlTnVtYmVycy5oPgogCisj
aWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisjaW5jbHVkZSAiSW1hZ2VDb250cm9sc01hYy5o
IgorI2VuZGlmCiAKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKICNpbmNsdWRlICJIVE1M
RGF0YUxpc3RFbGVtZW50LmgiCkBAIC0yOTcsNiArMzAwLDExIEBAIENvbnRyb2xQYXJ0IFJlbmRl
clRoZW1lOjphdXRvQXBwZWFyYW5jZUZvckVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudFB0
cikgY29uCiAgICAgICAgIHJldHVybiBOb0NvbnRyb2xQYXJ0OwogCiAgICAgUmVmIGVsZW1lbnQg
PSAqZWxlbWVudFB0cjsKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBp
ZiAoSW1hZ2VDb250cm9sc01hYzo6aXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudChlbGVtZW50
LmdldCgpKSkKKyAgICAgICAgcmV0dXJuIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0OworI2VuZGlm
CiAKICAgICBpZiAoaXM8SFRNTElucHV0RWxlbWVudD4oZWxlbWVudCkpIHsKICAgICAgICAgYXV0
byYgaW5wdXQgPSBkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50PihlbGVtZW50LmdldCgpKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2lj
LWV4cGVjdGVkLnR4dAppbmRleCA1OWI3NWQ3NmEwNDhhYjQwMTViZTAyYWU2Njc0N2EyYjg1MTJk
ZGJkLi4yYjQ1ZDMyZDgyNmUxOGM1ZTI3MDVlM2NjZTAwMzY4MTQ5NGJkMDFmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKLSAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAotICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4Mjc2CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgyNzYKKyAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgyNjAKICAgICAgIFJlbmRlcklt
YWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2Ut
Y29udHJvbHMtYmFzaWMuaHRtbAppbmRleCAyNGQwNWYzNWI0YjYxY2Q0N2VhYzVmYzQxMDNmZjM0
MmJhZmYyMDQxLi4yNzMzNzEzNDZiMzBiYjMyYTk5YmY1OTI0YTdiNGU4MmJmMzc1NmY0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwK
QEAgLTEsOCArMSwxOCBAQAotIDxzY3JpcHQ+Ci1pZiAod2luZG93LmludGVybmFscykKKyA8IURP
Q1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIEF0dGFjaG1lbnRFbGVtZW50RW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CiAJaW50ZXJuYWxzLnNldHRpbmdzLnNldEltYWdlQ29udHJvbHNFbmFibGVkKHRy
dWUpOworfQogCiA8L3NjcmlwdD4KKzwvaGVhZD4KIDxib2R5PgotPGltZyBzcmM9InJlc291cmNl
cy9ncmVlbi0yNTZ4MjU2LmpwZyIgeC13ZWJraXQtaW1hZ2VtZW51PgotPC9ib2R5PgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKKzxpbWcgaWQ9InRhcmdldCIgc3JjPSJyZXNvdXJjZXMvZ3Jl
ZW4tMjU2eDI1Ni5qcGciPgorPHNjcmlwdD4KKwl2YXIgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQiKTsKKwl2YXIgSUQgPSBIVE1MQXR0YWNobWVudEVsZW1lbnQuZ2V0QXR0
YWNobWVudElkZW50aWZpZXIoZWxlbSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0
CmluZGV4IDkyNGIyOWQ1M2M1OWY1ZThlYmY3ZjMyZGQ0OTYzYzA4NjE5NTc0NTAuLjhhOWMxMWEy
YWFlNWMxNDA4NjdmODliMGRmZGM5YTM3MzYzYjQ4YjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWNhdGFsaW5hL2Zhc3Qv
aW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMSwxMCArMSwxMSBA
QAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgODAweDYwMAotICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgNzg0eDU4NAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mjc2CisgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgyNzYKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDc4NHgyNjAKICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUg
MjU2eDI1NgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKIGxheWVyIGF0ICg4LDgpIHNp
emUgMjU2eDI1NgogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQg
KDAsMCkgc2l6ZSAyNTZ4MjU2IFtjb2xvcj0jMDAwMDAwMDBdCiBsYXllciBhdCAoMjE1LDMwKSBz
aXplIDI3eDI2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFn
ZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dAppbmRl
eCA4MzIxM2EzY2RmOWEzMGJjOTNiYzg4NzAxMmRiNDdmM2Q0NDU2ZjVjLi4xMzJjMTQ2OWRmZTdm
ZTE4Y2RhOWRmMjlhZTc4MDU0NjBjNjkzOTc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1i
YXNpYy1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsMTEgQEAKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKLSAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDI3NgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4
MDB4Mjc2CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MjYwCiAgICAg
ICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMHgwCiBsYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYKICAgUmVuZGVyQmxv
Y2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NiBbY29s
b3I9IzAwMDAwMDAwXQogbGF5ZXIgYXQgKDIxNCwzMCkgc2l6ZSAyOHgyNgo=
</data>
<flag name="commit-queue"
          id="473026"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447410</attachid>
            <date>2021-12-16 18:57:51 -0800</date>
            <delta_ts>2021-12-16 19:44:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234405-20211216185750.patch</filename>
            <type>text/plain</type>
            <size>12750</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmQwNTU1M2VjMzgyYzI5
YTgzMDFjNzAwMzViMGU0OGMwYzNlM2VhZi4uNTg4NmE0YThkZjJhMDk3N2EyMGNiMGY2MzA3Yzk2
MDdjMmQ0Yjk3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTEyLTE2ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVu
bmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1l
bnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0
MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICBXZSBkbyBub3QgYWN0dWFs
bHkgbmVlZCBhIHNwZWNpZmljIENTUyBhdHRyaWJ1dGUgdG8gYWNoaWV2ZSB0aGUgaW1hZ2UgY29u
dHJvbCBtZW51LAorICAgICAgICBzbyB3ZSBzaG91bGQgcmVtb3ZlIGl0IHRvIGtlZXAgV2ViS2l0
IHNwZWNpZmljIGNsdXR0ZXIgb3V0IG9mIG91ciBDU1MgaW1wbGVtZW50YXRpb24KKyAgICAgICAg
YW5kIHdlIHNob3VsZCBrZWVwIHRyYWNrIG9mIHRoZSBwcmVzZW5jZSBvZiB0aGUgaW1hZ2UgY29u
dHJvbCBtZW51IGZ1bGx5IGludGVybmFsbHkuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydGllcy5qc29uOgorICAg
ICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NT
UGFyc2VySWRpb21zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsdWVBbGxvd2VkSW5Nb2Rl
KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEltYWdlRWxlbWVudDo6c2V0QXR0YWNobWVudEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwv
c2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzczoKKyAgICAgICAgKGRpdiNpbWFnZS1jb250
cm9scyBidXR0b24jaW1hZ2UtY29udHJvbHMtYnV0dG9uKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGhlbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFkanVzdFN0
eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjphdXRvQXBwZWFyYW5jZUZvckVs
ZW1lbnQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGU6OkFkanVzdGVyOjphZGp1c3QgY29uc3QpOgorCiAyMDIxLTEyLTE0
ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIFRh
a2UgdGV4dC1hbGlnbiBvZmZzZXQgaW50byBhY2NvdW50IHdoZW4gY29tcHV0aW5nIHRoZSBSVEwg
ZGlzcGxheSBib3ggZ2VvbWV0cnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNzM1ZTMyNjQyOTAxZTViNjkyMDRkZDk3
NTFkYTc2ZTlhZWZhZTZkOS4uOTRkYzkxNGEzNGZjZDQ0MTE0YTAwZjA2ZTFkMjE3Y2FkNGNmYTEz
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0xMi0xNiAgTWVnYW4gR2FyZG5lciAg
PG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB1bm5lZWRlZCB3ZWJr
aXQgc3BlY2lmaWMgQ1NTIGF0dHJpYnV0ZSBmb3IgSW1hZ2UgQ29udHJvbCBNZW51LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NDA1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBXZSBkbyBu
b3QgYWN0dWFsbHkgbmVlZCBhIHNwZWNpZmljIENTUyBhdHRyaWJ1dGUgdG8gYWNoaWV2ZSB0aGUg
aW1hZ2UgY29udHJvbCBtZW51LAorICAgICAgICBzbyB3ZSBzaG91bGQgcmVtb3ZlIGl0IHRvIGtl
ZXAgV2ViS2l0IHNwZWNpZmljIGNsdXR0ZXIgb3V0IG9mIG91ciBDU1MgaW1wbGVtZW50YXRpb24K
KyAgICAgICAgYW5kIHdlIHNob3VsZCBrZWVwIHRyYWNrIG9mIHRoZSBwcmVzZW5jZSBvZiB0aGUg
aW1hZ2UgY29udHJvbCBtZW51IGZ1bGx5IGludGVybmFsbHkuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW06CisgICAgICAgICgtW1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24gaW5pdF0pOgorCiAyMDIxLTEyLTE0ICBBbGV4IENocmlzdGVuc2Vu
ICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIF9XS0NvbnRlbnRSdWxl
TGlzdEFjdGlvbi5yZWRpcmVjdGVkIGFuZCAubW9kaWZpZWRIZWFkZXJzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCBiNjk3ZWZkMGRiNWI5
ZDdlZmIwNzA0M2Y3ZjE5ZWI1NTI1NjkyZTJkLi43YzJhNTJmOWI3YjA4NmIxMjQwOTM0NThjNzk4
OGI3MGQ5NDc5MGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1
ZU1hcHBpbmdzLmgKQEAgLTYzNCw3ICs2MzQsOCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoQ29udHJvbFBhcnQgZSkKICNlbmRpZgogI2lm
IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBh
cnQ6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlSW50ZXJuYWxJbWFnZUNvbnRy
b2xzQnV0dG9uOworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgbV92YWx1
ZS52YWx1ZUlEID0gQ1NTVmFsdWVOb25lOwogICAgICAgICBicmVhazsKICNlbmRpZgogI2lmIEVO
QUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgppbmRleCA4
NzcwMTgxYmY4ZTRmOTY4YTljNzFiMTIyNmI2OTMyOWYyZDU4Yzc2Li5jMjU1NmI2Y2UzZGNjMjEx
MjljM2UzZmYzNjMzZjI4YWVkZDA5NGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVz
Lmpzb24KQEAgLTUxNzcsNyArNTE3Nyw2IEBACiAgICAgICAgICAgICAgICAgImNvbnRpbnVvdXMt
Y2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAgICAgICAiZGlzY3JldGUtY2Fw
YWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAgICAgICAicmF0aW5nLWxldmVsLWlu
ZGljYXRvciIsCi0gICAgICAgICAgICAgICAgIi1pbnRlcm5hbC1pbWFnZS1jb250cm9scy1idXR0
b24iLAogICAgICAgICAgICAgICAgICItYXBwbGUtcGF5LWJ1dHRvbiIsCiAgICAgICAgICAgICAg
ICAgInRleHRhcmVhIiwKICAgICAgICAgICAgICAgICAiYXR0YWNobWVudCIsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDE2YmJiMGFiYjAwNzMyZjM1NDFmMjI1Yzcy
MGU4NjY4Y2NjMWQ1ZmMuLjBjYTFkYTRmZDRhYjQ3MmY4NTM3OTY0NGQzMjVkNTU5ZDEzNjMzMjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC04OTAsOSArODkwLDYg
QEAgcmVsZXZhbmN5LWxldmVsLWluZGljYXRvcgogY29udGludW91cy1jYXBhY2l0eS1sZXZlbC1p
bmRpY2F0b3IKIGRpc2NyZXRlLWNhcGFjaXR5LWxldmVsLWluZGljYXRvcgogcmF0aW5nLWxldmVs
LWluZGljYXRvcgotI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICYmIEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTCi0taW50ZXJuYWwtaW1hZ2UtY29udHJvbHMtYnV0dG9uCi0jZW5k
aWYKICNpZiBkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVkpICYmIEVOQUJMRV9BUFBMRV9QQVkKIC1h
cHBsZS1wYXktYnV0dG9uCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UGFyc2VySWRpb21zLmNwcAppbmRleCAyNTI5NzczMWIyZmFkZGViNTA2NWZmOWJiNzZiNTg2M2Q2
ZDFmNzNjLi42NTQ0ZjI2ZjUxYTkyM2VlNjMwZTc5MThkYjkzMzg2ZmNhNWU1N2QxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwCkBAIC00MCwxMCAr
NDAsNiBAQCBib29sIGlzVmFsdWVBbGxvd2VkSW5Nb2RlKHVuc2lnbmVkIHNob3J0IGlkLCBDU1NQ
YXJzZXJNb2RlIG1vZGUpCiAgICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKTsK
ICAgICBjYXNlIENTU1ZhbHVlV2Via2l0Rm9jdXNSaW5nQ29sb3I6CiAgICAgICAgIHJldHVybiBp
c1VBU2hlZXRCZWhhdmlvcihtb2RlKSB8fCBpc1F1aXJrc01vZGVCZWhhdmlvcihtb2RlKTsKLSNp
ZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLSAgICBjYXNlIENTU1ZhbHVlSW50ZXJuYWxJbWFn
ZUNvbnRyb2xzQnV0dG9uOgotICAgICAgICByZXR1cm4gaXNVQVNoZWV0QmVoYXZpb3IobW9kZSk7
Ci0jZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAppbmRleCA3N2M5OGY1ZTA0NTk3NmY5
OTdjNTg5YmExYWM0M2M1ZmRmMWFiMjgzLi45MzlkNDU5NDYyMjA0NzhkYmEzZDljZGFiYWE3NDlj
ZjdhNjU4ODJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAg
LTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJFZGl0
b3IuaCIKICNpbmNsdWRlICJFbGVtZW50SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJFdmVudExvb3Au
aCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5j
bHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIKQEAgLTMxMyw4ICszMTQsNyBAQCB2b2lkIEhUTUxJ
bWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNv
bnN0IEF0b21TdHJpbgogICAgICAgICBpZiAoIXBhcnNlQ29tcG9zaXRlQW5kQmxlbmRPcGVyYXRv
cih2YWx1ZSwgbV9jb21wb3NpdGVPcGVyYXRvciwgYmxlbmRPcCkpCiAgICAgICAgICAgICBtX2Nv
bXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9zaXRlT3BlcmF0b3I6OlNvdXJjZU92ZXI7CiAjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0gICAgfSBlbHNlIGlmIChuYW1lID09IHdlYmtpdGltYWdl
bWVudUF0dHIpIHsKLSAgICAgICAgbV9pbWFnZU1lbnVFbmFibGVkID0gIXZhbHVlLmlzTnVsbCgp
OworICAgIH0gZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkKSB7CiAgICAgICAgIHVwZGF0ZUlt
YWdlQ29udHJvbHMoKTsKICNlbmRpZgogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBsb2FkaW5nQXR0
cikgewpAQCAtNzQzLDcgKzc0Myw5IEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6c2V0QXR0YWNo
bWVudEVsZW1lbnQoUmVmPEhUTUxBdHRhY2htZW50RWxlbWVudD4mJiBhdHRhY2htCiAKICAgICBh
dHRhY2htZW50LT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5RGlzcGxheSwgQ1NT
VmFsdWVOb25lLCB0cnVlKTsKICAgICBlbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KCkuYXBwZW5k
Q2hpbGQoV1RGTW92ZShhdHRhY2htZW50KSk7Ci0gICAgc2V0QXR0cmlidXRlV2l0aG91dFN5bmNo
cm9uaXphdGlvbih3ZWJraXRpbWFnZW1lbnVBdHRyLCBlbXB0eVN0cmluZygpKTsKKyNpZiBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBtX2ltYWdlTWVudUVuYWJsZWQgPSB0cnVlOworI2Vu
ZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogfQogCiBSZWZQdHI8SFRNTEF0dGFjaG1l
bnRFbGVtZW50PiBIVE1MSW1hZ2VFbGVtZW50OjphdHRhY2htZW50RWxlbWVudCgpIGNvbnN0CkBA
IC03NzUsMTEgKzc3NywxMyBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnVwZGF0ZUltYWdlQ29u
dHJvbHMoKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCku
aW1hZ2VDb250cm9sc0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwotICAgIGJvb2wgaGFzQ29u
dHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xzKCk7Ci0gICAgaWYgKCFtX2ltYWdlTWVudUVuYWJsZWQg
JiYgaGFzQ29udHJvbHMpCi0gICAgICAgIGRlc3Ryb3lJbWFnZUNvbnRyb2xzKCk7Ci0gICAgZWxz
ZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkICYmICFoYXNDb250cm9scykKLSAgICAgICAgdHJ5Q3Jl
YXRlSW1hZ2VDb250cm9scygpOworICAgIGRvY3VtZW50KCkuZXZlbnRMb29wKCkucXVldWVUYXNr
KFRhc2tTb3VyY2U6OkludGVybmFsQXN5bmNUYXNrLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJl
ZiB7ICp0aGlzIH1dIHsKKyAgICAgICAgYm9vbCBoYXNDb250cm9scyA9IGhhc0ltYWdlQ29udHJv
bHMoKTsKKyAgICAgICAgaWYgKCFtX2ltYWdlTWVudUVuYWJsZWQgJiYgaGFzQ29udHJvbHMpCisg
ICAgICAgICAgICBkZXN0cm95SW1hZ2VDb250cm9scygpOworICAgICAgICBlbHNlIGlmIChtX2lt
YWdlTWVudUVuYWJsZWQgJiYgIWhhc0NvbnRyb2xzKQorICAgICAgICAgICAgdHJ5Q3JlYXRlSW1h
Z2VDb250cm9scygpOworICAgIH0pOwogfQogCiB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNy
ZWF0ZUltYWdlQ29udHJvbHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
bWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzCmluZGV4IGQ1YTZhZWY0NmZiYzkyNDIxMmJiMWU4NTZl
MjU1MjdiOWFhM2Q2YWUuLmUyYzhjZmRmOWEyYjYwMzU4ODIyZGQxNDU5Nzg5OTI4YzVjNzRjMGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xz
TWFjLmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9s
c01hYy5jc3MKQEAgLTM5LDcgKzM5LDcgQEAgZGl2I2ltYWdlLWNvbnRyb2xzIGJ1dHRvbiNpbWFn
ZS1jb250cm9scy1idXR0b24gewogICAgIAogICAgIGRpc3BsYXk6IGJsb2NrOwogCi0gICAgYXBw
ZWFyYW5jZTogLWludGVybmFsLWltYWdlLWNvbnRyb2xzLWJ1dHRvbjsKKyAgICBhcHBlYXJhbmNl
OiBhdXRvOwogCiAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1czsKICAgICBvcGFjaXR5OiAw
LjA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCAxZGMxNGNj
NTU5NGFlOGQ5YmFlZWEwNThjOWQzNmMzYjgwZTM4YTYxLi40YjNkYWMxMzRlMzIyZjNjZTM5NjI4
YmEyYTJlZDAxNGE4YTlhOTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHAKQEAgLTU3LDYgKzU3LDkgQEAKICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZU51bWJlcnMuaD4KIAorI2lmIEVO
QUJMRShTRVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNl
bmRpZgogCiAjaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpCiAjaW5jbHVkZSAiSFRNTERhdGFM
aXN0RWxlbWVudC5oIgpAQCAtMjk3LDYgKzMwMCwxMSBAQCBDb250cm9sUGFydCBSZW5kZXJUaGVt
ZTo6YXV0b0FwcGVhcmFuY2VGb3JFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnRQdHIpIGNv
bgogICAgICAgICByZXR1cm4gTm9Db250cm9sUGFydDsKIAogICAgIFJlZiBlbGVtZW50ID0gKmVs
ZW1lbnRQdHI7CisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKElt
YWdlQ29udHJvbHNNYWM6OmlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoZWxlbWVudC5nZXQo
KSkpCisgICAgICAgIHJldHVybiBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDsKKyNlbmRpZgogCiAg
ICAgaWYgKGlzPEhUTUxJbnB1dEVsZW1lbnQ+KGVsZW1lbnQpKSB7CiAgICAgICAgIGF1dG8mIGlu
cHV0ID0gZG93bmNhc3Q8SFRNTElucHV0RWxlbWVudD4oZWxlbWVudC5nZXQoKSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBl
Y3RlZC50eHQKaW5kZXggNTliNzVkNzZhMDQ4YWI0MDE1YmUwMmFlNjY3NDdhMmI4NTEyZGRiZC4u
MmI0NWQzMmQ4MjZlMThjNWUyNzA1ZTNjY2UwMDM2ODE0OTRiZDAxZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVk
LnR4dApAQCAtMSw3ICsxLDcgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
Ci0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDI3NgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4Mjc2CisgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MjYwCiAgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2Ut
Y29udHJvbHMtYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRy
b2xzLWJhc2ljLmh0bWwKaW5kZXggMjRkMDVmMzViNGI2MWNkNDdlYWM1ZmM0MTAzZmYzNDJiYWZm
MjA0MS4uMjczMzcxMzQ2YjMwYmIzMmE5OWJmNTkyNGE3YjRlODJiZjM3NTZmNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sCkBAIC0x
LDggKzEsMTggQEAKLSA8c2NyaXB0PgotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgPCFET0NUWVBF
IGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBBdHRhY2htZW50RWxlbWVudEVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFs
cykgewogCWludGVybmFscy5zZXR0aW5ncy5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZCh0cnVlKTsK
K30KIAogPC9zY3JpcHQ+Cis8L2hlYWQ+CiA8Ym9keT4KLTxpbWcgc3JjPSJyZXNvdXJjZXMvZ3Jl
ZW4tMjU2eDI1Ni5qcGciIHgtd2Via2l0LWltYWdlbWVudT4KLTwvYm9keT4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCis8aW1nIGlkPSJ0YXJnZXQiIHNyYz0icmVzb3VyY2VzL2dyZWVuLTI1
NngyNTYuanBnIj4KKzxzY3JpcHQ+CisJdmFyIGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGFyZ2V0Iik7CisJdmFyIElEID0gSFRNTEF0dGFjaG1lbnRFbGVtZW50LmdldEF0dGFjaG1l
bnRJZGVudGlmaWVyKGVsZW0pOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2Ut
Y29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWNh
dGFsaW5hL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dAppbmRl
eCA5MjRiMjlkNTNjNTlmNWU4ZWJmN2YzMmRkNDk2M2MwODYxOTU3NDUwLi44YTljMTFhMmFhZTVj
MTQwODY3Zjg5YjBkZmRjOWEzNzM2M2I0OGI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdl
cy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsMTEgQEAKIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDc4NHg1ODQKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDI3NgorICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA4MDB4Mjc2CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA3ODR4MjYwCiAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1Nngy
NTYKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiBsYXllciBhdCAoOCw4KSBzaXplIDI1
NngyNTYKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDAp
IHNpemUgMjU2eDI1NiBbY29sb3I9IzAwMDAwMDAwXQogbGF5ZXIgYXQgKDIxNSwzMCkgc2l6ZSAy
N3gyNgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2lt
YWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKaW5kZXggODMy
MTNhM2NkZjlhMzBiYzkzYmM4ODcwMTJkYjQ3ZjNkNDQ1NmY1Yy4uMTMyYzE0NjlkZmU3ZmUxOGNk
YTlkZjI5YWU3ODA1NDYwYzY5Mzk3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMt
ZXhwZWN0ZWQudHh0CkBAIC0xLDEwICsxLDExIEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAotICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0g
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CitsYXllciBhdCAoMCww
KSBzaXplIDgwMHgyNzYKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDI3
NgorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDI2MAogICAgICAgUmVu
ZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2CiAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDB4MAogbGF5ZXIgYXQgKDgsOCkgc2l6ZSAyNTZ4MjU2CiAgIFJlbmRlckJsb2NrIChy
ZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDI1NngyNTYgW2NvbG9yPSMw
MDAwMDAwMF0KIGxheWVyIGF0ICgyMTQsMzApIHNpemUgMjh4MjYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447414</attachid>
            <date>2021-12-16 19:44:10 -0800</date>
            <delta_ts>2021-12-17 00:08:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234405-20211216194410.patch</filename>
            <type>text/plain</type>
            <size>15144</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmQwNTU1M2VjMzgyYzI5
YTgzMDFjNzAwMzViMGU0OGMwYzNlM2VhZi4uMzczOTQyZmM2ZDU1NWVjOWRjYjg2ZGE4MWE1M2M1
ZmFkNWY0YzRjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTEyLTE2ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVu
bmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1l
bnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0
MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICBXZSBkbyBub3QgYWN0dWFs
bHkgbmVlZCBhIHNwZWNpZmljIENTUyBhdHRyaWJ1dGUgdG8gYWNoaWV2ZSB0aGUgaW1hZ2UgY29u
dHJvbCBtZW51LAorICAgICAgICBzbyB3ZSBzaG91bGQgcmVtb3ZlIGl0IHRvIGtlZXAgV2ViS2l0
IHNwZWNpZmljIGNsdXR0ZXIgb3V0IG9mIG91ciBDU1MgaW1wbGVtZW50YXRpb24KKyAgICAgICAg
YW5kIHdlIHNob3VsZCBrZWVwIHRyYWNrIG9mIHRoZSBwcmVzZW5jZSBvZiB0aGUgaW1hZ2UgY29u
dHJvbCBtZW51IGZ1bGx5IGludGVybmFsbHkuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydGllcy5qc29uOgorICAg
ICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NT
UGFyc2VySWRpb21zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsdWVBbGxvd2VkSW5Nb2Rl
KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEltYWdlRWxlbWVudDo6c2V0QXR0YWNobWVudEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6dXBkYXRlSW1hZ2VDb250cm9scyk6CisgICAgICAgICogaHRt
bC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzOgorICAgICAgICAoZGl2I2ltYWdlLWNv
bnRyb2xzIGJ1dHRvbiNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YXV0b0Fw
cGVhcmFuY2VGb3JFbGVtZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjppc0ltYWdlQ29udHJvbCBjb25z
dCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OmlzSW1hZ2VDb250cm9sIGNvbnN0KToKKwogMjAyMS0xMi0xNCAgQWxhbiBCdWp0YXMgIDx6
YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBUYWtlIHRleHQtYWxpZ24gb2Zm
c2V0IGludG8gYWNjb3VudCB3aGVuIGNvbXB1dGluZyB0aGUgUlRMIGRpc3BsYXkgYm94IGdlb21l
dHJ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBw
aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApp
bmRleCBiNjk3ZWZkMGRiNWI5ZDdlZmIwNzA0M2Y3ZjE5ZWI1NTI1NjkyZTJkLi43YzJhNTJmOWI3
YjA4NmIxMjQwOTM0NThjNzk4OGI3MGQ5NDc5MGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTYzNCw3ICs2MzQsOCBAQCB0ZW1wbGF0
ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoQ29udHJvbFBh
cnQgZSkKICNlbmRpZgogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIGNhc2UgSW1h
Z2VDb250cm9sc0J1dHRvblBhcnQ6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVl
SW50ZXJuYWxJbWFnZUNvbnRyb2xzQnV0dG9uOworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVOb25lOwogICAgICAgICBicmVh
azsKICNlbmRpZgogI2lmIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbgppbmRleCA4NzcwMTgxYmY4ZTRmOTY4YTljNzFiMTIyNmI2OTMyOWYyZDU4Yzc2
Li5jMjU1NmI2Y2UzZGNjMjExMjljM2UzZmYzNjMzZjI4YWVkZDA5NGFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTUxNzcsNyArNTE3Nyw2IEBACiAgICAgICAgICAg
ICAgICAgImNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAg
ICAgICAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAgICAg
ICAicmF0aW5nLWxldmVsLWluZGljYXRvciIsCi0gICAgICAgICAgICAgICAgIi1pbnRlcm5hbC1p
bWFnZS1jb250cm9scy1idXR0b24iLAogICAgICAgICAgICAgICAgICItYXBwbGUtcGF5LWJ1dHRv
biIsCiAgICAgICAgICAgICAgICAgInRleHRhcmVhIiwKICAgICAgICAgICAgICAgICAiYXR0YWNo
bWVudCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5p
biBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDE2YmJiMGFi
YjAwNzMyZjM1NDFmMjI1YzcyMGU4NjY4Y2NjMWQ1ZmMuLjBjYTFkYTRmZDRhYjQ3MmY4NTM3OTY0
NGQzMjVkNTU5ZDEzNjMzMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmlu
CkBAIC04OTAsOSArODkwLDYgQEAgcmVsZXZhbmN5LWxldmVsLWluZGljYXRvcgogY29udGludW91
cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IKIGRpc2NyZXRlLWNhcGFjaXR5LWxldmVsLWluZGlj
YXRvcgogcmF0aW5nLWxldmVsLWluZGljYXRvcgotI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTCi0taW50ZXJuYWwtaW1hZ2UtY29u
dHJvbHMtYnV0dG9uCi0jZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVkpICYmIEVO
QUJMRV9BUFBMRV9QQVkKIC1hcHBsZS1wYXktYnV0dG9uCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAppbmRleCAyNTI5NzczMWIyZmFkZGVi
NTA2NWZmOWJiNzZiNTg2M2Q2ZDFmNzNjLi42NTQ0ZjI2ZjUxYTkyM2VlNjMwZTc5MThkYjkzMzg2
ZmNhNWU1N2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNl
cklkaW9tcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlv
bXMuY3BwCkBAIC00MCwxMCArNDAsNiBAQCBib29sIGlzVmFsdWVBbGxvd2VkSW5Nb2RlKHVuc2ln
bmVkIHNob3J0IGlkLCBDU1NQYXJzZXJNb2RlIG1vZGUpCiAgICAgICAgIHJldHVybiBpc1VBU2hl
ZXRCZWhhdmlvcihtb2RlKTsKICAgICBjYXNlIENTU1ZhbHVlV2Via2l0Rm9jdXNSaW5nQ29sb3I6
CiAgICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKSB8fCBpc1F1aXJrc01vZGVC
ZWhhdmlvcihtb2RlKTsKLSNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLSAgICBjYXNlIENT
U1ZhbHVlSW50ZXJuYWxJbWFnZUNvbnRyb2xzQnV0dG9uOgotICAgICAgICByZXR1cm4gaXNVQVNo
ZWV0QmVoYXZpb3IobW9kZSk7Ci0jZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAppbmRl
eCA3N2M5OGY1ZTA0NTk3NmY5OTdjNTg5YmExYWM0M2M1ZmRmMWFiMjgzLi45MzlkNDU5NDYyMjA0
NzhkYmEzZDljZGFiYWE3NDljZjdhNjU4ODJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJDaHJvbWVDbGllbnQu
aCIKICNpbmNsdWRlICJFZGl0b3IuaCIKICNpbmNsdWRlICJFbGVtZW50SXRlcmF0b3IuaCIKKyNp
bmNsdWRlICJFdmVudExvb3AuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAi
RnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIKQEAgLTMxMyw4ICsz
MTQsNyBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpbgogICAgICAgICBpZiAoIXBhcnNlQ29tcG9z
aXRlQW5kQmxlbmRPcGVyYXRvcih2YWx1ZSwgbV9jb21wb3NpdGVPcGVyYXRvciwgYmxlbmRPcCkp
CiAgICAgICAgICAgICBtX2NvbXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9zaXRlT3BlcmF0b3I6OlNv
dXJjZU92ZXI7CiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0gICAgfSBlbHNlIGlmIChu
YW1lID09IHdlYmtpdGltYWdlbWVudUF0dHIpIHsKLSAgICAgICAgbV9pbWFnZU1lbnVFbmFibGVk
ID0gIXZhbHVlLmlzTnVsbCgpOworICAgIH0gZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkKSB7
CiAgICAgICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKICNlbmRpZgogICAgIH0gZWxzZSBpZiAo
bmFtZSA9PSBsb2FkaW5nQXR0cikgewpAQCAtNzQzLDcgKzc0Myw5IEBAIHZvaWQgSFRNTEltYWdl
RWxlbWVudDo6c2V0QXR0YWNobWVudEVsZW1lbnQoUmVmPEhUTUxBdHRhY2htZW50RWxlbWVudD4m
JiBhdHRhY2htCiAKICAgICBhdHRhY2htZW50LT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1By
b3BlcnR5RGlzcGxheSwgQ1NTVmFsdWVOb25lLCB0cnVlKTsKICAgICBlbnN1cmVVc2VyQWdlbnRT
aGFkb3dSb290KCkuYXBwZW5kQ2hpbGQoV1RGTW92ZShhdHRhY2htZW50KSk7Ci0gICAgc2V0QXR0
cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbih3ZWJraXRpbWFnZW1lbnVBdHRyLCBlbXB0eVN0
cmluZygpKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBtX2ltYWdlTWVudUVu
YWJsZWQgPSB0cnVlOworI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogfQogCiBS
ZWZQdHI8SFRNTEF0dGFjaG1lbnRFbGVtZW50PiBIVE1MSW1hZ2VFbGVtZW50OjphdHRhY2htZW50
RWxlbWVudCgpIGNvbnN0CkBAIC03NzUsMTEgKzc3NywxMyBAQCB2b2lkIEhUTUxJbWFnZUVsZW1l
bnQ6OnVwZGF0ZUltYWdlQ29udHJvbHMoKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKCFkb2N1
bWVudCgpLnNldHRpbmdzKCkuaW1hZ2VDb250cm9sc0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJu
OwotICAgIGJvb2wgaGFzQ29udHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xzKCk7Ci0gICAgaWYgKCFt
X2ltYWdlTWVudUVuYWJsZWQgJiYgaGFzQ29udHJvbHMpCi0gICAgICAgIGRlc3Ryb3lJbWFnZUNv
bnRyb2xzKCk7Ci0gICAgZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkICYmICFoYXNDb250cm9s
cykKLSAgICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOworICAgIGRvY3VtZW50KCkuZXZl
bnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6OkludGVybmFsQXN5bmNUYXNrLCBbdGhpcywg
cHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH1dIHsKKyAgICAgICAgYm9vbCBoYXNDb250cm9s
cyA9IGhhc0ltYWdlQ29udHJvbHMoKTsKKyAgICAgICAgaWYgKCFtX2ltYWdlTWVudUVuYWJsZWQg
JiYgaGFzQ29udHJvbHMpCisgICAgICAgICAgICBkZXN0cm95SW1hZ2VDb250cm9scygpOworICAg
ICAgICBlbHNlIGlmIChtX2ltYWdlTWVudUVuYWJsZWQgJiYgIWhhc0NvbnRyb2xzKQorICAgICAg
ICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOworICAgIH0pOwogfQogCiB2b2lkIEhUTUxJ
bWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzCmluZGV4IGQ1YTZhZWY0
NmZiYzkyNDIxMmJiMWU4NTZlMjU1MjdiOWFhM2Q2YWUuLmUyYzhjZmRmOWEyYjYwMzU4ODIyZGQx
NDU5Nzg5OTI4YzVjNzRjMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKQEAgLTM5LDcgKzM5LDcgQEAgZGl2I2ltYWdlLWNv
bnRyb2xzIGJ1dHRvbiNpbWFnZS1jb250cm9scy1idXR0b24gewogICAgIAogICAgIGRpc3BsYXk6
IGJsb2NrOwogCi0gICAgYXBwZWFyYW5jZTogLWludGVybmFsLWltYWdlLWNvbnRyb2xzLWJ1dHRv
bjsKKyAgICBhcHBlYXJhbmNlOiBhdXRvOwogCiAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1
czsKICAgICBvcGFjaXR5OiAwLjA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmNwcAppbmRleCAxZGMxNGNjNTU5NGFlOGQ5YmFlZWEwNThjOWQzNmMzYjgwZTM4YTYxLi41MmQw
ZjcxNDgxMmExMDBkNjc5MTBmOTk1ZmY3OGM0YzRjMmU4MjEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKQEAgLTU3LDYgKzU3LDkgQEAKICNpbmNsdWRlIDx3dGYv
TmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZU51
bWJlcnMuaD4KIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdl
Q29udHJvbHNNYWMuaCIKKyNlbmRpZgogCiAjaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpCiAj
aW5jbHVkZSAiSFRNTERhdGFMaXN0RWxlbWVudC5oIgpAQCAtMjk2LDYgKzI5OSwxMCBAQCBDb250
cm9sUGFydCBSZW5kZXJUaGVtZTo6YXV0b0FwcGVhcmFuY2VGb3JFbGVtZW50KGNvbnN0IEVsZW1l
bnQqIGVsZW1lbnRQdHIpIGNvbgogICAgIGlmICghZWxlbWVudFB0cikKICAgICAgICAgcmV0dXJu
IE5vQ29udHJvbFBhcnQ7CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBpZiAo
aXNJbWFnZUNvbnRyb2woZWxlbWVudFB0cikpCisgICAgICAgIHJldHVybiBJbWFnZUNvbnRyb2xz
QnV0dG9uUGFydDsKKyNlbmRpZgogICAgIFJlZiBlbGVtZW50ID0gKmVsZW1lbnRQdHI7CiAKICAg
ICBpZiAoaXM8SFRNTElucHV0RWxlbWVudD4oZWxlbWVudCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmgKaW5kZXggOGVmMzAwZmNjNzM1OWE0ZmJiMGMxZGM1NDYwYTk4Mzc5
YjE5OGQ4YS4uYWE0ZDQ5ODNjNzdkYTI0N2Q0MDg1MjE0NDdjYWY3MTc5MzRlZGI2MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTM2Nyw2ICszNjcsNyBAQCBwcm90
ZWN0ZWQ6CiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAgICAgdmlydHVhbCB2b2lkIGFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQq
KSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0
IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVy
biB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIGlzSW1hZ2VDb250cm9sKGNvbnN0IEVsZW1lbnQq
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgYWRq
dXN0UHJvZ3Jlc3NCYXJTdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXggYTAzZTFmNWM5
MTY5YzZlZjY1ZTNkNDYxODdjYWYxZTE2ZmUxOWRmNi4uOTI4MjJmYzI4YmEwMDAwM2E4OWEwZDdj
ODk4NjYzZGMzNmMxMTU1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
TWFjLmgKQEAgLTIxNiw2ICsyMTYsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQogICAgIGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9i
amVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBmaW5hbDsKICAgICBJbnRT
aXplIGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBpc0lt
YWdlQ29udHJvbChjb25zdCBFbGVtZW50KikgY29uc3QgZmluYWw7CiAKICAgICBOU1NlcnZpY2Vz
Um9sbG92ZXJCdXR0b25DZWxsICpzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpIGNvbnN0Owog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KaW5kZXgg
OTY0ODU2MTBhZmEwMmMxY2ViNTE4YTUyZWIzMjAxNzExYjk4ZTYwNy4uY2E4Yjc0NTg0ZWE1MjUw
ZDY0N2UyMjA1ZTYyMDk1NzUxODFhYzA3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5tbQpAQCAtODMsNiArODMsMTAgQEAKICNpbXBvcnQgPHd0Zi9TdGRMaWJF
eHRyYXMuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAorI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRp
ZgorCiAvLyBGSVhNRTogVGhpcyBzaG91bGQgZ28gaW50byBhbiBTUEkuaCBmaWxlIGluIHRoZSBz
cGkgZGlyZWN0b3J5LgogQGludGVyZmFjZSBOU1RleHRGaWVsZENlbGwgKCkKIC0gKENGRGljdGlv
bmFyeVJlZilfY29yZVVJRHJhd09wdGlvbnNXaXRoRnJhbWU6KE5TUmVjdCljZWxsRnJhbWUgaW5W
aWV3OihOU1ZpZXcgKiljb250cm9sVmlldyBpbmNsdWRlRm9jdXM6KEJPT0wpaW5jbHVkZUZvY3Vz
OwpAQCAtMjMwOSw2ICsyMzEzLDEzIEBAIEludFNpemUgUmVuZGVyVGhlbWVNYWM6OmltYWdlQ29u
dHJvbHNCdXR0b25TaXplKCkgY29uc3QKIHsKICAgICByZXR1cm4gSW50U2l6ZShzZXJ2aWNlc1Jv
bGxvdmVyQnV0dG9uQ2VsbCgpLmNlbGxTaXplKTsKIH0KKworYm9vbCBSZW5kZXJUaGVtZU1hYzo6
aXNJbWFnZUNvbnRyb2woY29uc3QgRWxlbWVudCogZWxlbWVudFB0cikgY29uc3QKK3sKKyAgICBp
ZiAoSW1hZ2VDb250cm9sc01hYzo6aXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudCgqZWxlbWVu
dFB0cikpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBmYWxzZTsKK30KICNlbmRp
ZgogCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmZWI5YjdmMTM0NDdh
ZTAxZWJiM2RiMWY4ZDQyMGQ5M2IyZWUzNWZiLi44MzNmMmI5Y2RmMTRkZTZlMjI1MTJhNWQ5NTU3
MzA4MGVhMzZiOTlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTItMTYgIE1lZ2FuIEdh
cmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdW5uZWVk
ZWQgd2Via2l0IHNwZWNpZmljIENTUyBhdHRyaWJ1dGUgZm9yIEltYWdlIENvbnRyb2wgTWVudS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDQwNQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlYmFzZWlu
ZyBhbmQgcmV3cml0aW5nIHRlc3RzIGZvciByZW1vdmluZyB1bm5lZWRlZCBDU1MgYXR0cmlidXRl
LgorCisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGZhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWw6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjLWNhdGFsaW5hL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xz
LWJhc2ljLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMv
aW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTEyLTE0ICBUeWxlciBX
aWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogdGVz
dCB3ZWJwYWdlIGtlZXBzIHJlbG9hZGluZyB3aGVuIEluc3BlY3RvciBpcyBvcGVuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBl
Y3RlZC50eHQKaW5kZXggNTliNzVkNzZhMDQ4YWI0MDE1YmUwMmFlNjY3NDdhMmI4NTEyZGRiZC4u
MmI0NWQzMmQ4MjZlMThjNWUyNzA1ZTNjY2UwMDM2ODE0OTRiZDAxZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVk
LnR4dApAQCAtMSw3ICsxLDcgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
Ci0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDI3NgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4Mjc2CisgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MjYwCiAgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2Ut
Y29udHJvbHMtYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRy
b2xzLWJhc2ljLmh0bWwKaW5kZXggMjRkMDVmMzViNGI2MWNkNDdlYWM1ZmM0MTAzZmYzNDJiYWZm
MjA0MS4uMjczMzcxMzQ2YjMwYmIzMmE5OWJmNTkyNGE3YjRlODJiZjM3NTZmNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sCkBAIC0x
LDggKzEsMTggQEAKLSA8c2NyaXB0PgotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgPCFET0NUWVBF
IGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBBdHRhY2htZW50RWxlbWVudEVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFs
cykgewogCWludGVybmFscy5zZXR0aW5ncy5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZCh0cnVlKTsK
K30KIAogPC9zY3JpcHQ+Cis8L2hlYWQ+CiA8Ym9keT4KLTxpbWcgc3JjPSJyZXNvdXJjZXMvZ3Jl
ZW4tMjU2eDI1Ni5qcGciIHgtd2Via2l0LWltYWdlbWVudT4KLTwvYm9keT4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCis8aW1nIGlkPSJ0YXJnZXQiIHNyYz0icmVzb3VyY2VzL2dyZWVuLTI1
NngyNTYuanBnIj4KKzxzY3JpcHQ+CisJdmFyIGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGFyZ2V0Iik7CisJdmFyIElEID0gSFRNTEF0dGFjaG1lbnRFbGVtZW50LmdldEF0dGFjaG1l
bnRJZGVudGlmaWVyKGVsZW0pOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2Ut
Y29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWNh
dGFsaW5hL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dAppbmRl
eCA5MjRiMjlkNTNjNTlmNWU4ZWJmN2YzMmRkNDk2M2MwODYxOTU3NDUwLi44YTljMTFhMmFhZTVj
MTQwODY3Zjg5YjBkZmRjOWEzNzM2M2I0OGI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdl
cy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsMTEgQEAKIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDc4NHg1ODQKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDI3NgorICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA4MDB4Mjc2CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA3ODR4MjYwCiAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1Nngy
NTYKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiBsYXllciBhdCAoOCw4KSBzaXplIDI1
NngyNTYKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDAp
IHNpemUgMjU2eDI1NiBbY29sb3I9IzAwMDAwMDAwXQogbGF5ZXIgYXQgKDIxNSwzMCkgc2l6ZSAy
N3gyNgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2lt
YWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKaW5kZXggODMy
MTNhM2NkZjlhMzBiYzkzYmM4ODcwMTJkYjQ3ZjNkNDQ1NmY1Yy4uMTMyYzE0NjlkZmU3ZmUxOGNk
YTlkZjI5YWU3ODA1NDYwYzY5Mzk3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMt
ZXhwZWN0ZWQudHh0CkBAIC0xLDEwICsxLDExIEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAotICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0g
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CitsYXllciBhdCAoMCww
KSBzaXplIDgwMHgyNzYKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDI3
NgorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDI2MAogICAgICAgUmVu
ZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2CiAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDB4MAogbGF5ZXIgYXQgKDgsOCkgc2l6ZSAyNTZ4MjU2CiAgIFJlbmRlckJsb2NrIChy
ZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDI1NngyNTYgW2NvbG9yPSMw
MDAwMDAwMF0KIGxheWVyIGF0ICgyMTQsMzApIHNpemUgMjh4MjYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447436</attachid>
            <date>2021-12-17 00:08:35 -0800</date>
            <delta_ts>2021-12-20 15:46:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234405-20211217000834.patch</filename>
            <type>text/plain</type>
            <size>16612</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2NlMmY5YjkwNDI2NGY3
ZmUxZDQ0MWJiYWYyZjgzMzI1YjZlYzFkOS4uMDAyMjc2OWE1Y2Q3MjU3MDBmODQ5YTgyMjU3NTBj
YzY2ZGMzNjU3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTEyLTE2ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVu
bmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1l
bnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0
MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIHJlYmFzZWQgZXhpc3RpbmcgZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFz
aWMuaHRtbC4KKworICAgICAgICBXZSBkbyBub3QgYWN0dWFsbHkgbmVlZCBhIHNwZWNpZmljIENT
UyBhdHRyaWJ1dGUgdG8gYWNoaWV2ZSB0aGUgaW1hZ2UgY29udHJvbCBtZW51LAorICAgICAgICBz
byB3ZSBzaG91bGQgcmVtb3ZlIGl0IHRvIGtlZXAgV2ViS2l0IHNwZWNpZmljIGNsdXR0ZXIgb3V0
IG9mIG91ciBDU1MgaW1wbGVtZW50YXRpb24KKyAgICAgICAgYW5kIHdlIHNob3VsZCBrZWVwIHRy
YWNrIG9mIHRoZSBwcmVzZW5jZSBvZiB0aGUgaW1hZ2UgY29udHJvbCBtZW51IGZ1bGx5IGludGVy
bmFsbHkuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKToKKyAg
ICAgICAgKiBjc3MvQ1NTUHJvcGVydGllcy5qc29uOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmlzVmFsdWVBbGxvd2VkSW5Nb2RlKToKKyAgICAgICAgKiBodG1sL0hU
TUxJbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6
cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6c2V0
QXR0YWNobWVudEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6
dXBkYXRlSW1hZ2VDb250cm9scyk6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29u
dHJvbHNNYWMuY3NzOgorICAgICAgICAoZGl2I2ltYWdlLWNvbnRyb2xzIGJ1dHRvbiNpbWFnZS1j
b250cm9scy1idXR0b24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YXV0b0FwcGVhcmFuY2VGb3JFbGVtZW50IGNv
bnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lOjppc0ltYWdlQ29udHJvbCBjb25zdCk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmlzSW1hZ2VDb250cm9sIGNv
bnN0KToKKwogMjAyMS0xMi0xNiAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0xGQ11bSUZDXSBTaW1wbGUgUlRMIGNvbnRlbnQgbWF5IG5lZWQgdmlzdWFsIHJlb3Jk
ZXJpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1h
cHBpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5o
CmluZGV4IGI2OTdlZmQwZGI1YjlkN2VmYjA3MDQzZjdmMTllYjU1MjU2OTJlMmQuLjdjMmE1MmY5
YjdiMDg2YjEyNDA5MzQ1OGM3OTg4YjcwZDk0NzkwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtNjM0LDcgKzYzNCw4IEBAIHRlbXBs
YXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShDb250cm9s
UGFydCBlKQogI2VuZGlmCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAgICAgY2FzZSBJ
bWFnZUNvbnRyb2xzQnV0dG9uUGFydDoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFs
dWVJbnRlcm5hbEltYWdlQ29udHJvbHNCdXR0b247CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZU5vbmU7CiAgICAgICAgIGJy
ZWFrOwogI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydGllcy5qc29uCmluZGV4IDg3NzAxODFiZjhlNGY5NjhhOWM3MWIxMjI2YjY5MzI5ZjJkNThj
NzYuLmMyNTU2YjZjZTNkY2MyMTEyOWMzZTNmZjM2MzNmMjhhZWRkMDk0YWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgpAQCAtNTE3Nyw3ICs1MTc3LDYgQEAKICAgICAgICAg
ICAgICAgICAiY29udGludW91cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAg
ICAgICAgICJkaXNjcmV0ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAg
ICAgICJyYXRpbmctbGV2ZWwtaW5kaWNhdG9yIiwKLSAgICAgICAgICAgICAgICAiLWludGVybmFs
LWltYWdlLWNvbnRyb2xzLWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgIi1hcHBsZS1wYXktYnV0
dG9uIiwKICAgICAgICAgICAgICAgICAidGV4dGFyZWEiLAogICAgICAgICAgICAgICAgICJhdHRh
Y2htZW50IiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRz
LmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggMTZiYmIw
YWJiMDA3MzJmMzU0MWYyMjVjNzIwZTg2NjhjY2MxZDVmYy4uMGNhMWRhNGZkNGFiNDcyZjg1Mzc5
NjQ0ZDMyNWQ1NTlkMTM2MzMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMu
aW4KQEAgLTg5MCw5ICs4OTAsNiBAQCByZWxldmFuY3ktbGV2ZWwtaW5kaWNhdG9yCiBjb250aW51
b3VzLWNhcGFjaXR5LWxldmVsLWluZGljYXRvcgogZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5k
aWNhdG9yCiByYXRpbmctbGV2ZWwtaW5kaWNhdG9yCi0jaWYgZGVmaW5lZChFTkFCTEVfU0VSVklD
RV9DT05UUk9MUykgJiYgRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKLS1pbnRlcm5hbC1pbWFnZS1j
b250cm9scy1idXR0b24KLSNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0FQUExFX1BBWSkgJiYg
RU5BQkxFX0FQUExFX1BBWQogLWFwcGxlLXBheS1idXR0b24KICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwCmluZGV4IDI1Mjk3NzMxYjJmYWRk
ZWI1MDY1ZmY5YmI3NmI1ODYzZDZkMWY3M2MuLjY1NDRmMjZmNTFhOTIzZWU2MzBlNzkxOGRiOTMz
ODZmY2E1ZTU3ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFy
c2VySWRpb21zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklk
aW9tcy5jcHAKQEAgLTQwLDEwICs0MCw2IEBAIGJvb2wgaXNWYWx1ZUFsbG93ZWRJbk1vZGUodW5z
aWduZWQgc2hvcnQgaWQsIENTU1BhcnNlck1vZGUgbW9kZSkKICAgICAgICAgcmV0dXJuIGlzVUFT
aGVldEJlaGF2aW9yKG1vZGUpOwogICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRGb2N1c1JpbmdDb2xv
cjoKICAgICAgICAgcmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpIHx8IGlzUXVpcmtzTW9k
ZUJlaGF2aW9yKG1vZGUpOwotI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQotICAgIGNhc2Ug
Q1NTVmFsdWVJbnRlcm5hbEltYWdlQ29udHJvbHNCdXR0b246Ci0gICAgICAgIHJldHVybiBpc1VB
U2hlZXRCZWhhdmlvcihtb2RlKTsKLSNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVy
biB0cnVlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdl
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmlu
ZGV4IDc3Yzk4ZjVlMDQ1OTc2Zjk5N2M1ODliYTFhYzQzYzVmZGYxYWIyODMuLmRiNjY3NDI1ZTIx
MTRhZDIyOTg2ZDI5YWY1ODQxNmY3ZmUyZWE3MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW1hZ2VFbGVtZW50LmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkNocm9tZUNsaWVu
dC5oIgogI2luY2x1ZGUgIkVkaXRvci5oIgogI2luY2x1ZGUgIkVsZW1lbnRJdGVyYXRvci5oIgor
I2luY2x1ZGUgIkV2ZW50TG9vcC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRl
ICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIVE1MQW5jaG9yRWxlbWVudC5oIgpAQCAtMzEzLDgg
KzMxNCw4IEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluCiAgICAgICAgIGlmICghcGFyc2VDb21w
b3NpdGVBbmRCbGVuZE9wZXJhdG9yKHZhbHVlLCBtX2NvbXBvc2l0ZU9wZXJhdG9yLCBibGVuZE9w
KSkKICAgICAgICAgICAgIG1fY29tcG9zaXRlT3BlcmF0b3IgPSBDb21wb3NpdGVPcGVyYXRvcjo6
U291cmNlT3ZlcjsKICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLSAgICB9IGVsc2UgaWYg
KG5hbWUgPT0gd2Via2l0aW1hZ2VtZW51QXR0cikgewotICAgICAgICBtX2ltYWdlTWVudUVuYWJs
ZWQgPSAhdmFsdWUuaXNOdWxsKCk7CisgICAgfSBlbHNlIGlmIChtX2ltYWdlTWVudUVuYWJsZWQp
IHsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCI8TU1HPiBwYXJzZUF0dHJpYnV0ZSAtIHVwZGF0ZUlt
YWdlQ29udHJvbHMiKTsKICAgICAgICAgdXBkYXRlSW1hZ2VDb250cm9scygpOwogI2VuZGlmCiAg
ICAgfSBlbHNlIGlmIChuYW1lID09IGxvYWRpbmdBdHRyKSB7CkBAIC0zODYsNiArMzg3LDcgQEAg
dm9pZCBIVE1MSW1hZ2VFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMoKQogICAgICAgICByZXR1
cm47CiAKICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBXVEZMb2dBbHdheXMoIjxN
TUc+IGRpZEF0dGFjaFJlbmRlcmVycyAtIHVwZGF0ZUltYWdlQ29udHJvbHMiKTsKICAgICB1cGRh
dGVJbWFnZUNvbnRyb2xzKCk7CiAjZW5kaWYKIApAQCAtNzQzLDcgKzc0NSwxMCBAQCB2b2lkIEhU
TUxJbWFnZUVsZW1lbnQ6OnNldEF0dGFjaG1lbnRFbGVtZW50KFJlZjxIVE1MQXR0YWNobWVudEVs
ZW1lbnQ+JiYgYXR0YWNobQogCiAgICAgYXR0YWNobWVudC0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0
eShDU1NQcm9wZXJ0eURpc3BsYXksIENTU1ZhbHVlTm9uZSwgdHJ1ZSk7CiAgICAgZW5zdXJlVXNl
ckFnZW50U2hhZG93Um9vdCgpLmFwcGVuZENoaWxkKFdURk1vdmUoYXR0YWNobWVudCkpOwotICAg
IHNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24od2Via2l0aW1hZ2VtZW51QXR0ciwg
ZW1wdHlTdHJpbmcoKSk7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgV1RGTG9n
QWx3YXlzKCI8TU1HPiBIVE1MSW1hZ2VFbGVtZW50IC0gc2V0QXR0YWNobWVudEVsZW1lbnQgLSBt
X2ltYWdlTWVudUVuYWJsZWQgPSB0cnVlIik7CisgICAgbV9pbWFnZU1lbnVFbmFibGVkID0gdHJ1
ZTsKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKIH0KIAogUmVmUHRyPEhUTUxB
dHRhY2htZW50RWxlbWVudD4gSFRNTEltYWdlRWxlbWVudDo6YXR0YWNobWVudEVsZW1lbnQoKSBj
b25zdApAQCAtNzc1LDExICs3ODAsMTQgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJ
bWFnZUNvbnRyb2xzKCkKICAgICAgICAgcmV0dXJuOwogICAgIGlmICghZG9jdW1lbnQoKS5zZXR0
aW5ncygpLmltYWdlQ29udHJvbHNFbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBib29s
IGhhc0NvbnRyb2xzID0gaGFzSW1hZ2VDb250cm9scygpOwotICAgIGlmICghbV9pbWFnZU1lbnVF
bmFibGVkICYmIGhhc0NvbnRyb2xzKQotICAgICAgICBkZXN0cm95SW1hZ2VDb250cm9scygpOwot
ICAgIGVsc2UgaWYgKG1faW1hZ2VNZW51RW5hYmxlZCAmJiAhaGFzQ29udHJvbHMpCi0gICAgICAg
IHRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKTsKKyAgICBXVEZMb2dBbHdheXMoIjxNTUc+IEFkZGlu
ZyBBZGQgSW1hZ2UgQ29udHJvbHMgVGFzayB0byBRdWV1ZSIpOworICAgIGRvY3VtZW50KCkuZXZl
bnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6OkludGVybmFsQXN5bmNUYXNrLCBbdGhpcywg
cHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH1dIHsKKyAgICAgICAgYm9vbCBoYXNDb250cm9s
cyA9IGhhc0ltYWdlQ29udHJvbHMoKTsKKyAgICAgICAgaWYgKCFtX2ltYWdlTWVudUVuYWJsZWQg
JiYgaGFzQ29udHJvbHMpCisgICAgICAgICAgICBkZXN0cm95SW1hZ2VDb250cm9scygpOworICAg
ICAgICBlbHNlIGlmIChtX2ltYWdlTWVudUVuYWJsZWQgJiYgIWhhc0NvbnRyb2xzKQorICAgICAg
ICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOworICAgIH0pOwogfQogCiB2b2lkIEhUTUxJ
bWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzCmluZGV4IGQ1YTZhZWY0
NmZiYzkyNDIxMmJiMWU4NTZlMjU1MjdiOWFhM2Q2YWUuLmUyYzhjZmRmOWEyYjYwMzU4ODIyZGQx
NDU5Nzg5OTI4YzVjNzRjMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKQEAgLTM5LDcgKzM5LDcgQEAgZGl2I2ltYWdlLWNv
bnRyb2xzIGJ1dHRvbiNpbWFnZS1jb250cm9scy1idXR0b24gewogICAgIAogICAgIGRpc3BsYXk6
IGJsb2NrOwogCi0gICAgYXBwZWFyYW5jZTogLWludGVybmFsLWltYWdlLWNvbnRyb2xzLWJ1dHRv
bjsKKyAgICBhcHBlYXJhbmNlOiBhdXRvOwogCiAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1
czsKICAgICBvcGFjaXR5OiAwLjA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmNwcAppbmRleCA0NTRlNjRjNmJmYTc1ZmFmYzJlZTkxZTc1Y2RjMmZjNDhlNmNkNjA1Li5hNTQy
NGQyZTMyYWY0YmJkNjA3OWUzMzc0M2JlYzUyZWIwM2QzZTYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKQEAgLTU3LDYgKzU3LDkgQEAKICNpbmNsdWRlIDx3dGYv
TmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZU51
bWJlcnMuaD4KIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdl
Q29udHJvbHNNYWMuaCIKKyNlbmRpZgogCiAjaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpCiAj
aW5jbHVkZSAiSFRNTERhdGFMaXN0RWxlbWVudC5oIgpAQCAtMjk2LDYgKzI5OSwxMCBAQCBDb250
cm9sUGFydCBSZW5kZXJUaGVtZTo6YXV0b0FwcGVhcmFuY2VGb3JFbGVtZW50KGNvbnN0IEVsZW1l
bnQqIGVsZW1lbnRQdHIpIGNvbgogICAgIGlmICghZWxlbWVudFB0cikKICAgICAgICAgcmV0dXJu
IE5vQ29udHJvbFBhcnQ7CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBpZiAo
aXNJbWFnZUNvbnRyb2woZWxlbWVudFB0cikpCisgICAgICAgIHJldHVybiBJbWFnZUNvbnRyb2xz
QnV0dG9uUGFydDsKKyNlbmRpZgogICAgIFJlZiBlbGVtZW50ID0gKmVsZW1lbnRQdHI7CiAKICAg
ICBpZiAoaXM8SFRNTElucHV0RWxlbWVudD4oZWxlbWVudCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmgKaW5kZXggOGVmMzAwZmNjNzM1OWE0ZmJiMGMxZGM1NDYwYTk4Mzc5
YjE5OGQ4YS4uYWE0ZDQ5ODNjNzdkYTI0N2Q0MDg1MjE0NDdjYWY3MTc5MzRlZGI2MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTM2Nyw2ICszNjcsNyBAQCBwcm90
ZWN0ZWQ6CiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAgICAgdmlydHVhbCB2b2lkIGFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQq
KSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0
IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVy
biB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIGlzSW1hZ2VDb250cm9sKGNvbnN0IEVsZW1lbnQq
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgYWRq
dXN0UHJvZ3Jlc3NCYXJTdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXggYTAzZTFmNWM5
MTY5YzZlZjY1ZTNkNDYxODdjYWYxZTE2ZmUxOWRmNi4uOTI4MjJmYzI4YmEwMDAwM2E4OWEwZDdj
ODk4NjYzZGMzNmMxMTU1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
TWFjLmgKQEAgLTIxNiw2ICsyMTYsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQogICAgIGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9i
amVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBmaW5hbDsKICAgICBJbnRT
aXplIGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBpc0lt
YWdlQ29udHJvbChjb25zdCBFbGVtZW50KikgY29uc3QgZmluYWw7CiAKICAgICBOU1NlcnZpY2Vz
Um9sbG92ZXJCdXR0b25DZWxsICpzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpIGNvbnN0Owog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KaW5kZXgg
OTY0ODU2MTBhZmEwMmMxY2ViNTE4YTUyZWIzMjAxNzExYjk4ZTYwNy4uY2E4Yjc0NTg0ZWE1MjUw
ZDY0N2UyMjA1ZTYyMDk1NzUxODFhYzA3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5tbQpAQCAtODMsNiArODMsMTAgQEAKICNpbXBvcnQgPHd0Zi9TdGRMaWJF
eHRyYXMuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAorI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRp
ZgorCiAvLyBGSVhNRTogVGhpcyBzaG91bGQgZ28gaW50byBhbiBTUEkuaCBmaWxlIGluIHRoZSBz
cGkgZGlyZWN0b3J5LgogQGludGVyZmFjZSBOU1RleHRGaWVsZENlbGwgKCkKIC0gKENGRGljdGlv
bmFyeVJlZilfY29yZVVJRHJhd09wdGlvbnNXaXRoRnJhbWU6KE5TUmVjdCljZWxsRnJhbWUgaW5W
aWV3OihOU1ZpZXcgKiljb250cm9sVmlldyBpbmNsdWRlRm9jdXM6KEJPT0wpaW5jbHVkZUZvY3Vz
OwpAQCAtMjMwOSw2ICsyMzEzLDEzIEBAIEludFNpemUgUmVuZGVyVGhlbWVNYWM6OmltYWdlQ29u
dHJvbHNCdXR0b25TaXplKCkgY29uc3QKIHsKICAgICByZXR1cm4gSW50U2l6ZShzZXJ2aWNlc1Jv
bGxvdmVyQnV0dG9uQ2VsbCgpLmNlbGxTaXplKTsKIH0KKworYm9vbCBSZW5kZXJUaGVtZU1hYzo6
aXNJbWFnZUNvbnRyb2woY29uc3QgRWxlbWVudCogZWxlbWVudFB0cikgY29uc3QKK3sKKyAgICBp
ZiAoSW1hZ2VDb250cm9sc01hYzo6aXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudCgqZWxlbWVu
dFB0cikpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBmYWxzZTsKK30KICNlbmRp
ZgogCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiODU1M2RjNzQ5MjI1
OTA3YTBlMTIzOGJiYTk0MWM0YWNkMzA1NmM5Li5lY2EyMWE1MDQ2N2QwZWRmZWYwODA2OGRlNmVi
MzYyMzZiY2NiNTE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMTItMTYgIE1lZ2FuIEdh
cmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdW5uZWVk
ZWQgd2Via2l0IHNwZWNpZmljIENTUyBhdHRyaWJ1dGUgZm9yIEltYWdlIENvbnRyb2wgTWVudS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDQwNQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlYmFzZWQg
ZXhpc3RpbmcgdGVzdHMgdG8gd29yayB3aXRoIGRlZmF1bHQgYWRkIHRvIGF0dGFjaG1lbnRzLgor
CisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWw6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjLWNhdGFsaW5hL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJh
c2ljLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1h
Z2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9U
ZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTEyLTE2ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRA
YXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI4Njg0OS1yMjg2ODUyKTogW2lPU10g
aHR0cC90ZXN0cy9hcHAtcHJpdmFjeS1yZXBvcnQvdXNlci1hdHRyaWJ1dGlvbi1wb3N0LXJlcXVl
c3QuaHRtbCBpcyBjb25zaXN0ZW50bHkgZmFpbGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CmluZGV4IDU5
Yjc1ZDc2YTA0OGFiNDAxNWJlMDJhZTY2NzQ3YTJiODUxMmRkYmQuLjJiNDVkMzJkODI2ZTE4YzVl
MjcwNWUzY2NlMDAzNjgxNDk0YmQwMWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaW1h
Z2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3
IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
OCkgc2l6ZSA3ODR4NTg0CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgyNzYKKyAgUmVuZGVyQmxv
Y2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDI3NgorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0
ICg4LDgpIHNpemUgNzg0eDI2MAogICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6
ZSAyNTZ4MjU2CiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sCmlu
ZGV4IDI0ZDA1ZjM1YjRiNjFjZDQ3ZWFjNWZjNDEwM2ZmMzQyYmFmZjIwNDEuLjQ2NDQzZDAyMjFm
ZjIyMzNhMDNkY2UzNGFkMWUyMzk1NTRmNThmZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbApAQCAtMSw4ICsxLDI2IEBACi0gPHNj
cmlwdD4KLWlmICh3aW5kb3cuaW50ZXJuYWxzKQotCWludGVybmFscy5zZXR0aW5ncy5zZXRJbWFn
ZUNvbnRyb2xzRW5hYmxlZCh0cnVlKTsKLQorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBBdHRhY2htZW50RWxlbWVudEVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKK30KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgCWludGVybmFs
cy5zZXR0aW5ncy5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZCh0cnVlKTsKK30KKyAKIDwvc2NyaXB0
PgorPC9oZWFkPgogPGJvZHk+Ci08aW1nIHNyYz0icmVzb3VyY2VzL2dyZWVuLTI1NngyNTYuanBn
IiB4LXdlYmtpdC1pbWFnZW1lbnU+Ci08L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQorPGltZyBpZD0idGFyZ2V0IiBzcmM9InJlc291cmNlcy9ncmVlbi0yNTZ4MjU2LmpwZyI+Cis8
c2NyaXB0PgorCXZhciBlbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpOwor
CXZhciBJRCA9IEhUTUxBdHRhY2htZW50RWxlbWVudC5nZXRBdHRhY2htZW50SWRlbnRpZmllcihl
bGVtKTsKKworCXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAg
ICB9LCA1MCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1i
YXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvZmFz
dC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CmluZGV4IDkyNGIyOWQ1
M2M1OWY1ZThlYmY3ZjMyZGQ0OTYzYzA4NjE5NTc0NTAuLjhhOWMxMWEyYWFlNWMxNDA4NjdmODli
MGRmZGM5YTM3MzYzYjQ4YjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1j
YXRhbGluYS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWNhdGFsaW5hL2Zhc3QvaW1hZ2VzL2ltYWdlLWNv
bnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMSwxMCArMSwxMSBAQAogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgODAweDYwMAotICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mjc2CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHgyNzYKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgy
NjAKICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgogICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKIGxheWVyIGF0ICg4LDgpIHNpemUgMjU2eDI1NgogICBS
ZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAyNTZ4
MjU2IFtjb2xvcj0jMDAwMDAwMDBdCiBsYXllciBhdCAoMjE1LDMwKSBzaXplIDI3eDI2CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJv
bHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1h
Z2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dAppbmRleCA4MzIxM2EzY2RmOWEz
MGJjOTNiYzg4NzAxMmRiNDdmM2Q0NDU2ZjVjLi4xMzJjMTQ2OWRmZTdmZTE4Y2RhOWRmMjlhZTc4
MDU0NjBjNjkzOTc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9p
bWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQKQEAgLTEsMTAgKzEsMTEgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
Ci0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDI3NgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4Mjc2CisgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MjYwCiAgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CiBsYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NiBbY29sb3I9IzAwMDAwMDAwXQog
bGF5ZXIgYXQgKDIxNCwzMCkgc2l6ZSAyOHgyNgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVz
dEV4cGVjdGF0aW9ucwppbmRleCBkMDczMDBiMDUzMjM1ZjM5NTgzN2FmMWMwOTljZWYzOTU2NDY5
MmI2Li5lNzlhZWI1OTg2NWE4ZDdhOGY0NjUzZWVhN2Y0ZTg5YjYwNGEwMzQ5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNzAxLDYgKzcwMSw3IEBAIHdl
YmtpdC5vcmcvYi8zNTAxMyBzdmcvem9vbS90ZXh0LyBbIFNraXAgXQogIyBUT0RPIEF0dGFjaG1l
bnQgZWxlbWVudHMgZG8gbm90IHByb3ZpZGUgYSBjdXN0b20gcmVuZGVyZXIKIHdlYmtpdC5vcmcv
Yi8xNDIyNjAgZmFzdC9hdHRhY2htZW50IFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTQyMjYwIGZh
c3QvY3NzL2hhcy1hdHRhY2htZW50Lmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xNDIyNjAg
ZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbCBbIFNraXAgXQogCiAjIFRPRE8g
QVBORyBpcyBub3Qgc3VwcG9ydGVkCiB3ZWJraXQub3JnL2IvMTQyNzMxIGZhc3QvaW1hZ2VzL2Fu
aW1hdGVkLXBuZy5odG1sIFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447656</attachid>
            <date>2021-12-20 15:46:13 -0800</date>
            <delta_ts>2021-12-20 16:07:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234405-20211220154612.patch</filename>
            <type>text/plain</type>
            <size>21583</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmQwNTU1M2VjMzgyYzI5
YTgzMDFjNzAwMzViMGU0OGMwYzNlM2VhZi4uMzczOTQyZmM2ZDU1NWVjOWRjYjg2ZGE4MWE1M2M1
ZmFkNWY0YzRjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTEyLTE2ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVu
bmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1l
bnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0
MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICBXZSBkbyBub3QgYWN0dWFs
bHkgbmVlZCBhIHNwZWNpZmljIENTUyBhdHRyaWJ1dGUgdG8gYWNoaWV2ZSB0aGUgaW1hZ2UgY29u
dHJvbCBtZW51LAorICAgICAgICBzbyB3ZSBzaG91bGQgcmVtb3ZlIGl0IHRvIGtlZXAgV2ViS2l0
IHNwZWNpZmljIGNsdXR0ZXIgb3V0IG9mIG91ciBDU1MgaW1wbGVtZW50YXRpb24KKyAgICAgICAg
YW5kIHdlIHNob3VsZCBrZWVwIHRyYWNrIG9mIHRoZSBwcmVzZW5jZSBvZiB0aGUgaW1hZ2UgY29u
dHJvbCBtZW51IGZ1bGx5IGludGVybmFsbHkuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydGllcy5qc29uOgorICAg
ICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NT
UGFyc2VySWRpb21zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsdWVBbGxvd2VkSW5Nb2Rl
KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEltYWdlRWxlbWVudDo6c2V0QXR0YWNobWVudEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6dXBkYXRlSW1hZ2VDb250cm9scyk6CisgICAgICAgICogaHRt
bC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzOgorICAgICAgICAoZGl2I2ltYWdlLWNv
bnRyb2xzIGJ1dHRvbiNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YXV0b0Fw
cGVhcmFuY2VGb3JFbGVtZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjppc0ltYWdlQ29udHJvbCBjb25z
dCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OmlzSW1hZ2VDb250cm9sIGNvbnN0KToKKwogMjAyMS0xMi0xNCAgQWxhbiBCdWp0YXMgIDx6
YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBUYWtlIHRleHQtYWxpZ24gb2Zm
c2V0IGludG8gYWNjb3VudCB3aGVuIGNvbXB1dGluZyB0aGUgUlRMIGRpc3BsYXkgYm94IGdlb21l
dHJ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBw
aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApp
bmRleCBiNjk3ZWZkMGRiNWI5ZDdlZmIwNzA0M2Y3ZjE5ZWI1NTI1NjkyZTJkLi43YzJhNTJmOWI3
YjA4NmIxMjQwOTM0NThjNzk4OGI3MGQ5NDc5MGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTYzNCw3ICs2MzQsOCBAQCB0ZW1wbGF0
ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoQ29udHJvbFBh
cnQgZSkKICNlbmRpZgogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIGNhc2UgSW1h
Z2VDb250cm9sc0J1dHRvblBhcnQ6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVl
SW50ZXJuYWxJbWFnZUNvbnRyb2xzQnV0dG9uOworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVOb25lOwogICAgICAgICBicmVh
azsKICNlbmRpZgogI2lmIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbgppbmRleCA4NzcwMTgxYmY4ZTRmOTY4YTljNzFiMTIyNmI2OTMyOWYyZDU4Yzc2
Li5jMjU1NmI2Y2UzZGNjMjExMjljM2UzZmYzNjMzZjI4YWVkZDA5NGFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTUxNzcsNyArNTE3Nyw2IEBACiAgICAgICAgICAg
ICAgICAgImNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAg
ICAgICAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAgICAg
ICAicmF0aW5nLWxldmVsLWluZGljYXRvciIsCi0gICAgICAgICAgICAgICAgIi1pbnRlcm5hbC1p
bWFnZS1jb250cm9scy1idXR0b24iLAogICAgICAgICAgICAgICAgICItYXBwbGUtcGF5LWJ1dHRv
biIsCiAgICAgICAgICAgICAgICAgInRleHRhcmVhIiwKICAgICAgICAgICAgICAgICAiYXR0YWNo
bWVudCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5p
biBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDE2YmJiMGFi
YjAwNzMyZjM1NDFmMjI1YzcyMGU4NjY4Y2NjMWQ1ZmMuLjBjYTFkYTRmZDRhYjQ3MmY4NTM3OTY0
NGQzMjVkNTU5ZDEzNjMzMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmlu
CkBAIC04OTAsOSArODkwLDYgQEAgcmVsZXZhbmN5LWxldmVsLWluZGljYXRvcgogY29udGludW91
cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IKIGRpc2NyZXRlLWNhcGFjaXR5LWxldmVsLWluZGlj
YXRvcgogcmF0aW5nLWxldmVsLWluZGljYXRvcgotI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTCi0taW50ZXJuYWwtaW1hZ2UtY29u
dHJvbHMtYnV0dG9uCi0jZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVkpICYmIEVO
QUJMRV9BUFBMRV9QQVkKIC1hcHBsZS1wYXktYnV0dG9uCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAppbmRleCAyNTI5NzczMWIyZmFkZGVi
NTA2NWZmOWJiNzZiNTg2M2Q2ZDFmNzNjLi42NTQ0ZjI2ZjUxYTkyM2VlNjMwZTc5MThkYjkzMzg2
ZmNhNWU1N2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNl
cklkaW9tcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlv
bXMuY3BwCkBAIC00MCwxMCArNDAsNiBAQCBib29sIGlzVmFsdWVBbGxvd2VkSW5Nb2RlKHVuc2ln
bmVkIHNob3J0IGlkLCBDU1NQYXJzZXJNb2RlIG1vZGUpCiAgICAgICAgIHJldHVybiBpc1VBU2hl
ZXRCZWhhdmlvcihtb2RlKTsKICAgICBjYXNlIENTU1ZhbHVlV2Via2l0Rm9jdXNSaW5nQ29sb3I6
CiAgICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKSB8fCBpc1F1aXJrc01vZGVC
ZWhhdmlvcihtb2RlKTsKLSNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLSAgICBjYXNlIENT
U1ZhbHVlSW50ZXJuYWxJbWFnZUNvbnRyb2xzQnV0dG9uOgotICAgICAgICByZXR1cm4gaXNVQVNo
ZWV0QmVoYXZpb3IobW9kZSk7Ci0jZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29u
dHJvbHNNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmNw
cAppbmRleCBiYjg4NjFkMTA3MTQ0YTU4MjllNzk3YzU2MmQwOTY4OGJlOGI5YmEyLi5kOWZiMTA3
NTBiZjE1YjVkYzNjMjkzNmNkMGMwMDRhZTQzMjc2ODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAKQEAgLTczLDYgKzczLDE0IEBAIGJvb2wgaXNJbWFn
ZUNvbnRyb2xzQnV0dG9uRWxlbWVudChjb25zdCBOb2RlJiBub2RlKQogICAgIHJldHVybiBpczxF
bGVtZW50Pihub2RlKSAmJiBkb3duY2FzdDxFbGVtZW50Pihub2RlKS5nZXRJZEF0dHJpYnV0ZSgp
ID09IGltYWdlQ29udHJvbHNCdXR0b25JZGVudGlmaWVyKCk7CiB9CiAKK2Jvb2wgaXNJbnNpZGVJ
bWFnZUNvbnRyb2xzKGNvbnN0IE5vZGUmIG5vZGUpCit7CisgICAgUmVmUHRyIGhvc3QgPSBub2Rl
LnNoYWRvd0hvc3QoKTsKKyAgICBpZiAoIWlzPEhUTUxFbGVtZW50Pihob3N0LmdldCgpKSB8fCAh
aGFzQ29udHJvbHMoZG93bmNhc3Q8SFRNTEVsZW1lbnQ+KCpob3N0KSkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICByZXR1cm4gaXM8RWxlbWVudD4obm9kZSkgJiYgZG93bmNhc3Q8RWxlbWVu
dD4obm9kZSkuZ2V0SWRBdHRyaWJ1dGUoKSA9PSBpbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZp
ZXIoKTsKK30KKwogdm9pZCBjcmVhdGVJbWFnZUNvbnRyb2xzKEhUTUxFbGVtZW50JiBlbGVtZW50
KQogewogICAgIFJlZiBkb2N1bWVudCA9IGVsZW1lbnQuZG9jdW1lbnQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmgKaW5kZXggNmFjYjRiZjNlMjNiNzU4MDM3ZDMx
ZGFmZGFjYjg0Y2FkMzdiOGMwZS4uMTFlZjMwYjJhMDFiYTJhYzcxMTkwZTFmMmZhNzliODFkYjkx
OTJjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFj
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmgKQEAgLTM4
LDYgKzM4LDcgQEAgbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMgewogCiBib29sIGhhc0NvbnRy
b2xzKGNvbnN0IEhUTUxFbGVtZW50Jik7CiBib29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1l
bnQoY29uc3QgTm9kZSYpOworYm9vbCBpc0luc2lkZUltYWdlQ29udHJvbHMoY29uc3QgTm9kZSYp
Owogdm9pZCBjcmVhdGVJbWFnZUNvbnRyb2xzKEhUTUxFbGVtZW50Jik7CiBib29sIGhhbmRsZUV2
ZW50KEhUTUxFbGVtZW50JiwgRXZlbnQmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdl
RWxlbWVudC5jcHAKaW5kZXggNzdjOThmNWUwNDU5NzZmOTk3YzU4OWJhMWFjNDNjNWZkZjFhYjI4
My4uOTM5ZDQ1OTQ2MjIwNDc4ZGJhM2Q5Y2RhYmFhNzQ5Y2Y3YTY1ODgyYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVk
ZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiRWRpdG9yLmgiCiAjaW5jbHVkZSAiRWxlbWVu
dEl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiRXZlbnRMb29wLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1l
cy5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkhUTUxBbmNob3JFbGVtZW50
LmgiCkBAIC0zMTMsOCArMzE0LDcgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaW4KICAgICAgICAg
aWYgKCFwYXJzZUNvbXBvc2l0ZUFuZEJsZW5kT3BlcmF0b3IodmFsdWUsIG1fY29tcG9zaXRlT3Bl
cmF0b3IsIGJsZW5kT3ApKQogICAgICAgICAgICAgbV9jb21wb3NpdGVPcGVyYXRvciA9IENvbXBv
c2l0ZU9wZXJhdG9yOjpTb3VyY2VPdmVyOwogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQot
ICAgIH0gZWxzZSBpZiAobmFtZSA9PSB3ZWJraXRpbWFnZW1lbnVBdHRyKSB7Ci0gICAgICAgIG1f
aW1hZ2VNZW51RW5hYmxlZCA9ICF2YWx1ZS5pc051bGwoKTsKKyAgICB9IGVsc2UgaWYgKG1faW1h
Z2VNZW51RW5hYmxlZCkgewogICAgICAgICB1cGRhdGVJbWFnZUNvbnRyb2xzKCk7CiAjZW5kaWYK
ICAgICB9IGVsc2UgaWYgKG5hbWUgPT0gbG9hZGluZ0F0dHIpIHsKQEAgLTc0Myw3ICs3NDMsOSBA
QCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnNldEF0dGFjaG1lbnRFbGVtZW50KFJlZjxIVE1MQXR0
YWNobWVudEVsZW1lbnQ+JiYgYXR0YWNobQogCiAgICAgYXR0YWNobWVudC0+c2V0SW5saW5lU3R5
bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eURpc3BsYXksIENTU1ZhbHVlTm9uZSwgdHJ1ZSk7CiAgICAg
ZW5zdXJlVXNlckFnZW50U2hhZG93Um9vdCgpLmFwcGVuZENoaWxkKFdURk1vdmUoYXR0YWNobWVu
dCkpOwotICAgIHNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24od2Via2l0aW1hZ2Vt
ZW51QXR0ciwgZW1wdHlTdHJpbmcoKSk7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisg
ICAgbV9pbWFnZU1lbnVFbmFibGVkID0gdHJ1ZTsKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9D
T05UUk9MUykKIH0KIAogUmVmUHRyPEhUTUxBdHRhY2htZW50RWxlbWVudD4gSFRNTEltYWdlRWxl
bWVudDo6YXR0YWNobWVudEVsZW1lbnQoKSBjb25zdApAQCAtNzc1LDExICs3NzcsMTMgQEAgdm9p
ZCBIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xzKCkKICAgICAgICAgcmV0dXJu
OwogICAgIGlmICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLmltYWdlQ29udHJvbHNFbmFibGVkKCkp
CiAgICAgICAgIHJldHVybjsKLSAgICBib29sIGhhc0NvbnRyb2xzID0gaGFzSW1hZ2VDb250cm9s
cygpOwotICAgIGlmICghbV9pbWFnZU1lbnVFbmFibGVkICYmIGhhc0NvbnRyb2xzKQotICAgICAg
ICBkZXN0cm95SW1hZ2VDb250cm9scygpOwotICAgIGVsc2UgaWYgKG1faW1hZ2VNZW51RW5hYmxl
ZCAmJiAhaGFzQ29udHJvbHMpCi0gICAgICAgIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKTsKKyAg
ICBkb2N1bWVudCgpLmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpJbnRlcm5hbEFz
eW5jVGFzaywgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBSZWYgeyAqdGhpcyB9XSB7CisgICAgICAg
IGJvb2wgaGFzQ29udHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xzKCk7CisgICAgICAgIGlmICghbV9p
bWFnZU1lbnVFbmFibGVkICYmIGhhc0NvbnRyb2xzKQorICAgICAgICAgICAgZGVzdHJveUltYWdl
Q29udHJvbHMoKTsKKyAgICAgICAgZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkICYmICFoYXND
b250cm9scykKKyAgICAgICAgICAgIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKTsKKyAgICB9KTsK
IH0KIAogdm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojp0cnlDcmVhdGVJbWFnZUNvbnRyb2xzKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5kZXggN2Y5MTRhNWFlNGNmOWY5MjBj
NTA0MDk5YTIyNWY5ZjI0NmZjYjM1YS4uMWQ5OWQzMjE3YjU2ZmUzYzFjNWQwYzU1OGQ3ZWI0NzNh
OTg5YzNlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKQEAgLTE0Nyw2
ICsxNDcsMTAgQEAgcHVibGljOgogICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5KCkg
Y29uc3Q7CiAKICAgICBib29sIGFsbG93c09yaWVudGF0aW9uT3ZlcnJpZGUoKSBjb25zdDsKKyAg
ICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBXRUJDT1JFX0VYUE9SVCBib29s
IGhhc0ltYWdlQ29udHJvbHMoKSBjb25zdDsKKyNlbmRpZgogCiBwcm90ZWN0ZWQ6CiAgICAgSFRN
TEltYWdlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBIVE1MRm9ybUVs
ZW1lbnQqID0gbnVsbHB0cik7CkBAIC0xOTcsNyArMjAxLDYgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKICAgICB2b2lkIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMo
KTsKICAgICB2b2lkIGRlc3Ryb3lJbWFnZUNvbnRyb2xzKCk7Ci0gICAgYm9vbCBoYXNJbWFnZUNv
bnRyb2xzKCkgY29uc3Q7CiAgICAgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0
IE5vZGUmKSBjb25zdCBvdmVycmlkZTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKaW5kZXggZDVhNmFlZjQ2ZmJj
OTI0MjEyYmIxZTg1NmUyNTUyN2I5YWEzZDZhZS4uZTJjOGNmZGY5YTJiNjAzNTg4MjJkZDE0NTk3
ODk5MjhjNWM3NGMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFj
L2ltYWdlQ29udHJvbHNNYWMuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21h
Yy9pbWFnZUNvbnRyb2xzTWFjLmNzcwpAQCAtMzksNyArMzksNyBAQCBkaXYjaW1hZ2UtY29udHJv
bHMgYnV0dG9uI2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CiAgICAgCiAgICAgZGlzcGxheTogYmxv
Y2s7CiAKLSAgICBhcHBlYXJhbmNlOiAtaW50ZXJuYWwtaW1hZ2UtY29udHJvbHMtYnV0dG9uOwor
ICAgIGFwcGVhcmFuY2U6IGF1dG87CiAKICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzOwog
ICAgIG9wYWNpdHk6IDAuMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9I
aXRUZXN0UmVzdWx0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0
LmNwcAppbmRleCBmNmIxMWQ5ZDYyOWFjZmJmYjg3ODYwY2I3YjhjZDI4Y2ViYzFiMThiLi4zOWE4
ODM5MTBmYzYzNjdhZTNjZjEzYzBmNDBjYWI5YzNkYjcyZGI2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCkBAIC01NCw2ICs1NCwxMCBAQAogI2luY2x1ZGUg
IlZpc2libGVVbml0cy5oIgogI2luY2x1ZGUgIlhMaW5rTmFtZXMuaCIKIAorI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRpZgor
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CkBAIC0z
MzUsNiArMzM5LDggQEAgUmVmUHRyPE5vZGU+IEhpdFRlc3RSZXN1bHQ6Om5vZGVGb3JJbWFnZURh
dGEoKSBjb25zdAogCiAgICAgaWYgKEltYWdlT3ZlcmxheTo6aXNJbnNpZGVPdmVybGF5KCptX2lu
bmVyTm9uU2hhcmVkTm9kZSkpCiAgICAgICAgIHJldHVybiBtX2lubmVyTm9uU2hhcmVkTm9kZS0+
c2hhZG93SG9zdCgpOworICAgIGlmIChJbWFnZUNvbnRyb2xzTWFjOjppc0luc2lkZUltYWdlQ29u
dHJvbHMoKm1faW5uZXJOb25TaGFyZWROb2RlKSkKKyAgICAgICAgcmV0dXJuIG1faW5uZXJOb25T
aGFyZWROb2RlLT5zaGFkb3dIb3N0KCk7CiAKICAgICByZXR1cm4gbV9pbm5lck5vblNoYXJlZE5v
ZGU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCAxZGMx
NGNjNTU5NGFlOGQ5YmFlZWEwNThjOWQzNmMzYjgwZTM4YTYxLi41MmQwZjcxNDgxMmExMDBkNjc5
MTBmOTk1ZmY3OGM0YzRjMmU4MjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZS5jcHAKQEAgLTU3LDYgKzU3LDkgQEAKICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZU51bWJlcnMuaD4KIAorI2lm
IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIK
KyNlbmRpZgogCiAjaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpCiAjaW5jbHVkZSAiSFRNTERh
dGFMaXN0RWxlbWVudC5oIgpAQCAtMjk2LDYgKzI5OSwxMCBAQCBDb250cm9sUGFydCBSZW5kZXJU
aGVtZTo6YXV0b0FwcGVhcmFuY2VGb3JFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnRQdHIp
IGNvbgogICAgIGlmICghZWxlbWVudFB0cikKICAgICAgICAgcmV0dXJuIE5vQ29udHJvbFBhcnQ7
CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBpZiAoaXNJbWFnZUNvbnRyb2wo
ZWxlbWVudFB0cikpCisgICAgICAgIHJldHVybiBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDsKKyNl
bmRpZgogICAgIFJlZiBlbGVtZW50ID0gKmVsZW1lbnRQdHI7CiAKICAgICBpZiAoaXM8SFRNTElu
cHV0RWxlbWVudD4oZWxlbWVudCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmgKaW5kZXggOGVmMzAwZmNjNzM1OWE0ZmJiMGMxZGM1NDYwYTk4Mzc5YjE5OGQ4YS4uYWE0ZDQ5
ODNjNzdkYTI0N2Q0MDg1MjE0NDdjYWY3MTc5MzRlZGI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmgKQEAgLTM2Nyw2ICszNjcsNyBAQCBwcm90ZWN0ZWQ6CiAjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdEltYWdlQ29udHJv
bHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdDsKICAgICB2
aXJ0dWFsIGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYs
IGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CisgICAg
dmlydHVhbCBib29sIGlzSW1hZ2VDb250cm9sKGNvbnN0IEVsZW1lbnQqKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UHJvZ3Jlc3NCYXJT
dHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXggYTAzZTFmNWM5MTY5YzZlZjY1ZTNkNDYx
ODdjYWYxZTE2ZmUxOWRmNi4uOTI4MjJmYzI4YmEwMDAwM2E4OWEwZDdjODk4NjYzZGMzNmMxMTU1
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKQEAgLTIxNiw2
ICsyMTYsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIGJv
b2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBh
aW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBmaW5hbDsKICAgICBJbnRTaXplIGltYWdlQ29udHJv
bHNCdXR0b25TaXplKCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBpc0ltYWdlQ29udHJvbChjb25z
dCBFbGVtZW50KikgY29uc3QgZmluYWw7CiAKICAgICBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25D
ZWxsICpzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpIGNvbnN0OwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KaW5kZXggOTY0ODU2MTBhZmEwMmMx
Y2ViNTE4YTUyZWIzMjAxNzExYjk4ZTYwNy4uY2E4Yjc0NTg0ZWE1MjUwZDY0N2UyMjA1ZTYyMDk1
NzUxODFhYzA3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5t
bQpAQCAtODMsNiArODMsMTAgQEAKICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbXBv
cnQgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRpZgorCiAvLyBGSVhNRTog
VGhpcyBzaG91bGQgZ28gaW50byBhbiBTUEkuaCBmaWxlIGluIHRoZSBzcGkgZGlyZWN0b3J5Lgog
QGludGVyZmFjZSBOU1RleHRGaWVsZENlbGwgKCkKIC0gKENGRGljdGlvbmFyeVJlZilfY29yZVVJ
RHJhd09wdGlvbnNXaXRoRnJhbWU6KE5TUmVjdCljZWxsRnJhbWUgaW5WaWV3OihOU1ZpZXcgKilj
b250cm9sVmlldyBpbmNsdWRlRm9jdXM6KEJPT0wpaW5jbHVkZUZvY3VzOwpAQCAtMjMwOSw2ICsy
MzEzLDEzIEBAIEludFNpemUgUmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXpl
KCkgY29uc3QKIHsKICAgICByZXR1cm4gSW50U2l6ZShzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2Vs
bCgpLmNlbGxTaXplKTsKIH0KKworYm9vbCBSZW5kZXJUaGVtZU1hYzo6aXNJbWFnZUNvbnRyb2wo
Y29uc3QgRWxlbWVudCogZWxlbWVudFB0cikgY29uc3QKK3sKKyAgICBpZiAoSW1hZ2VDb250cm9s
c01hYzo6aXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudCgqZWxlbWVudFB0cikpCisgICAgICAg
IHJldHVybiB0cnVlOworICAgIHJldHVybiBmYWxzZTsKK30KICNlbmRpZgogCiAjaWYgRU5BQkxF
KEFUVEFDSE1FTlRfRUxFTUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRl
eCBkOGQ3MTRhY2YyNTVjYTcxZGU4MmU5MDgyNzg5YzMzZGM5OThhNzRhLi41NDAyMTg3NjM4MTlj
MTk4NzFlNTdhZGQ2YzlkZTQwZmI2YzlkZDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCkBAIC02Mzk3LDcgKzYzOTcsMTQgQEAgRXhjZXB0aW9uT3I8SW50ZXJuYWxzOjpBdHRh
Y2htZW50VGh1bWJuYWlsSW5mbz4gSW50ZXJuYWxzOjphdHRhY2htZW50VGh1bWJuYWlsSW4KICNl
bmRpZgogfQogCi0jZW5kaWYKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK2Jvb2wgSW50
ZXJuYWxzOjpoYXNJbWFnZUNvbnRyb2xzKGNvbnN0IEhUTUxJbWFnZUVsZW1lbnQmIGVsZW1lbnQp
IGNvbnN0Cit7CisgICAgcmV0dXJuIGVsZW1lbnQuaGFzSW1hZ2VDb250cm9scygpOworfQorI2Vu
ZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCisjZW5kaWYgLy8gRU5BQkxFKEFUVEFD
SE1FTlRfRUxFTUVOVCkKIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogRXhjZXB0aW9uT3I8
ZG91YmxlPiBJbnRlcm5hbHM6OmN1cnJlbnRNZWRpYVNlc3Npb25Qb3NpdGlvbihjb25zdCBNZWRp
YVNlc3Npb24mIHNlc3Npb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBmYmMx
MjE5NTFlYTM5ZGQxNDhkNzVhZTIzNzc2NDg4MGYwYjNlMWQ1Li4xMDI3OGY2ODUzZWViMjY0Mjkw
NmZmOGJmOWQxMDAwNDIxNzAyYmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAg
LTExODQsNyArMTE4NCwxMCBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIEV4Y2VwdGlvbk9yPEF0
dGFjaG1lbnRUaHVtYm5haWxJbmZvPiBhdHRhY2htZW50VGh1bWJuYWlsSW5mbyhjb25zdCBIVE1M
QXR0YWNobWVudEVsZW1lbnQmKTsKLSNlbmRpZgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQorICAgIGJvb2wgaGFzSW1hZ2VDb250cm9scyhjb25zdCBIVE1MSW1hZ2VFbGVtZW50JikgY29u
c3Q7CisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisjZW5kaWYgLy8gRU5BQkxF
KEFUVEFDSE1FTlRfRUxFTUVOVCkKIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIEV4
Y2VwdGlvbk9yPGRvdWJsZT4gY3VycmVudE1lZGlhU2Vzc2lvblBvc2l0aW9uKGNvbnN0IE1lZGlh
U2Vzc2lvbiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDIzNGMyMzYy
NmMwNGUxZmNkMmEyZTVjYzJhNDQ5NTEyYjM2ZWZhZGYuLmMzZTRiYzcyMmUzODNiOGNlYzc4ODhl
Y2RkOTUzMDI3ZDQ1ZDdlMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAg
LTEwNzEsNiArMTA3MSw3IEBAIGVudW0gSEVWQ1BhcmFtZXRlckNvZGVjIHsKICAgICB1bmRlZmlu
ZWQgc2V0Q29udGVudFNpemVDYXRlZ29yeShDb250ZW50U2l6ZUNhdGVnb3J5IGNhdGVnb3J5KTsK
IAogICAgIFtDb25kaXRpb25hbD1BVFRBQ0hNRU5UX0VMRU1FTlRdIEF0dGFjaG1lbnRUaHVtYm5h
aWxJbmZvIGF0dGFjaG1lbnRUaHVtYm5haWxJbmZvKEhUTUxBdHRhY2htZW50RWxlbWVudCBlbGVt
ZW50KTsKKyAgICBbQ29uZGl0aW9uYWw9QVRUQUNITUVOVF9FTEVNRU5ULCBDb25kaXRpb25hbD1T
RVJWSUNFX0NPTlRST0xTXSBib29sZWFuIGhhc0ltYWdlQ29udHJvbHMoSFRNTEltYWdlRWxlbWVu
dCBlbGVtZW50KTsKIAogICAgIFtDb25kaXRpb25hbD1NRURJQV9TRVNTSU9OXSBkb3VibGUgY3Vy
cmVudE1lZGlhU2Vzc2lvblBvc2l0aW9uKE1lZGlhU2Vzc2lvbiBzZXNzaW9uKTsKICAgICBbQ29u
ZGl0aW9uYWw9TUVESUFfU0VTU0lPTl0gdW5kZWZpbmVkIHNlbmRNZWRpYVNlc3Npb25BY3Rpb24o
TWVkaWFTZXNzaW9uIHNlc3Npb24sIE1lZGlhU2Vzc2lvbkFjdGlvbkRldGFpbHMgYWN0aW9uRGV0
YWlscyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggZmViOWI3ZjEzNDQ3YWUwMWViYjNkYjFmOGQ0MjBkOTNiMmVlMzVmYi4u
ODMzZjJiOWNkZjE0ZGU2ZTIyNTEyYTVkOTU1NzMwODBlYTM2Yjk5ZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDIxLTEyLTE2ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5j
b20+CisKKyAgICAgICAgUmVtb3ZlIHVubmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmli
dXRlIGZvciBJbWFnZSBDb250cm9sIE1lbnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZWJhc2VpbmcgYW5kIHJld3JpdGluZyB0ZXN0cyBmb3IgcmVt
b3ZpbmcgdW5uZWVkZWQgQ1NTIGF0dHJpYnV0ZS4KKworICAgICAgICAqIGZhc3QvaW1hZ2VzL2lt
YWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1jYXRhbGlu
YS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVk
LnR4dDoKKwogMjAyMS0xMi0xNCAgVHlsZXIgV2lsY29jayAgPHR5bGVyX3dAYXBwbGUuY29tPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHRlc3Qgd2VicGFnZSBrZWVwcyByZWxvYWRpbmcgd2hl
biBJbnNwZWN0b3IgaXMgb3BlbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMv
aW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFn
ZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CmluZGV4IDU5Yjc1ZDc2YTA0OGFi
NDAxNWJlMDJhZTY2NzQ3YTJiODUxMmRkYmQuLjJiNDVkMzJkODI2ZTE4YzVlMjcwNWUzY2NlMDAz
NjgxNDk0YmQwMWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNv
bnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCi0gICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4
NTg0CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgyNzYKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDI3NgorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
Nzg0eDI2MAogICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2CiAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sCmluZGV4IDI0ZDA1ZjM1
YjRiNjFjZDQ3ZWFjNWZjNDEwM2ZmMzQyYmFmZjIwNDEuLjY0ODg1MjY0ZTBmMWE0ZDBkYThkZTY1
ZGU5OWIxOTgwMDI4OGQ4NTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2lt
YWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1h
Z2UtY29udHJvbHMtYmFzaWMuaHRtbApAQCAtMSw4ICsxLDM0IEBACi0gPHNjcmlwdD4KLWlmICh3
aW5kb3cuaW50ZXJuYWxzKQotCWludGVybmFscy5zZXR0aW5ncy5zZXRJbWFnZUNvbnRyb2xzRW5h
YmxlZCh0cnVlKTsKLQorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBB
dHRhY2htZW50RWxlbWVudEVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKK30KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgCWludGVybmFscy5zZXR0aW5ncy5z
ZXRJbWFnZUNvbnRyb2xzRW5hYmxlZCh0cnVlKTsKK30KIDwvc2NyaXB0PgorPC9oZWFkPgogPGJv
ZHk+Ci08aW1nIHNyYz0icmVzb3VyY2VzL2dyZWVuLTI1NngyNTYuanBnIiB4LXdlYmtpdC1pbWFn
ZW1lbnU+Ci08L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPGltZyBpZD0idGFy
Z2V0IiBzcmM9InJlc291cmNlcy9ncmVlbi0yNTZ4MjU2LmpwZyI+Cis8c2NyaXB0PgorCWZ1bmN0
aW9uIGhhc0ltYWdlQ29udHJvbHMoZWxlbSkKKwl7CisJCWlmICh3aW5kb3cuaW50ZXJuYWxzKQor
CQkJcmV0dXJuIGludGVybmFscy5oYXNJbWFnZUNvbnRyb2xzKGVsZW0pOworCQlyZXR1cm4gZmFs
c2U7CisJfQorCisJanNUZXN0SXNBc3luYyA9IHRydWU7CisKKwl2YXIgZWxlbSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKwl2YXIgSUQgPSBIVE1MQXR0YWNobWVudEVsZW1l
bnQuZ2V0QXR0YWNobWVudElkZW50aWZpZXIoZWxlbSk7CisKKwlzZXRJbnRlcnZhbCgoKSA9PiB7
CisgICAgaWYgKGhhc0ltYWdlQ29udHJvbHMoZWxlbSkpCisgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOworCX0sIDIwMCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9pbWFn
ZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
Y2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDkyNGIyOWQ1M2M1OWY1ZThlYmY3ZjMyZGQ0OTYzYzA4NjE5NTc0NTAuLjhhOWMxMWEyYWFl
NWMxNDA4NjdmODliMGRmZGM5YTM3MzYzYjQ4YjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWNhdGFsaW5hL2Zhc3QvaW1h
Z2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMSwxMCArMSwxMSBAQAog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyQmxvY2sge0hUTUx9
IGF0ICgwLDApIHNpemUgODAweDYwMAotICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNp
emUgNzg0eDU4NAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mjc2CisgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHgyNzYKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc4NHgyNjAKICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2
eDI1NgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKIGxheWVyIGF0ICg4LDgpIHNpemUg
MjU2eDI1NgogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAs
MCkgc2l6ZSAyNTZ4MjU2IFtjb2xvcj0jMDAwMDAwMDBdCiBsYXllciBhdCAoMjE1LDMwKSBzaXpl
IDI3eDI2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMv
aW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dAppbmRleCA4
MzIxM2EzY2RmOWEzMGJjOTNiYzg4NzAxMmRiNDdmM2Q0NDU2ZjVjLi4xMzJjMTQ2OWRmZTdmZTE4
Y2RhOWRmMjlhZTc4MDU0NjBjNjkzOTc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNp
Yy1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsMTEgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCi0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LSAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDI3NgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
Mjc2CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MjYwCiAgICAgICBS
ZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCiBsYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYKICAgUmVuZGVyQmxvY2sg
KHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NiBbY29sb3I9
IzAwMDAwMDAwXQogbGF5ZXIgYXQgKDIxNCwzMCkgc2l6ZSAyOHgyNgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3NjZkNzBmMmQ5NDg4NDE1NjE3YzMwZjA3
ZjIyNjhhYWFjMGZmYjFjLi41ZjFjNGRjOTM0YTJmNmY3ZjUyNDBiMzMyMGUwNDJiZDlkNmU0ZWU0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNzAxLDYg
KzcwMSw3IEBAIHdlYmtpdC5vcmcvYi8zNTAxMyBzdmcvem9vbS90ZXh0LyBbIFNraXAgXQogIyBU
T0RPIEF0dGFjaG1lbnQgZWxlbWVudHMgZG8gbm90IHByb3ZpZGUgYSBjdXN0b20gcmVuZGVyZXIK
IHdlYmtpdC5vcmcvYi8xNDIyNjAgZmFzdC9hdHRhY2htZW50IFsgU2tpcCBdCiB3ZWJraXQub3Jn
L2IvMTQyMjYwIGZhc3QvY3NzL2hhcy1hdHRhY2htZW50Lmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5v
cmcvYi8xNDIyNjAgZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbCBbIFNraXAg
XQogCiAjIFRPRE8gQVBORyBpcyBub3Qgc3VwcG9ydGVkCiB3ZWJraXQub3JnL2IvMTQyNzMxIGZh
c3QvaW1hZ2VzL2FuaW1hdGVkLXBuZy5odG1sIFsgU2tpcCBdCg==
</data>
<flag name="commit-queue"
          id="473344"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447658</attachid>
            <date>2021-12-20 16:03:59 -0800</date>
            <delta_ts>2022-01-04 16:48:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234405-20211220160358.patch</filename>
            <type>text/plain</type>
            <size>21628</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmQwNTU1M2VjMzgyYzI5
YTgzMDFjNzAwMzViMGU0OGMwYzNlM2VhZi4uMzczOTQyZmM2ZDU1NWVjOWRjYjg2ZGE4MWE1M2M1
ZmFkNWY0YzRjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTEyLTE2ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVu
bmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1l
bnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0
MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICBXZSBkbyBub3QgYWN0dWFs
bHkgbmVlZCBhIHNwZWNpZmljIENTUyBhdHRyaWJ1dGUgdG8gYWNoaWV2ZSB0aGUgaW1hZ2UgY29u
dHJvbCBtZW51LAorICAgICAgICBzbyB3ZSBzaG91bGQgcmVtb3ZlIGl0IHRvIGtlZXAgV2ViS2l0
IHNwZWNpZmljIGNsdXR0ZXIgb3V0IG9mIG91ciBDU1MgaW1wbGVtZW50YXRpb24KKyAgICAgICAg
YW5kIHdlIHNob3VsZCBrZWVwIHRyYWNrIG9mIHRoZSBwcmVzZW5jZSBvZiB0aGUgaW1hZ2UgY29u
dHJvbCBtZW51IGZ1bGx5IGludGVybmFsbHkuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydGllcy5qc29uOgorICAg
ICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NT
UGFyc2VySWRpb21zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsdWVBbGxvd2VkSW5Nb2Rl
KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEltYWdlRWxlbWVudDo6c2V0QXR0YWNobWVudEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6dXBkYXRlSW1hZ2VDb250cm9scyk6CisgICAgICAgICogaHRt
bC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzOgorICAgICAgICAoZGl2I2ltYWdlLWNv
bnRyb2xzIGJ1dHRvbiNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YXV0b0Fw
cGVhcmFuY2VGb3JFbGVtZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjppc0ltYWdlQ29udHJvbCBjb25z
dCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OmlzSW1hZ2VDb250cm9sIGNvbnN0KToKKwogMjAyMS0xMi0xNCAgQWxhbiBCdWp0YXMgIDx6
YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBUYWtlIHRleHQtYWxpZ24gb2Zm
c2V0IGludG8gYWNjb3VudCB3aGVuIGNvbXB1dGluZyB0aGUgUlRMIGRpc3BsYXkgYm94IGdlb21l
dHJ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBw
aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApp
bmRleCBiNjk3ZWZkMGRiNWI5ZDdlZmIwNzA0M2Y3ZjE5ZWI1NTI1NjkyZTJkLi43YzJhNTJmOWI3
YjA4NmIxMjQwOTM0NThjNzk4OGI3MGQ5NDc5MGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTYzNCw3ICs2MzQsOCBAQCB0ZW1wbGF0
ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoQ29udHJvbFBh
cnQgZSkKICNlbmRpZgogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIGNhc2UgSW1h
Z2VDb250cm9sc0J1dHRvblBhcnQ6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVl
SW50ZXJuYWxJbWFnZUNvbnRyb2xzQnV0dG9uOworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVOb25lOwogICAgICAgICBicmVh
azsKICNlbmRpZgogI2lmIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbgppbmRleCA4NzcwMTgxYmY4ZTRmOTY4YTljNzFiMTIyNmI2OTMyOWYyZDU4Yzc2
Li5jMjU1NmI2Y2UzZGNjMjExMjljM2UzZmYzNjMzZjI4YWVkZDA5NGFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTUxNzcsNyArNTE3Nyw2IEBACiAgICAgICAgICAg
ICAgICAgImNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAg
ICAgICAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAgICAg
ICAicmF0aW5nLWxldmVsLWluZGljYXRvciIsCi0gICAgICAgICAgICAgICAgIi1pbnRlcm5hbC1p
bWFnZS1jb250cm9scy1idXR0b24iLAogICAgICAgICAgICAgICAgICItYXBwbGUtcGF5LWJ1dHRv
biIsCiAgICAgICAgICAgICAgICAgInRleHRhcmVhIiwKICAgICAgICAgICAgICAgICAiYXR0YWNo
bWVudCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5p
biBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDE2YmJiMGFi
YjAwNzMyZjM1NDFmMjI1YzcyMGU4NjY4Y2NjMWQ1ZmMuLjBjYTFkYTRmZDRhYjQ3MmY4NTM3OTY0
NGQzMjVkNTU5ZDEzNjMzMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmlu
CkBAIC04OTAsOSArODkwLDYgQEAgcmVsZXZhbmN5LWxldmVsLWluZGljYXRvcgogY29udGludW91
cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IKIGRpc2NyZXRlLWNhcGFjaXR5LWxldmVsLWluZGlj
YXRvcgogcmF0aW5nLWxldmVsLWluZGljYXRvcgotI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTCi0taW50ZXJuYWwtaW1hZ2UtY29u
dHJvbHMtYnV0dG9uCi0jZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVkpICYmIEVO
QUJMRV9BUFBMRV9QQVkKIC1hcHBsZS1wYXktYnV0dG9uCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAppbmRleCAyNTI5NzczMWIyZmFkZGVi
NTA2NWZmOWJiNzZiNTg2M2Q2ZDFmNzNjLi42NTQ0ZjI2ZjUxYTkyM2VlNjMwZTc5MThkYjkzMzg2
ZmNhNWU1N2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNl
cklkaW9tcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlv
bXMuY3BwCkBAIC00MCwxMCArNDAsNiBAQCBib29sIGlzVmFsdWVBbGxvd2VkSW5Nb2RlKHVuc2ln
bmVkIHNob3J0IGlkLCBDU1NQYXJzZXJNb2RlIG1vZGUpCiAgICAgICAgIHJldHVybiBpc1VBU2hl
ZXRCZWhhdmlvcihtb2RlKTsKICAgICBjYXNlIENTU1ZhbHVlV2Via2l0Rm9jdXNSaW5nQ29sb3I6
CiAgICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKSB8fCBpc1F1aXJrc01vZGVC
ZWhhdmlvcihtb2RlKTsKLSNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLSAgICBjYXNlIENT
U1ZhbHVlSW50ZXJuYWxJbWFnZUNvbnRyb2xzQnV0dG9uOgotICAgICAgICByZXR1cm4gaXNVQVNo
ZWV0QmVoYXZpb3IobW9kZSk7Ci0jZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29u
dHJvbHNNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmNw
cAppbmRleCBiYjg4NjFkMTA3MTQ0YTU4MjllNzk3YzU2MmQwOTY4OGJlOGI5YmEyLi5kOWZiMTA3
NTBiZjE1YjVkYzNjMjkzNmNkMGMwMDRhZTQzMjc2ODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAKQEAgLTczLDYgKzczLDE0IEBAIGJvb2wgaXNJbWFn
ZUNvbnRyb2xzQnV0dG9uRWxlbWVudChjb25zdCBOb2RlJiBub2RlKQogICAgIHJldHVybiBpczxF
bGVtZW50Pihub2RlKSAmJiBkb3duY2FzdDxFbGVtZW50Pihub2RlKS5nZXRJZEF0dHJpYnV0ZSgp
ID09IGltYWdlQ29udHJvbHNCdXR0b25JZGVudGlmaWVyKCk7CiB9CiAKK2Jvb2wgaXNJbnNpZGVJ
bWFnZUNvbnRyb2xzKGNvbnN0IE5vZGUmIG5vZGUpCit7CisgICAgUmVmUHRyIGhvc3QgPSBub2Rl
LnNoYWRvd0hvc3QoKTsKKyAgICBpZiAoIWlzPEhUTUxFbGVtZW50Pihob3N0LmdldCgpKSB8fCAh
aGFzQ29udHJvbHMoZG93bmNhc3Q8SFRNTEVsZW1lbnQ+KCpob3N0KSkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICByZXR1cm4gaXM8RWxlbWVudD4obm9kZSkgJiYgZG93bmNhc3Q8RWxlbWVu
dD4obm9kZSkuZ2V0SWRBdHRyaWJ1dGUoKSA9PSBpbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZp
ZXIoKTsKK30KKwogdm9pZCBjcmVhdGVJbWFnZUNvbnRyb2xzKEhUTUxFbGVtZW50JiBlbGVtZW50
KQogewogICAgIFJlZiBkb2N1bWVudCA9IGVsZW1lbnQuZG9jdW1lbnQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmgKaW5kZXggNmFjYjRiZjNlMjNiNzU4MDM3ZDMx
ZGFmZGFjYjg0Y2FkMzdiOGMwZS4uMTFlZjMwYjJhMDFiYTJhYzcxMTkwZTFmMmZhNzliODFkYjkx
OTJjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFj
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmgKQEAgLTM4
LDYgKzM4LDcgQEAgbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMgewogCiBib29sIGhhc0NvbnRy
b2xzKGNvbnN0IEhUTUxFbGVtZW50Jik7CiBib29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1l
bnQoY29uc3QgTm9kZSYpOworYm9vbCBpc0luc2lkZUltYWdlQ29udHJvbHMoY29uc3QgTm9kZSYp
Owogdm9pZCBjcmVhdGVJbWFnZUNvbnRyb2xzKEhUTUxFbGVtZW50Jik7CiBib29sIGhhbmRsZUV2
ZW50KEhUTUxFbGVtZW50JiwgRXZlbnQmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdl
RWxlbWVudC5jcHAKaW5kZXggNzdjOThmNWUwNDU5NzZmOTk3YzU4OWJhMWFjNDNjNWZkZjFhYjI4
My4uOTM5ZDQ1OTQ2MjIwNDc4ZGJhM2Q5Y2RhYmFhNzQ5Y2Y3YTY1ODgyYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVk
ZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiRWRpdG9yLmgiCiAjaW5jbHVkZSAiRWxlbWVu
dEl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiRXZlbnRMb29wLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1l
cy5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkhUTUxBbmNob3JFbGVtZW50
LmgiCkBAIC0zMTMsOCArMzE0LDcgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaW4KICAgICAgICAg
aWYgKCFwYXJzZUNvbXBvc2l0ZUFuZEJsZW5kT3BlcmF0b3IodmFsdWUsIG1fY29tcG9zaXRlT3Bl
cmF0b3IsIGJsZW5kT3ApKQogICAgICAgICAgICAgbV9jb21wb3NpdGVPcGVyYXRvciA9IENvbXBv
c2l0ZU9wZXJhdG9yOjpTb3VyY2VPdmVyOwogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQot
ICAgIH0gZWxzZSBpZiAobmFtZSA9PSB3ZWJraXRpbWFnZW1lbnVBdHRyKSB7Ci0gICAgICAgIG1f
aW1hZ2VNZW51RW5hYmxlZCA9ICF2YWx1ZS5pc051bGwoKTsKKyAgICB9IGVsc2UgaWYgKG1faW1h
Z2VNZW51RW5hYmxlZCkgewogICAgICAgICB1cGRhdGVJbWFnZUNvbnRyb2xzKCk7CiAjZW5kaWYK
ICAgICB9IGVsc2UgaWYgKG5hbWUgPT0gbG9hZGluZ0F0dHIpIHsKQEAgLTc0Myw3ICs3NDMsOSBA
QCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnNldEF0dGFjaG1lbnRFbGVtZW50KFJlZjxIVE1MQXR0
YWNobWVudEVsZW1lbnQ+JiYgYXR0YWNobQogCiAgICAgYXR0YWNobWVudC0+c2V0SW5saW5lU3R5
bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eURpc3BsYXksIENTU1ZhbHVlTm9uZSwgdHJ1ZSk7CiAgICAg
ZW5zdXJlVXNlckFnZW50U2hhZG93Um9vdCgpLmFwcGVuZENoaWxkKFdURk1vdmUoYXR0YWNobWVu
dCkpOwotICAgIHNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24od2Via2l0aW1hZ2Vt
ZW51QXR0ciwgZW1wdHlTdHJpbmcoKSk7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisg
ICAgbV9pbWFnZU1lbnVFbmFibGVkID0gdHJ1ZTsKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9D
T05UUk9MUykKIH0KIAogUmVmUHRyPEhUTUxBdHRhY2htZW50RWxlbWVudD4gSFRNTEltYWdlRWxl
bWVudDo6YXR0YWNobWVudEVsZW1lbnQoKSBjb25zdApAQCAtNzc1LDExICs3NzcsMTMgQEAgdm9p
ZCBIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xzKCkKICAgICAgICAgcmV0dXJu
OwogICAgIGlmICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLmltYWdlQ29udHJvbHNFbmFibGVkKCkp
CiAgICAgICAgIHJldHVybjsKLSAgICBib29sIGhhc0NvbnRyb2xzID0gaGFzSW1hZ2VDb250cm9s
cygpOwotICAgIGlmICghbV9pbWFnZU1lbnVFbmFibGVkICYmIGhhc0NvbnRyb2xzKQotICAgICAg
ICBkZXN0cm95SW1hZ2VDb250cm9scygpOwotICAgIGVsc2UgaWYgKG1faW1hZ2VNZW51RW5hYmxl
ZCAmJiAhaGFzQ29udHJvbHMpCi0gICAgICAgIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKTsKKyAg
ICBkb2N1bWVudCgpLmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpJbnRlcm5hbEFz
eW5jVGFzaywgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBSZWYgeyAqdGhpcyB9XSB7CisgICAgICAg
IGJvb2wgaGFzQ29udHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xzKCk7CisgICAgICAgIGlmICghbV9p
bWFnZU1lbnVFbmFibGVkICYmIGhhc0NvbnRyb2xzKQorICAgICAgICAgICAgZGVzdHJveUltYWdl
Q29udHJvbHMoKTsKKyAgICAgICAgZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkICYmICFoYXND
b250cm9scykKKyAgICAgICAgICAgIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKTsKKyAgICB9KTsK
IH0KIAogdm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojp0cnlDcmVhdGVJbWFnZUNvbnRyb2xzKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5kZXggN2Y5MTRhNWFlNGNmOWY5MjBj
NTA0MDk5YTIyNWY5ZjI0NmZjYjM1YS4uMWQ5OWQzMjE3YjU2ZmUzYzFjNWQwYzU1OGQ3ZWI0NzNh
OTg5YzNlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKQEAgLTE0Nyw2
ICsxNDcsMTAgQEAgcHVibGljOgogICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5KCkg
Y29uc3Q7CiAKICAgICBib29sIGFsbG93c09yaWVudGF0aW9uT3ZlcnJpZGUoKSBjb25zdDsKKyAg
ICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBXRUJDT1JFX0VYUE9SVCBib29s
IGhhc0ltYWdlQ29udHJvbHMoKSBjb25zdDsKKyNlbmRpZgogCiBwcm90ZWN0ZWQ6CiAgICAgSFRN
TEltYWdlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBIVE1MRm9ybUVs
ZW1lbnQqID0gbnVsbHB0cik7CkBAIC0xOTcsNyArMjAxLDYgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKICAgICB2b2lkIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMo
KTsKICAgICB2b2lkIGRlc3Ryb3lJbWFnZUNvbnRyb2xzKCk7Ci0gICAgYm9vbCBoYXNJbWFnZUNv
bnRyb2xzKCkgY29uc3Q7CiAgICAgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0
IE5vZGUmKSBjb25zdCBvdmVycmlkZTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKaW5kZXggZDVhNmFlZjQ2ZmJj
OTI0MjEyYmIxZTg1NmUyNTUyN2I5YWEzZDZhZS4uZTJjOGNmZGY5YTJiNjAzNTg4MjJkZDE0NTk3
ODk5MjhjNWM3NGMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFj
L2ltYWdlQ29udHJvbHNNYWMuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21h
Yy9pbWFnZUNvbnRyb2xzTWFjLmNzcwpAQCAtMzksNyArMzksNyBAQCBkaXYjaW1hZ2UtY29udHJv
bHMgYnV0dG9uI2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CiAgICAgCiAgICAgZGlzcGxheTogYmxv
Y2s7CiAKLSAgICBhcHBlYXJhbmNlOiAtaW50ZXJuYWwtaW1hZ2UtY29udHJvbHMtYnV0dG9uOwor
ICAgIGFwcGVhcmFuY2U6IGF1dG87CiAKICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzOwog
ICAgIG9wYWNpdHk6IDAuMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9I
aXRUZXN0UmVzdWx0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0
LmNwcAppbmRleCBmNmIxMWQ5ZDYyOWFjZmJmYjg3ODYwY2I3YjhjZDI4Y2ViYzFiMThiLi44MzAy
NTkxOTJjNDYxYzgyNTFhODkyNTU2NzkyM2UxMjM2OThmZjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCkBAIC01NCw2ICs1NCwxMCBAQAogI2luY2x1ZGUg
IlZpc2libGVVbml0cy5oIgogI2luY2x1ZGUgIlhMaW5rTmFtZXMuaCIKIAorI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRpZgor
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CkBAIC0z
MzUsNiArMzM5LDExIEBAIFJlZlB0cjxOb2RlPiBIaXRUZXN0UmVzdWx0Ojpub2RlRm9ySW1hZ2VE
YXRhKCkgY29uc3QKIAogICAgIGlmIChJbWFnZU92ZXJsYXk6OmlzSW5zaWRlT3ZlcmxheSgqbV9p
bm5lck5vblNoYXJlZE5vZGUpKQogICAgICAgICByZXR1cm4gbV9pbm5lck5vblNoYXJlZE5vZGUt
PnNoYWRvd0hvc3QoKTsKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBp
ZiAoSW1hZ2VDb250cm9sc01hYzo6aXNJbnNpZGVJbWFnZUNvbnRyb2xzKCptX2lubmVyTm9uU2hh
cmVkTm9kZSkpCisgICAgICAgIHJldHVybiBtX2lubmVyTm9uU2hhcmVkTm9kZS0+c2hhZG93SG9z
dCgpOworI2VuZGlmCiAKICAgICByZXR1cm4gbV9pbm5lck5vblNoYXJlZE5vZGU7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCAxZGMxNGNjNTU5NGFlOGQ5
YmFlZWEwNThjOWQzNmMzYjgwZTM4YTYxLi41MmQwZjcxNDgxMmExMDBkNjc5MTBmOTk1ZmY3OGM0
YzRjMmU4MjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKQEAg
LTU3LDYgKzU3LDkgQEAKICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZU51bWJlcnMuaD4KIAorI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRpZgogCiAj
aWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpCiAjaW5jbHVkZSAiSFRNTERhdGFMaXN0RWxlbWVu
dC5oIgpAQCAtMjk2LDYgKzI5OSwxMCBAQCBDb250cm9sUGFydCBSZW5kZXJUaGVtZTo6YXV0b0Fw
cGVhcmFuY2VGb3JFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnRQdHIpIGNvbgogICAgIGlm
ICghZWxlbWVudFB0cikKICAgICAgICAgcmV0dXJuIE5vQ29udHJvbFBhcnQ7CiAKKyNpZiBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBpZiAoaXNJbWFnZUNvbnRyb2woZWxlbWVudFB0cikp
CisgICAgICAgIHJldHVybiBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDsKKyNlbmRpZgogICAgIFJl
ZiBlbGVtZW50ID0gKmVsZW1lbnRQdHI7CiAKICAgICBpZiAoaXM8SFRNTElucHV0RWxlbWVudD4o
ZWxlbWVudCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggOGVm
MzAwZmNjNzM1OWE0ZmJiMGMxZGM1NDYwYTk4Mzc5YjE5OGQ4YS4uYWE0ZDQ5ODNjNzdkYTI0N2Q0
MDg1MjE0NDdjYWY3MTc5MzRlZGI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lLmgKQEAgLTM2Nyw2ICszNjcsNyBAQCBwcm90ZWN0ZWQ6CiAjaWYgRU5BQkxFKFNFUlZJQ0Vf
Q09OVFJPTFMpCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdEltYWdlQ29udHJvbHNCdXR0b25TdHls
ZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wg
cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50
SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBib29s
IGlzSW1hZ2VDb250cm9sKGNvbnN0IEVsZW1lbnQqKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
I2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShSZW5kZXJT
dHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lTWFjLmgKaW5kZXggYTAzZTFmNWM5MTY5YzZlZjY1ZTNkNDYxODdjYWYxZTE2ZmUx
OWRmNi4uOTI4MjJmYzI4YmEwMDAwM2E4OWEwZDdjODk4NjYzZGMzNmMxMTU1ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKQEAgLTIxNiw2ICsyMTYsNyBAQCBw
cml2YXRlOgogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIGJvb2wgcGFpbnRJbWFn
ZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNv
bnN0IEludFJlY3QmKSBmaW5hbDsKICAgICBJbnRTaXplIGltYWdlQ29udHJvbHNCdXR0b25TaXpl
KCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBpc0ltYWdlQ29udHJvbChjb25zdCBFbGVtZW50Kikg
Y29uc3QgZmluYWw7CiAKICAgICBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsICpzZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbCgpIGNvbnN0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KaW5kZXggOTY0ODU2MTBhZmEwMmMxY2ViNTE4YTUyZWIz
MjAxNzExYjk4ZTYwNy4uY2E4Yjc0NTg0ZWE1MjUwZDY0N2UyMjA1ZTYyMDk1NzUxODFhYzA3NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQpAQCAtODMsNiAr
ODMsMTAgQEAKICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi90ZXh0
L1N0cmluZ0J1aWxkZXIuaD4KIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorI2luY2x1
ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRpZgorCiAvLyBGSVhNRTogVGhpcyBzaG91bGQg
Z28gaW50byBhbiBTUEkuaCBmaWxlIGluIHRoZSBzcGkgZGlyZWN0b3J5LgogQGludGVyZmFjZSBO
U1RleHRGaWVsZENlbGwgKCkKIC0gKENGRGljdGlvbmFyeVJlZilfY29yZVVJRHJhd09wdGlvbnNX
aXRoRnJhbWU6KE5TUmVjdCljZWxsRnJhbWUgaW5WaWV3OihOU1ZpZXcgKiljb250cm9sVmlldyBp
bmNsdWRlRm9jdXM6KEJPT0wpaW5jbHVkZUZvY3VzOwpAQCAtMjMwOSw2ICsyMzEzLDEzIEBAIElu
dFNpemUgUmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29uc3QKIHsK
ICAgICByZXR1cm4gSW50U2l6ZShzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpLmNlbGxTaXpl
KTsKIH0KKworYm9vbCBSZW5kZXJUaGVtZU1hYzo6aXNJbWFnZUNvbnRyb2woY29uc3QgRWxlbWVu
dCogZWxlbWVudFB0cikgY29uc3QKK3sKKyAgICBpZiAoSW1hZ2VDb250cm9sc01hYzo6aXNJbWFn
ZUNvbnRyb2xzQnV0dG9uRWxlbWVudCgqZWxlbWVudFB0cikpCisgICAgICAgIHJldHVybiB0cnVl
OworICAgIHJldHVybiBmYWxzZTsKK30KICNlbmRpZgogCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRf
RUxFTUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBkOGQ3MTRhY2Yy
NTVjYTcxZGU4MmU5MDgyNzg5YzMzZGM5OThhNzRhLi41NDAyMTg3NjM4MTljMTk4NzFlNTdhZGQ2
YzlkZTQwZmI2YzlkZDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC02
Mzk3LDcgKzYzOTcsMTQgQEAgRXhjZXB0aW9uT3I8SW50ZXJuYWxzOjpBdHRhY2htZW50VGh1bWJu
YWlsSW5mbz4gSW50ZXJuYWxzOjphdHRhY2htZW50VGh1bWJuYWlsSW4KICNlbmRpZgogfQogCi0j
ZW5kaWYKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK2Jvb2wgSW50ZXJuYWxzOjpoYXNJ
bWFnZUNvbnRyb2xzKGNvbnN0IEhUTUxJbWFnZUVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIGVsZW1lbnQuaGFzSW1hZ2VDb250cm9scygpOworfQorI2VuZGlmIC8vIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorCisjZW5kaWYgLy8gRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVO
VCkKIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogRXhjZXB0aW9uT3I8ZG91YmxlPiBJbnRl
cm5hbHM6OmN1cnJlbnRNZWRpYVNlc3Npb25Qb3NpdGlvbihjb25zdCBNZWRpYVNlc3Npb24mIHNl
c3Npb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBmYmMxMjE5NTFlYTM5ZGQx
NDhkNzVhZTIzNzc2NDg4MGYwYjNlMWQ1Li4xMDI3OGY2ODUzZWViMjY0MjkwNmZmOGJmOWQxMDAw
NDIxNzAyYmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTExODQsNyArMTE4
NCwxMCBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIEV4Y2VwdGlvbk9yPEF0dGFjaG1lbnRUaHVt
Ym5haWxJbmZvPiBhdHRhY2htZW50VGh1bWJuYWlsSW5mbyhjb25zdCBIVE1MQXR0YWNobWVudEVs
ZW1lbnQmKTsKLSNlbmRpZgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGJvb2wg
aGFzSW1hZ2VDb250cm9scyhjb25zdCBIVE1MSW1hZ2VFbGVtZW50JikgY29uc3Q7CisjZW5kaWYg
Ly8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisjZW5kaWYgLy8gRU5BQkxFKEFUVEFDSE1FTlRf
RUxFTUVOVCkKIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIEV4Y2VwdGlvbk9yPGRv
dWJsZT4gY3VycmVudE1lZGlhU2Vzc2lvblBvc2l0aW9uKGNvbnN0IE1lZGlhU2Vzc2lvbiYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDIzNGMyMzYyNmMwNGUxZmNkMmEy
ZTVjYzJhNDQ5NTEyYjM2ZWZhZGYuLmMzZTRiYzcyMmUzODNiOGNlYzc4ODhlY2RkOTUzMDI3ZDQ1
ZDdlMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTEwNzEsNiArMTA3
MSw3IEBAIGVudW0gSEVWQ1BhcmFtZXRlckNvZGVjIHsKICAgICB1bmRlZmluZWQgc2V0Q29udGVu
dFNpemVDYXRlZ29yeShDb250ZW50U2l6ZUNhdGVnb3J5IGNhdGVnb3J5KTsKIAogICAgIFtDb25k
aXRpb25hbD1BVFRBQ0hNRU5UX0VMRU1FTlRdIEF0dGFjaG1lbnRUaHVtYm5haWxJbmZvIGF0dGFj
aG1lbnRUaHVtYm5haWxJbmZvKEhUTUxBdHRhY2htZW50RWxlbWVudCBlbGVtZW50KTsKKyAgICBb
Q29uZGl0aW9uYWw9QVRUQUNITUVOVF9FTEVNRU5ULCBDb25kaXRpb25hbD1TRVJWSUNFX0NPTlRS
T0xTXSBib29sZWFuIGhhc0ltYWdlQ29udHJvbHMoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50KTsK
IAogICAgIFtDb25kaXRpb25hbD1NRURJQV9TRVNTSU9OXSBkb3VibGUgY3VycmVudE1lZGlhU2Vz
c2lvblBvc2l0aW9uKE1lZGlhU2Vzc2lvbiBzZXNzaW9uKTsKICAgICBbQ29uZGl0aW9uYWw9TUVE
SUFfU0VTU0lPTl0gdW5kZWZpbmVkIHNlbmRNZWRpYVNlc3Npb25BY3Rpb24oTWVkaWFTZXNzaW9u
IHNlc3Npb24sIE1lZGlhU2Vzc2lvbkFjdGlvbkRldGFpbHMgYWN0aW9uRGV0YWlscyk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggZmViOWI3ZjEzNDQ3YWUwMWViYjNkYjFmOGQ0MjBkOTNiMmVlMzVmYi4uODMzZjJiOWNkZjE0
ZGU2ZTIyNTEyYTVkOTU1NzMwODBlYTM2Yjk5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIx
LTEyLTE2ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVtb3ZlIHVubmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFn
ZSBDb250cm9sIE1lbnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzQ0MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBSZWJhc2VpbmcgYW5kIHJld3JpdGluZyB0ZXN0cyBmb3IgcmVtb3ZpbmcgdW5uZWVk
ZWQgQ1NTIGF0dHJpYnV0ZS4KKworICAgICAgICAqIGZhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xz
LWJhc2ljLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2ltYWdlcy9pbWFnZS1jb250cm9s
cy1iYXNpYy5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdl
cy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dDoKKwogMjAy
MS0xMi0xNCAgVHlsZXIgV2lsY29jayAgPHR5bGVyX3dAYXBwbGUuY29tPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IHRlc3Qgd2VicGFnZSBrZWVwcyByZWxvYWRpbmcgd2hlbiBJbnNwZWN0b3Ig
aXMgb3BlbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJv
bHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29u
dHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CmluZGV4IDU5Yjc1ZDc2YTA0OGFiNDAxNWJlMDJhZTY2
NzQ3YTJiODUxMmRkYmQuLjJiNDVkMzJkODI2ZTE4YzVlMjcwNWUzY2NlMDAzNjgxNDk0YmQwMWYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2lj
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9s
cy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAotICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCi0gICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CitsYXllciBh
dCAoMCwwKSBzaXplIDgwMHgyNzYKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
ODAweDI3NgorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDI2MAogICAg
ICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2CiAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2lt
YWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sCmluZGV4IDI0ZDA1ZjM1YjRiNjFjZDQ3ZWFj
NWZjNDEwM2ZmMzQyYmFmZjIwNDEuLjY0ODg1MjY0ZTBmMWE0ZDBkYThkZTY1ZGU5OWIxOTgwMDI4
OGQ4NTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xz
LWJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMt
YmFzaWMuaHRtbApAQCAtMSw4ICsxLDM0IEBACi0gPHNjcmlwdD4KLWlmICh3aW5kb3cuaW50ZXJu
YWxzKQotCWludGVybmFscy5zZXR0aW5ncy5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZCh0cnVlKTsK
LQorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBBdHRhY2htZW50RWxl
bWVudEVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KK2lm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgCWludGVybmFscy5zZXR0aW5ncy5zZXRJbWFnZUNvbnRy
b2xzRW5hYmxlZCh0cnVlKTsKK30KIDwvc2NyaXB0PgorPC9oZWFkPgogPGJvZHk+Ci08aW1nIHNy
Yz0icmVzb3VyY2VzL2dyZWVuLTI1NngyNTYuanBnIiB4LXdlYmtpdC1pbWFnZW1lbnU+Ci08L2Jv
ZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPGltZyBpZD0idGFyZ2V0IiBzcmM9InJl
c291cmNlcy9ncmVlbi0yNTZ4MjU2LmpwZyI+Cis8c2NyaXB0PgorCWZ1bmN0aW9uIGhhc0ltYWdl
Q29udHJvbHMoZWxlbSkKKwl7CisJCWlmICh3aW5kb3cuaW50ZXJuYWxzKQorCQkJcmV0dXJuIGlu
dGVybmFscy5oYXNJbWFnZUNvbnRyb2xzKGVsZW0pOworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJ
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKwl2YXIgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ0YXJnZXQiKTsKKwl2YXIgSUQgPSBIVE1MQXR0YWNobWVudEVsZW1lbnQuZ2V0QXR0YWNo
bWVudElkZW50aWZpZXIoZWxlbSk7CisKKwlzZXRJbnRlcnZhbCgoKSA9PiB7CisgICAgaWYgKGhh
c0ltYWdlQ29udHJvbHMoZWxlbSkpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwor
CX0sIDIwMCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1i
YXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvZmFz
dC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CmluZGV4IDkyNGIyOWQ1
M2M1OWY1ZThlYmY3ZjMyZGQ0OTYzYzA4NjE5NTc0NTAuLjhhOWMxMWEyYWFlNWMxNDA4NjdmODli
MGRmZGM5YTM3MzYzYjQ4YjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1j
YXRhbGluYS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWNhdGFsaW5hL2Zhc3QvaW1hZ2VzL2ltYWdlLWNv
bnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMSwxMCArMSwxMSBAQAogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgODAweDYwMAotICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mjc2CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHgyNzYKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgy
NjAKICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgogICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKIGxheWVyIGF0ICg4LDgpIHNpemUgMjU2eDI1NgogICBS
ZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAyNTZ4
MjU2IFtjb2xvcj0jMDAwMDAwMDBdCiBsYXllciBhdCAoMjE1LDMwKSBzaXplIDI3eDI2CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJv
bHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1h
Z2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dAppbmRleCA4MzIxM2EzY2RmOWEz
MGJjOTNiYzg4NzAxMmRiNDdmM2Q0NDU2ZjVjLi4xMzJjMTQ2OWRmZTdmZTE4Y2RhOWRmMjlhZTc4
MDU0NjBjNjkzOTc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9p
bWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQKQEAgLTEsMTAgKzEsMTEgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
Ci0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDI3NgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4Mjc2CisgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MjYwCiAgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CiBsYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NiBbY29sb3I9IzAwMDAwMDAwXQog
bGF5ZXIgYXQgKDIxNCwzMCkgc2l6ZSAyOHgyNgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVz
dEV4cGVjdGF0aW9ucwppbmRleCA3NjZkNzBmMmQ5NDg4NDE1NjE3YzMwZjA3ZjIyNjhhYWFjMGZm
YjFjLi41ZjFjNGRjOTM0YTJmNmY3ZjUyNDBiMzMyMGUwNDJiZDlkNmU0ZWU0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNzAxLDYgKzcwMSw3IEBAIHdl
YmtpdC5vcmcvYi8zNTAxMyBzdmcvem9vbS90ZXh0LyBbIFNraXAgXQogIyBUT0RPIEF0dGFjaG1l
bnQgZWxlbWVudHMgZG8gbm90IHByb3ZpZGUgYSBjdXN0b20gcmVuZGVyZXIKIHdlYmtpdC5vcmcv
Yi8xNDIyNjAgZmFzdC9hdHRhY2htZW50IFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTQyMjYwIGZh
c3QvY3NzL2hhcy1hdHRhY2htZW50Lmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xNDIyNjAg
ZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbCBbIFNraXAgXQogCiAjIFRPRE8g
QVBORyBpcyBub3Qgc3VwcG9ydGVkCiB3ZWJraXQub3JnL2IvMTQyNzMxIGZhc3QvaW1hZ2VzL2Fu
aW1hdGVkLXBuZy5odG1sIFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447827</attachid>
            <date>2021-12-22 13:14:49 -0800</date>
            <delta_ts>2021-12-23 08:34:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234405-20211222131448.patch</filename>
            <type>text/plain</type>
            <size>26557</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDk3NWE5ZTc1ZDBhY2Y1
MWU2OTlhNWRjNWUwZWE0NDJjMTQ1YzU3ZC4uNDgzNjY2ZDA4NTg2OTM5ZTY2MzA0N2IyYmZiYTA2
NDBmMWU5Mjg0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIxLTEyLTIyICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVu
bmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1l
bnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0
MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICBXZSBkbyBub3QgYWN0dWFs
bHkgbmVlZCBhIHNwZWNpZmljIENTUyBhdHRyaWJ1dGUgdG8gYWNoaWV2ZSB0aGUgaW1hZ2UgY29u
dHJvbCBtZW51LAorICAgICAgICBzbyB3ZSBzaG91bGQgcmVtb3ZlIGl0IHRvIGtlZXAgV2ViS2l0
IHNwZWNpZmljIGNsdXR0ZXIgb3V0IG9mIG91ciBDU1MgaW1wbGVtZW50YXRpb24KKyAgICAgICAg
YW5kIHdlIHNob3VsZCBrZWVwIHRyYWNrIG9mIHRoZSBwcmVzZW5jZSBvZiB0aGUgaW1hZ2UgY29u
dHJvbCBtZW51IGZ1bGx5IGludGVybmFsbHkuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydGllcy5qc29uOgorICAg
ICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NT
UGFyc2VySWRpb21zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsdWVBbGxvd2VkSW5Nb2Rl
KToKKyAgICAgICAgKiBkb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6aXNJbnNpZGVJbWFnZUNvbnRyb2xzKToKKyAgICAgICAg
KiBkb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaDoKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6cGFyc2VBdHRy
aWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6c2V0QXR0YWNobWVu
dEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6dXBkYXRlSW1h
Z2VDb250cm9scyk6CisgICAgICAgICogaHRtbC9IVE1MSW1hZ2VFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzOgorICAgICAgICAoZGl2I2lt
YWdlLWNvbnRyb2xzIGJ1dHRvbiNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIHBs
YXRmb3JtL1RoZW1lVHlwZXMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0Ojpub2RlRm9ySW1hZ2VEYXRhIGNv
bnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWU6OmF1dG9BcHBlYXJhbmNlRm9yRWxlbWVudCBjb25zdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZTo6aXNJbWFnZUNvbnRyb2wgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
aGVtZU1hYy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjppc0ltYWdlQ29udHJvbCBjb25zdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTdHlsZTo6c2V0QXBwZWFyYW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHls
ZTo6c2V0RWZmZWN0aXZlQXBwZWFyYW5jZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Omhhc0ltYWdlQ29udHJvbHMgY29uc3Qp
OgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaWRsOgorCiAyMDIxLTEyLTIwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgogCiAgICAgICAgIEFkb3B0IENocm9tZUNsaWVudDo6Y2xhc3NpZnlNb2RhbENvbnRh
aW5lckNvbnRyb2xzKCkgaW4gTW9kYWxDb250YWluZXJPYnNlcnZlcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggYjY5N2VmZDBkYjViOWQ3
ZWZiMDcwNDNmN2YxOWViNTUyNTY5MmUyZC4uN2MyYTUyZjliN2IwODZiMTI0MDkzNDU4Yzc5ODhi
NzBkOTQ3OTBiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVN
YXBwaW5ncy5oCkBAIC02MzQsNyArNjM0LDggQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKENvbnRyb2xQYXJ0IGUpCiAjZW5kaWYKICNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKICAgICBjYXNlIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0
OgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUludGVybmFsSW1hZ2VDb250cm9s
c0J1dHRvbjsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIG1fdmFsdWUu
dmFsdWVJRCA9IENTU1ZhbHVlTm9uZTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICNpZiBFTkFC
TEUoQVBQTEVfUEFZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRp
ZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KaW5kZXggODc3
MDE4MWJmOGU0Zjk2OGE5YzcxYjEyMjZiNjkzMjlmMmQ1OGM3Ni4uYzI1NTZiNmNlM2RjYzIxMTI5
YzNlM2ZmMzYzM2YyOGFlZGQwOTRhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5q
c29uCkBAIC01MTc3LDcgKzUxNzcsNiBAQAogICAgICAgICAgICAgICAgICJjb250aW51b3VzLWNh
cGFjaXR5LWxldmVsLWluZGljYXRvciIsCiAgICAgICAgICAgICAgICAgImRpc2NyZXRlLWNhcGFj
aXR5LWxldmVsLWluZGljYXRvciIsCiAgICAgICAgICAgICAgICAgInJhdGluZy1sZXZlbC1pbmRp
Y2F0b3IiLAotICAgICAgICAgICAgICAgICItaW50ZXJuYWwtaW1hZ2UtY29udHJvbHMtYnV0dG9u
IiwKICAgICAgICAgICAgICAgICAiLWFwcGxlLXBheS1idXR0b24iLAogICAgICAgICAgICAgICAg
ICJ0ZXh0YXJlYSIsCiAgICAgICAgICAgICAgICAgImF0dGFjaG1lbnQiLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCAxNmJiYjBhYmIwMDczMmYzNTQxZjIyNWM3MjBl
ODY2OGNjYzFkNWZjLi4wY2ExZGE0ZmQ0YWI0NzJmODUzNzk2NDRkMzI1ZDU1OWQxMzYzMzIwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAtODkwLDkgKzg5MCw2IEBA
IHJlbGV2YW5jeS1sZXZlbC1pbmRpY2F0b3IKIGNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5k
aWNhdG9yCiBkaXNjcmV0ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IKIHJhdGluZy1sZXZlbC1p
bmRpY2F0b3IKLSNpZiBkZWZpbmVkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAmJiBFTkFCTEVf
U0VSVklDRV9DT05UUk9MUwotLWludGVybmFsLWltYWdlLWNvbnRyb2xzLWJ1dHRvbgotI2VuZGlm
CiAjaWYgZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZKSAmJiBFTkFCTEVfQVBQTEVfUEFZCiAtYXBw
bGUtcGF5LWJ1dHRvbgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL0NTU1BhcnNlcklkaW9tcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Bh
cnNlcklkaW9tcy5jcHAKaW5kZXggMjUyOTc3MzFiMmZhZGRlYjUwNjVmZjliYjc2YjU4NjNkNmQx
ZjczYy4uNjU0NGYyNmY1MWE5MjNlZTYzMGU3OTE4ZGI5MzM4NmZjYTVlNTdkMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcApAQCAtNDAsMTAgKzQw
LDYgQEAgYm9vbCBpc1ZhbHVlQWxsb3dlZEluTW9kZSh1bnNpZ25lZCBzaG9ydCBpZCwgQ1NTUGFy
c2VyTW9kZSBtb2RlKQogICAgICAgICByZXR1cm4gaXNVQVNoZWV0QmVoYXZpb3IobW9kZSk7CiAg
ICAgY2FzZSBDU1NWYWx1ZVdlYmtpdEZvY3VzUmluZ0NvbG9yOgogICAgICAgICByZXR1cm4gaXNV
QVNoZWV0QmVoYXZpb3IobW9kZSkgfHwgaXNRdWlya3NNb2RlQmVoYXZpb3IobW9kZSk7Ci0jaWYg
RU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0gICAgY2FzZSBDU1NWYWx1ZUludGVybmFsSW1hZ2VD
b250cm9sc0J1dHRvbjoKLSAgICAgICAgcmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpOwot
I2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAKaW5kZXggYmI4ODYxZDEwNzE0
NGE1ODI5ZTc5N2M1NjJkMDk2ODhiZThiOWJhMi4uZDlmYjEwNzUwYmYxNWI1ZGMzYzI5MzZjZDBj
MDA0YWU0MzI3NjgyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNv
bnRyb2xzTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNN
YWMuY3BwCkBAIC03Myw2ICs3MywxNCBAQCBib29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1l
bnQoY29uc3QgTm9kZSYgbm9kZSkKICAgICByZXR1cm4gaXM8RWxlbWVudD4obm9kZSkgJiYgZG93
bmNhc3Q8RWxlbWVudD4obm9kZSkuZ2V0SWRBdHRyaWJ1dGUoKSA9PSBpbWFnZUNvbnRyb2xzQnV0
dG9uSWRlbnRpZmllcigpOwogfQogCitib29sIGlzSW5zaWRlSW1hZ2VDb250cm9scyhjb25zdCBO
b2RlJiBub2RlKQoreworICAgIFJlZlB0ciBob3N0ID0gbm9kZS5zaGFkb3dIb3N0KCk7CisgICAg
aWYgKCFpczxIVE1MRWxlbWVudD4oaG9zdC5nZXQoKSkgfHwgIWhhc0NvbnRyb2xzKGRvd25jYXN0
PEhUTUxFbGVtZW50PigqaG9zdCkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJu
IGlzPEVsZW1lbnQ+KG5vZGUpICYmIGRvd25jYXN0PEVsZW1lbnQ+KG5vZGUpLmdldElkQXR0cmli
dXRlKCkgPT0gaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCk7Cit9CisKIHZvaWQgY3Jl
YXRlSW1hZ2VDb250cm9scyhIVE1MRWxlbWVudCYgZWxlbWVudCkKIHsKICAgICBSZWYgZG9jdW1l
bnQgPSBlbGVtZW50LmRvY3VtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
bWFjL0ltYWdlQ29udHJvbHNNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250
cm9sc01hYy5oCmluZGV4IDZhY2I0YmYzZTIzYjc1ODAzN2QzMWRhZmRhY2I4NGNhZDM3YjhjMGUu
LjExZWYzMGIyYTAxYmEyYWM3MTE5MGUxZjJmYTc5YjgxZGI5MTkyYzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5oCkBAIC0zOCw2ICszOCw3IEBAIG5hbWVzcGFj
ZSBJbWFnZUNvbnRyb2xzTWFjIHsKIAogYm9vbCBoYXNDb250cm9scyhjb25zdCBIVE1MRWxlbWVu
dCYpOwogYm9vbCBpc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KGNvbnN0IE5vZGUmKTsKK2Jv
b2wgaXNJbnNpZGVJbWFnZUNvbnRyb2xzKGNvbnN0IE5vZGUmKTsKIHZvaWQgY3JlYXRlSW1hZ2VD
b250cm9scyhIVE1MRWxlbWVudCYpOwogYm9vbCBoYW5kbGVFdmVudChIVE1MRWxlbWVudCYsIEV2
ZW50Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmluZGV4IDc3
Yzk4ZjVlMDQ1OTc2Zjk5N2M1ODliYTFhYzQzYzVmZGYxYWIyODMuLjkzOWQ0NTk0NjIyMDQ3OGRi
YTNkOWNkYWJhYTc0OWNmN2E2NTg4MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VF
bGVtZW50LmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgog
I2luY2x1ZGUgIkVkaXRvci5oIgogI2luY2x1ZGUgIkVsZW1lbnRJdGVyYXRvci5oIgorI2luY2x1
ZGUgIkV2ZW50TG9vcC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJGcmFt
ZVZpZXcuaCIKICNpbmNsdWRlICJIVE1MQW5jaG9yRWxlbWVudC5oIgpAQCAtMzEzLDggKzMxNCw3
IEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluCiAgICAgICAgIGlmICghcGFyc2VDb21wb3NpdGVB
bmRCbGVuZE9wZXJhdG9yKHZhbHVlLCBtX2NvbXBvc2l0ZU9wZXJhdG9yLCBibGVuZE9wKSkKICAg
ICAgICAgICAgIG1fY29tcG9zaXRlT3BlcmF0b3IgPSBDb21wb3NpdGVPcGVyYXRvcjo6U291cmNl
T3ZlcjsKICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLSAgICB9IGVsc2UgaWYgKG5hbWUg
PT0gd2Via2l0aW1hZ2VtZW51QXR0cikgewotICAgICAgICBtX2ltYWdlTWVudUVuYWJsZWQgPSAh
dmFsdWUuaXNOdWxsKCk7CisgICAgfSBlbHNlIGlmIChtX2ltYWdlTWVudUVuYWJsZWQpIHsKICAg
ICAgICAgdXBkYXRlSW1hZ2VDb250cm9scygpOwogI2VuZGlmCiAgICAgfSBlbHNlIGlmIChuYW1l
ID09IGxvYWRpbmdBdHRyKSB7CkBAIC03NDMsNyArNzQzLDkgQEAgdm9pZCBIVE1MSW1hZ2VFbGVt
ZW50OjpzZXRBdHRhY2htZW50RWxlbWVudChSZWY8SFRNTEF0dGFjaG1lbnRFbGVtZW50PiYmIGF0
dGFjaG0KIAogICAgIGF0dGFjaG1lbnQtPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVy
dHlEaXNwbGF5LCBDU1NWYWx1ZU5vbmUsIHRydWUpOwogICAgIGVuc3VyZVVzZXJBZ2VudFNoYWRv
d1Jvb3QoKS5hcHBlbmRDaGlsZChXVEZNb3ZlKGF0dGFjaG1lbnQpKTsKLSAgICBzZXRBdHRyaWJ1
dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHdlYmtpdGltYWdlbWVudUF0dHIsIGVtcHR5U3RyaW5n
KCkpOworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIG1faW1hZ2VNZW51RW5hYmxl
ZCA9IHRydWU7CisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiB9CiAKIFJlZlB0
cjxIVE1MQXR0YWNobWVudEVsZW1lbnQ+IEhUTUxJbWFnZUVsZW1lbnQ6OmF0dGFjaG1lbnRFbGVt
ZW50KCkgY29uc3QKQEAgLTc3NSwxMSArNzc3LDEzIEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6
dXBkYXRlSW1hZ2VDb250cm9scygpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoIWRvY3VtZW50
KCkuc2V0dGluZ3MoKS5pbWFnZUNvbnRyb2xzRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47Ci0g
ICAgYm9vbCBoYXNDb250cm9scyA9IGhhc0ltYWdlQ29udHJvbHMoKTsKLSAgICBpZiAoIW1faW1h
Z2VNZW51RW5hYmxlZCAmJiBoYXNDb250cm9scykKLSAgICAgICAgZGVzdHJveUltYWdlQ29udHJv
bHMoKTsKLSAgICBlbHNlIGlmIChtX2ltYWdlTWVudUVuYWJsZWQgJiYgIWhhc0NvbnRyb2xzKQot
ICAgICAgICB0cnlDcmVhdGVJbWFnZUNvbnRyb2xzKCk7CisgICAgZG9jdW1lbnQoKS5ldmVudExv
b3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6SW50ZXJuYWxBc3luY1Rhc2ssIFt0aGlzLCBwcm90
ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfV0geworICAgICAgICBib29sIGhhc0NvbnRyb2xzID0g
aGFzSW1hZ2VDb250cm9scygpOworICAgICAgICBpZiAoIW1faW1hZ2VNZW51RW5hYmxlZCAmJiBo
YXNDb250cm9scykKKyAgICAgICAgICAgIGRlc3Ryb3lJbWFnZUNvbnRyb2xzKCk7CisgICAgICAg
IGVsc2UgaWYgKG1faW1hZ2VNZW51RW5hYmxlZCAmJiAhaGFzQ29udHJvbHMpCisgICAgICAgICAg
ICB0cnlDcmVhdGVJbWFnZUNvbnRyb2xzKCk7CisgICAgfSk7CiB9CiAKIHZvaWQgSFRNTEltYWdl
RWxlbWVudDo6dHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5oCmluZGV4IDdmOTE0YTVhZTRjZjlmOTIwYzUwNDA5OWEyMjVmOWYyNDZmY2Iz
NWEuLjFkOTlkMzIxN2I1NmZlM2MxYzVkMGM1NThkN2ViNDczYTk4OWMzZWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCkBAIC0xNDcsNiArMTQ3LDEwIEBAIHB1YmxpYzoK
ICAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSgpIGNvbnN0OwogCiAgICAgYm9vbCBh
bGxvd3NPcmllbnRhdGlvbk92ZXJyaWRlKCkgY29uc3Q7CisgICAgCisjaWYgRU5BQkxFKFNFUlZJ
Q0VfQ09OVFJPTFMpCisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBoYXNJbWFnZUNvbnRyb2xzKCkg
Y29uc3Q7CisjZW5kaWYKIAogcHJvdGVjdGVkOgogICAgIEhUTUxJbWFnZUVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgSFRNTEZvcm1FbGVtZW50KiA9IG51bGxwdHIpOwpA
QCAtMTk3LDcgKzIwMSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVJbWFnZUNvbnRyb2xz
KCk7CiAgICAgdm9pZCB0cnlDcmVhdGVJbWFnZUNvbnRyb2xzKCk7CiAgICAgdm9pZCBkZXN0cm95
SW1hZ2VDb250cm9scygpOwotICAgIGJvb2wgaGFzSW1hZ2VDb250cm9scygpIGNvbnN0OwogICAg
IGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlJikgY29uc3Qgb3ZlcnJp
ZGU7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFj
L2ltYWdlQ29udHJvbHNNYWMuY3NzIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2lt
YWdlQ29udHJvbHNNYWMuY3NzCmluZGV4IGQ1YTZhZWY0NmZiYzkyNDIxMmJiMWU4NTZlMjU1Mjdi
OWFhM2Q2YWUuLmUyYzhjZmRmOWEyYjYwMzU4ODIyZGQxNDU5Nzg5OTI4YzVjNzRjMGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNz
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5j
c3MKQEAgLTM5LDcgKzM5LDcgQEAgZGl2I2ltYWdlLWNvbnRyb2xzIGJ1dHRvbiNpbWFnZS1jb250
cm9scy1idXR0b24gewogICAgIAogICAgIGRpc3BsYXk6IGJsb2NrOwogCi0gICAgYXBwZWFyYW5j
ZTogLWludGVybmFsLWltYWdlLWNvbnRyb2xzLWJ1dHRvbjsKKyAgICBhcHBlYXJhbmNlOiBhdXRv
OwogCiAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1czsKICAgICBvcGFjaXR5OiAwLjA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKaW5kZXggNDJiYjM2NDkwNTdiNDI1MTMxMTlm
N2NlMDgwYzUyZTMwYmU3NTkwYy4uYjIxNTI1NDBlYzI1YzNkNTljNTcxMGJlMDE5NTI1NWFmZTA5
MTg3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaApAQCAtOTEsOSArOTEsNiBA
QCBlbnVtIENvbnRyb2xQYXJ0IHsKICAgICBDb250aW51b3VzQ2FwYWNpdHlMZXZlbEluZGljYXRv
clBhcnQsCiAgICAgRGlzY3JldGVDYXBhY2l0eUxldmVsSW5kaWNhdG9yUGFydCwKICAgICBSYXRp
bmdMZXZlbEluZGljYXRvclBhcnQsCi0jaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0gICAg
SW1hZ2VDb250cm9sc0J1dHRvblBhcnQsCi0jZW5kaWYKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQog
ICAgIEFwcGxlUGF5QnV0dG9uUGFydCwKICNlbmRpZgpAQCAtMTA4LDcgKzEwNSwxNSBAQCBlbnVt
IENvbnRyb2xQYXJ0IHsKICAgICBBdHRhY2htZW50UGFydCwKICAgICBCb3JkZXJsZXNzQXR0YWNo
bWVudFBhcnQsCiAjZW5kaWYKLSAgICBDYXBzTG9ja0luZGljYXRvclBhcnQKKyAgICBDYXBzTG9j
a0luZGljYXRvclBhcnQsCisgICAgLy8gSW50ZXJuYWwtb25seSBWYWx1ZXMKKyNpZiBFTkFCTEUo
U0VSVklDRV9DT05UUk9MUykKKyAgICBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydCwKKyAgICBMYXJn
ZXN0Q29udHJvbFBhcnQgPSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydAorI2Vsc2UKKyAgICBMYXJn
ZXN0Q29udHJvbFBhcnQgPSBDYXBzTG9ja0luZGljYXRvclBhcnQKKyNlbmRpZgorICAgIAogfTsK
IAogZW51bSBTZWxlY3Rpb25QYXJ0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9IaXRUZXN0UmVzdWx0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0
UmVzdWx0LmNwcAppbmRleCBmNmIxMWQ5ZDYyOWFjZmJmYjg3ODYwY2I3YjhjZDI4Y2ViYzFiMThi
Li44MzAyNTkxOTJjNDYxYzgyNTFhODkyNTU2NzkyM2UxMjM2OThmZjQ5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCkBAIC01NCw2ICs1NCwxMCBAQAogI2lu
Y2x1ZGUgIlZpc2libGVVbml0cy5oIgogI2luY2x1ZGUgIlhMaW5rTmFtZXMuaCIKIAorI2lmIEVO
QUJMRShTRVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNl
bmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7
CkBAIC0zMzUsNiArMzM5LDExIEBAIFJlZlB0cjxOb2RlPiBIaXRUZXN0UmVzdWx0Ojpub2RlRm9y
SW1hZ2VEYXRhKCkgY29uc3QKIAogICAgIGlmIChJbWFnZU92ZXJsYXk6OmlzSW5zaWRlT3Zlcmxh
eSgqbV9pbm5lck5vblNoYXJlZE5vZGUpKQogICAgICAgICByZXR1cm4gbV9pbm5lck5vblNoYXJl
ZE5vZGUtPnNoYWRvd0hvc3QoKTsKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykK
KyAgICBpZiAoSW1hZ2VDb250cm9sc01hYzo6aXNJbnNpZGVJbWFnZUNvbnRyb2xzKCptX2lubmVy
Tm9uU2hhcmVkTm9kZSkpCisgICAgICAgIHJldHVybiBtX2lubmVyTm9uU2hhcmVkTm9kZS0+c2hh
ZG93SG9zdCgpOworI2VuZGlmCiAKICAgICByZXR1cm4gbV9pbm5lck5vblNoYXJlZE5vZGU7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCA0NTRlNjRjNmJm
YTc1ZmFmYzJlZTkxZTc1Y2RjMmZjNDhlNmNkNjA1Li5hNTQyNGQyZTMyYWY0YmJkNjA3OWUzMzc0
M2JlYzUyZWIwM2QzZTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5j
cHAKQEAgLTU3LDYgKzU3LDkgQEAKICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZU51bWJlcnMuaD4KIAorI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRp
ZgogCiAjaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpCiAjaW5jbHVkZSAiSFRNTERhdGFMaXN0
RWxlbWVudC5oIgpAQCAtMjk2LDYgKzI5OSwxMCBAQCBDb250cm9sUGFydCBSZW5kZXJUaGVtZTo6
YXV0b0FwcGVhcmFuY2VGb3JFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnRQdHIpIGNvbgog
ICAgIGlmICghZWxlbWVudFB0cikKICAgICAgICAgcmV0dXJuIE5vQ29udHJvbFBhcnQ7CiAKKyNp
ZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBpZiAoaXNJbWFnZUNvbnRyb2woZWxlbWVu
dFB0cikpCisgICAgICAgIHJldHVybiBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDsKKyNlbmRpZgog
ICAgIFJlZiBlbGVtZW50ID0gKmVsZW1lbnRQdHI7CiAKICAgICBpZiAoaXM8SFRNTElucHV0RWxl
bWVudD4oZWxlbWVudCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5k
ZXggOGVmMzAwZmNjNzM1OWE0ZmJiMGMxZGM1NDYwYTk4Mzc5YjE5OGQ4YS4uYWE0ZDQ5ODNjNzdk
YTI0N2Q0MDg1MjE0NDdjYWY3MTc5MzRlZGI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmgKQEAgLTM2Nyw2ICszNjcsNyBAQCBwcm90ZWN0ZWQ6CiAjaWYgRU5BQkxFKFNF
UlZJQ0VfQ09OVFJPTFMpCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdEltYWdlQ29udHJvbHNCdXR0
b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdDsKICAgICB2aXJ0dWFs
IGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0
IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVh
bCBib29sIGlzSW1hZ2VDb250cm9sKGNvbnN0IEVsZW1lbnQqKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShS
ZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXggYTAzZTFmNWM5MTY5YzZlZjY1ZTNkNDYxODdjYWYx
ZTE2ZmUxOWRmNi4uOTI4MjJmYzI4YmEwMDAwM2E4OWEwZDdjODk4NjYzZGMzNmMxMTU1ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKQEAgLTIxNiw2ICsyMTYs
NyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIGJvb2wgcGFp
bnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5m
byYsIGNvbnN0IEludFJlY3QmKSBmaW5hbDsKICAgICBJbnRTaXplIGltYWdlQ29udHJvbHNCdXR0
b25TaXplKCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBpc0ltYWdlQ29udHJvbChjb25zdCBFbGVt
ZW50KikgY29uc3QgZmluYWw7CiAKICAgICBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsICpz
ZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpIGNvbnN0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KaW5kZXggOTY0ODU2MTBhZmEwMmMxY2ViNTE4
YTUyZWIzMjAxNzExYjk4ZTYwNy4uY2E4Yjc0NTg0ZWE1MjUwZDY0N2UyMjA1ZTYyMDk1NzUxODFh
YzA3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQpAQCAt
ODMsNiArODMsMTAgQEAKICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbXBvcnQgPHd0
Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQor
I2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRpZgorCiAvLyBGSVhNRTogVGhpcyBz
aG91bGQgZ28gaW50byBhbiBTUEkuaCBmaWxlIGluIHRoZSBzcGkgZGlyZWN0b3J5LgogQGludGVy
ZmFjZSBOU1RleHRGaWVsZENlbGwgKCkKIC0gKENGRGljdGlvbmFyeVJlZilfY29yZVVJRHJhd09w
dGlvbnNXaXRoRnJhbWU6KE5TUmVjdCljZWxsRnJhbWUgaW5WaWV3OihOU1ZpZXcgKiljb250cm9s
VmlldyBpbmNsdWRlRm9jdXM6KEJPT0wpaW5jbHVkZUZvY3VzOwpAQCAtMjMwOSw2ICsyMzEzLDEz
IEBAIEludFNpemUgUmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29u
c3QKIHsKICAgICByZXR1cm4gSW50U2l6ZShzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpLmNl
bGxTaXplKTsKIH0KKworYm9vbCBSZW5kZXJUaGVtZU1hYzo6aXNJbWFnZUNvbnRyb2woY29uc3Qg
RWxlbWVudCogZWxlbWVudFB0cikgY29uc3QKK3sKKyAgICBpZiAoSW1hZ2VDb250cm9sc01hYzo6
aXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudCgqZWxlbWVudFB0cikpCisgICAgICAgIHJldHVy
biB0cnVlOworICAgIHJldHVybiBmYWxzZTsKK30KICNlbmRpZgogCiAjaWYgRU5BQkxFKEFUVEFD
SE1FTlRfRUxFTUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmgKaW5kZXggZGNlOGRiMmI4N2Y4ZWUxMWM5YzJlMmVjOGUzMjUzNzdmODA5YzRlNi4uZmMy
ZDJjY2Y2ODE1NmRlZTU3NTQzZWU3ODY2MGNiNzA0MWVjNWY4MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTExNDEsOCArMTE0MSwxNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRBY2NlbnRDb2xvcihjb25zdCBDb2xvciYgYykgeyBTRVRfVkFS
KG1fcmFyZUluaGVyaXRlZERhdGEsIGFjY2VudENvbG9yLCBjKTsgU0VUX1ZBUihtX3JhcmVJbmhl
cml0ZWREYXRhLCBoYXNBdXRvQWNjZW50Q29sb3IsIGZhbHNlKTsgIH0KICAgICB2b2lkIHNldEhh
c0F1dG9BY2NlbnRDb2xvcigpIHsgU0VUX1ZBUihtX3JhcmVJbmhlcml0ZWREYXRhLCBoYXNBdXRv
QWNjZW50Q29sb3IsIHRydWUpOyBTRVRfVkFSKG1fcmFyZUluaGVyaXRlZERhdGEsIGFjY2VudENv
bG9yLCBjdXJyZW50Q29sb3IoKSk7IH0KICAgICB2b2lkIHNldE9wYWNpdHkoZmxvYXQgZikgeyBm
bG9hdCB2ID0gY2xhbXBUbzxmbG9hdD4oZiwgMC5mLCAxLmYpOyBTRVRfVkFSKG1fcmFyZU5vbklu
aGVyaXRlZERhdGEsIG9wYWNpdHksIHYpOyB9Ci0gICAgdm9pZCBzZXRBcHBlYXJhbmNlKENvbnRy
b2xQYXJ0IGEpIHsgU0VUX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBhcHBlYXJhbmNlLCBh
KTsgU0VUX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBlZmZlY3RpdmVBcHBlYXJhbmNlLCBh
KTsgfQotICAgIHZvaWQgc2V0RWZmZWN0aXZlQXBwZWFyYW5jZShDb250cm9sUGFydCBhKSB7IFNF
VF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZWZmZWN0aXZlQXBwZWFyYW5jZSwgYSk7IH0K
KyAgICB2b2lkIHNldEFwcGVhcmFuY2UoQ29udHJvbFBhcnQgYSkKKyAgICB7CisgICAgICAgIHN0
YXRpY19hc3NlcnQoTGFyZ2VzdENvbnRyb2xQYXJ0IDwgMSA8PCBBUFBFQVJBTkNFX0JJVF9XSURU
SCwgIkNvbnRyb2wgcGFydCBtdXN0IGZpdCBpbiBzdG9yYWdlIGJpdHMiKTsKKyAgICAgICAgU0VU
X1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBhcHBlYXJhbmNlLCBhKTsKKyAgICAgICAgU0VU
X1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBlZmZlY3RpdmVBcHBlYXJhbmNlLCBhKTsKKyAg
ICB9CisgICAgdm9pZCBzZXRFZmZlY3RpdmVBcHBlYXJhbmNlKENvbnRyb2xQYXJ0IGEpCisgICAg
eworICAgICAgICBzdGF0aWNfYXNzZXJ0KExhcmdlc3RDb250cm9sUGFydCA8IDEgPDwgQVBQRUFS
QU5DRV9CSVRfV0lEVEgsICJDb250cm9sIHBhcnQgbXVzdCBmaXQgaW4gc3RvcmFnZSBiaXRzIik7
CisgICAgICAgIFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZWZmZWN0aXZlQXBwZWFy
YW5jZSwgYSk7CisgICAgfQogICAgIC8vIEZvciB2YWxpZCB2YWx1ZXMgb2YgYm94LWFsaWduIHNl
ZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA5L1dELWNzczMtZmxleGJveC0yMDA5MDcyMy8jYWxp
Z25tZW50CiAgICAgdm9pZCBzZXRCb3hBbGlnbihCb3hBbGlnbm1lbnQgYSkgeyBTRVRfTkVTVEVE
X1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBkZXByZWNhdGVkRmxleGlibGVCb3gsIGFsaWdu
LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oYSkpOyB9CiAgICAgdm9pZCBzZXRCb3hEaXJlY3Rpb24o
Qm94RGlyZWN0aW9uIGQpIHsgbV9pbmhlcml0ZWRGbGFncy5ib3hEaXJlY3Rpb24gPSBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oZCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCmluZGV4IDY3OGU0ODEwOWE5
NjBlMDY4NmM0YWZiMWZkZDlhYmVlN2E2ZTdjY2EuLjIwYmRkZjQwYmVkNGU0NmVmMmFjYzczYjdl
NTc5N2EyNDA0OGVhYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaApAQCAtNjYsNiArNjYsOCBAQCBj
bGFzcyBTdHlsZVRyYW5zZm9ybURhdGE7CiAKIHN0cnVjdCBMZW5ndGhTaXplOwogCisjZGVmaW5l
IEFQUEVBUkFOQ0VfQklUX1dJRFRIIDcKKwogLy8gUGFnZSBzaXplIHR5cGUuCiAvLyBTdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhOjpwYWdlU2l6ZSBpcyBtZWFuaW5nZnVsIG9ubHkgd2hlbgogLy8g
U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6cGFnZVNpemVUeXBlIGlzIFBBR0VfU0laRV9SRVNP
TFZFRC4KQEAgLTIwMiw4ICsyMDQsOCBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgdXNlU21vb3Ro
U2Nyb2xsaW5nIDogMTsgLy8gU2Nyb2xsQmVoYXZpb3IKICAgICB1bnNpZ25lZCBtYXJnaW5CZWZv
cmVDb2xsYXBzZSA6IDI7IC8vIE1hcmdpbkNvbGxhcHNlCiAgICAgdW5zaWduZWQgbWFyZ2luQWZ0
ZXJDb2xsYXBzZSA6IDI7IC8vIE1hcmdpbkNvbGxhcHNlCi0gICAgdW5zaWduZWQgYXBwZWFyYW5j
ZSA6IDY7IC8vIEVBcHBlYXJhbmNlCi0gICAgdW5zaWduZWQgZWZmZWN0aXZlQXBwZWFyYW5jZSA6
IDY7IC8vIEVBcHBlYXJhbmNlCisgICAgdW5zaWduZWQgYXBwZWFyYW5jZSA6IEFQUEVBUkFOQ0Vf
QklUX1dJRFRIOyAvLyBFQXBwZWFyYW5jZQorICAgIHVuc2lnbmVkIGVmZmVjdGl2ZUFwcGVhcmFu
Y2UgOiBBUFBFQVJBTkNFX0JJVF9XSURUSDsgLy8gRUFwcGVhcmFuY2UKICAgICB1bnNpZ25lZCBi
b3JkZXJGaXQgOiAxOyAvLyBCb3JkZXJGaXQKICAgICB1bnNpZ25lZCB0ZXh0Q29tYmluZSA6IDE7
IC8vIENTUzMgdGV4dC1jb21iaW5lIHByb3BlcnRpZXMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCmluZGV4IGQ4ZDcxNGFjZjI1NWNhNzFkZTgyZTkwODI3ODljMzNkYzk5OGE3NGEu
LjU0MDIxODc2MzgxOWMxOTg3MWU1N2FkZDZjOWRlNDBmYjZjOWRkNmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTYzOTcsNyArNjM5NywxNCBAQCBFeGNlcHRpb25PcjxJ
bnRlcm5hbHM6OkF0dGFjaG1lbnRUaHVtYm5haWxJbmZvPiBJbnRlcm5hbHM6OmF0dGFjaG1lbnRU
aHVtYm5haWxJbgogI2VuZGlmCiB9CiAKLSNlbmRpZgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorYm9vbCBJbnRlcm5hbHM6Omhhc0ltYWdlQ29udHJvbHMoY29uc3QgSFRNTEltYWdlRWxl
bWVudCYgZWxlbWVudCkgY29uc3QKK3sKKyAgICByZXR1cm4gZWxlbWVudC5oYXNJbWFnZUNvbnRy
b2xzKCk7Cit9CisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKKyNlbmRpZiAv
LyBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04p
CiBFeGNlcHRpb25Pcjxkb3VibGU+IEludGVybmFsczo6Y3VycmVudE1lZGlhU2Vzc2lvblBvc2l0
aW9uKGNvbnN0IE1lZGlhU2Vzc2lvbiYgc2Vzc2lvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCmluZGV4IGZiYzEyMTk1MWVhMzlkZDE0OGQ3NWFlMjM3NzY0ODgwZjBiM2UxZDUuLjEwMjc4
ZjY4NTNlZWIyNjQyOTA2ZmY4YmY5ZDEwMDA0MjE3MDJiZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaApAQCAtMTE4NCw3ICsxMTg0LDEwIEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAg
RXhjZXB0aW9uT3I8QXR0YWNobWVudFRodW1ibmFpbEluZm8+IGF0dGFjaG1lbnRUaHVtYm5haWxJ
bmZvKGNvbnN0IEhUTUxBdHRhY2htZW50RWxlbWVudCYpOwotI2VuZGlmCisjaWYgRU5BQkxFKFNF
UlZJQ0VfQ09OVFJPTFMpCisgICAgYm9vbCBoYXNJbWFnZUNvbnRyb2xzKGNvbnN0IEhUTUxJbWFn
ZUVsZW1lbnQmKSBjb25zdDsKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyNl
bmRpZiAvLyBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQogCiAjaWYgRU5BQkxFKE1FRElBX1NF
U1NJT04pCiAgICAgRXhjZXB0aW9uT3I8ZG91YmxlPiBjdXJyZW50TWVkaWFTZXNzaW9uUG9zaXRp
b24oY29uc3QgTWVkaWFTZXNzaW9uJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwK
aW5kZXggMjM0YzIzNjI2YzA0ZTFmY2QyYTJlNWNjMmE0NDk1MTJiMzZlZmFkZi4uYzNlNGJjNzIy
ZTM4M2I4Y2VjNzg4OGVjZGQ5NTMwMjdkNDVkN2UwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbApAQCAtMTA3MSw2ICsxMDcxLDcgQEAgZW51bSBIRVZDUGFyYW1ldGVyQ29kZWMg
ewogICAgIHVuZGVmaW5lZCBzZXRDb250ZW50U2l6ZUNhdGVnb3J5KENvbnRlbnRTaXplQ2F0ZWdv
cnkgY2F0ZWdvcnkpOwogCiAgICAgW0NvbmRpdGlvbmFsPUFUVEFDSE1FTlRfRUxFTUVOVF0gQXR0
YWNobWVudFRodW1ibmFpbEluZm8gYXR0YWNobWVudFRodW1ibmFpbEluZm8oSFRNTEF0dGFjaG1l
bnRFbGVtZW50IGVsZW1lbnQpOworICAgIFtDb25kaXRpb25hbD1BVFRBQ0hNRU5UX0VMRU1FTlQs
IENvbmRpdGlvbmFsPVNFUlZJQ0VfQ09OVFJPTFNdIGJvb2xlYW4gaGFzSW1hZ2VDb250cm9scyhI
VE1MSW1hZ2VFbGVtZW50IGVsZW1lbnQpOwogCiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NFU1NJ
T05dIGRvdWJsZSBjdXJyZW50TWVkaWFTZXNzaW9uUG9zaXRpb24oTWVkaWFTZXNzaW9uIHNlc3Np
b24pOwogICAgIFtDb25kaXRpb25hbD1NRURJQV9TRVNTSU9OXSB1bmRlZmluZWQgc2VuZE1lZGlh
U2Vzc2lvbkFjdGlvbihNZWRpYVNlc3Npb24gc2Vzc2lvbiwgTWVkaWFTZXNzaW9uQWN0aW9uRGV0
YWlscyBhY3Rpb25EZXRhaWxzKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhOTEwNzcxZDI4NzVmNzY0NDI3Y2VkMmIxODg3
NTc0OTJjN2ZjYmVkLi4zMWRkYjM2YTE3OTMyNGFkOTE1YWNmZjc1YjI3NjgwOGE4ZWQwMGNkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMTItMjIgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9n
YXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdW5uZWVkZWQgd2Via2l0IHNwZWNp
ZmljIENTUyBhdHRyaWJ1dGUgZm9yIEltYWdlIENvbnRyb2wgTWVudS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDQwNQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGRvIG5vdCBhY3R1YWxseSBuZWVk
IGEgc3BlY2lmaWMgQ1NTIGF0dHJpYnV0ZSB0byBhY2hpZXZlIHRoZSBpbWFnZSBjb250cm9sIG1l
bnUsCisgICAgICAgIHNvIHdlIHNob3VsZCByZW1vdmUgaXQgdG8ga2VlcCBXZWJLaXQgc3BlY2lm
aWMgY2x1dHRlciBvdXQgb2Ygb3VyIENTUyBpbXBsZW1lbnRhdGlvbgorICAgICAgICBhbmQgd2Ug
c2hvdWxkIGtlZXAgdHJhY2sgb2YgdGhlIHByZXNlbmNlIG9mIHRoZSBpbWFnZSBjb250cm9sIG1l
bnUgZnVsbHkgaW50ZXJuYWxseS4KKworICAgICAgICAqIGZhc3QvaW1hZ2VzL2ltYWdlLWNvbnRy
b2xzLWJhc2ljLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2ltYWdlcy9pbWFnZS1jb250
cm9scy1iYXNpYy5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2lt
YWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0xMi0yMCAgQXJj
YWR5IEdvbGRtaW50cy1PcmxvdiAgPGFnb2xkbWludHNAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R0xJQl0gVXBkYXRlIHRlc3QgZXhwZWN0YXRpb25zIGZvciBzb21lIGZhc3QvYm94LXNoYWRvdyB0
ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xz
LWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRy
b2xzLWJhc2ljLWV4cGVjdGVkLnR4dAppbmRleCA1OWI3NWQ3NmEwNDhhYjQwMTViZTAyYWU2Njc0
N2EyYjg1MTJkZGJkLi4yYjQ1ZDMyZDgyNmUxOGM1ZTI3MDVlM2NjZTAwMzY4MTQ5NGJkMDFmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMt
YmFzaWMtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYw
MAotICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4Mjc2CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHgyNzYKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgyNjAKICAgICAg
IFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgogICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFn
ZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbAppbmRleCAyNGQwNWYzNWI0YjYxY2Q0N2VhYzVm
YzQxMDNmZjM0MmJhZmYyMDQxLi5jOTk1MDM1ZDI1NTc2MzI5YzBjYjU3OTNjMzliY2MwNGUwZmI4
Njg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1i
YXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJh
c2ljLmh0bWwKQEAgLTEsOCArMSwzNCBAQAotIDxzY3JpcHQ+Ci1pZiAod2luZG93LmludGVybmFs
cykKLQlpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SW1hZ2VDb250cm9sc0VuYWJsZWQodHJ1ZSk7Ci0K
KzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgQXR0YWNobWVudEVsZW1l
bnRFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5k
b3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQoraWYg
KHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAJaW50ZXJuYWxzLnNldHRpbmdzLnNldEltYWdlQ29udHJv
bHNFbmFibGVkKHRydWUpOworfQogPC9zY3JpcHQ+Cis8L2hlYWQ+CiA8Ym9keT4KLTxpbWcgc3Jj
PSJyZXNvdXJjZXMvZ3JlZW4tMjU2eDI1Ni5qcGciIHgtd2Via2l0LWltYWdlbWVudT4KLTwvYm9k
eT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8aW1nIGlkPSJ0YXJnZXQiIHNyYz0icmVz
b3VyY2VzL2dyZWVuLTI1NngyNTYuanBnIj4KKzxzY3JpcHQ+CisJZnVuY3Rpb24gaGFzSW1hZ2VD
b250cm9scyhlbGVtKQorCXsKKwkJaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisJCQlyZXR1cm4gaW50
ZXJuYWxzLmhhc0ltYWdlQ29udHJvbHMoZWxlbSk7CisJCXJldHVybiBmYWxzZTsKKwl9CisKKwlq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworCXZhciBlbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRhcmdldCIpOworCXZhciBJRCA9IEhUTUxBdHRhY2htZW50RWxlbWVudC5nZXRBdHRhY2ht
ZW50SWRlbnRpZmllcihlbGVtKTsKKworCXNldEludGVydmFsKCgpID0+IHsKKyAgICBpZiAoaGFz
SW1hZ2VDb250cm9scyhlbGVtKSkKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisJ
fSwgMjAwKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9m
YXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMt
ZXhwZWN0ZWQudHh0CmluZGV4IDkyNGIyOWQ1M2M1OWY1ZThlYmY3ZjMyZGQ0OTYzYzA4NjE5NTc0
NTAuLjhhOWMxMWEyYWFlNWMxNDA4NjdmODliMGRmZGM5YTM3MzYzYjQ4YjkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9pbWFnZS1jb250
cm9scy1iYXNpYy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWNh
dGFsaW5hL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAt
MSwxMCArMSwxMSBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVu
ZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAotICAgIFJlbmRlckJvZHkge0JP
RFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mjc2Cisg
IFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgyNzYKKyAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgyNjAKICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0
ICgwLDApIHNpemUgMjU2eDI1NgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMHgwCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKIGxheWVy
IGF0ICg4LDgpIHNpemUgMjU2eDI1NgogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25l
ZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2IFtjb2xvcj0jMDAwMDAwMDBdCiBsYXllciBh
dCAoMjE1LDMwKSBzaXplIDI3eDI2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVj
dGVkLnR4dAppbmRleCA4MzIxM2EzY2RmOWEzMGJjOTNiYzg4NzAxMmRiNDdmM2Q0NDU2ZjVjLi4x
MzJjMTQ2OWRmZTdmZTE4Y2RhOWRmMjlhZTc4MDU0NjBjNjkzOTc3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFn
ZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsMTEgQEAKIGxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAot
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHg2MDAKLSAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1
ODQKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDI3NgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4Mjc2CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3
ODR4MjYwCiAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiBsYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYK
ICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUg
MjU2eDI1NiBbY29sb3I9IzAwMDAwMDAwXQogbGF5ZXIgYXQgKDIxNCwzMCkgc2l6ZSAyOHgyNgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlNGQwMDIzYmIw
ZTBmZWE5ODgwNTJmMmVkYjU5MjRhYzA2ZjcwZTQwLi4yNjk0YWE4ZTg2MTk5YTEwZTFmYzdjODg4
ZmU3MWM0NWQ1YzQ1NzUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0
aW9ucwpAQCAtNzAyLDYgKzcwMiw3IEBAIHdlYmtpdC5vcmcvYi8zNTAxMyBzdmcvem9vbS90ZXh0
LyBbIFNraXAgXQogIyBUT0RPIEF0dGFjaG1lbnQgZWxlbWVudHMgZG8gbm90IHByb3ZpZGUgYSBj
dXN0b20gcmVuZGVyZXIKIHdlYmtpdC5vcmcvYi8xNDIyNjAgZmFzdC9hdHRhY2htZW50IFsgU2tp
cCBdCiB3ZWJraXQub3JnL2IvMTQyMjYwIGZhc3QvY3NzL2hhcy1hdHRhY2htZW50Lmh0bWwgWyBT
a2lwIF0KK3dlYmtpdC5vcmcvYi8xNDIyNjAgZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFz
aWMuaHRtbCBbIFNraXAgXQogCiAjIFRPRE8gQVBORyBpcyBub3Qgc3VwcG9ydGVkCiB3ZWJraXQu
b3JnL2IvMTQyNzMxIGZhc3QvaW1hZ2VzL2FuaW1hdGVkLXBuZy5odG1sIFsgU2tpcCBdCg==
</data>
<flag name="commit-queue"
          id="473569"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447856</attachid>
            <date>2021-12-22 20:38:02 -0800</date>
            <delta_ts>2021-12-23 08:34:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234405-20211222203801.patch</filename>
            <type>text/plain</type>
            <size>27619</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDk3NWE5ZTc1ZDBhY2Y1
MWU2OTlhNWRjNWUwZWE0NDJjMTQ1YzU3ZC4uMjhiM2E0NTIxNzk3OWRiNGVhMjljNjllMmJhOGMw
NDBhMTAwYjVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIxLTEyLTIyICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVu
bmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1l
bnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0
MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBmYXN0L2ltYWdlcy9tYWMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbAorCisgICAgICAgICog
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
aW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAgICAg
KiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1Zh
bHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmlzSW5zaWRlSW1hZ2VDb250
cm9scyk6CisgICAgICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6CisgICAgICAgICog
aHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVs
ZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1l
bnQ6OnNldEF0dGFjaG1lbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVs
ZW1lbnQ6OnVwZGF0ZUltYWdlQ29udHJvbHMpOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxl
bWVudC5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzczoK
KyAgICAgICAgKGRpdiNpbWFnZS1jb250cm9scyBidXR0b24jaW1hZ2UtY29udHJvbHMtYnV0dG9u
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaGVtZVR5cGVzLmg6CisgICAgICAgICogcmVuZGVyaW5n
L0hpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6bm9k
ZUZvckltYWdlRGF0YSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjphdXRvQXBwZWFyYW5jZUZvckVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWU6OmlzSW1hZ2VDb250cm9sIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6aXNJbWFnZUNvbnRy
b2wgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldEFwcGVhcmFuY2UpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU3R5bGU6OnNldEVmZmVjdGl2ZUFwcGVhcmFuY2UpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmg6CisgICAgICAgICogdGVz
dGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpoYXNJbWFn
ZUNvbnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAyMS0xMi0yMCAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBBZG9wdCBDaHJvbWVDbGllbnQ6OmNs
YXNzaWZ5TW9kYWxDb250YWluZXJDb250cm9scygpIGluIE1vZGFsQ29udGFpbmVyT2JzZXJ2ZXIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdz
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCmluZGV4
IGI2OTdlZmQwZGI1YjlkN2VmYjA3MDQzZjdmMTllYjU1MjU2OTJlMmQuLjdjMmE1MmY5YjdiMDg2
YjEyNDA5MzQ1OGM3OTg4YjcwZDk0NzkwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtNjM0LDcgKzYzNCw4IEBAIHRlbXBsYXRlPD4g
aW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShDb250cm9sUGFydCBl
KQogI2VuZGlmCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAgICAgY2FzZSBJbWFnZUNv
bnRyb2xzQnV0dG9uUGFydDoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVJbnRl
cm5hbEltYWdlQ29udHJvbHNCdXR0b247CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZU5vbmU7CiAgICAgICAgIGJyZWFrOwog
I2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGll
cy5qc29uCmluZGV4IDg3NzAxODFiZjhlNGY5NjhhOWM3MWIxMjI2YjY5MzI5ZjJkNThjNzYuLmMy
NTU2YjZjZTNkY2MyMTEyOWMzZTNmZjM2MzNmMjhhZWRkMDk0YWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnRpZXMuanNvbgpAQCAtNTE3Nyw3ICs1MTc3LDYgQEAKICAgICAgICAgICAgICAg
ICAiY29udGludW91cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAg
ICJkaXNjcmV0ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAgICJy
YXRpbmctbGV2ZWwtaW5kaWNhdG9yIiwKLSAgICAgICAgICAgICAgICAiLWludGVybmFsLWltYWdl
LWNvbnRyb2xzLWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgIi1hcHBsZS1wYXktYnV0dG9uIiwK
ICAgICAgICAgICAgICAgICAidGV4dGFyZWEiLAogICAgICAgICAgICAgICAgICJhdHRhY2htZW50
IiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggMTZiYmIwYWJiMDA3
MzJmMzU0MWYyMjVjNzIwZTg2NjhjY2MxZDVmYy4uMGNhMWRhNGZkNGFiNDcyZjg1Mzc5NjQ0ZDMy
NWQ1NTlkMTM2MzMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAg
LTg5MCw5ICs4OTAsNiBAQCByZWxldmFuY3ktbGV2ZWwtaW5kaWNhdG9yCiBjb250aW51b3VzLWNh
cGFjaXR5LWxldmVsLWluZGljYXRvcgogZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9y
CiByYXRpbmctbGV2ZWwtaW5kaWNhdG9yCi0jaWYgZGVmaW5lZChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJiYgRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKLS1pbnRlcm5hbC1pbWFnZS1jb250cm9s
cy1idXR0b24KLSNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0FQUExFX1BBWSkgJiYgRU5BQkxF
X0FQUExFX1BBWQogLWFwcGxlLXBheS1idXR0b24KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwCmluZGV4IDI1Mjk3NzMxYjJmYWRkZWI1MDY1
ZmY5YmI3NmI1ODYzZDZkMWY3M2MuLjY1NDRmMjZmNTFhOTIzZWU2MzBlNzkxOGRiOTMzODZmY2E1
ZTU3ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRp
b21zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5j
cHAKQEAgLTQwLDEwICs0MCw2IEBAIGJvb2wgaXNWYWx1ZUFsbG93ZWRJbk1vZGUodW5zaWduZWQg
c2hvcnQgaWQsIENTU1BhcnNlck1vZGUgbW9kZSkKICAgICAgICAgcmV0dXJuIGlzVUFTaGVldEJl
aGF2aW9yKG1vZGUpOwogICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRGb2N1c1JpbmdDb2xvcjoKICAg
ICAgICAgcmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpIHx8IGlzUXVpcmtzTW9kZUJlaGF2
aW9yKG1vZGUpOwotI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQotICAgIGNhc2UgQ1NTVmFs
dWVJbnRlcm5hbEltYWdlQ29udHJvbHNCdXR0b246Ci0gICAgICAgIHJldHVybiBpc1VBU2hlZXRC
ZWhhdmlvcihtb2RlKTsKLSNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9s
c01hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCmlu
ZGV4IGJiODg2MWQxMDcxNDRhNTgyOWU3OTdjNTYyZDA5Njg4YmU4YjliYTIuLmQ5ZmIxMDc1MGJm
MTViNWRjM2MyOTM2Y2QwYzAwNGFlNDMyNzY4MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21h
Yy9JbWFnZUNvbnRyb2xzTWFjLmNwcApAQCAtNzMsNiArNzMsMTQgQEAgYm9vbCBpc0ltYWdlQ29u
dHJvbHNCdXR0b25FbGVtZW50KGNvbnN0IE5vZGUmIG5vZGUpCiAgICAgcmV0dXJuIGlzPEVsZW1l
bnQ+KG5vZGUpICYmIGRvd25jYXN0PEVsZW1lbnQ+KG5vZGUpLmdldElkQXR0cmlidXRlKCkgPT0g
aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIoKTsKIH0KIAorYm9vbCBpc0luc2lkZUltYWdl
Q29udHJvbHMoY29uc3QgTm9kZSYgbm9kZSkKK3sKKyAgICBSZWZQdHIgaG9zdCA9IG5vZGUuc2hh
ZG93SG9zdCgpOworICAgIGlmICghaXM8SFRNTEVsZW1lbnQ+KGhvc3QuZ2V0KCkpIHx8ICFoYXND
b250cm9scyhkb3duY2FzdDxIVE1MRWxlbWVudD4oKmhvc3QpKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIHJldHVybiBpczxFbGVtZW50Pihub2RlKSAmJiBkb3duY2FzdDxFbGVtZW50Pihu
b2RlKS5nZXRJZEF0dHJpYnV0ZSgpID09IGltYWdlQ29udHJvbHNFbGVtZW50SWRlbnRpZmllcigp
OworfQorCiB2b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQmIGVsZW1lbnQpCiB7
CiAgICAgUmVmIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1bWVudCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaAppbmRleCA2YWNiNGJmM2UyM2I3NTgwMzdkMzFkYWZk
YWNiODRjYWQzN2I4YzBlLi4xMWVmMzBiMmEwMWJhMmFjNzExOTBlMWYyZmE3OWI4MWRiOTE5MmMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaApAQCAtMzgsNiAr
MzgsNyBAQCBuYW1lc3BhY2UgSW1hZ2VDb250cm9sc01hYyB7CiAKIGJvb2wgaGFzQ29udHJvbHMo
Y29uc3QgSFRNTEVsZW1lbnQmKTsKIGJvb2wgaXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudChj
b25zdCBOb2RlJik7Citib29sIGlzSW5zaWRlSW1hZ2VDb250cm9scyhjb25zdCBOb2RlJik7CiB2
b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQmKTsKIGJvb2wgaGFuZGxlRXZlbnQo
SFRNTEVsZW1lbnQmLCBFdmVudCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVt
ZW50LmNwcAppbmRleCA3N2M5OGY1ZTA0NTk3NmY5OTdjNTg5YmExYWM0M2M1ZmRmMWFiMjgzLi45
MzlkNDU5NDYyMjA0NzhkYmEzZDljZGFiYWE3NDljZjdhNjU4ODJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJD
aHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJFZGl0b3IuaCIKICNpbmNsdWRlICJFbGVtZW50SXRl
cmF0b3IuaCIKKyNpbmNsdWRlICJFdmVudExvb3AuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgi
CiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIK
QEAgLTMxMyw4ICszMTQsNyBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpbgogICAgICAgICBpZiAo
IXBhcnNlQ29tcG9zaXRlQW5kQmxlbmRPcGVyYXRvcih2YWx1ZSwgbV9jb21wb3NpdGVPcGVyYXRv
ciwgYmxlbmRPcCkpCiAgICAgICAgICAgICBtX2NvbXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9zaXRl
T3BlcmF0b3I6OlNvdXJjZU92ZXI7CiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0gICAg
fSBlbHNlIGlmIChuYW1lID09IHdlYmtpdGltYWdlbWVudUF0dHIpIHsKLSAgICAgICAgbV9pbWFn
ZU1lbnVFbmFibGVkID0gIXZhbHVlLmlzTnVsbCgpOworICAgIH0gZWxzZSBpZiAobV9pbWFnZU1l
bnVFbmFibGVkKSB7CiAgICAgICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKICNlbmRpZgogICAg
IH0gZWxzZSBpZiAobmFtZSA9PSBsb2FkaW5nQXR0cikgewpAQCAtNzQzLDcgKzc0Myw5IEBAIHZv
aWQgSFRNTEltYWdlRWxlbWVudDo6c2V0QXR0YWNobWVudEVsZW1lbnQoUmVmPEhUTUxBdHRhY2ht
ZW50RWxlbWVudD4mJiBhdHRhY2htCiAKICAgICBhdHRhY2htZW50LT5zZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5RGlzcGxheSwgQ1NTVmFsdWVOb25lLCB0cnVlKTsKICAgICBlbnN1
cmVVc2VyQWdlbnRTaGFkb3dSb290KCkuYXBwZW5kQ2hpbGQoV1RGTW92ZShhdHRhY2htZW50KSk7
Ci0gICAgc2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbih3ZWJraXRpbWFnZW1lbnVB
dHRyLCBlbXB0eVN0cmluZygpKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBt
X2ltYWdlTWVudUVuYWJsZWQgPSB0cnVlOworI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQogfQogCiBSZWZQdHI8SFRNTEF0dGFjaG1lbnRFbGVtZW50PiBIVE1MSW1hZ2VFbGVtZW50
OjphdHRhY2htZW50RWxlbWVudCgpIGNvbnN0CkBAIC03NzUsMTEgKzc3NywxMyBAQCB2b2lkIEhU
TUxJbWFnZUVsZW1lbnQ6OnVwZGF0ZUltYWdlQ29udHJvbHMoKQogICAgICAgICByZXR1cm47CiAg
ICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkuaW1hZ2VDb250cm9sc0VuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuOwotICAgIGJvb2wgaGFzQ29udHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xzKCk7
Ci0gICAgaWYgKCFtX2ltYWdlTWVudUVuYWJsZWQgJiYgaGFzQ29udHJvbHMpCi0gICAgICAgIGRl
c3Ryb3lJbWFnZUNvbnRyb2xzKCk7Ci0gICAgZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkICYm
ICFoYXNDb250cm9scykKLSAgICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOworICAgIGRv
Y3VtZW50KCkuZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6OkludGVybmFsQXN5bmNU
YXNrLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH1dIHsKKyAgICAgICAgYm9v
bCBoYXNDb250cm9scyA9IGhhc0ltYWdlQ29udHJvbHMoKTsKKyAgICAgICAgaWYgKCFtX2ltYWdl
TWVudUVuYWJsZWQgJiYgaGFzQ29udHJvbHMpCisgICAgICAgICAgICBkZXN0cm95SW1hZ2VDb250
cm9scygpOworICAgICAgICBlbHNlIGlmIChtX2ltYWdlTWVudUVuYWJsZWQgJiYgIWhhc0NvbnRy
b2xzKQorICAgICAgICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOworICAgIH0pOwogfQog
CiB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaAppbmRleCA3ZjkxNGE1YWU0Y2Y5ZjkyMGM1MDQw
OTlhMjI1ZjlmMjQ2ZmNiMzVhLi4xZDk5ZDMyMTdiNTZmZTNjMWM1ZDBjNTU4ZDdlYjQ3M2E5ODlj
M2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaApAQCAtMTQ3LDYgKzE0
NywxMCBAQCBwdWJsaWM6CiAgICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25z
dDsKIAogICAgIGJvb2wgYWxsb3dzT3JpZW50YXRpb25PdmVycmlkZSgpIGNvbnN0OworICAgIAor
I2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaGFz
SW1hZ2VDb250cm9scygpIGNvbnN0OworI2VuZGlmCiAKIHByb3RlY3RlZDoKICAgICBIVE1MSW1h
Z2VFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYsIEhUTUxGb3JtRWxlbWVu
dCogPSBudWxscHRyKTsKQEAgLTE5Nyw3ICsyMDEsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBk
YXRlSW1hZ2VDb250cm9scygpOwogICAgIHZvaWQgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOwog
ICAgIHZvaWQgZGVzdHJveUltYWdlQ29udHJvbHMoKTsKLSAgICBib29sIGhhc0ltYWdlQ29udHJv
bHMoKSBjb25zdDsKICAgICBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9k
ZSYpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcwppbmRleCBkNWE2YWVmNDZmYmM5MjQy
MTJiYjFlODU2ZTI1NTI3YjlhYTNkNmFlLi5lMmM4Y2ZkZjlhMmI2MDM1ODgyMmRkMTQ1OTc4OTky
OGM1Yzc0YzBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvaW1h
Z2VDb250cm9sc01hYy5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2lt
YWdlQ29udHJvbHNNYWMuY3NzCkBAIC0zOSw3ICszOSw3IEBAIGRpdiNpbWFnZS1jb250cm9scyBi
dXR0b24jaW1hZ2UtY29udHJvbHMtYnV0dG9uIHsKICAgICAKICAgICBkaXNwbGF5OiBibG9jazsK
IAotICAgIGFwcGVhcmFuY2U6IC1pbnRlcm5hbC1pbWFnZS1jb250cm9scy1idXR0b247CisgICAg
YXBwZWFyYW5jZTogYXV0bzsKIAogICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7CiAgICAg
b3BhY2l0eTogMC4wOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVU
eXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oCmluZGV4IDQyYmIz
NjQ5MDU3YjQyNTEzMTE5ZjdjZTA4MGM1MmUzMGJlNzU5MGMuLmIyMTUyNTQwZWMyNWMzZDU5YzU3
MTBiZTAxOTUyNTVhZmUwOTE4NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RoZW1lVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgK
QEAgLTkxLDkgKzkxLDYgQEAgZW51bSBDb250cm9sUGFydCB7CiAgICAgQ29udGludW91c0NhcGFj
aXR5TGV2ZWxJbmRpY2F0b3JQYXJ0LAogICAgIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRv
clBhcnQsCiAgICAgUmF0aW5nTGV2ZWxJbmRpY2F0b3JQYXJ0LAotI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQotICAgIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0LAotI2VuZGlmCiAjaWYgRU5B
QkxFKEFQUExFX1BBWSkKICAgICBBcHBsZVBheUJ1dHRvblBhcnQsCiAjZW5kaWYKQEAgLTEwOCw3
ICsxMDUsMTUgQEAgZW51bSBDb250cm9sUGFydCB7CiAgICAgQXR0YWNobWVudFBhcnQsCiAgICAg
Qm9yZGVybGVzc0F0dGFjaG1lbnRQYXJ0LAogI2VuZGlmCi0gICAgQ2Fwc0xvY2tJbmRpY2F0b3JQ
YXJ0CisgICAgQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0LAorICAgIC8vIEludGVybmFsLW9ubHkgVmFs
dWVzCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgSW1hZ2VDb250cm9sc0J1dHRv
blBhcnQsCisgICAgTGFyZ2VzdENvbnRyb2xQYXJ0ID0gSW1hZ2VDb250cm9sc0J1dHRvblBhcnQK
KyNlbHNlCisgICAgTGFyZ2VzdENvbnRyb2xQYXJ0ID0gQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0Cisj
ZW5kaWYKKyAgICAKIH07CiAKIGVudW0gU2VsZWN0aW9uUGFydCB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKaW5kZXggZjZiMTFkOWQ2MjlhY2ZiZmI4Nzg2MGNi
N2I4Y2QyOGNlYmMxYjE4Yi4uODMwMjU5MTkyYzQ2MWM4MjUxYTg5MjU1Njc5MjNlMTIzNjk4ZmY0
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcApAQCAtNTQs
NiArNTQsMTAgQEAKICNpbmNsdWRlICJWaXNpYmxlVW5pdHMuaCIKICNpbmNsdWRlICJYTGlua05h
bWVzLmgiCiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyNpbmNsdWRlICJJbWFnZUNv
bnRyb2xzTWFjLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1l
c3BhY2UgSFRNTE5hbWVzOwpAQCAtMzM1LDYgKzMzOSwxMSBAQCBSZWZQdHI8Tm9kZT4gSGl0VGVz
dFJlc3VsdDo6bm9kZUZvckltYWdlRGF0YSgpIGNvbnN0CiAKICAgICBpZiAoSW1hZ2VPdmVybGF5
Ojppc0luc2lkZU92ZXJsYXkoKm1faW5uZXJOb25TaGFyZWROb2RlKSkKICAgICAgICAgcmV0dXJu
IG1faW5uZXJOb25TaGFyZWROb2RlLT5zaGFkb3dIb3N0KCk7CisgICAgCisjaWYgRU5BQkxFKFNF
UlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKEltYWdlQ29udHJvbHNNYWM6OmlzSW5zaWRlSW1hZ2VD
b250cm9scygqbV9pbm5lck5vblNoYXJlZE5vZGUpKQorICAgICAgICByZXR1cm4gbV9pbm5lck5v
blNoYXJlZE5vZGUtPnNoYWRvd0hvc3QoKTsKKyNlbmRpZgogCiAgICAgcmV0dXJuIG1faW5uZXJO
b25TaGFyZWROb2RlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAK
aW5kZXggNDU0ZTY0YzZiZmE3NWZhZmMyZWU5MWU3NWNkYzJmYzQ4ZTZjZDYwNS4uYTU0MjRkMmUz
MmFmNGJiZDYwNzllMzM3NDNiZWM1MmViMDNkM2U2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuY3BwCkBAIC01Nyw2ICs1Nyw5IEBACiAjaW5jbHVkZSA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJz
Lmg+CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyNpbmNsdWRlICJJbWFnZUNvbnRy
b2xzTWFjLmgiCisjZW5kaWYKIAogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogI2luY2x1
ZGUgIkhUTUxEYXRhTGlzdEVsZW1lbnQuaCIKQEAgLTI5Niw2ICsyOTksMTAgQEAgQ29udHJvbFBh
cnQgUmVuZGVyVGhlbWU6OmF1dG9BcHBlYXJhbmNlRm9yRWxlbWVudChjb25zdCBFbGVtZW50KiBl
bGVtZW50UHRyKSBjb24KICAgICBpZiAoIWVsZW1lbnRQdHIpCiAgICAgICAgIHJldHVybiBOb0Nv
bnRyb2xQYXJ0OwogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKGlzSW1h
Z2VDb250cm9sKGVsZW1lbnRQdHIpKQorICAgICAgICByZXR1cm4gSW1hZ2VDb250cm9sc0J1dHRv
blBhcnQ7CisjZW5kaWYKICAgICBSZWYgZWxlbWVudCA9ICplbGVtZW50UHRyOwogCiAgICAgaWYg
KGlzPEhUTUxJbnB1dEVsZW1lbnQ+KGVsZW1lbnQpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oCmluZGV4IDhlZjMwMGZjYzczNTlhNGZiYjBjMWRjNTQ2MGE5ODM3OWIxOThk
OGEuLmFhNGQ0OTgzYzc3ZGEyNDdkNDA4NTIxNDQ3Y2FmNzE3OTM0ZWRiNjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0zNjcsNiArMzY3LDcgQEAgcHJvdGVjdGVk
OgogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RJ
bWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29u
c3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50SW1hZ2VDb250cm9sc0J1dHRvbihjb25zdCBSZW5k
ZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgeyByZXR1cm4gdHJ1
ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc0ltYWdlQ29udHJvbChjb25zdCBFbGVtZW50KikgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFBy
b2dyZXNzQmFyU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4IGEwM2UxZjVjOTE2OWM2
ZWY2NWUzZDQ2MTg3Y2FmMWUxNmZlMTlkZjYuLjkyODIyZmMyOGJhMDAwMDNhODlhMGQ3Yzg5ODY2
M2RjMzZjMTE1NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5o
CkBAIC0yMTYsNiArMjE2LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKICAgICBib29sIHBhaW50SW1hZ2VDb250cm9sc0J1dHRvbihjb25zdCBSZW5kZXJPYmplY3Qm
LCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgZmluYWw7CiAgICAgSW50U2l6ZSBp
bWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgaXNJbWFnZUNv
bnRyb2woY29uc3QgRWxlbWVudCopIGNvbnN0IGZpbmFsOwogCiAgICAgTlNTZXJ2aWNlc1JvbGxv
dmVyQnV0dG9uQ2VsbCAqc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKSBjb25zdDsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCmluZGV4IDk2NDg1
NjEwYWZhMDJjMWNlYjUxOGE1MmViMzIwMTcxMWI5OGU2MDcuLmNhOGI3NDU4NGVhNTI1MGQ2NDdl
MjIwNWU2MjA5NTc1MTgxYWMwNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVNYWMubW0KQEAgLTgzLDYgKzgzLDEwIEBACiAjaW1wb3J0IDx3dGYvU3RkTGliRXh0cmFz
Lmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisjZW5kaWYKKwog
Ly8gRklYTUU6IFRoaXMgc2hvdWxkIGdvIGludG8gYW4gU1BJLmggZmlsZSBpbiB0aGUgc3BpIGRp
cmVjdG9yeS4KIEBpbnRlcmZhY2UgTlNUZXh0RmllbGRDZWxsICgpCiAtIChDRkRpY3Rpb25hcnlS
ZWYpX2NvcmVVSURyYXdPcHRpb25zV2l0aEZyYW1lOihOU1JlY3QpY2VsbEZyYW1lIGluVmlldzoo
TlNWaWV3ICopY29udHJvbFZpZXcgaW5jbHVkZUZvY3VzOihCT09MKWluY2x1ZGVGb2N1czsKQEAg
LTIzMDksNiArMjMxMywxMyBAQCBJbnRTaXplIFJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xz
QnV0dG9uU2l6ZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIEludFNpemUoc2VydmljZXNSb2xsb3Zl
ckJ1dHRvbkNlbGwoKS5jZWxsU2l6ZSk7CiB9CisKK2Jvb2wgUmVuZGVyVGhlbWVNYWM6OmlzSW1h
Z2VDb250cm9sKGNvbnN0IEVsZW1lbnQqIGVsZW1lbnRQdHIpIGNvbnN0Cit7CisgICAgaWYgKElt
YWdlQ29udHJvbHNNYWM6OmlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoKmVsZW1lbnRQdHIp
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CiAjZW5kaWYKIAog
I2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGRjZThkYjJiODdmOGVlMTFjOWMyZTJlYzhlMzI1
Mzc3ZjgwOWM0ZTYuLmZjMmQyY2NmNjgxNTZkZWU1NzU0M2VlNzg2NjBjYjcwNDFlYzVmODIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0xMTQx
LDggKzExNDEsMTcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QWNjZW50Q29sb3IoY29uc3QgQ29s
b3ImIGMpIHsgU0VUX1ZBUihtX3JhcmVJbmhlcml0ZWREYXRhLCBhY2NlbnRDb2xvciwgYyk7IFNF
VF9WQVIobV9yYXJlSW5oZXJpdGVkRGF0YSwgaGFzQXV0b0FjY2VudENvbG9yLCBmYWxzZSk7ICB9
CiAgICAgdm9pZCBzZXRIYXNBdXRvQWNjZW50Q29sb3IoKSB7IFNFVF9WQVIobV9yYXJlSW5oZXJp
dGVkRGF0YSwgaGFzQXV0b0FjY2VudENvbG9yLCB0cnVlKTsgU0VUX1ZBUihtX3JhcmVJbmhlcml0
ZWREYXRhLCBhY2NlbnRDb2xvciwgY3VycmVudENvbG9yKCkpOyB9CiAgICAgdm9pZCBzZXRPcGFj
aXR5KGZsb2F0IGYpIHsgZmxvYXQgdiA9IGNsYW1wVG88ZmxvYXQ+KGYsIDAuZiwgMS5mKTsgU0VU
X1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBvcGFjaXR5LCB2KTsgfQotICAgIHZvaWQgc2V0
QXBwZWFyYW5jZShDb250cm9sUGFydCBhKSB7IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0
YSwgYXBwZWFyYW5jZSwgYSk7IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZWZmZWN0
aXZlQXBwZWFyYW5jZSwgYSk7IH0KLSAgICB2b2lkIHNldEVmZmVjdGl2ZUFwcGVhcmFuY2UoQ29u
dHJvbFBhcnQgYSkgeyBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGVmZmVjdGl2ZUFw
cGVhcmFuY2UsIGEpOyB9CisgICAgdm9pZCBzZXRBcHBlYXJhbmNlKENvbnRyb2xQYXJ0IGEpCisg
ICAgeworICAgICAgICBzdGF0aWNfYXNzZXJ0KExhcmdlc3RDb250cm9sUGFydCA8IDEgPDwgQVBQ
RUFSQU5DRV9CSVRfV0lEVEgsICJDb250cm9sIHBhcnQgbXVzdCBmaXQgaW4gc3RvcmFnZSBiaXRz
Iik7CisgICAgICAgIFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgYXBwZWFyYW5jZSwg
YSk7CisgICAgICAgIFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZWZmZWN0aXZlQXBw
ZWFyYW5jZSwgYSk7CisgICAgfQorICAgIHZvaWQgc2V0RWZmZWN0aXZlQXBwZWFyYW5jZShDb250
cm9sUGFydCBhKQorICAgIHsKKyAgICAgICAgc3RhdGljX2Fzc2VydChMYXJnZXN0Q29udHJvbFBh
cnQgPCAxIDw8IEFQUEVBUkFOQ0VfQklUX1dJRFRILCAiQ29udHJvbCBwYXJ0IG11c3QgZml0IGlu
IHN0b3JhZ2UgYml0cyIpOworICAgICAgICBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEs
IGVmZmVjdGl2ZUFwcGVhcmFuY2UsIGEpOworICAgIH0KICAgICAvLyBGb3IgdmFsaWQgdmFsdWVz
IG9mIGJveC1hbGlnbiBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOS9XRC1jc3MzLWZsZXhi
b3gtMjAwOTA3MjMvI2FsaWdubWVudAogICAgIHZvaWQgc2V0Qm94QWxpZ24oQm94QWxpZ25tZW50
IGEpIHsgU0VUX05FU1RFRF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZGVwcmVjYXRlZEZs
ZXhpYmxlQm94LCBhbGlnbiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGEpKTsgfQogICAgIHZvaWQg
c2V0Qm94RGlyZWN0aW9uKEJveERpcmVjdGlvbiBkKSB7IG1faW5oZXJpdGVkRmxhZ3MuYm94RGly
ZWN0aW9uID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGQpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaApp
bmRleCA2NzhlNDgxMDlhOTYwZTA2ODZjNGFmYjFmZGQ5YWJlZTdhNmU3Y2NhLi4yMGJkZGY0MGJl
ZDRlNDZlZjJhY2M3M2I3ZTU3OTdhMjQwNDhlYWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKQEAg
LTY2LDYgKzY2LDggQEAgY2xhc3MgU3R5bGVUcmFuc2Zvcm1EYXRhOwogCiBzdHJ1Y3QgTGVuZ3Ro
U2l6ZTsKIAorI2RlZmluZSBBUFBFQVJBTkNFX0JJVF9XSURUSCA3CisKIC8vIFBhZ2Ugc2l6ZSB0
eXBlLgogLy8gU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6cGFnZVNpemUgaXMgbWVhbmluZ2Z1
bCBvbmx5IHdoZW4KIC8vIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OnBhZ2VTaXplVHlwZSBp
cyBQQUdFX1NJWkVfUkVTT0xWRUQuCkBAIC0yMDIsOCArMjA0LDggQEAgcHVibGljOgogICAgIHVu
c2lnbmVkIHVzZVNtb290aFNjcm9sbGluZyA6IDE7IC8vIFNjcm9sbEJlaGF2aW9yCiAgICAgdW5z
aWduZWQgbWFyZ2luQmVmb3JlQ29sbGFwc2UgOiAyOyAvLyBNYXJnaW5Db2xsYXBzZQogICAgIHVu
c2lnbmVkIG1hcmdpbkFmdGVyQ29sbGFwc2UgOiAyOyAvLyBNYXJnaW5Db2xsYXBzZQotICAgIHVu
c2lnbmVkIGFwcGVhcmFuY2UgOiA2OyAvLyBFQXBwZWFyYW5jZQotICAgIHVuc2lnbmVkIGVmZmVj
dGl2ZUFwcGVhcmFuY2UgOiA2OyAvLyBFQXBwZWFyYW5jZQorICAgIHVuc2lnbmVkIGFwcGVhcmFu
Y2UgOiBBUFBFQVJBTkNFX0JJVF9XSURUSDsgLy8gRUFwcGVhcmFuY2UKKyAgICB1bnNpZ25lZCBl
ZmZlY3RpdmVBcHBlYXJhbmNlIDogQVBQRUFSQU5DRV9CSVRfV0lEVEg7IC8vIEVBcHBlYXJhbmNl
CiAgICAgdW5zaWduZWQgYm9yZGVyRml0IDogMTsgLy8gQm9yZGVyRml0CiAgICAgdW5zaWduZWQg
dGV4dENvbWJpbmUgOiAxOyAvLyBDU1MzIHRleHQtY29tYmluZSBwcm9wZXJ0aWVzCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBkOGQ3MTRhY2YyNTVjYTcxZGU4MmU5MDgy
Nzg5YzMzZGM5OThhNzRhLi41NDAyMTg3NjM4MTljMTk4NzFlNTdhZGQ2YzlkZTQwZmI2YzlkZDZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC02Mzk3LDcgKzYzOTcsMTQg
QEAgRXhjZXB0aW9uT3I8SW50ZXJuYWxzOjpBdHRhY2htZW50VGh1bWJuYWlsSW5mbz4gSW50ZXJu
YWxzOjphdHRhY2htZW50VGh1bWJuYWlsSW4KICNlbmRpZgogfQogCi0jZW5kaWYKKyNpZiBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKK2Jvb2wgSW50ZXJuYWxzOjpoYXNJbWFnZUNvbnRyb2xzKGNv
bnN0IEhUTUxJbWFnZUVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGVsZW1l
bnQuaGFzSW1hZ2VDb250cm9scygpOworfQorI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorCisjZW5kaWYgLy8gRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKIAogI2lmIEVOQUJM
RShNRURJQV9TRVNTSU9OKQogRXhjZXB0aW9uT3I8ZG91YmxlPiBJbnRlcm5hbHM6OmN1cnJlbnRN
ZWRpYVNlc3Npb25Qb3NpdGlvbihjb25zdCBNZWRpYVNlc3Npb24mIHNlc3Npb24pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBmYmMxMjE5NTFlYTM5ZGQxNDhkNzVhZTIzNzc2NDg4
MGYwYjNlMWQ1Li4xMDI3OGY2ODUzZWViMjY0MjkwNmZmOGJmOWQxMDAwNDIxNzAyYmVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTExODQsNyArMTE4NCwxMCBAQCBwdWJsaWM6
CiAgICAgfTsKIAogICAgIEV4Y2VwdGlvbk9yPEF0dGFjaG1lbnRUaHVtYm5haWxJbmZvPiBhdHRh
Y2htZW50VGh1bWJuYWlsSW5mbyhjb25zdCBIVE1MQXR0YWNobWVudEVsZW1lbnQmKTsKLSNlbmRp
ZgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGJvb2wgaGFzSW1hZ2VDb250cm9s
cyhjb25zdCBIVE1MSW1hZ2VFbGVtZW50JikgY29uc3Q7CisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJ
Q0VfQ09OVFJPTFMpCisjZW5kaWYgLy8gRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKIAogI2lm
IEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIEV4Y2VwdGlvbk9yPGRvdWJsZT4gY3VycmVudE1l
ZGlhU2Vzc2lvblBvc2l0aW9uKGNvbnN0IE1lZGlhU2Vzc2lvbiYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsCmluZGV4IDIzNGMyMzYyNmMwNGUxZmNkMmEyZTVjYzJhNDQ5NTEyYjM2
ZWZhZGYuLmMzZTRiYzcyMmUzODNiOGNlYzc4ODhlY2RkOTUzMDI3ZDQ1ZDdlMDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTEwNzEsNiArMTA3MSw3IEBAIGVudW0gSEVW
Q1BhcmFtZXRlckNvZGVjIHsKICAgICB1bmRlZmluZWQgc2V0Q29udGVudFNpemVDYXRlZ29yeShD
b250ZW50U2l6ZUNhdGVnb3J5IGNhdGVnb3J5KTsKIAogICAgIFtDb25kaXRpb25hbD1BVFRBQ0hN
RU5UX0VMRU1FTlRdIEF0dGFjaG1lbnRUaHVtYm5haWxJbmZvIGF0dGFjaG1lbnRUaHVtYm5haWxJ
bmZvKEhUTUxBdHRhY2htZW50RWxlbWVudCBlbGVtZW50KTsKKyAgICBbQ29uZGl0aW9uYWw9QVRU
QUNITUVOVF9FTEVNRU5ULCBDb25kaXRpb25hbD1TRVJWSUNFX0NPTlRST0xTXSBib29sZWFuIGhh
c0ltYWdlQ29udHJvbHMoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50KTsKIAogICAgIFtDb25kaXRp
b25hbD1NRURJQV9TRVNTSU9OXSBkb3VibGUgY3VycmVudE1lZGlhU2Vzc2lvblBvc2l0aW9uKE1l
ZGlhU2Vzc2lvbiBzZXNzaW9uKTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU0VTU0lPTl0gdW5k
ZWZpbmVkIHNlbmRNZWRpYVNlc3Npb25BY3Rpb24oTWVkaWFTZXNzaW9uIHNlc3Npb24sIE1lZGlh
U2Vzc2lvbkFjdGlvbkRldGFpbHMgYWN0aW9uRGV0YWlscyk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTkxMDc3MWQyODc1
Zjc2NDQyN2NlZDJiMTg4NzU3NDkyYzdmY2JlZC4uN2JlZmYzYWE5OTUxMWJkYjA3ZDE2NTkyMzZk
MmM5ZjNiNDkxOWZlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEyLTIyICBNZWdhbiBH
YXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVubmVl
ZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1lbnUu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0MDUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBuZWVk
IHRvIG1vdmUgdGhpcyB0ZXN0IHRvIGJlIGEgbWFjIHNwZWNpZmljIG9uZSwgYXMgaXQgbm93IGhh
cyBtYWMgc3BlY2lmaWMgCisgICAgICAgIHRlc3QgaGFybmVzc2luZy4KKworICAgICAgICAqIFRl
c3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFz
aWMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvaW1hZ2VzL2ltYWdlLWNv
bnRyb2xzLWJhc2ljLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvbWFjL2lt
YWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQuCisgICAgICAgICogZmFzdC9pbWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9pbWFn
ZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBl
Y3RhdGlvbnM6CisKIDIwMjEtMTItMjAgIEFyY2FkeSBHb2xkbWludHMtT3Jsb3YgIDxhZ29sZG1p
bnRzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dMSUJdIFVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9u
cyBmb3Igc29tZSBmYXN0L2JveC1zaGFkb3cgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1
MWFjOTMzNjUzYzNjNmZhODNjMzA5NDYwMGQ5N2Y5Yjk0NDQ2YjY0Li4wZjg4ODZiYzgwM2YzMDM2
OWRlNTY1ZjNiYzgyZThmYzU0ODE4NTdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQwLDYgKzQw
LDcgQEAgZmFzdC9mb3Jtcy9zZWxlY3QvbWFjLXdrMiBbIFNraXAgXQogZmFzdC9mb3Jtcy90ZXh0
YXJlYS9pb3MgWyBTa2lwIF0KIGZhc3QvZm9ybXMvd2F0Y2hvcyBbIFNraXAgXQogZmFzdC9pbWFn
ZXMvdGV4dC1yZWNvZ25pdGlvbiBbIFNraXAgXQorZmFzdC9pbWFnZXMvbWFjIFsgU2tpcCBdCiBm
YXN0L3NhbmRib3gvaW9zIFsgU2tpcCBdCiBmYXN0L3NhbmRib3gvbWFjIFsgU2tpcCBdCiBmYXN0
L3ZpZXdwb3J0L3dhdGNob3MgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
aW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNTliNzVkNzZhMDQ4YWI0MDE1YmUwMmFlNjY3NDdhMmI4NTEyZGRi
ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCi0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5k
ZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlckltYWdlIHtJ
TUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1j
b250cm9scy1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJv
bHMtYmFzaWMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjRkMDVmMzViNGI2
MWNkNDdlYWM1ZmM0MTAzZmYzNDJiYWZmMjA0MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9s
cy1iYXNpYy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0gPHNjcmlwdD4KLWlm
ICh3aW5kb3cuaW50ZXJuYWxzKQotCWludGVybmFscy5zZXR0aW5ncy5zZXRJbWFnZUNvbnRyb2xz
RW5hYmxlZCh0cnVlKTsKLQotPC9zY3JpcHQ+Ci08Ym9keT4KLTxpbWcgc3JjPSJyZXNvdXJjZXMv
Z3JlZW4tMjU2eDI1Ni5qcGciIHgtd2Via2l0LWltYWdlbWVudT4KLTwvYm9keT4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9t
YWMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9p
bWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MzJjMTQ2OWRmZTdmZTE4Y2RhOWRmMjlhZTc4MDU0NjBjNjkzOTc3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDI3NgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4Mjc2CisgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MjYwCisgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CitsYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NiBbY29sb3I9IzAwMDAwMDAwXQor
bGF5ZXIgYXQgKDIxNCwzMCkgc2l6ZSAyOHgyNgorICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQg
KDIwNiwyMikgc2l6ZSAyOHgyNiBbY29sb3I9IzAwMDAwMEQ4XSBbYmdjb2xvcj0jQzBDMEMwXSBb
Ym9yZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL21hYy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9pbWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjcxOGZj
OWVmZjMxZDg5YTU5YzUxYmYyYzJjMTY4YjI0NTYxYjFhZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvaW1hZ2VzL21hYy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sCkBAIC0w
LDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgQXR0
YWNobWVudEVsZW1lbnRFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7Cit9CitpZiAod2luZG93LmludGVybmFscykgeworIAlpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
SW1hZ2VDb250cm9sc0VuYWJsZWQodHJ1ZSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGltZyBpZD0idGFyZ2V0IiBzcmM9Ii4uL3Jlc291cmNlcy9ncmVlbi0yNTZ4MjU2LmpwZyI+
Cis8c2NyaXB0PgorCWZ1bmN0aW9uIGhhc0ltYWdlQ29udHJvbHMoZWxlbSkKKwl7CisJCWlmICh3
aW5kb3cuaW50ZXJuYWxzKQorCQkJcmV0dXJuIGludGVybmFscy5oYXNJbWFnZUNvbnRyb2xzKGVs
ZW0pOworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJanNUZXN0SXNBc3luYyA9IHRydWU7CisKKwl2
YXIgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKwl2YXIgSUQgPSBI
VE1MQXR0YWNobWVudEVsZW1lbnQuZ2V0QXR0YWNobWVudElkZW50aWZpZXIoZWxlbSk7CisKKwlz
ZXRJbnRlcnZhbCgoKSA9PiB7CisgICAgaWYgKGhhc0ltYWdlQ29udHJvbHMoZWxlbSkpCisgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworCX0sIDIwMCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMt
YmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWNhdGFsaW5hL2Zh
c3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOTI0YjI5ZDUzYzU5ZjVlOGViZjdmMzJkZDQ5NjNjMDg2MTk1NzQ1
MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFz
aWMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1s
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgODAweDYwMAotICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4
NAotICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2Ci0gICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICg4LDgpIHNpemUg
MjU2eDI1NgotICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAs
MCkgc2l6ZSAyNTZ4MjU2IFtjb2xvcj0jMDAwMDAwMDBdCi1sYXllciBhdCAoMjE1LDMwKSBzaXpl
IDI3eDI2Ci0gIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMjA3LDIyKSBzaXplIDI3eDI2IFtj
b2xvcj0jMDAwMDAwRDhdIFtiZ2NvbG9yPSNDMEMwQzBdIFtib3JkZXI6ICgycHggb3V0c2V0ICND
MEMwQzApXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBi
YTZhMDlkZjA3NGFlZTBlMTg3NDdiNDg1YmM3NzFiNzkyY2NhMzU4Li40OGU1YmQ0ZjcwYzA5MWJl
M2YzZTM4MjExZjk0MTJhNTUwZTVhZGY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtMTYsNiArMTYsNyBAQCBlZGl0aW5nL3Bhc3RlYm9hcmQvbWFjIFsg
UGFzcyBdCiBmYXN0L2RvbS9SYW5nZS9tYWMgWyBQYXNzIF0KIGZhc3Qvc2Nyb2xsaW5nL2xhdGNo
aW5nIFsgUGFzcyBdCiBtb2RlbC1lbGVtZW50IFsgUGFzcyBdCitmYXN0L2ltYWdlcy9tYWMgWyBQ
YXNzIF0KIAogIyBEaXNhYmxlIHBsdWctaW4gdGVzdHMgb24gQXBwbGUgU2lsaWNvbgogWyBhcm02
NCBdIGNvbXBvc2l0aW5nL3BsdWdpbnMgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMt
YmFzaWMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MzIxM2Ez
Y2RmOWEzMGJjOTNiYzg4NzAxMmRiNDdmM2Q0NDU2ZjVjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2lt
YWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxMSArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Ci0gICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCww
KSBzaXplIDI1NngyNTYKLSAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAotbGF5ZXIgYXQgKDgsOCkgc2l6ZSAyNTZ4MjU2Ci0gIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBw
b3NpdGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDI1NngyNTYgW2NvbG9yPSMwMDAwMDAwMF0K
LWxheWVyIGF0ICgyMTQsMzApIHNpemUgMjh4MjYKLSAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0
ICgyMDYsMjIpIHNpemUgMjh4MjYgW2NvbG9yPSMwMDAwMDBEOF0gW2JnY29sb3I9I0MwQzBDMF0g
W2JvcmRlcjogKDJweCBvdXRzZXQgI0MwQzBDMCldCg==
</data>
<flag name="commit-queue"
          id="473599"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447862</attachid>
            <date>2021-12-22 23:19:14 -0800</date>
            <delta_ts>2022-01-04 16:48:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234405-20211222231913.patch</filename>
            <type>text/plain</type>
            <size>27619</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDk3NWE5ZTc1ZDBhY2Y1
MWU2OTlhNWRjNWUwZWE0NDJjMTQ1YzU3ZC4uMjhiM2E0NTIxNzk3OWRiNGVhMjljNjllMmJhOGMw
NDBhMTAwYjVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIxLTEyLTIyICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVu
bmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1l
bnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0
MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBmYXN0L2ltYWdlcy9tYWMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbAorCisgICAgICAgICog
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
aW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAgICAg
KiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1Zh
bHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmlzSW5zaWRlSW1hZ2VDb250
cm9scyk6CisgICAgICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6CisgICAgICAgICog
aHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVs
ZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1l
bnQ6OnNldEF0dGFjaG1lbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVs
ZW1lbnQ6OnVwZGF0ZUltYWdlQ29udHJvbHMpOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxl
bWVudC5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzczoK
KyAgICAgICAgKGRpdiNpbWFnZS1jb250cm9scyBidXR0b24jaW1hZ2UtY29udHJvbHMtYnV0dG9u
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaGVtZVR5cGVzLmg6CisgICAgICAgICogcmVuZGVyaW5n
L0hpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6bm9k
ZUZvckltYWdlRGF0YSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjphdXRvQXBwZWFyYW5jZUZvckVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWU6OmlzSW1hZ2VDb250cm9sIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6aXNJbWFnZUNvbnRy
b2wgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldEFwcGVhcmFuY2UpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU3R5bGU6OnNldEVmZmVjdGl2ZUFwcGVhcmFuY2UpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmg6CisgICAgICAgICogdGVz
dGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpoYXNJbWFn
ZUNvbnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAyMS0xMi0yMCAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBBZG9wdCBDaHJvbWVDbGllbnQ6OmNs
YXNzaWZ5TW9kYWxDb250YWluZXJDb250cm9scygpIGluIE1vZGFsQ29udGFpbmVyT2JzZXJ2ZXIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdz
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCmluZGV4
IGI2OTdlZmQwZGI1YjlkN2VmYjA3MDQzZjdmMTllYjU1MjU2OTJlMmQuLjdjMmE1MmY5YjdiMDg2
YjEyNDA5MzQ1OGM3OTg4YjcwZDk0NzkwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtNjM0LDcgKzYzNCw4IEBAIHRlbXBsYXRlPD4g
aW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShDb250cm9sUGFydCBl
KQogI2VuZGlmCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAgICAgY2FzZSBJbWFnZUNv
bnRyb2xzQnV0dG9uUGFydDoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVJbnRl
cm5hbEltYWdlQ29udHJvbHNCdXR0b247CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZU5vbmU7CiAgICAgICAgIGJyZWFrOwog
I2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGll
cy5qc29uCmluZGV4IDg3NzAxODFiZjhlNGY5NjhhOWM3MWIxMjI2YjY5MzI5ZjJkNThjNzYuLmMy
NTU2YjZjZTNkY2MyMTEyOWMzZTNmZjM2MzNmMjhhZWRkMDk0YWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnRpZXMuanNvbgpAQCAtNTE3Nyw3ICs1MTc3LDYgQEAKICAgICAgICAgICAgICAg
ICAiY29udGludW91cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAg
ICJkaXNjcmV0ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAgICJy
YXRpbmctbGV2ZWwtaW5kaWNhdG9yIiwKLSAgICAgICAgICAgICAgICAiLWludGVybmFsLWltYWdl
LWNvbnRyb2xzLWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgIi1hcHBsZS1wYXktYnV0dG9uIiwK
ICAgICAgICAgICAgICAgICAidGV4dGFyZWEiLAogICAgICAgICAgICAgICAgICJhdHRhY2htZW50
IiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggMTZiYmIwYWJiMDA3
MzJmMzU0MWYyMjVjNzIwZTg2NjhjY2MxZDVmYy4uMGNhMWRhNGZkNGFiNDcyZjg1Mzc5NjQ0ZDMy
NWQ1NTlkMTM2MzMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAg
LTg5MCw5ICs4OTAsNiBAQCByZWxldmFuY3ktbGV2ZWwtaW5kaWNhdG9yCiBjb250aW51b3VzLWNh
cGFjaXR5LWxldmVsLWluZGljYXRvcgogZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9y
CiByYXRpbmctbGV2ZWwtaW5kaWNhdG9yCi0jaWYgZGVmaW5lZChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJiYgRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKLS1pbnRlcm5hbC1pbWFnZS1jb250cm9s
cy1idXR0b24KLSNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0FQUExFX1BBWSkgJiYgRU5BQkxF
X0FQUExFX1BBWQogLWFwcGxlLXBheS1idXR0b24KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwCmluZGV4IDI1Mjk3NzMxYjJmYWRkZWI1MDY1
ZmY5YmI3NmI1ODYzZDZkMWY3M2MuLjY1NDRmMjZmNTFhOTIzZWU2MzBlNzkxOGRiOTMzODZmY2E1
ZTU3ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRp
b21zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5j
cHAKQEAgLTQwLDEwICs0MCw2IEBAIGJvb2wgaXNWYWx1ZUFsbG93ZWRJbk1vZGUodW5zaWduZWQg
c2hvcnQgaWQsIENTU1BhcnNlck1vZGUgbW9kZSkKICAgICAgICAgcmV0dXJuIGlzVUFTaGVldEJl
aGF2aW9yKG1vZGUpOwogICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRGb2N1c1JpbmdDb2xvcjoKICAg
ICAgICAgcmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpIHx8IGlzUXVpcmtzTW9kZUJlaGF2
aW9yKG1vZGUpOwotI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQotICAgIGNhc2UgQ1NTVmFs
dWVJbnRlcm5hbEltYWdlQ29udHJvbHNCdXR0b246Ci0gICAgICAgIHJldHVybiBpc1VBU2hlZXRC
ZWhhdmlvcihtb2RlKTsKLSNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9s
c01hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCmlu
ZGV4IGJiODg2MWQxMDcxNDRhNTgyOWU3OTdjNTYyZDA5Njg4YmU4YjliYTIuLmQ5ZmIxMDc1MGJm
MTViNWRjM2MyOTM2Y2QwYzAwNGFlNDMyNzY4MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21h
Yy9JbWFnZUNvbnRyb2xzTWFjLmNwcApAQCAtNzMsNiArNzMsMTQgQEAgYm9vbCBpc0ltYWdlQ29u
dHJvbHNCdXR0b25FbGVtZW50KGNvbnN0IE5vZGUmIG5vZGUpCiAgICAgcmV0dXJuIGlzPEVsZW1l
bnQ+KG5vZGUpICYmIGRvd25jYXN0PEVsZW1lbnQ+KG5vZGUpLmdldElkQXR0cmlidXRlKCkgPT0g
aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIoKTsKIH0KIAorYm9vbCBpc0luc2lkZUltYWdl
Q29udHJvbHMoY29uc3QgTm9kZSYgbm9kZSkKK3sKKyAgICBSZWZQdHIgaG9zdCA9IG5vZGUuc2hh
ZG93SG9zdCgpOworICAgIGlmICghaXM8SFRNTEVsZW1lbnQ+KGhvc3QuZ2V0KCkpIHx8ICFoYXND
b250cm9scyhkb3duY2FzdDxIVE1MRWxlbWVudD4oKmhvc3QpKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIHJldHVybiBpczxFbGVtZW50Pihub2RlKSAmJiBkb3duY2FzdDxFbGVtZW50Pihu
b2RlKS5nZXRJZEF0dHJpYnV0ZSgpID09IGltYWdlQ29udHJvbHNFbGVtZW50SWRlbnRpZmllcigp
OworfQorCiB2b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQmIGVsZW1lbnQpCiB7
CiAgICAgUmVmIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1bWVudCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaAppbmRleCA2YWNiNGJmM2UyM2I3NTgwMzdkMzFkYWZk
YWNiODRjYWQzN2I4YzBlLi4xMWVmMzBiMmEwMWJhMmFjNzExOTBlMWYyZmE3OWI4MWRiOTE5MmMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaApAQCAtMzgsNiAr
MzgsNyBAQCBuYW1lc3BhY2UgSW1hZ2VDb250cm9sc01hYyB7CiAKIGJvb2wgaGFzQ29udHJvbHMo
Y29uc3QgSFRNTEVsZW1lbnQmKTsKIGJvb2wgaXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudChj
b25zdCBOb2RlJik7Citib29sIGlzSW5zaWRlSW1hZ2VDb250cm9scyhjb25zdCBOb2RlJik7CiB2
b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQmKTsKIGJvb2wgaGFuZGxlRXZlbnQo
SFRNTEVsZW1lbnQmLCBFdmVudCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVt
ZW50LmNwcAppbmRleCA3N2M5OGY1ZTA0NTk3NmY5OTdjNTg5YmExYWM0M2M1ZmRmMWFiMjgzLi45
MzlkNDU5NDYyMjA0NzhkYmEzZDljZGFiYWE3NDljZjdhNjU4ODJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJD
aHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJFZGl0b3IuaCIKICNpbmNsdWRlICJFbGVtZW50SXRl
cmF0b3IuaCIKKyNpbmNsdWRlICJFdmVudExvb3AuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgi
CiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIK
QEAgLTMxMyw4ICszMTQsNyBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpbgogICAgICAgICBpZiAo
IXBhcnNlQ29tcG9zaXRlQW5kQmxlbmRPcGVyYXRvcih2YWx1ZSwgbV9jb21wb3NpdGVPcGVyYXRv
ciwgYmxlbmRPcCkpCiAgICAgICAgICAgICBtX2NvbXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9zaXRl
T3BlcmF0b3I6OlNvdXJjZU92ZXI7CiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0gICAg
fSBlbHNlIGlmIChuYW1lID09IHdlYmtpdGltYWdlbWVudUF0dHIpIHsKLSAgICAgICAgbV9pbWFn
ZU1lbnVFbmFibGVkID0gIXZhbHVlLmlzTnVsbCgpOworICAgIH0gZWxzZSBpZiAobV9pbWFnZU1l
bnVFbmFibGVkKSB7CiAgICAgICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKICNlbmRpZgogICAg
IH0gZWxzZSBpZiAobmFtZSA9PSBsb2FkaW5nQXR0cikgewpAQCAtNzQzLDcgKzc0Myw5IEBAIHZv
aWQgSFRNTEltYWdlRWxlbWVudDo6c2V0QXR0YWNobWVudEVsZW1lbnQoUmVmPEhUTUxBdHRhY2ht
ZW50RWxlbWVudD4mJiBhdHRhY2htCiAKICAgICBhdHRhY2htZW50LT5zZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5RGlzcGxheSwgQ1NTVmFsdWVOb25lLCB0cnVlKTsKICAgICBlbnN1
cmVVc2VyQWdlbnRTaGFkb3dSb290KCkuYXBwZW5kQ2hpbGQoV1RGTW92ZShhdHRhY2htZW50KSk7
Ci0gICAgc2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbih3ZWJraXRpbWFnZW1lbnVB
dHRyLCBlbXB0eVN0cmluZygpKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBt
X2ltYWdlTWVudUVuYWJsZWQgPSB0cnVlOworI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQogfQogCiBSZWZQdHI8SFRNTEF0dGFjaG1lbnRFbGVtZW50PiBIVE1MSW1hZ2VFbGVtZW50
OjphdHRhY2htZW50RWxlbWVudCgpIGNvbnN0CkBAIC03NzUsMTEgKzc3NywxMyBAQCB2b2lkIEhU
TUxJbWFnZUVsZW1lbnQ6OnVwZGF0ZUltYWdlQ29udHJvbHMoKQogICAgICAgICByZXR1cm47CiAg
ICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkuaW1hZ2VDb250cm9sc0VuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuOwotICAgIGJvb2wgaGFzQ29udHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xzKCk7
Ci0gICAgaWYgKCFtX2ltYWdlTWVudUVuYWJsZWQgJiYgaGFzQ29udHJvbHMpCi0gICAgICAgIGRl
c3Ryb3lJbWFnZUNvbnRyb2xzKCk7Ci0gICAgZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkICYm
ICFoYXNDb250cm9scykKLSAgICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOworICAgIGRv
Y3VtZW50KCkuZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6OkludGVybmFsQXN5bmNU
YXNrLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH1dIHsKKyAgICAgICAgYm9v
bCBoYXNDb250cm9scyA9IGhhc0ltYWdlQ29udHJvbHMoKTsKKyAgICAgICAgaWYgKCFtX2ltYWdl
TWVudUVuYWJsZWQgJiYgaGFzQ29udHJvbHMpCisgICAgICAgICAgICBkZXN0cm95SW1hZ2VDb250
cm9scygpOworICAgICAgICBlbHNlIGlmIChtX2ltYWdlTWVudUVuYWJsZWQgJiYgIWhhc0NvbnRy
b2xzKQorICAgICAgICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOworICAgIH0pOwogfQog
CiB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaAppbmRleCA3ZjkxNGE1YWU0Y2Y5ZjkyMGM1MDQw
OTlhMjI1ZjlmMjQ2ZmNiMzVhLi4xZDk5ZDMyMTdiNTZmZTNjMWM1ZDBjNTU4ZDdlYjQ3M2E5ODlj
M2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaApAQCAtMTQ3LDYgKzE0
NywxMCBAQCBwdWJsaWM6CiAgICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25z
dDsKIAogICAgIGJvb2wgYWxsb3dzT3JpZW50YXRpb25PdmVycmlkZSgpIGNvbnN0OworICAgIAor
I2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaGFz
SW1hZ2VDb250cm9scygpIGNvbnN0OworI2VuZGlmCiAKIHByb3RlY3RlZDoKICAgICBIVE1MSW1h
Z2VFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYsIEhUTUxGb3JtRWxlbWVu
dCogPSBudWxscHRyKTsKQEAgLTE5Nyw3ICsyMDEsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBk
YXRlSW1hZ2VDb250cm9scygpOwogICAgIHZvaWQgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOwog
ICAgIHZvaWQgZGVzdHJveUltYWdlQ29udHJvbHMoKTsKLSAgICBib29sIGhhc0ltYWdlQ29udHJv
bHMoKSBjb25zdDsKICAgICBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9k
ZSYpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcwppbmRleCBkNWE2YWVmNDZmYmM5MjQy
MTJiYjFlODU2ZTI1NTI3YjlhYTNkNmFlLi5lMmM4Y2ZkZjlhMmI2MDM1ODgyMmRkMTQ1OTc4OTky
OGM1Yzc0YzBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvaW1h
Z2VDb250cm9sc01hYy5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2lt
YWdlQ29udHJvbHNNYWMuY3NzCkBAIC0zOSw3ICszOSw3IEBAIGRpdiNpbWFnZS1jb250cm9scyBi
dXR0b24jaW1hZ2UtY29udHJvbHMtYnV0dG9uIHsKICAgICAKICAgICBkaXNwbGF5OiBibG9jazsK
IAotICAgIGFwcGVhcmFuY2U6IC1pbnRlcm5hbC1pbWFnZS1jb250cm9scy1idXR0b247CisgICAg
YXBwZWFyYW5jZTogYXV0bzsKIAogICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7CiAgICAg
b3BhY2l0eTogMC4wOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVU
eXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oCmluZGV4IDQyYmIz
NjQ5MDU3YjQyNTEzMTE5ZjdjZTA4MGM1MmUzMGJlNzU5MGMuLmIyMTUyNTQwZWMyNWMzZDU5YzU3
MTBiZTAxOTUyNTVhZmUwOTE4NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RoZW1lVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgK
QEAgLTkxLDkgKzkxLDYgQEAgZW51bSBDb250cm9sUGFydCB7CiAgICAgQ29udGludW91c0NhcGFj
aXR5TGV2ZWxJbmRpY2F0b3JQYXJ0LAogICAgIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRv
clBhcnQsCiAgICAgUmF0aW5nTGV2ZWxJbmRpY2F0b3JQYXJ0LAotI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQotICAgIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0LAotI2VuZGlmCiAjaWYgRU5B
QkxFKEFQUExFX1BBWSkKICAgICBBcHBsZVBheUJ1dHRvblBhcnQsCiAjZW5kaWYKQEAgLTEwOCw3
ICsxMDUsMTUgQEAgZW51bSBDb250cm9sUGFydCB7CiAgICAgQXR0YWNobWVudFBhcnQsCiAgICAg
Qm9yZGVybGVzc0F0dGFjaG1lbnRQYXJ0LAogI2VuZGlmCi0gICAgQ2Fwc0xvY2tJbmRpY2F0b3JQ
YXJ0CisgICAgQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0LAorICAgIC8vIEludGVybmFsLW9ubHkgVmFs
dWVzCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgSW1hZ2VDb250cm9sc0J1dHRv
blBhcnQsCisgICAgTGFyZ2VzdENvbnRyb2xQYXJ0ID0gSW1hZ2VDb250cm9sc0J1dHRvblBhcnQK
KyNlbHNlCisgICAgTGFyZ2VzdENvbnRyb2xQYXJ0ID0gQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0Cisj
ZW5kaWYKKyAgICAKIH07CiAKIGVudW0gU2VsZWN0aW9uUGFydCB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKaW5kZXggZjZiMTFkOWQ2MjlhY2ZiZmI4Nzg2MGNi
N2I4Y2QyOGNlYmMxYjE4Yi4uODMwMjU5MTkyYzQ2MWM4MjUxYTg5MjU1Njc5MjNlMTIzNjk4ZmY0
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcApAQCAtNTQs
NiArNTQsMTAgQEAKICNpbmNsdWRlICJWaXNpYmxlVW5pdHMuaCIKICNpbmNsdWRlICJYTGlua05h
bWVzLmgiCiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyNpbmNsdWRlICJJbWFnZUNv
bnRyb2xzTWFjLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1l
c3BhY2UgSFRNTE5hbWVzOwpAQCAtMzM1LDYgKzMzOSwxMSBAQCBSZWZQdHI8Tm9kZT4gSGl0VGVz
dFJlc3VsdDo6bm9kZUZvckltYWdlRGF0YSgpIGNvbnN0CiAKICAgICBpZiAoSW1hZ2VPdmVybGF5
Ojppc0luc2lkZU92ZXJsYXkoKm1faW5uZXJOb25TaGFyZWROb2RlKSkKICAgICAgICAgcmV0dXJu
IG1faW5uZXJOb25TaGFyZWROb2RlLT5zaGFkb3dIb3N0KCk7CisgICAgCisjaWYgRU5BQkxFKFNF
UlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKEltYWdlQ29udHJvbHNNYWM6OmlzSW5zaWRlSW1hZ2VD
b250cm9scygqbV9pbm5lck5vblNoYXJlZE5vZGUpKQorICAgICAgICByZXR1cm4gbV9pbm5lck5v
blNoYXJlZE5vZGUtPnNoYWRvd0hvc3QoKTsKKyNlbmRpZgogCiAgICAgcmV0dXJuIG1faW5uZXJO
b25TaGFyZWROb2RlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAK
aW5kZXggNDU0ZTY0YzZiZmE3NWZhZmMyZWU5MWU3NWNkYzJmYzQ4ZTZjZDYwNS4uYTU0MjRkMmUz
MmFmNGJiZDYwNzllMzM3NDNiZWM1MmViMDNkM2U2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuY3BwCkBAIC01Nyw2ICs1Nyw5IEBACiAjaW5jbHVkZSA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJz
Lmg+CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyNpbmNsdWRlICJJbWFnZUNvbnRy
b2xzTWFjLmgiCisjZW5kaWYKIAogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogI2luY2x1
ZGUgIkhUTUxEYXRhTGlzdEVsZW1lbnQuaCIKQEAgLTI5Niw2ICsyOTksMTAgQEAgQ29udHJvbFBh
cnQgUmVuZGVyVGhlbWU6OmF1dG9BcHBlYXJhbmNlRm9yRWxlbWVudChjb25zdCBFbGVtZW50KiBl
bGVtZW50UHRyKSBjb24KICAgICBpZiAoIWVsZW1lbnRQdHIpCiAgICAgICAgIHJldHVybiBOb0Nv
bnRyb2xQYXJ0OwogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKGlzSW1h
Z2VDb250cm9sKGVsZW1lbnRQdHIpKQorICAgICAgICByZXR1cm4gSW1hZ2VDb250cm9sc0J1dHRv
blBhcnQ7CisjZW5kaWYKICAgICBSZWYgZWxlbWVudCA9ICplbGVtZW50UHRyOwogCiAgICAgaWYg
KGlzPEhUTUxJbnB1dEVsZW1lbnQ+KGVsZW1lbnQpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oCmluZGV4IDhlZjMwMGZjYzczNTlhNGZiYjBjMWRjNTQ2MGE5ODM3OWIxOThk
OGEuLmFhNGQ0OTgzYzc3ZGEyNDdkNDA4NTIxNDQ3Y2FmNzE3OTM0ZWRiNjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0zNjcsNiArMzY3LDcgQEAgcHJvdGVjdGVk
OgogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RJ
bWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29u
c3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50SW1hZ2VDb250cm9sc0J1dHRvbihjb25zdCBSZW5k
ZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgeyByZXR1cm4gdHJ1
ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc0ltYWdlQ29udHJvbChjb25zdCBFbGVtZW50KikgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFBy
b2dyZXNzQmFyU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4IGEwM2UxZjVjOTE2OWM2
ZWY2NWUzZDQ2MTg3Y2FmMWUxNmZlMTlkZjYuLjkyODIyZmMyOGJhMDAwMDNhODlhMGQ3Yzg5ODY2
M2RjMzZjMTE1NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5o
CkBAIC0yMTYsNiArMjE2LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKICAgICBib29sIHBhaW50SW1hZ2VDb250cm9sc0J1dHRvbihjb25zdCBSZW5kZXJPYmplY3Qm
LCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgZmluYWw7CiAgICAgSW50U2l6ZSBp
bWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgaXNJbWFnZUNv
bnRyb2woY29uc3QgRWxlbWVudCopIGNvbnN0IGZpbmFsOwogCiAgICAgTlNTZXJ2aWNlc1JvbGxv
dmVyQnV0dG9uQ2VsbCAqc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKSBjb25zdDsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCmluZGV4IDk2NDg1
NjEwYWZhMDJjMWNlYjUxOGE1MmViMzIwMTcxMWI5OGU2MDcuLmNhOGI3NDU4NGVhNTI1MGQ2NDdl
MjIwNWU2MjA5NTc1MTgxYWMwNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVNYWMubW0KQEAgLTgzLDYgKzgzLDEwIEBACiAjaW1wb3J0IDx3dGYvU3RkTGliRXh0cmFz
Lmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisjZW5kaWYKKwog
Ly8gRklYTUU6IFRoaXMgc2hvdWxkIGdvIGludG8gYW4gU1BJLmggZmlsZSBpbiB0aGUgc3BpIGRp
cmVjdG9yeS4KIEBpbnRlcmZhY2UgTlNUZXh0RmllbGRDZWxsICgpCiAtIChDRkRpY3Rpb25hcnlS
ZWYpX2NvcmVVSURyYXdPcHRpb25zV2l0aEZyYW1lOihOU1JlY3QpY2VsbEZyYW1lIGluVmlldzoo
TlNWaWV3ICopY29udHJvbFZpZXcgaW5jbHVkZUZvY3VzOihCT09MKWluY2x1ZGVGb2N1czsKQEAg
LTIzMDksNiArMjMxMywxMyBAQCBJbnRTaXplIFJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xz
QnV0dG9uU2l6ZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIEludFNpemUoc2VydmljZXNSb2xsb3Zl
ckJ1dHRvbkNlbGwoKS5jZWxsU2l6ZSk7CiB9CisKK2Jvb2wgUmVuZGVyVGhlbWVNYWM6OmlzSW1h
Z2VDb250cm9sKGNvbnN0IEVsZW1lbnQqIGVsZW1lbnRQdHIpIGNvbnN0Cit7CisgICAgaWYgKElt
YWdlQ29udHJvbHNNYWM6OmlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoKmVsZW1lbnRQdHIp
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CiAjZW5kaWYKIAog
I2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGRjZThkYjJiODdmOGVlMTFjOWMyZTJlYzhlMzI1
Mzc3ZjgwOWM0ZTYuLmZjMmQyY2NmNjgxNTZkZWU1NzU0M2VlNzg2NjBjYjcwNDFlYzVmODIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0xMTQx
LDggKzExNDEsMTcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QWNjZW50Q29sb3IoY29uc3QgQ29s
b3ImIGMpIHsgU0VUX1ZBUihtX3JhcmVJbmhlcml0ZWREYXRhLCBhY2NlbnRDb2xvciwgYyk7IFNF
VF9WQVIobV9yYXJlSW5oZXJpdGVkRGF0YSwgaGFzQXV0b0FjY2VudENvbG9yLCBmYWxzZSk7ICB9
CiAgICAgdm9pZCBzZXRIYXNBdXRvQWNjZW50Q29sb3IoKSB7IFNFVF9WQVIobV9yYXJlSW5oZXJp
dGVkRGF0YSwgaGFzQXV0b0FjY2VudENvbG9yLCB0cnVlKTsgU0VUX1ZBUihtX3JhcmVJbmhlcml0
ZWREYXRhLCBhY2NlbnRDb2xvciwgY3VycmVudENvbG9yKCkpOyB9CiAgICAgdm9pZCBzZXRPcGFj
aXR5KGZsb2F0IGYpIHsgZmxvYXQgdiA9IGNsYW1wVG88ZmxvYXQ+KGYsIDAuZiwgMS5mKTsgU0VU
X1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBvcGFjaXR5LCB2KTsgfQotICAgIHZvaWQgc2V0
QXBwZWFyYW5jZShDb250cm9sUGFydCBhKSB7IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0
YSwgYXBwZWFyYW5jZSwgYSk7IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZWZmZWN0
aXZlQXBwZWFyYW5jZSwgYSk7IH0KLSAgICB2b2lkIHNldEVmZmVjdGl2ZUFwcGVhcmFuY2UoQ29u
dHJvbFBhcnQgYSkgeyBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGVmZmVjdGl2ZUFw
cGVhcmFuY2UsIGEpOyB9CisgICAgdm9pZCBzZXRBcHBlYXJhbmNlKENvbnRyb2xQYXJ0IGEpCisg
ICAgeworICAgICAgICBzdGF0aWNfYXNzZXJ0KExhcmdlc3RDb250cm9sUGFydCA8IDEgPDwgQVBQ
RUFSQU5DRV9CSVRfV0lEVEgsICJDb250cm9sIHBhcnQgbXVzdCBmaXQgaW4gc3RvcmFnZSBiaXRz
Iik7CisgICAgICAgIFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgYXBwZWFyYW5jZSwg
YSk7CisgICAgICAgIFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZWZmZWN0aXZlQXBw
ZWFyYW5jZSwgYSk7CisgICAgfQorICAgIHZvaWQgc2V0RWZmZWN0aXZlQXBwZWFyYW5jZShDb250
cm9sUGFydCBhKQorICAgIHsKKyAgICAgICAgc3RhdGljX2Fzc2VydChMYXJnZXN0Q29udHJvbFBh
cnQgPCAxIDw8IEFQUEVBUkFOQ0VfQklUX1dJRFRILCAiQ29udHJvbCBwYXJ0IG11c3QgZml0IGlu
IHN0b3JhZ2UgYml0cyIpOworICAgICAgICBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEs
IGVmZmVjdGl2ZUFwcGVhcmFuY2UsIGEpOworICAgIH0KICAgICAvLyBGb3IgdmFsaWQgdmFsdWVz
IG9mIGJveC1hbGlnbiBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOS9XRC1jc3MzLWZsZXhi
b3gtMjAwOTA3MjMvI2FsaWdubWVudAogICAgIHZvaWQgc2V0Qm94QWxpZ24oQm94QWxpZ25tZW50
IGEpIHsgU0VUX05FU1RFRF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZGVwcmVjYXRlZEZs
ZXhpYmxlQm94LCBhbGlnbiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGEpKTsgfQogICAgIHZvaWQg
c2V0Qm94RGlyZWN0aW9uKEJveERpcmVjdGlvbiBkKSB7IG1faW5oZXJpdGVkRmxhZ3MuYm94RGly
ZWN0aW9uID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGQpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaApp
bmRleCA2NzhlNDgxMDlhOTYwZTA2ODZjNGFmYjFmZGQ5YWJlZTdhNmU3Y2NhLi4yMGJkZGY0MGJl
ZDRlNDZlZjJhY2M3M2I3ZTU3OTdhMjQwNDhlYWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKQEAg
LTY2LDYgKzY2LDggQEAgY2xhc3MgU3R5bGVUcmFuc2Zvcm1EYXRhOwogCiBzdHJ1Y3QgTGVuZ3Ro
U2l6ZTsKIAorI2RlZmluZSBBUFBFQVJBTkNFX0JJVF9XSURUSCA3CisKIC8vIFBhZ2Ugc2l6ZSB0
eXBlLgogLy8gU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6cGFnZVNpemUgaXMgbWVhbmluZ2Z1
bCBvbmx5IHdoZW4KIC8vIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OnBhZ2VTaXplVHlwZSBp
cyBQQUdFX1NJWkVfUkVTT0xWRUQuCkBAIC0yMDIsOCArMjA0LDggQEAgcHVibGljOgogICAgIHVu
c2lnbmVkIHVzZVNtb290aFNjcm9sbGluZyA6IDE7IC8vIFNjcm9sbEJlaGF2aW9yCiAgICAgdW5z
aWduZWQgbWFyZ2luQmVmb3JlQ29sbGFwc2UgOiAyOyAvLyBNYXJnaW5Db2xsYXBzZQogICAgIHVu
c2lnbmVkIG1hcmdpbkFmdGVyQ29sbGFwc2UgOiAyOyAvLyBNYXJnaW5Db2xsYXBzZQotICAgIHVu
c2lnbmVkIGFwcGVhcmFuY2UgOiA2OyAvLyBFQXBwZWFyYW5jZQotICAgIHVuc2lnbmVkIGVmZmVj
dGl2ZUFwcGVhcmFuY2UgOiA2OyAvLyBFQXBwZWFyYW5jZQorICAgIHVuc2lnbmVkIGFwcGVhcmFu
Y2UgOiBBUFBFQVJBTkNFX0JJVF9XSURUSDsgLy8gRUFwcGVhcmFuY2UKKyAgICB1bnNpZ25lZCBl
ZmZlY3RpdmVBcHBlYXJhbmNlIDogQVBQRUFSQU5DRV9CSVRfV0lEVEg7IC8vIEVBcHBlYXJhbmNl
CiAgICAgdW5zaWduZWQgYm9yZGVyRml0IDogMTsgLy8gQm9yZGVyRml0CiAgICAgdW5zaWduZWQg
dGV4dENvbWJpbmUgOiAxOyAvLyBDU1MzIHRleHQtY29tYmluZSBwcm9wZXJ0aWVzCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBkOGQ3MTRhY2YyNTVjYTcxZGU4MmU5MDgy
Nzg5YzMzZGM5OThhNzRhLi41NDAyMTg3NjM4MTljMTk4NzFlNTdhZGQ2YzlkZTQwZmI2YzlkZDZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC02Mzk3LDcgKzYzOTcsMTQg
QEAgRXhjZXB0aW9uT3I8SW50ZXJuYWxzOjpBdHRhY2htZW50VGh1bWJuYWlsSW5mbz4gSW50ZXJu
YWxzOjphdHRhY2htZW50VGh1bWJuYWlsSW4KICNlbmRpZgogfQogCi0jZW5kaWYKKyNpZiBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKK2Jvb2wgSW50ZXJuYWxzOjpoYXNJbWFnZUNvbnRyb2xzKGNv
bnN0IEhUTUxJbWFnZUVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGVsZW1l
bnQuaGFzSW1hZ2VDb250cm9scygpOworfQorI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorCisjZW5kaWYgLy8gRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKIAogI2lmIEVOQUJM
RShNRURJQV9TRVNTSU9OKQogRXhjZXB0aW9uT3I8ZG91YmxlPiBJbnRlcm5hbHM6OmN1cnJlbnRN
ZWRpYVNlc3Npb25Qb3NpdGlvbihjb25zdCBNZWRpYVNlc3Npb24mIHNlc3Npb24pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBmYmMxMjE5NTFlYTM5ZGQxNDhkNzVhZTIzNzc2NDg4
MGYwYjNlMWQ1Li4xMDI3OGY2ODUzZWViMjY0MjkwNmZmOGJmOWQxMDAwNDIxNzAyYmVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTExODQsNyArMTE4NCwxMCBAQCBwdWJsaWM6
CiAgICAgfTsKIAogICAgIEV4Y2VwdGlvbk9yPEF0dGFjaG1lbnRUaHVtYm5haWxJbmZvPiBhdHRh
Y2htZW50VGh1bWJuYWlsSW5mbyhjb25zdCBIVE1MQXR0YWNobWVudEVsZW1lbnQmKTsKLSNlbmRp
ZgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGJvb2wgaGFzSW1hZ2VDb250cm9s
cyhjb25zdCBIVE1MSW1hZ2VFbGVtZW50JikgY29uc3Q7CisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJ
Q0VfQ09OVFJPTFMpCisjZW5kaWYgLy8gRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKIAogI2lm
IEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIEV4Y2VwdGlvbk9yPGRvdWJsZT4gY3VycmVudE1l
ZGlhU2Vzc2lvblBvc2l0aW9uKGNvbnN0IE1lZGlhU2Vzc2lvbiYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsCmluZGV4IDIzNGMyMzYyNmMwNGUxZmNkMmEyZTVjYzJhNDQ5NTEyYjM2
ZWZhZGYuLmMzZTRiYzcyMmUzODNiOGNlYzc4ODhlY2RkOTUzMDI3ZDQ1ZDdlMDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTEwNzEsNiArMTA3MSw3IEBAIGVudW0gSEVW
Q1BhcmFtZXRlckNvZGVjIHsKICAgICB1bmRlZmluZWQgc2V0Q29udGVudFNpemVDYXRlZ29yeShD
b250ZW50U2l6ZUNhdGVnb3J5IGNhdGVnb3J5KTsKIAogICAgIFtDb25kaXRpb25hbD1BVFRBQ0hN
RU5UX0VMRU1FTlRdIEF0dGFjaG1lbnRUaHVtYm5haWxJbmZvIGF0dGFjaG1lbnRUaHVtYm5haWxJ
bmZvKEhUTUxBdHRhY2htZW50RWxlbWVudCBlbGVtZW50KTsKKyAgICBbQ29uZGl0aW9uYWw9QVRU
QUNITUVOVF9FTEVNRU5ULCBDb25kaXRpb25hbD1TRVJWSUNFX0NPTlRST0xTXSBib29sZWFuIGhh
c0ltYWdlQ29udHJvbHMoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50KTsKIAogICAgIFtDb25kaXRp
b25hbD1NRURJQV9TRVNTSU9OXSBkb3VibGUgY3VycmVudE1lZGlhU2Vzc2lvblBvc2l0aW9uKE1l
ZGlhU2Vzc2lvbiBzZXNzaW9uKTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU0VTU0lPTl0gdW5k
ZWZpbmVkIHNlbmRNZWRpYVNlc3Npb25BY3Rpb24oTWVkaWFTZXNzaW9uIHNlc3Npb24sIE1lZGlh
U2Vzc2lvbkFjdGlvbkRldGFpbHMgYWN0aW9uRGV0YWlscyk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTkxMDc3MWQyODc1
Zjc2NDQyN2NlZDJiMTg4NzU3NDkyYzdmY2JlZC4uN2JlZmYzYWE5OTUxMWJkYjA3ZDE2NTkyMzZk
MmM5ZjNiNDkxOWZlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEyLTIyICBNZWdhbiBH
YXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVubmVl
ZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1lbnUu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0MDUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBuZWVk
IHRvIG1vdmUgdGhpcyB0ZXN0IHRvIGJlIGEgbWFjIHNwZWNpZmljIG9uZSwgYXMgaXQgbm93IGhh
cyBtYWMgc3BlY2lmaWMgCisgICAgICAgIHRlc3QgaGFybmVzc2luZy4KKworICAgICAgICAqIFRl
c3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFz
aWMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvaW1hZ2VzL2ltYWdlLWNv
bnRyb2xzLWJhc2ljLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvbWFjL2lt
YWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQuCisgICAgICAgICogZmFzdC9pbWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9pbWFn
ZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBl
Y3RhdGlvbnM6CisKIDIwMjEtMTItMjAgIEFyY2FkeSBHb2xkbWludHMtT3Jsb3YgIDxhZ29sZG1p
bnRzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dMSUJdIFVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9u
cyBmb3Igc29tZSBmYXN0L2JveC1zaGFkb3cgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1
MWFjOTMzNjUzYzNjNmZhODNjMzA5NDYwMGQ5N2Y5Yjk0NDQ2YjY0Li4wZjg4ODZiYzgwM2YzMDM2
OWRlNTY1ZjNiYzgyZThmYzU0ODE4NTdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQwLDYgKzQw
LDcgQEAgZmFzdC9mb3Jtcy9zZWxlY3QvbWFjLXdrMiBbIFNraXAgXQogZmFzdC9mb3Jtcy90ZXh0
YXJlYS9pb3MgWyBTa2lwIF0KIGZhc3QvZm9ybXMvd2F0Y2hvcyBbIFNraXAgXQogZmFzdC9pbWFn
ZXMvdGV4dC1yZWNvZ25pdGlvbiBbIFNraXAgXQorZmFzdC9pbWFnZXMvbWFjIFsgU2tpcCBdCiBm
YXN0L3NhbmRib3gvaW9zIFsgU2tpcCBdCiBmYXN0L3NhbmRib3gvbWFjIFsgU2tpcCBdCiBmYXN0
L3ZpZXdwb3J0L3dhdGNob3MgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
aW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNTliNzVkNzZhMDQ4YWI0MDE1YmUwMmFlNjY3NDdhMmI4NTEyZGRi
ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCi0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5k
ZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlckltYWdlIHtJ
TUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1j
b250cm9scy1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJv
bHMtYmFzaWMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjRkMDVmMzViNGI2
MWNkNDdlYWM1ZmM0MTAzZmYzNDJiYWZmMjA0MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9s
cy1iYXNpYy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0gPHNjcmlwdD4KLWlm
ICh3aW5kb3cuaW50ZXJuYWxzKQotCWludGVybmFscy5zZXR0aW5ncy5zZXRJbWFnZUNvbnRyb2xz
RW5hYmxlZCh0cnVlKTsKLQotPC9zY3JpcHQ+Ci08Ym9keT4KLTxpbWcgc3JjPSJyZXNvdXJjZXMv
Z3JlZW4tMjU2eDI1Ni5qcGciIHgtd2Via2l0LWltYWdlbWVudT4KLTwvYm9keT4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9t
YWMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9p
bWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
YTljMTFhMmFhZTVjMTQwODY3Zjg5YjBkZmRjOWEzNzM2M2I0OGI5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDI3NgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4Mjc2CisgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MjYwCisgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CitsYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NiBbY29sb3I9IzAwMDAwMDAwXQor
bGF5ZXIgYXQgKDIxNSwzMCkgc2l6ZSAyN3gyNgorICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQg
KDIwNywyMikgc2l6ZSAyN3gyNiBbY29sb3I9IzAwMDAwMEQ4XSBbYmdjb2xvcj0jQzBDMEMwXSBb
Ym9yZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL21hYy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9pbWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjcxOGZj
OWVmZjMxZDg5YTU5YzUxYmYyYzJjMTY4YjI0NTYxYjFhZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvaW1hZ2VzL21hYy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sCkBAIC0w
LDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgQXR0
YWNobWVudEVsZW1lbnRFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7Cit9CitpZiAod2luZG93LmludGVybmFscykgeworIAlpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
SW1hZ2VDb250cm9sc0VuYWJsZWQodHJ1ZSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGltZyBpZD0idGFyZ2V0IiBzcmM9Ii4uL3Jlc291cmNlcy9ncmVlbi0yNTZ4MjU2LmpwZyI+
Cis8c2NyaXB0PgorCWZ1bmN0aW9uIGhhc0ltYWdlQ29udHJvbHMoZWxlbSkKKwl7CisJCWlmICh3
aW5kb3cuaW50ZXJuYWxzKQorCQkJcmV0dXJuIGludGVybmFscy5oYXNJbWFnZUNvbnRyb2xzKGVs
ZW0pOworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJanNUZXN0SXNBc3luYyA9IHRydWU7CisKKwl2
YXIgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKwl2YXIgSUQgPSBI
VE1MQXR0YWNobWVudEVsZW1lbnQuZ2V0QXR0YWNobWVudElkZW50aWZpZXIoZWxlbSk7CisKKwlz
ZXRJbnRlcnZhbCgoKSA9PiB7CisgICAgaWYgKGhhc0ltYWdlQ29udHJvbHMoZWxlbSkpCisgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworCX0sIDIwMCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMt
YmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWNhdGFsaW5hL2Zh
c3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOTI0YjI5ZDUzYzU5ZjVlOGViZjdmMzJkZDQ5NjNjMDg2MTk1NzQ1
MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFz
aWMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1s
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgODAweDYwMAotICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4
NAotICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2Ci0gICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICg4LDgpIHNpemUg
MjU2eDI1NgotICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAs
MCkgc2l6ZSAyNTZ4MjU2IFtjb2xvcj0jMDAwMDAwMDBdCi1sYXllciBhdCAoMjE1LDMwKSBzaXpl
IDI3eDI2Ci0gIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMjA3LDIyKSBzaXplIDI3eDI2IFtj
b2xvcj0jMDAwMDAwRDhdIFtiZ2NvbG9yPSNDMEMwQzBdIFtib3JkZXI6ICgycHggb3V0c2V0ICND
MEMwQzApXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBi
YTZhMDlkZjA3NGFlZTBlMTg3NDdiNDg1YmM3NzFiNzkyY2NhMzU4Li40OGU1YmQ0ZjcwYzA5MWJl
M2YzZTM4MjExZjk0MTJhNTUwZTVhZGY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtMTYsNiArMTYsNyBAQCBlZGl0aW5nL3Bhc3RlYm9hcmQvbWFjIFsg
UGFzcyBdCiBmYXN0L2RvbS9SYW5nZS9tYWMgWyBQYXNzIF0KIGZhc3Qvc2Nyb2xsaW5nL2xhdGNo
aW5nIFsgUGFzcyBdCiBtb2RlbC1lbGVtZW50IFsgUGFzcyBdCitmYXN0L2ltYWdlcy9tYWMgWyBQ
YXNzIF0KIAogIyBEaXNhYmxlIHBsdWctaW4gdGVzdHMgb24gQXBwbGUgU2lsaWNvbgogWyBhcm02
NCBdIGNvbXBvc2l0aW5nL3BsdWdpbnMgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMt
YmFzaWMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MzIxM2Ez
Y2RmOWEzMGJjOTNiYzg4NzAxMmRiNDdmM2Q0NDU2ZjVjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2lt
YWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxMSArMCwwIEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Ci0gICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCww
KSBzaXplIDI1NngyNTYKLSAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAotbGF5ZXIgYXQgKDgsOCkgc2l6ZSAyNTZ4MjU2Ci0gIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBw
b3NpdGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDI1NngyNTYgW2NvbG9yPSMwMDAwMDAwMF0K
LWxheWVyIGF0ICgyMTQsMzApIHNpemUgMjh4MjYKLSAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0
ICgyMDYsMjIpIHNpemUgMjh4MjYgW2NvbG9yPSMwMDAwMDBEOF0gW2JnY29sb3I9I0MwQzBDMF0g
W2JvcmRlcjogKDJweCBvdXRzZXQgI0MwQzBDMCldCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447880</attachid>
            <date>2021-12-23 08:33:45 -0800</date>
            <delta_ts>2022-01-04 16:48:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234405-20211223083344.patch</filename>
            <type>text/plain</type>
            <size>28590</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDk3NWE5ZTc1ZDBhY2Y1
MWU2OTlhNWRjNWUwZWE0NDJjMTQ1YzU3ZC4uMjhiM2E0NTIxNzk3OWRiNGVhMjljNjllMmJhOGMw
NDBhMTAwYjVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIxLTEyLTIyICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVu
bmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1l
bnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0
MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBmYXN0L2ltYWdlcy9tYWMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbAorCisgICAgICAgICog
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
aW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAgICAg
KiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1Zh
bHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmlzSW5zaWRlSW1hZ2VDb250
cm9scyk6CisgICAgICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6CisgICAgICAgICog
aHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVs
ZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1l
bnQ6OnNldEF0dGFjaG1lbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVs
ZW1lbnQ6OnVwZGF0ZUltYWdlQ29udHJvbHMpOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxl
bWVudC5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzczoK
KyAgICAgICAgKGRpdiNpbWFnZS1jb250cm9scyBidXR0b24jaW1hZ2UtY29udHJvbHMtYnV0dG9u
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaGVtZVR5cGVzLmg6CisgICAgICAgICogcmVuZGVyaW5n
L0hpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6bm9k
ZUZvckltYWdlRGF0YSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjphdXRvQXBwZWFyYW5jZUZvckVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWU6OmlzSW1hZ2VDb250cm9sIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6aXNJbWFnZUNvbnRy
b2wgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldEFwcGVhcmFuY2UpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU3R5bGU6OnNldEVmZmVjdGl2ZUFwcGVhcmFuY2UpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmg6CisgICAgICAgICogdGVz
dGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpoYXNJbWFn
ZUNvbnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAyMS0xMi0yMCAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBBZG9wdCBDaHJvbWVDbGllbnQ6OmNs
YXNzaWZ5TW9kYWxDb250YWluZXJDb250cm9scygpIGluIE1vZGFsQ29udGFpbmVyT2JzZXJ2ZXIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdz
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCmluZGV4
IGI2OTdlZmQwZGI1YjlkN2VmYjA3MDQzZjdmMTllYjU1MjU2OTJlMmQuLjdjMmE1MmY5YjdiMDg2
YjEyNDA5MzQ1OGM3OTg4YjcwZDk0NzkwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtNjM0LDcgKzYzNCw4IEBAIHRlbXBsYXRlPD4g
aW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShDb250cm9sUGFydCBl
KQogI2VuZGlmCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAgICAgY2FzZSBJbWFnZUNv
bnRyb2xzQnV0dG9uUGFydDoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVJbnRl
cm5hbEltYWdlQ29udHJvbHNCdXR0b247CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZU5vbmU7CiAgICAgICAgIGJyZWFrOwog
I2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGll
cy5qc29uCmluZGV4IDg3NzAxODFiZjhlNGY5NjhhOWM3MWIxMjI2YjY5MzI5ZjJkNThjNzYuLmMy
NTU2YjZjZTNkY2MyMTEyOWMzZTNmZjM2MzNmMjhhZWRkMDk0YWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnRpZXMuanNvbgpAQCAtNTE3Nyw3ICs1MTc3LDYgQEAKICAgICAgICAgICAgICAg
ICAiY29udGludW91cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAg
ICJkaXNjcmV0ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAgICJy
YXRpbmctbGV2ZWwtaW5kaWNhdG9yIiwKLSAgICAgICAgICAgICAgICAiLWludGVybmFsLWltYWdl
LWNvbnRyb2xzLWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgIi1hcHBsZS1wYXktYnV0dG9uIiwK
ICAgICAgICAgICAgICAgICAidGV4dGFyZWEiLAogICAgICAgICAgICAgICAgICJhdHRhY2htZW50
IiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggMTZiYmIwYWJiMDA3
MzJmMzU0MWYyMjVjNzIwZTg2NjhjY2MxZDVmYy4uMGNhMWRhNGZkNGFiNDcyZjg1Mzc5NjQ0ZDMy
NWQ1NTlkMTM2MzMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAg
LTg5MCw5ICs4OTAsNiBAQCByZWxldmFuY3ktbGV2ZWwtaW5kaWNhdG9yCiBjb250aW51b3VzLWNh
cGFjaXR5LWxldmVsLWluZGljYXRvcgogZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9y
CiByYXRpbmctbGV2ZWwtaW5kaWNhdG9yCi0jaWYgZGVmaW5lZChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJiYgRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKLS1pbnRlcm5hbC1pbWFnZS1jb250cm9s
cy1idXR0b24KLSNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0FQUExFX1BBWSkgJiYgRU5BQkxF
X0FQUExFX1BBWQogLWFwcGxlLXBheS1idXR0b24KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwCmluZGV4IDI1Mjk3NzMxYjJmYWRkZWI1MDY1
ZmY5YmI3NmI1ODYzZDZkMWY3M2MuLjY1NDRmMjZmNTFhOTIzZWU2MzBlNzkxOGRiOTMzODZmY2E1
ZTU3ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRp
b21zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5j
cHAKQEAgLTQwLDEwICs0MCw2IEBAIGJvb2wgaXNWYWx1ZUFsbG93ZWRJbk1vZGUodW5zaWduZWQg
c2hvcnQgaWQsIENTU1BhcnNlck1vZGUgbW9kZSkKICAgICAgICAgcmV0dXJuIGlzVUFTaGVldEJl
aGF2aW9yKG1vZGUpOwogICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRGb2N1c1JpbmdDb2xvcjoKICAg
ICAgICAgcmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpIHx8IGlzUXVpcmtzTW9kZUJlaGF2
aW9yKG1vZGUpOwotI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQotICAgIGNhc2UgQ1NTVmFs
dWVJbnRlcm5hbEltYWdlQ29udHJvbHNCdXR0b246Ci0gICAgICAgIHJldHVybiBpc1VBU2hlZXRC
ZWhhdmlvcihtb2RlKTsKLSNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9s
c01hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCmlu
ZGV4IGJiODg2MWQxMDcxNDRhNTgyOWU3OTdjNTYyZDA5Njg4YmU4YjliYTIuLmQ5ZmIxMDc1MGJm
MTViNWRjM2MyOTM2Y2QwYzAwNGFlNDMyNzY4MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21h
Yy9JbWFnZUNvbnRyb2xzTWFjLmNwcApAQCAtNzMsNiArNzMsMTQgQEAgYm9vbCBpc0ltYWdlQ29u
dHJvbHNCdXR0b25FbGVtZW50KGNvbnN0IE5vZGUmIG5vZGUpCiAgICAgcmV0dXJuIGlzPEVsZW1l
bnQ+KG5vZGUpICYmIGRvd25jYXN0PEVsZW1lbnQ+KG5vZGUpLmdldElkQXR0cmlidXRlKCkgPT0g
aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIoKTsKIH0KIAorYm9vbCBpc0luc2lkZUltYWdl
Q29udHJvbHMoY29uc3QgTm9kZSYgbm9kZSkKK3sKKyAgICBSZWZQdHIgaG9zdCA9IG5vZGUuc2hh
ZG93SG9zdCgpOworICAgIGlmICghaXM8SFRNTEVsZW1lbnQ+KGhvc3QuZ2V0KCkpIHx8ICFoYXND
b250cm9scyhkb3duY2FzdDxIVE1MRWxlbWVudD4oKmhvc3QpKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIHJldHVybiBpczxFbGVtZW50Pihub2RlKSAmJiBkb3duY2FzdDxFbGVtZW50Pihu
b2RlKS5nZXRJZEF0dHJpYnV0ZSgpID09IGltYWdlQ29udHJvbHNFbGVtZW50SWRlbnRpZmllcigp
OworfQorCiB2b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQmIGVsZW1lbnQpCiB7
CiAgICAgUmVmIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1bWVudCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaAppbmRleCA2YWNiNGJmM2UyM2I3NTgwMzdkMzFkYWZk
YWNiODRjYWQzN2I4YzBlLi4xMWVmMzBiMmEwMWJhMmFjNzExOTBlMWYyZmE3OWI4MWRiOTE5MmMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaApAQCAtMzgsNiAr
MzgsNyBAQCBuYW1lc3BhY2UgSW1hZ2VDb250cm9sc01hYyB7CiAKIGJvb2wgaGFzQ29udHJvbHMo
Y29uc3QgSFRNTEVsZW1lbnQmKTsKIGJvb2wgaXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudChj
b25zdCBOb2RlJik7Citib29sIGlzSW5zaWRlSW1hZ2VDb250cm9scyhjb25zdCBOb2RlJik7CiB2
b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQmKTsKIGJvb2wgaGFuZGxlRXZlbnQo
SFRNTEVsZW1lbnQmLCBFdmVudCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVt
ZW50LmNwcAppbmRleCA3N2M5OGY1ZTA0NTk3NmY5OTdjNTg5YmExYWM0M2M1ZmRmMWFiMjgzLi45
MzlkNDU5NDYyMjA0NzhkYmEzZDljZGFiYWE3NDljZjdhNjU4ODJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJD
aHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJFZGl0b3IuaCIKICNpbmNsdWRlICJFbGVtZW50SXRl
cmF0b3IuaCIKKyNpbmNsdWRlICJFdmVudExvb3AuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgi
CiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIK
QEAgLTMxMyw4ICszMTQsNyBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpbgogICAgICAgICBpZiAo
IXBhcnNlQ29tcG9zaXRlQW5kQmxlbmRPcGVyYXRvcih2YWx1ZSwgbV9jb21wb3NpdGVPcGVyYXRv
ciwgYmxlbmRPcCkpCiAgICAgICAgICAgICBtX2NvbXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9zaXRl
T3BlcmF0b3I6OlNvdXJjZU92ZXI7CiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0gICAg
fSBlbHNlIGlmIChuYW1lID09IHdlYmtpdGltYWdlbWVudUF0dHIpIHsKLSAgICAgICAgbV9pbWFn
ZU1lbnVFbmFibGVkID0gIXZhbHVlLmlzTnVsbCgpOworICAgIH0gZWxzZSBpZiAobV9pbWFnZU1l
bnVFbmFibGVkKSB7CiAgICAgICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKICNlbmRpZgogICAg
IH0gZWxzZSBpZiAobmFtZSA9PSBsb2FkaW5nQXR0cikgewpAQCAtNzQzLDcgKzc0Myw5IEBAIHZv
aWQgSFRNTEltYWdlRWxlbWVudDo6c2V0QXR0YWNobWVudEVsZW1lbnQoUmVmPEhUTUxBdHRhY2ht
ZW50RWxlbWVudD4mJiBhdHRhY2htCiAKICAgICBhdHRhY2htZW50LT5zZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5RGlzcGxheSwgQ1NTVmFsdWVOb25lLCB0cnVlKTsKICAgICBlbnN1
cmVVc2VyQWdlbnRTaGFkb3dSb290KCkuYXBwZW5kQ2hpbGQoV1RGTW92ZShhdHRhY2htZW50KSk7
Ci0gICAgc2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbih3ZWJraXRpbWFnZW1lbnVB
dHRyLCBlbXB0eVN0cmluZygpKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBt
X2ltYWdlTWVudUVuYWJsZWQgPSB0cnVlOworI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQogfQogCiBSZWZQdHI8SFRNTEF0dGFjaG1lbnRFbGVtZW50PiBIVE1MSW1hZ2VFbGVtZW50
OjphdHRhY2htZW50RWxlbWVudCgpIGNvbnN0CkBAIC03NzUsMTEgKzc3NywxMyBAQCB2b2lkIEhU
TUxJbWFnZUVsZW1lbnQ6OnVwZGF0ZUltYWdlQ29udHJvbHMoKQogICAgICAgICByZXR1cm47CiAg
ICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkuaW1hZ2VDb250cm9sc0VuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuOwotICAgIGJvb2wgaGFzQ29udHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xzKCk7
Ci0gICAgaWYgKCFtX2ltYWdlTWVudUVuYWJsZWQgJiYgaGFzQ29udHJvbHMpCi0gICAgICAgIGRl
c3Ryb3lJbWFnZUNvbnRyb2xzKCk7Ci0gICAgZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkICYm
ICFoYXNDb250cm9scykKLSAgICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOworICAgIGRv
Y3VtZW50KCkuZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6OkludGVybmFsQXN5bmNU
YXNrLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH1dIHsKKyAgICAgICAgYm9v
bCBoYXNDb250cm9scyA9IGhhc0ltYWdlQ29udHJvbHMoKTsKKyAgICAgICAgaWYgKCFtX2ltYWdl
TWVudUVuYWJsZWQgJiYgaGFzQ29udHJvbHMpCisgICAgICAgICAgICBkZXN0cm95SW1hZ2VDb250
cm9scygpOworICAgICAgICBlbHNlIGlmIChtX2ltYWdlTWVudUVuYWJsZWQgJiYgIWhhc0NvbnRy
b2xzKQorICAgICAgICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOworICAgIH0pOwogfQog
CiB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaAppbmRleCA3ZjkxNGE1YWU0Y2Y5ZjkyMGM1MDQw
OTlhMjI1ZjlmMjQ2ZmNiMzVhLi4xZDk5ZDMyMTdiNTZmZTNjMWM1ZDBjNTU4ZDdlYjQ3M2E5ODlj
M2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaApAQCAtMTQ3LDYgKzE0
NywxMCBAQCBwdWJsaWM6CiAgICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25z
dDsKIAogICAgIGJvb2wgYWxsb3dzT3JpZW50YXRpb25PdmVycmlkZSgpIGNvbnN0OworICAgIAor
I2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaGFz
SW1hZ2VDb250cm9scygpIGNvbnN0OworI2VuZGlmCiAKIHByb3RlY3RlZDoKICAgICBIVE1MSW1h
Z2VFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYsIEhUTUxGb3JtRWxlbWVu
dCogPSBudWxscHRyKTsKQEAgLTE5Nyw3ICsyMDEsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBk
YXRlSW1hZ2VDb250cm9scygpOwogICAgIHZvaWQgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOwog
ICAgIHZvaWQgZGVzdHJveUltYWdlQ29udHJvbHMoKTsKLSAgICBib29sIGhhc0ltYWdlQ29udHJv
bHMoKSBjb25zdDsKICAgICBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9k
ZSYpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcwppbmRleCBkNWE2YWVmNDZmYmM5MjQy
MTJiYjFlODU2ZTI1NTI3YjlhYTNkNmFlLi5lMmM4Y2ZkZjlhMmI2MDM1ODgyMmRkMTQ1OTc4OTky
OGM1Yzc0YzBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvaW1h
Z2VDb250cm9sc01hYy5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2lt
YWdlQ29udHJvbHNNYWMuY3NzCkBAIC0zOSw3ICszOSw3IEBAIGRpdiNpbWFnZS1jb250cm9scyBi
dXR0b24jaW1hZ2UtY29udHJvbHMtYnV0dG9uIHsKICAgICAKICAgICBkaXNwbGF5OiBibG9jazsK
IAotICAgIGFwcGVhcmFuY2U6IC1pbnRlcm5hbC1pbWFnZS1jb250cm9scy1idXR0b247CisgICAg
YXBwZWFyYW5jZTogYXV0bzsKIAogICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7CiAgICAg
b3BhY2l0eTogMC4wOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVU
eXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oCmluZGV4IDQyYmIz
NjQ5MDU3YjQyNTEzMTE5ZjdjZTA4MGM1MmUzMGJlNzU5MGMuLmIyMTUyNTQwZWMyNWMzZDU5YzU3
MTBiZTAxOTUyNTVhZmUwOTE4NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RoZW1lVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgK
QEAgLTkxLDkgKzkxLDYgQEAgZW51bSBDb250cm9sUGFydCB7CiAgICAgQ29udGludW91c0NhcGFj
aXR5TGV2ZWxJbmRpY2F0b3JQYXJ0LAogICAgIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRv
clBhcnQsCiAgICAgUmF0aW5nTGV2ZWxJbmRpY2F0b3JQYXJ0LAotI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQotICAgIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0LAotI2VuZGlmCiAjaWYgRU5B
QkxFKEFQUExFX1BBWSkKICAgICBBcHBsZVBheUJ1dHRvblBhcnQsCiAjZW5kaWYKQEAgLTEwOCw3
ICsxMDUsMTUgQEAgZW51bSBDb250cm9sUGFydCB7CiAgICAgQXR0YWNobWVudFBhcnQsCiAgICAg
Qm9yZGVybGVzc0F0dGFjaG1lbnRQYXJ0LAogI2VuZGlmCi0gICAgQ2Fwc0xvY2tJbmRpY2F0b3JQ
YXJ0CisgICAgQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0LAorICAgIC8vIEludGVybmFsLW9ubHkgVmFs
dWVzCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgSW1hZ2VDb250cm9sc0J1dHRv
blBhcnQsCisgICAgTGFyZ2VzdENvbnRyb2xQYXJ0ID0gSW1hZ2VDb250cm9sc0J1dHRvblBhcnQK
KyNlbHNlCisgICAgTGFyZ2VzdENvbnRyb2xQYXJ0ID0gQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0Cisj
ZW5kaWYKKyAgICAKIH07CiAKIGVudW0gU2VsZWN0aW9uUGFydCB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKaW5kZXggZjZiMTFkOWQ2MjlhY2ZiZmI4Nzg2MGNi
N2I4Y2QyOGNlYmMxYjE4Yi4uODMwMjU5MTkyYzQ2MWM4MjUxYTg5MjU1Njc5MjNlMTIzNjk4ZmY0
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcApAQCAtNTQs
NiArNTQsMTAgQEAKICNpbmNsdWRlICJWaXNpYmxlVW5pdHMuaCIKICNpbmNsdWRlICJYTGlua05h
bWVzLmgiCiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyNpbmNsdWRlICJJbWFnZUNv
bnRyb2xzTWFjLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1l
c3BhY2UgSFRNTE5hbWVzOwpAQCAtMzM1LDYgKzMzOSwxMSBAQCBSZWZQdHI8Tm9kZT4gSGl0VGVz
dFJlc3VsdDo6bm9kZUZvckltYWdlRGF0YSgpIGNvbnN0CiAKICAgICBpZiAoSW1hZ2VPdmVybGF5
Ojppc0luc2lkZU92ZXJsYXkoKm1faW5uZXJOb25TaGFyZWROb2RlKSkKICAgICAgICAgcmV0dXJu
IG1faW5uZXJOb25TaGFyZWROb2RlLT5zaGFkb3dIb3N0KCk7CisgICAgCisjaWYgRU5BQkxFKFNF
UlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKEltYWdlQ29udHJvbHNNYWM6OmlzSW5zaWRlSW1hZ2VD
b250cm9scygqbV9pbm5lck5vblNoYXJlZE5vZGUpKQorICAgICAgICByZXR1cm4gbV9pbm5lck5v
blNoYXJlZE5vZGUtPnNoYWRvd0hvc3QoKTsKKyNlbmRpZgogCiAgICAgcmV0dXJuIG1faW5uZXJO
b25TaGFyZWROb2RlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAK
aW5kZXggNDU0ZTY0YzZiZmE3NWZhZmMyZWU5MWU3NWNkYzJmYzQ4ZTZjZDYwNS4uYTU0MjRkMmUz
MmFmNGJiZDYwNzllMzM3NDNiZWM1MmViMDNkM2U2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuY3BwCkBAIC01Nyw2ICs1Nyw5IEBACiAjaW5jbHVkZSA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJz
Lmg+CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyNpbmNsdWRlICJJbWFnZUNvbnRy
b2xzTWFjLmgiCisjZW5kaWYKIAogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogI2luY2x1
ZGUgIkhUTUxEYXRhTGlzdEVsZW1lbnQuaCIKQEAgLTI5Niw2ICsyOTksMTAgQEAgQ29udHJvbFBh
cnQgUmVuZGVyVGhlbWU6OmF1dG9BcHBlYXJhbmNlRm9yRWxlbWVudChjb25zdCBFbGVtZW50KiBl
bGVtZW50UHRyKSBjb24KICAgICBpZiAoIWVsZW1lbnRQdHIpCiAgICAgICAgIHJldHVybiBOb0Nv
bnRyb2xQYXJ0OwogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKGlzSW1h
Z2VDb250cm9sKGVsZW1lbnRQdHIpKQorICAgICAgICByZXR1cm4gSW1hZ2VDb250cm9sc0J1dHRv
blBhcnQ7CisjZW5kaWYKICAgICBSZWYgZWxlbWVudCA9ICplbGVtZW50UHRyOwogCiAgICAgaWYg
KGlzPEhUTUxJbnB1dEVsZW1lbnQ+KGVsZW1lbnQpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oCmluZGV4IDhlZjMwMGZjYzczNTlhNGZiYjBjMWRjNTQ2MGE5ODM3OWIxOThk
OGEuLmFhNGQ0OTgzYzc3ZGEyNDdkNDA4NTIxNDQ3Y2FmNzE3OTM0ZWRiNjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0zNjcsNiArMzY3LDcgQEAgcHJvdGVjdGVk
OgogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RJ
bWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29u
c3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50SW1hZ2VDb250cm9sc0J1dHRvbihjb25zdCBSZW5k
ZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgeyByZXR1cm4gdHJ1
ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc0ltYWdlQ29udHJvbChjb25zdCBFbGVtZW50KikgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFBy
b2dyZXNzQmFyU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4IGEwM2UxZjVjOTE2OWM2
ZWY2NWUzZDQ2MTg3Y2FmMWUxNmZlMTlkZjYuLjkyODIyZmMyOGJhMDAwMDNhODlhMGQ3Yzg5ODY2
M2RjMzZjMTE1NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5o
CkBAIC0yMTYsNiArMjE2LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKICAgICBib29sIHBhaW50SW1hZ2VDb250cm9sc0J1dHRvbihjb25zdCBSZW5kZXJPYmplY3Qm
LCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgZmluYWw7CiAgICAgSW50U2l6ZSBp
bWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgaXNJbWFnZUNv
bnRyb2woY29uc3QgRWxlbWVudCopIGNvbnN0IGZpbmFsOwogCiAgICAgTlNTZXJ2aWNlc1JvbGxv
dmVyQnV0dG9uQ2VsbCAqc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKSBjb25zdDsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCmluZGV4IDk2NDg1
NjEwYWZhMDJjMWNlYjUxOGE1MmViMzIwMTcxMWI5OGU2MDcuLmNhOGI3NDU4NGVhNTI1MGQ2NDdl
MjIwNWU2MjA5NTc1MTgxYWMwNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVNYWMubW0KQEAgLTgzLDYgKzgzLDEwIEBACiAjaW1wb3J0IDx3dGYvU3RkTGliRXh0cmFz
Lmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisjZW5kaWYKKwog
Ly8gRklYTUU6IFRoaXMgc2hvdWxkIGdvIGludG8gYW4gU1BJLmggZmlsZSBpbiB0aGUgc3BpIGRp
cmVjdG9yeS4KIEBpbnRlcmZhY2UgTlNUZXh0RmllbGRDZWxsICgpCiAtIChDRkRpY3Rpb25hcnlS
ZWYpX2NvcmVVSURyYXdPcHRpb25zV2l0aEZyYW1lOihOU1JlY3QpY2VsbEZyYW1lIGluVmlldzoo
TlNWaWV3ICopY29udHJvbFZpZXcgaW5jbHVkZUZvY3VzOihCT09MKWluY2x1ZGVGb2N1czsKQEAg
LTIzMDksNiArMjMxMywxMyBAQCBJbnRTaXplIFJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xz
QnV0dG9uU2l6ZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIEludFNpemUoc2VydmljZXNSb2xsb3Zl
ckJ1dHRvbkNlbGwoKS5jZWxsU2l6ZSk7CiB9CisKK2Jvb2wgUmVuZGVyVGhlbWVNYWM6OmlzSW1h
Z2VDb250cm9sKGNvbnN0IEVsZW1lbnQqIGVsZW1lbnRQdHIpIGNvbnN0Cit7CisgICAgaWYgKElt
YWdlQ29udHJvbHNNYWM6OmlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoKmVsZW1lbnRQdHIp
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CiAjZW5kaWYKIAog
I2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGRjZThkYjJiODdmOGVlMTFjOWMyZTJlYzhlMzI1
Mzc3ZjgwOWM0ZTYuLmZjMmQyY2NmNjgxNTZkZWU1NzU0M2VlNzg2NjBjYjcwNDFlYzVmODIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0xMTQx
LDggKzExNDEsMTcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QWNjZW50Q29sb3IoY29uc3QgQ29s
b3ImIGMpIHsgU0VUX1ZBUihtX3JhcmVJbmhlcml0ZWREYXRhLCBhY2NlbnRDb2xvciwgYyk7IFNF
VF9WQVIobV9yYXJlSW5oZXJpdGVkRGF0YSwgaGFzQXV0b0FjY2VudENvbG9yLCBmYWxzZSk7ICB9
CiAgICAgdm9pZCBzZXRIYXNBdXRvQWNjZW50Q29sb3IoKSB7IFNFVF9WQVIobV9yYXJlSW5oZXJp
dGVkRGF0YSwgaGFzQXV0b0FjY2VudENvbG9yLCB0cnVlKTsgU0VUX1ZBUihtX3JhcmVJbmhlcml0
ZWREYXRhLCBhY2NlbnRDb2xvciwgY3VycmVudENvbG9yKCkpOyB9CiAgICAgdm9pZCBzZXRPcGFj
aXR5KGZsb2F0IGYpIHsgZmxvYXQgdiA9IGNsYW1wVG88ZmxvYXQ+KGYsIDAuZiwgMS5mKTsgU0VU
X1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBvcGFjaXR5LCB2KTsgfQotICAgIHZvaWQgc2V0
QXBwZWFyYW5jZShDb250cm9sUGFydCBhKSB7IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0
YSwgYXBwZWFyYW5jZSwgYSk7IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZWZmZWN0
aXZlQXBwZWFyYW5jZSwgYSk7IH0KLSAgICB2b2lkIHNldEVmZmVjdGl2ZUFwcGVhcmFuY2UoQ29u
dHJvbFBhcnQgYSkgeyBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGVmZmVjdGl2ZUFw
cGVhcmFuY2UsIGEpOyB9CisgICAgdm9pZCBzZXRBcHBlYXJhbmNlKENvbnRyb2xQYXJ0IGEpCisg
ICAgeworICAgICAgICBzdGF0aWNfYXNzZXJ0KExhcmdlc3RDb250cm9sUGFydCA8IDEgPDwgQVBQ
RUFSQU5DRV9CSVRfV0lEVEgsICJDb250cm9sIHBhcnQgbXVzdCBmaXQgaW4gc3RvcmFnZSBiaXRz
Iik7CisgICAgICAgIFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgYXBwZWFyYW5jZSwg
YSk7CisgICAgICAgIFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZWZmZWN0aXZlQXBw
ZWFyYW5jZSwgYSk7CisgICAgfQorICAgIHZvaWQgc2V0RWZmZWN0aXZlQXBwZWFyYW5jZShDb250
cm9sUGFydCBhKQorICAgIHsKKyAgICAgICAgc3RhdGljX2Fzc2VydChMYXJnZXN0Q29udHJvbFBh
cnQgPCAxIDw8IEFQUEVBUkFOQ0VfQklUX1dJRFRILCAiQ29udHJvbCBwYXJ0IG11c3QgZml0IGlu
IHN0b3JhZ2UgYml0cyIpOworICAgICAgICBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEs
IGVmZmVjdGl2ZUFwcGVhcmFuY2UsIGEpOworICAgIH0KICAgICAvLyBGb3IgdmFsaWQgdmFsdWVz
IG9mIGJveC1hbGlnbiBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOS9XRC1jc3MzLWZsZXhi
b3gtMjAwOTA3MjMvI2FsaWdubWVudAogICAgIHZvaWQgc2V0Qm94QWxpZ24oQm94QWxpZ25tZW50
IGEpIHsgU0VUX05FU1RFRF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZGVwcmVjYXRlZEZs
ZXhpYmxlQm94LCBhbGlnbiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGEpKTsgfQogICAgIHZvaWQg
c2V0Qm94RGlyZWN0aW9uKEJveERpcmVjdGlvbiBkKSB7IG1faW5oZXJpdGVkRmxhZ3MuYm94RGly
ZWN0aW9uID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGQpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaApp
bmRleCA2NzhlNDgxMDlhOTYwZTA2ODZjNGFmYjFmZGQ5YWJlZTdhNmU3Y2NhLi4yMGJkZGY0MGJl
ZDRlNDZlZjJhY2M3M2I3ZTU3OTdhMjQwNDhlYWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKQEAg
LTY2LDYgKzY2LDggQEAgY2xhc3MgU3R5bGVUcmFuc2Zvcm1EYXRhOwogCiBzdHJ1Y3QgTGVuZ3Ro
U2l6ZTsKIAorI2RlZmluZSBBUFBFQVJBTkNFX0JJVF9XSURUSCA3CisKIC8vIFBhZ2Ugc2l6ZSB0
eXBlLgogLy8gU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6cGFnZVNpemUgaXMgbWVhbmluZ2Z1
bCBvbmx5IHdoZW4KIC8vIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OnBhZ2VTaXplVHlwZSBp
cyBQQUdFX1NJWkVfUkVTT0xWRUQuCkBAIC0yMDIsOCArMjA0LDggQEAgcHVibGljOgogICAgIHVu
c2lnbmVkIHVzZVNtb290aFNjcm9sbGluZyA6IDE7IC8vIFNjcm9sbEJlaGF2aW9yCiAgICAgdW5z
aWduZWQgbWFyZ2luQmVmb3JlQ29sbGFwc2UgOiAyOyAvLyBNYXJnaW5Db2xsYXBzZQogICAgIHVu
c2lnbmVkIG1hcmdpbkFmdGVyQ29sbGFwc2UgOiAyOyAvLyBNYXJnaW5Db2xsYXBzZQotICAgIHVu
c2lnbmVkIGFwcGVhcmFuY2UgOiA2OyAvLyBFQXBwZWFyYW5jZQotICAgIHVuc2lnbmVkIGVmZmVj
dGl2ZUFwcGVhcmFuY2UgOiA2OyAvLyBFQXBwZWFyYW5jZQorICAgIHVuc2lnbmVkIGFwcGVhcmFu
Y2UgOiBBUFBFQVJBTkNFX0JJVF9XSURUSDsgLy8gRUFwcGVhcmFuY2UKKyAgICB1bnNpZ25lZCBl
ZmZlY3RpdmVBcHBlYXJhbmNlIDogQVBQRUFSQU5DRV9CSVRfV0lEVEg7IC8vIEVBcHBlYXJhbmNl
CiAgICAgdW5zaWduZWQgYm9yZGVyRml0IDogMTsgLy8gQm9yZGVyRml0CiAgICAgdW5zaWduZWQg
dGV4dENvbWJpbmUgOiAxOyAvLyBDU1MzIHRleHQtY29tYmluZSBwcm9wZXJ0aWVzCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBkOGQ3MTRhY2YyNTVjYTcxZGU4MmU5MDgy
Nzg5YzMzZGM5OThhNzRhLi41NDAyMTg3NjM4MTljMTk4NzFlNTdhZGQ2YzlkZTQwZmI2YzlkZDZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC02Mzk3LDcgKzYzOTcsMTQg
QEAgRXhjZXB0aW9uT3I8SW50ZXJuYWxzOjpBdHRhY2htZW50VGh1bWJuYWlsSW5mbz4gSW50ZXJu
YWxzOjphdHRhY2htZW50VGh1bWJuYWlsSW4KICNlbmRpZgogfQogCi0jZW5kaWYKKyNpZiBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKK2Jvb2wgSW50ZXJuYWxzOjpoYXNJbWFnZUNvbnRyb2xzKGNv
bnN0IEhUTUxJbWFnZUVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGVsZW1l
bnQuaGFzSW1hZ2VDb250cm9scygpOworfQorI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorCisjZW5kaWYgLy8gRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKIAogI2lmIEVOQUJM
RShNRURJQV9TRVNTSU9OKQogRXhjZXB0aW9uT3I8ZG91YmxlPiBJbnRlcm5hbHM6OmN1cnJlbnRN
ZWRpYVNlc3Npb25Qb3NpdGlvbihjb25zdCBNZWRpYVNlc3Npb24mIHNlc3Npb24pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBmYmMxMjE5NTFlYTM5ZGQxNDhkNzVhZTIzNzc2NDg4
MGYwYjNlMWQ1Li4xMDI3OGY2ODUzZWViMjY0MjkwNmZmOGJmOWQxMDAwNDIxNzAyYmVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTExODQsNyArMTE4NCwxMCBAQCBwdWJsaWM6
CiAgICAgfTsKIAogICAgIEV4Y2VwdGlvbk9yPEF0dGFjaG1lbnRUaHVtYm5haWxJbmZvPiBhdHRh
Y2htZW50VGh1bWJuYWlsSW5mbyhjb25zdCBIVE1MQXR0YWNobWVudEVsZW1lbnQmKTsKLSNlbmRp
ZgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGJvb2wgaGFzSW1hZ2VDb250cm9s
cyhjb25zdCBIVE1MSW1hZ2VFbGVtZW50JikgY29uc3Q7CisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJ
Q0VfQ09OVFJPTFMpCisjZW5kaWYgLy8gRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKIAogI2lm
IEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIEV4Y2VwdGlvbk9yPGRvdWJsZT4gY3VycmVudE1l
ZGlhU2Vzc2lvblBvc2l0aW9uKGNvbnN0IE1lZGlhU2Vzc2lvbiYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsCmluZGV4IDIzNGMyMzYyNmMwNGUxZmNkMmEyZTVjYzJhNDQ5NTEyYjM2
ZWZhZGYuLmMzZTRiYzcyMmUzODNiOGNlYzc4ODhlY2RkOTUzMDI3ZDQ1ZDdlMDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTEwNzEsNiArMTA3MSw3IEBAIGVudW0gSEVW
Q1BhcmFtZXRlckNvZGVjIHsKICAgICB1bmRlZmluZWQgc2V0Q29udGVudFNpemVDYXRlZ29yeShD
b250ZW50U2l6ZUNhdGVnb3J5IGNhdGVnb3J5KTsKIAogICAgIFtDb25kaXRpb25hbD1BVFRBQ0hN
RU5UX0VMRU1FTlRdIEF0dGFjaG1lbnRUaHVtYm5haWxJbmZvIGF0dGFjaG1lbnRUaHVtYm5haWxJ
bmZvKEhUTUxBdHRhY2htZW50RWxlbWVudCBlbGVtZW50KTsKKyAgICBbQ29uZGl0aW9uYWw9QVRU
QUNITUVOVF9FTEVNRU5ULCBDb25kaXRpb25hbD1TRVJWSUNFX0NPTlRST0xTXSBib29sZWFuIGhh
c0ltYWdlQ29udHJvbHMoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50KTsKIAogICAgIFtDb25kaXRp
b25hbD1NRURJQV9TRVNTSU9OXSBkb3VibGUgY3VycmVudE1lZGlhU2Vzc2lvblBvc2l0aW9uKE1l
ZGlhU2Vzc2lvbiBzZXNzaW9uKTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU0VTU0lPTl0gdW5k
ZWZpbmVkIHNlbmRNZWRpYVNlc3Npb25BY3Rpb24oTWVkaWFTZXNzaW9uIHNlc3Npb24sIE1lZGlh
U2Vzc2lvbkFjdGlvbkRldGFpbHMgYWN0aW9uRGV0YWlscyk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTkxMDc3MWQyODc1
Zjc2NDQyN2NlZDJiMTg4NzU3NDkyYzdmY2JlZC4uN2JlZmYzYWE5OTUxMWJkYjA3ZDE2NTkyMzZk
MmM5ZjNiNDkxOWZlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEyLTIyICBNZWdhbiBH
YXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVubmVl
ZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1lbnUu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0MDUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBuZWVk
IHRvIG1vdmUgdGhpcyB0ZXN0IHRvIGJlIGEgbWFjIHNwZWNpZmljIG9uZSwgYXMgaXQgbm93IGhh
cyBtYWMgc3BlY2lmaWMgCisgICAgICAgIHRlc3QgaGFybmVzc2luZy4KKworICAgICAgICAqIFRl
c3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFz
aWMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvaW1hZ2VzL2ltYWdlLWNv
bnRyb2xzLWJhc2ljLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvbWFjL2lt
YWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQuCisgICAgICAgICogZmFzdC9pbWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9pbWFn
ZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBl
Y3RhdGlvbnM6CisKIDIwMjEtMTItMjAgIEFyY2FkeSBHb2xkbWludHMtT3Jsb3YgIDxhZ29sZG1p
bnRzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dMSUJdIFVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9u
cyBmb3Igc29tZSBmYXN0L2JveC1zaGFkb3cgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1
MWFjOTMzNjUzYzNjNmZhODNjMzA5NDYwMGQ5N2Y5Yjk0NDQ2YjY0Li4wZjg4ODZiYzgwM2YzMDM2
OWRlNTY1ZjNiYzgyZThmYzU0ODE4NTdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQwLDYgKzQw
LDcgQEAgZmFzdC9mb3Jtcy9zZWxlY3QvbWFjLXdrMiBbIFNraXAgXQogZmFzdC9mb3Jtcy90ZXh0
YXJlYS9pb3MgWyBTa2lwIF0KIGZhc3QvZm9ybXMvd2F0Y2hvcyBbIFNraXAgXQogZmFzdC9pbWFn
ZXMvdGV4dC1yZWNvZ25pdGlvbiBbIFNraXAgXQorZmFzdC9pbWFnZXMvbWFjIFsgU2tpcCBdCiBm
YXN0L3NhbmRib3gvaW9zIFsgU2tpcCBdCiBmYXN0L3NhbmRib3gvbWFjIFsgU2tpcCBdCiBmYXN0
L3ZpZXdwb3J0L3dhdGNob3MgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
aW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNTliNzVkNzZhMDQ4YWI0MDE1YmUwMmFlNjY3NDdhMmI4NTEyZGRi
ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCi0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5k
ZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlckltYWdlIHtJ
TUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1j
b250cm9scy1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJv
bHMtYmFzaWMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjRkMDVmMzViNGI2
MWNkNDdlYWM1ZmM0MTAzZmYzNDJiYWZmMjA0MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9s
cy1iYXNpYy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0gPHNjcmlwdD4KLWlm
ICh3aW5kb3cuaW50ZXJuYWxzKQotCWludGVybmFscy5zZXR0aW5ncy5zZXRJbWFnZUNvbnRyb2xz
RW5hYmxlZCh0cnVlKTsKLQotPC9zY3JpcHQ+Ci08Ym9keT4KLTxpbWcgc3JjPSJyZXNvdXJjZXMv
Z3JlZW4tMjU2eDI1Ni5qcGciIHgtd2Via2l0LWltYWdlbWVudT4KLTwvYm9keT4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9t
YWMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9p
bWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
YTljMTFhMmFhZTVjMTQwODY3Zjg5YjBkZmRjOWEzNzM2M2I0OGI5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDI3NgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4Mjc2CisgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MjYwCisgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CitsYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NiBbY29sb3I9IzAwMDAwMDAwXQor
bGF5ZXIgYXQgKDIxNSwzMCkgc2l6ZSAyN3gyNgorICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQg
KDIwNywyMikgc2l6ZSAyN3gyNiBbY29sb3I9IzAwMDAwMEQ4XSBbYmdjb2xvcj0jQzBDMEMwXSBb
Ym9yZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL21hYy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9pbWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjcxOGZj
OWVmZjMxZDg5YTU5YzUxYmYyYzJjMTY4YjI0NTYxYjFhZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvaW1hZ2VzL21hYy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sCkBAIC0w
LDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgQXR0
YWNobWVudEVsZW1lbnRFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7Cit9CitpZiAod2luZG93LmludGVybmFscykgeworIAlpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
SW1hZ2VDb250cm9sc0VuYWJsZWQodHJ1ZSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGltZyBpZD0idGFyZ2V0IiBzcmM9Ii4uL3Jlc291cmNlcy9ncmVlbi0yNTZ4MjU2LmpwZyI+
Cis8c2NyaXB0PgorCWZ1bmN0aW9uIGhhc0ltYWdlQ29udHJvbHMoZWxlbSkKKwl7CisJCWlmICh3
aW5kb3cuaW50ZXJuYWxzKQorCQkJcmV0dXJuIGludGVybmFscy5oYXNJbWFnZUNvbnRyb2xzKGVs
ZW0pOworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJanNUZXN0SXNBc3luYyA9IHRydWU7CisKKwl2
YXIgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKwl2YXIgSUQgPSBI
VE1MQXR0YWNobWVudEVsZW1lbnQuZ2V0QXR0YWNobWVudElkZW50aWZpZXIoZWxlbSk7CisKKwlz
ZXRJbnRlcnZhbCgoKSA9PiB7CisgICAgaWYgKGhhc0ltYWdlQ29udHJvbHMoZWxlbSkpCisgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworCX0sIDIwMCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmlnc3VyL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJh
c2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvZmFzdC9p
bWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzMmMx
NDY5ZGZlN2ZlMThjZGE5ZGYyOWFlNzgwNTQ2MGM2OTM5NzcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmlnc3VyL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xz
LWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDI3NgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
Mjc2CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MjYwCisgICAgICBS
ZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCitsYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYKKyAgUmVuZGVyQmxvY2sg
KHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NiBbY29sb3I9
IzAwMDAwMDAwXQorbGF5ZXIgYXQgKDIxNCwzMCkgc2l6ZSAyOHgyNgorICBSZW5kZXJCdXR0b24g
e0JVVFRPTn0gYXQgKDIwNiwyMikgc2l6ZSAyOHgyNiBbY29sb3I9IzAwMDAwMEQ4XSBbYmdjb2xv
cj0jQzBDMEMwXSBbYm9yZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKV0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9s
cy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEv
ZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA5MjRiMjlkNTNjNTlmNWU4ZWJmN2YzMmRkNDk2M2MwODYxOTU3
NDUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1i
YXNpYy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1sYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCi0gICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4
NTg0Ci0gICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKLSAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDgsOCkgc2l6
ZSAyNTZ4MjU2Ci0gIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAo
MCwwKSBzaXplIDI1NngyNTYgW2NvbG9yPSMwMDAwMDAwMF0KLWxheWVyIGF0ICgyMTUsMzApIHNp
emUgMjd4MjYKLSAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgyMDcsMjIpIHNpemUgMjd4MjYg
W2NvbG9yPSMwMDAwMDBEOF0gW2JnY29sb3I9I0MwQzBDMF0gW2JvcmRlcjogKDJweCBvdXRzZXQg
I0MwQzBDMCldCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IGJhNmEwOWRmMDc0YWVlMGUxODc0N2I0ODViYzc3MWI3OTJjY2EzNTguLjQ4ZTViZDRmNzBjMDkx
YmUzZjNlMzgyMTFmOTQxMmE1NTBlNWFkZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9U
ZXN0RXhwZWN0YXRpb25zCkBAIC0xNiw2ICsxNiw3IEBAIGVkaXRpbmcvcGFzdGVib2FyZC9tYWMg
WyBQYXNzIF0KIGZhc3QvZG9tL1JhbmdlL21hYyBbIFBhc3MgXQogZmFzdC9zY3JvbGxpbmcvbGF0
Y2hpbmcgWyBQYXNzIF0KIG1vZGVsLWVsZW1lbnQgWyBQYXNzIF0KK2Zhc3QvaW1hZ2VzL21hYyBb
IFBhc3MgXQogCiAjIERpc2FibGUgcGx1Zy1pbiB0ZXN0cyBvbiBBcHBsZSBTaWxpY29uCiBbIGFy
bTY0IF0gY29tcG9zaXRpbmcvcGx1Z2lucyBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9s
cy1iYXNpYy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzMjEz
YTNjZGY5YTMwYmM5M2JjODg3MDEyZGI0N2YzZDQ0NTZmNWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
aW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDExICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgw
LDApIHNpemUgMjU2eDI1NgotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCi1sYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYKLSAgUmVuZGVyQmxvY2sgKHJlbGF0aXZl
IHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NiBbY29sb3I9IzAwMDAwMDAw
XQotbGF5ZXIgYXQgKDIxNCwzMCkgc2l6ZSAyOHgyNgotICBSZW5kZXJCdXR0b24ge0JVVFRPTn0g
YXQgKDIwNiwyMikgc2l6ZSAyOHgyNiBbY29sb3I9IzAwMDAwMEQ4XSBbYmdjb2xvcj0jQzBDMEMw
XSBbYm9yZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKV0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447926</attachid>
            <date>2021-12-23 18:19:01 -0800</date>
            <delta_ts>2022-01-04 16:48:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234405-20211223181901.patch</filename>
            <type>text/plain</type>
            <size>28602</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDk3NWE5ZTc1ZDBhY2Y1
MWU2OTlhNWRjNWUwZWE0NDJjMTQ1YzU3ZC4uMjhiM2E0NTIxNzk3OWRiNGVhMjljNjllMmJhOGMw
NDBhMTAwYjVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIxLTEyLTIyICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVu
bmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1l
bnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0
MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBmYXN0L2ltYWdlcy9tYWMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbAorCisgICAgICAgICog
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
aW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAgICAg
KiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1Zh
bHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmlzSW5zaWRlSW1hZ2VDb250
cm9scyk6CisgICAgICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6CisgICAgICAgICog
aHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVs
ZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1l
bnQ6OnNldEF0dGFjaG1lbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVs
ZW1lbnQ6OnVwZGF0ZUltYWdlQ29udHJvbHMpOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxl
bWVudC5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzczoK
KyAgICAgICAgKGRpdiNpbWFnZS1jb250cm9scyBidXR0b24jaW1hZ2UtY29udHJvbHMtYnV0dG9u
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaGVtZVR5cGVzLmg6CisgICAgICAgICogcmVuZGVyaW5n
L0hpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6bm9k
ZUZvckltYWdlRGF0YSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjphdXRvQXBwZWFyYW5jZUZvckVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWU6OmlzSW1hZ2VDb250cm9sIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6aXNJbWFnZUNvbnRy
b2wgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldEFwcGVhcmFuY2UpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU3R5bGU6OnNldEVmZmVjdGl2ZUFwcGVhcmFuY2UpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmg6CisgICAgICAgICogdGVz
dGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpoYXNJbWFn
ZUNvbnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAyMS0xMi0yMCAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBBZG9wdCBDaHJvbWVDbGllbnQ6OmNs
YXNzaWZ5TW9kYWxDb250YWluZXJDb250cm9scygpIGluIE1vZGFsQ29udGFpbmVyT2JzZXJ2ZXIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdz
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCmluZGV4
IGI2OTdlZmQwZGI1YjlkN2VmYjA3MDQzZjdmMTllYjU1MjU2OTJlMmQuLjdjMmE1MmY5YjdiMDg2
YjEyNDA5MzQ1OGM3OTg4YjcwZDk0NzkwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtNjM0LDcgKzYzNCw4IEBAIHRlbXBsYXRlPD4g
aW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShDb250cm9sUGFydCBl
KQogI2VuZGlmCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAgICAgY2FzZSBJbWFnZUNv
bnRyb2xzQnV0dG9uUGFydDoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVJbnRl
cm5hbEltYWdlQ29udHJvbHNCdXR0b247CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZU5vbmU7CiAgICAgICAgIGJyZWFrOwog
I2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGll
cy5qc29uCmluZGV4IDg3NzAxODFiZjhlNGY5NjhhOWM3MWIxMjI2YjY5MzI5ZjJkNThjNzYuLmMy
NTU2YjZjZTNkY2MyMTEyOWMzZTNmZjM2MzNmMjhhZWRkMDk0YWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnRpZXMuanNvbgpAQCAtNTE3Nyw3ICs1MTc3LDYgQEAKICAgICAgICAgICAgICAg
ICAiY29udGludW91cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAg
ICJkaXNjcmV0ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAgICJy
YXRpbmctbGV2ZWwtaW5kaWNhdG9yIiwKLSAgICAgICAgICAgICAgICAiLWludGVybmFsLWltYWdl
LWNvbnRyb2xzLWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgIi1hcHBsZS1wYXktYnV0dG9uIiwK
ICAgICAgICAgICAgICAgICAidGV4dGFyZWEiLAogICAgICAgICAgICAgICAgICJhdHRhY2htZW50
IiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggMTZiYmIwYWJiMDA3
MzJmMzU0MWYyMjVjNzIwZTg2NjhjY2MxZDVmYy4uMGNhMWRhNGZkNGFiNDcyZjg1Mzc5NjQ0ZDMy
NWQ1NTlkMTM2MzMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAg
LTg5MCw5ICs4OTAsNiBAQCByZWxldmFuY3ktbGV2ZWwtaW5kaWNhdG9yCiBjb250aW51b3VzLWNh
cGFjaXR5LWxldmVsLWluZGljYXRvcgogZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9y
CiByYXRpbmctbGV2ZWwtaW5kaWNhdG9yCi0jaWYgZGVmaW5lZChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJiYgRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKLS1pbnRlcm5hbC1pbWFnZS1jb250cm9s
cy1idXR0b24KLSNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0FQUExFX1BBWSkgJiYgRU5BQkxF
X0FQUExFX1BBWQogLWFwcGxlLXBheS1idXR0b24KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwCmluZGV4IDI1Mjk3NzMxYjJmYWRkZWI1MDY1
ZmY5YmI3NmI1ODYzZDZkMWY3M2MuLjY1NDRmMjZmNTFhOTIzZWU2MzBlNzkxOGRiOTMzODZmY2E1
ZTU3ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRp
b21zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5j
cHAKQEAgLTQwLDEwICs0MCw2IEBAIGJvb2wgaXNWYWx1ZUFsbG93ZWRJbk1vZGUodW5zaWduZWQg
c2hvcnQgaWQsIENTU1BhcnNlck1vZGUgbW9kZSkKICAgICAgICAgcmV0dXJuIGlzVUFTaGVldEJl
aGF2aW9yKG1vZGUpOwogICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRGb2N1c1JpbmdDb2xvcjoKICAg
ICAgICAgcmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpIHx8IGlzUXVpcmtzTW9kZUJlaGF2
aW9yKG1vZGUpOwotI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQotICAgIGNhc2UgQ1NTVmFs
dWVJbnRlcm5hbEltYWdlQ29udHJvbHNCdXR0b246Ci0gICAgICAgIHJldHVybiBpc1VBU2hlZXRC
ZWhhdmlvcihtb2RlKTsKLSNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9s
c01hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCmlu
ZGV4IGJiODg2MWQxMDcxNDRhNTgyOWU3OTdjNTYyZDA5Njg4YmU4YjliYTIuLmQ5ZmIxMDc1MGJm
MTViNWRjM2MyOTM2Y2QwYzAwNGFlNDMyNzY4MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21h
Yy9JbWFnZUNvbnRyb2xzTWFjLmNwcApAQCAtNzMsNiArNzMsMTQgQEAgYm9vbCBpc0ltYWdlQ29u
dHJvbHNCdXR0b25FbGVtZW50KGNvbnN0IE5vZGUmIG5vZGUpCiAgICAgcmV0dXJuIGlzPEVsZW1l
bnQ+KG5vZGUpICYmIGRvd25jYXN0PEVsZW1lbnQ+KG5vZGUpLmdldElkQXR0cmlidXRlKCkgPT0g
aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIoKTsKIH0KIAorYm9vbCBpc0luc2lkZUltYWdl
Q29udHJvbHMoY29uc3QgTm9kZSYgbm9kZSkKK3sKKyAgICBSZWZQdHIgaG9zdCA9IG5vZGUuc2hh
ZG93SG9zdCgpOworICAgIGlmICghaXM8SFRNTEVsZW1lbnQ+KGhvc3QuZ2V0KCkpIHx8ICFoYXND
b250cm9scyhkb3duY2FzdDxIVE1MRWxlbWVudD4oKmhvc3QpKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIHJldHVybiBpczxFbGVtZW50Pihub2RlKSAmJiBkb3duY2FzdDxFbGVtZW50Pihu
b2RlKS5nZXRJZEF0dHJpYnV0ZSgpID09IGltYWdlQ29udHJvbHNFbGVtZW50SWRlbnRpZmllcigp
OworfQorCiB2b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQmIGVsZW1lbnQpCiB7
CiAgICAgUmVmIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1bWVudCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaAppbmRleCA2YWNiNGJmM2UyM2I3NTgwMzdkMzFkYWZk
YWNiODRjYWQzN2I4YzBlLi4xMWVmMzBiMmEwMWJhMmFjNzExOTBlMWYyZmE3OWI4MWRiOTE5MmMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaApAQCAtMzgsNiAr
MzgsNyBAQCBuYW1lc3BhY2UgSW1hZ2VDb250cm9sc01hYyB7CiAKIGJvb2wgaGFzQ29udHJvbHMo
Y29uc3QgSFRNTEVsZW1lbnQmKTsKIGJvb2wgaXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudChj
b25zdCBOb2RlJik7Citib29sIGlzSW5zaWRlSW1hZ2VDb250cm9scyhjb25zdCBOb2RlJik7CiB2
b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQmKTsKIGJvb2wgaGFuZGxlRXZlbnQo
SFRNTEVsZW1lbnQmLCBFdmVudCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVt
ZW50LmNwcAppbmRleCA3N2M5OGY1ZTA0NTk3NmY5OTdjNTg5YmExYWM0M2M1ZmRmMWFiMjgzLi45
MzlkNDU5NDYyMjA0NzhkYmEzZDljZGFiYWE3NDljZjdhNjU4ODJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJD
aHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJFZGl0b3IuaCIKICNpbmNsdWRlICJFbGVtZW50SXRl
cmF0b3IuaCIKKyNpbmNsdWRlICJFdmVudExvb3AuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgi
CiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIK
QEAgLTMxMyw4ICszMTQsNyBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpbgogICAgICAgICBpZiAo
IXBhcnNlQ29tcG9zaXRlQW5kQmxlbmRPcGVyYXRvcih2YWx1ZSwgbV9jb21wb3NpdGVPcGVyYXRv
ciwgYmxlbmRPcCkpCiAgICAgICAgICAgICBtX2NvbXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9zaXRl
T3BlcmF0b3I6OlNvdXJjZU92ZXI7CiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0gICAg
fSBlbHNlIGlmIChuYW1lID09IHdlYmtpdGltYWdlbWVudUF0dHIpIHsKLSAgICAgICAgbV9pbWFn
ZU1lbnVFbmFibGVkID0gIXZhbHVlLmlzTnVsbCgpOworICAgIH0gZWxzZSBpZiAobV9pbWFnZU1l
bnVFbmFibGVkKSB7CiAgICAgICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKICNlbmRpZgogICAg
IH0gZWxzZSBpZiAobmFtZSA9PSBsb2FkaW5nQXR0cikgewpAQCAtNzQzLDcgKzc0Myw5IEBAIHZv
aWQgSFRNTEltYWdlRWxlbWVudDo6c2V0QXR0YWNobWVudEVsZW1lbnQoUmVmPEhUTUxBdHRhY2ht
ZW50RWxlbWVudD4mJiBhdHRhY2htCiAKICAgICBhdHRhY2htZW50LT5zZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5RGlzcGxheSwgQ1NTVmFsdWVOb25lLCB0cnVlKTsKICAgICBlbnN1
cmVVc2VyQWdlbnRTaGFkb3dSb290KCkuYXBwZW5kQ2hpbGQoV1RGTW92ZShhdHRhY2htZW50KSk7
Ci0gICAgc2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbih3ZWJraXRpbWFnZW1lbnVB
dHRyLCBlbXB0eVN0cmluZygpKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBt
X2ltYWdlTWVudUVuYWJsZWQgPSB0cnVlOworI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQogfQogCiBSZWZQdHI8SFRNTEF0dGFjaG1lbnRFbGVtZW50PiBIVE1MSW1hZ2VFbGVtZW50
OjphdHRhY2htZW50RWxlbWVudCgpIGNvbnN0CkBAIC03NzUsMTEgKzc3NywxMyBAQCB2b2lkIEhU
TUxJbWFnZUVsZW1lbnQ6OnVwZGF0ZUltYWdlQ29udHJvbHMoKQogICAgICAgICByZXR1cm47CiAg
ICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkuaW1hZ2VDb250cm9sc0VuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuOwotICAgIGJvb2wgaGFzQ29udHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xzKCk7
Ci0gICAgaWYgKCFtX2ltYWdlTWVudUVuYWJsZWQgJiYgaGFzQ29udHJvbHMpCi0gICAgICAgIGRl
c3Ryb3lJbWFnZUNvbnRyb2xzKCk7Ci0gICAgZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkICYm
ICFoYXNDb250cm9scykKLSAgICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOworICAgIGRv
Y3VtZW50KCkuZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6OkludGVybmFsQXN5bmNU
YXNrLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH1dIHsKKyAgICAgICAgYm9v
bCBoYXNDb250cm9scyA9IGhhc0ltYWdlQ29udHJvbHMoKTsKKyAgICAgICAgaWYgKCFtX2ltYWdl
TWVudUVuYWJsZWQgJiYgaGFzQ29udHJvbHMpCisgICAgICAgICAgICBkZXN0cm95SW1hZ2VDb250
cm9scygpOworICAgICAgICBlbHNlIGlmIChtX2ltYWdlTWVudUVuYWJsZWQgJiYgIWhhc0NvbnRy
b2xzKQorICAgICAgICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOworICAgIH0pOwogfQog
CiB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaAppbmRleCA3ZjkxNGE1YWU0Y2Y5ZjkyMGM1MDQw
OTlhMjI1ZjlmMjQ2ZmNiMzVhLi4xZDk5ZDMyMTdiNTZmZTNjMWM1ZDBjNTU4ZDdlYjQ3M2E5ODlj
M2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaApAQCAtMTQ3LDYgKzE0
NywxMCBAQCBwdWJsaWM6CiAgICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25z
dDsKIAogICAgIGJvb2wgYWxsb3dzT3JpZW50YXRpb25PdmVycmlkZSgpIGNvbnN0OworICAgIAor
I2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaGFz
SW1hZ2VDb250cm9scygpIGNvbnN0OworI2VuZGlmCiAKIHByb3RlY3RlZDoKICAgICBIVE1MSW1h
Z2VFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYsIEhUTUxGb3JtRWxlbWVu
dCogPSBudWxscHRyKTsKQEAgLTE5Nyw3ICsyMDEsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBk
YXRlSW1hZ2VDb250cm9scygpOwogICAgIHZvaWQgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOwog
ICAgIHZvaWQgZGVzdHJveUltYWdlQ29udHJvbHMoKTsKLSAgICBib29sIGhhc0ltYWdlQ29udHJv
bHMoKSBjb25zdDsKICAgICBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9k
ZSYpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcwppbmRleCBkNWE2YWVmNDZmYmM5MjQy
MTJiYjFlODU2ZTI1NTI3YjlhYTNkNmFlLi5lMmM4Y2ZkZjlhMmI2MDM1ODgyMmRkMTQ1OTc4OTky
OGM1Yzc0YzBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvaW1h
Z2VDb250cm9sc01hYy5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2lt
YWdlQ29udHJvbHNNYWMuY3NzCkBAIC0zOSw3ICszOSw3IEBAIGRpdiNpbWFnZS1jb250cm9scyBi
dXR0b24jaW1hZ2UtY29udHJvbHMtYnV0dG9uIHsKICAgICAKICAgICBkaXNwbGF5OiBibG9jazsK
IAotICAgIGFwcGVhcmFuY2U6IC1pbnRlcm5hbC1pbWFnZS1jb250cm9scy1idXR0b247CisgICAg
YXBwZWFyYW5jZTogYXV0bzsKIAogICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7CiAgICAg
b3BhY2l0eTogMC4wOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVU
eXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oCmluZGV4IDQyYmIz
NjQ5MDU3YjQyNTEzMTE5ZjdjZTA4MGM1MmUzMGJlNzU5MGMuLmIyMTUyNTQwZWMyNWMzZDU5YzU3
MTBiZTAxOTUyNTVhZmUwOTE4NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RoZW1lVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgK
QEAgLTkxLDkgKzkxLDYgQEAgZW51bSBDb250cm9sUGFydCB7CiAgICAgQ29udGludW91c0NhcGFj
aXR5TGV2ZWxJbmRpY2F0b3JQYXJ0LAogICAgIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRv
clBhcnQsCiAgICAgUmF0aW5nTGV2ZWxJbmRpY2F0b3JQYXJ0LAotI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQotICAgIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0LAotI2VuZGlmCiAjaWYgRU5B
QkxFKEFQUExFX1BBWSkKICAgICBBcHBsZVBheUJ1dHRvblBhcnQsCiAjZW5kaWYKQEAgLTEwOCw3
ICsxMDUsMTUgQEAgZW51bSBDb250cm9sUGFydCB7CiAgICAgQXR0YWNobWVudFBhcnQsCiAgICAg
Qm9yZGVybGVzc0F0dGFjaG1lbnRQYXJ0LAogI2VuZGlmCi0gICAgQ2Fwc0xvY2tJbmRpY2F0b3JQ
YXJ0CisgICAgQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0LAorICAgIC8vIEludGVybmFsLW9ubHkgVmFs
dWVzCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgSW1hZ2VDb250cm9sc0J1dHRv
blBhcnQsCisgICAgTGFyZ2VzdENvbnRyb2xQYXJ0ID0gSW1hZ2VDb250cm9sc0J1dHRvblBhcnQK
KyNlbHNlCisgICAgTGFyZ2VzdENvbnRyb2xQYXJ0ID0gQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0Cisj
ZW5kaWYKKyAgICAKIH07CiAKIGVudW0gU2VsZWN0aW9uUGFydCB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKaW5kZXggZjZiMTFkOWQ2MjlhY2ZiZmI4Nzg2MGNi
N2I4Y2QyOGNlYmMxYjE4Yi4uODMwMjU5MTkyYzQ2MWM4MjUxYTg5MjU1Njc5MjNlMTIzNjk4ZmY0
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcApAQCAtNTQs
NiArNTQsMTAgQEAKICNpbmNsdWRlICJWaXNpYmxlVW5pdHMuaCIKICNpbmNsdWRlICJYTGlua05h
bWVzLmgiCiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyNpbmNsdWRlICJJbWFnZUNv
bnRyb2xzTWFjLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1l
c3BhY2UgSFRNTE5hbWVzOwpAQCAtMzM1LDYgKzMzOSwxMSBAQCBSZWZQdHI8Tm9kZT4gSGl0VGVz
dFJlc3VsdDo6bm9kZUZvckltYWdlRGF0YSgpIGNvbnN0CiAKICAgICBpZiAoSW1hZ2VPdmVybGF5
Ojppc0luc2lkZU92ZXJsYXkoKm1faW5uZXJOb25TaGFyZWROb2RlKSkKICAgICAgICAgcmV0dXJu
IG1faW5uZXJOb25TaGFyZWROb2RlLT5zaGFkb3dIb3N0KCk7CisgICAgCisjaWYgRU5BQkxFKFNF
UlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKEltYWdlQ29udHJvbHNNYWM6OmlzSW5zaWRlSW1hZ2VD
b250cm9scygqbV9pbm5lck5vblNoYXJlZE5vZGUpKQorICAgICAgICByZXR1cm4gbV9pbm5lck5v
blNoYXJlZE5vZGUtPnNoYWRvd0hvc3QoKTsKKyNlbmRpZgogCiAgICAgcmV0dXJuIG1faW5uZXJO
b25TaGFyZWROb2RlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAK
aW5kZXggNDU0ZTY0YzZiZmE3NWZhZmMyZWU5MWU3NWNkYzJmYzQ4ZTZjZDYwNS4uYTU0MjRkMmUz
MmFmNGJiZDYwNzllMzM3NDNiZWM1MmViMDNkM2U2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuY3BwCkBAIC01Nyw2ICs1Nyw5IEBACiAjaW5jbHVkZSA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJz
Lmg+CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyNpbmNsdWRlICJJbWFnZUNvbnRy
b2xzTWFjLmgiCisjZW5kaWYKIAogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogI2luY2x1
ZGUgIkhUTUxEYXRhTGlzdEVsZW1lbnQuaCIKQEAgLTI5Niw2ICsyOTksMTAgQEAgQ29udHJvbFBh
cnQgUmVuZGVyVGhlbWU6OmF1dG9BcHBlYXJhbmNlRm9yRWxlbWVudChjb25zdCBFbGVtZW50KiBl
bGVtZW50UHRyKSBjb24KICAgICBpZiAoIWVsZW1lbnRQdHIpCiAgICAgICAgIHJldHVybiBOb0Nv
bnRyb2xQYXJ0OwogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKGlzSW1h
Z2VDb250cm9sKGVsZW1lbnRQdHIpKQorICAgICAgICByZXR1cm4gSW1hZ2VDb250cm9sc0J1dHRv
blBhcnQ7CisjZW5kaWYKICAgICBSZWYgZWxlbWVudCA9ICplbGVtZW50UHRyOwogCiAgICAgaWYg
KGlzPEhUTUxJbnB1dEVsZW1lbnQ+KGVsZW1lbnQpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oCmluZGV4IDhlZjMwMGZjYzczNTlhNGZiYjBjMWRjNTQ2MGE5ODM3OWIxOThk
OGEuLmFhNGQ0OTgzYzc3ZGEyNDdkNDA4NTIxNDQ3Y2FmNzE3OTM0ZWRiNjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0zNjcsNiArMzY3LDcgQEAgcHJvdGVjdGVk
OgogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RJ
bWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29u
c3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50SW1hZ2VDb250cm9sc0J1dHRvbihjb25zdCBSZW5k
ZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgeyByZXR1cm4gdHJ1
ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc0ltYWdlQ29udHJvbChjb25zdCBFbGVtZW50KikgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFBy
b2dyZXNzQmFyU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4IGEwM2UxZjVjOTE2OWM2
ZWY2NWUzZDQ2MTg3Y2FmMWUxNmZlMTlkZjYuLjkyODIyZmMyOGJhMDAwMDNhODlhMGQ3Yzg5ODY2
M2RjMzZjMTE1NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5o
CkBAIC0yMTYsNiArMjE2LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKICAgICBib29sIHBhaW50SW1hZ2VDb250cm9sc0J1dHRvbihjb25zdCBSZW5kZXJPYmplY3Qm
LCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgZmluYWw7CiAgICAgSW50U2l6ZSBp
bWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgaXNJbWFnZUNv
bnRyb2woY29uc3QgRWxlbWVudCopIGNvbnN0IGZpbmFsOwogCiAgICAgTlNTZXJ2aWNlc1JvbGxv
dmVyQnV0dG9uQ2VsbCAqc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKSBjb25zdDsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCmluZGV4IDk2NDg1
NjEwYWZhMDJjMWNlYjUxOGE1MmViMzIwMTcxMWI5OGU2MDcuLmNhOGI3NDU4NGVhNTI1MGQ2NDdl
MjIwNWU2MjA5NTc1MTgxYWMwNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVNYWMubW0KQEAgLTgzLDYgKzgzLDEwIEBACiAjaW1wb3J0IDx3dGYvU3RkTGliRXh0cmFz
Lmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisjZW5kaWYKKwog
Ly8gRklYTUU6IFRoaXMgc2hvdWxkIGdvIGludG8gYW4gU1BJLmggZmlsZSBpbiB0aGUgc3BpIGRp
cmVjdG9yeS4KIEBpbnRlcmZhY2UgTlNUZXh0RmllbGRDZWxsICgpCiAtIChDRkRpY3Rpb25hcnlS
ZWYpX2NvcmVVSURyYXdPcHRpb25zV2l0aEZyYW1lOihOU1JlY3QpY2VsbEZyYW1lIGluVmlldzoo
TlNWaWV3ICopY29udHJvbFZpZXcgaW5jbHVkZUZvY3VzOihCT09MKWluY2x1ZGVGb2N1czsKQEAg
LTIzMDksNiArMjMxMywxMyBAQCBJbnRTaXplIFJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xz
QnV0dG9uU2l6ZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIEludFNpemUoc2VydmljZXNSb2xsb3Zl
ckJ1dHRvbkNlbGwoKS5jZWxsU2l6ZSk7CiB9CisKK2Jvb2wgUmVuZGVyVGhlbWVNYWM6OmlzSW1h
Z2VDb250cm9sKGNvbnN0IEVsZW1lbnQqIGVsZW1lbnRQdHIpIGNvbnN0Cit7CisgICAgaWYgKElt
YWdlQ29udHJvbHNNYWM6OmlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoKmVsZW1lbnRQdHIp
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CiAjZW5kaWYKIAog
I2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGRjZThkYjJiODdmOGVlMTFjOWMyZTJlYzhlMzI1
Mzc3ZjgwOWM0ZTYuLmZjMmQyY2NmNjgxNTZkZWU1NzU0M2VlNzg2NjBjYjcwNDFlYzVmODIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0xMTQx
LDggKzExNDEsMTcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QWNjZW50Q29sb3IoY29uc3QgQ29s
b3ImIGMpIHsgU0VUX1ZBUihtX3JhcmVJbmhlcml0ZWREYXRhLCBhY2NlbnRDb2xvciwgYyk7IFNF
VF9WQVIobV9yYXJlSW5oZXJpdGVkRGF0YSwgaGFzQXV0b0FjY2VudENvbG9yLCBmYWxzZSk7ICB9
CiAgICAgdm9pZCBzZXRIYXNBdXRvQWNjZW50Q29sb3IoKSB7IFNFVF9WQVIobV9yYXJlSW5oZXJp
dGVkRGF0YSwgaGFzQXV0b0FjY2VudENvbG9yLCB0cnVlKTsgU0VUX1ZBUihtX3JhcmVJbmhlcml0
ZWREYXRhLCBhY2NlbnRDb2xvciwgY3VycmVudENvbG9yKCkpOyB9CiAgICAgdm9pZCBzZXRPcGFj
aXR5KGZsb2F0IGYpIHsgZmxvYXQgdiA9IGNsYW1wVG88ZmxvYXQ+KGYsIDAuZiwgMS5mKTsgU0VU
X1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBvcGFjaXR5LCB2KTsgfQotICAgIHZvaWQgc2V0
QXBwZWFyYW5jZShDb250cm9sUGFydCBhKSB7IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0
YSwgYXBwZWFyYW5jZSwgYSk7IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZWZmZWN0
aXZlQXBwZWFyYW5jZSwgYSk7IH0KLSAgICB2b2lkIHNldEVmZmVjdGl2ZUFwcGVhcmFuY2UoQ29u
dHJvbFBhcnQgYSkgeyBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGVmZmVjdGl2ZUFw
cGVhcmFuY2UsIGEpOyB9CisgICAgdm9pZCBzZXRBcHBlYXJhbmNlKENvbnRyb2xQYXJ0IGEpCisg
ICAgeworICAgICAgICBzdGF0aWNfYXNzZXJ0KExhcmdlc3RDb250cm9sUGFydCA8IDEgPDwgQVBQ
RUFSQU5DRV9CSVRfV0lEVEgsICJDb250cm9sIHBhcnQgbXVzdCBmaXQgaW4gc3RvcmFnZSBiaXRz
Iik7CisgICAgICAgIFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgYXBwZWFyYW5jZSwg
YSk7CisgICAgICAgIFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZWZmZWN0aXZlQXBw
ZWFyYW5jZSwgYSk7CisgICAgfQorICAgIHZvaWQgc2V0RWZmZWN0aXZlQXBwZWFyYW5jZShDb250
cm9sUGFydCBhKQorICAgIHsKKyAgICAgICAgc3RhdGljX2Fzc2VydChMYXJnZXN0Q29udHJvbFBh
cnQgPCAxIDw8IEFQUEVBUkFOQ0VfQklUX1dJRFRILCAiQ29udHJvbCBwYXJ0IG11c3QgZml0IGlu
IHN0b3JhZ2UgYml0cyIpOworICAgICAgICBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEs
IGVmZmVjdGl2ZUFwcGVhcmFuY2UsIGEpOworICAgIH0KICAgICAvLyBGb3IgdmFsaWQgdmFsdWVz
IG9mIGJveC1hbGlnbiBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOS9XRC1jc3MzLWZsZXhi
b3gtMjAwOTA3MjMvI2FsaWdubWVudAogICAgIHZvaWQgc2V0Qm94QWxpZ24oQm94QWxpZ25tZW50
IGEpIHsgU0VUX05FU1RFRF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZGVwcmVjYXRlZEZs
ZXhpYmxlQm94LCBhbGlnbiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGEpKTsgfQogICAgIHZvaWQg
c2V0Qm94RGlyZWN0aW9uKEJveERpcmVjdGlvbiBkKSB7IG1faW5oZXJpdGVkRmxhZ3MuYm94RGly
ZWN0aW9uID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGQpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaApp
bmRleCA2NzhlNDgxMDlhOTYwZTA2ODZjNGFmYjFmZGQ5YWJlZTdhNmU3Y2NhLi4yMGJkZGY0MGJl
ZDRlNDZlZjJhY2M3M2I3ZTU3OTdhMjQwNDhlYWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKQEAg
LTY2LDYgKzY2LDggQEAgY2xhc3MgU3R5bGVUcmFuc2Zvcm1EYXRhOwogCiBzdHJ1Y3QgTGVuZ3Ro
U2l6ZTsKIAorI2RlZmluZSBBUFBFQVJBTkNFX0JJVF9XSURUSCA3CisKIC8vIFBhZ2Ugc2l6ZSB0
eXBlLgogLy8gU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6cGFnZVNpemUgaXMgbWVhbmluZ2Z1
bCBvbmx5IHdoZW4KIC8vIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OnBhZ2VTaXplVHlwZSBp
cyBQQUdFX1NJWkVfUkVTT0xWRUQuCkBAIC0yMDIsOCArMjA0LDggQEAgcHVibGljOgogICAgIHVu
c2lnbmVkIHVzZVNtb290aFNjcm9sbGluZyA6IDE7IC8vIFNjcm9sbEJlaGF2aW9yCiAgICAgdW5z
aWduZWQgbWFyZ2luQmVmb3JlQ29sbGFwc2UgOiAyOyAvLyBNYXJnaW5Db2xsYXBzZQogICAgIHVu
c2lnbmVkIG1hcmdpbkFmdGVyQ29sbGFwc2UgOiAyOyAvLyBNYXJnaW5Db2xsYXBzZQotICAgIHVu
c2lnbmVkIGFwcGVhcmFuY2UgOiA2OyAvLyBFQXBwZWFyYW5jZQotICAgIHVuc2lnbmVkIGVmZmVj
dGl2ZUFwcGVhcmFuY2UgOiA2OyAvLyBFQXBwZWFyYW5jZQorICAgIHVuc2lnbmVkIGFwcGVhcmFu
Y2UgOiBBUFBFQVJBTkNFX0JJVF9XSURUSDsgLy8gRUFwcGVhcmFuY2UKKyAgICB1bnNpZ25lZCBl
ZmZlY3RpdmVBcHBlYXJhbmNlIDogQVBQRUFSQU5DRV9CSVRfV0lEVEg7IC8vIEVBcHBlYXJhbmNl
CiAgICAgdW5zaWduZWQgYm9yZGVyRml0IDogMTsgLy8gQm9yZGVyRml0CiAgICAgdW5zaWduZWQg
dGV4dENvbWJpbmUgOiAxOyAvLyBDU1MzIHRleHQtY29tYmluZSBwcm9wZXJ0aWVzCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBkOGQ3MTRhY2YyNTVjYTcxZGU4MmU5MDgy
Nzg5YzMzZGM5OThhNzRhLi41NDAyMTg3NjM4MTljMTk4NzFlNTdhZGQ2YzlkZTQwZmI2YzlkZDZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC02Mzk3LDcgKzYzOTcsMTQg
QEAgRXhjZXB0aW9uT3I8SW50ZXJuYWxzOjpBdHRhY2htZW50VGh1bWJuYWlsSW5mbz4gSW50ZXJu
YWxzOjphdHRhY2htZW50VGh1bWJuYWlsSW4KICNlbmRpZgogfQogCi0jZW5kaWYKKyNpZiBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKK2Jvb2wgSW50ZXJuYWxzOjpoYXNJbWFnZUNvbnRyb2xzKGNv
bnN0IEhUTUxJbWFnZUVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGVsZW1l
bnQuaGFzSW1hZ2VDb250cm9scygpOworfQorI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorCisjZW5kaWYgLy8gRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKIAogI2lmIEVOQUJM
RShNRURJQV9TRVNTSU9OKQogRXhjZXB0aW9uT3I8ZG91YmxlPiBJbnRlcm5hbHM6OmN1cnJlbnRN
ZWRpYVNlc3Npb25Qb3NpdGlvbihjb25zdCBNZWRpYVNlc3Npb24mIHNlc3Npb24pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBmYmMxMjE5NTFlYTM5ZGQxNDhkNzVhZTIzNzc2NDg4
MGYwYjNlMWQ1Li4xMDI3OGY2ODUzZWViMjY0MjkwNmZmOGJmOWQxMDAwNDIxNzAyYmVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTExODQsNyArMTE4NCwxMCBAQCBwdWJsaWM6
CiAgICAgfTsKIAogICAgIEV4Y2VwdGlvbk9yPEF0dGFjaG1lbnRUaHVtYm5haWxJbmZvPiBhdHRh
Y2htZW50VGh1bWJuYWlsSW5mbyhjb25zdCBIVE1MQXR0YWNobWVudEVsZW1lbnQmKTsKLSNlbmRp
ZgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGJvb2wgaGFzSW1hZ2VDb250cm9s
cyhjb25zdCBIVE1MSW1hZ2VFbGVtZW50JikgY29uc3Q7CisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJ
Q0VfQ09OVFJPTFMpCisjZW5kaWYgLy8gRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKIAogI2lm
IEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIEV4Y2VwdGlvbk9yPGRvdWJsZT4gY3VycmVudE1l
ZGlhU2Vzc2lvblBvc2l0aW9uKGNvbnN0IE1lZGlhU2Vzc2lvbiYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsCmluZGV4IDIzNGMyMzYyNmMwNGUxZmNkMmEyZTVjYzJhNDQ5NTEyYjM2
ZWZhZGYuLmMzZTRiYzcyMmUzODNiOGNlYzc4ODhlY2RkOTUzMDI3ZDQ1ZDdlMDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTEwNzEsNiArMTA3MSw3IEBAIGVudW0gSEVW
Q1BhcmFtZXRlckNvZGVjIHsKICAgICB1bmRlZmluZWQgc2V0Q29udGVudFNpemVDYXRlZ29yeShD
b250ZW50U2l6ZUNhdGVnb3J5IGNhdGVnb3J5KTsKIAogICAgIFtDb25kaXRpb25hbD1BVFRBQ0hN
RU5UX0VMRU1FTlRdIEF0dGFjaG1lbnRUaHVtYm5haWxJbmZvIGF0dGFjaG1lbnRUaHVtYm5haWxJ
bmZvKEhUTUxBdHRhY2htZW50RWxlbWVudCBlbGVtZW50KTsKKyAgICBbQ29uZGl0aW9uYWw9QVRU
QUNITUVOVF9FTEVNRU5ULCBDb25kaXRpb25hbD1TRVJWSUNFX0NPTlRST0xTXSBib29sZWFuIGhh
c0ltYWdlQ29udHJvbHMoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50KTsKIAogICAgIFtDb25kaXRp
b25hbD1NRURJQV9TRVNTSU9OXSBkb3VibGUgY3VycmVudE1lZGlhU2Vzc2lvblBvc2l0aW9uKE1l
ZGlhU2Vzc2lvbiBzZXNzaW9uKTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU0VTU0lPTl0gdW5k
ZWZpbmVkIHNlbmRNZWRpYVNlc3Npb25BY3Rpb24oTWVkaWFTZXNzaW9uIHNlc3Npb24sIE1lZGlh
U2Vzc2lvbkFjdGlvbkRldGFpbHMgYWN0aW9uRGV0YWlscyk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTkxMDc3MWQyODc1
Zjc2NDQyN2NlZDJiMTg4NzU3NDkyYzdmY2JlZC4uN2JlZmYzYWE5OTUxMWJkYjA3ZDE2NTkyMzZk
MmM5ZjNiNDkxOWZlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEyLTIyICBNZWdhbiBH
YXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVubmVl
ZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1lbnUu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0MDUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBuZWVk
IHRvIG1vdmUgdGhpcyB0ZXN0IHRvIGJlIGEgbWFjIHNwZWNpZmljIG9uZSwgYXMgaXQgbm93IGhh
cyBtYWMgc3BlY2lmaWMgCisgICAgICAgIHRlc3QgaGFybmVzc2luZy4KKworICAgICAgICAqIFRl
c3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFz
aWMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvaW1hZ2VzL2ltYWdlLWNv
bnRyb2xzLWJhc2ljLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvbWFjL2lt
YWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQuCisgICAgICAgICogZmFzdC9pbWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9pbWFn
ZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBl
Y3RhdGlvbnM6CisKIDIwMjEtMTItMjAgIEFyY2FkeSBHb2xkbWludHMtT3Jsb3YgIDxhZ29sZG1p
bnRzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dMSUJdIFVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9u
cyBmb3Igc29tZSBmYXN0L2JveC1zaGFkb3cgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1
MWFjOTMzNjUzYzNjNmZhODNjMzA5NDYwMGQ5N2Y5Yjk0NDQ2YjY0Li4wZjg4ODZiYzgwM2YzMDM2
OWRlNTY1ZjNiYzgyZThmYzU0ODE4NTdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQwLDYgKzQw
LDcgQEAgZmFzdC9mb3Jtcy9zZWxlY3QvbWFjLXdrMiBbIFNraXAgXQogZmFzdC9mb3Jtcy90ZXh0
YXJlYS9pb3MgWyBTa2lwIF0KIGZhc3QvZm9ybXMvd2F0Y2hvcyBbIFNraXAgXQogZmFzdC9pbWFn
ZXMvdGV4dC1yZWNvZ25pdGlvbiBbIFNraXAgXQorZmFzdC9pbWFnZXMvbWFjIFsgU2tpcCBdCiBm
YXN0L3NhbmRib3gvaW9zIFsgU2tpcCBdCiBmYXN0L3NhbmRib3gvbWFjIFsgU2tpcCBdCiBmYXN0
L3ZpZXdwb3J0L3dhdGNob3MgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
aW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNTliNzVkNzZhMDQ4YWI0MDE1YmUwMmFlNjY3NDdhMmI4NTEyZGRi
ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCi0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5k
ZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlckltYWdlIHtJ
TUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1j
b250cm9scy1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJv
bHMtYmFzaWMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjRkMDVmMzViNGI2
MWNkNDdlYWM1ZmM0MTAzZmYzNDJiYWZmMjA0MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9s
cy1iYXNpYy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0gPHNjcmlwdD4KLWlm
ICh3aW5kb3cuaW50ZXJuYWxzKQotCWludGVybmFscy5zZXR0aW5ncy5zZXRJbWFnZUNvbnRyb2xz
RW5hYmxlZCh0cnVlKTsKLQotPC9zY3JpcHQ+Ci08Ym9keT4KLTxpbWcgc3JjPSJyZXNvdXJjZXMv
Z3JlZW4tMjU2eDI1Ni5qcGciIHgtd2Via2l0LWltYWdlbWVudT4KLTwvYm9keT4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9t
YWMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9p
bWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
YTljMTFhMmFhZTVjMTQwODY3Zjg5YjBkZmRjOWEzNzM2M2I0OGI5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDI3NgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4Mjc2CisgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MjYwCisgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CitsYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NiBbY29sb3I9IzAwMDAwMDAwXQor
bGF5ZXIgYXQgKDIxNSwzMCkgc2l6ZSAyN3gyNgorICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQg
KDIwNywyMikgc2l6ZSAyN3gyNiBbY29sb3I9IzAwMDAwMEQ4XSBbYmdjb2xvcj0jQzBDMEMwXSBb
Ym9yZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL21hYy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9pbWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjcxOGZj
OWVmZjMxZDg5YTU5YzUxYmYyYzJjMTY4YjI0NTYxYjFhZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvaW1hZ2VzL21hYy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sCkBAIC0w
LDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgQXR0
YWNobWVudEVsZW1lbnRFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7Cit9CitpZiAod2luZG93LmludGVybmFscykgeworIAlpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
SW1hZ2VDb250cm9sc0VuYWJsZWQodHJ1ZSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGltZyBpZD0idGFyZ2V0IiBzcmM9Ii4uL3Jlc291cmNlcy9ncmVlbi0yNTZ4MjU2LmpwZyI+
Cis8c2NyaXB0PgorCWZ1bmN0aW9uIGhhc0ltYWdlQ29udHJvbHMoZWxlbSkKKwl7CisJCWlmICh3
aW5kb3cuaW50ZXJuYWxzKQorCQkJcmV0dXJuIGludGVybmFscy5oYXNJbWFnZUNvbnRyb2xzKGVs
ZW0pOworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJanNUZXN0SXNBc3luYyA9IHRydWU7CisKKwl2
YXIgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKwl2YXIgSUQgPSBI
VE1MQXR0YWNobWVudEVsZW1lbnQuZ2V0QXR0YWNobWVudElkZW50aWZpZXIoZWxlbSk7CisKKwlz
ZXRJbnRlcnZhbCgoKSA9PiB7CisgICAgaWYgKGhhc0ltYWdlQ29udHJvbHMoZWxlbSkpCisgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworCX0sIDIwMCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmlnc3VyL2Zhc3QvaW1hZ2VzL21hYy9pbWFnZS1jb250cm9s
cy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmlnc3VyL2Zh
c3QvaW1hZ2VzL21hYy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTMyYzE0NjlkZmU3ZmUxOGNkYTlkZjI5YWU3ODA1NDYwYzY5Mzk3NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXIvZmFzdC9pbWFnZXMvbWFjL2lt
YWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDI3NgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA4MDB4Mjc2CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4
MjYwCisgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYKKyAg
UmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2
eDI1NiBbY29sb3I9IzAwMDAwMDAwXQorbGF5ZXIgYXQgKDIxNCwzMCkgc2l6ZSAyOHgyNgorICBS
ZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDIwNiwyMikgc2l6ZSAyOHgyNiBbY29sb3I9IzAwMDAw
MEQ4XSBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKV0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MjRiMjlkNTNjNTlmNWU4ZWJmN2YzMmRk
NDk2M2MwODYxOTU3NDUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9pbWFn
ZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCww
IEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
OCkgc2l6ZSA3ODR4NTg0Ci0gICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1
NngyNTYKLSAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIg
YXQgKDgsOCkgc2l6ZSAyNTZ4MjU2Ci0gIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVk
KSB7RElWfSBhdCAoMCwwKSBzaXplIDI1NngyNTYgW2NvbG9yPSMwMDAwMDAwMF0KLWxheWVyIGF0
ICgyMTUsMzApIHNpemUgMjd4MjYKLSAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgyMDcsMjIp
IHNpemUgMjd4MjYgW2NvbG9yPSMwMDAwMDBEOF0gW2JnY29sb3I9I0MwQzBDMF0gW2JvcmRlcjog
KDJweCBvdXRzZXQgI0MwQzBDMCldCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IGJhNmEwOWRmMDc0YWVlMGUxODc0N2I0ODViYzc3MWI3OTJjY2EzNTguLjQ4
ZTViZDRmNzBjMDkxYmUzZjNlMzgyMTFmOTQxMmE1NTBlNWFkZjkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNiw2ICsxNiw3IEBAIGVkaXRpbmcvcGFz
dGVib2FyZC9tYWMgWyBQYXNzIF0KIGZhc3QvZG9tL1JhbmdlL21hYyBbIFBhc3MgXQogZmFzdC9z
Y3JvbGxpbmcvbGF0Y2hpbmcgWyBQYXNzIF0KIG1vZGVsLWVsZW1lbnQgWyBQYXNzIF0KK2Zhc3Qv
aW1hZ2VzL21hYyBbIFBhc3MgXQogCiAjIERpc2FibGUgcGx1Zy1pbiB0ZXN0cyBvbiBBcHBsZSBT
aWxpY29uCiBbIGFybTY0IF0gY29tcG9zaXRpbmcvcGx1Z2lucyBbIFNraXAgXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJh
c2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDgzMjEzYTNjZGY5YTMwYmM5M2JjODg3MDEyZGI0N2YzZDQ0NTZmNWMuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAot
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCi0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlckltYWdl
IHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYKLSAgUmVuZGVyQmxv
Y2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NiBbY29s
b3I9IzAwMDAwMDAwXQotbGF5ZXIgYXQgKDIxNCwzMCkgc2l6ZSAyOHgyNgotICBSZW5kZXJCdXR0
b24ge0JVVFRPTn0gYXQgKDIwNiwyMikgc2l6ZSAyOHgyNiBbY29sb3I9IzAwMDAwMEQ4XSBbYmdj
b2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKV0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448346</attachid>
            <date>2022-01-04 16:48:57 -0800</date>
            <delta_ts>2022-01-05 16:11:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234405-20220104164856.patch</filename>
            <type>text/plain</type>
            <size>28291</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjNjZmQ4MTg0OTEwM2M1
ZTQxMjJjYzg5MzZjNmFlNjhmMzI3MDUxZC4uYmU5YmJhOThkNDFjODdlNDBjMzljN2E4ZjBkZTQ1
MGE4NjBjODU3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIyLTAxLTA0ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVu
bmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1l
bnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0
MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBmYXN0L2ltYWdlcy9tYWMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbAorCisgICAgICAgIFdl
IGRvIG5vdCBhY3R1YWxseSBuZWVkIGEgc3BlY2lmaWMgQ1NTIGF0dHJpYnV0ZSB0byBhY2hpZXZl
IHRoZSBpbWFnZSBjb250cm9sIG1lbnUsCisgICAgICAgIHNvIHdlIHNob3VsZCByZW1vdmUgaXQg
dG8ga2VlcCBXZWJLaXQgc3BlY2lmaWMgY2x1dHRlciBvdXQgb2Ygb3VyIENTUyBpbXBsZW1lbnRh
dGlvbgorICAgICAgICBhbmQgd2Ugc2hvdWxkIGtlZXAgdHJhY2sgb2YgdGhlIHByZXNlbmNlIG9m
IHRoZSBpbWFnZSBjb250cm9sIG1lbnUgZnVsbHkgaW50ZXJuYWxseS4KKyAgICAgICAgRG9pbmcg
dGhpcyBhbHNvIGV4cG9zZWQgc2V2ZXJhbCBpc3N1ZXMsIGluY2x1ZGluZyB0aGUgZmFjdCB0aGF0
IHdlIGhhZCBhbHJlYWR5IHJ1biBvdXQKKyAgICAgICAgb2Ygc3BhY2UgZm9yIHRoZSBzdG9yaW5n
IG9mIHRoZSBDb250cm9sUGFydCBpbiBSZW5kZXJTdHlsZS4gQWxzbyBhZGRlZCBhIGNoZWNrIHRv
IG1ha2UKKyAgICAgICAgc3VyZSB0aGF0IHdpbGwgbm90IGhhcHBlbiBhZ2Fpbi4KKworICAgICAg
ICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQ
cm9wZXJ0aWVzLmpzb246CisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46CisgICAg
ICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
aXNWYWx1ZUFsbG93ZWRJbk1vZGUpOgorICAgICAgICAqIGRvbS9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0luc2lkZUltYWdl
Q29udHJvbHMpOgorICAgICAgICAqIGRvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5oOgorICAgICAg
ICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1h
Z2VFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VF
bGVtZW50OjpzZXRBdHRhY2htZW50RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1h
Z2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xzKToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFn
ZUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5j
c3M6CisgICAgICAgIChkaXYjaW1hZ2UtY29udHJvbHMgYnV0dG9uI2ltYWdlLWNvbnRyb2xzLWJ1
dHRvbik6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgorICAgICAgICAqIHJlbmRl
cmluZy9IaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6
Om5vZGVGb3JJbWFnZURhdGEgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YXV0b0FwcGVhcmFuY2VGb3JF
bGVtZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjppc0ltYWdlQ29udHJvbCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clRoZW1lTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmlzSW1hZ2VD
b250cm9sIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpzZXRBcHBlYXJhbmNlKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclN0eWxlOjpzZXRFZmZlY3RpdmVBcHBlYXJhbmNlKToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAq
IHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6aGFz
SW1hZ2VDb250cm9scyBjb25zdCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjItMDEtMDQgIEplciBOb2JsZSAg
PGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBIYW5nIGluIEFWVHJhY2tQ
cml2YXRlQVZGT2JqQ0ltcGw6OmJpdHJhdGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggMTM2NWE0NTRkNDQ0ZWY3OTM5ODljNjk0YmU4
NDRjOGM0NTA3ZTA5NC4uMTM3M2Y5ZDNkNmI0M2Y5MjdlZWJlNzQ0MzUxYjBjODUxMmUyNTdmYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3Mu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCkBA
IC02MzQsNyArNjM0LDggQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKENvbnRyb2xQYXJ0IGUpCiAjZW5kaWYKICNpZiBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKICAgICBjYXNlIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0OgotICAgICAgICBt
X3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUludGVybmFsSW1hZ2VDb250cm9sc0J1dHRvbjsKKyAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENT
U1ZhbHVlTm9uZTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICNpZiBFTkFCTEUoQVBQTEVfUEFZ
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbiBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KaW5kZXggMDE5MjhmYWZkNDQ3YjZj
MjUzNDRlNjZkNTExZjUwZDZkOGI2NzFjYS4uZDE5NmU4YmFhYWVmZDY0ZGI1NDIwMmU2ODA4ZWIx
MGFlOTJiNTU5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMu
anNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCkBAIC01MTU5
LDcgKzUxNTksNiBAQAogICAgICAgICAgICAgICAgICJjb250aW51b3VzLWNhcGFjaXR5LWxldmVs
LWluZGljYXRvciIsCiAgICAgICAgICAgICAgICAgImRpc2NyZXRlLWNhcGFjaXR5LWxldmVsLWlu
ZGljYXRvciIsCiAgICAgICAgICAgICAgICAgInJhdGluZy1sZXZlbC1pbmRpY2F0b3IiLAotICAg
ICAgICAgICAgICAgICItaW50ZXJuYWwtaW1hZ2UtY29udHJvbHMtYnV0dG9uIiwKICAgICAgICAg
ICAgICAgICAiLWFwcGxlLXBheS1idXR0b24iLAogICAgICAgICAgICAgICAgICJ0ZXh0YXJlYSIs
CiAgICAgICAgICAgICAgICAgImF0dGFjaG1lbnQiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVL
ZXl3b3Jkcy5pbgppbmRleCAxZTcxZjliOGVmODFjMGQxYmU3OGUyN2UyYjUwNWNjYTA5ZWE0Yzlk
Li5iYjAxZDc4NjE5YzA0MDg1NGNiMTBmNTJiOTk2MDMwOWM5OWNmOThiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAtODkwLDkgKzg5MCw2IEBAIHJlbGV2YW5jeS1s
ZXZlbC1pbmRpY2F0b3IKIGNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yCiBkaXNj
cmV0ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IKIHJhdGluZy1sZXZlbC1pbmRpY2F0b3IKLSNp
ZiBkZWZpbmVkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAmJiBFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUwotLWludGVybmFsLWltYWdlLWNvbnRyb2xzLWJ1dHRvbgotI2VuZGlmCiAjaWYgZGVmaW5l
ZChFTkFCTEVfQVBQTEVfUEFZKSAmJiBFTkFCTEVfQVBQTEVfUEFZCiAtYXBwbGUtcGF5LWJ1dHRv
bgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNl
cklkaW9tcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5j
cHAKaW5kZXggMjUyOTc3MzFiMmZhZGRlYjUwNjVmZjliYjc2YjU4NjNkNmQxZjczYy4uNjU0NGYy
NmY1MWE5MjNlZTYzMGU3OTE4ZGI5MzM4NmZjYTVlNTdkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcApAQCAtNDAsMTAgKzQwLDYgQEAgYm9vbCBp
c1ZhbHVlQWxsb3dlZEluTW9kZSh1bnNpZ25lZCBzaG9ydCBpZCwgQ1NTUGFyc2VyTW9kZSBtb2Rl
KQogICAgICAgICByZXR1cm4gaXNVQVNoZWV0QmVoYXZpb3IobW9kZSk7CiAgICAgY2FzZSBDU1NW
YWx1ZVdlYmtpdEZvY3VzUmluZ0NvbG9yOgogICAgICAgICByZXR1cm4gaXNVQVNoZWV0QmVoYXZp
b3IobW9kZSkgfHwgaXNRdWlya3NNb2RlQmVoYXZpb3IobW9kZSk7Ci0jaWYgRU5BQkxFKFNFUlZJ
Q0VfQ09OVFJPTFMpCi0gICAgY2FzZSBDU1NWYWx1ZUludGVybmFsSW1hZ2VDb250cm9sc0J1dHRv
bjoKLSAgICAgICAgcmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpOwotI2VuZGlmCiAgICAg
ZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAKaW5kZXggYmI4ODYxZDEwNzE0NGE1ODI5ZTc5N2M1
NjJkMDk2ODhiZThiOWJhMi4uZDlmYjEwNzUwYmYxNWI1ZGMzYzI5MzZjZDBjMDA0YWU0MzI3Njgy
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCkBAIC03
Myw2ICs3MywxNCBAQCBib29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoY29uc3QgTm9k
ZSYgbm9kZSkKICAgICByZXR1cm4gaXM8RWxlbWVudD4obm9kZSkgJiYgZG93bmNhc3Q8RWxlbWVu
dD4obm9kZSkuZ2V0SWRBdHRyaWJ1dGUoKSA9PSBpbWFnZUNvbnRyb2xzQnV0dG9uSWRlbnRpZmll
cigpOwogfQogCitib29sIGlzSW5zaWRlSW1hZ2VDb250cm9scyhjb25zdCBOb2RlJiBub2RlKQor
eworICAgIFJlZlB0ciBob3N0ID0gbm9kZS5zaGFkb3dIb3N0KCk7CisgICAgaWYgKCFpczxIVE1M
RWxlbWVudD4oaG9zdC5nZXQoKSkgfHwgIWhhc0NvbnRyb2xzKGRvd25jYXN0PEhUTUxFbGVtZW50
PigqaG9zdCkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIGlzPEVsZW1lbnQ+
KG5vZGUpICYmIGRvd25jYXN0PEVsZW1lbnQ+KG5vZGUpLmdldElkQXR0cmlidXRlKCkgPT0gaW1h
Z2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCk7Cit9CisKIHZvaWQgY3JlYXRlSW1hZ2VDb250
cm9scyhIVE1MRWxlbWVudCYgZWxlbWVudCkKIHsKICAgICBSZWYgZG9jdW1lbnQgPSBlbGVtZW50
LmRvY3VtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29u
dHJvbHNNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5oCmlu
ZGV4IDZhY2I0YmYzZTIzYjc1ODAzN2QzMWRhZmRhY2I4NGNhZDM3YjhjMGUuLjExZWYzMGIyYTAx
YmEyYWM3MTE5MGUxZjJmYTc5YjgxZGI5MTkyYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMv
SW1hZ2VDb250cm9sc01hYy5oCkBAIC0zOCw2ICszOCw3IEBAIG5hbWVzcGFjZSBJbWFnZUNvbnRy
b2xzTWFjIHsKIAogYm9vbCBoYXNDb250cm9scyhjb25zdCBIVE1MRWxlbWVudCYpOwogYm9vbCBp
c0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KGNvbnN0IE5vZGUmKTsKK2Jvb2wgaXNJbnNpZGVJ
bWFnZUNvbnRyb2xzKGNvbnN0IE5vZGUmKTsKIHZvaWQgY3JlYXRlSW1hZ2VDb250cm9scyhIVE1M
RWxlbWVudCYpOwogYm9vbCBoYW5kbGVFdmVudChIVE1MRWxlbWVudCYsIEV2ZW50Jik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmluZGV4IDc3Yzk4ZjVlMDQ1OTc2
Zjk5N2M1ODliYTFhYzQzYzVmZGYxYWIyODMuLjkzOWQ0NTk0NjIyMDQ3OGRiYTNkOWNkYWJhYTc0
OWNmN2E2NTg4MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcApA
QCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkVk
aXRvci5oIgogI2luY2x1ZGUgIkVsZW1lbnRJdGVyYXRvci5oIgorI2luY2x1ZGUgIkV2ZW50TG9v
cC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNp
bmNsdWRlICJIVE1MQW5jaG9yRWxlbWVudC5oIgpAQCAtMzEzLDggKzMxNCw3IEBAIHZvaWQgSFRN
TEltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwg
Y29uc3QgQXRvbVN0cmluCiAgICAgICAgIGlmICghcGFyc2VDb21wb3NpdGVBbmRCbGVuZE9wZXJh
dG9yKHZhbHVlLCBtX2NvbXBvc2l0ZU9wZXJhdG9yLCBibGVuZE9wKSkKICAgICAgICAgICAgIG1f
Y29tcG9zaXRlT3BlcmF0b3IgPSBDb21wb3NpdGVPcGVyYXRvcjo6U291cmNlT3ZlcjsKICNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKLSAgICB9IGVsc2UgaWYgKG5hbWUgPT0gd2Via2l0aW1h
Z2VtZW51QXR0cikgewotICAgICAgICBtX2ltYWdlTWVudUVuYWJsZWQgPSAhdmFsdWUuaXNOdWxs
KCk7CisgICAgfSBlbHNlIGlmIChtX2ltYWdlTWVudUVuYWJsZWQpIHsKICAgICAgICAgdXBkYXRl
SW1hZ2VDb250cm9scygpOwogI2VuZGlmCiAgICAgfSBlbHNlIGlmIChuYW1lID09IGxvYWRpbmdB
dHRyKSB7CkBAIC03NDMsNyArNzQzLDkgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50OjpzZXRBdHRh
Y2htZW50RWxlbWVudChSZWY8SFRNTEF0dGFjaG1lbnRFbGVtZW50PiYmIGF0dGFjaG0KIAogICAg
IGF0dGFjaG1lbnQtPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlEaXNwbGF5LCBD
U1NWYWx1ZU5vbmUsIHRydWUpOwogICAgIGVuc3VyZVVzZXJBZ2VudFNoYWRvd1Jvb3QoKS5hcHBl
bmRDaGlsZChXVEZNb3ZlKGF0dGFjaG1lbnQpKTsKLSAgICBzZXRBdHRyaWJ1dGVXaXRob3V0U3lu
Y2hyb25pemF0aW9uKHdlYmtpdGltYWdlbWVudUF0dHIsIGVtcHR5U3RyaW5nKCkpOworI2lmIEVO
QUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIG1faW1hZ2VNZW51RW5hYmxlZCA9IHRydWU7Cisj
ZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiB9CiAKIFJlZlB0cjxIVE1MQXR0YWNo
bWVudEVsZW1lbnQ+IEhUTUxJbWFnZUVsZW1lbnQ6OmF0dGFjaG1lbnRFbGVtZW50KCkgY29uc3QK
QEAgLTc3NSwxMSArNzc3LDEzIEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6dXBkYXRlSW1hZ2VD
b250cm9scygpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoIWRvY3VtZW50KCkuc2V0dGluZ3Mo
KS5pbWFnZUNvbnRyb2xzRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47Ci0gICAgYm9vbCBoYXND
b250cm9scyA9IGhhc0ltYWdlQ29udHJvbHMoKTsKLSAgICBpZiAoIW1faW1hZ2VNZW51RW5hYmxl
ZCAmJiBoYXNDb250cm9scykKLSAgICAgICAgZGVzdHJveUltYWdlQ29udHJvbHMoKTsKLSAgICBl
bHNlIGlmIChtX2ltYWdlTWVudUVuYWJsZWQgJiYgIWhhc0NvbnRyb2xzKQotICAgICAgICB0cnlD
cmVhdGVJbWFnZUNvbnRyb2xzKCk7CisgICAgZG9jdW1lbnQoKS5ldmVudExvb3AoKS5xdWV1ZVRh
c2soVGFza1NvdXJjZTo6SW50ZXJuYWxBc3luY1Rhc2ssIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0g
UmVmIHsgKnRoaXMgfV0geworICAgICAgICBib29sIGhhc0NvbnRyb2xzID0gaGFzSW1hZ2VDb250
cm9scygpOworICAgICAgICBpZiAoIW1faW1hZ2VNZW51RW5hYmxlZCAmJiBoYXNDb250cm9scykK
KyAgICAgICAgICAgIGRlc3Ryb3lJbWFnZUNvbnRyb2xzKCk7CisgICAgICAgIGVsc2UgaWYgKG1f
aW1hZ2VNZW51RW5hYmxlZCAmJiAhaGFzQ29udHJvbHMpCisgICAgICAgICAgICB0cnlDcmVhdGVJ
bWFnZUNvbnRyb2xzKCk7CisgICAgfSk7CiB9CiAKIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6dHJ5
Q3JlYXRlSW1hZ2VDb250cm9scygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbWFnZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5o
CmluZGV4IDdmOTE0YTVhZTRjZjlmOTIwYzUwNDA5OWEyMjVmOWYyNDZmY2IzNWEuLjFkOTlkMzIx
N2I1NmZlM2MxYzVkMGM1NThkN2ViNDczYTk4OWMzZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEltYWdlRWxlbWVudC5oCkBAIC0xNDcsNiArMTQ3LDEwIEBAIHB1YmxpYzoKICAgICBSZWZlcnJl
clBvbGljeSByZWZlcnJlclBvbGljeSgpIGNvbnN0OwogCiAgICAgYm9vbCBhbGxvd3NPcmllbnRh
dGlvbk92ZXJyaWRlKCkgY29uc3Q7CisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBoYXNJbWFnZUNvbnRyb2xzKCkgY29uc3Q7CisjZW5k
aWYKIAogcHJvdGVjdGVkOgogICAgIEhUTUxJbWFnZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50JiwgSFRNTEZvcm1FbGVtZW50KiA9IG51bGxwdHIpOwpAQCAtMTk3LDcgKzIw
MSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVJbWFnZUNvbnRyb2xzKCk7CiAgICAgdm9p
ZCB0cnlDcmVhdGVJbWFnZUNvbnRyb2xzKCk7CiAgICAgdm9pZCBkZXN0cm95SW1hZ2VDb250cm9s
cygpOwotICAgIGJvb2wgaGFzSW1hZ2VDb250cm9scygpIGNvbnN0OwogICAgIGJvb2wgY2hpbGRT
aG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlJikgY29uc3Qgb3ZlcnJpZGU7CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29udHJv
bHNNYWMuY3NzIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNN
YWMuY3NzCmluZGV4IGQ1YTZhZWY0NmZiYzkyNDIxMmJiMWU4NTZlMjU1MjdiOWFhM2Q2YWUuLmUy
YzhjZmRmOWEyYjYwMzU4ODIyZGQxNDU5Nzg5OTI4YzVjNzRjMGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKQEAgLTM5LDcg
KzM5LDcgQEAgZGl2I2ltYWdlLWNvbnRyb2xzIGJ1dHRvbiNpbWFnZS1jb250cm9scy1idXR0b24g
ewogICAgIAogICAgIGRpc3BsYXk6IGJsb2NrOwogCi0gICAgYXBwZWFyYW5jZTogLWludGVybmFs
LWltYWdlLWNvbnRyb2xzLWJ1dHRvbjsKKyAgICBhcHBlYXJhbmNlOiBhdXRvOwogCiAgICAgdHJh
bnNpdGlvbjogb3BhY2l0eSAwLjI1czsKICAgICBvcGFjaXR5OiAwLjA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9UaGVtZVR5cGVzLmgKaW5kZXggNDJiYjM2NDkwNTdiNDI1MTMxMTlmN2NlMDgwYzUyZTMw
YmU3NTkwYy4uYjIxNTI1NDBlYzI1YzNkNTljNTcxMGJlMDE5NTI1NWFmZTA5MTg3NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaApAQCAtOTEsOSArOTEsNiBAQCBlbnVtIENvbnRy
b2xQYXJ0IHsKICAgICBDb250aW51b3VzQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQsCiAgICAg
RGlzY3JldGVDYXBhY2l0eUxldmVsSW5kaWNhdG9yUGFydCwKICAgICBSYXRpbmdMZXZlbEluZGlj
YXRvclBhcnQsCi0jaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0gICAgSW1hZ2VDb250cm9s
c0J1dHRvblBhcnQsCi0jZW5kaWYKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIEFwcGxlUGF5
QnV0dG9uUGFydCwKICNlbmRpZgpAQCAtMTA4LDcgKzEwNSwxNSBAQCBlbnVtIENvbnRyb2xQYXJ0
IHsKICAgICBBdHRhY2htZW50UGFydCwKICAgICBCb3JkZXJsZXNzQXR0YWNobWVudFBhcnQsCiAj
ZW5kaWYKLSAgICBDYXBzTG9ja0luZGljYXRvclBhcnQKKyAgICBDYXBzTG9ja0luZGljYXRvclBh
cnQsCisgICAgLy8gSW50ZXJuYWwtb25seSBWYWx1ZXMKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKKyAgICBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydCwKKyAgICBMYXJnZXN0Q29udHJvbFBh
cnQgPSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydAorI2Vsc2UKKyAgICBMYXJnZXN0Q29udHJvbFBh
cnQgPSBDYXBzTG9ja0luZGljYXRvclBhcnQKKyNlbmRpZgorICAgIAogfTsKIAogZW51bSBTZWxl
Y3Rpb25QYXJ0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0
UmVzdWx0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcApp
bmRleCBmNmIxMWQ5ZDYyOWFjZmJmYjg3ODYwY2I3YjhjZDI4Y2ViYzFiMThiLi44MzAyNTkxOTJj
NDYxYzgyNTFhODkyNTU2NzkyM2UxMjM2OThmZjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0hpdFRlc3RSZXN1bHQuY3BwCkBAIC01NCw2ICs1NCwxMCBAQAogI2luY2x1ZGUgIlZpc2li
bGVVbml0cy5oIgogI2luY2x1ZGUgIlhMaW5rTmFtZXMuaCIKIAorI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRpZgorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CkBAIC0zMzUsNiAr
MzM5LDExIEBAIFJlZlB0cjxOb2RlPiBIaXRUZXN0UmVzdWx0Ojpub2RlRm9ySW1hZ2VEYXRhKCkg
Y29uc3QKIAogICAgIGlmIChJbWFnZU92ZXJsYXk6OmlzSW5zaWRlT3ZlcmxheSgqbV9pbm5lck5v
blNoYXJlZE5vZGUpKQogICAgICAgICByZXR1cm4gbV9pbm5lck5vblNoYXJlZE5vZGUtPnNoYWRv
d0hvc3QoKTsKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBpZiAoSW1h
Z2VDb250cm9sc01hYzo6aXNJbnNpZGVJbWFnZUNvbnRyb2xzKCptX2lubmVyTm9uU2hhcmVkTm9k
ZSkpCisgICAgICAgIHJldHVybiBtX2lubmVyTm9uU2hhcmVkTm9kZS0+c2hhZG93SG9zdCgpOwor
I2VuZGlmCiAKICAgICByZXR1cm4gbV9pbm5lck5vblNoYXJlZE5vZGU7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCBjNzVhNGMzZDZlY2UzMTMwYmFhYTY5
OGMyYWQ3NTVlMTUzMDIxYzM0Li4xMDZjMTU1OWNmY2U1YzI3NzA5MDEyODcyYzU5NWIzZmQ3YmJj
ZGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKQEAgLTU3LDYg
KzU3LDkgQEAKICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9TdHJpbmdDb25jYXRlbmF0ZU51bWJlcnMuaD4KIAorI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRpZgogCiAjaWYgRU5B
QkxFKERBVEFMSVNUX0VMRU1FTlQpCiAjaW5jbHVkZSAiSFRNTERhdGFMaXN0RWxlbWVudC5oIgpA
QCAtMjk2LDYgKzI5OSwxMCBAQCBDb250cm9sUGFydCBSZW5kZXJUaGVtZTo6YXV0b0FwcGVhcmFu
Y2VGb3JFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnRQdHIpIGNvbgogICAgIGlmICghZWxl
bWVudFB0cikKICAgICAgICAgcmV0dXJuIE5vQ29udHJvbFBhcnQ7CiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgICBpZiAoaXNJbWFnZUNvbnRyb2woZWxlbWVudFB0cikpCisgICAg
ICAgIHJldHVybiBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDsKKyNlbmRpZgogICAgIFJlZiBlbGVt
ZW50ID0gKmVsZW1lbnRQdHI7CiAKICAgICBpZiAoaXM8SFRNTElucHV0RWxlbWVudD4oZWxlbWVu
dCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggOGVmMzAwZmNj
NzM1OWE0ZmJiMGMxZGM1NDYwYTk4Mzc5YjE5OGQ4YS4uYWE0ZDQ5ODNjNzdkYTI0N2Q0MDg1MjE0
NDdjYWY3MTc5MzRlZGI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgK
QEAgLTM2Nyw2ICszNjcsNyBAQCBwcm90ZWN0ZWQ6CiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJP
TFMpCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZShSZW5k
ZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRJ
bWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYs
IGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIGlzSW1h
Z2VDb250cm9sKGNvbnN0IEVsZW1lbnQqKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlm
CiAKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShSZW5kZXJTdHlsZSYs
IGNvbnN0IEVsZW1lbnQqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lTWFjLmgKaW5kZXggYTAzZTFmNWM5MTY5YzZlZjY1ZTNkNDYxODdjYWYxZTE2ZmUxOWRmNi4u
OTI4MjJmYzI4YmEwMDAwM2E4OWEwZDdjODk4NjYzZGMzNmMxMTU1ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKQEAgLTIxNiw2ICsyMTYsNyBAQCBwcml2YXRl
OgogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIGJvb2wgcGFpbnRJbWFnZUNvbnRy
b2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IElu
dFJlY3QmKSBmaW5hbDsKICAgICBJbnRTaXplIGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29u
c3QgZmluYWw7CisgICAgYm9vbCBpc0ltYWdlQ29udHJvbChjb25zdCBFbGVtZW50KikgY29uc3Qg
ZmluYWw7CiAKICAgICBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsICpzZXJ2aWNlc1JvbGxv
dmVyQnV0dG9uQ2VsbCgpIGNvbnN0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVNYWMubW0KaW5kZXggOTY0ODU2MTBhZmEwMmMxY2ViNTE4YTUyZWIzMjAxNzEx
Yjk4ZTYwNy4uY2E4Yjc0NTg0ZWE1MjUwZDY0N2UyMjA1ZTYyMDk1NzUxODFhYzA3NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQpAQCAtODMsNiArODMsMTAg
QEAKICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmlu
Z0J1aWxkZXIuaD4KIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIklt
YWdlQ29udHJvbHNNYWMuaCIKKyNlbmRpZgorCiAvLyBGSVhNRTogVGhpcyBzaG91bGQgZ28gaW50
byBhbiBTUEkuaCBmaWxlIGluIHRoZSBzcGkgZGlyZWN0b3J5LgogQGludGVyZmFjZSBOU1RleHRG
aWVsZENlbGwgKCkKIC0gKENGRGljdGlvbmFyeVJlZilfY29yZVVJRHJhd09wdGlvbnNXaXRoRnJh
bWU6KE5TUmVjdCljZWxsRnJhbWUgaW5WaWV3OihOU1ZpZXcgKiljb250cm9sVmlldyBpbmNsdWRl
Rm9jdXM6KEJPT0wpaW5jbHVkZUZvY3VzOwpAQCAtMjMwOSw2ICsyMzEzLDEzIEBAIEludFNpemUg
UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gSW50U2l6ZShzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpLmNlbGxTaXplKTsKIH0K
KworYm9vbCBSZW5kZXJUaGVtZU1hYzo6aXNJbWFnZUNvbnRyb2woY29uc3QgRWxlbWVudCogZWxl
bWVudFB0cikgY29uc3QKK3sKKyAgICBpZiAoSW1hZ2VDb250cm9sc01hYzo6aXNJbWFnZUNvbnRy
b2xzQnV0dG9uRWxlbWVudCgqZWxlbWVudFB0cikpCisgICAgICAgIHJldHVybiB0cnVlOworICAg
IHJldHVybiBmYWxzZTsKK30KICNlbmRpZgogCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVO
VCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXgg
MjcyYTE5NmVlY2ZiZGUwMDhhOTk4NGUwYTQ1MjkzMmE5MDBlOTIyOC4uNTY5N2JmZjQwZjkxZTFk
MmY4N2U1M2VlYzU2ZDdkNTJiZmI3OTIxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTExMzgsOCArMTEzOCwxNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRBY2NlbnRDb2xvcihjb25zdCBDb2xvciYgYykgeyBTRVRfVkFSKG1fcmFyZUluaGVy
aXRlZERhdGEsIGFjY2VudENvbG9yLCBjKTsgU0VUX1ZBUihtX3JhcmVJbmhlcml0ZWREYXRhLCBo
YXNBdXRvQWNjZW50Q29sb3IsIGZhbHNlKTsgIH0KICAgICB2b2lkIHNldEhhc0F1dG9BY2NlbnRD
b2xvcigpIHsgU0VUX1ZBUihtX3JhcmVJbmhlcml0ZWREYXRhLCBoYXNBdXRvQWNjZW50Q29sb3Is
IHRydWUpOyBTRVRfVkFSKG1fcmFyZUluaGVyaXRlZERhdGEsIGFjY2VudENvbG9yLCBjdXJyZW50
Q29sb3IoKSk7IH0KICAgICB2b2lkIHNldE9wYWNpdHkoZmxvYXQgZikgeyBmbG9hdCB2ID0gY2xh
bXBUbzxmbG9hdD4oZiwgMC5mLCAxLmYpOyBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEs
IG9wYWNpdHksIHYpOyB9Ci0gICAgdm9pZCBzZXRBcHBlYXJhbmNlKENvbnRyb2xQYXJ0IGEpIHsg
U0VUX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBhcHBlYXJhbmNlLCBhKTsgU0VUX1ZBUiht
X3JhcmVOb25Jbmhlcml0ZWREYXRhLCBlZmZlY3RpdmVBcHBlYXJhbmNlLCBhKTsgfQotICAgIHZv
aWQgc2V0RWZmZWN0aXZlQXBwZWFyYW5jZShDb250cm9sUGFydCBhKSB7IFNFVF9WQVIobV9yYXJl
Tm9uSW5oZXJpdGVkRGF0YSwgZWZmZWN0aXZlQXBwZWFyYW5jZSwgYSk7IH0KKyAgICB2b2lkIHNl
dEFwcGVhcmFuY2UoQ29udHJvbFBhcnQgYSkKKyAgICB7CisgICAgICAgIHN0YXRpY19hc3NlcnQo
TGFyZ2VzdENvbnRyb2xQYXJ0IDwgMSA8PCBBUFBFQVJBTkNFX0JJVF9XSURUSCwgIkNvbnRyb2wg
cGFydCBtdXN0IGZpdCBpbiBzdG9yYWdlIGJpdHMiKTsKKyAgICAgICAgU0VUX1ZBUihtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLCBhcHBlYXJhbmNlLCBhKTsKKyAgICAgICAgU0VUX1ZBUihtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLCBlZmZlY3RpdmVBcHBlYXJhbmNlLCBhKTsKKyAgICB9CisgICAgdm9p
ZCBzZXRFZmZlY3RpdmVBcHBlYXJhbmNlKENvbnRyb2xQYXJ0IGEpCisgICAgeworICAgICAgICBz
dGF0aWNfYXNzZXJ0KExhcmdlc3RDb250cm9sUGFydCA8IDEgPDwgQVBQRUFSQU5DRV9CSVRfV0lE
VEgsICJDb250cm9sIHBhcnQgbXVzdCBmaXQgaW4gc3RvcmFnZSBiaXRzIik7CisgICAgICAgIFNF
VF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZWZmZWN0aXZlQXBwZWFyYW5jZSwgYSk7Cisg
ICAgfQogICAgIC8vIEZvciB2YWxpZCB2YWx1ZXMgb2YgYm94LWFsaWduIHNlZSBodHRwOi8vd3d3
LnczLm9yZy9UUi8yMDA5L1dELWNzczMtZmxleGJveC0yMDA5MDcyMy8jYWxpZ25tZW50CiAgICAg
dm9pZCBzZXRCb3hBbGlnbihCb3hBbGlnbm1lbnQgYSkgeyBTRVRfTkVTVEVEX1ZBUihtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLCBkZXByZWNhdGVkRmxleGlibGVCb3gsIGFsaWduLCBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oYSkpOyB9CiAgICAgdm9pZCBzZXRCb3hEaXJlY3Rpb24oQm94RGlyZWN0aW9u
IGQpIHsgbV9pbmhlcml0ZWRGbGFncy5ib3hEaXJlY3Rpb24gPSBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oZCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVOb25Jbmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCmluZGV4IDRhOTE1ZWFhNmZkNDhkYjQ0MzJlNzQw
MTE5MmY1ZjU0MzkxNjlkZjQuLmZmZDA5NzM1YWIwMGMxZTc0NGY1NTIxNDA2YzYxNGM4NDYzZGE0
YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVO
b25Jbmhlcml0ZWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaApAQCAtNjYsNiArNjYsOCBAQCBjbGFzcyBTdHlsZVRy
YW5zZm9ybURhdGE7CiAKIHN0cnVjdCBMZW5ndGhTaXplOwogCisjZGVmaW5lIEFQUEVBUkFOQ0Vf
QklUX1dJRFRIIDcKKwogLy8gUGFnZSBzaXplIHR5cGUuCiAvLyBTdHlsZVJhcmVOb25Jbmhlcml0
ZWREYXRhOjpwYWdlU2l6ZSBpcyBtZWFuaW5nZnVsIG9ubHkgd2hlbgogLy8gU3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YTo6cGFnZVNpemVUeXBlIGlzIFBBR0VfU0laRV9SRVNPTFZFRC4KQEAgLTIw
MCw4ICsyMDIsOCBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgdXNlckRyYWcgOiAyOyAvLyBVc2Vy
RHJhZwogICAgIHVuc2lnbmVkIHRleHRPdmVyZmxvdyA6IDE7IC8vIFdoZXRoZXIgb3Igbm90IGxp
bmVzIHRoYXQgc3BpbGwgb3V0IHNob3VsZCBiZSB0cnVuY2F0ZWQgd2l0aCAiLi4uIgogICAgIHVu
c2lnbmVkIHVzZVNtb290aFNjcm9sbGluZyA6IDE7IC8vIFNjcm9sbEJlaGF2aW9yCi0gICAgdW5z
aWduZWQgYXBwZWFyYW5jZSA6IDY7IC8vIEVBcHBlYXJhbmNlCi0gICAgdW5zaWduZWQgZWZmZWN0
aXZlQXBwZWFyYW5jZSA6IDY7IC8vIEVBcHBlYXJhbmNlCisgICAgdW5zaWduZWQgYXBwZWFyYW5j
ZSA6IEFQUEVBUkFOQ0VfQklUX1dJRFRIOyAvLyBFQXBwZWFyYW5jZQorICAgIHVuc2lnbmVkIGVm
ZmVjdGl2ZUFwcGVhcmFuY2UgOiBBUFBFQVJBTkNFX0JJVF9XSURUSDsgLy8gRUFwcGVhcmFuY2UK
IAogICAgIHVuc2lnbmVkIHRleHREZWNvcmF0aW9uU3R5bGUgOiAzOyAvLyBUZXh0RGVjb3JhdGlv
blN0eWxlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBjNzVmNGU5YjIy
OGI5M2Y0OGEwMWQyMDQ4NDkxMWU1YTc0ZGM0MzUzLi45YWU3ZjFmNTU5MDdlZWIwZjcwMDViNTEw
ZmFlYzdiYzcwOTFkMmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC02
Mzg5LDcgKzYzODksMTQgQEAgRXhjZXB0aW9uT3I8SW50ZXJuYWxzOjpBdHRhY2htZW50VGh1bWJu
YWlsSW5mbz4gSW50ZXJuYWxzOjphdHRhY2htZW50VGh1bWJuYWlsSW4KICNlbmRpZgogfQogCi0j
ZW5kaWYKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK2Jvb2wgSW50ZXJuYWxzOjpoYXNJ
bWFnZUNvbnRyb2xzKGNvbnN0IEhUTUxJbWFnZUVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIGVsZW1lbnQuaGFzSW1hZ2VDb250cm9scygpOworfQorI2VuZGlmIC8vIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorCisjZW5kaWYgLy8gRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVO
VCkKIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogRXhjZXB0aW9uT3I8ZG91YmxlPiBJbnRl
cm5hbHM6OmN1cnJlbnRNZWRpYVNlc3Npb25Qb3NpdGlvbihjb25zdCBNZWRpYVNlc3Npb24mIHNl
c3Npb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCAyYTlkZGNmOTdkMDYxMjQ1
YjVlNzFlYjQ1NGI5ZDU3YzhmY2Y3ZDg5Li42NDkzZGQ1MzQ3ZDBiY2JlZTU5ZTEzNzg4ZWYwNmVl
MmFmZjQ2NGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTExODksNyArMTE4
OSwxMCBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIEV4Y2VwdGlvbk9yPEF0dGFjaG1lbnRUaHVt
Ym5haWxJbmZvPiBhdHRhY2htZW50VGh1bWJuYWlsSW5mbyhjb25zdCBIVE1MQXR0YWNobWVudEVs
ZW1lbnQmKTsKLSNlbmRpZgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGJvb2wg
aGFzSW1hZ2VDb250cm9scyhjb25zdCBIVE1MSW1hZ2VFbGVtZW50JikgY29uc3Q7CisjZW5kaWYg
Ly8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisjZW5kaWYgLy8gRU5BQkxFKEFUVEFDSE1FTlRf
RUxFTUVOVCkKIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgIEV4Y2VwdGlvbk9yPGRv
dWJsZT4gY3VycmVudE1lZGlhU2Vzc2lvblBvc2l0aW9uKGNvbnN0IE1lZGlhU2Vzc2lvbiYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGM4Y2FmMTc0NjMwM2VlMzJlNzgx
ZDIzZjdjYWViODZlMjFjZTYwOTIuLmUwMmUzNGE4YjRjNjFlN2YyMzhkZTlhMzkzZGMzMzdkZmFh
ZmM5MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTEwNzUsNiArMTA3
NSw3IEBAIHR5cGVkZWYgKEZldGNoUmVxdWVzdCBvciBGZXRjaFJlc3BvbnNlKSBGZXRjaE9iamVj
dDsKICAgICB1bmRlZmluZWQgc2V0Q29udGVudFNpemVDYXRlZ29yeShDb250ZW50U2l6ZUNhdGVn
b3J5IGNhdGVnb3J5KTsKIAogICAgIFtDb25kaXRpb25hbD1BVFRBQ0hNRU5UX0VMRU1FTlRdIEF0
dGFjaG1lbnRUaHVtYm5haWxJbmZvIGF0dGFjaG1lbnRUaHVtYm5haWxJbmZvKEhUTUxBdHRhY2ht
ZW50RWxlbWVudCBlbGVtZW50KTsKKyAgICBbQ29uZGl0aW9uYWw9QVRUQUNITUVOVF9FTEVNRU5U
LCBDb25kaXRpb25hbD1TRVJWSUNFX0NPTlRST0xTXSBib29sZWFuIGhhc0ltYWdlQ29udHJvbHMo
SFRNTEltYWdlRWxlbWVudCBlbGVtZW50KTsKIAogICAgIFtDb25kaXRpb25hbD1NRURJQV9TRVNT
SU9OXSBkb3VibGUgY3VycmVudE1lZGlhU2Vzc2lvblBvc2l0aW9uKE1lZGlhU2Vzc2lvbiBzZXNz
aW9uKTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU0VTU0lPTl0gdW5kZWZpbmVkIHNlbmRNZWRp
YVNlc3Npb25BY3Rpb24oTWVkaWFTZXNzaW9uIHNlc3Npb24sIE1lZGlhU2Vzc2lvbkFjdGlvbkRl
dGFpbHMgYWN0aW9uRGV0YWlscyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2M4ZjE4YjYxMzA3YWVlY2Q1NzY2MjliNTEz
MjBkYTgwY2UwODQxYy4uYzJhZDRiYTY4MjVkMjUyNTBmYzM0OTU3MWIwOTcwMzQ5YmVjNWI1ZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIyLTAxLTA0ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5f
Z2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVubmVlZGVkIHdlYmtpdCBzcGVj
aWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1lbnUuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0MDUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBuZWVkIHRvIG1vdmUgdGhpcyB0
ZXN0IHRvIGJlIGEgbWFjIHNwZWNpZmljIG9uZSwgYXMgaXQgbm93IGhhcyBtYWMgc3BlY2lmaWMg
CisgICAgICAgIHRlc3QgaGFybmVzc2luZy4gQWxzbyBjaGFuZ2VkIHRoZSB0ZXN0IHRvIGJlIHJl
c2lzdGVudCB0byB0aGUgYXN5bmMgbmF0dXJlIG9mIGFkZGluZworICAgICAgICB0aGUgc2hhZG93
IGRvbSBlbGVtZW50cywgYW5kIGNoZWNraW5nIHRoZSBzaGFkb3cgZG9tIGRpcmVjdGx5IHJhdGhl
ciB0aGFuIHRoZSByZXN1bHRpbmcgbGF5b3V0LAorICAgICAgICB3aGljaCBpcyBwcm9uZSB0byBw
aXhlbCBlcnJvcnMuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIGZh
c3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3QvaW1hZ2VzL21hYy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvaW1hZ2VzL21hYy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2Ut
Y29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2ltYWdl
cy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisKIDIwMjItMDEt
MDQgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBI
YW5nIGluIEFWVHJhY2tQcml2YXRlQVZGT2JqQ0ltcGw6OmJpdHJhdGUoKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggYjdiYmI3YzkyMTBkZjg4YTNkNWI0Nzc3Zjc1Yzg5NjJkOTU1ZDE3Ni4uN2M5OTI4
NmQ3Y2Q4YzRjODgzNzY4YTBhODA4NzQzNjM2YmQ3ZTAxMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBA
IC00MCw2ICs0MCw3IEBAIGZhc3QvZm9ybXMvc2VsZWN0L21hYy13azIgWyBTa2lwIF0KIGZhc3Qv
Zm9ybXMvdGV4dGFyZWEvaW9zIFsgU2tpcCBdCiBmYXN0L2Zvcm1zL3dhdGNob3MgWyBTa2lwIF0K
IGZhc3QvaW1hZ2VzL3RleHQtcmVjb2duaXRpb24gWyBTa2lwIF0KK2Zhc3QvaW1hZ2VzL21hYyBb
IFNraXAgXQogZmFzdC9zYW5kYm94L2lvcyBbIFNraXAgXQogZmFzdC9zYW5kYm94L21hYyBbIFNr
aXAgXQogZmFzdC92aWV3cG9ydC93YXRjaG9zIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKaW5k
ZXggNTliNzVkNzZhMDQ4YWI0MDE1YmUwMmFlNjY3NDdhMmI4NTEyZGRiZC4uZTY5ZGUyOWJiMmQx
ZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMSw3
ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNp
emUgMjU2eDI1NgotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjRkMDVmMzViNGI2MWNkNDdlYWM1ZmM0MTAz
ZmYzNDJiYWZmMjA0MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0gPHNjcmlwdD4KLWlmICh3aW5kb3cuaW50ZXJu
YWxzKQotCWludGVybmFscy5zZXR0aW5ncy5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZCh0cnVlKTsK
LQotPC9zY3JpcHQ+Ci08Ym9keT4KLTxpbWcgc3JjPSJyZXNvdXJjZXMvZ3JlZW4tMjU2eDI1Ni5q
cGciIHgtd2Via2l0LWltYWdlbWVudT4KLTwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9tYWMvaW1hZ2UtY29udHJv
bHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvbWFjL2ltYWdl
LWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNGIwYzUzYjg3N2UzZTdh
OWU2ZTgyMmU1ZjgzMTkyYzZkMGM1YzFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9pbWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDIgQEAKKworUEFTUzogaW1hZ2UgY29udHJvbHMgZXhpc3QgaW4gc2hhZG93RG9tCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9tYWMvaW1hZ2UtY29udHJvbHMtYmFzaWMu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL21hYy9pbWFnZS1jb250cm9scy1iYXNpYy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQ0ZTQ0MGViNTlkZGNmNjdlODNiMDQ0ODEzZjkxYTU0YmJhMWIwNzIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9tYWMvaW1hZ2UtY29u
dHJvbHMtYmFzaWMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIEF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworCXRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQor
aWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgIGludGVybmFscy5zZXR0aW5ncy5zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZCh0cnVlKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aW1n
IGlkPSJ0YXJnZXQiIHNyYz0iLi4vcmVzb3VyY2VzL2dyZWVuLTI1NngyNTYuanBnIj4KKzxkaXYg
aWQ9ImxvZyI+Cis8c2NyaXB0PgorICAgZnVuY3Rpb24gaGFzSW1hZ2VDb250cm9scyhlbGVtKQor
ICAgeworICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICByZXR1cm4gaW50
ZXJuYWxzLmhhc0ltYWdlQ29udHJvbHMoZWxlbSk7CisgICAgICAgcmV0dXJuIGZhbHNlOworICAg
fQorCisgICBmdW5jdGlvbiBjaGVja0ZvclNoYWRvd0RvbShlbGVtKQorICAgeworICAgCSAgICB2
YXIgb3V0cHV0ID0gJyc7CisgICAJCWlmIChpbnRlcm5hbHMuc2hhZG93Um9vdChlbGVtKSAmJiBp
bnRlcm5hbHMuc2hhZG93Um9vdChlbGVtKS5nZXRFbGVtZW50QnlJZCgnaW1hZ2UtY29udHJvbHMn
KSAmJiBpbnRlcm5hbHMuc2hhZG93Um9vdChlbGVtKS5nZXRFbGVtZW50QnlJZCgnaW1hZ2UtY29u
dHJvbHMtYnV0dG9uJykpIAorICAgCSAgICAgICAgb3V0cHV0ICs9ICdQQVNTOiBpbWFnZSBjb250
cm9scyBleGlzdCBpbiBzaGFkb3dEb20nOworICAgCQllbHNlCisgICAJCQlvdXRwdXQgKz0gJ0ZB
SUw6IG5vIGltYWdlIGNvbnRyb2xzIGZvdW5kIGluIHNoYWRvd0RvbSc7CisgICAJCWRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdsb2cnKS5pbm5lckhUTUwgPSBvdXRwdXQ7CisgICB9CisKKyAgIHZh
ciBlbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpOworICAgdmFyIElEID0g
SFRNTEF0dGFjaG1lbnRFbGVtZW50LmdldEF0dGFjaG1lbnRJZGVudGlmaWVyKGVsZW0pOworCisg
ICBzZXRJbnRlcnZhbCgoKSA9PiB7CisgICAgaWYgKGhhc0ltYWdlQ29udHJvbHMoZWxlbSkpIHsK
KyAgICAJY2hlY2tGb3JTaGFkb3dEb20oZWxlbSk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOworICAgIH0KKyAgIH0sIDIwMCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWNhdGFsaW5hL2Zhc3QvaW1hZ2VzL2lt
YWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggOTI0YjI5ZDUzYzU5ZjVlOGViZjdmMzJkZDQ5NjNjMDg2MTk1NzQ1MC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYw
MAotICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAotICAgICAgUmVu
ZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2Ci0gICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICg4LDgpIHNpemUgMjU2eDI1NgotICBS
ZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAyNTZ4
MjU2IFtjb2xvcj0jMDAwMDAwMDBdCi1sYXllciBhdCAoMjE1LDMwKSBzaXplIDI3eDI2Ci0gIFJl
bmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMjA3LDIyKSBzaXplIDI3eDI2IFtjb2xvcj0jMDAwMDAw
RDhdIFtiZ2NvbG9yPSNDMEMwQzBdIFtib3JkZXI6ICgycHggb3V0c2V0ICNDMEMwQzApXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiYTZhMDlkZjA3NGFl
ZTBlMTg3NDdiNDg1YmM3NzFiNzkyY2NhMzU4Li40OGU1YmQ0ZjcwYzA5MWJlM2YzZTM4MjExZjk0
MTJhNTUwZTVhZGY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMTYsNiArMTYsNyBAQCBlZGl0aW5nL3Bhc3RlYm9hcmQvbWFjIFsgUGFzcyBdCiBmYXN0
L2RvbS9SYW5nZS9tYWMgWyBQYXNzIF0KIGZhc3Qvc2Nyb2xsaW5nL2xhdGNoaW5nIFsgUGFzcyBd
CiBtb2RlbC1lbGVtZW50IFsgUGFzcyBdCitmYXN0L2ltYWdlcy9tYWMgWyBQYXNzIF0KIAogIyBE
aXNhYmxlIHBsdWctaW4gdGVzdHMgb24gQXBwbGUgU2lsaWNvbgogWyBhcm02NCBdIGNvbXBvc2l0
aW5nL3BsdWdpbnMgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MzIxM2EzY2RmOWEzMGJjOTNi
Yzg4NzAxMmRiNDdmM2Q0NDU2ZjVjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1j
b250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBA
Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA3ODR4NTg0Ci0gICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1Nngy
NTYKLSAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQg
KDgsOCkgc2l6ZSAyNTZ4MjU2Ci0gIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7
RElWfSBhdCAoMCwwKSBzaXplIDI1NngyNTYgW2NvbG9yPSMwMDAwMDAwMF0KLWxheWVyIGF0ICgy
MTQsMzApIHNpemUgMjh4MjYKLSAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgyMDYsMjIpIHNp
emUgMjh4MjYgW2NvbG9yPSMwMDAwMDBEOF0gW2JnY29sb3I9I0MwQzBDMF0gW2JvcmRlcjogKDJw
eCBvdXRzZXQgI0MwQzBDMCldCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448448</attachid>
            <date>2022-01-05 16:11:26 -0800</date>
            <delta_ts>2022-01-05 17:56:26 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-234405-20220105161125.patch</filename>
            <type>text/plain</type>
            <size>27725</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjNjZmQ4MTg0OTEwM2M1
ZTQxMjJjYzg5MzZjNmFlNjhmMzI3MDUxZC4uNWUzZWRhNTM5NGFhOGI3Njk0ZTZiMzI5ZThjNjE1
NmZiYWU4OTg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIyLTAxLTA0ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVu
bmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1l
bnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0
MDUKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBUZXN0OiBm
YXN0L2ltYWdlcy9tYWMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbAorCisgICAgICAgIFdlIGRv
IG5vdCBhY3R1YWxseSBuZWVkIGEgc3BlY2lmaWMgQ1NTIGF0dHJpYnV0ZSB0byBhY2hpZXZlIHRo
ZSBpbWFnZSBjb250cm9sIG1lbnUsCisgICAgICAgIHNvIHdlIHNob3VsZCByZW1vdmUgaXQgdG8g
a2VlcCBXZWJLaXQgc3BlY2lmaWMgY2x1dHRlciBvdXQgb2Ygb3VyIENTUyBpbXBsZW1lbnRhdGlv
bgorICAgICAgICBhbmQgd2Ugc2hvdWxkIGtlZXAgdHJhY2sgb2YgdGhlIHByZXNlbmNlIG9mIHRo
ZSBpbWFnZSBjb250cm9sIG1lbnUgZnVsbHkgaW50ZXJuYWxseS4KKyAgICAgICAgRG9pbmcgdGhp
cyBhbHNvIGV4cG9zZWQgc2V2ZXJhbCBpc3N1ZXMsIGluY2x1ZGluZyB0aGUgZmFjdCB0aGF0IHdl
IGhhZCBhbHJlYWR5IHJ1biBvdXQKKyAgICAgICAgb2Ygc3BhY2UgZm9yIHRoZSBzdG9yaW5nIG9m
IHRoZSBDb250cm9sUGFydCBpbiBSZW5kZXJTdHlsZS4gQWxzbyBhZGRlZCBhIGNoZWNrIHRvIG1h
a2UKKyAgICAgICAgc3VyZSB0aGF0IHdpbGwgbm90IGhhcHBlbiBhZ2Fpbi4KKworICAgICAgICAq
IGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQcm9w
ZXJ0aWVzLmpzb246CisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46CisgICAgICAg
ICogY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNW
YWx1ZUFsbG93ZWRJbk1vZGUpOgorICAgICAgICAqIGRvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0luc2lkZUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAqIGRvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5oOgorICAgICAgICAq
IGh0bWwvSFRNTEltYWdlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VF
bGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVt
ZW50OjpzZXRBdHRhY2htZW50RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VF
bGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xzKToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3M6
CisgICAgICAgIChkaXYjaW1hZ2UtY29udHJvbHMgYnV0dG9uI2ltYWdlLWNvbnRyb2xzLWJ1dHRv
bik6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9IaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6Om5v
ZGVGb3JJbWFnZURhdGEgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YXV0b0FwcGVhcmFuY2VGb3JFbGVt
ZW50IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lOjppc0ltYWdlQ29udHJvbCBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRo
ZW1lTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmlzSW1hZ2VDb250
cm9sIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpzZXRBcHBlYXJhbmNlKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclN0eWxlOjpzZXRFZmZlY3RpdmVBcHBlYXJhbmNlKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6aGFzSW1h
Z2VDb250cm9scyBjb25zdCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjItMDEtMDQgIEplciBOb2JsZSAgPGpl
ci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBIYW5nIGluIEFWVHJhY2tQcml2
YXRlQVZGT2JqQ0ltcGw6OmJpdHJhdGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggMTM2NWE0NTRkNDQ0ZWY3OTM5ODljNjk0YmU4NDRj
OGM0NTA3ZTA5NC4uMTM3M2Y5ZDNkNmI0M2Y5MjdlZWJlNzQ0MzUxYjBjODUxMmUyNTdmYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCkBAIC02
MzQsNyArNjM0LDggQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1By
aW1pdGl2ZVZhbHVlKENvbnRyb2xQYXJ0IGUpCiAjZW5kaWYKICNpZiBFTkFCTEUoU0VSVklDRV9D
T05UUk9MUykKICAgICBjYXNlIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0OgotICAgICAgICBtX3Zh
bHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUludGVybmFsSW1hZ2VDb250cm9sc0J1dHRvbjsKKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1Zh
bHVlTm9uZTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbiBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KaW5kZXggMDE5MjhmYWZkNDQ3YjZjMjUz
NDRlNjZkNTExZjUwZDZkOGI2NzFjYS4uZDE5NmU4YmFhYWVmZDY0ZGI1NDIwMmU2ODA4ZWIxMGFl
OTJiNTU5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNv
bgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCkBAIC01MTU5LDcg
KzUxNTksNiBAQAogICAgICAgICAgICAgICAgICJjb250aW51b3VzLWNhcGFjaXR5LWxldmVsLWlu
ZGljYXRvciIsCiAgICAgICAgICAgICAgICAgImRpc2NyZXRlLWNhcGFjaXR5LWxldmVsLWluZGlj
YXRvciIsCiAgICAgICAgICAgICAgICAgInJhdGluZy1sZXZlbC1pbmRpY2F0b3IiLAotICAgICAg
ICAgICAgICAgICItaW50ZXJuYWwtaW1hZ2UtY29udHJvbHMtYnV0dG9uIiwKICAgICAgICAgICAg
ICAgICAiLWFwcGxlLXBheS1idXR0b24iLAogICAgICAgICAgICAgICAgICJ0ZXh0YXJlYSIsCiAg
ICAgICAgICAgICAgICAgImF0dGFjaG1lbnQiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3
b3Jkcy5pbgppbmRleCAxZTcxZjliOGVmODFjMGQxYmU3OGUyN2UyYjUwNWNjYTA5ZWE0YzlkLi5i
YjAxZDc4NjE5YzA0MDg1NGNiMTBmNTJiOTk2MDMwOWM5OWNmOThiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAtODkwLDkgKzg5MCw2IEBAIHJlbGV2YW5jeS1sZXZl
bC1pbmRpY2F0b3IKIGNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yCiBkaXNjcmV0
ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IKIHJhdGluZy1sZXZlbC1pbmRpY2F0b3IKLSNpZiBk
ZWZpbmVkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAmJiBFTkFCTEVfU0VSVklDRV9DT05UUk9M
UwotLWludGVybmFsLWltYWdlLWNvbnRyb2xzLWJ1dHRvbgotI2VuZGlmCiAjaWYgZGVmaW5lZChF
TkFCTEVfQVBQTEVfUEFZKSAmJiBFTkFCTEVfQVBQTEVfUEFZCiAtYXBwbGUtcGF5LWJ1dHRvbgog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklk
aW9tcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHAK
aW5kZXggMjUyOTc3MzFiMmZhZGRlYjUwNjVmZjliYjc2YjU4NjNkNmQxZjczYy4uNjU0NGYyNmY1
MWE5MjNlZTYzMGU3OTE4ZGI5MzM4NmZjYTVlNTdkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcApAQCAtNDAsMTAgKzQwLDYgQEAgYm9vbCBpc1Zh
bHVlQWxsb3dlZEluTW9kZSh1bnNpZ25lZCBzaG9ydCBpZCwgQ1NTUGFyc2VyTW9kZSBtb2RlKQog
ICAgICAgICByZXR1cm4gaXNVQVNoZWV0QmVoYXZpb3IobW9kZSk7CiAgICAgY2FzZSBDU1NWYWx1
ZVdlYmtpdEZvY3VzUmluZ0NvbG9yOgogICAgICAgICByZXR1cm4gaXNVQVNoZWV0QmVoYXZpb3Io
bW9kZSkgfHwgaXNRdWlya3NNb2RlQmVoYXZpb3IobW9kZSk7Ci0jaWYgRU5BQkxFKFNFUlZJQ0Vf
Q09OVFJPTFMpCi0gICAgY2FzZSBDU1NWYWx1ZUludGVybmFsSW1hZ2VDb250cm9sc0J1dHRvbjoK
LSAgICAgICAgcmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpOwotI2VuZGlmCiAgICAgZGVm
YXVsdDoKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9t
YWMvSW1hZ2VDb250cm9sc01hYy5jcHAKaW5kZXggYmI4ODYxZDEwNzE0NGE1ODI5ZTc5N2M1NjJk
MDk2ODhiZThiOWJhMi4uZDlmYjEwNzUwYmYxNWI1ZGMzYzI5MzZjZDBjMDA0YWU0MzI3NjgyZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCkBAIC03Myw2
ICs3MywxNCBAQCBib29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoY29uc3QgTm9kZSYg
bm9kZSkKICAgICByZXR1cm4gaXM8RWxlbWVudD4obm9kZSkgJiYgZG93bmNhc3Q8RWxlbWVudD4o
bm9kZSkuZ2V0SWRBdHRyaWJ1dGUoKSA9PSBpbWFnZUNvbnRyb2xzQnV0dG9uSWRlbnRpZmllcigp
OwogfQogCitib29sIGlzSW5zaWRlSW1hZ2VDb250cm9scyhjb25zdCBOb2RlJiBub2RlKQorewor
ICAgIFJlZlB0ciBob3N0ID0gbm9kZS5zaGFkb3dIb3N0KCk7CisgICAgaWYgKCFpczxIVE1MRWxl
bWVudD4oaG9zdC5nZXQoKSkgfHwgIWhhc0NvbnRyb2xzKGRvd25jYXN0PEhUTUxFbGVtZW50Pigq
aG9zdCkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIGlzPEVsZW1lbnQ+KG5v
ZGUpICYmIGRvd25jYXN0PEVsZW1lbnQ+KG5vZGUpLmdldElkQXR0cmlidXRlKCkgPT0gaW1hZ2VD
b250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCk7Cit9CisKIHZvaWQgY3JlYXRlSW1hZ2VDb250cm9s
cyhIVE1MRWxlbWVudCYgZWxlbWVudCkKIHsKICAgICBSZWYgZG9jdW1lbnQgPSBlbGVtZW50LmRv
Y3VtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJv
bHNNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5oCmluZGV4
IDZhY2I0YmYzZTIzYjc1ODAzN2QzMWRhZmRhY2I4NGNhZDM3YjhjMGUuLjExZWYzMGIyYTAxYmEy
YWM3MTE5MGUxZjJmYTc5YjgxZGI5MTkyYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9tYWMvSW1hZ2VDb250cm9sc01hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1h
Z2VDb250cm9sc01hYy5oCkBAIC0zOCw2ICszOCw3IEBAIG5hbWVzcGFjZSBJbWFnZUNvbnRyb2xz
TWFjIHsKIAogYm9vbCBoYXNDb250cm9scyhjb25zdCBIVE1MRWxlbWVudCYpOwogYm9vbCBpc0lt
YWdlQ29udHJvbHNCdXR0b25FbGVtZW50KGNvbnN0IE5vZGUmKTsKK2Jvb2wgaXNJbnNpZGVJbWFn
ZUNvbnRyb2xzKGNvbnN0IE5vZGUmKTsKIHZvaWQgY3JlYXRlSW1hZ2VDb250cm9scyhIVE1MRWxl
bWVudCYpOwogYm9vbCBoYW5kbGVFdmVudChIVE1MRWxlbWVudCYsIEV2ZW50Jik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmluZGV4IDc3Yzk4ZjVlMDQ1OTc2Zjk5
N2M1ODliYTFhYzQzYzVmZGYxYWIyODMuLjc5OGZlODZiYzRmMzIwMjY3MWNkMmQ3MTQ2NjAwMGI2
ZWJhYmI2YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcApAQCAt
MzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkVkaXRv
ci5oIgogI2luY2x1ZGUgIkVsZW1lbnRJdGVyYXRvci5oIgorI2luY2x1ZGUgIkV2ZW50TG9vcC5o
IgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNs
dWRlICJIVE1MQW5jaG9yRWxlbWVudC5oIgpAQCAtMzEzLDggKzMxNCw3IEBAIHZvaWQgSFRNTElt
YWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29u
c3QgQXRvbVN0cmluCiAgICAgICAgIGlmICghcGFyc2VDb21wb3NpdGVBbmRCbGVuZE9wZXJhdG9y
KHZhbHVlLCBtX2NvbXBvc2l0ZU9wZXJhdG9yLCBibGVuZE9wKSkKICAgICAgICAgICAgIG1fY29t
cG9zaXRlT3BlcmF0b3IgPSBDb21wb3NpdGVPcGVyYXRvcjo6U291cmNlT3ZlcjsKICNpZiBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKLSAgICB9IGVsc2UgaWYgKG5hbWUgPT0gd2Via2l0aW1hZ2Vt
ZW51QXR0cikgewotICAgICAgICBtX2ltYWdlTWVudUVuYWJsZWQgPSAhdmFsdWUuaXNOdWxsKCk7
CisgICAgfSBlbHNlIGlmIChtX2ltYWdlTWVudUVuYWJsZWQpIHsKICAgICAgICAgdXBkYXRlSW1h
Z2VDb250cm9scygpOwogI2VuZGlmCiAgICAgfSBlbHNlIGlmIChuYW1lID09IGxvYWRpbmdBdHRy
KSB7CkBAIC03NDMsNyArNzQzLDkgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50OjpzZXRBdHRhY2ht
ZW50RWxlbWVudChSZWY8SFRNTEF0dGFjaG1lbnRFbGVtZW50PiYmIGF0dGFjaG0KIAogICAgIGF0
dGFjaG1lbnQtPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlEaXNwbGF5LCBDU1NW
YWx1ZU5vbmUsIHRydWUpOwogICAgIGVuc3VyZVVzZXJBZ2VudFNoYWRvd1Jvb3QoKS5hcHBlbmRD
aGlsZChXVEZNb3ZlKGF0dGFjaG1lbnQpKTsKLSAgICBzZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hy
b25pemF0aW9uKHdlYmtpdGltYWdlbWVudUF0dHIsIGVtcHR5U3RyaW5nKCkpOworI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorICAgIG1faW1hZ2VNZW51RW5hYmxlZCA9IHRydWU7CisjZW5k
aWYKIH0KIAogUmVmUHRyPEhUTUxBdHRhY2htZW50RWxlbWVudD4gSFRNTEltYWdlRWxlbWVudDo6
YXR0YWNobWVudEVsZW1lbnQoKSBjb25zdApAQCAtNzc1LDExICs3NzcsMTMgQEAgdm9pZCBIVE1M
SW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xzKCkKICAgICAgICAgcmV0dXJuOwogICAg
IGlmICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLmltYWdlQ29udHJvbHNFbmFibGVkKCkpCiAgICAg
ICAgIHJldHVybjsKLSAgICBib29sIGhhc0NvbnRyb2xzID0gaGFzSW1hZ2VDb250cm9scygpOwot
ICAgIGlmICghbV9pbWFnZU1lbnVFbmFibGVkICYmIGhhc0NvbnRyb2xzKQotICAgICAgICBkZXN0
cm95SW1hZ2VDb250cm9scygpOwotICAgIGVsc2UgaWYgKG1faW1hZ2VNZW51RW5hYmxlZCAmJiAh
aGFzQ29udHJvbHMpCi0gICAgICAgIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKTsKKyAgICBkb2N1
bWVudCgpLmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpJbnRlcm5hbEFzeW5jVGFz
aywgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBSZWYgeyAqdGhpcyB9XSB7CisgICAgICAgIGJvb2wg
aGFzQ29udHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xzKCk7CisgICAgICAgIGlmICghbV9pbWFnZU1l
bnVFbmFibGVkICYmIGhhc0NvbnRyb2xzKQorICAgICAgICAgICAgZGVzdHJveUltYWdlQ29udHJv
bHMoKTsKKyAgICAgICAgZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkICYmICFoYXNDb250cm9s
cykKKyAgICAgICAgICAgIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKTsKKyAgICB9KTsKIH0KIAog
dm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojp0cnlDcmVhdGVJbWFnZUNvbnRyb2xzKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5kZXggN2Y5MTRhNWFlNGNmOWY5MjBjNTA0MDk5
YTIyNWY5ZjI0NmZjYjM1YS4uMWQ5OWQzMjE3YjU2ZmUzYzFjNWQwYzU1OGQ3ZWI0NzNhOTg5YzNl
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKQEAgLTE0Nyw2ICsxNDcs
MTAgQEAgcHVibGljOgogICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5KCkgY29uc3Q7
CiAKICAgICBib29sIGFsbG93c09yaWVudGF0aW9uT3ZlcnJpZGUoKSBjb25zdDsKKyAgICAKKyNp
ZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBXRUJDT1JFX0VYUE9SVCBib29sIGhhc0lt
YWdlQ29udHJvbHMoKSBjb25zdDsKKyNlbmRpZgogCiBwcm90ZWN0ZWQ6CiAgICAgSFRNTEltYWdl
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBIVE1MRm9ybUVsZW1lbnQq
ID0gbnVsbHB0cik7CkBAIC0xOTcsNyArMjAxLDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0
ZUltYWdlQ29udHJvbHMoKTsKICAgICB2b2lkIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKTsKICAg
ICB2b2lkIGRlc3Ryb3lJbWFnZUNvbnRyb2xzKCk7Ci0gICAgYm9vbCBoYXNJbWFnZUNvbnRyb2xz
KCkgY29uc3Q7CiAgICAgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUm
KSBjb25zdCBvdmVycmlkZTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKaW5kZXggZDVhNmFlZjQ2ZmJjOTI0MjEy
YmIxZTg1NmUyNTUyN2I5YWEzZDZhZS4uZTJjOGNmZGY5YTJiNjAzNTg4MjJkZDE0NTk3ODk5Mjhj
NWM3NGMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdl
Q29udHJvbHNNYWMuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFn
ZUNvbnRyb2xzTWFjLmNzcwpAQCAtMzksNyArMzksNyBAQCBkaXYjaW1hZ2UtY29udHJvbHMgYnV0
dG9uI2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CiAgICAgCiAgICAgZGlzcGxheTogYmxvY2s7CiAK
LSAgICBhcHBlYXJhbmNlOiAtaW50ZXJuYWwtaW1hZ2UtY29udHJvbHMtYnV0dG9uOworICAgIGFw
cGVhcmFuY2U6IGF1dG87CiAKICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzOwogICAgIG9w
YWNpdHk6IDAuMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlw
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAppbmRleCA0MmJiMzY0
OTA1N2I0MjUxMzExOWY3Y2UwODBjNTJlMzBiZTc1OTBjLi40ZGViZDBlMzZhMWI2NjU1ZTQ3OTM1
MDgwMzM2NTMyZjY4OGE1YTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aGVtZVR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oCkBA
IC05MSw5ICs5MSw2IEBAIGVudW0gQ29udHJvbFBhcnQgewogICAgIENvbnRpbnVvdXNDYXBhY2l0
eUxldmVsSW5kaWNhdG9yUGFydCwKICAgICBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJbmRpY2F0b3JQ
YXJ0LAogICAgIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydCwKLSNpZiBFTkFCTEUoU0VSVklDRV9D
T05UUk9MUykKLSAgICBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydCwKLSNlbmRpZgogI2lmIEVOQUJM
RShBUFBMRV9QQVkpCiAgICAgQXBwbGVQYXlCdXR0b25QYXJ0LAogI2VuZGlmCkBAIC0xMDgsOSAr
MTA1LDIxIEBAIGVudW0gQ29udHJvbFBhcnQgewogICAgIEF0dGFjaG1lbnRQYXJ0LAogICAgIEJv
cmRlcmxlc3NBdHRhY2htZW50UGFydCwKICNlbmRpZgotICAgIENhcHNMb2NrSW5kaWNhdG9yUGFy
dAorICAgIENhcHNMb2NrSW5kaWNhdG9yUGFydCwKKyAgICAvLyBJbnRlcm5hbC1vbmx5IFZhbHVl
cworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIEltYWdlQ29udHJvbHNCdXR0b25Q
YXJ0CisjZW5kaWYKKyAgICAKIH07CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK2Nv
bnN0ZXhwciBDb250cm9sUGFydCBsYXJnZXN0Q29udHJvbFBhcnQgPSBJbWFnZUNvbnRyb2xzQnV0
dG9uUGFydDsKKyNlbHNlCitjb25zdGV4cHIgQ29udHJvbFBhcnQgbGFyZ2VzdENvbnRyb2xQYXJ0
ID0gQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0CisjZW5kaWYKKworCiBlbnVtIFNlbGVjdGlvblBhcnQg
ewogICAgIFNlbGVjdGlvbkJhY2tncm91bmQsCiAgICAgU2VsZWN0aW9uRm9yZWdyb3VuZApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCmluZGV4IGY2YjExZDlkNjI5
YWNmYmZiODc4NjBjYjdiOGNkMjhjZWJjMWIxOGIuLjgzMDI1OTE5MmM0NjFjODI1MWE4OTI1NTY3
OTIzZTEyMzY5OGZmNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRU
ZXN0UmVzdWx0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3Vs
dC5jcHAKQEAgLTU0LDYgKzU0LDEwIEBACiAjaW5jbHVkZSAiVmlzaWJsZVVuaXRzLmgiCiAjaW5j
bHVkZSAiWExpbmtOYW1lcy5oIgogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisjaW5j
bHVkZSAiSW1hZ2VDb250cm9sc01hYy5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTMzNSw2ICszMzksMTEgQEAgUmVmUHRy
PE5vZGU+IEhpdFRlc3RSZXN1bHQ6Om5vZGVGb3JJbWFnZURhdGEoKSBjb25zdAogCiAgICAgaWYg
KEltYWdlT3ZlcmxheTo6aXNJbnNpZGVPdmVybGF5KCptX2lubmVyTm9uU2hhcmVkTm9kZSkpCiAg
ICAgICAgIHJldHVybiBtX2lubmVyTm9uU2hhcmVkTm9kZS0+c2hhZG93SG9zdCgpOworICAgIAor
I2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGlmIChJbWFnZUNvbnRyb2xzTWFjOjpp
c0luc2lkZUltYWdlQ29udHJvbHMoKm1faW5uZXJOb25TaGFyZWROb2RlKSkKKyAgICAgICAgcmV0
dXJuIG1faW5uZXJOb25TaGFyZWROb2RlLT5zaGFkb3dIb3N0KCk7CisjZW5kaWYKIAogICAgIHJl
dHVybiBtX2lubmVyTm9uU2hhcmVkTm9kZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWUuY3BwCmluZGV4IGM3NWE0YzNkNmVjZTMxMzBiYWFhNjk4YzJhZDc1NWUxNTMwMjFj
MzQuLmEwM2VmNDg4MTUzMTRkZjRlYjdkNzg2MDYxOTZhMjNiZDdhM2ZmOTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcApAQCAtNTcsNiArNTcsOSBAQAogI2luY2x1
ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNh
dGVuYXRlTnVtYmVycy5oPgogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisjaW5jbHVk
ZSAiSW1hZ2VDb250cm9sc01hYy5oIgorI2VuZGlmCiAKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxF
TUVOVCkKICNpbmNsdWRlICJIVE1MRGF0YUxpc3RFbGVtZW50LmgiCkBAIC0yOTYsNiArMjk5LDEx
IEBAIENvbnRyb2xQYXJ0IFJlbmRlclRoZW1lOjphdXRvQXBwZWFyYW5jZUZvckVsZW1lbnQoY29u
c3QgRWxlbWVudCogZWxlbWVudFB0cikgY29uCiAgICAgaWYgKCFlbGVtZW50UHRyKQogICAgICAg
ICByZXR1cm4gTm9Db250cm9sUGFydDsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQor
ICAgIGlmIChpc0ltYWdlQ29udHJvbCgqZWxlbWVudFB0cikpCisgICAgICAgIHJldHVybiBJbWFn
ZUNvbnRyb2xzQnV0dG9uUGFydDsKKyNlbmRpZgorICAgIAogICAgIFJlZiBlbGVtZW50ID0gKmVs
ZW1lbnRQdHI7CiAKICAgICBpZiAoaXM8SFRNTElucHV0RWxlbWVudD4oZWxlbWVudCkpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggOGVmMzAwZmNjNzM1OWE0ZmJi
MGMxZGM1NDYwYTk4Mzc5YjE5OGQ4YS4uMzc2N2RiM2Q3OWJhM2QzMGI1YTNiOWU5MzhhYmMzZTA5
YTNmNzAwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTM2Nyw2
ICszNjcsNyBAQCBwcm90ZWN0ZWQ6CiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAgICAg
dmlydHVhbCB2b2lkIGFkanVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYs
IGNvbnN0IEVsZW1lbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRJbWFnZUNvbnRy
b2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IElu
dFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIGlzSW1hZ2VDb250cm9s
KGNvbnN0IEVsZW1lbnQmKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKICAgICB2
aXJ0dWFsIHZvaWQgYWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVs
ZW1lbnQqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgK
aW5kZXggYTAzZTFmNWM5MTY5YzZlZjY1ZTNkNDYxODdjYWYxZTE2ZmUxOWRmNi4uZTgwOWJiNjJm
YTQzYTg1Y2VjZWE3YjQ1MTJjOTQyMGFjYzEyMDNlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLmgKQEAgLTIxNiw2ICsyMTYsNyBAQCBwcml2YXRlOgogI2lmIEVO
QUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9u
KGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBm
aW5hbDsKICAgICBJbnRTaXplIGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29uc3QgZmluYWw7
CisgICAgYm9vbCBpc0ltYWdlQ29udHJvbChjb25zdCBFbGVtZW50JikgY29uc3QgZmluYWw7CiAK
ICAgICBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsICpzZXJ2aWNlc1JvbGxvdmVyQnV0dG9u
Q2VsbCgpIGNvbnN0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMubW0KaW5kZXggOTY0ODU2MTBhZmEwMmMxY2ViNTE4YTUyZWIzMjAxNzExYjk4ZTYwNy4u
NmM5NGU5MmUwZmZmODQwMTNmMWE2ZWM2ODI5YzdlOTAwYTIwMDc4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQpAQCAtODMsNiArODMsMTAgQEAKICNpbXBv
cnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIu
aD4KIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJv
bHNNYWMuaCIKKyNlbmRpZgorCiAvLyBGSVhNRTogVGhpcyBzaG91bGQgZ28gaW50byBhbiBTUEku
aCBmaWxlIGluIHRoZSBzcGkgZGlyZWN0b3J5LgogQGludGVyZmFjZSBOU1RleHRGaWVsZENlbGwg
KCkKIC0gKENGRGljdGlvbmFyeVJlZilfY29yZVVJRHJhd09wdGlvbnNXaXRoRnJhbWU6KE5TUmVj
dCljZWxsRnJhbWUgaW5WaWV3OihOU1ZpZXcgKiljb250cm9sVmlldyBpbmNsdWRlRm9jdXM6KEJP
T0wpaW5jbHVkZUZvY3VzOwpAQCAtMjMwOSw2ICsyMzEzLDExIEBAIEludFNpemUgUmVuZGVyVGhl
bWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29uc3QKIHsKICAgICByZXR1cm4gSW50
U2l6ZShzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpLmNlbGxTaXplKTsKIH0KKworYm9vbCBS
ZW5kZXJUaGVtZU1hYzo6aXNJbWFnZUNvbnRyb2woY29uc3QgRWxlbWVudCYgZWxlbWVudFB0cikg
Y29uc3QKK3sKKyAgICByZXR1cm4gSW1hZ2VDb250cm9sc01hYzo6aXNJbWFnZUNvbnRyb2xzQnV0
dG9uRWxlbWVudChlbGVtZW50UHRyKTsKK30KICNlbmRpZgogCiAjaWYgRU5BQkxFKEFUVEFDSE1F
TlRfRUxFTUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmgKaW5kZXggMjcyYTE5NmVlY2ZiZGUwMDhhOTk4NGUwYTQ1MjkzMmE5MDBlOTIyOC4uZGJiMTEy
ZTRiNWI3ZmQ0NWE4ZTJmMDgxNWEzYzU5YzczMjY2MzBkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTExMzgsNiArMTEzOCw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldEFjY2VudENvbG9yKGNvbnN0IENvbG9yJiBjKSB7IFNFVF9WQVIobV9y
YXJlSW5oZXJpdGVkRGF0YSwgYWNjZW50Q29sb3IsIGMpOyBTRVRfVkFSKG1fcmFyZUluaGVyaXRl
ZERhdGEsIGhhc0F1dG9BY2NlbnRDb2xvciwgZmFsc2UpOyAgfQogICAgIHZvaWQgc2V0SGFzQXV0
b0FjY2VudENvbG9yKCkgeyBTRVRfVkFSKG1fcmFyZUluaGVyaXRlZERhdGEsIGhhc0F1dG9BY2Nl
bnRDb2xvciwgdHJ1ZSk7IFNFVF9WQVIobV9yYXJlSW5oZXJpdGVkRGF0YSwgYWNjZW50Q29sb3Is
IGN1cnJlbnRDb2xvcigpKTsgfQogICAgIHZvaWQgc2V0T3BhY2l0eShmbG9hdCBmKSB7IGZsb2F0
IHYgPSBjbGFtcFRvPGZsb2F0PihmLCAwLmYsIDEuZik7IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJp
dGVkRGF0YSwgb3BhY2l0eSwgdik7IH0KKyAgICBzdGF0aWNfYXNzZXJ0KGxhcmdlc3RDb250cm9s
UGFydCA8IDEgPDwgYXBwZWFyYW5jZUJpdFdpZHRoLCAiQ29udHJvbCBwYXJ0IG11c3QgZml0IGlu
IHN0b3JhZ2UgYml0cyIpOwogICAgIHZvaWQgc2V0QXBwZWFyYW5jZShDb250cm9sUGFydCBhKSB7
IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgYXBwZWFyYW5jZSwgYSk7IFNFVF9WQVIo
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZWZmZWN0aXZlQXBwZWFyYW5jZSwgYSk7IH0KICAgICB2
b2lkIHNldEVmZmVjdGl2ZUFwcGVhcmFuY2UoQ29udHJvbFBhcnQgYSkgeyBTRVRfVkFSKG1fcmFy
ZU5vbkluaGVyaXRlZERhdGEsIGVmZmVjdGl2ZUFwcGVhcmFuY2UsIGEpOyB9CiAgICAgLy8gRm9y
IHZhbGlkIHZhbHVlcyBvZiBib3gtYWxpZ24gc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDkv
V0QtY3NzMy1mbGV4Ym94LTIwMDkwNzIzLyNhbGlnbm1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCmlu
ZGV4IDRhOTE1ZWFhNmZkNDhkYjQ0MzJlNzQwMTE5MmY1ZjU0MzkxNjlkZjQuLjFiOGEzZmE3OTJh
M2U3N2U0Mzk5ZTY1ZDk2MDAzYmY0NzVjYWIyMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaApAQCAt
NjYsNiArNjYsOCBAQCBjbGFzcyBTdHlsZVRyYW5zZm9ybURhdGE7CiAKIHN0cnVjdCBMZW5ndGhT
aXplOwogCitjb25zdGV4cHIgaW50IGFwcGVhcmFuY2VCaXRXaWR0aCA9IDc7CisKIC8vIFBhZ2Ug
c2l6ZSB0eXBlLgogLy8gU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6cGFnZVNpemUgaXMgbWVh
bmluZ2Z1bCBvbmx5IHdoZW4KIC8vIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OnBhZ2VTaXpl
VHlwZSBpcyBQQUdFX1NJWkVfUkVTT0xWRUQuCkBAIC0yMDAsOCArMjAyLDggQEAgcHVibGljOgog
ICAgIHVuc2lnbmVkIHVzZXJEcmFnIDogMjsgLy8gVXNlckRyYWcKICAgICB1bnNpZ25lZCB0ZXh0
T3ZlcmZsb3cgOiAxOyAvLyBXaGV0aGVyIG9yIG5vdCBsaW5lcyB0aGF0IHNwaWxsIG91dCBzaG91
bGQgYmUgdHJ1bmNhdGVkIHdpdGggIi4uLiIKICAgICB1bnNpZ25lZCB1c2VTbW9vdGhTY3JvbGxp
bmcgOiAxOyAvLyBTY3JvbGxCZWhhdmlvcgotICAgIHVuc2lnbmVkIGFwcGVhcmFuY2UgOiA2OyAv
LyBFQXBwZWFyYW5jZQotICAgIHVuc2lnbmVkIGVmZmVjdGl2ZUFwcGVhcmFuY2UgOiA2OyAvLyBF
QXBwZWFyYW5jZQorICAgIHVuc2lnbmVkIGFwcGVhcmFuY2UgOiBhcHBlYXJhbmNlQml0V2lkdGg7
IC8vIEVBcHBlYXJhbmNlCisgICAgdW5zaWduZWQgZWZmZWN0aXZlQXBwZWFyYW5jZSA6IGFwcGVh
cmFuY2VCaXRXaWR0aDsgLy8gRUFwcGVhcmFuY2UKIAogICAgIHVuc2lnbmVkIHRleHREZWNvcmF0
aW9uU3R5bGUgOiAzOyAvLyBUZXh0RGVjb3JhdGlvblN0eWxlCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcAppbmRleCBjNzVmNGU5YjIyOGI5M2Y0OGEwMWQyMDQ4NDkxMWU1YTc0ZGM0
MzUzLi45MGM3MTAyM2E4ZDhlMzJlNDczYzE2MzY5OWE4ZDU4NWVhMDE3OTc4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC02Mzg5LDggKzYzODksMTUgQEAgRXhjZXB0aW9u
T3I8SW50ZXJuYWxzOjpBdHRhY2htZW50VGh1bWJuYWlsSW5mbz4gSW50ZXJuYWxzOjphdHRhY2ht
ZW50VGh1bWJuYWlsSW4KICNlbmRpZgogfQogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
Citib29sIEludGVybmFsczo6aGFzSW1hZ2VDb250cm9scyhjb25zdCBIVE1MSW1hZ2VFbGVtZW50
JiBlbGVtZW50KSBjb25zdAoreworICAgIHJldHVybiBlbGVtZW50Lmhhc0ltYWdlQ29udHJvbHMo
KTsKK30KICNlbmRpZgogCisjZW5kaWYgLy8gRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKKwog
I2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogRXhjZXB0aW9uT3I8ZG91YmxlPiBJbnRlcm5hbHM6
OmN1cnJlbnRNZWRpYVNlc3Npb25Qb3NpdGlvbihjb25zdCBNZWRpYVNlc3Npb24mIHNlc3Npb24p
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCAyYTlkZGNmOTdkMDYxMjQ1YjVl
NzFlYjQ1NGI5ZDU3YzhmY2Y3ZDg5Li5jODJmMWUyNGE4NzM4NWRkZTYwY2FlZGI0NDI0M2IxNWQy
MWZjOTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTExODksNyArMTE4OSwx
MCBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIEV4Y2VwdGlvbk9yPEF0dGFjaG1lbnRUaHVtYm5h
aWxJbmZvPiBhdHRhY2htZW50VGh1bWJuYWlsSW5mbyhjb25zdCBIVE1MQXR0YWNobWVudEVsZW1l
bnQmKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBib29sIGhhc0ltYWdlQ29u
dHJvbHMoY29uc3QgSFRNTEltYWdlRWxlbWVudCYpIGNvbnN0OwogI2VuZGlmCisjZW5kaWYgLy8g
RU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQog
ICAgIEV4Y2VwdGlvbk9yPGRvdWJsZT4gY3VycmVudE1lZGlhU2Vzc2lvblBvc2l0aW9uKGNvbnN0
IE1lZGlhU2Vzc2lvbiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGM4
Y2FmMTc0NjMwM2VlMzJlNzgxZDIzZjdjYWViODZlMjFjZTYwOTIuLmUwMmUzNGE4YjRjNjFlN2Yy
MzhkZTlhMzkzZGMzMzdkZmFhZmM5MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKQEAgLTEwNzUsNiArMTA3NSw3IEBAIHR5cGVkZWYgKEZldGNoUmVxdWVzdCBvciBGZXRjaFJl
c3BvbnNlKSBGZXRjaE9iamVjdDsKICAgICB1bmRlZmluZWQgc2V0Q29udGVudFNpemVDYXRlZ29y
eShDb250ZW50U2l6ZUNhdGVnb3J5IGNhdGVnb3J5KTsKIAogICAgIFtDb25kaXRpb25hbD1BVFRB
Q0hNRU5UX0VMRU1FTlRdIEF0dGFjaG1lbnRUaHVtYm5haWxJbmZvIGF0dGFjaG1lbnRUaHVtYm5h
aWxJbmZvKEhUTUxBdHRhY2htZW50RWxlbWVudCBlbGVtZW50KTsKKyAgICBbQ29uZGl0aW9uYWw9
QVRUQUNITUVOVF9FTEVNRU5ULCBDb25kaXRpb25hbD1TRVJWSUNFX0NPTlRST0xTXSBib29sZWFu
IGhhc0ltYWdlQ29udHJvbHMoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50KTsKIAogICAgIFtDb25k
aXRpb25hbD1NRURJQV9TRVNTSU9OXSBkb3VibGUgY3VycmVudE1lZGlhU2Vzc2lvblBvc2l0aW9u
KE1lZGlhU2Vzc2lvbiBzZXNzaW9uKTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU0VTU0lPTl0g
dW5kZWZpbmVkIHNlbmRNZWRpYVNlc3Npb25BY3Rpb24oTWVkaWFTZXNzaW9uIHNlc3Npb24sIE1l
ZGlhU2Vzc2lvbkFjdGlvbkRldGFpbHMgYWN0aW9uRGV0YWlscyk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2M4ZjE4YjYx
MzA3YWVlY2Q1NzY2MjliNTEzMjBkYTgwY2UwODQxYy4uNWUyOWU1YTBkZDA0ZDU5ZDE5YTA0MzRj
NmIzODE0NzJmMGM0MDQ0ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIyLTAxLTA0ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVu
bmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBDb250cm9sIE1l
bnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0
MDUKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBXZSBuZWVk
IHRvIG1vdmUgdGhpcyB0ZXN0IHRvIGJlIGEgbWFjIHNwZWNpZmljIG9uZSwgYXMgaXQgbm93IGhh
cyBtYWMgc3BlY2lmaWMgCisgICAgICAgIHRlc3QgaGFybmVzc2luZyAodXNpbmcgaGFzSW1hZ2VD
b250cm9scykgYW5kIGl0IGlzIHRlc3RpbmcgYSBmZWF0dXJlIHRoYXQgaXMgb25seSBvbiBtYWMu
CisgICAgICAgIEFsc28gY2hhbmdlZCB0aGUgdGVzdCB0byBiZSByZXNpc3RlbnQgdG8gdGhlIGFz
eW5jIG5hdHVyZSBvZiBhZGRpbmcKKyAgICAgICAgdGhlIHNoYWRvdyBkb20gZWxlbWVudHMsIGFu
ZCBjaGVja2luZyB0aGUgc2hhZG93IGRvbSBkaXJlY3RseSByYXRoZXIgdGhhbiB0aGUgcmVzdWx0
aW5nIGxheW91dCwKKyAgICAgICAgd2hpY2ggaXMgcHJvbmUgdG8gcGl4ZWwgZXJyb3JzLgorCisg
ICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBmYXN0L2ltYWdlcy9pbWFnZS1j
b250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2Ut
Y29udHJvbHMtYmFzaWMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy9tYWMv
aW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2ltYWdlcy9tYWMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vbWFjLWNhdGFsaW5hL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMt
YmFzaWMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorCiAyMDIyLTAxLTA0ICBKZXIgTm9ibGUgIDxq
ZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gSGFuZyBpbiBBVlRyYWNrUHJp
dmF0ZUFWRk9iakNJbXBsOjpiaXRyYXRlKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGI3YmJiN2M5
MjEwZGY4OGEzZDViNDc3N2Y3NWM4OTYyZDk1NWQxNzYuLjdjOTkyODZkN2NkOGM0Yzg4Mzc2OGEw
YTgwODc0MzYzNmJkN2UwMTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDAsNiArNDAsNyBAQCBm
YXN0L2Zvcm1zL3NlbGVjdC9tYWMtd2syIFsgU2tpcCBdCiBmYXN0L2Zvcm1zL3RleHRhcmVhL2lv
cyBbIFNraXAgXQogZmFzdC9mb3Jtcy93YXRjaG9zIFsgU2tpcCBdCiBmYXN0L2ltYWdlcy90ZXh0
LXJlY29nbml0aW9uIFsgU2tpcCBdCitmYXN0L2ltYWdlcy9tYWMgWyBTa2lwIF0KIGZhc3Qvc2Fu
ZGJveC9pb3MgWyBTa2lwIF0KIGZhc3Qvc2FuZGJveC9tYWMgWyBTa2lwIF0KIGZhc3Qvdmlld3Bv
cnQvd2F0Y2hvcyBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMv
aW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFn
ZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CmluZGV4IDU5Yjc1ZDc2YTA0OGFi
NDAxNWJlMDJhZTY2NzQ3YTJiODUxMmRkYmQuLmU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFk
OGMyZTQ4YzUzOTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNv
bnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTEsNyArMCwwIEBACi1sYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCi0gICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4
NTg0Ci0gICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKLSAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDI0ZDA1ZjM1YjRiNjFjZDQ3ZWFjNWZjNDEwM2ZmMzQyYmFmZjIwNDEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDggKzAsMCBAQAotIDxzY3JpcHQ+Ci1pZiAod2luZG93LmludGVybmFscykKLQlpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0SW1hZ2VDb250cm9sc0VuYWJsZWQodHJ1ZSk7Ci0KLTwvc2NyaXB0PgotPGJv
ZHk+Ci08aW1nIHNyYz0icmVzb3VyY2VzL2dyZWVuLTI1NngyNTYuanBnIiB4LXdlYmtpdC1pbWFn
ZW1lbnU+Ci08L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL21hYy9pbWFnZS1jb250cm9scy1iYXNpYy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjRiMGM1M2I4NzdlM2U3YTllNmU4MjJlNWY4MzE5MmM2
ZDBjNWMxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL21hYy9p
bWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACisKK1BBU1M6
IGltYWdlIGNvbnRyb2xzIGV4aXN0IGluIHNoYWRvd0RvbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9pbWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2ltYWdlcy9tYWMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
NTdhZDI2NDQ3ODM4Njc1MjA2NTY4MGYyM2E1MGUxNzQ4NmYzYjc3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvbWFjL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwK
QEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBBdHRhY2htZW50RWxlbWVudEVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KK2lmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SW1hZ2VDb250cm9sc0VuYWJsZWQo
dHJ1ZSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGltZyBpZD0idGFyZ2V0IiBz
cmM9Ii4uL3Jlc291cmNlcy9ncmVlbi0yNTZ4MjU2LmpwZyI+Cis8ZGl2IGlkPSJsb2ciPgorPHNj
cmlwdD4KKyAgIGZ1bmN0aW9uIGhhc0ltYWdlQ29udHJvbHMoZWxlbSkKKyAgIHsKKyAgICAgICBp
ZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgcmV0dXJuIGludGVybmFscy5oYXNJbWFn
ZUNvbnRyb2xzKGVsZW0pOworICAgICAgIHJldHVybiBmYWxzZTsKKyAgIH0KKworICAgZnVuY3Rp
b24gY2hlY2tGb3JTaGFkb3dEb20oZWxlbSkKKyAgIHsKKyAgICAgICAgdmFyIG91dHB1dCA9ICcn
OworICAgICAgICBpZiAoaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZWxlbSkgJiYgaW50ZXJuYWxzLnNo
YWRvd1Jvb3QoZWxlbSkuZ2V0RWxlbWVudEJ5SWQoJ2ltYWdlLWNvbnRyb2xzJykgJiYgaW50ZXJu
YWxzLnNoYWRvd1Jvb3QoZWxlbSkuZ2V0RWxlbWVudEJ5SWQoJ2ltYWdlLWNvbnRyb2xzLWJ1dHRv
bicpKSAKKyAgICAgICAgICAgIG91dHB1dCArPSAnUEFTUzogaW1hZ2UgY29udHJvbHMgZXhpc3Qg
aW4gc2hhZG93RG9tJzsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgb3V0cHV0ICs9ICdGQUlM
OiBubyBpbWFnZSBjb250cm9scyBmb3VuZCBpbiBzaGFkb3dEb20nOworICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnbG9nJykuaW5uZXJIVE1MID0gb3V0cHV0OworICAgfQorCisgICB2
YXIgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKyAgIHZhciBJRCA9
IEhUTUxBdHRhY2htZW50RWxlbWVudC5nZXRBdHRhY2htZW50SWRlbnRpZmllcihlbGVtKTsKKwor
ICAgc2V0SW50ZXJ2YWwoKCkgPT4geworICAgIGlmIChoYXNJbWFnZUNvbnRyb2xzKGVsZW0pKSB7
CisgICAgICAgIGNoZWNrRm9yU2hhZG93RG9tKGVsZW0pOworICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKKyAgICB9CisgICB9LCAyMDApOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLWNhdGFsaW5hL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdl
cy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDkyNGIyOWQ1M2M1OWY1ZThlYmY3ZjMyZGQ0OTYzYzA4NjE5NTc0NTAuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLWNhdGFsaW5hL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAotICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKLSAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAg
IFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgotICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYK
LSAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUg
MjU2eDI1NiBbY29sb3I9IzAwMDAwMDAwXQotbGF5ZXIgYXQgKDIxNSwzMCkgc2l6ZSAyN3gyNgot
ICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDIwNywyMikgc2l6ZSAyN3gyNiBbY29sb3I9IzAw
MDAwMEQ4XSBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKV0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYmE2YTA5ZGYw
NzRhZWUwZTE4NzQ3YjQ4NWJjNzcxYjc5MmNjYTM1OC4uNDhlNWJkNGY3MGMwOTFiZTNmM2UzODIx
MWY5NDEyYTU1MGU1YWRmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTE2LDYgKzE2LDcgQEAgZWRpdGluZy9wYXN0ZWJvYXJkL21hYyBbIFBhc3MgXQog
ZmFzdC9kb20vUmFuZ2UvbWFjIFsgUGFzcyBdCiBmYXN0L3Njcm9sbGluZy9sYXRjaGluZyBbIFBh
c3MgXQogbW9kZWwtZWxlbWVudCBbIFBhc3MgXQorZmFzdC9pbWFnZXMvbWFjIFsgUGFzcyBdCiAK
ICMgRGlzYWJsZSBwbHVnLWluIHRlc3RzIG9uIEFwcGxlIFNpbGljb24KIFsgYXJtNjQgXSBjb21w
b3NpdGluZy9wbHVnaW5zIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODMyMTNhM2NkZjlhMzBi
YzkzYmM4ODcwMTJkYjQ3ZjNkNDQ1NmY1Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1h
Z2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAs
MCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAotICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDgpIHNpemUgNzg0eDU4NAotICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAy
NTZ4MjU2Ci0gICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWxheWVy
IGF0ICg4LDgpIHNpemUgMjU2eDI1NgotICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25l
ZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2IFtjb2xvcj0jMDAwMDAwMDBdCi1sYXllciBh
dCAoMjE0LDMwKSBzaXplIDI4eDI2Ci0gIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMjA2LDIy
KSBzaXplIDI4eDI2IFtjb2xvcj0jMDAwMDAwRDhdIFtiZ2NvbG9yPSNDMEMwQzBdIFtib3JkZXI6
ICgycHggb3V0c2V0ICNDMEMwQzApXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448460</attachid>
            <date>2022-01-05 17:56:33 -0800</date>
            <delta_ts>2022-01-05 18:17:34 -0800</delta_ts>
            <desc>[fast-cq] Patch</desc>
            <filename>bug-234405-20220105175632.patch</filename>
            <type>text/plain</type>
            <size>1144</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDk2YTFlYjQ0M2NlZmQ5
NGU3MmMyNzBjNjU3ZDRiM2Q4MGUzODBmOC4uZDVjNDlmNTdlYzM2Y2M4ZmQzYzA1OTg2NmVlMGZm
YjU5NWUyYjQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwIEBACisyMDIyLTAxLTA1ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQnVpbGQgZml4
IGZvciBhZnRlcjoKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzNDQwNQorCisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgorCiAyMDIyLTAx
LTA1ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAg
UmVtb3ZlIHVubmVlZGVkIHdlYmtpdCBzcGVjaWZpYyBDU1MgYXR0cmlidXRlIGZvciBJbWFnZSBD
b250cm9sIE1lbnUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5
cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKaW5kZXggNGRlYmQw
ZTM2YTFiNjY1NWU0NzkzNTA4MDMzNjUzMmY2ODhhNWEwZC4uZDk4YjQ4ZTM4OTk3NTYxYWFiN2Qy
ZmI2ZGY2MTQ1NDlkYjIzNzI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGhlbWVUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaApA
QCAtMTE2LDcgKzExNiw3IEBAIGVudW0gQ29udHJvbFBhcnQgewogI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQogY29uc3RleHByIENvbnRyb2xQYXJ0IGxhcmdlc3RDb250cm9sUGFydCA9IElt
YWdlQ29udHJvbHNCdXR0b25QYXJ0OwogI2Vsc2UKLWNvbnN0ZXhwciBDb250cm9sUGFydCBsYXJn
ZXN0Q29udHJvbFBhcnQgPSBDYXBzTG9ja0luZGljYXRvclBhcnQKK2NvbnN0ZXhwciBDb250cm9s
UGFydCBsYXJnZXN0Q29udHJvbFBhcnQgPSBDYXBzTG9ja0luZGljYXRvclBhcnQ7CiAjZW5kaWYK
IAogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>