<?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>235220</bug_id>
          
          <creation_ts>2022-01-13 22:27:33 -0800</creation_ts>
          <short_desc>Loupe sometimes flips to the bottom of the page when dragging the end of a selection to the top of a page with seleciton flipping.</short_desc>
          <delta_ts>2022-01-18 21:14:51 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>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="Megan Gardner">megan_gardner</reporter>
          <assigned_to name="Megan Gardner">megan_gardner</assigned_to>
          <cc>thorton</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1830817</commentid>
    <comment_count>0</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-01-13 22:27:33 -0800</bug_when>
    <thetext>Loupe sometimes flips to the bottom of the page when dragging the end of a selection to the top of a page with seleciton flipping.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830818</commentid>
    <comment_count>1</comment_count>
      <attachid>449141</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-01-13 22:40:46 -0800</bug_when>
    <thetext>Created attachment 449141
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830819</commentid>
    <comment_count>2</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-01-13 22:43:22 -0800</bug_when>
    <thetext>rdar://84440841</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830839</commentid>
    <comment_count>3</comment_count>
      <attachid>449141</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2022-01-14 01:19:45 -0800</bug_when>
    <thetext>Comment on attachment 449141
Patch

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

&gt; Source/WebKit/ChangeLog:3
&gt; +        Loupe sometimes flips to the bottom of the page when dragging the end of a selection to the top of a page with seleciton flipping.

`seleciton`

&gt; Source/WebKit/ChangeLog:12
&gt; +        in the loupe being pushed to the bottom of the page (because the seleciton was on the previous page

`seleciton`

&gt; Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:1507
&gt; +    auto pointInDocument = frame.view()-&gt;rootViewToContents(pointInRootViewCoordinates).constrainedBetween(frame.view()-&gt;unobscuredContentRect().minXMinYCorner(), frame.view()-&gt;unobscuredContentRect().maxXMaxYCorner());

Maybe stash `frame.view()-&gt;unobscuredContentRect()` in a local?

Also, is this function ever called with points that aren&apos;t from user input? (and in which case constraining might be wrong?)

Also, can you double-check that autoscrolling still works? I think it will be OK, but best to check.

Also, is it testable? Seems like it should be.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830921</commentid>
    <comment_count>4</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-01-14 08:33:04 -0800</bug_when>
    <thetext>The failing selection test on iOS (editing/selection/ios/selection-handle-clamping-in-iframe.html) seems legit.

Perhaps we should be applying clamping logic before mapping to content coordinates? (which, in the case of the test, is in the coordinate space of a subframe).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831049</commentid>
    <comment_count>5</comment_count>
      <attachid>449212</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-01-14 13:11:35 -0800</bug_when>
    <thetext>Created attachment 449212
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831113</commentid>
    <comment_count>6</comment_count>
      <attachid>449212</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-01-14 15:31:01 -0800</bug_when>
    <thetext>Comment on attachment 449212
Patch

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

&gt; Also, is this function ever called with points that aren&apos;t from user input? (and in which case constraining might be wrong?)

All codepaths that call into this function happen as a result of `-changeSelectionWithTouchAt:withSelectionTouch:baseIsStart:withFlags:` in the UI process, so I *suspect* this should be okay.

&gt; Source/WebCore/ChangeLog:3
&gt; +        Loupe sometimes flips to the bottom of the page when dragging the end of a selection to the top of a page with seleciton flipping.

Nit - &quot;seleciton&quot; is still misspelled here.

&gt; Source/WebCore/ChangeLog:11
&gt; +        in the loupe being pushed to the bottom of the page (because the seleciton was on the previous page

(Ditto)

&gt; Source/WebKit/ChangeLog:3
&gt; +        Loupe sometimes flips to the bottom of the page when dragging the end of a selection to the top of a page with seleciton flipping.

(Ditto)

&gt; Source/WebKit/ChangeLog:11
&gt; +        in the loupe being pushed to the bottom of the page (because the seleciton was on the previous page

(Ditto)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831826</commentid>
    <comment_count>7</comment_count>
      <attachid>449423</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-01-18 14:20:52 -0800</bug_when>
    <thetext>Created attachment 449423
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831838</commentid>
    <comment_count>8</comment_count>
      <attachid>449428</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-01-18 14:48:51 -0800</bug_when>
    <thetext>Created attachment 449428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831933</commentid>
    <comment_count>9</comment_count>
      <attachid>449458</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-01-18 20:12:54 -0800</bug_when>
    <thetext>Created attachment 449458
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831941</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-18 21:14:49 -0800</bug_when>
    <thetext>Committed r288180 (246161@main): &lt;https://commits.webkit.org/246161@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449458.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449141</attachid>
            <date>2022-01-13 22:40:46 -0800</date>
            <delta_ts>2022-01-18 14:20:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235220-20220113224045.patch</filename>
            <type>text/plain</type>
            <size>2465</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDgyYjkwOTM0YmIzNzg2NmI2
ZjdhOWZhZjhmNzk3NTdiZTIyOWYzNDguLmY5OTNmMjAwMjg5MTNmOWI2OTUwZjUzMGNkY2E2MTMx
ZTEzNGFjYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjItMDEtMTMgIE1lZ2FuIEdh
cmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBMb3VwZSBzb21ldGlt
ZXMgZmxpcHMgdG8gdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSB3aGVuIGRyYWdnaW5nIHRoZSBlbmQg
b2YgYSBzZWxlY3Rpb24gdG8gdGhlIHRvcCBvZiBhIHBhZ2Ugd2l0aCBzZWxlY2l0b24gZmxpcHBp
bmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzUy
MjAKKyAgICAgICAgcmRhcjovLzg0NDQwODQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2hlbiBzZWxlY3Rpbmcgb24gYW4gRVBVQiBpbiBib29rcywg
aWYgeW91IGhhZCBhIHNlbGVjdGlvbiBuZWFyIHRoZSB0b3Agb2YgdGhlIHBhZ2UsCisgICAgICAg
IGFuZCB5b3UgZHJhZ2dlZCB0aGUgZW5kIG9mIHRoZSBzZWxlY3Rpb24gcGFzdCB0aGUgc3RhcnQg
YW5kIGludG8gdGhlIHVwcGVyIG1hcmdpbiwgc29tZXRpbWVzCisgICAgICAgIHRoaXMgd291bGQg
cmVzdWx0IGluIHRoZSBzZWxlY3Rpb24gZW5kaW5nIHVwIG9uIHRoZSBwcmV2aW91cyBwYWdlIG9m
IGNvbnRlbnQsIHdoaWNoIHdvdWxkIHJlc3VsdAorICAgICAgICBpbiB0aGUgbG91cGUgYmVpbmcg
cHVzaGVkIHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgKGJlY2F1c2UgdGhlIHNlbGVjaXRvbiB3
YXMgb24gdGhlIHByZXZpb3VzIHBhZ2UKKyAgICAgICAgYXQgdGhlIGJvdHRvbSksIHdoaWNoIGlz
IGluY29ycmVjdC4gVGhlIG1vc3Qgc29saWQgd2F5IHRvIGtlZXAgdGhpcyBmcm9tIGhhcHBlbmlu
ZyBpcyB0byBjbGFtcCB0aGUgc2VsZWN0aW9uCisgICAgICAgIHRvIHRoZSB1bm9ic2N1cmVkIGNv
bnRlbnQgcmVjdCwgd2hpY2ggd2lsbCBrZWVwIHNlbGVjdGlvbiBmcm9tIHJlYWNoaW5nIGJhY2sg
dG8gdGhlIHByZXZpb3VzIHBhZ2UuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OnJhbmdlRm9yUG9pbnRJblJvb3RWaWV3
Q29vcmRpbmF0ZXMpOgorCiAyMDIyLTAxLTEzICBQYXRyaWNrIEFuZ2xlICA8cGFuZ2xlQGFwcGxl
LmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbXBsZW1lbnQgYGZyYW1lVVJMYCBvcHRp
b24gZm9yIGBkZXZ0b29scy5pbnNwZWN0ZWRXaW5kb3cuZXZhbGAgY29tbWFuZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRleCBh
ZWE0ODRlOGM3ODkyNjkwOGQ5Yzc4ZGQ1ZDUwY2Q3YjhlM2RjYzg4Li42N2FlZDM4ZjNlNTk5MTM3
ZmYyZjcyNmZkY2Y0MjY4OWQzZjU1NmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtMTUwNCw3ICsxNTA0LDcgQEAgc3Rh
dGljIHN0ZDo6cGFpcjxzdGQ6Om9wdGlvbmFsPFNpbXBsZVJhbmdlPiwgU2VsZWN0aW9uV2FzRmxp
cHBlZD4gcmFuZ2VGb3JQb2ludEkKICAgICBWaXNpYmxlUG9zaXRpb24gc2VsZWN0aW9uU3RhcnQg
PSBleGlzdGluZ1NlbGVjdGlvbi52aXNpYmxlU3RhcnQoKTsKICAgICBWaXNpYmxlUG9zaXRpb24g
c2VsZWN0aW9uRW5kID0gZXhpc3RpbmdTZWxlY3Rpb24udmlzaWJsZUVuZCgpOwogCi0gICAgYXV0
byBwb2ludEluRG9jdW1lbnQgPSBmcmFtZS52aWV3KCktPnJvb3RWaWV3VG9Db250ZW50cyhwb2lu
dEluUm9vdFZpZXdDb29yZGluYXRlcyk7CisgICAgYXV0byBwb2ludEluRG9jdW1lbnQgPSBmcmFt
ZS52aWV3KCktPnJvb3RWaWV3VG9Db250ZW50cyhwb2ludEluUm9vdFZpZXdDb29yZGluYXRlcyku
Y29uc3RyYWluZWRCZXR3ZWVuKGZyYW1lLnZpZXcoKS0+dW5vYnNjdXJlZENvbnRlbnRSZWN0KCku
bWluWE1pbllDb3JuZXIoKSwgZnJhbWUudmlldygpLT51bm9ic2N1cmVkQ29udGVudFJlY3QoKS5t
YXhYTWF4WUNvcm5lcigpKTsKIAogICAgIGlmICghc2VsZWN0aW9uRmxpcHBpbmdFbmFibGVkKSB7
CiAgICAgICAgIGF1dG8gbm9kZSA9IHNlbGVjdGlvblN0YXJ0LmRlZXBFcXVpdmFsZW50KCkuY29u
dGFpbmVyTm9kZSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449212</attachid>
            <date>2022-01-14 13:11:35 -0800</date>
            <delta_ts>2022-01-18 14:20:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235220-20220114131134.patch</filename>
            <type>text/plain</type>
            <size>7178</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGJhNWM4NjM3OWM3NGNh
OWYzYTg4NTc4M2Y0OTZiMjY0NGUwNzk1NC4uMjQ5NzJiMDM1NmMzZGQxOGQ4N2MxODJmNjJjMWQ5
OTgxYjlmZWU1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIyLTAxLTE0ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgTG91cGUgc29t
ZXRpbWVzIGZsaXBzIHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2Ugd2hlbiBkcmFnZ2luZyB0aGUg
ZW5kIG9mIGEgc2VsZWN0aW9uIHRvIHRoZSB0b3Agb2YgYSBwYWdlIHdpdGggc2VsZWNpdG9uIGZs
aXBwaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM1MjIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
V2hlbiBzZWxlY3Rpbmcgb24gYW4gRVBVQiBpbiBib29rcywgaWYgeW91IGhhZCBhIHNlbGVjdGlv
biBuZWFyIHRoZSB0b3Agb2YgdGhlIHBhZ2UsCisgICAgICAgIGFuZCB5b3UgZHJhZ2dlZCB0aGUg
ZW5kIG9mIHRoZSBzZWxlY3Rpb24gcGFzdCB0aGUgc3RhcnQgYW5kIGludG8gdGhlIHVwcGVyIG1h
cmdpbiwgc29tZXRpbWVzCisgICAgICAgIHRoaXMgd291bGQgcmVzdWx0IGluIHRoZSBzZWxlY3Rp
b24gZW5kaW5nIHVwIG9uIHRoZSBwcmV2aW91cyBwYWdlIG9mIGNvbnRlbnQsIHdoaWNoIHdvdWxk
IHJlc3VsdAorICAgICAgICBpbiB0aGUgbG91cGUgYmVpbmcgcHVzaGVkIHRvIHRoZSBib3R0b20g
b2YgdGhlIHBhZ2UgKGJlY2F1c2UgdGhlIHNlbGVjaXRvbiB3YXMgb24gdGhlIHByZXZpb3VzIHBh
Z2UKKyAgICAgICAgYXQgdGhlIGJvdHRvbSksIHdoaWNoIGlzIGluY29ycmVjdC4gVGhlIG1vc3Qg
c29saWQgd2F5IHRvIGtlZXAgdGhpcyBmcm9tIGhhcHBlbmluZyBpcyB0byBjbGFtcCB0aGUgc2Vs
ZWN0aW9uCisgICAgICAgIHRvIHRoZSB1bm9ic2N1cmVkIGNvbnRlbnQgcmVjdCwgd2hpY2ggd2ls
bCBrZWVwIHNlbGVjdGlvbiBmcm9tIHJlYWNoaW5nIGJhY2sgdG8gdGhlIHByZXZpb3VzIHBhZ2Uu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZsb2F0UG9pbnQ6OmNvbnN0cmFpbmVkV2l0aGluIGNvbnN0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvSW50UG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50UG9pbnQ6OmNvbnN0cmFp
bmVkV2l0aGluIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5o
OgorCiAyMDIyLTAxLTEzICBBbGVqYW5kcm8gRy4gQ2FzdHJvICA8YWxleEBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFJlbW92ZSB0aGUgY29kZSBpbnNpZGUgVVNFKE9QRU5HTCkgJiYgRU5BQkxFKFdF
QkdMMikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggODJiOTA5MzRiYjM3ODY2YjZmN2E5ZmFmOGY3OTc1N2JlMjI5ZjM0
OC4uMDZhMWE2MjJiMzI0YWExYTVhODY4OWI2ZTYwYjNjYTQxMGU4NmI1ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMCBAQAorMjAyMi0wMS0xNCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJA
YXBwbGUuY29tPgorCisgICAgICAgIExvdXBlIHNvbWV0aW1lcyBmbGlwcyB0byB0aGUgYm90dG9t
IG9mIHRoZSBwYWdlIHdoZW4gZHJhZ2dpbmcgdGhlIGVuZCBvZiBhIHNlbGVjdGlvbiB0byB0aGUg
dG9wIG9mIGEgcGFnZSB3aXRoIHNlbGVjaXRvbiBmbGlwcGluZy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTIyMAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gc2VsZWN0aW5nIG9uIGFuIEVQVUIg
aW4gYm9va3MsIGlmIHlvdSBoYWQgYSBzZWxlY3Rpb24gbmVhciB0aGUgdG9wIG9mIHRoZSBwYWdl
LAorICAgICAgICBhbmQgeW91IGRyYWdnZWQgdGhlIGVuZCBvZiB0aGUgc2VsZWN0aW9uIHBhc3Qg
dGhlIHN0YXJ0IGFuZCBpbnRvIHRoZSB1cHBlciBtYXJnaW4sIHNvbWV0aW1lcworICAgICAgICB0
aGlzIHdvdWxkIHJlc3VsdCBpbiB0aGUgc2VsZWN0aW9uIGVuZGluZyB1cCBvbiB0aGUgcHJldmlv
dXMgcGFnZSBvZiBjb250ZW50LCB3aGljaCB3b3VsZCByZXN1bHQKKyAgICAgICAgaW4gdGhlIGxv
dXBlIGJlaW5nIHB1c2hlZCB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIChiZWNhdXNlIHRoZSBz
ZWxlY2l0b24gd2FzIG9uIHRoZSBwcmV2aW91cyBwYWdlCisgICAgICAgIGF0IHRoZSBib3R0b20p
LCB3aGljaCBpcyBpbmNvcnJlY3QuIFRoZSBtb3N0IHNvbGlkIHdheSB0byBrZWVwIHRoaXMgZnJv
bSBoYXBwZW5pbmcgaXMgdG8gY2xhbXAgdGhlIHNlbGVjdGlvbgorICAgICAgICB0byB0aGUgdW5v
YnNjdXJlZCBjb250ZW50IHJlY3QsIHdoaWNoIHdpbGwga2VlcCBzZWxlY3Rpb24gZnJvbSByZWFj
aGluZyBiYWNrIHRvIHRoZSBwcmV2aW91cyBwYWdlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpyYW5nZUZvclBvaW50
SW5Sb290Vmlld0Nvb3JkaW5hdGVzKToKKwogMjAyMi0wMS0xMyAgUGF0cmljayBBbmdsZSAgPHBh
bmdsZUBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSW1wbGVtZW50IGBmcmFt
ZVVSTGAgb3B0aW9uIGZvciBgZGV2dG9vbHMuaW5zcGVjdGVkV2luZG93LmV2YWxgIGNvbW1hbmQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5jcHAKaW5k
ZXggZmJhYjcyYWQ3NDE2YWYzMTE3MGY3ZjI4Y2FlOTg3M2JhNzk3MDE3ZS4uOTk0MDUwZWM1ZTAz
ZTc4NzI0OTJkMjBhMmJiMzZlMmE2NDQ2MDFmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1
ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgorI2lu
Y2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSAiVHJh
bnNmb3JtYXRpb25NYXRyaXguaCIKICNpbmNsdWRlIDxsaW1pdHM+CkBAIC00OSw2ICs1MCwxMSBA
QCBGbG9hdFBvaW50IEZsb2F0UG9pbnQ6OmNvbnN0cmFpbmVkQmV0d2Vlbihjb25zdCBGbG9hdFBv
aW50JiBtaW4sIGNvbnN0IEZsb2F0UG9pbgogICAgIH07CiB9CiAKK0Zsb2F0UG9pbnQgRmxvYXRQ
b2ludDo6Y29uc3RyYWluZWRXaXRoaW4oY29uc3QgRmxvYXRSZWN0JiByZWN0KSBjb25zdAorewor
ICAgIHJldHVybiBjb25zdHJhaW5lZEJldHdlZW4ocmVjdC5taW5YTWluWUNvcm5lcigpLCByZWN0
Lm1heFhNYXhZQ29ybmVyKCkpOworfQorCiB2b2lkIEZsb2F0UG9pbnQ6Om5vcm1hbGl6ZSgpCiB7
CiAgICAgZmxvYXQgdGVtcExlbmd0aCA9IGxlbmd0aCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oCmluZGV4IDI5NGFmOTcxNmRiYThlMjNiNWNjNGM0
MWE0ZmJlY2E1ZWNjOWZjN2EuLmU0ZGNkN2QxMWJiNDUxYTc1YzU0MWQwMjQzODFlNmNlOTRmMGI0
MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9p
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmgK
QEAgLTUyLDYgKzUyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWZmaW5lVHJhbnNm
b3JtOwogY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7CiBjbGFzcyBJbnRTaXplOworY2xhc3Mg
RmxvYXRSZWN0OwogCiBjbGFzcyBGbG9hdFBvaW50IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKQEAgLTE2MSw2ICsxNjIsOCBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgV0VCQ09SRV9F
WFBPUlQgRmxvYXRQb2ludCBjb25zdHJhaW5lZEJldHdlZW4oY29uc3QgRmxvYXRQb2ludCYgbWlu
LCBjb25zdCBGbG9hdFBvaW50JiBtYXgpIGNvbnN0OworICAgIAorICAgIFdFQkNPUkVfRVhQT1JU
IEZsb2F0UG9pbnQgY29uc3RyYWluZWRXaXRoaW4oY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7CiAK
ICAgICBGbG9hdFBvaW50IHNocnVua1RvKGNvbnN0IEZsb2F0UG9pbnQmIG90aGVyKSBjb25zdAog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBv
aW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmNwcApp
bmRleCAzNmI0MWMwNGQ4ZjU2N2U5NzQ4YzkwMzVlNmE5ZjFlYWMzM2Q0N2JjLi5iODVjYzU1ZWE4
YzBmOGZlMzA1ZmYyZWRlNDk4NzdmNTlkYzBjMmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAi
SW50UG9pbnQuaCIKIAogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKKyNpbmNsdWRlICJJbnRSZWN0
LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFN0cmVhbS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00NSw2ICs0NiwxMSBAQCBJbnRQb2ludCBJbnRQb2ludDo6Y29uc3RyYWluZWRCZXR3
ZWVuKGNvbnN0IEludFBvaW50JiBtaW4sIGNvbnN0IEludFBvaW50JiBtYXgpCiAgICAgfTsKIH0K
IAorSW50UG9pbnQgSW50UG9pbnQ6OmNvbnN0cmFpbmVkV2l0aGluKGNvbnN0IEludFJlY3QmIHJl
Y3QpIGNvbnN0Cit7CisgICAgcmV0dXJuIGNvbnN0cmFpbmVkQmV0d2VlbihyZWN0Lm1pblhNaW5Z
Q29ybmVyKCksIHJlY3QubWF4WE1heFlDb3JuZXIoKSk7Cit9CisKIFRleHRTdHJlYW0mIG9wZXJh
dG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IEludFBvaW50JiBwKQogewogICAgIHJldHVybiB0
cyA8PCAiKCIgPDwgcC54KCkgPDwgIiwiIDw8IHAueSgpIDw8ICIpIjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oCmluZGV4IDNhNzYxYzgyN2Y4MWI4MTdjZWMz
YjRkZmE2ZDYyZTAwM2RiYjA1ODEuLmRiOWRkN2U3NjY3ODhjNjY3Y2ZiYmNlMWY2Mjg5ZjlhNmVj
OTk4NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBv
aW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaApA
QCAtNTQsNiArNTQsNyBAQCBjbGFzcyBUZXh0U3RyZWFtOwogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBGbG9hdFBvaW50OworY2xhc3MgSW50UmVjdDsKIAogY2xhc3MgSW50UG9pbnQgewog
cHVibGljOgpAQCAtMTAyLDYgKzEwMyw4IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBXRUJDT1JF
X0VYUE9SVCBJbnRQb2ludCBjb25zdHJhaW5lZEJldHdlZW4oY29uc3QgSW50UG9pbnQmIG1pbiwg
Y29uc3QgSW50UG9pbnQmIG1heCkgY29uc3Q7CisgICAgCisgICAgV0VCQ09SRV9FWFBPUlQgSW50
UG9pbnQgY29uc3RyYWluZWRXaXRoaW4oY29uc3QgSW50UmVjdCYpIGNvbnN0OwogCiAgICAgaW50
IGRpc3RhbmNlU3F1YXJlZFRvUG9pbnQoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0g
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRl
eCBhZWE0ODRlOGM3ODkyNjkwOGQ5Yzc4ZGQ1ZDUwY2Q3YjhlM2RjYzg4Li43NjUyMjc5MmExNjRi
M2JmOWRkOGYyOTkyY2Q2Y2ZmZjhhMmFiYWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtMTUwNCw4ICsxNTA0LDggQEAg
c3RhdGljIHN0ZDo6cGFpcjxzdGQ6Om9wdGlvbmFsPFNpbXBsZVJhbmdlPiwgU2VsZWN0aW9uV2Fz
RmxpcHBlZD4gcmFuZ2VGb3JQb2ludEkKICAgICBWaXNpYmxlUG9zaXRpb24gc2VsZWN0aW9uU3Rh
cnQgPSBleGlzdGluZ1NlbGVjdGlvbi52aXNpYmxlU3RhcnQoKTsKICAgICBWaXNpYmxlUG9zaXRp
b24gc2VsZWN0aW9uRW5kID0gZXhpc3RpbmdTZWxlY3Rpb24udmlzaWJsZUVuZCgpOwogCi0gICAg
YXV0byBwb2ludEluRG9jdW1lbnQgPSBmcmFtZS52aWV3KCktPnJvb3RWaWV3VG9Db250ZW50cyhw
b2ludEluUm9vdFZpZXdDb29yZGluYXRlcyk7Ci0KKyAgICBhdXRvIHBvaW50SW5Eb2N1bWVudCA9
IGZyYW1lLnZpZXcoKS0+cm9vdFZpZXdUb0NvbnRlbnRzKHBvaW50SW5Sb290Vmlld0Nvb3JkaW5h
dGVzLmNvbnN0cmFpbmVkV2l0aGluKGZyYW1lLm1haW5GcmFtZSgpLnZpZXcoKS0+dW5vYnNjdXJl
ZENvbnRlbnRSZWN0KCkpKTsKKyAgICAKICAgICBpZiAoIXNlbGVjdGlvbkZsaXBwaW5nRW5hYmxl
ZCkgewogICAgICAgICBhdXRvIG5vZGUgPSBzZWxlY3Rpb25TdGFydC5kZWVwRXF1aXZhbGVudCgp
LmNvbnRhaW5lck5vZGUoKTsKICAgICAgICAgaWYgKG5vZGUgJiYgbm9kZS0+cmVuZGVyU3R5bGUo
KSAmJiBub2RlLT5yZW5kZXJTdHlsZSgpLT5pc1ZlcnRpY2FsV3JpdGluZ01vZGUoKSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449423</attachid>
            <date>2022-01-18 14:20:52 -0800</date>
            <delta_ts>2022-01-18 14:48:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235220-20220118142052.patch</filename>
            <type>text/plain</type>
            <size>13564</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGJhNWM4NjM3OWM3NGNh
OWYzYTg4NTc4M2Y0OTZiMjY0NGUwNzk1NC4uYjg0ZTQ0ZmE3YWFjNTMxY2NlYjZiMGUzZTQxNTk5
ZjczNzdiMGE4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIyLTAxLTE4ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgTG91cGUgc29t
ZXRpbWVzIGZsaXBzIHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2Ugd2hlbiBkcmFnZ2luZyB0aGUg
ZW5kIG9mIGEgc2VsZWN0aW9uIHRvIHRoZSB0b3Agb2YgYSBwYWdlIHdpdGggc2VsZWN0aW9uIGZs
aXBwaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM1MjIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGVzdDogZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJlc3MtdGhlbi1kcmFnLXVwLXRvLWNo
YW5nZS1zZWxlY3RlZC10ZXh0LW92ZXJmbG93Lmh0bWwKKworICAgICAgICBXaGVuIHNlbGVjdGlu
ZyBvbiBhbiBFUFVCIGluIGJvb2tzLCBpZiB5b3UgaGFkIGEgc2VsZWN0aW9uIG5lYXIgdGhlIHRv
cCBvZiB0aGUgcGFnZSwKKyAgICAgICAgYW5kIHlvdSBkcmFnZ2VkIHRoZSBlbmQgb2YgdGhlIHNl
bGVjdGlvbiBwYXN0IHRoZSBzdGFydCBhbmQgaW50byB0aGUgdXBwZXIgbWFyZ2luLCBzb21ldGlt
ZXMKKyAgICAgICAgdGhpcyB3b3VsZCByZXN1bHQgaW4gdGhlIHNlbGVjdGlvbiBlbmRpbmcgdXAg
b24gdGhlIHByZXZpb3VzIHBhZ2Ugb2YgY29udGVudCwgd2hpY2ggd291bGQgcmVzdWx0CisgICAg
ICAgIGluIHRoZSBsb3VwZSBiZWluZyBwdXNoZWQgdG8gdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSAo
YmVjYXVzZSB0aGUgc2VsZWN0aW9uIHdhcyBvbiB0aGUgcHJldmlvdXMgcGFnZQorICAgICAgICBh
dCB0aGUgYm90dG9tKSwgd2hpY2ggaXMgaW5jb3JyZWN0LiBUaGUgbW9zdCBzb2xpZCB3YXkgdG8g
a2VlcCB0aGlzIGZyb20gaGFwcGVuaW5nIGlzIHRvIGNsYW1wIHRoZSBzZWxlY3Rpb24KKyAgICAg
ICAgdG8gdGhlIHVub2JzY3VyZWQgY29udGVudCByZWN0LCB3aGljaCB3aWxsIGtlZXAgc2VsZWN0
aW9uIGZyb20gcmVhY2hpbmcgYmFjayB0byB0aGUgcHJldmlvdXMgcGFnZS4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rmxv
YXRQb2ludDo6Y29uc3RyYWluZWRXaXRoaW4gY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0Zsb2F0UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2lu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRQb2ludDo6Y29uc3RyYWluZWRXaXRoaW4gY29u
c3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50Lmg6CisKIDIwMjItMDEt
MTMgIEFsZWphbmRybyBHLiBDYXN0cm8gIDxhbGV4QGlnYWxpYS5jb20+CiAKICAgICAgICAgUmVt
b3ZlIHRoZSBjb2RlIGluc2lkZSBVU0UoT1BFTkdMKSAmJiBFTkFCTEUoV0VCR0wyKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCA4MmI5MDkzNGJiMzc4NjZiNmY3YTlmYWY4Zjc5NzU3YmUyMjlmMzQ4Li5kM2NmZTk4MDc4
MmU2MzE1NTQzODdhZjhlZjFiNDE2Mjk3NDkyMDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBA
CisyMDIyLTAxLTE4ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisK
KyAgICAgICAgTG91cGUgc29tZXRpbWVzIGZsaXBzIHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2Ug
d2hlbiBkcmFnZ2luZyB0aGUgZW5kIG9mIGEgc2VsZWN0aW9uIHRvIHRoZSB0b3Agb2YgYSBwYWdl
IHdpdGggc2VsZWN0aW9uIGZsaXBwaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MjIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2hlbiBzZWxlY3Rpbmcgb24gYW4gRVBVQiBpbiBib29rcywgaWYg
eW91IGhhZCBhIHNlbGVjdGlvbiBuZWFyIHRoZSB0b3Agb2YgdGhlIHBhZ2UsCisgICAgICAgIGFu
ZCB5b3UgZHJhZ2dlZCB0aGUgZW5kIG9mIHRoZSBzZWxlY3Rpb24gcGFzdCB0aGUgc3RhcnQgYW5k
IGludG8gdGhlIHVwcGVyIG1hcmdpbiwgc29tZXRpbWVzCisgICAgICAgIHRoaXMgd291bGQgcmVz
dWx0IGluIHRoZSBzZWxlY3Rpb24gZW5kaW5nIHVwIG9uIHRoZSBwcmV2aW91cyBwYWdlIG9mIGNv
bnRlbnQsIHdoaWNoIHdvdWxkIHJlc3VsdAorICAgICAgICBpbiB0aGUgbG91cGUgYmVpbmcgcHVz
aGVkIHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgKGJlY2F1c2UgdGhlIHNlbGVjdGlvbiB3YXMg
b24gdGhlIHByZXZpb3VzIHBhZ2UKKyAgICAgICAgYXQgdGhlIGJvdHRvbSksIHdoaWNoIGlzIGlu
Y29ycmVjdC4gVGhlIG1vc3Qgc29saWQgd2F5IHRvIGtlZXAgdGhpcyBmcm9tIGhhcHBlbmluZyBp
cyB0byBjbGFtcCB0aGUgc2VsZWN0aW9uCisgICAgICAgIHRvIHRoZSB1bm9ic2N1cmVkIGNvbnRl
bnQgcmVjdCwgd2hpY2ggd2lsbCBrZWVwIHNlbGVjdGlvbiBmcm9tIHJlYWNoaW5nIGJhY2sgdG8g
dGhlIHByZXZpb3VzIHBhZ2UuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dl
YlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OnJhbmdlRm9yUG9pbnRJblJvb3RWaWV3Q29v
cmRpbmF0ZXMpOgorCiAyMDIyLTAxLTEzICBQYXRyaWNrIEFuZ2xlICA8cGFuZ2xlQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbXBsZW1lbnQgYGZyYW1lVVJMYCBvcHRpb24g
Zm9yIGBkZXZ0b29scy5pbnNwZWN0ZWRXaW5kb3cuZXZhbGAgY29tbWFuZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcAppbmRleCBmYmFiNzJhZDc0
MTZhZjMxMTcwZjdmMjhjYWU5ODczYmE3OTcwMTdlLi45OTQwNTBlYzVlMDNlNzg3MjQ5MmQyMGEy
YmIzNmUyYTY0NDYwMWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9GbG9hdFBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9GbG9hdFBvaW50LmNwcApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiQWZmaW5lVHJh
bnNmb3JtLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCisjaW5jbHVkZSAiRmxvYXRS
ZWN0LmgiCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1h
dHJpeC5oIgogI2luY2x1ZGUgPGxpbWl0cz4KQEAgLTQ5LDYgKzUwLDExIEBAIEZsb2F0UG9pbnQg
RmxvYXRQb2ludDo6Y29uc3RyYWluZWRCZXR3ZWVuKGNvbnN0IEZsb2F0UG9pbnQmIG1pbiwgY29u
c3QgRmxvYXRQb2luCiAgICAgfTsKIH0KIAorRmxvYXRQb2ludCBGbG9hdFBvaW50Ojpjb25zdHJh
aW5lZFdpdGhpbihjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNvbnN0Cit7CisgICAgcmV0dXJuIGNv
bnN0cmFpbmVkQmV0d2VlbihyZWN0Lm1pblhNaW5ZQ29ybmVyKCksIHJlY3QubWF4WE1heFlDb3Ju
ZXIoKSk7Cit9CisKIHZvaWQgRmxvYXRQb2ludDo6bm9ybWFsaXplKCkKIHsKICAgICBmbG9hdCB0
ZW1wTGVuZ3RoID0gbGVuZ3RoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9GbG9hdFBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9GbG9hdFBvaW50LmgKaW5kZXggMjk0YWY5NzE2ZGJhOGUyM2I1Y2M0YzQxYTRmYmVjYTVlY2M5
ZmM3YS4uZTRkY2Q3ZDExYmI0NTFhNzVjNTQxZDAyNDM4MWU2Y2U5NGYwYjQxZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuaApAQCAtNTIsNiArNTIs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07CiBjbGFzcyBU
cmFuc2Zvcm1hdGlvbk1hdHJpeDsKIGNsYXNzIEludFNpemU7CitjbGFzcyBGbG9hdFJlY3Q7CiAK
IGNsYXNzIEZsb2F0UG9pbnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpAQCAtMTYx
LDYgKzE2Miw4IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCBGbG9hdFBv
aW50IGNvbnN0cmFpbmVkQmV0d2Vlbihjb25zdCBGbG9hdFBvaW50JiBtaW4sIGNvbnN0IEZsb2F0
UG9pbnQmIG1heCkgY29uc3Q7CisgICAgCisgICAgV0VCQ09SRV9FWFBPUlQgRmxvYXRQb2ludCBj
b25zdHJhaW5lZFdpdGhpbihjb25zdCBGbG9hdFJlY3QmKSBjb25zdDsKIAogICAgIEZsb2F0UG9p
bnQgc2hydW5rVG8oY29uc3QgRmxvYXRQb2ludCYgb3RoZXIpIGNvbnN0CiAgICAgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuY3BwCmluZGV4IDM2YjQxYzA0
ZDhmNTY3ZTk3NDhjOTAzNWU2YTlmMWVhYzMzZDQ3YmMuLmI4NWNjNTVlYThjMGY4ZmUzMDVmZjJl
ZGU0OTg3N2Y1OWRjMGMyZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ludFBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbnRQb2ludC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJJbnRQb2ludC5oIgog
CiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgorI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRl
IDx3dGYvdGV4dC9UZXh0U3RyZWFtLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1LDYg
KzQ2LDExIEBAIEludFBvaW50IEludFBvaW50Ojpjb25zdHJhaW5lZEJldHdlZW4oY29uc3QgSW50
UG9pbnQmIG1pbiwgY29uc3QgSW50UG9pbnQmIG1heCkKICAgICB9OwogfQogCitJbnRQb2ludCBJ
bnRQb2ludDo6Y29uc3RyYWluZWRXaXRoaW4oY29uc3QgSW50UmVjdCYgcmVjdCkgY29uc3QKK3sK
KyAgICByZXR1cm4gY29uc3RyYWluZWRCZXR3ZWVuKHJlY3QubWluWE1pbllDb3JuZXIoKSwgcmVj
dC5tYXhYTWF4WUNvcm5lcigpKTsKK30KKwogVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3Ry
ZWFtJiB0cywgY29uc3QgSW50UG9pbnQmIHApCiB7CiAgICAgcmV0dXJuIHRzIDw8ICIoIiA8PCBw
LngoKSA8PCAiLCIgPDwgcC55KCkgPDwgIikiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ludFBvaW50LmgKaW5kZXggM2E3NjFjODI3ZjgxYjgxN2NlYzNiNGRmYTZkNjJlMDAz
ZGJiMDU4MS4uZGI5ZGQ3ZTc2Njc4OGM2NjdjZmJiY2UxZjYyODlmOWE2ZWM5OTg1NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oCkBAIC01NCw2ICs1NCw3
IEBAIGNsYXNzIFRleHRTdHJlYW07CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0
UG9pbnQ7CitjbGFzcyBJbnRSZWN0OwogCiBjbGFzcyBJbnRQb2ludCB7CiBwdWJsaWM6CkBAIC0x
MDIsNiArMTAzLDggQEAgcHVibGljOgogICAgIH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIEludFBv
aW50IGNvbnN0cmFpbmVkQmV0d2Vlbihjb25zdCBJbnRQb2ludCYgbWluLCBjb25zdCBJbnRQb2lu
dCYgbWF4KSBjb25zdDsKKyAgICAKKyAgICBXRUJDT1JFX0VYUE9SVCBJbnRQb2ludCBjb25zdHJh
aW5lZFdpdGhpbihjb25zdCBJbnRSZWN0JikgY29uc3Q7CiAKICAgICBpbnQgZGlzdGFuY2VTcXVh
cmVkVG9Qb2ludChjb25zdCBJbnRQb2ludCYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IGFlYTQ4NGU4Yzc4
OTI2OTA4ZDljNzhkZDVkNTBjZDdiOGUzZGNjODguLmY1ZmMzZTE4ZWIyNzEyMjkwNmRkMDU0Nzky
ZmNhOTVhMTJkNTE0OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC0xNTA0LDcgKzE1MDQsNyBAQCBzdGF0aWMgc3RkOjpw
YWlyPHN0ZDo6b3B0aW9uYWw8U2ltcGxlUmFuZ2U+LCBTZWxlY3Rpb25XYXNGbGlwcGVkPiByYW5n
ZUZvclBvaW50SQogICAgIFZpc2libGVQb3NpdGlvbiBzZWxlY3Rpb25TdGFydCA9IGV4aXN0aW5n
U2VsZWN0aW9uLnZpc2libGVTdGFydCgpOwogICAgIFZpc2libGVQb3NpdGlvbiBzZWxlY3Rpb25F
bmQgPSBleGlzdGluZ1NlbGVjdGlvbi52aXNpYmxlRW5kKCk7CiAKLSAgICBhdXRvIHBvaW50SW5E
b2N1bWVudCA9IGZyYW1lLnZpZXcoKS0+cm9vdFZpZXdUb0NvbnRlbnRzKHBvaW50SW5Sb290Vmll
d0Nvb3JkaW5hdGVzKTsKKyAgICBhdXRvIHBvaW50SW5Eb2N1bWVudCA9IGZyYW1lLnZpZXcoKS0+
cm9vdFZpZXdUb0NvbnRlbnRzKHBvaW50SW5Sb290Vmlld0Nvb3JkaW5hdGVzLmNvbnN0cmFpbmVk
V2l0aGluKGZyYW1lLm1haW5GcmFtZSgpLnZpZXcoKS0+dW5vYnNjdXJlZENvbnRlbnRSZWN0KCkp
KTsKIAogICAgIGlmICghc2VsZWN0aW9uRmxpcHBpbmdFbmFibGVkKSB7CiAgICAgICAgIGF1dG8g
bm9kZSA9IHNlbGVjdGlvblN0YXJ0LmRlZXBFcXVpdmFsZW50KCkuY29udGFpbmVyTm9kZSgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDM1ZTU0N2IyMTRkZGIxOWU3OGQyNjFlOTJmOTZlNTRmNDA4MmMyNWYuLmNhNDBhZTJk
MGFjMTMwYWYwNmZkN2I3NjU2NGQ1ODgyYjhlMzkzMzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMi0wMS0xOCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIExvdXBlIHNvbWV0aW1lcyBmbGlwcyB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIHdo
ZW4gZHJhZ2dpbmcgdGhlIGVuZCBvZiBhIHNlbGVjdGlvbiB0byB0aGUgdG9wIG9mIGEgcGFnZSB3
aXRoIHNlbGVjdGlvbiBmbGlwcGluZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNTIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJlc3MtdGhlbi1k
cmFnLXVwLXRvLWNoYW5nZS1zZWxlY3RlZC10ZXh0LW92ZXJmbG93LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJlc3MtdGhlbi1kcmFn
LXVwLXRvLWNoYW5nZS1zZWxlY3RlZC10ZXh0LW92ZXJmbG93Lmh0bWw6IEFkZGVkLgorCiAyMDIy
LTAxLTEzICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
ZmVyZW5jZWQgU1ZHIGZpbHRlciB1c2VzIGFsd2F5cyBzUkdCIGNvbG9yIHNwYWNlIGZvciBpdHMg
cmVzdWx0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvbG9u
Zy1wcmVzcy10aGVuLWRyYWctdXAtdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQtb3ZlcmZsb3ctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJlc3Mt
dGhlbi1kcmFnLXVwLXRvLWNoYW5nZS1zZWxlY3RlZC10ZXh0LW92ZXJmbG93LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lNzYxN2ZkNGE0YjYzZDQwNjM5MGUxOTAyMDBlYzAyNWIzYTE0YjlkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmct
cHJlc3MtdGhlbi1kcmFnLXVwLXRvLWNoYW5nZS1zZWxlY3RlZC10ZXh0LW92ZXJmbG93LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK1BBU1M6IEhhcyBTZWxlY3Rpb24KK1BBU1M6IFNlbGVj
dGlvbiBwcm9wZXJseSBib3VuZGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy90b3VjaC9pb3MvbG9uZy1wcmVzcy10aGVuLWRyYWctdXAtdG8tY2hhbmdlLXNlbGVjdGVkLXRl
eHQtb3ZlcmZsb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9sb25n
LXByZXNzLXRoZW4tZHJhZy11cC10by1jaGFuZ2Utc2VsZWN0ZWQtdGV4dC1vdmVyZmxvdy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYwNTIyMTA0NDFjYWFhZGYzMmIwZDUxNzU5YTlhZmNmMzc5YzIzZjMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvbG9uZy1w
cmVzcy10aGVuLWRyYWctdXAtdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQtb3ZlcmZsb3cuaHRtbApA
QCAtMCwwICsxLDg5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9iYXNpYy1nZXN0dXJlcy5qcyI+PC9zY3Jp
cHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
eworICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHJl
Y3RUb1N0cmluZyhyZWN0KQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gYChsZWZ0ID0g
JHtNYXRoLnJvdW5kKHJlY3QubGVmdCl9LCB0b3AgPSAke01hdGgucm91bmQocmVjdC50b3ApfSwg
d2lkdGggPSAke01hdGgucm91bmQocmVjdC53aWR0aCl9LCBoZWlnaHQgPSAke01hdGgucm91bmQo
cmVjdC5oZWlnaHQpfSlgOworICAgICAgICB9CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBmb250SGVpZ2h0ID0gMzA7CisKKyAg
ICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5ydW5VSVNjcmlwdCkKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxCeSgwLCB3aW5kb3cuaW5uZXJIZWln
aHQpOworCisgICAgICAgICAgICB2YXIgb3V0cHV0ID0gJyc7CisgICAgICAgICAgICB2YXIgdGFy
Z2V0UmVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKS5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKTsKKworICAgICAgICAgICAgdmFyIHByZXNzUG9pbnRYID0gd2luZG93LnNjcmVl
bi53aWR0aCAvIDI7CisgICAgICAgICAgICB2YXIgcHJlc3NQb2ludFkgPSBmb250SGVpZ2h0ICog
MSArIHdpbmRvdy5pbm5lckhlaWdodDsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgdmFyIHNl
bGVjdGlvbkNoYW5nZWRDb3VudCA9IDA7CisgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExp
c3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgc2VsZWN0
aW9uQ2hhbmdlZENvdW50Kys7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgYXdhaXQg
bG9uZ1ByZXNzQXRQb2ludChwcmVzc1BvaW50WCwgcHJlc3NQb2ludFkpOworCisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yU2VsZWN0aW9uVG9BcHBlYXIoKTsKKworICAgICAgICAg
ICAgaWYgKGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgIT0gIiIpCisgICAgICAg
ICAgICAgICAgb3V0cHV0ICs9ICdQQVNTOiBIYXMgU2VsZWN0aW9uJzsKKyAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ0ZBSUw6IGZhaWxlZCB0byBzZWxlY3QgYSB3
b3JkIGFzIGEgcmVzdWx0IG9mIGEgbG9uZyBwcmVzcy4nOworICAgICAgICAgICAgb3V0cHV0ICs9
ICc8YnI+JzsKKworICAgICAgICAgICAgbGFzdFNlbGVjdGlvbkNoYW5nZUNvdW50ID0gc2VsZWN0
aW9uQ2hhbmdlZENvdW50OworICAgICAgICAgICAgdmFyIGdyYWJiZXJNaWRwb2ludCA9IFVJSGVs
cGVyLm1pZFBvaW50T2ZSZWN0KGF3YWl0IFVJSGVscGVyLmdldFNlbGVjdGlvbkVuZEdyYWJiZXJW
aWV3UmVjdCgpKTsKKyAgICAgICAgICAgIGF3YWl0IHRvdWNoQW5kRHJhZ0Zyb21Qb2ludFRvUG9p
bnQoZ3JhYmJlck1pZHBvaW50LngsIGdyYWJiZXJNaWRwb2ludC55ICwgZ3JhYmJlck1pZHBvaW50
LngsIGdyYWJiZXJNaWRwb2ludC55IC0gKGZvbnRIZWlnaHQgKiAyKSk7CisKKyAgICAgICAgICAg
IHZhciByZWN0Q291bnQgPSAwOworICAgICAgICAgICAgZm9yIChsZXQgcmVjdCBvZiBhd2FpdCBV
SUhlbHBlci5nZXRVSVNlbGVjdGlvblJlY3RzKCkpCisgICAgICAgICAgICAgICAgcmVjdENvdW50
Kys7CisKKyAgICAgICAgICAgIGlmIChyZWN0Q291bnQgPiAyKQorICAgICAgICAgICAgICAgIG91
dHB1dCArPSAnRkFJTDogU2VsZWN0ZWQgb3V0c2lkZSBvZiB2aXNpYmxlIGFyZWEuJzsKKyAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ1BBU1M6IFNlbGVjdGlvbiBw
cm9wZXJseSBib3VuZGVkJzsKKworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3RhcmdldCcpLmlubmVySFRNTCA9IG91dHB1dDsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOworICAgICAgICB9CisKKyAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
J2xvYWQnLCBydW5UZXN0LCBmYWxzZSk7CisgICAgPC9zY3JpcHQ+CisgICAgPHN0eWxlPgorICAg
ICAgICAjdGFyZ2V0IHsKKyAgICAgICAgICAgIGhlaWdodDogNTBweDsKKyAgICAgICAgICAgIHdp
ZHRoOiAzMDBweDsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKKyAgICAg
ICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CisgICAgICAgICAgICBmb250LXNpemU6IDE4
cHg7CisgICAgICAgIH0KKyAgICAgICAgYm9keSB7CisgICAgICAgICAgICBvdmVyZmxvdzogaGlk
ZGVuOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPC9oZWFkPgor
PGJvZHk+CisgICAgPGRpdiBpZD0idGFyZ2V0Ij4KKyAgICAgICAgPHA+SGVyZSdzIHRvIHRoZSBj
cmF6eSBvbmVzLiBUaGUgbWlzZml0cy4gVGhlIHJlYmVscy4gVGhlIHRyb3VibGVtYWtlcnMuIFRo
ZSByb3VuZCBwZWdzIGluIHRoZSBzcXVhcmUgaG9sZXMuIFRoZSBvbmVzIHdobyBzZWUgdGhpbmdz
IGRpZmZlcmVudGx5LiBUaGV5J3JlIG5vdCBmb25kIG9mIHJ1bGVzLiBBbmQgdGhleSBoYXZlIG5v
IHJlc3BlY3QgZm9yIHRoZSBzdGF0dXMgcXVvLiBZb3UgY2FuIHF1b3RlIHRoZW0sIGRpc2FncmVl
IHdpdGggdGhlbSwgZ2xvcmlmeSBvciB2aWxpZnkgdGhlbS4gQWJvdXQgdGhlIG9ubHkgdGhpbmcg
eW91IGNhbid0IGRvIGlzIGlnbm9yZSB0aGVtLiBCZWNhdXNlIHRoZXkgY2hhbmdlIHRoaW5ncy4g
VGhleSBwdXNoIHRoZSBodW1hbiByYWNlIGZvcndhcmQuIEFuZCB3aGlsZSBzb21lIG1heSBzZWUg
dGhlbSBhcyB0aGUgY3Jhenkgb25lcywgd2Ugc2VlIGdlbml1cy4gQmVjYXVzZSB0aGUgcGVvcGxl
IHdobyBhcmUgY3JhenkgZW5vdWdoIHRvIHRoaW5rIHRoZXkgY2FuIGNoYW5nZSB0aGUgd29ybGQs
IGFyZSB0aGUgb25lcyB3aG8gZG8uPC9wPgorICAgICAgICA8cD5IZXJlJ3MgdG8gdGhlIGNyYXp5
IG9uZXMuIFRoZSBtaXNmaXRzLiBUaGUgcmViZWxzLiBUaGUgdHJvdWJsZW1ha2Vycy4gVGhlIHJv
dW5kIHBlZ3MgaW4gdGhlIHNxdWFyZSBob2xlcy4gVGhlIG9uZXMgd2hvIHNlZSB0aGluZ3MgZGlm
ZmVyZW50bHkuIFRoZXkncmUgbm90IGZvbmQgb2YgcnVsZXMuIEFuZCB0aGV5IGhhdmUgbm8gcmVz
cGVjdCBmb3IgdGhlIHN0YXR1cyBxdW8uIFlvdSBjYW4gcXVvdGUgdGhlbSwgZGlzYWdyZWUgd2l0
aCB0aGVtLCBnbG9yaWZ5IG9yIHZpbGlmeSB0aGVtLiBBYm91dCB0aGUgb25seSB0aGluZyB5b3Ug
Y2FuJ3QgZG8gaXMgaWdub3JlIHRoZW0uIEJlY2F1c2UgdGhleSBjaGFuZ2UgdGhpbmdzLiBUaGV5
IHB1c2ggdGhlIGh1bWFuIHJhY2UgZm9yd2FyZC4gQW5kIHdoaWxlIHNvbWUgbWF5IHNlZSB0aGVt
IGFzIHRoZSBjcmF6eSBvbmVzLCB3ZSBzZWUgZ2VuaXVzLiBCZWNhdXNlIHRoZSBwZW9wbGUgd2hv
IGFyZSBjcmF6eSBlbm91Z2ggdG8gdGhpbmsgdGhleSBjYW4gY2hhbmdlIHRoZSB3b3JsZCwgYXJl
IHRoZSBvbmVzIHdobyBkby48L3A+CisgICAgICAgIDxwPkhlcmUncyB0byB0aGUgY3Jhenkgb25l
cy4gVGhlIG1pc2ZpdHMuIFRoZSByZWJlbHMuIFRoZSB0cm91YmxlbWFrZXJzLiBUaGUgcm91bmQg
cGVncyBpbiB0aGUgc3F1YXJlIGhvbGVzLiBUaGUgb25lcyB3aG8gc2VlIHRoaW5ncyBkaWZmZXJl
bnRseS4gVGhleSdyZSBub3QgZm9uZCBvZiBydWxlcy4gQW5kIHRoZXkgaGF2ZSBubyByZXNwZWN0
IGZvciB0aGUgc3RhdHVzIHF1by4gWW91IGNhbiBxdW90ZSB0aGVtLCBkaXNhZ3JlZSB3aXRoIHRo
ZW0sIGdsb3JpZnkgb3IgdmlsaWZ5IHRoZW0uIEFib3V0IHRoZSBvbmx5IHRoaW5nIHlvdSBjYW4n
dCBkbyBpcyBpZ25vcmUgdGhlbS4gQmVjYXVzZSB0aGV5IGNoYW5nZSB0aGluZ3MuIFRoZXkgcHVz
aCB0aGUgaHVtYW4gcmFjZSBmb3J3YXJkLiBBbmQgd2hpbGUgc29tZSBtYXkgc2VlIHRoZW0gYXMg
dGhlIGNyYXp5IG9uZXMsIHdlIHNlZSBnZW5pdXMuIEJlY2F1c2UgdGhlIHBlb3BsZSB3aG8gYXJl
IGNyYXp5IGVub3VnaCB0byB0aGluayB0aGV5IGNhbiBjaGFuZ2UgdGhlIHdvcmxkLCBhcmUgdGhl
IG9uZXMgd2hvIGRvLjwvcD4KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHJlcXVpcmVzIFVJU2NyaXB0
Q29udHJvbGxlciB0byBydW4uPC9wPgorICAgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449428</attachid>
            <date>2022-01-18 14:48:51 -0800</date>
            <delta_ts>2022-01-18 20:12:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235220-20220118144850.patch</filename>
            <type>text/plain</type>
            <size>13464</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGJhNWM4NjM3OWM3NGNh
OWYzYTg4NTc4M2Y0OTZiMjY0NGUwNzk1NC4uYjg0ZTQ0ZmE3YWFjNTMxY2NlYjZiMGUzZTQxNTk5
ZjczNzdiMGE4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIyLTAxLTE4ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgTG91cGUgc29t
ZXRpbWVzIGZsaXBzIHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2Ugd2hlbiBkcmFnZ2luZyB0aGUg
ZW5kIG9mIGEgc2VsZWN0aW9uIHRvIHRoZSB0b3Agb2YgYSBwYWdlIHdpdGggc2VsZWN0aW9uIGZs
aXBwaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM1MjIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGVzdDogZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJlc3MtdGhlbi1kcmFnLXVwLXRvLWNo
YW5nZS1zZWxlY3RlZC10ZXh0LW92ZXJmbG93Lmh0bWwKKworICAgICAgICBXaGVuIHNlbGVjdGlu
ZyBvbiBhbiBFUFVCIGluIGJvb2tzLCBpZiB5b3UgaGFkIGEgc2VsZWN0aW9uIG5lYXIgdGhlIHRv
cCBvZiB0aGUgcGFnZSwKKyAgICAgICAgYW5kIHlvdSBkcmFnZ2VkIHRoZSBlbmQgb2YgdGhlIHNl
bGVjdGlvbiBwYXN0IHRoZSBzdGFydCBhbmQgaW50byB0aGUgdXBwZXIgbWFyZ2luLCBzb21ldGlt
ZXMKKyAgICAgICAgdGhpcyB3b3VsZCByZXN1bHQgaW4gdGhlIHNlbGVjdGlvbiBlbmRpbmcgdXAg
b24gdGhlIHByZXZpb3VzIHBhZ2Ugb2YgY29udGVudCwgd2hpY2ggd291bGQgcmVzdWx0CisgICAg
ICAgIGluIHRoZSBsb3VwZSBiZWluZyBwdXNoZWQgdG8gdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSAo
YmVjYXVzZSB0aGUgc2VsZWN0aW9uIHdhcyBvbiB0aGUgcHJldmlvdXMgcGFnZQorICAgICAgICBh
dCB0aGUgYm90dG9tKSwgd2hpY2ggaXMgaW5jb3JyZWN0LiBUaGUgbW9zdCBzb2xpZCB3YXkgdG8g
a2VlcCB0aGlzIGZyb20gaGFwcGVuaW5nIGlzIHRvIGNsYW1wIHRoZSBzZWxlY3Rpb24KKyAgICAg
ICAgdG8gdGhlIHVub2JzY3VyZWQgY29udGVudCByZWN0LCB3aGljaCB3aWxsIGtlZXAgc2VsZWN0
aW9uIGZyb20gcmVhY2hpbmcgYmFjayB0byB0aGUgcHJldmlvdXMgcGFnZS4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rmxv
YXRQb2ludDo6Y29uc3RyYWluZWRXaXRoaW4gY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0Zsb2F0UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2lu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRQb2ludDo6Y29uc3RyYWluZWRXaXRoaW4gY29u
c3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50Lmg6CisKIDIwMjItMDEt
MTMgIEFsZWphbmRybyBHLiBDYXN0cm8gIDxhbGV4QGlnYWxpYS5jb20+CiAKICAgICAgICAgUmVt
b3ZlIHRoZSBjb2RlIGluc2lkZSBVU0UoT1BFTkdMKSAmJiBFTkFCTEUoV0VCR0wyKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCA4MmI5MDkzNGJiMzc4NjZiNmY3YTlmYWY4Zjc5NzU3YmUyMjlmMzQ4Li5kM2NmZTk4MDc4
MmU2MzE1NTQzODdhZjhlZjFiNDE2Mjk3NDkyMDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBA
CisyMDIyLTAxLTE4ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisK
KyAgICAgICAgTG91cGUgc29tZXRpbWVzIGZsaXBzIHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2Ug
d2hlbiBkcmFnZ2luZyB0aGUgZW5kIG9mIGEgc2VsZWN0aW9uIHRvIHRoZSB0b3Agb2YgYSBwYWdl
IHdpdGggc2VsZWN0aW9uIGZsaXBwaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MjIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2hlbiBzZWxlY3Rpbmcgb24gYW4gRVBVQiBpbiBib29rcywgaWYg
eW91IGhhZCBhIHNlbGVjdGlvbiBuZWFyIHRoZSB0b3Agb2YgdGhlIHBhZ2UsCisgICAgICAgIGFu
ZCB5b3UgZHJhZ2dlZCB0aGUgZW5kIG9mIHRoZSBzZWxlY3Rpb24gcGFzdCB0aGUgc3RhcnQgYW5k
IGludG8gdGhlIHVwcGVyIG1hcmdpbiwgc29tZXRpbWVzCisgICAgICAgIHRoaXMgd291bGQgcmVz
dWx0IGluIHRoZSBzZWxlY3Rpb24gZW5kaW5nIHVwIG9uIHRoZSBwcmV2aW91cyBwYWdlIG9mIGNv
bnRlbnQsIHdoaWNoIHdvdWxkIHJlc3VsdAorICAgICAgICBpbiB0aGUgbG91cGUgYmVpbmcgcHVz
aGVkIHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgKGJlY2F1c2UgdGhlIHNlbGVjdGlvbiB3YXMg
b24gdGhlIHByZXZpb3VzIHBhZ2UKKyAgICAgICAgYXQgdGhlIGJvdHRvbSksIHdoaWNoIGlzIGlu
Y29ycmVjdC4gVGhlIG1vc3Qgc29saWQgd2F5IHRvIGtlZXAgdGhpcyBmcm9tIGhhcHBlbmluZyBp
cyB0byBjbGFtcCB0aGUgc2VsZWN0aW9uCisgICAgICAgIHRvIHRoZSB1bm9ic2N1cmVkIGNvbnRl
bnQgcmVjdCwgd2hpY2ggd2lsbCBrZWVwIHNlbGVjdGlvbiBmcm9tIHJlYWNoaW5nIGJhY2sgdG8g
dGhlIHByZXZpb3VzIHBhZ2UuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dl
YlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OnJhbmdlRm9yUG9pbnRJblJvb3RWaWV3Q29v
cmRpbmF0ZXMpOgorCiAyMDIyLTAxLTEzICBQYXRyaWNrIEFuZ2xlICA8cGFuZ2xlQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbXBsZW1lbnQgYGZyYW1lVVJMYCBvcHRpb24g
Zm9yIGBkZXZ0b29scy5pbnNwZWN0ZWRXaW5kb3cuZXZhbGAgY29tbWFuZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcAppbmRleCBmYmFiNzJhZDc0
MTZhZjMxMTcwZjdmMjhjYWU5ODczYmE3OTcwMTdlLi45OTQwNTBlYzVlMDNlNzg3MjQ5MmQyMGEy
YmIzNmUyYTY0NDYwMWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9GbG9hdFBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9GbG9hdFBvaW50LmNwcApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiQWZmaW5lVHJh
bnNmb3JtLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCisjaW5jbHVkZSAiRmxvYXRS
ZWN0LmgiCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1h
dHJpeC5oIgogI2luY2x1ZGUgPGxpbWl0cz4KQEAgLTQ5LDYgKzUwLDExIEBAIEZsb2F0UG9pbnQg
RmxvYXRQb2ludDo6Y29uc3RyYWluZWRCZXR3ZWVuKGNvbnN0IEZsb2F0UG9pbnQmIG1pbiwgY29u
c3QgRmxvYXRQb2luCiAgICAgfTsKIH0KIAorRmxvYXRQb2ludCBGbG9hdFBvaW50Ojpjb25zdHJh
aW5lZFdpdGhpbihjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNvbnN0Cit7CisgICAgcmV0dXJuIGNv
bnN0cmFpbmVkQmV0d2VlbihyZWN0Lm1pblhNaW5ZQ29ybmVyKCksIHJlY3QubWF4WE1heFlDb3Ju
ZXIoKSk7Cit9CisKIHZvaWQgRmxvYXRQb2ludDo6bm9ybWFsaXplKCkKIHsKICAgICBmbG9hdCB0
ZW1wTGVuZ3RoID0gbGVuZ3RoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9GbG9hdFBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9GbG9hdFBvaW50LmgKaW5kZXggMjk0YWY5NzE2ZGJhOGUyM2I1Y2M0YzQxYTRmYmVjYTVlY2M5
ZmM3YS4uZTRkY2Q3ZDExYmI0NTFhNzVjNTQxZDAyNDM4MWU2Y2U5NGYwYjQxZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuaApAQCAtNTIsNiArNTIs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07CiBjbGFzcyBU
cmFuc2Zvcm1hdGlvbk1hdHJpeDsKIGNsYXNzIEludFNpemU7CitjbGFzcyBGbG9hdFJlY3Q7CiAK
IGNsYXNzIEZsb2F0UG9pbnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpAQCAtMTYx
LDYgKzE2Miw4IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCBGbG9hdFBv
aW50IGNvbnN0cmFpbmVkQmV0d2Vlbihjb25zdCBGbG9hdFBvaW50JiBtaW4sIGNvbnN0IEZsb2F0
UG9pbnQmIG1heCkgY29uc3Q7CisgICAgCisgICAgV0VCQ09SRV9FWFBPUlQgRmxvYXRQb2ludCBj
b25zdHJhaW5lZFdpdGhpbihjb25zdCBGbG9hdFJlY3QmKSBjb25zdDsKIAogICAgIEZsb2F0UG9p
bnQgc2hydW5rVG8oY29uc3QgRmxvYXRQb2ludCYgb3RoZXIpIGNvbnN0CiAgICAgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuY3BwCmluZGV4IDM2YjQxYzA0
ZDhmNTY3ZTk3NDhjOTAzNWU2YTlmMWVhYzMzZDQ3YmMuLmI4NWNjNTVlYThjMGY4ZmUzMDVmZjJl
ZGU0OTg3N2Y1OWRjMGMyZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ludFBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbnRQb2ludC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJJbnRQb2ludC5oIgog
CiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgorI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRl
IDx3dGYvdGV4dC9UZXh0U3RyZWFtLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1LDYg
KzQ2LDExIEBAIEludFBvaW50IEludFBvaW50Ojpjb25zdHJhaW5lZEJldHdlZW4oY29uc3QgSW50
UG9pbnQmIG1pbiwgY29uc3QgSW50UG9pbnQmIG1heCkKICAgICB9OwogfQogCitJbnRQb2ludCBJ
bnRQb2ludDo6Y29uc3RyYWluZWRXaXRoaW4oY29uc3QgSW50UmVjdCYgcmVjdCkgY29uc3QKK3sK
KyAgICByZXR1cm4gY29uc3RyYWluZWRCZXR3ZWVuKHJlY3QubWluWE1pbllDb3JuZXIoKSwgcmVj
dC5tYXhYTWF4WUNvcm5lcigpKTsKK30KKwogVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3Ry
ZWFtJiB0cywgY29uc3QgSW50UG9pbnQmIHApCiB7CiAgICAgcmV0dXJuIHRzIDw8ICIoIiA8PCBw
LngoKSA8PCAiLCIgPDwgcC55KCkgPDwgIikiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ludFBvaW50LmgKaW5kZXggM2E3NjFjODI3ZjgxYjgxN2NlYzNiNGRmYTZkNjJlMDAz
ZGJiMDU4MS4uZGI5ZGQ3ZTc2Njc4OGM2NjdjZmJiY2UxZjYyODlmOWE2ZWM5OTg1NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oCkBAIC01NCw2ICs1NCw3
IEBAIGNsYXNzIFRleHRTdHJlYW07CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0
UG9pbnQ7CitjbGFzcyBJbnRSZWN0OwogCiBjbGFzcyBJbnRQb2ludCB7CiBwdWJsaWM6CkBAIC0x
MDIsNiArMTAzLDggQEAgcHVibGljOgogICAgIH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIEludFBv
aW50IGNvbnN0cmFpbmVkQmV0d2Vlbihjb25zdCBJbnRQb2ludCYgbWluLCBjb25zdCBJbnRQb2lu
dCYgbWF4KSBjb25zdDsKKyAgICAKKyAgICBXRUJDT1JFX0VYUE9SVCBJbnRQb2ludCBjb25zdHJh
aW5lZFdpdGhpbihjb25zdCBJbnRSZWN0JikgY29uc3Q7CiAKICAgICBpbnQgZGlzdGFuY2VTcXVh
cmVkVG9Qb2ludChjb25zdCBJbnRQb2ludCYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IGFlYTQ4NGU4Yzc4
OTI2OTA4ZDljNzhkZDVkNTBjZDdiOGUzZGNjODguLmY1ZmMzZTE4ZWIyNzEyMjkwNmRkMDU0Nzky
ZmNhOTVhMTJkNTE0OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC0xNTA0LDcgKzE1MDQsNyBAQCBzdGF0aWMgc3RkOjpw
YWlyPHN0ZDo6b3B0aW9uYWw8U2ltcGxlUmFuZ2U+LCBTZWxlY3Rpb25XYXNGbGlwcGVkPiByYW5n
ZUZvclBvaW50SQogICAgIFZpc2libGVQb3NpdGlvbiBzZWxlY3Rpb25TdGFydCA9IGV4aXN0aW5n
U2VsZWN0aW9uLnZpc2libGVTdGFydCgpOwogICAgIFZpc2libGVQb3NpdGlvbiBzZWxlY3Rpb25F
bmQgPSBleGlzdGluZ1NlbGVjdGlvbi52aXNpYmxlRW5kKCk7CiAKLSAgICBhdXRvIHBvaW50SW5E
b2N1bWVudCA9IGZyYW1lLnZpZXcoKS0+cm9vdFZpZXdUb0NvbnRlbnRzKHBvaW50SW5Sb290Vmll
d0Nvb3JkaW5hdGVzKTsKKyAgICBhdXRvIHBvaW50SW5Eb2N1bWVudCA9IGZyYW1lLnZpZXcoKS0+
cm9vdFZpZXdUb0NvbnRlbnRzKHBvaW50SW5Sb290Vmlld0Nvb3JkaW5hdGVzLmNvbnN0cmFpbmVk
V2l0aGluKGZyYW1lLm1haW5GcmFtZSgpLnZpZXcoKS0+dW5vYnNjdXJlZENvbnRlbnRSZWN0KCkp
KTsKIAogICAgIGlmICghc2VsZWN0aW9uRmxpcHBpbmdFbmFibGVkKSB7CiAgICAgICAgIGF1dG8g
bm9kZSA9IHNlbGVjdGlvblN0YXJ0LmRlZXBFcXVpdmFsZW50KCkuY29udGFpbmVyTm9kZSgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDM1ZTU0N2IyMTRkZGIxOWU3OGQyNjFlOTJmOTZlNTRmNDA4MmMyNWYuLmNhNDBhZTJk
MGFjMTMwYWYwNmZkN2I3NjU2NGQ1ODgyYjhlMzkzMzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMi0wMS0xOCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIExvdXBlIHNvbWV0aW1lcyBmbGlwcyB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIHdo
ZW4gZHJhZ2dpbmcgdGhlIGVuZCBvZiBhIHNlbGVjdGlvbiB0byB0aGUgdG9wIG9mIGEgcGFnZSB3
aXRoIHNlbGVjdGlvbiBmbGlwcGluZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNTIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJlc3MtdGhlbi1k
cmFnLXVwLXRvLWNoYW5nZS1zZWxlY3RlZC10ZXh0LW92ZXJmbG93LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJlc3MtdGhlbi1kcmFn
LXVwLXRvLWNoYW5nZS1zZWxlY3RlZC10ZXh0LW92ZXJmbG93Lmh0bWw6IEFkZGVkLgorCiAyMDIy
LTAxLTEzICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
ZmVyZW5jZWQgU1ZHIGZpbHRlciB1c2VzIGFsd2F5cyBzUkdCIGNvbG9yIHNwYWNlIGZvciBpdHMg
cmVzdWx0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvbG9u
Zy1wcmVzcy10aGVuLWRyYWctdXAtdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQtb3ZlcmZsb3ctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJlc3Mt
dGhlbi1kcmFnLXVwLXRvLWNoYW5nZS1zZWxlY3RlZC10ZXh0LW92ZXJmbG93LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lNzYxN2ZkNGE0YjYzZDQwNjM5MGUxOTAyMDBlYzAyNWIzYTE0YjlkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmct
cHJlc3MtdGhlbi1kcmFnLXVwLXRvLWNoYW5nZS1zZWxlY3RlZC10ZXh0LW92ZXJmbG93LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK1BBU1M6IEhhcyBTZWxlY3Rpb24KK1BBU1M6IFNlbGVj
dGlvbiBwcm9wZXJseSBib3VuZGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy90b3VjaC9pb3MvbG9uZy1wcmVzcy10aGVuLWRyYWctdXAtdG8tY2hhbmdlLXNlbGVjdGVkLXRl
eHQtb3ZlcmZsb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9sb25n
LXByZXNzLXRoZW4tZHJhZy11cC10by1jaGFuZ2Utc2VsZWN0ZWQtdGV4dC1vdmVyZmxvdy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjA2YjQzYjA5MGY0ZDBlMTgwNTU5MjA5ZWQyY2VlYWQ0YjBhYmMxYzAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvbG9uZy1w
cmVzcy10aGVuLWRyYWctdXAtdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQtb3ZlcmZsb3cuaHRtbApA
QCAtMCwwICsxLDg1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9iYXNpYy1nZXN0dXJlcy5qcyI+PC9zY3Jp
cHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
eworICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHJl
Y3RUb1N0cmluZyhyZWN0KQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gYChsZWZ0ID0g
JHtNYXRoLnJvdW5kKHJlY3QubGVmdCl9LCB0b3AgPSAke01hdGgucm91bmQocmVjdC50b3ApfSwg
d2lkdGggPSAke01hdGgucm91bmQocmVjdC53aWR0aCl9LCBoZWlnaHQgPSAke01hdGgucm91bmQo
cmVjdC5oZWlnaHQpfSlgOworICAgICAgICB9CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVu
VGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBmb250SGVpZ2h0ID0gMzA7CisKKyAg
ICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5ydW5VSVNjcmlwdCkKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxCeSgwLCB3aW5kb3cuaW5uZXJIZWln
aHQpOworCisgICAgICAgICAgICB2YXIgb3V0cHV0ID0gJyc7CisgICAgICAgICAgICB2YXIgdGFy
Z2V0UmVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKS5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKTsKKworICAgICAgICAgICAgdmFyIHByZXNzUG9pbnRYID0gd2luZG93LnNjcmVl
bi53aWR0aCAvIDI7CisgICAgICAgICAgICB2YXIgcHJlc3NQb2ludFkgPSBmb250SGVpZ2h0ICsg
d2luZG93LmlubmVySGVpZ2h0OworICAgICAgICAgICAgCisgICAgICAgICAgICB2YXIgc2VsZWN0
aW9uQ2hhbmdlZENvdW50ID0gMDsKKyAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVu
ZXIoInNlbGVjdGlvbmNoYW5nZSIsICgpID0+IHsKKyAgICAgICAgICAgICAgICBzZWxlY3Rpb25D
aGFuZ2VkQ291bnQrKzsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBhd2FpdCBsb25n
UHJlc3NBdFBvaW50KHByZXNzUG9pbnRYLCBwcmVzc1BvaW50WSk7CisKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLndhaXRGb3JTZWxlY3Rpb25Ub0FwcGVhcigpOworCisgICAgICAgICAgICBp
ZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSAhPSAiIikKKyAgICAgICAgICAg
ICAgICBvdXRwdXQgKz0gJ1BBU1M6IEhhcyBTZWxlY3Rpb24nOworICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgIG91dHB1dCArPSAnRkFJTDogZmFpbGVkIHRvIHNlbGVjdCBhIHdvcmQg
YXMgYSByZXN1bHQgb2YgYSBsb25nIHByZXNzLic7CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxi
cj4nOworCisgICAgICAgICAgICBsYXN0U2VsZWN0aW9uQ2hhbmdlQ291bnQgPSBzZWxlY3Rpb25D
aGFuZ2VkQ291bnQ7CisgICAgICAgICAgICB2YXIgZ3JhYmJlck1pZHBvaW50ID0gVUlIZWxwZXIu
bWlkUG9pbnRPZlJlY3QoYXdhaXQgVUlIZWxwZXIuZ2V0U2VsZWN0aW9uRW5kR3JhYmJlclZpZXdS
ZWN0KCkpOworICAgICAgICAgICAgYXdhaXQgdG91Y2hBbmREcmFnRnJvbVBvaW50VG9Qb2ludChn
cmFiYmVyTWlkcG9pbnQueCwgZ3JhYmJlck1pZHBvaW50LnkgLCBncmFiYmVyTWlkcG9pbnQueCwg
Z3JhYmJlck1pZHBvaW50LnkgLSAoZm9udEhlaWdodCAqIDIpKTsKKworICAgICAgICAgICAgaWYg
KChhd2FpdCBVSUhlbHBlci5nZXRVSVNlbGVjdGlvblJlY3RzKCkpLmxlbmd0aCA+IDIpCisgICAg
ICAgICAgICAgICAgb3V0cHV0ICs9ICdGQUlMOiBTZWxlY3RlZCBvdXRzaWRlIG9mIHZpc2libGUg
YXJlYS4nOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG91dHB1dCArPSAnUEFT
UzogU2VsZWN0aW9uIHByb3Blcmx5IGJvdW5kZWQnOworCisgICAgICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndGFyZ2V0JykuaW5uZXJIVE1MID0gb3V0cHV0OworICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKworICAgICAgICB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcignbG9hZCcsIHJ1blRlc3QsIGZhbHNlKTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8c3R5bGU+CisgICAgICAgICN0YXJnZXQgeworICAgICAgICAgICAgaGVpZ2h0OiA1MHB4Owor
ICAgICAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjog
c2lsdmVyOworICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKKyAgICAgICAgICAg
IGZvbnQtc2l6ZTogMThweDsKKyAgICAgICAgfQorICAgICAgICBib2R5IHsKKyAgICAgICAgICAg
IG92ZXJmbG93OiBoaWRkZW47CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSI+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJ0YXJnZXQiPgorICAgICAgICA8cD5I
ZXJlJ3MgdG8gdGhlIGNyYXp5IG9uZXMuIFRoZSBtaXNmaXRzLiBUaGUgcmViZWxzLiBUaGUgdHJv
dWJsZW1ha2Vycy4gVGhlIHJvdW5kIHBlZ3MgaW4gdGhlIHNxdWFyZSBob2xlcy4gVGhlIG9uZXMg
d2hvIHNlZSB0aGluZ3MgZGlmZmVyZW50bHkuIFRoZXkncmUgbm90IGZvbmQgb2YgcnVsZXMuIEFu
ZCB0aGV5IGhhdmUgbm8gcmVzcGVjdCBmb3IgdGhlIHN0YXR1cyBxdW8uIFlvdSBjYW4gcXVvdGUg
dGhlbSwgZGlzYWdyZWUgd2l0aCB0aGVtLCBnbG9yaWZ5IG9yIHZpbGlmeSB0aGVtLiBBYm91dCB0
aGUgb25seSB0aGluZyB5b3UgY2FuJ3QgZG8gaXMgaWdub3JlIHRoZW0uIEJlY2F1c2UgdGhleSBj
aGFuZ2UgdGhpbmdzLiBUaGV5IHB1c2ggdGhlIGh1bWFuIHJhY2UgZm9yd2FyZC4gQW5kIHdoaWxl
IHNvbWUgbWF5IHNlZSB0aGVtIGFzIHRoZSBjcmF6eSBvbmVzLCB3ZSBzZWUgZ2VuaXVzLiBCZWNh
dXNlIHRoZSBwZW9wbGUgd2hvIGFyZSBjcmF6eSBlbm91Z2ggdG8gdGhpbmsgdGhleSBjYW4gY2hh
bmdlIHRoZSB3b3JsZCwgYXJlIHRoZSBvbmVzIHdobyBkby48L3A+CisgICAgICAgIDxwPkhlcmUn
cyB0byB0aGUgY3Jhenkgb25lcy4gVGhlIG1pc2ZpdHMuIFRoZSByZWJlbHMuIFRoZSB0cm91Ymxl
bWFrZXJzLiBUaGUgcm91bmQgcGVncyBpbiB0aGUgc3F1YXJlIGhvbGVzLiBUaGUgb25lcyB3aG8g
c2VlIHRoaW5ncyBkaWZmZXJlbnRseS4gVGhleSdyZSBub3QgZm9uZCBvZiBydWxlcy4gQW5kIHRo
ZXkgaGF2ZSBubyByZXNwZWN0IGZvciB0aGUgc3RhdHVzIHF1by4gWW91IGNhbiBxdW90ZSB0aGVt
LCBkaXNhZ3JlZSB3aXRoIHRoZW0sIGdsb3JpZnkgb3IgdmlsaWZ5IHRoZW0uIEFib3V0IHRoZSBv
bmx5IHRoaW5nIHlvdSBjYW4ndCBkbyBpcyBpZ25vcmUgdGhlbS4gQmVjYXVzZSB0aGV5IGNoYW5n
ZSB0aGluZ3MuIFRoZXkgcHVzaCB0aGUgaHVtYW4gcmFjZSBmb3J3YXJkLiBBbmQgd2hpbGUgc29t
ZSBtYXkgc2VlIHRoZW0gYXMgdGhlIGNyYXp5IG9uZXMsIHdlIHNlZSBnZW5pdXMuIEJlY2F1c2Ug
dGhlIHBlb3BsZSB3aG8gYXJlIGNyYXp5IGVub3VnaCB0byB0aGluayB0aGV5IGNhbiBjaGFuZ2Ug
dGhlIHdvcmxkLCBhcmUgdGhlIG9uZXMgd2hvIGRvLjwvcD4KKyAgICAgICAgPHA+SGVyZSdzIHRv
IHRoZSBjcmF6eSBvbmVzLiBUaGUgbWlzZml0cy4gVGhlIHJlYmVscy4gVGhlIHRyb3VibGVtYWtl
cnMuIFRoZSByb3VuZCBwZWdzIGluIHRoZSBzcXVhcmUgaG9sZXMuIFRoZSBvbmVzIHdobyBzZWUg
dGhpbmdzIGRpZmZlcmVudGx5LiBUaGV5J3JlIG5vdCBmb25kIG9mIHJ1bGVzLiBBbmQgdGhleSBo
YXZlIG5vIHJlc3BlY3QgZm9yIHRoZSBzdGF0dXMgcXVvLiBZb3UgY2FuIHF1b3RlIHRoZW0sIGRp
c2FncmVlIHdpdGggdGhlbSwgZ2xvcmlmeSBvciB2aWxpZnkgdGhlbS4gQWJvdXQgdGhlIG9ubHkg
dGhpbmcgeW91IGNhbid0IGRvIGlzIGlnbm9yZSB0aGVtLiBCZWNhdXNlIHRoZXkgY2hhbmdlIHRo
aW5ncy4gVGhleSBwdXNoIHRoZSBodW1hbiByYWNlIGZvcndhcmQuIEFuZCB3aGlsZSBzb21lIG1h
eSBzZWUgdGhlbSBhcyB0aGUgY3Jhenkgb25lcywgd2Ugc2VlIGdlbml1cy4gQmVjYXVzZSB0aGUg
cGVvcGxlIHdobyBhcmUgY3JhenkgZW5vdWdoIHRvIHRoaW5rIHRoZXkgY2FuIGNoYW5nZSB0aGUg
d29ybGQsIGFyZSB0aGUgb25lcyB3aG8gZG8uPC9wPgorICAgICAgICA8cD5UaGlzIHRlc3QgcmVx
dWlyZXMgVUlTY3JpcHRDb250cm9sbGVyIHRvIHJ1bi48L3A+CisgICAgPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449458</attachid>
            <date>2022-01-18 20:12:54 -0800</date>
            <delta_ts>2022-01-18 21:14:50 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-235220-20220118201254.patch</filename>
            <type>text/plain</type>
            <size>13452</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGJhNWM4NjM3OWM3NGNh
OWYzYTg4NTc4M2Y0OTZiMjY0NGUwNzk1NC4uYWVlYjc2NmY3ODVmMjU1M2I0NDYwN2U5NmU3YWU5
MTQwMjY3ZTM5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIyLTAxLTE4ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgTG91cGUgc29t
ZXRpbWVzIGZsaXBzIHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2Ugd2hlbiBkcmFnZ2luZyB0aGUg
ZW5kIG9mIGEgc2VsZWN0aW9uIHRvIHRoZSB0b3Agb2YgYSBwYWdlIHdpdGggc2VsZWN0aW9uIGZs
aXBwaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM1MjIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBUZXN0
OiBmYXN0L2V2ZW50cy90b3VjaC9pb3MvbG9uZy1wcmVzcy10aGVuLWRyYWctdXAtdG8tY2hhbmdl
LXNlbGVjdGVkLXRleHQtb3ZlcmZsb3cuaHRtbAorCisgICAgICAgIFdoZW4gc2VsZWN0aW5nIG9u
IGFuIEVQVUIgaW4gYm9va3MsIGlmIHlvdSBoYWQgYSBzZWxlY3Rpb24gbmVhciB0aGUgdG9wIG9m
IHRoZSBwYWdlLAorICAgICAgICBhbmQgeW91IGRyYWdnZWQgdGhlIGVuZCBvZiB0aGUgc2VsZWN0
aW9uIHBhc3QgdGhlIHN0YXJ0IGFuZCBpbnRvIHRoZSB1cHBlciBtYXJnaW4sIHNvbWV0aW1lcwor
ICAgICAgICB0aGlzIHdvdWxkIHJlc3VsdCBpbiB0aGUgc2VsZWN0aW9uIGVuZGluZyB1cCBvbiB0
aGUgcHJldmlvdXMgcGFnZSBvZiBjb250ZW50LCB3aGljaCB3b3VsZCByZXN1bHQKKyAgICAgICAg
aW4gdGhlIGxvdXBlIGJlaW5nIHB1c2hlZCB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIChiZWNh
dXNlIHRoZSBzZWxlY3Rpb24gd2FzIG9uIHRoZSBwcmV2aW91cyBwYWdlCisgICAgICAgIGF0IHRo
ZSBib3R0b20pLCB3aGljaCBpcyBpbmNvcnJlY3QuIFRoZSBtb3N0IHNvbGlkIHdheSB0byBrZWVw
IHRoaXMgZnJvbSBoYXBwZW5pbmcgaXMgdG8gY2xhbXAgdGhlIHNlbGVjdGlvbgorICAgICAgICB0
byB0aGUgdW5vYnNjdXJlZCBjb250ZW50IHJlY3QsIHdoaWNoIHdpbGwga2VlcCBzZWxlY3Rpb24g
ZnJvbSByZWFjaGluZyBiYWNrIHRvIHRoZSBwcmV2aW91cyBwYWdlLgorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGbG9hdFBv
aW50Ojpjb25zdHJhaW5lZFdpdGhpbiBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvRmxvYXRQb2ludC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkludFBvaW50Ojpjb25zdHJhaW5lZFdpdGhpbiBjb25zdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaDoKKwogMjAyMi0wMS0xMyAg
QWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZW1vdmUg
dGhlIGNvZGUgaW5zaWRlIFVTRShPUEVOR0wpICYmIEVOQUJMRShXRUJHTDIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4
IDgyYjkwOTM0YmIzNzg2NmI2ZjdhOWZhZjhmNzk3NTdiZTIyOWYzNDguLmNiOWIyMjM2YWIyZTNl
Y2U4MzUxYzc3MzFiMDc5ZTU5ZWExMjkwM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIw
MjItMDEtMTggIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBMb3VwZSBzb21ldGltZXMgZmxpcHMgdG8gdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSB3aGVu
IGRyYWdnaW5nIHRoZSBlbmQgb2YgYSBzZWxlY3Rpb24gdG8gdGhlIHRvcCBvZiBhIHBhZ2Ugd2l0
aCBzZWxlY3Rpb24gZmxpcHBpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzUyMjAKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgor
CisgICAgICAgIFdoZW4gc2VsZWN0aW5nIG9uIGFuIEVQVUIgaW4gYm9va3MsIGlmIHlvdSBoYWQg
YSBzZWxlY3Rpb24gbmVhciB0aGUgdG9wIG9mIHRoZSBwYWdlLAorICAgICAgICBhbmQgeW91IGRy
YWdnZWQgdGhlIGVuZCBvZiB0aGUgc2VsZWN0aW9uIHBhc3QgdGhlIHN0YXJ0IGFuZCBpbnRvIHRo
ZSB1cHBlciBtYXJnaW4sIHNvbWV0aW1lcworICAgICAgICB0aGlzIHdvdWxkIHJlc3VsdCBpbiB0
aGUgc2VsZWN0aW9uIGVuZGluZyB1cCBvbiB0aGUgcHJldmlvdXMgcGFnZSBvZiBjb250ZW50LCB3
aGljaCB3b3VsZCByZXN1bHQKKyAgICAgICAgaW4gdGhlIGxvdXBlIGJlaW5nIHB1c2hlZCB0byB0
aGUgYm90dG9tIG9mIHRoZSBwYWdlIChiZWNhdXNlIHRoZSBzZWxlY3Rpb24gd2FzIG9uIHRoZSBw
cmV2aW91cyBwYWdlCisgICAgICAgIGF0IHRoZSBib3R0b20pLCB3aGljaCBpcyBpbmNvcnJlY3Qu
IFRoZSBtb3N0IHNvbGlkIHdheSB0byBrZWVwIHRoaXMgZnJvbSBoYXBwZW5pbmcgaXMgdG8gY2xh
bXAgdGhlIHNlbGVjdGlvbgorICAgICAgICB0byB0aGUgdW5vYnNjdXJlZCBjb250ZW50IHJlY3Qs
IHdoaWNoIHdpbGwga2VlcCBzZWxlY3Rpb24gZnJvbSByZWFjaGluZyBiYWNrIHRvIHRoZSBwcmV2
aW91cyBwYWdlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9T
Lm1tOgorICAgICAgICAoV2ViS2l0OjpyYW5nZUZvclBvaW50SW5Sb290Vmlld0Nvb3JkaW5hdGVz
KToKKwogMjAyMi0wMS0xMyAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogSW1wbGVtZW50IGBmcmFtZVVSTGAgb3B0aW9uIGZvciBgZGV2
dG9vbHMuaW5zcGVjdGVkV2luZG93LmV2YWxgIGNvbW1hbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5jcHAKaW5kZXggZmJhYjcyYWQ3NDE2YWYzMTE3
MGY3ZjI4Y2FlOTg3M2JhNzk3MDE3ZS4uOTk0MDUwZWM1ZTAzZTc4NzI0OTJkMjBhMmJiMzZlMmE2
NDQ2MDFmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxv
YXRQb2ludC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQ
b2ludC5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5o
IgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgorI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgog
I2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIK
ICNpbmNsdWRlIDxsaW1pdHM+CkBAIC00OSw2ICs1MCwxMSBAQCBGbG9hdFBvaW50IEZsb2F0UG9p
bnQ6OmNvbnN0cmFpbmVkQmV0d2Vlbihjb25zdCBGbG9hdFBvaW50JiBtaW4sIGNvbnN0IEZsb2F0
UG9pbgogICAgIH07CiB9CiAKK0Zsb2F0UG9pbnQgRmxvYXRQb2ludDo6Y29uc3RyYWluZWRXaXRo
aW4oY29uc3QgRmxvYXRSZWN0JiByZWN0KSBjb25zdAoreworICAgIHJldHVybiBjb25zdHJhaW5l
ZEJldHdlZW4ocmVjdC5taW5YTWluWUNvcm5lcigpLCByZWN0Lm1heFhNYXhZQ29ybmVyKCkpOwor
fQorCiB2b2lkIEZsb2F0UG9pbnQ6Om5vcm1hbGl6ZSgpCiB7CiAgICAgZmxvYXQgdGVtcExlbmd0
aCA9IGxlbmd0aCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRmxvYXRQb2ludC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQ
b2ludC5oCmluZGV4IDI5NGFmOTcxNmRiYThlMjNiNWNjNGM0MWE0ZmJlY2E1ZWNjOWZjN2EuLmU0
ZGNkN2QxMWJiNDUxYTc1YzU0MWQwMjQzODFlNmNlOTRmMGI0MWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmgKQEAgLTUyLDYgKzUyLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWZmaW5lVHJhbnNmb3JtOwogY2xhc3MgVHJhbnNmb3Jt
YXRpb25NYXRyaXg7CiBjbGFzcyBJbnRTaXplOworY2xhc3MgRmxvYXRSZWN0OwogCiBjbGFzcyBG
bG9hdFBvaW50IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKQEAgLTE2MSw2ICsxNjIs
OCBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQgRmxvYXRQb2ludCBjb25z
dHJhaW5lZEJldHdlZW4oY29uc3QgRmxvYXRQb2ludCYgbWluLCBjb25zdCBGbG9hdFBvaW50JiBt
YXgpIGNvbnN0OworICAgIAorICAgIFdFQkNPUkVfRVhQT1JUIEZsb2F0UG9pbnQgY29uc3RyYWlu
ZWRXaXRoaW4oY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7CiAKICAgICBGbG9hdFBvaW50IHNocnVu
a1RvKGNvbnN0IEZsb2F0UG9pbnQmIG90aGVyKSBjb25zdAogICAgIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmNwcAppbmRleCAzNmI0MWMwNGQ4ZjU2N2U5
NzQ4YzkwMzVlNmE5ZjFlYWMzM2Q0N2JjLi5iODVjYzU1ZWE4YzBmOGZlMzA1ZmYyZWRlNDk4Nzdm
NTlkYzBjMmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bnRQb2ludC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9p
bnQuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKIAogI2luY2x1
ZGUgIkZsb2F0UG9pbnQuaCIKKyNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSA8d3RmL3Rl
eHQvVGV4dFN0cmVhbS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSw2ICs0NiwxMSBA
QCBJbnRQb2ludCBJbnRQb2ludDo6Y29uc3RyYWluZWRCZXR3ZWVuKGNvbnN0IEludFBvaW50JiBt
aW4sIGNvbnN0IEludFBvaW50JiBtYXgpCiAgICAgfTsKIH0KIAorSW50UG9pbnQgSW50UG9pbnQ6
OmNvbnN0cmFpbmVkV2l0aGluKGNvbnN0IEludFJlY3QmIHJlY3QpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGNvbnN0cmFpbmVkQmV0d2VlbihyZWN0Lm1pblhNaW5ZQ29ybmVyKCksIHJlY3QubWF4WE1h
eFlDb3JuZXIoKSk7Cit9CisKIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMs
IGNvbnN0IEludFBvaW50JiBwKQogewogICAgIHJldHVybiB0cyA8PCAiKCIgPDwgcC54KCkgPDwg
IiwiIDw8IHAueSgpIDw8ICIpIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ludFBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bnRQb2ludC5oCmluZGV4IDNhNzYxYzgyN2Y4MWI4MTdjZWMzYjRkZmE2ZDYyZTAwM2RiYjA1ODEu
LmRiOWRkN2U3NjY3ODhjNjY3Y2ZiYmNlMWY2Mjg5ZjlhNmVjOTk4NTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaApAQCAtNTQsNiArNTQsNyBAQCBjbGFz
cyBUZXh0U3RyZWFtOwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGbG9hdFBvaW50Owor
Y2xhc3MgSW50UmVjdDsKIAogY2xhc3MgSW50UG9pbnQgewogcHVibGljOgpAQCAtMTAyLDYgKzEw
Myw4IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCBJbnRQb2ludCBjb25z
dHJhaW5lZEJldHdlZW4oY29uc3QgSW50UG9pbnQmIG1pbiwgY29uc3QgSW50UG9pbnQmIG1heCkg
Y29uc3Q7CisgICAgCisgICAgV0VCQ09SRV9FWFBPUlQgSW50UG9pbnQgY29uc3RyYWluZWRXaXRo
aW4oY29uc3QgSW50UmVjdCYpIGNvbnN0OwogCiAgICAgaW50IGRpc3RhbmNlU3F1YXJlZFRvUG9p
bnQoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRleCBhZWE0ODRlOGM3ODkyNjkwOGQ5
Yzc4ZGQ1ZDUwY2Q3YjhlM2RjYzg4Li5mNWZjM2UxOGViMjcxMjI5MDZkZDA1NDc5MmZjYTk1YTEy
ZDUxNDlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3Mv
V2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3Mv
V2ViUGFnZUlPUy5tbQpAQCAtMTUwNCw3ICsxNTA0LDcgQEAgc3RhdGljIHN0ZDo6cGFpcjxzdGQ6
Om9wdGlvbmFsPFNpbXBsZVJhbmdlPiwgU2VsZWN0aW9uV2FzRmxpcHBlZD4gcmFuZ2VGb3JQb2lu
dEkKICAgICBWaXNpYmxlUG9zaXRpb24gc2VsZWN0aW9uU3RhcnQgPSBleGlzdGluZ1NlbGVjdGlv
bi52aXNpYmxlU3RhcnQoKTsKICAgICBWaXNpYmxlUG9zaXRpb24gc2VsZWN0aW9uRW5kID0gZXhp
c3RpbmdTZWxlY3Rpb24udmlzaWJsZUVuZCgpOwogCi0gICAgYXV0byBwb2ludEluRG9jdW1lbnQg
PSBmcmFtZS52aWV3KCktPnJvb3RWaWV3VG9Db250ZW50cyhwb2ludEluUm9vdFZpZXdDb29yZGlu
YXRlcyk7CisgICAgYXV0byBwb2ludEluRG9jdW1lbnQgPSBmcmFtZS52aWV3KCktPnJvb3RWaWV3
VG9Db250ZW50cyhwb2ludEluUm9vdFZpZXdDb29yZGluYXRlcy5jb25zdHJhaW5lZFdpdGhpbihm
cmFtZS5tYWluRnJhbWUoKS52aWV3KCktPnVub2JzY3VyZWRDb250ZW50UmVjdCgpKSk7CiAKICAg
ICBpZiAoIXNlbGVjdGlvbkZsaXBwaW5nRW5hYmxlZCkgewogICAgICAgICBhdXRvIG5vZGUgPSBz
ZWxlY3Rpb25TdGFydC5kZWVwRXF1aXZhbGVudCgpLmNvbnRhaW5lck5vZGUoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAz
NWU1NDdiMjE0ZGRiMTllNzhkMjYxZTkyZjk2ZTU0ZjQwODJjMjVmLi5mMjNjNmRmMjFkNjE2NGNh
Y2E3NjI1M2ZhNTFhOWU3ZTY2M2VlZmQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjItMDEt
MTggIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBM
b3VwZSBzb21ldGltZXMgZmxpcHMgdG8gdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSB3aGVuIGRyYWdn
aW5nIHRoZSBlbmQgb2YgYSBzZWxlY3Rpb24gdG8gdGhlIHRvcCBvZiBhIHBhZ2Ugd2l0aCBzZWxl
Y3Rpb24gZmxpcHBpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzUyMjAKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAg
ICAgICogZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJlc3MtdGhlbi1kcmFnLXVwLXRvLWNo
YW5nZS1zZWxlY3RlZC10ZXh0LW92ZXJmbG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJlc3MtdGhlbi1kcmFnLXVwLXRvLWNoYW5n
ZS1zZWxlY3RlZC10ZXh0LW92ZXJmbG93Lmh0bWw6IEFkZGVkLgorCiAyMDIyLTAxLTEzICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZmVyZW5jZWQgU1ZH
IGZpbHRlciB1c2VzIGFsd2F5cyBzUkdCIGNvbG9yIHNwYWNlIGZvciBpdHMgcmVzdWx0CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvbG9uZy1wcmVzcy10aGVu
LWRyYWctdXAtdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQtb3ZlcmZsb3ctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJlc3MtdGhlbi1kcmFnLXVw
LXRvLWNoYW5nZS1zZWxlY3RlZC10ZXh0LW92ZXJmbG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lNzYxN2ZkNGE0YjYzZDQwNjM5MGUxOTAyMDBlYzAyNWIzYTE0YjlkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJlc3MtdGhlbi1k
cmFnLXVwLXRvLWNoYW5nZS1zZWxlY3RlZC10ZXh0LW92ZXJmbG93LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDIgQEAKK1BBU1M6IEhhcyBTZWxlY3Rpb24KK1BBU1M6IFNlbGVjdGlvbiBwcm9wZXJs
eSBib3VuZGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3Mv
bG9uZy1wcmVzcy10aGVuLWRyYWctdXAtdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQtb3ZlcmZsb3cu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9sb25nLXByZXNzLXRoZW4t
ZHJhZy11cC10by1jaGFuZ2Utc2VsZWN0ZWQtdGV4dC1vdmVyZmxvdy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjA2YjQzYjA5MGY0ZDBlMTgwNTU5MjA5ZWQyY2VlYWQ0YjBhYmMxYzAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvbG9uZy1wcmVzcy10aGVuLWRy
YWctdXAtdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQtb3ZlcmZsb3cuaHRtbApAQCAtMCwwICsxLDg1
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uLy4uL3Jlc291cmNlcy9iYXNpYy1nZXN0dXJlcy5qcyI+PC9zY3JpcHQ+CisgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHJlY3RUb1N0cmluZyhy
ZWN0KQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gYChsZWZ0ID0gJHtNYXRoLnJvdW5k
KHJlY3QubGVmdCl9LCB0b3AgPSAke01hdGgucm91bmQocmVjdC50b3ApfSwgd2lkdGggPSAke01h
dGgucm91bmQocmVjdC53aWR0aCl9LCBoZWlnaHQgPSAke01hdGgucm91bmQocmVjdC5oZWlnaHQp
fSlgOworICAgICAgICB9CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIHZhciBmb250SGVpZ2h0ID0gMzA7CisKKyAgICAgICAgICAgIGlm
ICghdGVzdFJ1bm5lci5ydW5VSVNjcmlwdCkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgICAgIHdpbmRvdy5zY3JvbGxCeSgwLCB3aW5kb3cuaW5uZXJIZWlnaHQpOworCisgICAg
ICAgICAgICB2YXIgb3V0cHV0ID0gJyc7CisgICAgICAgICAgICB2YXIgdGFyZ2V0UmVjdCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsK
KworICAgICAgICAgICAgdmFyIHByZXNzUG9pbnRYID0gd2luZG93LnNjcmVlbi53aWR0aCAvIDI7
CisgICAgICAgICAgICB2YXIgcHJlc3NQb2ludFkgPSBmb250SGVpZ2h0ICsgd2luZG93LmlubmVy
SGVpZ2h0OworICAgICAgICAgICAgCisgICAgICAgICAgICB2YXIgc2VsZWN0aW9uQ2hhbmdlZENv
dW50ID0gMDsKKyAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlv
bmNoYW5nZSIsICgpID0+IHsKKyAgICAgICAgICAgICAgICBzZWxlY3Rpb25DaGFuZ2VkQ291bnQr
KzsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBhd2FpdCBsb25nUHJlc3NBdFBvaW50
KHByZXNzUG9pbnRYLCBwcmVzc1BvaW50WSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LndhaXRGb3JTZWxlY3Rpb25Ub0FwcGVhcigpOworCisgICAgICAgICAgICBpZiAoZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSAhPSAiIikKKyAgICAgICAgICAgICAgICBvdXRwdXQg
Kz0gJ1BBU1M6IEhhcyBTZWxlY3Rpb24nOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgIG91dHB1dCArPSAnRkFJTDogZmFpbGVkIHRvIHNlbGVjdCBhIHdvcmQgYXMgYSByZXN1bHQg
b2YgYSBsb25nIHByZXNzLic7CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxicj4nOworCisgICAg
ICAgICAgICBsYXN0U2VsZWN0aW9uQ2hhbmdlQ291bnQgPSBzZWxlY3Rpb25DaGFuZ2VkQ291bnQ7
CisgICAgICAgICAgICB2YXIgZ3JhYmJlck1pZHBvaW50ID0gVUlIZWxwZXIubWlkUG9pbnRPZlJl
Y3QoYXdhaXQgVUlIZWxwZXIuZ2V0U2VsZWN0aW9uRW5kR3JhYmJlclZpZXdSZWN0KCkpOworICAg
ICAgICAgICAgYXdhaXQgdG91Y2hBbmREcmFnRnJvbVBvaW50VG9Qb2ludChncmFiYmVyTWlkcG9p
bnQueCwgZ3JhYmJlck1pZHBvaW50LnkgLCBncmFiYmVyTWlkcG9pbnQueCwgZ3JhYmJlck1pZHBv
aW50LnkgLSAoZm9udEhlaWdodCAqIDIpKTsKKworICAgICAgICAgICAgaWYgKChhd2FpdCBVSUhl
bHBlci5nZXRVSVNlbGVjdGlvblJlY3RzKCkpLmxlbmd0aCA+IDIpCisgICAgICAgICAgICAgICAg
b3V0cHV0ICs9ICdGQUlMOiBTZWxlY3RlZCBvdXRzaWRlIG9mIHZpc2libGUgYXJlYS4nOworICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG91dHB1dCArPSAnUEFTUzogU2VsZWN0aW9u
IHByb3Blcmx5IGJvdW5kZWQnOworCisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndGFyZ2V0JykuaW5uZXJIVE1MID0gb3V0cHV0OworICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CisgICAgICAgIH0KKworICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cignbG9hZCcsIHJ1blRlc3QsIGZhbHNlKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8c3R5bGU+Cisg
ICAgICAgICN0YXJnZXQgeworICAgICAgICAgICAgaGVpZ2h0OiA1MHB4OworICAgICAgICAgICAg
d2lkdGg6IDMwMHB4OworICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2lsdmVyOworICAg
ICAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKKyAgICAgICAgICAgIGZvbnQtc2l6ZTog
MThweDsKKyAgICAgICAgfQorICAgICAgICBib2R5IHsKKyAgICAgICAgICAgIG92ZXJmbG93OiBo
aWRkZW47CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8L2hlYWQ+
Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJ0YXJnZXQiPgorICAgICAgICA8cD5IZXJlJ3MgdG8gdGhl
IGNyYXp5IG9uZXMuIFRoZSBtaXNmaXRzLiBUaGUgcmViZWxzLiBUaGUgdHJvdWJsZW1ha2Vycy4g
VGhlIHJvdW5kIHBlZ3MgaW4gdGhlIHNxdWFyZSBob2xlcy4gVGhlIG9uZXMgd2hvIHNlZSB0aGlu
Z3MgZGlmZmVyZW50bHkuIFRoZXkncmUgbm90IGZvbmQgb2YgcnVsZXMuIEFuZCB0aGV5IGhhdmUg
bm8gcmVzcGVjdCBmb3IgdGhlIHN0YXR1cyBxdW8uIFlvdSBjYW4gcXVvdGUgdGhlbSwgZGlzYWdy
ZWUgd2l0aCB0aGVtLCBnbG9yaWZ5IG9yIHZpbGlmeSB0aGVtLiBBYm91dCB0aGUgb25seSB0aGlu
ZyB5b3UgY2FuJ3QgZG8gaXMgaWdub3JlIHRoZW0uIEJlY2F1c2UgdGhleSBjaGFuZ2UgdGhpbmdz
LiBUaGV5IHB1c2ggdGhlIGh1bWFuIHJhY2UgZm9yd2FyZC4gQW5kIHdoaWxlIHNvbWUgbWF5IHNl
ZSB0aGVtIGFzIHRoZSBjcmF6eSBvbmVzLCB3ZSBzZWUgZ2VuaXVzLiBCZWNhdXNlIHRoZSBwZW9w
bGUgd2hvIGFyZSBjcmF6eSBlbm91Z2ggdG8gdGhpbmsgdGhleSBjYW4gY2hhbmdlIHRoZSB3b3Js
ZCwgYXJlIHRoZSBvbmVzIHdobyBkby48L3A+CisgICAgICAgIDxwPkhlcmUncyB0byB0aGUgY3Jh
enkgb25lcy4gVGhlIG1pc2ZpdHMuIFRoZSByZWJlbHMuIFRoZSB0cm91YmxlbWFrZXJzLiBUaGUg
cm91bmQgcGVncyBpbiB0aGUgc3F1YXJlIGhvbGVzLiBUaGUgb25lcyB3aG8gc2VlIHRoaW5ncyBk
aWZmZXJlbnRseS4gVGhleSdyZSBub3QgZm9uZCBvZiBydWxlcy4gQW5kIHRoZXkgaGF2ZSBubyBy
ZXNwZWN0IGZvciB0aGUgc3RhdHVzIHF1by4gWW91IGNhbiBxdW90ZSB0aGVtLCBkaXNhZ3JlZSB3
aXRoIHRoZW0sIGdsb3JpZnkgb3IgdmlsaWZ5IHRoZW0uIEFib3V0IHRoZSBvbmx5IHRoaW5nIHlv
dSBjYW4ndCBkbyBpcyBpZ25vcmUgdGhlbS4gQmVjYXVzZSB0aGV5IGNoYW5nZSB0aGluZ3MuIFRo
ZXkgcHVzaCB0aGUgaHVtYW4gcmFjZSBmb3J3YXJkLiBBbmQgd2hpbGUgc29tZSBtYXkgc2VlIHRo
ZW0gYXMgdGhlIGNyYXp5IG9uZXMsIHdlIHNlZSBnZW5pdXMuIEJlY2F1c2UgdGhlIHBlb3BsZSB3
aG8gYXJlIGNyYXp5IGVub3VnaCB0byB0aGluayB0aGV5IGNhbiBjaGFuZ2UgdGhlIHdvcmxkLCBh
cmUgdGhlIG9uZXMgd2hvIGRvLjwvcD4KKyAgICAgICAgPHA+SGVyZSdzIHRvIHRoZSBjcmF6eSBv
bmVzLiBUaGUgbWlzZml0cy4gVGhlIHJlYmVscy4gVGhlIHRyb3VibGVtYWtlcnMuIFRoZSByb3Vu
ZCBwZWdzIGluIHRoZSBzcXVhcmUgaG9sZXMuIFRoZSBvbmVzIHdobyBzZWUgdGhpbmdzIGRpZmZl
cmVudGx5LiBUaGV5J3JlIG5vdCBmb25kIG9mIHJ1bGVzLiBBbmQgdGhleSBoYXZlIG5vIHJlc3Bl
Y3QgZm9yIHRoZSBzdGF0dXMgcXVvLiBZb3UgY2FuIHF1b3RlIHRoZW0sIGRpc2FncmVlIHdpdGgg
dGhlbSwgZ2xvcmlmeSBvciB2aWxpZnkgdGhlbS4gQWJvdXQgdGhlIG9ubHkgdGhpbmcgeW91IGNh
bid0IGRvIGlzIGlnbm9yZSB0aGVtLiBCZWNhdXNlIHRoZXkgY2hhbmdlIHRoaW5ncy4gVGhleSBw
dXNoIHRoZSBodW1hbiByYWNlIGZvcndhcmQuIEFuZCB3aGlsZSBzb21lIG1heSBzZWUgdGhlbSBh
cyB0aGUgY3Jhenkgb25lcywgd2Ugc2VlIGdlbml1cy4gQmVjYXVzZSB0aGUgcGVvcGxlIHdobyBh
cmUgY3JhenkgZW5vdWdoIHRvIHRoaW5rIHRoZXkgY2FuIGNoYW5nZSB0aGUgd29ybGQsIGFyZSB0
aGUgb25lcyB3aG8gZG8uPC9wPgorICAgICAgICA8cD5UaGlzIHRlc3QgcmVxdWlyZXMgVUlTY3Jp
cHRDb250cm9sbGVyIHRvIHJ1bi48L3A+CisgICAgPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>