<?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>270136</bug_id>
          
          <creation_ts>2024-02-26 17:04:22 -0800</creation_ts>
          <short_desc>AX: Avoid work in BitmapImage::canAnimate if animation controls are disabled</short_desc>
          <delta_ts>2024-03-01 12:12:03 -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>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joshua Hoffman">jhoffman23</reporter>
          <assigned_to name="Joshua Hoffman">jhoffman23</assigned_to>
          <cc>andresg_22</cc>
    
    <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tyler_w</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2017052</commentid>
    <comment_count>0</comment_count>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-02-26 17:04:22 -0800</bug_when>
    <thetext>If a user does not have animation controls enabled, there is no need to do this excess work.

&lt;rdar://109646792&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017053</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-02-26 17:04:34 -0800</bug_when>
    <thetext>&lt;rdar://problem/123660105&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017055</commentid>
    <comment_count>2</comment_count>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-02-26 17:04:49 -0800</bug_when>
    <thetext>rdar://109646792</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017060</commentid>
    <comment_count>3</comment_count>
      <attachid>470059</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-02-26 17:17:16 -0800</bug_when>
    <thetext>Created attachment 470059
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017061</commentid>
    <comment_count>4</comment_count>
      <attachid>470059</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2024-02-26 17:19:27 -0800</bug_when>
    <thetext>Comment on attachment 470059
Patch

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

&gt; Source/WebCore/page/Page.cpp:2254
&gt; +    Image::setSystemAllowsAnimationControls(isAllowed);

This is setting process-wide state, but you can have more than one Page in a WebProcess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017062</commentid>
    <comment_count>5</comment_count>
      <attachid>470059</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-02-26 17:21:25 -0800</bug_when>
    <thetext>Comment on attachment 470059
Patch

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

&gt; Source/WebCore/platform/graphics/BitmapImage.cpp:343
&gt; +    return repetitionCount() &amp;&amp; !m_animationFinished &amp;&amp; (!Image::systemAllowsAnimationControls() || imageObserver()-&gt;allowsAnimation(*this));

Do we still want to null-check imageObserver()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017064</commentid>
    <comment_count>6</comment_count>
      <attachid>470059</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-02-26 17:46:16 -0800</bug_when>
    <thetext>Comment on attachment 470059
Patch

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

&gt; Source/WebCore/loader/cache/CachedImage.cpp:744
&gt; +    if (!Image::systemAllowsAnimationControls())

Might be nice to have a comment explaining that CachedImageClient::allowsAnimation() will only ever return false when `systemAllowsAnimationControls`, so this is a fast-path exit to avoid an unnecessary CachedResourceClientWalker walk?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017076</commentid>
    <comment_count>7</comment_count>
      <attachid>470059</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-02-26 18:47:34 -0800</bug_when>
    <thetext>Comment on attachment 470059
Patch

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

&gt;&gt; Source/WebCore/page/Page.cpp:2254
&gt;&gt; +    Image::setSystemAllowsAnimationControls(isAllowed);
&gt; 
&gt; This is setting process-wide state, but you can have more than one Page in a WebProcess.

That should be fine since we don&apos;t enable animation controls per-page. But, I can move this call to the process-level to make that clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017077</commentid>
    <comment_count>8</comment_count>
      <attachid>470059</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-02-26 18:48:19 -0800</bug_when>
    <thetext>Comment on attachment 470059
Patch

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

&gt;&gt; Source/WebCore/loader/cache/CachedImage.cpp:744
&gt;&gt; +    if (!Image::systemAllowsAnimationControls())
&gt; 
&gt; Might be nice to have a comment explaining that CachedImageClient::allowsAnimation() will only ever return false when `systemAllowsAnimationControls`, so this is a fast-path exit to avoid an unnecessary CachedResourceClientWalker walk?

Good idea, will do!

&gt;&gt; Source/WebCore/platform/graphics/BitmapImage.cpp:343
&gt;&gt; +    return repetitionCount() &amp;&amp; !m_animationFinished &amp;&amp; (!Image::systemAllowsAnimationControls() || imageObserver()-&gt;allowsAnimation(*this));
&gt; 
&gt; Do we still want to null-check imageObserver()?

Yeah, I inadvertently removed that when refactoring. Will add it back in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017395</commentid>
    <comment_count>9</comment_count>
      <attachid>470083</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-02-27 21:42:13 -0800</bug_when>
    <thetext>Created attachment 470083
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017396</commentid>
    <comment_count>10</comment_count>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-02-27 21:48:17 -0800</bug_when>
    <thetext>Updated the patch to set the Image::systemAllowsAnimationControls global from WebProcess, rather than the page, because this setting is per-process. This allows us to remove what we were doing prior with Page::systemAllowsAnimationControl, and have callers to that just call the static method on Image instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017658</commentid>
    <comment_count>11</comment_count>
      <attachid>470083</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-02-28 18:19:53 -0800</bug_when>
    <thetext>Comment on attachment 470083
Patch

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

Those api-ios test failures look relevant to this patch

&gt; COMMIT_MESSAGE:8
&gt; +Before this patch, the expensive work that happens in BitmapImage::canAnimate would still occur
&gt; +in two unnecessary cases: (1) if the image has a single-frame and (2) if image animation controls

&quot;Before this patch, the expensive work that happens in BitmapImage::canAnimate would unnecessarily occur in two cases: ...&quot; ? Might be a bit more succinct.

&gt; Source/WebCore/loader/cache/CachedImage.cpp:481
&gt; +    // *::allowsAnimation can only return false when
&gt; +    // systemAllowsAnimationControls == true, so this prevents unnecessary work
&gt; +    // by exiting early.

Not a huge deal, but IMO this comment should take up 2 lines, with the first line being longer or equal length to the subsequent one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017774</commentid>
    <comment_count>12</comment_count>
      <attachid>470098</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-02-29 09:04:40 -0800</bug_when>
    <thetext>Created attachment 470098
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017776</commentid>
    <comment_count>13</comment_count>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-02-29 09:07:13 -0800</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #11)
&gt; Comment on attachment 470083 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=470083&amp;action=review
&gt; 
&gt; Those api-ios test failures look relevant to this patch

Ah yep—since we don&apos;t actually perform AX preference changes in layout tests, we were never setting Image::systemAllowsAnimationControls. Fixed this so that we also set it in the Internals method we invoke in the tests. 


&gt; &gt; COMMIT_MESSAGE:8
&gt; &gt; +Before this patch, the expensive work that happens in BitmapImage::canAnimate would still occur
&gt; &gt; +in two unnecessary cases: (1) if the image has a single-frame and (2) if image animation controls
&gt; 
&gt; &quot;Before this patch, the expensive work that happens in
&gt; BitmapImage::canAnimate would unnecessarily occur in two cases: ...&quot; ? Might
&gt; be a bit more succinct.
&gt; 
&gt; &gt; Source/WebCore/loader/cache/CachedImage.cpp:481
&gt; &gt; +    // *::allowsAnimation can only return false when
&gt; &gt; +    // systemAllowsAnimationControls == true, so this prevents unnecessary work
&gt; &gt; +    // by exiting early.
&gt; 
&gt; Not a huge deal, but IMO this comment should take up 2 lines, with the first
&gt; line being longer or equal length to the subsequent one.

Addressed both of these, thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017778</commentid>
    <comment_count>14</comment_count>
      <attachid>470098</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-02-29 09:11:02 -0800</bug_when>
    <thetext>Comment on attachment 470098
Patch

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

&gt; Source/WebCore/platform/graphics/Image.h:190
&gt; +    WEBCORE_EXPORT static bool gSystemAllowsAnimationControls;

Does this need to be WEBCORE_EXPORT?

&gt; Source/WebCore/testing/Internals.cpp:1127
&gt; +        // We need to set this here to mimic the behavior for the AX preference changing

&quot;the behavior of the AX preference changing&quot; rather than &quot;the behavior for the AX preference changing&quot;

?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017784</commentid>
    <comment_count>15</comment_count>
      <attachid>470098</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-02-29 09:50:26 -0800</bug_when>
    <thetext>Comment on attachment 470098
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/Image.h:190
&gt;&gt; +    WEBCORE_EXPORT static bool gSystemAllowsAnimationControls;
&gt; 
&gt; Does this need to be WEBCORE_EXPORT?

Nope, apologies! will remove....

&gt;&gt; Source/WebCore/testing/Internals.cpp:1127
&gt;&gt; +        // We need to set this here to mimic the behavior for the AX preference changing
&gt; 
&gt; &quot;the behavior of the AX preference changing&quot; rather than &quot;the behavior for the AX preference changing&quot;
&gt; 
&gt; ?

Changed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017785</commentid>
    <comment_count>16</comment_count>
      <attachid>470099</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-02-29 09:51:04 -0800</bug_when>
    <thetext>Created attachment 470099
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017786</commentid>
    <comment_count>17</comment_count>
      <attachid>470100</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-02-29 09:59:23 -0800</bug_when>
    <thetext>Created attachment 470100
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017884</commentid>
    <comment_count>18</comment_count>
      <attachid>470106</attachid>
    <who name="Joshua Hoffman">jhoffman23</who>
    <bug_when>2024-02-29 15:34:55 -0800</bug_when>
    <thetext>Created attachment 470106
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2018075</commentid>
    <comment_count>19</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-03-01 12:11:55 -0800</bug_when>
    <thetext>Committed 275563@main (1d7be2a5f983): &lt;https://commits.webkit.org/275563@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 470106.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470059</attachid>
            <date>2024-02-26 17:17:16 -0800</date>
            <delta_ts>2024-02-27 21:34:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-270136-20240226171715.patch</filename>
            <type>text/plain</type>
            <size>5241</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSBlNWU3MGE0M2M3ZTViNzMzY2E4YjViYzhiZjk5NTcxNzk3MTRlMzYzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IE1vbiwgMjYgRmViIDIwMjQgMTc6MDc6MzYgLTA4MDAKU3ViamVjdDogW1BBVENIXSBB
WDogQXZvaWQgd29yayBpbiBCaXRtYXBJbWFnZTo6Y2FuQW5pbWF0ZSBpZiBhbmltYXRpb24KIGNv
bnRyb2xzIGFyZSBkaXNhYmxlZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjcwMTM2CiByZGFyOi8vMTA5NjQ2NzkyCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
CkJlZm9yZSB0aGlzIHBhdGNoLCB0aGUgZXhwZW5zaXZlIHdvcmsgdGhhdCBoYXBwZW5zIGluIEJp
dG1hcEltYWdlOjpjYW5BbmltYXRlIHdvdWxkIHN0aWxsIG9jY3VyCmluIHR3byB1bm5lY2Vzc2Fy
eSBjYXNlczogKDEpIGlmIHRoZSBpbWFnZSB3YXMgYSBzaW5nbGUtZnJhbWUgYW5kICgyKSBpZiBp
bWFnZSBhbmltYXRpb24gY29udHJvbHMKd2VyZSBub3QgZW5hYmxlZC4gVGhpcyBwYXRjaCBleGl0
cyBlYXJseSBmcm9tIHRoaXMgY29kZSBwYXRoIGlmIGVpdGhlciBvZiB0aG9zZSB0d28gdGhpbmdz
IGFyZSB0cnVlLgoKVGhpcyBpcyBwYXJ0IG9uZSBvZiByZWxhdGVkIHdvcmsuIEluIGEgZm9sbG93
IHVwLCBwZXJmb3JtYW5jZSBpc3N1ZXMgZm9yIGNvbXB1dGluZyBjYW5BbmltYXRlIHdoZW4KYW5p
bWF0aW9uIGNvbnRyb2xzIGFyZSBlbmFibGVkIHdpbGwgYmUgYWRkcmVzc2VkLgoKKiBTb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwOgooV2ViQ29yZTo6Q2FjaGVkSW1h
Z2U6OmFsbG93c0FuaW1hdGlvbiBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cDoKKFdlYkNvcmU6OlBhZ2U6OnNldFN5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzKToKKiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHA6CihXZWJDb3Jl
OjpCaXRtYXBJbWFnZTo6c2hvdWxkQW5pbWF0ZSBjb25zdCk6CihXZWJDb3JlOjpCaXRtYXBJbWFn
ZTo6Y2FuQW5pbWF0ZSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2UuY3BwOgoqIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmg6CihX
ZWJDb3JlOjpJbWFnZTo6c3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMpOgooV2ViQ29yZTo6
SW1hZ2U6OnNldFN5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzKToKLS0tCiBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwICAgICAgfCAzICsrKwogU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcCAgICAgICAgICAgICAgICAgICAgIHwgMSArCiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgfCA0ICsrLS0KIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcCAgICAgICB8IDIgKysKIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmggICAgICAgICB8IDMgKysrCiA1IGZpbGVz
IGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAKaW5kZXggNWIwOGM4Nzk3MzQyLi5kZGJk
MTRhNDViZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJ
bWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNw
cApAQCAtNzQxLDYgKzc0MSw5IEBAIGJvb2wgQ2FjaGVkSW1hZ2U6OmFsbG93c0FuaW1hdGlvbihj
b25zdCBJbWFnZSYgaW1hZ2UpIGNvbnN0CiAgICAgaWYgKCZpbWFnZSAhPSBtX2ltYWdlKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAoIUltYWdlOjpzeXN0ZW1BbGxvd3NBbmltYXRp
b25Db250cm9scygpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIENhY2hlZFJlc291cmNl
Q2xpZW50V2Fsa2VyPENhY2hlZEltYWdlQ2xpZW50PiB3YWxrZXIoKnRoaXMpOwogICAgIHdoaWxl
IChhdXRvKiBjbGllbnQgPSB3YWxrZXIubmV4dCgpKSB7CiAgICAgICAgIGlmICghY2xpZW50LT5h
bGxvd3NBbmltYXRpb24oKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGY1ZTdmOTIzNjFjZC4uNTcx
NTg1YjliNDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTIyNTEsNiArMjI1MSw3IEBAIHZvaWQg
UGFnZTo6c2V0SW1hZ2VBbmltYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKIHZvaWQgUGFnZTo6
c2V0U3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMoYm9vbCBpc0FsbG93ZWQpCiB7CiAgICAg
bV9zeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyA9IGlzQWxsb3dlZDsKKyAgICBJbWFnZTo6
c2V0U3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMoaXNBbGxvd2VkKTsKIH0KICNlbmRpZiAv
LyBFTkFCTEUoQUNDRVNTSUJJTElUWV9BTklNQVRJT05fQ09OVFJPTCkKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCmluZGV4IDdmYzg2OTZh
YzllMy4uZjA0ZDk2MGZkZjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQml0bWFwSW1hZ2UuY3BwCkBAIC0zNDAsMTIgKzM0MCwxMiBAQCB2b2lkIEJpdG1hcElt
YWdlOjpkcmF3UGF0dGVybihHcmFwaGljc0NvbnRleHQmIGN0eHQsIGNvbnN0IEZsb2F0UmVjdCYg
ZGVzdFJlY3QsCiAKIGJvb2wgQml0bWFwSW1hZ2U6OnNob3VsZEFuaW1hdGUoKSBjb25zdAogewot
ICAgIHJldHVybiByZXBldGl0aW9uQ291bnQoKSAmJiAhbV9hbmltYXRpb25GaW5pc2hlZCAmJiBp
bWFnZU9ic2VydmVyKCkgJiYgaW1hZ2VPYnNlcnZlcigpLT5hbGxvd3NBbmltYXRpb24oKnRoaXMp
OworICAgIHJldHVybiByZXBldGl0aW9uQ291bnQoKSAmJiAhbV9hbmltYXRpb25GaW5pc2hlZCAm
JiAoIUltYWdlOjpzeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scygpIHx8IGltYWdlT2JzZXJ2
ZXIoKS0+YWxsb3dzQW5pbWF0aW9uKCp0aGlzKSk7CiB9CiAKIGJvb2wgQml0bWFwSW1hZ2U6OmNh
bkFuaW1hdGUoKSBjb25zdAogewotICAgIHJldHVybiBzaG91bGRBbmltYXRlKCkgJiYgZnJhbWVD
b3VudCgpID4gMTsKKyAgICByZXR1cm4gZnJhbWVDb3VudCgpID4gMSAmJiBzaG91bGRBbmltYXRl
KCk7CiB9CiAKIGJvb2wgQml0bWFwSW1hZ2U6OmNhblVzZUFzeW5jRGVjb2RpbmdGb3JMYXJnZUlt
YWdlcygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAK
aW5kZXggOTBiZGUyZmFiMzFkLi4wODdiOGMxNzVjYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAKQEAgLTQ0NCw0ICs0NDQsNiBAQCBUZXh0U3RyZWFtJiBv
cGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBJbWFnZSYgaW1hZ2UpCiAgICAgcmV0dXJu
IHRzOwogfQogCitib29sIEltYWdlOjpnU3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMgPSBm
YWxzZTsKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ltYWdlLmgKaW5kZXggNWIzYTRlNmM4YWY4Li40MDE2MjQ3NGRkMDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaApAQCAtMTMzLDYgKzEzMyw4IEBAIHB1
YmxpYzoKICAgICBib29sIGFuaW1hdGlvblBlbmRpbmcoKSBjb25zdCB7IHJldHVybiBtX2FuaW1h
dGlvblN0YXJ0VGltZXIgJiYgbV9hbmltYXRpb25TdGFydFRpbWVyLT5pc0FjdGl2ZSgpOyB9CiAg
ICAgc3RkOjpvcHRpb25hbDxib29sPiBhbGxvd3NBbmltYXRpb24oKSBjb25zdCB7IHJldHVybiBt
X2FsbG93c0FuaW1hdGlvbjsgfQogICAgIHZvaWQgc2V0QWxsb3dzQW5pbWF0aW9uKHN0ZDo6b3B0
aW9uYWw8Ym9vbD4gYWxsb3dzQW5pbWF0aW9uKSB7IG1fYWxsb3dzQW5pbWF0aW9uID0gYWxsb3dz
QW5pbWF0aW9uOyB9CisgICAgc3RhdGljIGJvb2wgc3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJv
bHMoKSB7IHJldHVybiBnU3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHM7IH0KKyAgICBzdGF0
aWMgdm9pZCBzZXRTeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyhib29sIGFsbG93c0NvbnRy
b2xzKSB7IGdTeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyA9IGFsbG93c0NvbnRyb2xzOyB9
CiAKICAgICAvLyBUeXBpY2FsbHkgdGhlIENhY2hlZEltYWdlIHRoYXQgb3ducyB1cy4KICAgICBS
ZWZQdHI8SW1hZ2VPYnNlcnZlcj4gaW1hZ2VPYnNlcnZlcigpIGNvbnN0OwpAQCAtMTg1LDYgKzE4
Nyw3IEBAIHByaXZhdGU6CiAgICAgLy8gQSB2YWx1ZSBvZiB0cnVlIG9yIGZhbHNlIHdpbGwgb3Zl
cnJpZGUgdGhlIGRlZmF1bHQgUGFnZTo6aW1hZ2VBbmltYXRpb25FbmFibGVkIHN0YXRlLgogICAg
IHN0ZDo6b3B0aW9uYWw8Ym9vbD4gbV9hbGxvd3NBbmltYXRpb24geyBzdGQ6Om51bGxvcHQgfTsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI+IG1fYW5pbWF0aW9uU3RhcnRUaW1lcjsKKyAgICBz
dGF0aWMgYm9vbCBnU3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHM7CiB9OwogCiBXVEY6OlRl
eHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiwgY29uc3QgSW1hZ2UmKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470083</attachid>
            <date>2024-02-27 21:42:13 -0800</date>
            <delta_ts>2024-02-29 09:04:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-270136-20240227213942.patch</filename>
            <type>text/plain</type>
            <size>10447</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSBkNDRkNTcxMGMxZTg4ZTA2YzFjNGZkMDlhMjEzZmZiN2I5ZDQxZTU1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IE1vbiwgMjYgRmViIDIwMjQgMTc6MDc6MzYgLTA4MDAKU3ViamVjdDogW1BBVENIXSBB
WDogQXZvaWQgd29yayBpbiBCaXRtYXBJbWFnZTo6Y2FuQW5pbWF0ZSBpZiBhbmltYXRpb24KIGNv
bnRyb2xzIGFyZSBkaXNhYmxlZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjcwMTM2CiByZGFyOi8vMTA5NjQ2NzkyCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
CkJlZm9yZSB0aGlzIHBhdGNoLCB0aGUgZXhwZW5zaXZlIHdvcmsgdGhhdCBoYXBwZW5zIGluIEJp
dG1hcEltYWdlOjpjYW5BbmltYXRlIHdvdWxkIHN0aWxsIG9jY3VyCmluIHR3byB1bm5lY2Vzc2Fy
eSBjYXNlczogKDEpIGlmIHRoZSBpbWFnZSBoYXMgYSBzaW5nbGUtZnJhbWUgYW5kICgyKSBpZiBp
bWFnZSBhbmltYXRpb24gY29udHJvbHMKd2VyZSBub3QgZW5hYmxlZC4gVGhpcyBwYXRjaCBleGl0
cyBlYXJseSBmcm9tIHRoaXMgY29kZSBwYXRoIGlmIGVpdGhlciBvZiB0aG9zZSB0d28gdGhpbmdz
IGFyZSB0cnVlLgpUaGlzIHdpbGwgaW1wcm92ZSBwZXJmb3JtYW5jZSBmb3IgdXNlcnMgYm90aCB3
aXRoIGFuZCB3aXRob3V0IHRoZSBjb250cm9scyBlbmFibGVkLgoKTW92aW5nIGBzeXN0ZW1BbGxv
d3NBbmltYXRpb25Db250cm9sc2AgdG8gYSBzdGF0aWMgZ2xvYmFsIHZhcmlhYmxlIG9uIGBJbWFn
ZWAgYWxzbyBhbGxvd3MgdXMgdG8gcmVtb3ZlCnRoZSBtZXRob2Qgb2YgdGhlIHNhbWUgbmFtZSBm
cm9tIGBQYWdlYCwgc2luY2UgdGhpcyBkb2VzIG5vdCBuZWVkIHRvIGJlIGEgcGVyLXBhZ2Ugc2V0
dGluZy4KClRoaXMgaXMgcGFydCBvbmUgb2YgcmVsYXRlZCB3b3JrLiBJbiBhIGZvbGxvdyB1cCwg
cGVyZm9ybWFuY2UgaXNzdWVzIGZvciBjb21wdXRpbmcgY2FuQW5pbWF0ZSB3aGVuCmFuaW1hdGlv
biBjb250cm9scyBhcmUgZW5hYmxlZCB3aWxsIGJlIGFkZHJlc3NlZC4KCiogU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcDoKKFdlYkNvcmU6OkNhY2hlZEltYWdlOjpD
YWNoZWRJbWFnZU9ic2VydmVyOjphbGxvd3NBbmltYXRpb24gY29uc3QpOgooV2ViQ29yZTo6Q2Fj
aGVkSW1hZ2U6OmFsbG93c0FuaW1hdGlvbiBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvcGFnZS9D
b250ZXh0TWVudUNvbnRyb2xsZXIuY3BwOgooV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVy
Ojpwb3B1bGF0ZSk6CiogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcDoKKFdlYkNvcmU6OlBh
Z2U6OnNldEltYWdlQW5pbWF0aW9uRW5hYmxlZCk6CihXZWJDb3JlOjpQYWdlOjpzZXRTeXN0ZW1B
bGxvd3NBbmltYXRpb25Db250cm9scyk6IERlbGV0ZWQuCiogU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmg6CihXZWJDb3JlOjpQYWdlOjppbWFnZUFuaW1hdGlvbkVuYWJsZWQgY29uc3QpOgooV2Vi
Q29yZTo6UGFnZTo6c3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMgY29uc3QpOiBEZWxldGVk
LgoqIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKFdl
YkNvcmU6OkJpdG1hcEltYWdlOjpjYW5BbmltYXRlIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHA6CihXZWJDb3JlOjpJbWFnZTo6c2V0U3lzdGVtQWxs
b3dzQW5pbWF0aW9uQ29udHJvbHMpOgoqIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlLmg6CihXZWJDb3JlOjpJbWFnZTo6c3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMp
OgoqIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgooV2ViS2l0
OjpXZWJQYWdlOjp1cGRhdGVJbWFnZUFuaW1hdGlvbkVuYWJsZWQpOgoqIFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CihXZWJLaXQ6OldlYlByb2Nlc3M6
OnVwZGF0ZVBhZ2VBY2Nlc3NpYmlsaXR5U2V0dGluZ3MpOgotLS0KIFNvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAgICAgICAgfCA5ICsrKysrKysrKwogU291cmNlL1dl
YkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwICAgICB8IDIgKy0KIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAgICAgICAgICAgICAgICAgICAgICAgfCA1IC0tLS0tCiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCAgICAgICAgICAgICAgICAgICAgICAgIHwgMyAtLS0KIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcCAgfCAyICstCiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAgICAgICAgIHwgNyArKysr
KysrCiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oICAgICAgICAgIHwg
MyArKysKIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwICAgICAg
fCAxIC0KIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0g
fCA1ICsrKysrCiA5IGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFn
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCmluZGV4
IDViMDhjODc5NzM0Mi4uMzc0YTI3NjlmZDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRJbWFnZS5jcHAKQEAgLTQ3Niw2ICs0NzYsMTIgQEAgdm9pZCBDYWNoZWRJbWFn
ZTo6Q2FjaGVkSW1hZ2VPYnNlcnZlcjo6c2NoZWR1bGVSZW5kZXJpbmdVcGRhdGUoY29uc3QgSW1h
Z2UmIGltYWcKIAogYm9vbCBDYWNoZWRJbWFnZTo6Q2FjaGVkSW1hZ2VPYnNlcnZlcjo6YWxsb3dz
QW5pbWF0aW9uKGNvbnN0IEltYWdlJiBpbWFnZSkgY29uc3QKIHsKKyAgICAvLyAqOjphbGxvd3NB
bmltYXRpb24gY2FuIG9ubHkgcmV0dXJuIGZhbHNlIHdoZW4KKyAgICAvLyBzeXN0ZW1BbGxvd3NB
bmltYXRpb25Db250cm9scyA9PSB0cnVlLCBzbyB0aGlzIHByZXZlbnRzIHVubmVjZXNzYXJ5IHdv
cmsKKyAgICAvLyBieSBleGl0aW5nIGVhcmx5LgorICAgIGlmICghSW1hZ2U6OnN5c3RlbUFsbG93
c0FuaW1hdGlvbkNvbnRyb2xzKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgZm9yIChD
YWNoZWRSZXNvdXJjZUhhbmRsZSBjYWNoZWRJbWFnZSA6IG1fY2FjaGVkSW1hZ2VzKSB7CiAgICAg
ICAgIGlmIChjYWNoZWRJbWFnZS0+YWxsb3dzQW5pbWF0aW9uKGltYWdlKSkKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwpAQCAtNzQxLDYgKzc0Nyw5IEBAIGJvb2wgQ2FjaGVkSW1hZ2U6OmFsbG93
c0FuaW1hdGlvbihjb25zdCBJbWFnZSYgaW1hZ2UpIGNvbnN0CiAgICAgaWYgKCZpbWFnZSAhPSBt
X2ltYWdlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAoIUltYWdlOjpzeXN0ZW1B
bGxvd3NBbmltYXRpb25Db250cm9scygpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIENh
Y2hlZFJlc291cmNlQ2xpZW50V2Fsa2VyPENhY2hlZEltYWdlQ2xpZW50PiB3YWxrZXIoKnRoaXMp
OwogICAgIHdoaWxlIChhdXRvKiBjbGllbnQgPSB3YWxrZXIubmV4dCgpKSB7CiAgICAgICAgIGlm
ICghY2xpZW50LT5hbGxvd3NBbmltYXRpb24oKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29u
dGV4dE1lbnVDb250cm9sbGVyLmNwcAppbmRleCBiOTg5YmU3NDJlNjQuLmIyMGQxMzI4MGE4YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcApAQCAt
MTA2NSw3ICsxMDY1LDcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnBvcHVsYXRlKCkK
ICAgICAgICAgaWYgKCFmcmFtZS0+cGFnZSgpIHx8ICFmcmFtZS0+cGFnZSgpLT5zZXR0aW5ncygp
LmltYWdlQW5pbWF0aW9uQ29udHJvbEVuYWJsZWQoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgICAgICByZXR1cm4gZnJhbWUtPnBhZ2UoKS0+c3lzdGVtQWxsb3dzQW5pbWF0aW9u
Q29udHJvbHMoKSB8fCBmcmFtZS0+cGFnZSgpLT5zZXR0aW5ncygpLmFsbG93QW5pbWF0aW9uQ29u
dHJvbHNPdmVycmlkZSgpOworICAgICAgICByZXR1cm4gSW1hZ2U6OnN5c3RlbUFsbG93c0FuaW1h
dGlvbkNvbnRyb2xzKCkgfHwgZnJhbWUtPnBhZ2UoKS0+c2V0dGluZ3MoKS5hbGxvd0FuaW1hdGlv
bkNvbnRyb2xzT3ZlcnJpZGUoKTsKICAgICB9OwogCiAgICAgYm9vbCBzaG91bGRBZGRQbGF5QWxs
UGF1c2VBbGxBbmltYXRpb25zSXRlbSA9IGNhbkFkZEFuaW1hdGlvbkNvbnRyb2xzKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcAppbmRleCBmNWU3ZjkyMzYxY2QuLjFhMGY1YWE1M2YwOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuY3BwCkBAIC0yMjQ3LDExICsyMjQ3LDYgQEAgdm9pZCBQYWdlOjpzZXRJbWFnZUFuaW1hdGlv
bkVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgIHVwZGF0ZVBsYXlTdGF0ZUZvckFsbEFuaW1hdGlv
bnMoKTsKICAgICBjaHJvbWUoKS5jbGllbnQoKS5pc0FueUFuaW1hdGlvbkFsbG93ZWRUb1BsYXlE
aWRDaGFuZ2UoZW5hYmxlZCk7CiB9Ci0KLXZvaWQgUGFnZTo6c2V0U3lzdGVtQWxsb3dzQW5pbWF0
aW9uQ29udHJvbHMoYm9vbCBpc0FsbG93ZWQpCi17Ci0gICAgbV9zeXN0ZW1BbGxvd3NBbmltYXRp
b25Db250cm9scyA9IGlzQWxsb3dlZDsKLX0KICNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElU
WV9BTklNQVRJT05fQ09OVFJPTCkKIAogI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX05PTl9CTElO
S0lOR19DVVJTT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDI5OWMyOTFkMjJmMS4uZGJlNDI1Mjk2ZWY3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuaApAQCAtNzA5LDEyICs3MDksMTAgQEAgcHVibGljOgogI2lmIEVOQUJM
RShBQ0NFU1NJQklMSVRZX0FOSU1BVElPTl9DT05UUk9MKQogICAgIHZvaWQgdXBkYXRlUGxheVN0
YXRlRm9yQWxsQW5pbWF0aW9ucygpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SW1hZ2VB
bmltYXRpb25FbmFibGVkKGJvb2wpOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U3lzdGVt
QWxsb3dzQW5pbWF0aW9uQ29udHJvbHMoYm9vbCBpc0FsbG93ZWQpOwogICAgIHZvaWQgYWRkSW5k
aXZpZHVhbGx5UGxheWluZ0FuaW1hdGlvbkVsZW1lbnQoSFRNTEltYWdlRWxlbWVudCYpOwogICAg
IHZvaWQgcmVtb3ZlSW5kaXZpZHVhbGx5UGxheWluZ0FuaW1hdGlvbkVsZW1lbnQoSFRNTEltYWdl
RWxlbWVudCYpOwogI2VuZGlmCiAgICAgYm9vbCBpbWFnZUFuaW1hdGlvbkVuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX2ltYWdlQW5pbWF0aW9uRW5hYmxlZDsgfQotICAgIGJvb2wgc3lzdGVtQWxs
b3dzQW5pbWF0aW9uQ29udHJvbHMoKSBjb25zdCB7IHJldHVybiBtX3N5c3RlbUFsbG93c0FuaW1h
dGlvbkNvbnRyb2xzOyB9CiAKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9OT05fQkxJTktJTkdf
Q1VSU09SKQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0UHJlZmVyc05vbkJsaW5raW5nQ3Vy
c29yKGJvb2wpOwpAQCAtMTI2MSw3ICsxMjU5LDYgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9j
YW5TdGFydE1lZGlhIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pbWFnZUFuaW1hdGlvbkVuYWJsZWQg
eyB0cnVlIH07Ci0gICAgYm9vbCBtX3N5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzIHsgZmFs
c2UgfTsKICAgICAvLyBFbGVtZW50cyBjb250YWluaW5nIGFuaW1hdGlvbnMgdGhhdCBhcmUgaW5k
aXZpZHVhbGx5IHBsYXlpbmcgKHBvdGVudGlhbGx5IG92ZXJyaWRpbmcgdGhlIHBhZ2Utd2lkZSBt
X2ltYWdlQW5pbWF0aW9uRW5hYmxlZCBzdGF0ZSkuCiAgICAgV2Vha0hhc2hTZXQ8SFRNTEltYWdl
RWxlbWVudCwgV2Vha1B0ckltcGxXaXRoRXZlbnRUYXJnZXREYXRhPiBtX2luZGl2aWR1YWxseVBs
YXlpbmdBbmltYXRpb25FbGVtZW50czsKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9OT05fQkxJ
TktJTkdfQ1VSU09SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQml0bWFwSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0
bWFwSW1hZ2UuY3BwCmluZGV4IDdmYzg2OTZhYzllMy4uZmMyYjEyNGNiY2NjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCkBAIC0zNDUs
NyArMzQ1LDcgQEAgYm9vbCBCaXRtYXBJbWFnZTo6c2hvdWxkQW5pbWF0ZSgpIGNvbnN0CiAKIGJv
b2wgQml0bWFwSW1hZ2U6OmNhbkFuaW1hdGUoKSBjb25zdAogewotICAgIHJldHVybiBzaG91bGRB
bmltYXRlKCkgJiYgZnJhbWVDb3VudCgpID4gMTsKKyAgICByZXR1cm4gZnJhbWVDb3VudCgpID4g
MSAmJiBzaG91bGRBbmltYXRlKCk7CiB9CiAKIGJvb2wgQml0bWFwSW1hZ2U6OmNhblVzZUFzeW5j
RGVjb2RpbmdGb3JMYXJnZUltYWdlcygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbWFnZS5jcHAKaW5kZXggOTBiZGUyZmFiMzFkLi5hNThkOGQwOGE3MDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAKQEAgLTQ0NCw0ICs0NDQs
MTEgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgSW1hZ2Um
IGltYWdlKQogICAgIHJldHVybiB0czsKIH0KIAorYm9vbCBJbWFnZTo6Z1N5c3RlbUFsbG93c0Fu
aW1hdGlvbkNvbnRyb2xzID0gZmFsc2U7CisKK3ZvaWQgSW1hZ2U6OnNldFN5c3RlbUFsbG93c0Fu
aW1hdGlvbkNvbnRyb2xzKGJvb2wgYWxsb3dzQ29udHJvbHMpCit7CisgICAgZ1N5c3RlbUFsbG93
c0FuaW1hdGlvbkNvbnRyb2xzID0gYWxsb3dzQ29udHJvbHM7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oCmluZGV4IDVi
M2E0ZTZjOGFmOC4uOWZjYTUxYzE2OTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlLmgKQEAgLTEzMyw2ICsxMzMsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBhbmltYXRp
b25QZW5kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9hbmltYXRpb25TdGFydFRpbWVyICYmIG1fYW5p
bWF0aW9uU3RhcnRUaW1lci0+aXNBY3RpdmUoKTsgfQogICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4g
YWxsb3dzQW5pbWF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd3NBbmltYXRpb247IH0KICAg
ICB2b2lkIHNldEFsbG93c0FuaW1hdGlvbihzdGQ6Om9wdGlvbmFsPGJvb2w+IGFsbG93c0FuaW1h
dGlvbikgeyBtX2FsbG93c0FuaW1hdGlvbiA9IGFsbG93c0FuaW1hdGlvbjsgfQorICAgIHN0YXRp
YyBib29sIHN5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzKCkgeyByZXR1cm4gZ1N5c3RlbUFs
bG93c0FuaW1hdGlvbkNvbnRyb2xzOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQg
c2V0U3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMoYm9vbCBhbGxvd3NDb250cm9scyk7CiAK
ICAgICAvLyBUeXBpY2FsbHkgdGhlIENhY2hlZEltYWdlIHRoYXQgb3ducyB1cy4KICAgICBSZWZQ
dHI8SW1hZ2VPYnNlcnZlcj4gaW1hZ2VPYnNlcnZlcigpIGNvbnN0OwpAQCAtMTg1LDYgKzE4Nyw3
IEBAIHByaXZhdGU6CiAgICAgLy8gQSB2YWx1ZSBvZiB0cnVlIG9yIGZhbHNlIHdpbGwgb3ZlcnJp
ZGUgdGhlIGRlZmF1bHQgUGFnZTo6aW1hZ2VBbmltYXRpb25FbmFibGVkIHN0YXRlLgogICAgIHN0
ZDo6b3B0aW9uYWw8Ym9vbD4gbV9hbGxvd3NBbmltYXRpb24geyBzdGQ6Om51bGxvcHQgfTsKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI+IG1fYW5pbWF0aW9uU3RhcnRUaW1lcjsKKyAgICBXRUJD
T1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBnU3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHM7CiB9
OwogCiBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiwgY29uc3Qg
SW1hZ2UmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
aW5kZXggZDI1ZWMxNjRlY2FkLi5kNTYxYzE3MGZiMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC05MTI1LDcgKzkxMjUsNiBAQCB2b2lkIFdl
YlBhZ2U6OmdlbmVyYXRlVGVzdFJlcG9ydChTdHJpbmcmJiBtZXNzYWdlLCBTdHJpbmcmJiBncm91
cCkKIHZvaWQgV2ViUGFnZTo6dXBkYXRlSW1hZ2VBbmltYXRpb25FbmFibGVkKCkKIHsKICAgICBj
b3JlUGFnZSgpLT5zZXRJbWFnZUFuaW1hdGlvbkVuYWJsZWQoV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkuaW1hZ2VBbmltYXRpb25FbmFibGVkKCkpOwotICAgIGNvcmVQYWdlKCktPnNldFN5c3RlbUFs
bG93c0FuaW1hdGlvbkNvbnRyb2xzKCFXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5pbWFnZUFuaW1h
dGlvbkVuYWJsZWQoKSk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6cGF1c2VBbGxBbmltYXRpb25zKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4IDgxODAz
OTI5NzAzMS4uM2JlOGY0MWUyMzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KQEAgLTc2LDYgKzc2LDcgQEAKICNpbXBvcnQgPFdl
YkNvcmUvSGlzdG9yeUNvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvSGlzdG9yeUl0ZW0u
aD4KICNpbXBvcnQgPFdlYkNvcmUvSU9TdXJmYWNlLmg+CisjaW1wb3J0IDxXZWJDb3JlL0ltYWdl
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ltYWdlRGVjb2RlckNHLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0xvY2FsRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZERldmljZU1vZGVs
Lmg+CkBAIC0xMjc4LDYgKzEyNzksMTAgQEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRNZWRpYUFjY2Vz
c2liaWxpdHlQcmVmZXJlbmNlcyhXZWJDb3JlOjpDYXB0aW9uVXNlclByZWZlcmVuY2UKIAogdm9p
ZCBXZWJQcm9jZXNzOjp1cGRhdGVQYWdlQWNjZXNzaWJpbGl0eVNldHRpbmdzKCkKIHsKKyNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9BTklNQVRJT05fQ09OVFJPTCkKKyAgICBJbWFnZTo6c2V0U3lz
dGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMoIWltYWdlQW5pbWF0aW9uRW5hYmxlZCgpKTsKKyNl
bmRpZgorCiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfQU5JTUFUSU9OX0NPTlRST0wpIHx8IEVO
QUJMRShBQ0NFU1NJQklMSVRZX05PTl9CTElOS0lOR19DVVJTT1IpCiAgICAgZm9yIChhdXRvJiBw
YWdlIDogbV9wYWdlTWFwLnZhbHVlcygpKSB7CiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfQU5J
TUFUSU9OX0NPTlRST0wpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470098</attachid>
            <date>2024-02-29 09:04:40 -0800</date>
            <delta_ts>2024-02-29 09:50:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-270136-20240229090438.patch</filename>
            <type>text/plain</type>
            <size>11424</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSBkOWNiMDQ1Y2RiMjJiOWJiMWVkOGI2ZGZkM2NhZDEzNTBiZjk3NjliIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IE1vbiwgMjYgRmViIDIwMjQgMTc6MDc6MzYgLTA4MDAKU3ViamVjdDogW1BBVENIXSBB
WDogQXZvaWQgd29yayBpbiBCaXRtYXBJbWFnZTo6Y2FuQW5pbWF0ZSBpZiBhbmltYXRpb24KIGNv
bnRyb2xzIGFyZSBkaXNhYmxlZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjcwMTM2CiByZGFyOi8vMTA5NjQ2NzkyCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
CkJlZm9yZSB0aGlzIHBhdGNoLCB0aGUgZXhwZW5zaXZlIHdvcmsgdGhhdCBoYXBwZW5zIGluIEJp
dG1hcEltYWdlOjpjYW5BbmltYXRlIHdvdWxkIHVubmVjZXNzYXJpbHkgb2NjdXIgaW4KdHdvIGNh
c2VzOiAoMSkgaWYgdGhlIGltYWdlIGhhcyBhIHNpbmdsZS1mcmFtZSBhbmQgKDIpIGlmIGltYWdl
IGFuaW1hdGlvbiBjb250cm9scyB3ZXJlIG5vdCBlbmFibGVkLiBUaGlzCnBhdGNoIGV4aXRzIGVh
cmx5IGZyb20gdGhpcyBjb2RlIHBhdGggaWYgZWl0aGVyIG9mIHRob3NlIHR3byB0aGluZ3MgYXJl
IHRydWUuIFRoaXMgd2lsbCBpbXByb3ZlIHBlcmZvcm1hbmNlCmZvciB1c2VycyBib3RoIHdpdGgg
YW5kIHdpdGhvdXQgdGhlIGNvbnRyb2xzIGVuYWJsZWQuCgpNb3ZpbmcgYHN5c3RlbUFsbG93c0Fu
aW1hdGlvbkNvbnRyb2xzYCB0byBhIHN0YXRpYyBnbG9iYWwgdmFyaWFibGUgb24gYEltYWdlYCBh
bHNvIGFsbG93cyB1cyB0byByZW1vdmUKdGhlIG1ldGhvZCBvZiB0aGUgc2FtZSBuYW1lIGZyb20g
YFBhZ2VgLCBzaW5jZSB0aGlzIGRvZXMgbm90IG5lZWQgdG8gYmUgYSBwZXItcGFnZSBzZXR0aW5n
LgoKVGhpcyBpcyBwYXJ0IG9uZSBvZiByZWxhdGVkIHdvcmsuIEluIGEgZm9sbG93IHVwLCBwZXJm
b3JtYW5jZSBpc3N1ZXMgZm9yIGNvbXB1dGluZyBjYW5BbmltYXRlIHdoZW4KYW5pbWF0aW9uIGNv
bnRyb2xzIGFyZSBlbmFibGVkIHdpbGwgYmUgYWRkcmVzc2VkLgoKKiBTb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwOgooV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OkNhY2hl
ZEltYWdlT2JzZXJ2ZXI6OmFsbG93c0FuaW1hdGlvbiBjb25zdCk6CihXZWJDb3JlOjpDYWNoZWRJ
bWFnZTo6YWxsb3dzQW5pbWF0aW9uIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRl
eHRNZW51Q29udHJvbGxlci5jcHA6CihXZWJDb3JlOjpDb250ZXh0TWVudUNvbnRyb2xsZXI6OnBv
cHVsYXRlKToKKiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwOgooV2ViQ29yZTo6UGFnZTo6
c2V0SW1hZ2VBbmltYXRpb25FbmFibGVkKToKKFdlYkNvcmU6OlBhZ2U6OnNldFN5c3RlbUFsbG93
c0FuaW1hdGlvbkNvbnRyb2xzKTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aDoKKFdlYkNvcmU6OlBhZ2U6OmltYWdlQW5pbWF0aW9uRW5hYmxlZCBjb25zdCk6CihXZWJDb3Jl
OjpQYWdlOjpzeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyBjb25zdCk6IERlbGV0ZWQuCiog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwOgooV2ViQ29y
ZTo6Qml0bWFwSW1hZ2U6OmNhbkFuaW1hdGUgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlLmNwcDoKKFdlYkNvcmU6OkltYWdlOjpzZXRTeXN0ZW1BbGxvd3NB
bmltYXRpb25Db250cm9scyk6CiogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2UuaDoKKFdlYkNvcmU6OkltYWdlOjpzeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyk6Ciog
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CihXZWJLaXQ6Oldl
YlBhZ2U6OnVwZGF0ZUltYWdlQW5pbWF0aW9uRW5hYmxlZCk6CiogU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKFdlYktpdDo6V2ViUHJvY2Vzczo6dXBk
YXRlUGFnZUFjY2Vzc2liaWxpdHlTZXR0aW5ncyk6Ci0tLQogU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZEltYWdlLmNwcCAgICAgICB8IDggKysrKysrKysKIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcCAgICAgfCAyICstCiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwICAgICAgICAgICAgICAgICAgICAgIHwgNSAtLS0tLQogU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmggICAgICAgICAgICAgICAgICAgICAgICB8IDMgLS0tCiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgIHwgMiArLQogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwICAgICAgICB8IDcgKysrKysrKwog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaCAgICAgICAgICB8IDMgKysr
CiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgICAgICAgICAgICAgIHwgOCAr
KysrKysrLQogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgICAg
ICB8IDEgLQogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5t
bSB8IDUgKysrKysKIDEwIGZpbGVzIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyksIDEyIGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJ
bWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCmlu
ZGV4IDViMDhjODc5NzM0Mi4uMjg1N2Y0ODcwMjQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAKQEAgLTQ3Niw2ICs0NzYsMTEgQEAgdm9pZCBDYWNoZWRJ
bWFnZTo6Q2FjaGVkSW1hZ2VPYnNlcnZlcjo6c2NoZWR1bGVSZW5kZXJpbmdVcGRhdGUoY29uc3Qg
SW1hZ2UmIGltYWcKIAogYm9vbCBDYWNoZWRJbWFnZTo6Q2FjaGVkSW1hZ2VPYnNlcnZlcjo6YWxs
b3dzQW5pbWF0aW9uKGNvbnN0IEltYWdlJiBpbWFnZSkgY29uc3QKIHsKKyAgICAvLyAqOjphbGxv
d3NBbmltYXRpb24gY2FuIG9ubHkgcmV0dXJuIGZhbHNlIHdoZW4gc3lzdGVtQWxsb3dzQW5pbWF0
aW9uQ29udHJvbHMgPT0gdHJ1ZSwKKyAgICAvLyBzbyB0aGlzIHByZXZlbnRzIHVubmVjZXNzYXJ5
IHdvcmsgYnkgZXhpdGluZyBlYXJseS4KKyAgICBpZiAoIUltYWdlOjpzeXN0ZW1BbGxvd3NBbmlt
YXRpb25Db250cm9scygpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIGZvciAoQ2FjaGVk
UmVzb3VyY2VIYW5kbGUgY2FjaGVkSW1hZ2UgOiBtX2NhY2hlZEltYWdlcykgewogICAgICAgICBp
ZiAoY2FjaGVkSW1hZ2UtPmFsbG93c0FuaW1hdGlvbihpbWFnZSkpCiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKQEAgLTc0MSw2ICs3NDYsOSBAQCBib29sIENhY2hlZEltYWdlOjphbGxvd3NBbmlt
YXRpb24oY29uc3QgSW1hZ2UmIGltYWdlKSBjb25zdAogICAgIGlmICgmaW1hZ2UgIT0gbV9pbWFn
ZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKCFJbWFnZTo6c3lzdGVtQWxsb3dz
QW5pbWF0aW9uQ29udHJvbHMoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICBDYWNoZWRS
ZXNvdXJjZUNsaWVudFdhbGtlcjxDYWNoZWRJbWFnZUNsaWVudD4gd2Fsa2VyKCp0aGlzKTsKICAg
ICB3aGlsZSAoYXV0byogY2xpZW50ID0gd2Fsa2VyLm5leHQoKSkgewogICAgICAgICBpZiAoIWNs
aWVudC0+YWxsb3dzQW5pbWF0aW9uKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRN
ZW51Q29udHJvbGxlci5jcHAKaW5kZXggYjk4OWJlNzQyZTY0Li5iMjBkMTMyODBhOGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKQEAgLTEwNjUs
NyArMTA2NSw3IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpwb3B1bGF0ZSgpCiAgICAg
ICAgIGlmICghZnJhbWUtPnBhZ2UoKSB8fCAhZnJhbWUtPnBhZ2UoKS0+c2V0dGluZ3MoKS5pbWFn
ZUFuaW1hdGlvbkNvbnRyb2xFbmFibGVkKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAK
LSAgICAgICAgcmV0dXJuIGZyYW1lLT5wYWdlKCktPnN5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRy
b2xzKCkgfHwgZnJhbWUtPnBhZ2UoKS0+c2V0dGluZ3MoKS5hbGxvd0FuaW1hdGlvbkNvbnRyb2xz
T3ZlcnJpZGUoKTsKKyAgICAgICAgcmV0dXJuIEltYWdlOjpzeXN0ZW1BbGxvd3NBbmltYXRpb25D
b250cm9scygpIHx8IGZyYW1lLT5wYWdlKCktPnNldHRpbmdzKCkuYWxsb3dBbmltYXRpb25Db250
cm9sc092ZXJyaWRlKCk7CiAgICAgfTsKIAogICAgIGJvb2wgc2hvdWxkQWRkUGxheUFsbFBhdXNl
QWxsQW5pbWF0aW9uc0l0ZW0gPSBjYW5BZGRBbmltYXRpb25Db250cm9scygpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAKaW5kZXggZjVlN2Y5MjM2MWNkLi4xYTBmNWFhNTNmMDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cApAQCAtMjI0NywxMSArMjI0Nyw2IEBAIHZvaWQgUGFnZTo6c2V0SW1hZ2VBbmltYXRpb25FbmFi
bGVkKGJvb2wgZW5hYmxlZCkKICAgICB1cGRhdGVQbGF5U3RhdGVGb3JBbGxBbmltYXRpb25zKCk7
CiAgICAgY2hyb21lKCkuY2xpZW50KCkuaXNBbnlBbmltYXRpb25BbGxvd2VkVG9QbGF5RGlkQ2hh
bmdlKGVuYWJsZWQpOwogfQotCi12b2lkIFBhZ2U6OnNldFN5c3RlbUFsbG93c0FuaW1hdGlvbkNv
bnRyb2xzKGJvb2wgaXNBbGxvd2VkKQotewotICAgIG1fc3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29u
dHJvbHMgPSBpc0FsbG93ZWQ7Ci19CiAjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFlfQU5J
TUFUSU9OX0NPTlRST0wpCiAKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9OT05fQkxJTktJTkdf
Q1VSU09SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCAyOTljMjkxZDIyZjEuLmRiZTQyNTI5NmVmNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmgKQEAgLTcwOSwxMiArNzA5LDEwIEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQUND
RVNTSUJJTElUWV9BTklNQVRJT05fQ09OVFJPTCkKICAgICB2b2lkIHVwZGF0ZVBsYXlTdGF0ZUZv
ckFsbEFuaW1hdGlvbnMoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEltYWdlQW5pbWF0
aW9uRW5hYmxlZChib29sKTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN5c3RlbUFsbG93
c0FuaW1hdGlvbkNvbnRyb2xzKGJvb2wgaXNBbGxvd2VkKTsKICAgICB2b2lkIGFkZEluZGl2aWR1
YWxseVBsYXlpbmdBbmltYXRpb25FbGVtZW50KEhUTUxJbWFnZUVsZW1lbnQmKTsKICAgICB2b2lk
IHJlbW92ZUluZGl2aWR1YWxseVBsYXlpbmdBbmltYXRpb25FbGVtZW50KEhUTUxJbWFnZUVsZW1l
bnQmKTsKICNlbmRpZgogICAgIGJvb2wgaW1hZ2VBbmltYXRpb25FbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pbWFnZUFuaW1hdGlvbkVuYWJsZWQ7IH0KLSAgICBib29sIHN5c3RlbUFsbG93c0Fu
aW1hdGlvbkNvbnRyb2xzKCkgY29uc3QgeyByZXR1cm4gbV9zeXN0ZW1BbGxvd3NBbmltYXRpb25D
b250cm9sczsgfQogCiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfTk9OX0JMSU5LSU5HX0NVUlNP
UikKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFByZWZlcnNOb25CbGlua2luZ0N1cnNvcihi
b29sKTsKQEAgLTEyNjEsNyArMTI1OSw2IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fY2FuU3Rh
cnRNZWRpYSB7IHRydWUgfTsKICAgICBib29sIG1faW1hZ2VBbmltYXRpb25FbmFibGVkIHsgdHJ1
ZSB9OwotICAgIGJvb2wgbV9zeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyB7IGZhbHNlIH07
CiAgICAgLy8gRWxlbWVudHMgY29udGFpbmluZyBhbmltYXRpb25zIHRoYXQgYXJlIGluZGl2aWR1
YWxseSBwbGF5aW5nIChwb3RlbnRpYWxseSBvdmVycmlkaW5nIHRoZSBwYWdlLXdpZGUgbV9pbWFn
ZUFuaW1hdGlvbkVuYWJsZWQgc3RhdGUpLgogICAgIFdlYWtIYXNoU2V0PEhUTUxJbWFnZUVsZW1l
bnQsIFdlYWtQdHJJbXBsV2l0aEV2ZW50VGFyZ2V0RGF0YT4gbV9pbmRpdmlkdWFsbHlQbGF5aW5n
QW5pbWF0aW9uRWxlbWVudHM7CiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfTk9OX0JMSU5LSU5H
X0NVUlNPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Jp
dG1hcEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcElt
YWdlLmNwcAppbmRleCA3ZmM4Njk2YWM5ZTMuLmZjMmIxMjRjYmNjYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcApAQCAtMzQ1LDcgKzM0
NSw3IEBAIGJvb2wgQml0bWFwSW1hZ2U6OnNob3VsZEFuaW1hdGUoKSBjb25zdAogCiBib29sIEJp
dG1hcEltYWdlOjpjYW5BbmltYXRlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gc2hvdWxkQW5pbWF0
ZSgpICYmIGZyYW1lQ291bnQoKSA+IDE7CisgICAgcmV0dXJuIGZyYW1lQ291bnQoKSA+IDEgJiYg
c2hvdWxkQW5pbWF0ZSgpOwogfQogCiBib29sIEJpdG1hcEltYWdlOjpjYW5Vc2VBc3luY0RlY29k
aW5nRm9yTGFyZ2VJbWFnZXMoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2UuY3BwCmluZGV4IDkwYmRlMmZhYjMxZC4uYTU4ZDhkMDhhNzA0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwCkBAIC00NDQsNCArNDQ0LDExIEBA
IFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IEltYWdlJiBpbWFn
ZSkKICAgICByZXR1cm4gdHM7CiB9CiAKK2Jvb2wgSW1hZ2U6OmdTeXN0ZW1BbGxvd3NBbmltYXRp
b25Db250cm9scyA9IGZhbHNlOworCit2b2lkIEltYWdlOjpzZXRTeXN0ZW1BbGxvd3NBbmltYXRp
b25Db250cm9scyhib29sIGFsbG93c0NvbnRyb2xzKQoreworICAgIGdTeXN0ZW1BbGxvd3NBbmlt
YXRpb25Db250cm9scyA9IGFsbG93c0NvbnRyb2xzOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaAppbmRleCA1YjNhNGU2
YzhhZjguLjlmY2E1MWMxNjk1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZS5oCkBAIC0xMzMsNiArMTMzLDggQEAgcHVibGljOgogICAgIGJvb2wgYW5pbWF0aW9uUGVu
ZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fYW5pbWF0aW9uU3RhcnRUaW1lciAmJiBtX2FuaW1hdGlv
blN0YXJ0VGltZXItPmlzQWN0aXZlKCk7IH0KICAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+IGFsbG93
c0FuaW1hdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dzQW5pbWF0aW9uOyB9CiAgICAgdm9p
ZCBzZXRBbGxvd3NBbmltYXRpb24oc3RkOjpvcHRpb25hbDxib29sPiBhbGxvd3NBbmltYXRpb24p
IHsgbV9hbGxvd3NBbmltYXRpb24gPSBhbGxvd3NBbmltYXRpb247IH0KKyAgICBzdGF0aWMgYm9v
bCBzeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scygpIHsgcmV0dXJuIGdTeXN0ZW1BbGxvd3NB
bmltYXRpb25Db250cm9sczsgfQorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldFN5
c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzKGJvb2wgYWxsb3dzQ29udHJvbHMpOwogCiAgICAg
Ly8gVHlwaWNhbGx5IHRoZSBDYWNoZWRJbWFnZSB0aGF0IG93bnMgdXMuCiAgICAgUmVmUHRyPElt
YWdlT2JzZXJ2ZXI+IGltYWdlT2JzZXJ2ZXIoKSBjb25zdDsKQEAgLTE4NSw2ICsxODcsNyBAQCBw
cml2YXRlOgogICAgIC8vIEEgdmFsdWUgb2YgdHJ1ZSBvciBmYWxzZSB3aWxsIG92ZXJyaWRlIHRo
ZSBkZWZhdWx0IFBhZ2U6OmltYWdlQW5pbWF0aW9uRW5hYmxlZCBzdGF0ZS4KICAgICBzdGQ6Om9w
dGlvbmFsPGJvb2w+IG1fYWxsb3dzQW5pbWF0aW9uIHsgc3RkOjpudWxsb3B0IH07CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFRpbWVyPiBtX2FuaW1hdGlvblN0YXJ0VGltZXI7CisgICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIGJvb2wgZ1N5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzOwogfTsKIAog
V1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYsIGNvbnN0IEltYWdl
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNDVmMWQwYmZiMzM0Li41
MTQ1ZTJjZjE2ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTExMjAs
OCArMTEyMCwxNCBAQCBib29sIEludGVybmFsczo6aXNJbWFnZUFuaW1hdGluZyhIVE1MSW1hZ2VF
bGVtZW50JiBlbGVtZW50KQogI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0FOSU1BVElPTl9DT05U
Uk9MKQogdm9pZCBJbnRlcm5hbHM6OnNldEltYWdlQW5pbWF0aW9uRW5hYmxlZChib29sIGVuYWJs
ZWQpCiB7Ci0gICAgaWYgKGF1dG8qIHBhZ2UgPSBjb250ZXh0RG9jdW1lbnQoKSA/IGNvbnRleHRE
b2N1bWVudCgpLT5wYWdlKCkgOiBudWxscHRyKQorICAgIGlmIChhdXRvKiBwYWdlID0gY29udGV4
dERvY3VtZW50KCkgPyBjb250ZXh0RG9jdW1lbnQoKS0+cGFnZSgpIDogbnVsbHB0cikgeworICAg
ICAgICBpZiAoIXBhZ2UtPnNldHRpbmdzKCkuaW1hZ2VBbmltYXRpb25Db250cm9sRW5hYmxlZCgp
KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIC8vIFdlIG5lZWQgdG8gc2V0IHRoaXMg
aGVyZSB0byBtaW1pYyB0aGUgYmVoYXZpb3IgZm9yIHRoZSBBWCBwcmVmZXJlbmNlIGNoYW5naW5n
CisgICAgICAgIEltYWdlOjpzZXRTeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyghZW5hYmxl
ZCk7CiAgICAgICAgIHBhZ2UtPnNldEltYWdlQW5pbWF0aW9uRW5hYmxlZChlbmFibGVkKTsKKyAg
ICB9CiB9CiAKIHZvaWQgSW50ZXJuYWxzOjpyZXN1bWVJbWFnZUFuaW1hdGlvbihIVE1MSW1hZ2VF
bGVtZW50JiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAppbmRleCBkMjVlYzE2NGVjYWQuLmQ1NjFjMTcwZmIyNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTkxMjUsNyArOTEyNSw2IEBA
IHZvaWQgV2ViUGFnZTo6Z2VuZXJhdGVUZXN0UmVwb3J0KFN0cmluZyYmIG1lc3NhZ2UsIFN0cmlu
ZyYmIGdyb3VwKQogdm9pZCBXZWJQYWdlOjp1cGRhdGVJbWFnZUFuaW1hdGlvbkVuYWJsZWQoKQog
ewogICAgIGNvcmVQYWdlKCktPnNldEltYWdlQW5pbWF0aW9uRW5hYmxlZChXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS5pbWFnZUFuaW1hdGlvbkVuYWJsZWQoKSk7Ci0gICAgY29yZVBhZ2UoKS0+c2V0
U3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMoIVdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmlt
YWdlQW5pbWF0aW9uRW5hYmxlZCgpKTsKIH0KIAogdm9pZCBXZWJQYWdlOjpwYXVzZUFsbEFuaW1h
dGlvbnMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KaW5k
ZXggODE4MDM5Mjk3MDMxLi4zYmU4ZjQxZTIzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtNzYsNiArNzYsNyBAQAogI2lt
cG9ydCA8V2ViQ29yZS9IaXN0b3J5Q29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9IaXN0
b3J5SXRlbS5oPgogI2ltcG9ydCA8V2ViQ29yZS9JT1N1cmZhY2UuaD4KKyNpbXBvcnQgPFdlYkNv
cmUvSW1hZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvSW1hZ2VEZWNvZGVyQ0cuaD4KICNpbXBvcnQg
PFdlYkNvcmUvTG9jYWxGcmFtZVZpZXcuaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkRGV2
aWNlTW9kZWwuaD4KQEAgLTEyNzgsNiArMTI3OSwxMCBAQCB2b2lkIFdlYlByb2Nlc3M6OnNldE1l
ZGlhQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzKFdlYkNvcmU6OkNhcHRpb25Vc2VyUHJlZmVyZW5j
ZQogCiB2b2lkIFdlYlByb2Nlc3M6OnVwZGF0ZVBhZ2VBY2Nlc3NpYmlsaXR5U2V0dGluZ3MoKQog
eworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0FOSU1BVElPTl9DT05UUk9MKQorICAgIEltYWdl
OjpzZXRTeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyghaW1hZ2VBbmltYXRpb25FbmFibGVk
KCkpOworI2VuZGlmCisKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9BTklNQVRJT05fQ09OVFJP
TCkgfHwgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfTk9OX0JMSU5LSU5HX0NVUlNPUikKICAgICBmb3Ig
KGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFsdWVzKCkpIHsKICNpZiBFTkFCTEUoQUNDRVNTSUJJ
TElUWV9BTklNQVRJT05fQ09OVFJPTCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470099</attachid>
            <date>2024-02-29 09:51:04 -0800</date>
            <delta_ts>2024-02-29 09:59:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-270136-20240229095103.patch</filename>
            <type>text/plain</type>
            <size>11424</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSBkOWNiMDQ1Y2RiMjJiOWJiMWVkOGI2ZGZkM2NhZDEzNTBiZjk3NjliIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IE1vbiwgMjYgRmViIDIwMjQgMTc6MDc6MzYgLTA4MDAKU3ViamVjdDogW1BBVENIXSBB
WDogQXZvaWQgd29yayBpbiBCaXRtYXBJbWFnZTo6Y2FuQW5pbWF0ZSBpZiBhbmltYXRpb24KIGNv
bnRyb2xzIGFyZSBkaXNhYmxlZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjcwMTM2CiByZGFyOi8vMTA5NjQ2NzkyCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
CkJlZm9yZSB0aGlzIHBhdGNoLCB0aGUgZXhwZW5zaXZlIHdvcmsgdGhhdCBoYXBwZW5zIGluIEJp
dG1hcEltYWdlOjpjYW5BbmltYXRlIHdvdWxkIHVubmVjZXNzYXJpbHkgb2NjdXIgaW4KdHdvIGNh
c2VzOiAoMSkgaWYgdGhlIGltYWdlIGhhcyBhIHNpbmdsZS1mcmFtZSBhbmQgKDIpIGlmIGltYWdl
IGFuaW1hdGlvbiBjb250cm9scyB3ZXJlIG5vdCBlbmFibGVkLiBUaGlzCnBhdGNoIGV4aXRzIGVh
cmx5IGZyb20gdGhpcyBjb2RlIHBhdGggaWYgZWl0aGVyIG9mIHRob3NlIHR3byB0aGluZ3MgYXJl
IHRydWUuIFRoaXMgd2lsbCBpbXByb3ZlIHBlcmZvcm1hbmNlCmZvciB1c2VycyBib3RoIHdpdGgg
YW5kIHdpdGhvdXQgdGhlIGNvbnRyb2xzIGVuYWJsZWQuCgpNb3ZpbmcgYHN5c3RlbUFsbG93c0Fu
aW1hdGlvbkNvbnRyb2xzYCB0byBhIHN0YXRpYyBnbG9iYWwgdmFyaWFibGUgb24gYEltYWdlYCBh
bHNvIGFsbG93cyB1cyB0byByZW1vdmUKdGhlIG1ldGhvZCBvZiB0aGUgc2FtZSBuYW1lIGZyb20g
YFBhZ2VgLCBzaW5jZSB0aGlzIGRvZXMgbm90IG5lZWQgdG8gYmUgYSBwZXItcGFnZSBzZXR0aW5n
LgoKVGhpcyBpcyBwYXJ0IG9uZSBvZiByZWxhdGVkIHdvcmsuIEluIGEgZm9sbG93IHVwLCBwZXJm
b3JtYW5jZSBpc3N1ZXMgZm9yIGNvbXB1dGluZyBjYW5BbmltYXRlIHdoZW4KYW5pbWF0aW9uIGNv
bnRyb2xzIGFyZSBlbmFibGVkIHdpbGwgYmUgYWRkcmVzc2VkLgoKKiBTb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwOgooV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OkNhY2hl
ZEltYWdlT2JzZXJ2ZXI6OmFsbG93c0FuaW1hdGlvbiBjb25zdCk6CihXZWJDb3JlOjpDYWNoZWRJ
bWFnZTo6YWxsb3dzQW5pbWF0aW9uIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRl
eHRNZW51Q29udHJvbGxlci5jcHA6CihXZWJDb3JlOjpDb250ZXh0TWVudUNvbnRyb2xsZXI6OnBv
cHVsYXRlKToKKiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwOgooV2ViQ29yZTo6UGFnZTo6
c2V0SW1hZ2VBbmltYXRpb25FbmFibGVkKToKKFdlYkNvcmU6OlBhZ2U6OnNldFN5c3RlbUFsbG93
c0FuaW1hdGlvbkNvbnRyb2xzKTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aDoKKFdlYkNvcmU6OlBhZ2U6OmltYWdlQW5pbWF0aW9uRW5hYmxlZCBjb25zdCk6CihXZWJDb3Jl
OjpQYWdlOjpzeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyBjb25zdCk6IERlbGV0ZWQuCiog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwOgooV2ViQ29y
ZTo6Qml0bWFwSW1hZ2U6OmNhbkFuaW1hdGUgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlLmNwcDoKKFdlYkNvcmU6OkltYWdlOjpzZXRTeXN0ZW1BbGxvd3NB
bmltYXRpb25Db250cm9scyk6CiogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2UuaDoKKFdlYkNvcmU6OkltYWdlOjpzeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyk6Ciog
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CihXZWJLaXQ6Oldl
YlBhZ2U6OnVwZGF0ZUltYWdlQW5pbWF0aW9uRW5hYmxlZCk6CiogU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKFdlYktpdDo6V2ViUHJvY2Vzczo6dXBk
YXRlUGFnZUFjY2Vzc2liaWxpdHlTZXR0aW5ncyk6Ci0tLQogU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZEltYWdlLmNwcCAgICAgICB8IDggKysrKysrKysKIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcCAgICAgfCAyICstCiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwICAgICAgICAgICAgICAgICAgICAgIHwgNSAtLS0tLQogU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmggICAgICAgICAgICAgICAgICAgICAgICB8IDMgLS0tCiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgIHwgMiArLQogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwICAgICAgICB8IDcgKysrKysrKwog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaCAgICAgICAgICB8IDMgKysr
CiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgICAgICAgICAgICAgIHwgOCAr
KysrKysrLQogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgICAg
ICB8IDEgLQogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5t
bSB8IDUgKysrKysKIDEwIGZpbGVzIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyksIDEyIGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJ
bWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCmlu
ZGV4IDViMDhjODc5NzM0Mi4uMjg1N2Y0ODcwMjQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAKQEAgLTQ3Niw2ICs0NzYsMTEgQEAgdm9pZCBDYWNoZWRJ
bWFnZTo6Q2FjaGVkSW1hZ2VPYnNlcnZlcjo6c2NoZWR1bGVSZW5kZXJpbmdVcGRhdGUoY29uc3Qg
SW1hZ2UmIGltYWcKIAogYm9vbCBDYWNoZWRJbWFnZTo6Q2FjaGVkSW1hZ2VPYnNlcnZlcjo6YWxs
b3dzQW5pbWF0aW9uKGNvbnN0IEltYWdlJiBpbWFnZSkgY29uc3QKIHsKKyAgICAvLyAqOjphbGxv
d3NBbmltYXRpb24gY2FuIG9ubHkgcmV0dXJuIGZhbHNlIHdoZW4gc3lzdGVtQWxsb3dzQW5pbWF0
aW9uQ29udHJvbHMgPT0gdHJ1ZSwKKyAgICAvLyBzbyB0aGlzIHByZXZlbnRzIHVubmVjZXNzYXJ5
IHdvcmsgYnkgZXhpdGluZyBlYXJseS4KKyAgICBpZiAoIUltYWdlOjpzeXN0ZW1BbGxvd3NBbmlt
YXRpb25Db250cm9scygpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIGZvciAoQ2FjaGVk
UmVzb3VyY2VIYW5kbGUgY2FjaGVkSW1hZ2UgOiBtX2NhY2hlZEltYWdlcykgewogICAgICAgICBp
ZiAoY2FjaGVkSW1hZ2UtPmFsbG93c0FuaW1hdGlvbihpbWFnZSkpCiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKQEAgLTc0MSw2ICs3NDYsOSBAQCBib29sIENhY2hlZEltYWdlOjphbGxvd3NBbmlt
YXRpb24oY29uc3QgSW1hZ2UmIGltYWdlKSBjb25zdAogICAgIGlmICgmaW1hZ2UgIT0gbV9pbWFn
ZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKCFJbWFnZTo6c3lzdGVtQWxsb3dz
QW5pbWF0aW9uQ29udHJvbHMoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICBDYWNoZWRS
ZXNvdXJjZUNsaWVudFdhbGtlcjxDYWNoZWRJbWFnZUNsaWVudD4gd2Fsa2VyKCp0aGlzKTsKICAg
ICB3aGlsZSAoYXV0byogY2xpZW50ID0gd2Fsa2VyLm5leHQoKSkgewogICAgICAgICBpZiAoIWNs
aWVudC0+YWxsb3dzQW5pbWF0aW9uKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRN
ZW51Q29udHJvbGxlci5jcHAKaW5kZXggYjk4OWJlNzQyZTY0Li5iMjBkMTMyODBhOGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKQEAgLTEwNjUs
NyArMTA2NSw3IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpwb3B1bGF0ZSgpCiAgICAg
ICAgIGlmICghZnJhbWUtPnBhZ2UoKSB8fCAhZnJhbWUtPnBhZ2UoKS0+c2V0dGluZ3MoKS5pbWFn
ZUFuaW1hdGlvbkNvbnRyb2xFbmFibGVkKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAK
LSAgICAgICAgcmV0dXJuIGZyYW1lLT5wYWdlKCktPnN5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRy
b2xzKCkgfHwgZnJhbWUtPnBhZ2UoKS0+c2V0dGluZ3MoKS5hbGxvd0FuaW1hdGlvbkNvbnRyb2xz
T3ZlcnJpZGUoKTsKKyAgICAgICAgcmV0dXJuIEltYWdlOjpzeXN0ZW1BbGxvd3NBbmltYXRpb25D
b250cm9scygpIHx8IGZyYW1lLT5wYWdlKCktPnNldHRpbmdzKCkuYWxsb3dBbmltYXRpb25Db250
cm9sc092ZXJyaWRlKCk7CiAgICAgfTsKIAogICAgIGJvb2wgc2hvdWxkQWRkUGxheUFsbFBhdXNl
QWxsQW5pbWF0aW9uc0l0ZW0gPSBjYW5BZGRBbmltYXRpb25Db250cm9scygpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAKaW5kZXggZjVlN2Y5MjM2MWNkLi4xYTBmNWFhNTNmMDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cApAQCAtMjI0NywxMSArMjI0Nyw2IEBAIHZvaWQgUGFnZTo6c2V0SW1hZ2VBbmltYXRpb25FbmFi
bGVkKGJvb2wgZW5hYmxlZCkKICAgICB1cGRhdGVQbGF5U3RhdGVGb3JBbGxBbmltYXRpb25zKCk7
CiAgICAgY2hyb21lKCkuY2xpZW50KCkuaXNBbnlBbmltYXRpb25BbGxvd2VkVG9QbGF5RGlkQ2hh
bmdlKGVuYWJsZWQpOwogfQotCi12b2lkIFBhZ2U6OnNldFN5c3RlbUFsbG93c0FuaW1hdGlvbkNv
bnRyb2xzKGJvb2wgaXNBbGxvd2VkKQotewotICAgIG1fc3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29u
dHJvbHMgPSBpc0FsbG93ZWQ7Ci19CiAjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFlfQU5J
TUFUSU9OX0NPTlRST0wpCiAKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9OT05fQkxJTktJTkdf
Q1VSU09SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCAyOTljMjkxZDIyZjEuLmRiZTQyNTI5NmVmNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmgKQEAgLTcwOSwxMiArNzA5LDEwIEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQUND
RVNTSUJJTElUWV9BTklNQVRJT05fQ09OVFJPTCkKICAgICB2b2lkIHVwZGF0ZVBsYXlTdGF0ZUZv
ckFsbEFuaW1hdGlvbnMoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEltYWdlQW5pbWF0
aW9uRW5hYmxlZChib29sKTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN5c3RlbUFsbG93
c0FuaW1hdGlvbkNvbnRyb2xzKGJvb2wgaXNBbGxvd2VkKTsKICAgICB2b2lkIGFkZEluZGl2aWR1
YWxseVBsYXlpbmdBbmltYXRpb25FbGVtZW50KEhUTUxJbWFnZUVsZW1lbnQmKTsKICAgICB2b2lk
IHJlbW92ZUluZGl2aWR1YWxseVBsYXlpbmdBbmltYXRpb25FbGVtZW50KEhUTUxJbWFnZUVsZW1l
bnQmKTsKICNlbmRpZgogICAgIGJvb2wgaW1hZ2VBbmltYXRpb25FbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pbWFnZUFuaW1hdGlvbkVuYWJsZWQ7IH0KLSAgICBib29sIHN5c3RlbUFsbG93c0Fu
aW1hdGlvbkNvbnRyb2xzKCkgY29uc3QgeyByZXR1cm4gbV9zeXN0ZW1BbGxvd3NBbmltYXRpb25D
b250cm9sczsgfQogCiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfTk9OX0JMSU5LSU5HX0NVUlNP
UikKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFByZWZlcnNOb25CbGlua2luZ0N1cnNvcihi
b29sKTsKQEAgLTEyNjEsNyArMTI1OSw2IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fY2FuU3Rh
cnRNZWRpYSB7IHRydWUgfTsKICAgICBib29sIG1faW1hZ2VBbmltYXRpb25FbmFibGVkIHsgdHJ1
ZSB9OwotICAgIGJvb2wgbV9zeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyB7IGZhbHNlIH07
CiAgICAgLy8gRWxlbWVudHMgY29udGFpbmluZyBhbmltYXRpb25zIHRoYXQgYXJlIGluZGl2aWR1
YWxseSBwbGF5aW5nIChwb3RlbnRpYWxseSBvdmVycmlkaW5nIHRoZSBwYWdlLXdpZGUgbV9pbWFn
ZUFuaW1hdGlvbkVuYWJsZWQgc3RhdGUpLgogICAgIFdlYWtIYXNoU2V0PEhUTUxJbWFnZUVsZW1l
bnQsIFdlYWtQdHJJbXBsV2l0aEV2ZW50VGFyZ2V0RGF0YT4gbV9pbmRpdmlkdWFsbHlQbGF5aW5n
QW5pbWF0aW9uRWxlbWVudHM7CiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfTk9OX0JMSU5LSU5H
X0NVUlNPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Jp
dG1hcEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcElt
YWdlLmNwcAppbmRleCA3ZmM4Njk2YWM5ZTMuLmZjMmIxMjRjYmNjYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcApAQCAtMzQ1LDcgKzM0
NSw3IEBAIGJvb2wgQml0bWFwSW1hZ2U6OnNob3VsZEFuaW1hdGUoKSBjb25zdAogCiBib29sIEJp
dG1hcEltYWdlOjpjYW5BbmltYXRlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gc2hvdWxkQW5pbWF0
ZSgpICYmIGZyYW1lQ291bnQoKSA+IDE7CisgICAgcmV0dXJuIGZyYW1lQ291bnQoKSA+IDEgJiYg
c2hvdWxkQW5pbWF0ZSgpOwogfQogCiBib29sIEJpdG1hcEltYWdlOjpjYW5Vc2VBc3luY0RlY29k
aW5nRm9yTGFyZ2VJbWFnZXMoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2UuY3BwCmluZGV4IDkwYmRlMmZhYjMxZC4uYTU4ZDhkMDhhNzA0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwCkBAIC00NDQsNCArNDQ0LDExIEBA
IFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IEltYWdlJiBpbWFn
ZSkKICAgICByZXR1cm4gdHM7CiB9CiAKK2Jvb2wgSW1hZ2U6OmdTeXN0ZW1BbGxvd3NBbmltYXRp
b25Db250cm9scyA9IGZhbHNlOworCit2b2lkIEltYWdlOjpzZXRTeXN0ZW1BbGxvd3NBbmltYXRp
b25Db250cm9scyhib29sIGFsbG93c0NvbnRyb2xzKQoreworICAgIGdTeXN0ZW1BbGxvd3NBbmlt
YXRpb25Db250cm9scyA9IGFsbG93c0NvbnRyb2xzOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaAppbmRleCA1YjNhNGU2
YzhhZjguLjlmY2E1MWMxNjk1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZS5oCkBAIC0xMzMsNiArMTMzLDggQEAgcHVibGljOgogICAgIGJvb2wgYW5pbWF0aW9uUGVu
ZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fYW5pbWF0aW9uU3RhcnRUaW1lciAmJiBtX2FuaW1hdGlv
blN0YXJ0VGltZXItPmlzQWN0aXZlKCk7IH0KICAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+IGFsbG93
c0FuaW1hdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dzQW5pbWF0aW9uOyB9CiAgICAgdm9p
ZCBzZXRBbGxvd3NBbmltYXRpb24oc3RkOjpvcHRpb25hbDxib29sPiBhbGxvd3NBbmltYXRpb24p
IHsgbV9hbGxvd3NBbmltYXRpb24gPSBhbGxvd3NBbmltYXRpb247IH0KKyAgICBzdGF0aWMgYm9v
bCBzeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scygpIHsgcmV0dXJuIGdTeXN0ZW1BbGxvd3NB
bmltYXRpb25Db250cm9sczsgfQorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldFN5
c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzKGJvb2wgYWxsb3dzQ29udHJvbHMpOwogCiAgICAg
Ly8gVHlwaWNhbGx5IHRoZSBDYWNoZWRJbWFnZSB0aGF0IG93bnMgdXMuCiAgICAgUmVmUHRyPElt
YWdlT2JzZXJ2ZXI+IGltYWdlT2JzZXJ2ZXIoKSBjb25zdDsKQEAgLTE4NSw2ICsxODcsNyBAQCBw
cml2YXRlOgogICAgIC8vIEEgdmFsdWUgb2YgdHJ1ZSBvciBmYWxzZSB3aWxsIG92ZXJyaWRlIHRo
ZSBkZWZhdWx0IFBhZ2U6OmltYWdlQW5pbWF0aW9uRW5hYmxlZCBzdGF0ZS4KICAgICBzdGQ6Om9w
dGlvbmFsPGJvb2w+IG1fYWxsb3dzQW5pbWF0aW9uIHsgc3RkOjpudWxsb3B0IH07CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFRpbWVyPiBtX2FuaW1hdGlvblN0YXJ0VGltZXI7CisgICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIGJvb2wgZ1N5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzOwogfTsKIAog
V1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYsIGNvbnN0IEltYWdl
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNDVmMWQwYmZiMzM0Li41
MTQ1ZTJjZjE2ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTExMjAs
OCArMTEyMCwxNCBAQCBib29sIEludGVybmFsczo6aXNJbWFnZUFuaW1hdGluZyhIVE1MSW1hZ2VF
bGVtZW50JiBlbGVtZW50KQogI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0FOSU1BVElPTl9DT05U
Uk9MKQogdm9pZCBJbnRlcm5hbHM6OnNldEltYWdlQW5pbWF0aW9uRW5hYmxlZChib29sIGVuYWJs
ZWQpCiB7Ci0gICAgaWYgKGF1dG8qIHBhZ2UgPSBjb250ZXh0RG9jdW1lbnQoKSA/IGNvbnRleHRE
b2N1bWVudCgpLT5wYWdlKCkgOiBudWxscHRyKQorICAgIGlmIChhdXRvKiBwYWdlID0gY29udGV4
dERvY3VtZW50KCkgPyBjb250ZXh0RG9jdW1lbnQoKS0+cGFnZSgpIDogbnVsbHB0cikgeworICAg
ICAgICBpZiAoIXBhZ2UtPnNldHRpbmdzKCkuaW1hZ2VBbmltYXRpb25Db250cm9sRW5hYmxlZCgp
KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIC8vIFdlIG5lZWQgdG8gc2V0IHRoaXMg
aGVyZSB0byBtaW1pYyB0aGUgYmVoYXZpb3IgZm9yIHRoZSBBWCBwcmVmZXJlbmNlIGNoYW5naW5n
CisgICAgICAgIEltYWdlOjpzZXRTeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyghZW5hYmxl
ZCk7CiAgICAgICAgIHBhZ2UtPnNldEltYWdlQW5pbWF0aW9uRW5hYmxlZChlbmFibGVkKTsKKyAg
ICB9CiB9CiAKIHZvaWQgSW50ZXJuYWxzOjpyZXN1bWVJbWFnZUFuaW1hdGlvbihIVE1MSW1hZ2VF
bGVtZW50JiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAppbmRleCBkMjVlYzE2NGVjYWQuLmQ1NjFjMTcwZmIyNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTkxMjUsNyArOTEyNSw2IEBA
IHZvaWQgV2ViUGFnZTo6Z2VuZXJhdGVUZXN0UmVwb3J0KFN0cmluZyYmIG1lc3NhZ2UsIFN0cmlu
ZyYmIGdyb3VwKQogdm9pZCBXZWJQYWdlOjp1cGRhdGVJbWFnZUFuaW1hdGlvbkVuYWJsZWQoKQog
ewogICAgIGNvcmVQYWdlKCktPnNldEltYWdlQW5pbWF0aW9uRW5hYmxlZChXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS5pbWFnZUFuaW1hdGlvbkVuYWJsZWQoKSk7Ci0gICAgY29yZVBhZ2UoKS0+c2V0
U3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMoIVdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmlt
YWdlQW5pbWF0aW9uRW5hYmxlZCgpKTsKIH0KIAogdm9pZCBXZWJQYWdlOjpwYXVzZUFsbEFuaW1h
dGlvbnMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KaW5k
ZXggODE4MDM5Mjk3MDMxLi4zYmU4ZjQxZTIzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtNzYsNiArNzYsNyBAQAogI2lt
cG9ydCA8V2ViQ29yZS9IaXN0b3J5Q29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9IaXN0
b3J5SXRlbS5oPgogI2ltcG9ydCA8V2ViQ29yZS9JT1N1cmZhY2UuaD4KKyNpbXBvcnQgPFdlYkNv
cmUvSW1hZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvSW1hZ2VEZWNvZGVyQ0cuaD4KICNpbXBvcnQg
PFdlYkNvcmUvTG9jYWxGcmFtZVZpZXcuaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkRGV2
aWNlTW9kZWwuaD4KQEAgLTEyNzgsNiArMTI3OSwxMCBAQCB2b2lkIFdlYlByb2Nlc3M6OnNldE1l
ZGlhQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzKFdlYkNvcmU6OkNhcHRpb25Vc2VyUHJlZmVyZW5j
ZQogCiB2b2lkIFdlYlByb2Nlc3M6OnVwZGF0ZVBhZ2VBY2Nlc3NpYmlsaXR5U2V0dGluZ3MoKQog
eworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0FOSU1BVElPTl9DT05UUk9MKQorICAgIEltYWdl
OjpzZXRTeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyghaW1hZ2VBbmltYXRpb25FbmFibGVk
KCkpOworI2VuZGlmCisKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9BTklNQVRJT05fQ09OVFJP
TCkgfHwgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfTk9OX0JMSU5LSU5HX0NVUlNPUikKICAgICBmb3Ig
KGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFsdWVzKCkpIHsKICNpZiBFTkFCTEUoQUNDRVNTSUJJ
TElUWV9BTklNQVRJT05fQ09OVFJPTCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470100</attachid>
            <date>2024-02-29 09:59:23 -0800</date>
            <delta_ts>2024-02-29 15:34:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-270136-20240229095922.patch</filename>
            <type>text/plain</type>
            <size>11496</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSBjNGI4MTI2YjYzOWUwZmQ3ZTkyMjJhZjJkNjNmYjc1MDNmYmQwMmE0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IE1vbiwgMjYgRmViIDIwMjQgMTc6MDc6MzYgLTA4MDAKU3ViamVjdDogW1BBVENIXSBB
WDogQXZvaWQgd29yayBpbiBCaXRtYXBJbWFnZTo6Y2FuQW5pbWF0ZSBpZiBhbmltYXRpb24KIGNv
bnRyb2xzIGFyZSBkaXNhYmxlZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjcwMTM2CiByZGFyOi8vMTA5NjQ2NzkyCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
CkJlZm9yZSB0aGlzIHBhdGNoLCB0aGUgZXhwZW5zaXZlIHdvcmsgdGhhdCBoYXBwZW5zIGluIEJp
dG1hcEltYWdlOjpjYW5BbmltYXRlIHdvdWxkIHVubmVjZXNzYXJpbHkgb2NjdXIgaW4KdHdvIGNh
c2VzOiAoMSkgaWYgdGhlIGltYWdlIGhhcyBhIHNpbmdsZS1mcmFtZSBhbmQgKDIpIGlmIGltYWdl
IGFuaW1hdGlvbiBjb250cm9scyB3ZXJlIG5vdCBlbmFibGVkLiBUaGlzCnBhdGNoIGV4aXRzIGVh
cmx5IGZyb20gdGhpcyBjb2RlIHBhdGggaWYgZWl0aGVyIG9mIHRob3NlIHR3byB0aGluZ3MgYXJl
IHRydWUuIFRoaXMgd2lsbCBpbXByb3ZlIHBlcmZvcm1hbmNlCmZvciB1c2VycyBib3RoIHdpdGgg
YW5kIHdpdGhvdXQgdGhlIGNvbnRyb2xzIGVuYWJsZWQuCgpNb3ZpbmcgYHN5c3RlbUFsbG93c0Fu
aW1hdGlvbkNvbnRyb2xzYCB0byBhIHN0YXRpYyBnbG9iYWwgdmFyaWFibGUgb24gYEltYWdlYCBh
bHNvIGFsbG93cyB1cyB0byByZW1vdmUKdGhlIG1ldGhvZCBvZiB0aGUgc2FtZSBuYW1lIGZyb20g
YFBhZ2VgLCBzaW5jZSB0aGlzIGRvZXMgbm90IG5lZWQgdG8gYmUgYSBwZXItcGFnZSBzZXR0aW5n
LgoKVGhpcyBpcyBwYXJ0IG9uZSBvZiByZWxhdGVkIHdvcmsuIEluIGEgZm9sbG93IHVwLCBwZXJm
b3JtYW5jZSBpc3N1ZXMgZm9yIGNvbXB1dGluZyBjYW5BbmltYXRlIHdoZW4KYW5pbWF0aW9uIGNv
bnRyb2xzIGFyZSBlbmFibGVkIHdpbGwgYmUgYWRkcmVzc2VkLgoKKiBTb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwOgooV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OkNhY2hl
ZEltYWdlT2JzZXJ2ZXI6OmFsbG93c0FuaW1hdGlvbiBjb25zdCk6CihXZWJDb3JlOjpDYWNoZWRJ
bWFnZTo6YWxsb3dzQW5pbWF0aW9uIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRl
eHRNZW51Q29udHJvbGxlci5jcHA6CihXZWJDb3JlOjpDb250ZXh0TWVudUNvbnRyb2xsZXI6OnBv
cHVsYXRlKToKKiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwOgooV2ViQ29yZTo6UGFnZTo6
c2V0SW1hZ2VBbmltYXRpb25FbmFibGVkKToKKFdlYkNvcmU6OlBhZ2U6OnNldFN5c3RlbUFsbG93
c0FuaW1hdGlvbkNvbnRyb2xzKTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aDoKKFdlYkNvcmU6OlBhZ2U6OmltYWdlQW5pbWF0aW9uRW5hYmxlZCBjb25zdCk6CihXZWJDb3Jl
OjpQYWdlOjpzeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyBjb25zdCk6IERlbGV0ZWQuCiog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwOgooV2ViQ29y
ZTo6Qml0bWFwSW1hZ2U6OmNhbkFuaW1hdGUgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlLmNwcDoKKFdlYkNvcmU6OkltYWdlOjpzZXRTeXN0ZW1BbGxvd3NB
bmltYXRpb25Db250cm9scyk6CiogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2UuaDoKKFdlYkNvcmU6OkltYWdlOjpzeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyk6Ciog
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwOgooV2ViQ29yZTo6SW50ZXJuYWxz
OjpzZXRJbWFnZUFuaW1hdGlvbkVuYWJsZWQpOgoqIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwOgooV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVJbWFnZUFuaW1hdGlv
bkVuYWJsZWQpOgoqIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29j
b2EubW06CihXZWJLaXQ6OldlYlByb2Nlc3M6OnVwZGF0ZVBhZ2VBY2Nlc3NpYmlsaXR5U2V0dGlu
Z3MpOgotLS0KIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAgICAg
ICAgfCA4ICsrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxl
ci5jcHAgICAgIHwgMiArLQogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCAgICAgICAgICAg
ICAgICAgICAgICB8IDUgLS0tLS0KIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oICAgICAgICAg
ICAgICAgICAgICAgICAgfCAzIC0tLQogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Qml0bWFwSW1hZ2UuY3BwICB8IDIgKy0KIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlLmNwcCAgICAgICAgfCA3ICsrKysrKysKIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ltYWdlLmggICAgICAgICAgfCAzICsrKwogU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwICAgICAgICAgICAgICB8IDggKysrKysrKy0KIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwICAgICAgfCAxIC0KIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gfCA1ICsrKysrCiAxMCBmaWxlcyBjaGFu
Z2VkLCAzMiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcAppbmRleCA1YjA4Yzg3OTczNDIuLjI4NTdmNDg3
MDI0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCkBA
IC00NzYsNiArNDc2LDExIEBAIHZvaWQgQ2FjaGVkSW1hZ2U6OkNhY2hlZEltYWdlT2JzZXJ2ZXI6
OnNjaGVkdWxlUmVuZGVyaW5nVXBkYXRlKGNvbnN0IEltYWdlJiBpbWFnCiAKIGJvb2wgQ2FjaGVk
SW1hZ2U6OkNhY2hlZEltYWdlT2JzZXJ2ZXI6OmFsbG93c0FuaW1hdGlvbihjb25zdCBJbWFnZSYg
aW1hZ2UpIGNvbnN0CiB7CisgICAgLy8gKjo6YWxsb3dzQW5pbWF0aW9uIGNhbiBvbmx5IHJldHVy
biBmYWxzZSB3aGVuIHN5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzID09IHRydWUsCisgICAg
Ly8gc28gdGhpcyBwcmV2ZW50cyB1bm5lY2Vzc2FyeSB3b3JrIGJ5IGV4aXRpbmcgZWFybHkuCisg
ICAgaWYgKCFJbWFnZTo6c3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMoKSkKKyAgICAgICAg
cmV0dXJuIHRydWU7CisKICAgICBmb3IgKENhY2hlZFJlc291cmNlSGFuZGxlIGNhY2hlZEltYWdl
IDogbV9jYWNoZWRJbWFnZXMpIHsKICAgICAgICAgaWYgKGNhY2hlZEltYWdlLT5hbGxvd3NBbmlt
YXRpb24oaW1hZ2UpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC03NDEsNiArNzQ2LDkg
QEAgYm9vbCBDYWNoZWRJbWFnZTo6YWxsb3dzQW5pbWF0aW9uKGNvbnN0IEltYWdlJiBpbWFnZSkg
Y29uc3QKICAgICBpZiAoJmltYWdlICE9IG1faW1hZ2UpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAorICAgIGlmICghSW1hZ2U6OnN5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzKCkpCisgICAg
ICAgIHJldHVybiB0cnVlOworCiAgICAgQ2FjaGVkUmVzb3VyY2VDbGllbnRXYWxrZXI8Q2FjaGVk
SW1hZ2VDbGllbnQ+IHdhbGtlcigqdGhpcyk7CiAgICAgd2hpbGUgKGF1dG8qIGNsaWVudCA9IHdh
bGtlci5uZXh0KCkpIHsKICAgICAgICAgaWYgKCFjbGllbnQtPmFsbG93c0FuaW1hdGlvbigpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCmluZGV4IGI5
ODliZTc0MmU2NC4uYjIwZDEzMjgwYThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZXh0TWVudUNvbnRyb2xsZXIuY3BwCkBAIC0xMDY1LDcgKzEwNjUsNyBAQCB2b2lkIENvbnRleHRN
ZW51Q29udHJvbGxlcjo6cG9wdWxhdGUoKQogICAgICAgICBpZiAoIWZyYW1lLT5wYWdlKCkgfHwg
IWZyYW1lLT5wYWdlKCktPnNldHRpbmdzKCkuaW1hZ2VBbmltYXRpb25Db250cm9sRW5hYmxlZCgp
KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgIHJldHVybiBmcmFtZS0+cGFn
ZSgpLT5zeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scygpIHx8IGZyYW1lLT5wYWdlKCktPnNl
dHRpbmdzKCkuYWxsb3dBbmltYXRpb25Db250cm9sc092ZXJyaWRlKCk7CisgICAgICAgIHJldHVy
biBJbWFnZTo6c3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMoKSB8fCBmcmFtZS0+cGFnZSgp
LT5zZXR0aW5ncygpLmFsbG93QW5pbWF0aW9uQ29udHJvbHNPdmVycmlkZSgpOwogICAgIH07CiAK
ICAgICBib29sIHNob3VsZEFkZFBsYXlBbGxQYXVzZUFsbEFuaW1hdGlvbnNJdGVtID0gY2FuQWRk
QW5pbWF0aW9uQ29udHJvbHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGY1ZTdmOTIzNjFjZC4u
MWEwZjVhYTUzZjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTIyNDcsMTEgKzIyNDcsNiBAQCB2
b2lkIFBhZ2U6OnNldEltYWdlQW5pbWF0aW9uRW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgdXBk
YXRlUGxheVN0YXRlRm9yQWxsQW5pbWF0aW9ucygpOwogICAgIGNocm9tZSgpLmNsaWVudCgpLmlz
QW55QW5pbWF0aW9uQWxsb3dlZFRvUGxheURpZENoYW5nZShlbmFibGVkKTsKIH0KLQotdm9pZCBQ
YWdlOjpzZXRTeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyhib29sIGlzQWxsb3dlZCkKLXsK
LSAgICBtX3N5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzID0gaXNBbGxvd2VkOwotfQogI2Vu
ZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZX0FOSU1BVElPTl9DT05UUk9MKQogCiAjaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFlfTk9OX0JMSU5LSU5HX0NVUlNPUikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXgg
Mjk5YzI5MWQyMmYxLi5kYmU0MjUyOTZlZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC03MDksMTIgKzcw
OSwxMCBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfQU5JTUFUSU9OX0NPTlRS
T0wpCiAgICAgdm9pZCB1cGRhdGVQbGF5U3RhdGVGb3JBbGxBbmltYXRpb25zKCk7CiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBzZXRJbWFnZUFuaW1hdGlvbkVuYWJsZWQoYm9vbCk7Ci0gICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBzZXRTeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyhib29sIGlz
QWxsb3dlZCk7CiAgICAgdm9pZCBhZGRJbmRpdmlkdWFsbHlQbGF5aW5nQW5pbWF0aW9uRWxlbWVu
dChIVE1MSW1hZ2VFbGVtZW50Jik7CiAgICAgdm9pZCByZW1vdmVJbmRpdmlkdWFsbHlQbGF5aW5n
QW5pbWF0aW9uRWxlbWVudChIVE1MSW1hZ2VFbGVtZW50Jik7CiAjZW5kaWYKICAgICBib29sIGlt
YWdlQW5pbWF0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faW1hZ2VBbmltYXRpb25FbmFi
bGVkOyB9Ci0gICAgYm9vbCBzeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scygpIGNvbnN0IHsg
cmV0dXJuIG1fc3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHM7IH0KIAogI2lmIEVOQUJMRShB
Q0NFU1NJQklMSVRZX05PTl9CTElOS0lOR19DVVJTT1IpCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRQcmVmZXJzTm9uQmxpbmtpbmdDdXJzb3IoYm9vbCk7CkBAIC0xMjYxLDcgKzEyNTksNiBA
QCBwcml2YXRlOgogCiAgICAgYm9vbCBtX2NhblN0YXJ0TWVkaWEgeyB0cnVlIH07CiAgICAgYm9v
bCBtX2ltYWdlQW5pbWF0aW9uRW5hYmxlZCB7IHRydWUgfTsKLSAgICBib29sIG1fc3lzdGVtQWxs
b3dzQW5pbWF0aW9uQ29udHJvbHMgeyBmYWxzZSB9OwogICAgIC8vIEVsZW1lbnRzIGNvbnRhaW5p
bmcgYW5pbWF0aW9ucyB0aGF0IGFyZSBpbmRpdmlkdWFsbHkgcGxheWluZyAocG90ZW50aWFsbHkg
b3ZlcnJpZGluZyB0aGUgcGFnZS13aWRlIG1faW1hZ2VBbmltYXRpb25FbmFibGVkIHN0YXRlKS4K
ICAgICBXZWFrSGFzaFNldDxIVE1MSW1hZ2VFbGVtZW50LCBXZWFrUHRySW1wbFdpdGhFdmVudFRh
cmdldERhdGE+IG1faW5kaXZpZHVhbGx5UGxheWluZ0FuaW1hdGlvbkVsZW1lbnRzOwogI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZX05PTl9CTElOS0lOR19DVVJTT1IpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKaW5kZXggN2ZjODY5NmFjOWUz
Li5mYzJiMTI0Y2JjY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0JpdG1hcEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9CaXRtYXBJbWFnZS5jcHAKQEAgLTM0NSw3ICszNDUsNyBAQCBib29sIEJpdG1hcEltYWdlOjpz
aG91bGRBbmltYXRlKCkgY29uc3QKIAogYm9vbCBCaXRtYXBJbWFnZTo6Y2FuQW5pbWF0ZSgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIHNob3VsZEFuaW1hdGUoKSAmJiBmcmFtZUNvdW50KCkgPiAxOwor
ICAgIHJldHVybiBmcmFtZUNvdW50KCkgPiAxICYmIHNob3VsZEFuaW1hdGUoKTsKIH0KIAogYm9v
bCBCaXRtYXBJbWFnZTo6Y2FuVXNlQXN5bmNEZWNvZGluZ0ZvckxhcmdlSW1hZ2VzKCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcAppbmRleCA5MGJkZTJm
YWIzMWQuLmE1OGQ4ZDA4YTcwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlLmNwcApAQCAtNDQ0LDQgKzQ0NCwxMSBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRl
eHRTdHJlYW0mIHRzLCBjb25zdCBJbWFnZSYgaW1hZ2UpCiAgICAgcmV0dXJuIHRzOwogfQogCiti
b29sIEltYWdlOjpnU3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMgPSBmYWxzZTsKKwordm9p
ZCBJbWFnZTo6c2V0U3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMoYm9vbCBhbGxvd3NDb250
cm9scykKK3sKKyAgICBnU3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMgPSBhbGxvd3NDb250
cm9sczsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlLmgKaW5kZXggNWIzYTRlNmM4YWY4Li40MmZkMGIxYjI0YmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaApAQCAtMTMzLDYgKzEzMyw4IEBA
IHB1YmxpYzoKICAgICBib29sIGFuaW1hdGlvblBlbmRpbmcoKSBjb25zdCB7IHJldHVybiBtX2Fu
aW1hdGlvblN0YXJ0VGltZXIgJiYgbV9hbmltYXRpb25TdGFydFRpbWVyLT5pc0FjdGl2ZSgpOyB9
CiAgICAgc3RkOjpvcHRpb25hbDxib29sPiBhbGxvd3NBbmltYXRpb24oKSBjb25zdCB7IHJldHVy
biBtX2FsbG93c0FuaW1hdGlvbjsgfQogICAgIHZvaWQgc2V0QWxsb3dzQW5pbWF0aW9uKHN0ZDo6
b3B0aW9uYWw8Ym9vbD4gYWxsb3dzQW5pbWF0aW9uKSB7IG1fYWxsb3dzQW5pbWF0aW9uID0gYWxs
b3dzQW5pbWF0aW9uOyB9CisgICAgc3RhdGljIGJvb2wgc3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29u
dHJvbHMoKSB7IHJldHVybiBnU3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHM7IH0KKyAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRTeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9s
cyhib29sIGFsbG93c0NvbnRyb2xzKTsKIAogICAgIC8vIFR5cGljYWxseSB0aGUgQ2FjaGVkSW1h
Z2UgdGhhdCBvd25zIHVzLgogICAgIFJlZlB0cjxJbWFnZU9ic2VydmVyPiBpbWFnZU9ic2VydmVy
KCkgY29uc3Q7CkBAIC0xODUsNiArMTg3LDcgQEAgcHJpdmF0ZToKICAgICAvLyBBIHZhbHVlIG9m
IHRydWUgb3IgZmFsc2Ugd2lsbCBvdmVycmlkZSB0aGUgZGVmYXVsdCBQYWdlOjppbWFnZUFuaW1h
dGlvbkVuYWJsZWQgc3RhdGUuCiAgICAgc3RkOjpvcHRpb25hbDxib29sPiBtX2FsbG93c0FuaW1h
dGlvbiB7IHN0ZDo6bnVsbG9wdCB9OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxUaW1lcj4gbV9hbmlt
YXRpb25TdGFydFRpbWVyOworICAgIHN0YXRpYyBib29sIGdTeXN0ZW1BbGxvd3NBbmltYXRpb25D
b250cm9sczsKIH07CiAKIFdURjo6VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJl
YW0mLCBjb25zdCBJbWFnZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4
IDQ1ZjFkMGJmYjMzNC4uNzU3ZDA2Y2FlNDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCkBAIC0xMTIwLDggKzExMjAsMTQgQEAgYm9vbCBJbnRlcm5hbHM6OmlzSW1hZ2VBbmlt
YXRpbmcoSFRNTEltYWdlRWxlbWVudCYgZWxlbWVudCkKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WV9BTklNQVRJT05fQ09OVFJPTCkKIHZvaWQgSW50ZXJuYWxzOjpzZXRJbWFnZUFuaW1hdGlvbkVu
YWJsZWQoYm9vbCBlbmFibGVkKQogewotICAgIGlmIChhdXRvKiBwYWdlID0gY29udGV4dERvY3Vt
ZW50KCkgPyBjb250ZXh0RG9jdW1lbnQoKS0+cGFnZSgpIDogbnVsbHB0cikKKyAgICBpZiAoYXV0
byogcGFnZSA9IGNvbnRleHREb2N1bWVudCgpID8gY29udGV4dERvY3VtZW50KCktPnBhZ2UoKSA6
IG51bGxwdHIpIHsKKyAgICAgICAgaWYgKCFwYWdlLT5zZXR0aW5ncygpLmltYWdlQW5pbWF0aW9u
Q29udHJvbEVuYWJsZWQoKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAvLyBXZSBu
ZWVkIHRvIHNldCB0aGlzIGhlcmUgdG8gbWltaWMgdGhlIGJlaGF2aW9yIG9mIHRoZSBBWCBwcmVm
ZXJlbmNlIGNoYW5naW5nCisgICAgICAgIEltYWdlOjpzZXRTeXN0ZW1BbGxvd3NBbmltYXRpb25D
b250cm9scyghZW5hYmxlZCk7CiAgICAgICAgIHBhZ2UtPnNldEltYWdlQW5pbWF0aW9uRW5hYmxl
ZChlbmFibGVkKTsKKyAgICB9CiB9CiAKIHZvaWQgSW50ZXJuYWxzOjpyZXN1bWVJbWFnZUFuaW1h
dGlvbihIVE1MSW1hZ2VFbGVtZW50JiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBkMjVlYzE2NGVjYWQuLmQ1NjFjMTcwZmIyNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTkx
MjUsNyArOTEyNSw2IEBAIHZvaWQgV2ViUGFnZTo6Z2VuZXJhdGVUZXN0UmVwb3J0KFN0cmluZyYm
IG1lc3NhZ2UsIFN0cmluZyYmIGdyb3VwKQogdm9pZCBXZWJQYWdlOjp1cGRhdGVJbWFnZUFuaW1h
dGlvbkVuYWJsZWQoKQogewogICAgIGNvcmVQYWdlKCktPnNldEltYWdlQW5pbWF0aW9uRW5hYmxl
ZChXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5pbWFnZUFuaW1hdGlvbkVuYWJsZWQoKSk7Ci0gICAg
Y29yZVBhZ2UoKS0+c2V0U3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMoIVdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLmltYWdlQW5pbWF0aW9uRW5hYmxlZCgpKTsKIH0KIAogdm9pZCBXZWJQYWdl
OjpwYXVzZUFsbEFuaW1hdGlvbnMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dl
YlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW0KaW5kZXggODE4MDM5Mjk3MDMxLi4zYmU4ZjQxZTIzM2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtNzYs
NiArNzYsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9IaXN0b3J5Q29udHJvbGxlci5oPgogI2ltcG9y
dCA8V2ViQ29yZS9IaXN0b3J5SXRlbS5oPgogI2ltcG9ydCA8V2ViQ29yZS9JT1N1cmZhY2UuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvSW1hZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvSW1hZ2VEZWNvZGVy
Q0cuaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxGcmFtZVZpZXcuaD4KICNpbXBvcnQgPFdlYkNv
cmUvTG9jYWxpemVkRGV2aWNlTW9kZWwuaD4KQEAgLTEyNzgsNiArMTI3OSwxMCBAQCB2b2lkIFdl
YlByb2Nlc3M6OnNldE1lZGlhQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzKFdlYkNvcmU6OkNhcHRp
b25Vc2VyUHJlZmVyZW5jZQogCiB2b2lkIFdlYlByb2Nlc3M6OnVwZGF0ZVBhZ2VBY2Nlc3NpYmls
aXR5U2V0dGluZ3MoKQogeworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0FOSU1BVElPTl9DT05U
Uk9MKQorICAgIEltYWdlOjpzZXRTeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyghaW1hZ2VB
bmltYXRpb25FbmFibGVkKCkpOworI2VuZGlmCisKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9B
TklNQVRJT05fQ09OVFJPTCkgfHwgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfTk9OX0JMSU5LSU5HX0NV
UlNPUikKICAgICBmb3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFsdWVzKCkpIHsKICNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9BTklNQVRJT05fQ09OVFJPTCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470106</attachid>
            <date>2024-02-29 15:34:55 -0800</date>
            <delta_ts>2024-03-01 12:11:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-270136-20240229153454.patch</filename>
            <type>text/plain</type>
            <size>13270</size>
            <attacher name="Joshua Hoffman">jhoffman23</attacher>
            
              <data encoding="base64">RnJvbSBiODQ0YTkxNGZiZTYwY2RmYmY5ODA2YmM4OTU4MDNmNDBmOGU3NGYwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgSG9mZm1hbiA8amhvZmZtYW4yM0BhcHBsZS5jb20+
CkRhdGU6IE1vbiwgMjYgRmViIDIwMjQgMTc6MDc6MzYgLTA4MDAKU3ViamVjdDogW1BBVENIXSBB
WDogQXZvaWQgd29yayBpbiBCaXRtYXBJbWFnZTo6Y2FuQW5pbWF0ZSBpZiBhbmltYXRpb24KIGNv
bnRyb2xzIGFyZSBkaXNhYmxlZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjcwMTM2CiByZGFyOi8vMTA5NjQ2NzkyCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
CkJlZm9yZSB0aGlzIHBhdGNoLCB0aGUgZXhwZW5zaXZlIHdvcmsgdGhhdCBoYXBwZW5zIGluIEJp
dG1hcEltYWdlOjpjYW5BbmltYXRlIHdvdWxkIHVubmVjZXNzYXJpbHkgb2NjdXIgaW4KdHdvIGNh
c2VzOiAoMSkgaWYgdGhlIGltYWdlIGhhcyBhIHNpbmdsZS1mcmFtZSBhbmQgKDIpIGlmIGltYWdl
IGFuaW1hdGlvbiBjb250cm9scyB3ZXJlIG5vdCBlbmFibGVkLiBUaGlzCnBhdGNoIGV4aXRzIGVh
cmx5IGZyb20gdGhpcyBjb2RlIHBhdGggaWYgZWl0aGVyIG9mIHRob3NlIHR3byB0aGluZ3MgYXJl
IHRydWUuIFRoaXMgd2lsbCBpbXByb3ZlIHBlcmZvcm1hbmNlCmZvciB1c2VycyBib3RoIHdpdGgg
YW5kIHdpdGhvdXQgdGhlIGNvbnRyb2xzIGVuYWJsZWQuCgpNb3ZpbmcgYHN5c3RlbUFsbG93c0Fu
aW1hdGlvbkNvbnRyb2xzYCB0byBhIHN0YXRpYyBnbG9iYWwgdmFyaWFibGUgb24gYEltYWdlYCBh
bHNvIGFsbG93cyB1cyB0byByZW1vdmUKdGhlIG1ldGhvZCBvZiB0aGUgc2FtZSBuYW1lIGZyb20g
YFBhZ2VgLCBzaW5jZSB0aGlzIGRvZXMgbm90IG5lZWQgdG8gYmUgYSBwZXItcGFnZSBzZXR0aW5n
LgoKQW4gQVBJIHRlc3QgaGFkIHRvIGJlIHVwZGF0ZWQgc28gdGhhdCB3ZSBpbnZva2UgYEltYWdl
OjpzZXRTeXN0ZW1BbGxvd3NJbWFnZUFuaW1hdGlvbmAgdmlhCkludGVybmFsczo6c2V0SW1hZ2VB
bmltYXRpb25FbmFibGVkLgoKVGhpcyBpcyBwYXJ0IG9uZSBvZiByZWxhdGVkIHdvcmsuIEluIGEg
Zm9sbG93IHVwLCBwZXJmb3JtYW5jZSBpc3N1ZXMgZm9yIGNvbXB1dGluZyBjYW5BbmltYXRlIHdo
ZW4KYW5pbWF0aW9uIGNvbnRyb2xzIGFyZSBlbmFibGVkIHdpbGwgYmUgYWRkcmVzc2VkLgoKKiBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwOgooV2ViQ29yZTo6Q2Fj
aGVkSW1hZ2U6OkNhY2hlZEltYWdlT2JzZXJ2ZXI6OmFsbG93c0FuaW1hdGlvbiBjb25zdCk6CihX
ZWJDb3JlOjpDYWNoZWRJbWFnZTo6YWxsb3dzQW5pbWF0aW9uIGNvbnN0KToKKiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHA6CihXZWJDb3JlOjpDb250ZXh0TWVu
dUNvbnRyb2xsZXI6OnBvcHVsYXRlKToKKiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwOgoo
V2ViQ29yZTo6UGFnZTo6c2V0SW1hZ2VBbmltYXRpb25FbmFibGVkKToKKFdlYkNvcmU6OlBhZ2U6
OnNldFN5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzKTogRGVsZXRlZC4KKiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuaDoKKFdlYkNvcmU6OlBhZ2U6OmltYWdlQW5pbWF0aW9uRW5hYmxlZCBj
b25zdCk6CihXZWJDb3JlOjpQYWdlOjpzeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyBjb25z
dCk6IERlbGV0ZWQuCiogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1h
Z2UuY3BwOgooV2ViQ29yZTo6Qml0bWFwSW1hZ2U6OmNhbkFuaW1hdGUgY29uc3QpOgoqIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcDoKKFdlYkNvcmU6OkltYWdlOjpz
ZXRTeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyk6CiogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2UuaDoKKFdlYkNvcmU6OkltYWdlOjpzeXN0ZW1BbGxvd3NBbmltYXRp
b25Db250cm9scyk6CiogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwOgooV2Vi
Q29yZTo6SW50ZXJuYWxzOjpzZXRJbWFnZUFuaW1hdGlvbkVuYWJsZWQpOgoqIFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgooV2ViS2l0OjpXZWJQYWdlOjp1cGRh
dGVJbWFnZUFuaW1hdGlvbkVuYWJsZWQpOgoqIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW06CihXZWJLaXQ6OldlYlByb2Nlc3M6OnVwZGF0ZVBhZ2VBY2Nl
c3NpYmlsaXR5U2V0dGluZ3MpOgoqIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0Fu
aW1hdGlvbkNvbnRyb2wubW06CihURVNUKToKLS0tCiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkSW1hZ2UuY3BwICAgICAgICAgIHwgOCArKysrKysrKwogU291cmNlL1dlYkNvcmUv
cGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwICAgICAgICB8IDIgKy0KIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgfCA1IC0tLS0tCiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMyAtLS0K
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcCAgICAgfCAy
ICstCiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAgICAgICAgICAg
IHwgNyArKysrKysrCiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oICAg
ICAgICAgICAgIHwgMyArKysKIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCAg
ICAgICAgICAgICAgICAgfCA4ICsrKysrKystCiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcCAgICAgICAgIHwgMSAtCiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Y29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tICAgIHwgNSArKysrKwogVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvQW5pbWF0aW9uQ29udHJvbC5tbSB8IDcgKysrKysrLQogMTEgZmlsZXMg
Y2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAKaW5kZXggNWIwOGM4Nzk3MzQyLi4yODU3
ZjQ4NzAyNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJ
bWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNw
cApAQCAtNDc2LDYgKzQ3NiwxMSBAQCB2b2lkIENhY2hlZEltYWdlOjpDYWNoZWRJbWFnZU9ic2Vy
dmVyOjpzY2hlZHVsZVJlbmRlcmluZ1VwZGF0ZShjb25zdCBJbWFnZSYgaW1hZwogCiBib29sIENh
Y2hlZEltYWdlOjpDYWNoZWRJbWFnZU9ic2VydmVyOjphbGxvd3NBbmltYXRpb24oY29uc3QgSW1h
Z2UmIGltYWdlKSBjb25zdAogeworICAgIC8vICo6OmFsbG93c0FuaW1hdGlvbiBjYW4gb25seSBy
ZXR1cm4gZmFsc2Ugd2hlbiBzeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyA9PSB0cnVlLAor
ICAgIC8vIHNvIHRoaXMgcHJldmVudHMgdW5uZWNlc3Nhcnkgd29yayBieSBleGl0aW5nIGVhcmx5
LgorICAgIGlmICghSW1hZ2U6OnN5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzKCkpCisgICAg
ICAgIHJldHVybiB0cnVlOworCiAgICAgZm9yIChDYWNoZWRSZXNvdXJjZUhhbmRsZSBjYWNoZWRJ
bWFnZSA6IG1fY2FjaGVkSW1hZ2VzKSB7CiAgICAgICAgIGlmIChjYWNoZWRJbWFnZS0+YWxsb3dz
QW5pbWF0aW9uKGltYWdlKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtNzQxLDYgKzc0
Niw5IEBAIGJvb2wgQ2FjaGVkSW1hZ2U6OmFsbG93c0FuaW1hdGlvbihjb25zdCBJbWFnZSYgaW1h
Z2UpIGNvbnN0CiAgICAgaWYgKCZpbWFnZSAhPSBtX2ltYWdlKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKKyAgICBpZiAoIUltYWdlOjpzeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scygpKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIENhY2hlZFJlc291cmNlQ2xpZW50V2Fsa2VyPENh
Y2hlZEltYWdlQ2xpZW50PiB3YWxrZXIoKnRoaXMpOwogICAgIHdoaWxlIChhdXRvKiBjbGllbnQg
PSB3YWxrZXIubmV4dCgpKSB7CiAgICAgICAgIGlmICghY2xpZW50LT5hbGxvd3NBbmltYXRpb24o
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAppbmRl
eCBiOTg5YmU3NDJlNjQuLmIyMGQxMzI4MGE4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29udGV4dE1lbnVDb250cm9sbGVyLmNwcApAQCAtMTA2NSw3ICsxMDY1LDcgQEAgdm9pZCBDb250
ZXh0TWVudUNvbnRyb2xsZXI6OnBvcHVsYXRlKCkKICAgICAgICAgaWYgKCFmcmFtZS0+cGFnZSgp
IHx8ICFmcmFtZS0+cGFnZSgpLT5zZXR0aW5ncygpLmltYWdlQW5pbWF0aW9uQ29udHJvbEVuYWJs
ZWQoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICByZXR1cm4gZnJhbWUt
PnBhZ2UoKS0+c3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMoKSB8fCBmcmFtZS0+cGFnZSgp
LT5zZXR0aW5ncygpLmFsbG93QW5pbWF0aW9uQ29udHJvbHNPdmVycmlkZSgpOworICAgICAgICBy
ZXR1cm4gSW1hZ2U6OnN5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzKCkgfHwgZnJhbWUtPnBh
Z2UoKS0+c2V0dGluZ3MoKS5hbGxvd0FuaW1hdGlvbkNvbnRyb2xzT3ZlcnJpZGUoKTsKICAgICB9
OwogCiAgICAgYm9vbCBzaG91bGRBZGRQbGF5QWxsUGF1c2VBbGxBbmltYXRpb25zSXRlbSA9IGNh
bkFkZEFuaW1hdGlvbkNvbnRyb2xzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBmNWU3ZjkyMzYx
Y2QuLjFhMGY1YWE1M2YwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yMjQ3LDExICsyMjQ3LDYg
QEAgdm9pZCBQYWdlOjpzZXRJbWFnZUFuaW1hdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAg
IHVwZGF0ZVBsYXlTdGF0ZUZvckFsbEFuaW1hdGlvbnMoKTsKICAgICBjaHJvbWUoKS5jbGllbnQo
KS5pc0FueUFuaW1hdGlvbkFsbG93ZWRUb1BsYXlEaWRDaGFuZ2UoZW5hYmxlZCk7CiB9Ci0KLXZv
aWQgUGFnZTo6c2V0U3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMoYm9vbCBpc0FsbG93ZWQp
Ci17Ci0gICAgbV9zeXN0ZW1BbGxvd3NBbmltYXRpb25Db250cm9scyA9IGlzQWxsb3dlZDsKLX0K
ICNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWV9BTklNQVRJT05fQ09OVFJPTCkKIAogI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZX05PTl9CTElOS0lOR19DVVJTT1IpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmlu
ZGV4IDI5OWMyOTFkMjJmMS4uZGJlNDI1Mjk2ZWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtNzA5LDEy
ICs3MDksMTAgQEAgcHVibGljOgogI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0FOSU1BVElPTl9D
T05UUk9MKQogICAgIHZvaWQgdXBkYXRlUGxheVN0YXRlRm9yQWxsQW5pbWF0aW9ucygpOwogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SW1hZ2VBbmltYXRpb25FbmFibGVkKGJvb2wpOwotICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMoYm9v
bCBpc0FsbG93ZWQpOwogICAgIHZvaWQgYWRkSW5kaXZpZHVhbGx5UGxheWluZ0FuaW1hdGlvbkVs
ZW1lbnQoSFRNTEltYWdlRWxlbWVudCYpOwogICAgIHZvaWQgcmVtb3ZlSW5kaXZpZHVhbGx5UGxh
eWluZ0FuaW1hdGlvbkVsZW1lbnQoSFRNTEltYWdlRWxlbWVudCYpOwogI2VuZGlmCiAgICAgYm9v
bCBpbWFnZUFuaW1hdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2ltYWdlQW5pbWF0aW9u
RW5hYmxlZDsgfQotICAgIGJvb2wgc3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMoKSBjb25z
dCB7IHJldHVybiBtX3N5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzOyB9CiAKICNpZiBFTkFC
TEUoQUNDRVNTSUJJTElUWV9OT05fQkxJTktJTkdfQ1VSU09SKQogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0UHJlZmVyc05vbkJsaW5raW5nQ3Vyc29yKGJvb2wpOwpAQCAtMTI2MSw3ICsxMjU5
LDYgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9jYW5TdGFydE1lZGlhIHsgdHJ1ZSB9OwogICAg
IGJvb2wgbV9pbWFnZUFuaW1hdGlvbkVuYWJsZWQgeyB0cnVlIH07Ci0gICAgYm9vbCBtX3N5c3Rl
bUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzIHsgZmFsc2UgfTsKICAgICAvLyBFbGVtZW50cyBjb250
YWluaW5nIGFuaW1hdGlvbnMgdGhhdCBhcmUgaW5kaXZpZHVhbGx5IHBsYXlpbmcgKHBvdGVudGlh
bGx5IG92ZXJyaWRpbmcgdGhlIHBhZ2Utd2lkZSBtX2ltYWdlQW5pbWF0aW9uRW5hYmxlZCBzdGF0
ZSkuCiAgICAgV2Vha0hhc2hTZXQ8SFRNTEltYWdlRWxlbWVudCwgV2Vha1B0ckltcGxXaXRoRXZl
bnRUYXJnZXREYXRhPiBtX2luZGl2aWR1YWxseVBsYXlpbmdBbmltYXRpb25FbGVtZW50czsKICNp
ZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9OT05fQkxJTktJTkdfQ1VSU09SKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCmluZGV4IDdmYzg2OTZh
YzllMy4uZmMyYjEyNGNiY2NjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQml0bWFwSW1hZ2UuY3BwCkBAIC0zNDUsNyArMzQ1LDcgQEAgYm9vbCBCaXRtYXBJbWFn
ZTo6c2hvdWxkQW5pbWF0ZSgpIGNvbnN0CiAKIGJvb2wgQml0bWFwSW1hZ2U6OmNhbkFuaW1hdGUo
KSBjb25zdAogewotICAgIHJldHVybiBzaG91bGRBbmltYXRlKCkgJiYgZnJhbWVDb3VudCgpID4g
MTsKKyAgICByZXR1cm4gZnJhbWVDb3VudCgpID4gMSAmJiBzaG91bGRBbmltYXRlKCk7CiB9CiAK
IGJvb2wgQml0bWFwSW1hZ2U6OmNhblVzZUFzeW5jRGVjb2RpbmdGb3JMYXJnZUltYWdlcygpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAKaW5kZXggOTBi
ZGUyZmFiMzFkLi5hNThkOGQwOGE3MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZS5jcHAKQEAgLTQ0NCw0ICs0NDQsMTEgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8
PChUZXh0U3RyZWFtJiB0cywgY29uc3QgSW1hZ2UmIGltYWdlKQogICAgIHJldHVybiB0czsKIH0K
IAorYm9vbCBJbWFnZTo6Z1N5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzID0gZmFsc2U7CisK
K3ZvaWQgSW1hZ2U6OnNldFN5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzKGJvb2wgYWxsb3dz
Q29udHJvbHMpCit7CisgICAgZ1N5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzID0gYWxsb3dz
Q29udHJvbHM7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZS5oCmluZGV4IDViM2E0ZTZjOGFmOC4uNDJmZDBiMWIyNGJlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmgKQEAgLTEzMyw2ICsxMzMs
OCBAQCBwdWJsaWM6CiAgICAgYm9vbCBhbmltYXRpb25QZW5kaW5nKCkgY29uc3QgeyByZXR1cm4g
bV9hbmltYXRpb25TdGFydFRpbWVyICYmIG1fYW5pbWF0aW9uU3RhcnRUaW1lci0+aXNBY3RpdmUo
KTsgfQogICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gYWxsb3dzQW5pbWF0aW9uKCkgY29uc3QgeyBy
ZXR1cm4gbV9hbGxvd3NBbmltYXRpb247IH0KICAgICB2b2lkIHNldEFsbG93c0FuaW1hdGlvbihz
dGQ6Om9wdGlvbmFsPGJvb2w+IGFsbG93c0FuaW1hdGlvbikgeyBtX2FsbG93c0FuaW1hdGlvbiA9
IGFsbG93c0FuaW1hdGlvbjsgfQorICAgIHN0YXRpYyBib29sIHN5c3RlbUFsbG93c0FuaW1hdGlv
bkNvbnRyb2xzKCkgeyByZXR1cm4gZ1N5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzOyB9Cisg
ICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0U3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29u
dHJvbHMoYm9vbCBhbGxvd3NDb250cm9scyk7CiAKICAgICAvLyBUeXBpY2FsbHkgdGhlIENhY2hl
ZEltYWdlIHRoYXQgb3ducyB1cy4KICAgICBSZWZQdHI8SW1hZ2VPYnNlcnZlcj4gaW1hZ2VPYnNl
cnZlcigpIGNvbnN0OwpAQCAtMTg1LDYgKzE4Nyw3IEBAIHByaXZhdGU6CiAgICAgLy8gQSB2YWx1
ZSBvZiB0cnVlIG9yIGZhbHNlIHdpbGwgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgUGFnZTo6aW1hZ2VB
bmltYXRpb25FbmFibGVkIHN0YXRlLgogICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gbV9hbGxvd3NB
bmltYXRpb24geyBzdGQ6Om51bGxvcHQgfTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI+IG1f
YW5pbWF0aW9uU3RhcnRUaW1lcjsKKyAgICBzdGF0aWMgYm9vbCBnU3lzdGVtQWxsb3dzQW5pbWF0
aW9uQ29udHJvbHM7CiB9OwogCiBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0
U3RyZWFtJiwgY29uc3QgSW1hZ2UmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApp
bmRleCA0NWYxZDBiZmIzMzQuLjc1N2QwNmNhZTQ3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcApAQCAtMTEyMCw4ICsxMTIwLDE0IEBAIGJvb2wgSW50ZXJuYWxzOjppc0ltYWdl
QW5pbWF0aW5nKEhUTUxJbWFnZUVsZW1lbnQmIGVsZW1lbnQpCiAjaWYgRU5BQkxFKEFDQ0VTU0lC
SUxJVFlfQU5JTUFUSU9OX0NPTlRST0wpCiB2b2lkIEludGVybmFsczo6c2V0SW1hZ2VBbmltYXRp
b25FbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKLSAgICBpZiAoYXV0byogcGFnZSA9IGNvbnRleHRE
b2N1bWVudCgpID8gY29udGV4dERvY3VtZW50KCktPnBhZ2UoKSA6IG51bGxwdHIpCisgICAgaWYg
KGF1dG8qIHBhZ2UgPSBjb250ZXh0RG9jdW1lbnQoKSA/IGNvbnRleHREb2N1bWVudCgpLT5wYWdl
KCkgOiBudWxscHRyKSB7CisgICAgICAgIGlmICghcGFnZS0+c2V0dGluZ3MoKS5pbWFnZUFuaW1h
dGlvbkNvbnRyb2xFbmFibGVkKCkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgLy8g
V2UgbmVlZCB0byBzZXQgdGhpcyBoZXJlIHRvIG1pbWljIHRoZSBiZWhhdmlvciBvZiB0aGUgQVgg
cHJlZmVyZW5jZSBjaGFuZ2luZworICAgICAgICBJbWFnZTo6c2V0U3lzdGVtQWxsb3dzQW5pbWF0
aW9uQ29udHJvbHMoIWVuYWJsZWQpOwogICAgICAgICBwYWdlLT5zZXRJbWFnZUFuaW1hdGlvbkVu
YWJsZWQoZW5hYmxlZCk7CisgICAgfQogfQogCiB2b2lkIEludGVybmFsczo6cmVzdW1lSW1hZ2VB
bmltYXRpb24oSFRNTEltYWdlRWxlbWVudCYgZWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZDI1ZWMxNjRlY2FkLi5kNTYxYzE3MGZi
MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBA
IC05MTI1LDcgKzkxMjUsNiBAQCB2b2lkIFdlYlBhZ2U6OmdlbmVyYXRlVGVzdFJlcG9ydChTdHJp
bmcmJiBtZXNzYWdlLCBTdHJpbmcmJiBncm91cCkKIHZvaWQgV2ViUGFnZTo6dXBkYXRlSW1hZ2VB
bmltYXRpb25FbmFibGVkKCkKIHsKICAgICBjb3JlUGFnZSgpLT5zZXRJbWFnZUFuaW1hdGlvbkVu
YWJsZWQoV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuaW1hZ2VBbmltYXRpb25FbmFibGVkKCkpOwot
ICAgIGNvcmVQYWdlKCktPnNldFN5c3RlbUFsbG93c0FuaW1hdGlvbkNvbnRyb2xzKCFXZWJQcm9j
ZXNzOjpzaW5nbGV0b24oKS5pbWFnZUFuaW1hdGlvbkVuYWJsZWQoKSk7CiB9CiAKIHZvaWQgV2Vi
UGFnZTo6cGF1c2VBbGxBbmltYXRpb25zKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2Vi
UHJvY2Vzc0NvY29hLm1tCmluZGV4IDgxODAzOTI5NzAzMS4uM2JlOGY0MWUyMzNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KQEAg
LTc2LDYgKzc2LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvSGlzdG9yeUNvbnRyb2xsZXIuaD4KICNp
bXBvcnQgPFdlYkNvcmUvSGlzdG9yeUl0ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUvSU9TdXJmYWNl
Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0ltYWdlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ltYWdlRGVj
b2RlckNHLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0xvY2FsaXplZERldmljZU1vZGVsLmg+CkBAIC0xMjc4LDYgKzEyNzksMTAgQEAgdm9p
ZCBXZWJQcm9jZXNzOjpzZXRNZWRpYUFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcyhXZWJDb3JlOjpD
YXB0aW9uVXNlclByZWZlcmVuY2UKIAogdm9pZCBXZWJQcm9jZXNzOjp1cGRhdGVQYWdlQWNjZXNz
aWJpbGl0eVNldHRpbmdzKCkKIHsKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9BTklNQVRJT05f
Q09OVFJPTCkKKyAgICBJbWFnZTo6c2V0U3lzdGVtQWxsb3dzQW5pbWF0aW9uQ29udHJvbHMoIWlt
YWdlQW5pbWF0aW9uRW5hYmxlZCgpKTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFlfQU5JTUFUSU9OX0NPTlRST0wpIHx8IEVOQUJMRShBQ0NFU1NJQklMSVRZX05PTl9CTElOS0lO
R19DVVJTT1IpCiAgICAgZm9yIChhdXRvJiBwYWdlIDogbV9wYWdlTWFwLnZhbHVlcygpKSB7CiAj
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfQU5JTUFUSU9OX0NPTlRST0wpCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9BbmltYXRpb25Db250cm9sLm1tIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQW5pbWF0aW9uQ29udHJvbC5tbQppbmRleCAw
YWE4Mzk4ZmMxZmQuLmY0ZmNiMTc0MTQ0OSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvQW5pbWF0aW9uQ29udHJvbC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9BbmltYXRpb25Db250cm9sLm1tCkBAIC03Nyw4ICs3Nyw4IEBAIFRF
U1QoV2ViS2l0LCBJc0FueUFuaW1hdGlvbkFsbG93ZWRUb1BsYXlCZWhhdmlvcldpdGhJbmRpdmlk
dWFsQW5pbWF0aW9uQ29udHJvbCkKIAogICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRN
TFN0cmluZzpAIjxpbWcgaWQ9J2ltZ09uZScgc3JjPSd0ZXN0LW1zZS5tcDQnPjxpbWcgaWQ9J2lt
Z1R3bycgc3JjPSd0ZXN0LXdpdGhvdXQtYXVkaW8tdHJhY2subXA0Jz4iXTsKICAgICBbd2ViVmll
dyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAid2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRJbWFnZUFuaW1hdGlvbkNvbnRyb2xFbmFibGVkKHRydWUpIl07CisgICAgW3dlYlZpZXcg
c3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIndpbmRvdy5pbnRlcm5hbHMuc2V0SW1hZ2VB
bmltYXRpb25FbmFibGVkKGZhbHNlKSJdOwogCi0gICAgW3dlYlZpZXcgX3BhdXNlQWxsQW5pbWF0
aW9uc1dpdGhDb21wbGV0aW9uSGFuZGxlcjpuaWxdOwogICAgIHdoaWxlIChpc0FuaW1hdGluZyhA
ImltZ09uZSIsIHdlYlZpZXcpIHx8IGlzQW5pbWF0aW5nKEAiaW1nVHdvIiwgd2ViVmlldykpCiAg
ICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bkZvcigwLjA1X3MpOwogICAgIEFTU0VSVF9G
QUxTRShbd2ViVmlldyBfYWxsb3dzQW55QW5pbWF0aW9uVG9QbGF5XSk7CkBAIC0xMDAsNSArMTAw
LDEwIEBAIFRFU1QoV2ViS2l0LCBJc0FueUFuaW1hdGlvbkFsbG93ZWRUb1BsYXlCZWhhdmlvcldp
dGhJbmRpdmlkdWFsQW5pbWF0aW9uQ29udHJvbCkKICAgICB3aGlsZSAoIVt3ZWJWaWV3IF9hbGxv
d3NBbnlBbmltYXRpb25Ub1BsYXldKQogICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW5G
b3IoMC4wNV9zKTsKICAgICBBU1NFUlRfVFJVRShbd2ViVmlldyBfYWxsb3dzQW55QW5pbWF0aW9u
VG9QbGF5XSk7CisKKyAgICBbd2ViVmlldyBfcGF1c2VBbGxBbmltYXRpb25zV2l0aENvbXBsZXRp
b25IYW5kbGVyOm5pbF07CisgICAgd2hpbGUgKGlzQW5pbWF0aW5nKEAiaW1nVHdvIiwgd2ViVmll
dykpCisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bkZvcigwLjA1X3MpOworICAgIEFT
U0VSVF9GQUxTRShbd2ViVmlldyBfYWxsb3dzQW55QW5pbWF0aW9uVG9QbGF5XSk7CiB9CiAjZW5k
aWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFlfQU5JTUFUSU9OX0NPTlRST0wpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>