<?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>240109</bug_id>
          
          <creation_ts>2022-05-04 22:30:12 -0700</creation_ts>
          <short_desc>Implement :modal CSS pseudo-class</short_desc>
          <delta_ts>2022-05-09 15:34:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://github.com/web-platform-tests/wpt/pull/33999</see_also>
          <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>
          
          <blocked>84635</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Nguyen (:ntim)">ntim</reporter>
          <assigned_to name="Tim Nguyen (:ntim)">ntim</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>clopez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1866746</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-05-04 22:30:12 -0700</bug_when>
    <thetext>It&apos;s just a matter of exposing the internal :-internal-modal-dialog pseudo-class to the wild.

https://github.com/w3c/csswg-drafts/issues/6965#issuecomment-1118033655</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866747</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-05-04 22:31:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/92775435&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1867704</commentid>
    <comment_count>2</comment_count>
      <attachid>459060</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-05-09 11:33:04 -0700</bug_when>
    <thetext>Created attachment 459060
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1867706</commentid>
    <comment_count>3</comment_count>
      <attachid>459061</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-05-09 11:34:59 -0700</bug_when>
    <thetext>Created attachment 459061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1867707</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2022-05-09 11:35:38 -0700</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1867708</commentid>
    <comment_count>5</comment_count>
      <attachid>459062</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-05-09 11:37:35 -0700</bug_when>
    <thetext>Created attachment 459062
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1867709</commentid>
    <comment_count>6</comment_count>
      <attachid>459063</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-05-09 11:40:07 -0700</bug_when>
    <thetext>Created attachment 459063
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1867718</commentid>
    <comment_count>7</comment_count>
      <attachid>459063</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-05-09 12:00:08 -0700</bug_when>
    <thetext>Comment on attachment 459063
Patch

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

&gt; Source/WebCore/html/HTMLDialogElement.cpp:169
&gt; +    Style::PseudoClassChangeInvalidation styleInvalidation(*this, CSSSelector::PseudoClassModal, newValue);
&gt; +    m_isModal = newValue;

Should this check if it has changed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1867720</commentid>
    <comment_count>8</comment_count>
      <attachid>459065</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-05-09 12:09:21 -0700</bug_when>
    <thetext>Created attachment 459065
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1867763</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-05-09 13:38:28 -0700</bug_when>
    <thetext>Committed r293987 (250424@main): &lt;https://commits.webkit.org/250424@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 459065.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459060</attachid>
            <date>2022-05-09 11:33:04 -0700</date>
            <delta_ts>2022-05-09 11:34:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240109-20220509203303.patch</filename>
            <type>text/plain</type>
            <size>19823</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzOTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhkN2M5MjE3MDIzMjVi
MGU2NTRhODNhNGQyNWNlOGI1MDQ4ZWEwOS4uMjNjMDJjN2E4ODM3ODExMjE1ZWM3N2NjYzJlY2I5
ZGYyNjUyNjZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIyLTA1LTA5ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENTUyA6bW9kYWwg
cHNldWRvIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yNDAxMDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0OiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMv
aW52YWxpZGF0aW9uL21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMuaHRtbAorCisgICAgICAgIFJl
bmFtZXMgOi1pbnRlcm5hbC1tb2RhbC1kaWFsb2cgdG8gOm1vZGFsLgorCisgICAgICAgICogY3Nz
L0NTU1NlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1NlbGVjdG9yOjpzZWxlY3Rv
clRleHQgY29uc3QpOgorICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5oOgorICAgICAgICAqIGNz
cy9TZWxlY3RvckNoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2Vy
OjpjaGVja09uZSBjb25zdCk6CisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5j
dGlvbnMuaDoKKyAgICAgICAgKFdlYkNvcmU6Om1hdGNoZXNNb2RhbFBzZXVkb0NsYXNzKToKKyAg
ICAgICAgKFdlYkNvcmU6Om1hdGNoZXNNb2RhbERpYWxvZ1BzZXVkb0NsYXNzKTogRGVsZXRlZC4K
KyAgICAgICAgKiBjc3MvU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50
TWFwLmluOgorICAgICAgICAqIGNzcy9kaWFsb2cuY3NzOgorICAgICAgICAoZGlhbG9nOm1vZGFs
KToKKyAgICAgICAgKGRpYWxvZzotaW50ZXJuYWwtbW9kYWwtZGlhbG9nKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBjc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lUHNldWRvKToKKyAgICAgICAgKiBjc3NqaXQv
U2VsZWN0b3JDb21waWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVy
OjpKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04pOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JD
b21waWxlcjo6YWRkUHNldWRvQ2xhc3NUeXBlKToKKyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpzaG93TW9k
YWwpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OmNsb3NlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpzZXRJc01vZGFsKToKKyAgICAgICAg
KiBodG1sL0hUTUxEaWFsb2dFbGVtZW50Lmg6CisKIDIwMjItMDUtMDkgIFppcmFuIFN1biAgPHpz
dW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBNYWtlIGlucHV0IHBsYWNlaG9sZGVyIGxpbmUtaGVp
Z2h0IGRlY2xhcmF0aW9uICFpbXBvcnRhbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmlu
ZGV4IDU4N2ExYzY4NjRiZTI0MDY4ZGFmZTU4NjdkYWNlZGQwNGQ1YmIwNjkuLjg0NGE2YTIwYTQw
ZTEwMjg4NzkzZTAyYzA5ZWYyMTM5NDhmYWU0ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9y
LmNwcApAQCAtNTkxLDggKzU5MSw4IEBAIFN0cmluZyBDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0
KGNvbnN0IFN0cmluZyYgcmlnaHRTaWRlKSBjb25zdAogICAgICAgICAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6UHNldWRvQ2xhc3NMaW5rOgogICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCI6
bGluayIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6UHNldWRvQ2xhc3NNb2RhbERpYWxvZzoKLSAgICAgICAgICAgICAgICBidWlsZGVyLmFw
cGVuZCgiOi1pbnRlcm5hbC1tb2RhbC1kaWFsb2ciKTsKKyAgICAgICAgICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0NsYXNzTW9kYWw6CisgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQo
Ijptb2RhbCIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6UHNldWRvQ2xhc3NOb0J1dHRvbjoKICAgICAgICAgICAgICAgICBidWlsZGVyLmFw
cGVuZCgiOm5vLWJ1dHRvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAppbmRleCA5NzM3NDZm
YzE4OWRhNTQ2NjgzYzFjMjZjZmNkZjAxNTg4MWMyNjQ2Li5iMTk1MGViMzY0NWIzMmM1YWI0OTMz
NjRkNDI1ZmRkYTI5ZTA1ZGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2Vs
ZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAtMTg1LDcg
KzE4NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVN
RU5UKQogICAgICAgICAgICAgUHNldWRvQ2xhc3NIYXNBdHRhY2htZW50LAogI2VuZGlmCi0gICAg
ICAgICAgICBQc2V1ZG9DbGFzc01vZGFsRGlhbG9nLAorICAgICAgICAgICAgUHNldWRvQ2xhc3NN
b2RhbCwKICAgICAgICAgfTsKIAogICAgICAgICBlbnVtIFBzZXVkb0VsZW1lbnRUeXBlIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKaW5kZXggYjQ1NzNiY2I3ZGE4MzdkMWRm
Njg5YjM3NDYzZTA2M2ZlNTMwNDVhMC4uZjcyNzIwMjUxZjZkNjEwMjNlMTg3NmE5NWI1OGRiOTVh
ODhjMDUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKQEAgLTExMzIs
OCArMTEzMiw4IEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZShDaGVja2luZ0NvbnRl
eHQmIGNoZWNraW5nQ29udGV4dCwgY29uc3QgTG9jYWxDb250CiAgICAgICAgICAgICByZXR1cm4g
aGFzQXR0YWNobWVudChlbGVtZW50KTsKICNlbmRpZgogCi0gICAgICAgIGNhc2UgQ1NTU2VsZWN0
b3I6OlBzZXVkb0NsYXNzTW9kYWxEaWFsb2c6Ci0gICAgICAgICAgICByZXR1cm4gbWF0Y2hlc01v
ZGFsRGlhbG9nUHNldWRvQ2xhc3MoZWxlbWVudCk7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OlBzZXVkb0NsYXNzTW9kYWw6CisgICAgICAgICAgICByZXR1cm4gbWF0Y2hlc01vZGFsUHNldWRv
Q2xhc3MoZWxlbWVudCk7CiAKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NV
bmtub3duOgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyVGVzdEZ1bmN0aW9ucy5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaAppbmRleCBmM2FiYTli
MjQ2NTQwZGIzNWM3YzZmMDVkNzFmOWVhMGMxY2NmNjBmLi5kN2EwYWRiYWI2ZThlNTM3MzU5MDJl
NTJjNmM0ZTY4MDk5MmM1YmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0
b3JDaGVja2VyVGVzdEZ1bmN0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3Rv
ckNoZWNrZXJUZXN0RnVuY3Rpb25zLmgKQEAgLTUzMSw3ICs1MzEsNyBAQCBBTFdBWVNfSU5MSU5F
IGJvb2wgbWF0Y2hlc0ZvY3VzV2l0aGluUHNldWRvQ2xhc3MoY29uc3QgRWxlbWVudCYgZWxlbWVu
dCkKICAgICByZXR1cm4gZWxlbWVudC5oYXNGb2N1c1dpdGhpbigpICYmIGlzRnJhbWVGb2N1c2Vk
KGVsZW1lbnQpOwogfQogCi1BTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hlc01vZGFsRGlhbG9nUHNl
dWRvQ2xhc3MoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKK0FMV0FZU19JTkxJTkUgYm9vbCBtYXRj
aGVzTW9kYWxQc2V1ZG9DbGFzcyhjb25zdCBFbGVtZW50JiBlbGVtZW50KQogewogICAgIGlmIChp
czxIVE1MRGlhbG9nRWxlbWVudD4oZWxlbWVudCkpCiAgICAgICAgIHJldHVybiBkb3duY2FzdDxI
VE1MRGlhbG9nRWxlbWVudD4oZWxlbWVudCkuaXNNb2RhbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNldWRvQ2xhc3NBbmRDb21wYXRpYmlsaXR5RWxlbWVudE1h
cC5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVkb0NsYXNzQW5kQ29tcGF0aWJp
bGl0eUVsZW1lbnRNYXAuaW4KaW5kZXggMWJiYjRkMTgzZDhjZmI3Nzc2Yzk4MjEwZjE5ZmJlY2Rj
MDY5OTMyMC4uNWFlN2ZlMWI1NzJiMzZmYzE1MzQ4ODIwNjUyMzNkZDNiNGEyYjQ1OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNldWRvQ2xhc3NBbmRDb21wYXRpYmls
aXR5RWxlbWVudE1hcC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JQc2V1ZG9D
bGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmluCkBAIC0xLDQgKzEsMyBAQAotLWludGVy
bmFsLW1vZGFsLWRpYWxvZwogLWtodG1sLWRyYWcKIC13ZWJraXQtYW55CiAtd2Via2l0LWFueS1s
aW5rLCBQc2V1ZG9DbGFzc0FueUxpbmtEZXByZWNhdGVkLCBQc2V1ZG9FbGVtZW50VW5rbm93bgpA
QCAtNTAsNiArNDksNyBAQCBsYXN0LWNoaWxkCiBsYXN0LW9mLXR5cGUKIGxpbmsKIG1hdGNoZXMK
K21vZGFsCiBuby1idXR0b24KIG5vdAogbnRoLWNoaWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvZGlhbG9nLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9kaWFsb2cuY3NzCmluZGV4
IGI3ZGQ4NjY0MjI4MjJmMTAyZjBmNGI5YjQ0ZmU3MDZhZGUzYzNlZjEuLmU2MGI0Y2UyYTJlZjM2
MzUzZGE5OGE0YTI3OTlkNGFmYzdkZjVlMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9kaWFsb2cuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9kaWFsb2cuY3NzCkBAIC0xNiw3
ICsxNiw3IEBAIGRpYWxvZ1tvcGVuXSB7CiAgICAgZGlzcGxheTogYmxvY2s7CiB9CiAKLWRpYWxv
ZzotaW50ZXJuYWwtbW9kYWwtZGlhbG9nIHsKK2RpYWxvZzptb2RhbCB7CiAgICAgcG9zaXRpb246
IGZpeGVkOwogICAgIG92ZXJmbG93OiBhdXRvOwogICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcAppbmRl
eCA4MzhiZjEzZTM0YWI2M2M3OWQ4YWJmMTA3YjFiZDIyZmMzNzM0ZDI2Li40MGVhZjg3MDJkNTgw
MzgzYTc5MjQ2Y2ZkYWM4OTBhODE5NzRjZjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcApAQCAtNjQ0LDggKzY0NCw2IEBAIHN0ZDo6dW5p
cXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gQ1NTU2VsZWN0b3JQYXJzZXI6OmNvbnN1bWVQc2V1
ZG8oQ1NTUGFyc2VyVG9rCiAgICAgICAgIGlmICghc2VsZWN0b3IpCiAgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKICAgICAgICAgaWYgKHNlbGVjdG9yLT5tYXRjaCgpID09IENTU1NlbGVjdG9y
OjpQc2V1ZG9DbGFzcykgewotICAgICAgICAgICAgaWYgKG1fY29udGV4dC5tb2RlICE9IFVBU2hl
ZXRNb2RlICYmIHNlbGVjdG9yLT5wc2V1ZG9DbGFzc1R5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNl
dWRvQ2xhc3NNb2RhbERpYWxvZykKLSAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAg
ICAgICAgICAgIGlmICghbV9jb250ZXh0LmZvY3VzVmlzaWJsZUVuYWJsZWQgJiYgc2VsZWN0b3It
PnBzZXVkb0NsYXNzVHlwZSgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0ZvY3VzVmlzaWJs
ZSkKICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgICAgIGlmICghbV9j
b250ZXh0Lmhhc1BzZXVkb0NsYXNzRW5hYmxlZCAmJiBzZWxlY3Rvci0+cHNldWRvQ2xhc3NUeXBl
KCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzSGFzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nzaml0
L1NlbGVjdG9yQ29tcGlsZXIuY3BwCmluZGV4IDdlYzM4YzZjN2I2N2JmOWUxNTg3NjNkZGU0NDZi
ZjA0NmM4YzNmNDUuLmZiZDVhNDlmNjMxYjk5MGE4YzYyY2EzZmVjYmQ0MTA4NzNiY2IyMTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAKQEAgLTEyNSw3ICsx
MjUsNyBAQCBzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1dURl9JTlRF
Uk5BTChvcGVyYXRpb25NYXRjaGVzVm9sdW1lTG9jawogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VM
RU1FTlQpCiBzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1dURl9JTlRF
Uk5BTChvcGVyYXRpb25IYXNBdHRhY2htZW50LCBib29sLCAoY29uc3QgRWxlbWVudCYpKTsKICNl
bmRpZgotc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9XVEZfSU5URVJO
QUwob3BlcmF0aW9uTWF0Y2hlc01vZGFsRGlhbG9nUHNldWRvQ2xhc3MsIGJvb2wsIChjb25zdCBF
bGVtZW50JikpOworc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9XVEZf
SU5URVJOQUwob3BlcmF0aW9uTWF0Y2hlc01vZGFsUHNldWRvQ2xhc3MsIGJvb2wsIChjb25zdCBF
bGVtZW50JikpOwogCiBzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1dU
Rl9JTlRFUk5BTChvcGVyYXRpb25BdHRyaWJ1dGVWYWx1ZUJlZ2luc1dpdGhDYXNlU2Vuc2l0aXZl
LCBib29sLCAoY29uc3QgQXR0cmlidXRlKiBhdHRyaWJ1dGUsIEF0b21TdHJpbmdJbXBsKiBleHBl
Y3RlZFN0cmluZykpOwogc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9X
VEZfSU5URVJOQUwob3BlcmF0aW9uQXR0cmlidXRlVmFsdWVCZWdpbnNXaXRoQ2FzZUluc2Vuc2l0
aXZlLCBib29sLCAoY29uc3QgQXR0cmlidXRlKiBhdHRyaWJ1dGUsIEF0b21TdHJpbmdJbXBsKiBl
eHBlY3RlZFN0cmluZykpOwpAQCAtODA0LDkgKzgwNCw5IEBAIEpTQ19ERUZJTkVfSklUX09QRVJB
VElPTihvcGVyYXRpb25NYXRjaGVzTGFuZ1BzZXVkb0NsYXNzLCBib29sLCAoY29uc3QgRWxlbWVu
dCYKICAgICByZXR1cm4gbWF0Y2hlc0xhbmdQc2V1ZG9DbGFzcyhlbGVtZW50LCBhcmd1bWVudExp
c3QpOwogfQogCi1KU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTWF0Y2hlc01vZGFs
RGlhbG9nUHNldWRvQ2xhc3MsIGJvb2wsIChjb25zdCBFbGVtZW50JiBlbGVtZW50KSkKK0pTQ19E
RUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25NYXRjaGVzTW9kYWxQc2V1ZG9DbGFzcywgYm9v
bCwgKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpKQogewotICAgIHJldHVybiBtYXRjaGVzTW9kYWxE
aWFsb2dQc2V1ZG9DbGFzcyhlbGVtZW50KTsKKyAgICByZXR1cm4gbWF0Y2hlc01vZGFsUHNldWRv
Q2xhc3MoZWxlbWVudCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgRnVuY3Rpb25UeXBlIGFkZFBzZXVk
b0NsYXNzVHlwZShjb25zdCBDU1NTZWxlY3RvciYgc2VsZWN0b3IsIFNlbGVjdG9yRnJhZ21lbnQm
IGZyYWdtZW50LCBTZWxlY3RvckNvbnRleHQgc2VsZWN0b3JDb250ZXh0LCBGcmFnbWVudHNMZXZl
bCBmcmFnbWVudExldmVsLCBGcmFnbWVudFBvc2l0aW9uSW5Sb290RnJhZ21lbnRzIHBvc2l0aW9u
SW5Sb290RnJhZ21lbnRzLCBib29sIHZpc2l0ZWRNYXRjaEVuYWJsZWQsIFZpc2l0ZWRNb2RlJiB2
aXNpdGVkTW9kZSwgUHNldWRvRWxlbWVudE1hdGNoaW5nQmVoYXZpb3IgcHNldWRvRWxlbWVudE1h
dGNoaW5nQmVoYXZpb3IpCkBAIC05NDUsOCArOTQ1LDggQEAgc3RhdGljIGlubGluZSBGdW5jdGlv
blR5cGUgYWRkUHNldWRvQ2xhc3NUeXBlKGNvbnN0IENTU1NlbGVjdG9yJiBzZWxlY3RvciwgU2Vs
ZWMKICAgICAgICAgcmV0dXJuIEZ1bmN0aW9uVHlwZTo6U2ltcGxlU2VsZWN0b3JDaGVja2VyOwog
I2VuZGlmCiAKLSAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc01vZGFsRGlhbG9nOgot
ICAgICAgICBmcmFnbWVudC51bm9wdGltaXplZFBzZXVkb0NsYXNzZXMuYXBwZW5kKEpTQzo6RnVu
Y3Rpb25QdHI8SlNDOjpPcGVyYXRpb25QdHJUYWc+KG9wZXJhdGlvbk1hdGNoZXNNb2RhbERpYWxv
Z1BzZXVkb0NsYXNzKSk7CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NNb2RhbDoK
KyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1
bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVyYXRpb25NYXRjaGVzTW9kYWxQc2V1
ZG9DbGFzcykpOwogICAgICAgICByZXR1cm4gRnVuY3Rpb25UeXBlOjpTaW1wbGVTZWxlY3RvckNo
ZWNrZXI7CiAKICAgICAvLyBUaGVzZSBwc2V1ZG8tY2xhc3NlcyBvbmx5IGhhdmUgbWVhbmluZyB3
aXRoIHNjcm9sbGJhcnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFs
b2dFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3Bw
CmluZGV4IGM0ZWU3NTg3YTFiMjA0ZmFhZjViMTEzZDczMmI2OTdkNTQ5ZDNiM2UuLjg5ZTBjMDU4
OWNjNDNlMTJlMWZhMDBhNzRkMDMwM2MwYmE1YWRjZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTERpYWxvZ0VsZW1lbnQuY3BwCkBAIC0yNiwxMSArMjYsMTMgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJIVE1MRGlhbG9nRWxlbWVudC5oIgogCisjaW5jbHVkZSAiQ1NTU2Vs
ZWN0b3IuaCIKICNpbmNsdWRlICJEb2N1bWVudElubGluZXMuaCIKICNpbmNsdWRlICJFdmVudExv
b3AuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRm9jdXNPcHRpb25zLmgi
CiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiUHNldWRvQ2xhc3NDaGFuZ2VJbnZh
bGlkYXRpb24uaCIKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU2NvcGVk
RXZlbnRRdWV1ZS5oIgogI2luY2x1ZGUgIlR5cGVkRWxlbWVudERlc2NlbmRhbnRJdGVyYXRvci5o
IgpAQCAtNzUsNyArNzcsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBIVE1MRGlhbG9nRWxlbWVudDo6
c2hvd01vZGFsKCkKICAgICBFdmVudFF1ZXVlU2NvcGUgc2NvcGU7CiAgICAgc2V0Qm9vbGVhbkF0
dHJpYnV0ZShvcGVuQXR0ciwgdHJ1ZSk7CiAKLSAgICBtX2lzTW9kYWwgPSB0cnVlOworICAgIHNl
dElzTW9kYWwodHJ1ZSk7CiAKICAgICBpZiAoIWlzSW5Ub3BMYXllcigpKQogICAgICAgICBhZGRU
b1RvcExheWVyKCk7CkBAIC05NCw3ICs5Niw3IEBAIHZvaWQgSFRNTERpYWxvZ0VsZW1lbnQ6OmNs
b3NlKGNvbnN0IFN0cmluZyYgcmVzdWx0KQogCiAgICAgc2V0Qm9vbGVhbkF0dHJpYnV0ZShvcGVu
QXR0ciwgZmFsc2UpOwogCi0gICAgbV9pc01vZGFsID0gZmFsc2U7CisgICAgc2V0SXNNb2RhbChm
YWxzZSk7CiAKICAgICBpZiAoIXJlc3VsdC5pc051bGwoKSkKICAgICAgICAgbV9yZXR1cm5WYWx1
ZSA9IHJlc3VsdDsKQEAgLTE1OCw3ICsxNjAsMTMgQEAgdm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6
cnVuRm9jdXNpbmdTdGVwcygpCiB2b2lkIEhUTUxEaWFsb2dFbGVtZW50OjpyZW1vdmVkRnJvbUFu
Y2VzdG9yKFJlbW92YWxUeXBlIHJlbW92YWxUeXBlLCBDb250YWluZXJOb2RlJiBvbGRQYXJlbnRP
ZlJlbW92ZWRUcmVlKQogewogICAgIEhUTUxFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKHJl
bW92YWxUeXBlLCBvbGRQYXJlbnRPZlJlbW92ZWRUcmVlKTsKLSAgICBtX2lzTW9kYWwgPSBmYWxz
ZTsKKyAgICBzZXRJc01vZGFsKGZhbHNlKTsKK30KKwordm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6
c2V0SXNNb2RhbChib29sIG5ld1ZhbHVlKQoreworICAgIFN0eWxlOjpQc2V1ZG9DbGFzc0NoYW5n
ZUludmFsaWRhdGlvbiBzdHlsZUludmFsaWRhdGlvbigqdGhpcywgQ1NTU2VsZWN0b3I6OlBzZXVk
b0NsYXNzTW9kYWwsIG5ld1ZhbHVlKTsKKyAgICBtX2lzTW9kYWwgPSBuZXdWYWx1ZTsKIH0KIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oCmluZGV4IGM0NDkzY2MyZjc5
NTRlNzllNTY4NTU1NjUwMWJkNDYyZjgwOWI3NGEuLmRiM2VhYmRmYmRiNTBkMmMwMDdmY2MzOTk3
ZDM2MGFmYWRiZWJlMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxv
Z0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmgK
QEAgLTUzLDYgKzUzLDcgQEAgcHJpdmF0ZToKICAgICBIVE1MRGlhbG9nRWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAogICAgIHZvaWQgcmVtb3ZlZEZyb21BbmNlc3Rv
cihSZW1vdmFsVHlwZSwgQ29udGFpbmVyTm9kZSYgb2xkUGFyZW50T2ZSZW1vdmVkVHJlZSkgZmlu
YWw7CisgICAgdm9pZCBzZXRJc01vZGFsKGJvb2wgbmV3VmFsdWUpOwogCiAgICAgU3RyaW5nIG1f
cmV0dXJuVmFsdWU7CiAgICAgYm9vbCBtX2lzTW9kYWwgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU0NWYw
ZmZmYTgwN2Q1ZjU2MTgwYTZhYTBlMmFhMDg0NjZhYjdmODguLjNhZDg5MmI3OTVkNDgzYTUzOTlm
NGY1N2VkNjUwODhjOWM0MWMxZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMi0wNS0wOSAg
VGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBDU1MgOm1v
ZGFsIHBzZXVkbyBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjQwMTA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVtb3ZlcyA6LWludGVybmFsLW1vZGFsLWRpYWxvZyBmcm9tIGludGVybmFsIHBz
ZXVkbyBjbGFzc2VzLgorCisgICAgICAgICogZmFzdC9jc3MvcHNldWRvLWNsYXNzLWludGVybmFs
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9wc2V1ZG8tY2xhc3MtaW50ZXJuYWwu
aHRtbDoKKwogMjAyMi0wNS0wOSAgWmlyYW4gU3VuICA8enN1bkBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIE1ha2UgaW5wdXQgcGxhY2Vob2xkZXIgbGluZS1oZWlnaHQgZGVjbGFyYXRpb24gIWltcG9y
dGFudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggM2FlODZhZTI2ZDg1YzE1MTcy
MDczZGE5Njg2MmNkMjg2OGIyOWM5Yi4uZGY0OGY3MTE2MTY2NTIxOWNkM2QwODM5MzIwYmMwODE5
YmIxNmU4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMjItMDUtMDkgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBs
ZW1lbnQgQ1NTIDptb2RhbCBwc2V1ZG8gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDEwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhbmQgZXh0ZW5kIHRlc3RzIGZvciA6bW9kYWwgcHNl
dWRvLWNsYXNzLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMv
aW52YWxpZGF0aW9uL21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRp
b24vbW9kYWwtcHNldWRvLWNsYXNzLWluLWhhcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRp
YWxvZy1lbGVtZW50L2RpYWxvZy1zaG93LW1vZGFsLmh0bWw6CisKIDIwMjItMDUtMDYgIFJvYiBC
dWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBVc2UgY29ycmVjdCBkb2N1bWVudCBh
cyByb290IGZvciBsYXp5IGltYWdlIG9ic2VydmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9wc2V1ZG8tY2xhc3MtaW50ZXJuYWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvcHNldWRvLWNsYXNzLWludGVybmFsLWV4cGVjdGVkLnR4dAppbmRleCA4MzhjZWI3
MmY2MDNhOTY1ODk0NzM4YjA1YWU4NzlhYjQ0OWZkNmI1Li41M2EyNDZmYjc1ZTg1MDUyMThkZjI2
NGVlOGU1YjJhNzYyZDYwOTk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1
ZG8tY2xhc3MtaW50ZXJuYWwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L3BzZXVkby1jbGFzcy1pbnRlcm5hbC1leHBlY3RlZC50eHQKQEAgLTQsNyArNCw2IEBAIE9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFCiAKIAogUEFTUyB0YXJnZXQubWF0Y2hlcygiOi1pbnRlcm5hbC1k
aXJlY3QtZm9jdXMiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFRoZSBzdHJpbmcgZGlk
IG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4uCi1QQVNTIHRhcmdldC5tYXRjaGVzKCI6
LWludGVybmFsLW1vZGFsLWRpYWxvZyIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVGhl
IHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4KIFBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9jc3MvcHNldWRvLWNsYXNzLWludGVybmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9wc2V1ZG8tY2xhc3MtaW50ZXJuYWwuaHRtbAppbmRleCA0MjQzYWQwNjdmOWZkMzQ3
YTJhZTMyMDgyYTUxMjI0OWY5ODUxZTMyLi4yMTEyNjM0Mjg3OTQwYzk4NDBiYTI1ZmVmZjkzNGVh
YjQ5MmFhMGMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tY2xhc3Mt
aW50ZXJuYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tY2xhc3MtaW50
ZXJuYWwuaHRtbApAQCAtMTAsNyArMTAsNiBAQCBkZXNjcmlwdGlvbignVGhpcyB0ZXN0cyB0aGF0
IC1pbnRlcm5hbC0gcHNldWRvIGNsYXNzZXMgYXJlIG5vdCBleHBvc2VkJyk7CiBmdW5jdGlvbiBy
dW5UZXN0KCkgewogICAgIGNvbnN0IGludGVybmFsUHNldWRvQ2xhc3NlcyA9IFsKICAgICAgICAg
JzotaW50ZXJuYWwtZGlyZWN0LWZvY3VzJywKLSAgICAgICAgJzotaW50ZXJuYWwtbW9kYWwtZGlh
bG9nJywKICAgICBdOwogICAgIGZvciAoY29uc3QgcHNldWRvIG9mIGludGVybmFsUHNldWRvQ2xh
c3NlcykgewogICAgICAgICBzaG91bGRUaHJvd0Vycm9yTmFtZSgndGFyZ2V0Lm1hdGNoZXMoIicg
KyBwc2V1ZG8gKyAnIiknLCAnU3ludGF4RXJyb3InKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRp
b24vbW9kYWwtcHNldWRvLWNsYXNzLWluLWhhcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9u
L21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiZjI0
ZmVhZWI1ZWJmZGNlOWYxODYzNGYzOWNiNTI2NWViNTQwZDIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMv
aW52YWxpZGF0aW9uL21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNiBAQAorVGhpcyBpcyBzb21lIHRleHQuCisKK1BBU1MgOm1vZGFsIHBzZXVkby1jbGFz
cyBpcyBub3QgYWN0aXZlIHdpdGggZGlhbG9nLnNob3coKQorUEFTUyA6bW9kYWwgcHNldWRvLWNs
YXNzIGludmFsaWRhdGlvbiB3aXRoIHNob3dNb2RhbCtjbG9zZQorUEFTUyA6bW9kYWwgcHNldWRv
LWNsYXNzIGludmFsaWRhdGlvbiB3aXRoIHNob3dNb2RhbCtyZW1vdmUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3Jz
L2ludmFsaWRhdGlvbi9tb2RhbC1wc2V1ZG8tY2xhc3MtaW4taGFzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0
aW9uL21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YzQ4N2ZiYTE2
ZmRhZDdkMDdkZmMxYjg2N2RmZGRmN2E0YTAyMWNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFs
aWRhdGlvbi9tb2RhbC1wc2V1ZG8tY2xhc3MtaW4taGFzLmh0bWwKQEAgLTAsMCArMSw0NCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5DU1MgU2Vs
ZWN0b3JzIEludmFsaWRhdGlvbjogOm1vZGFsIHBzZXVkbyBjbGFzcyBpbiA6aGFzKCk8L3RpdGxl
PgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJUaW0gTmd1eWVuIiBocmVmPSJodHRwczovL2dp
dGh1Yi5jb20vbnQxbSI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNz
c3dnLm9yZy9zZWxlY3RvcnMvI3JlbGF0aW9uYWwiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICAjc3ViamVjdDpoYXMoI2RpYWxv
Zzptb2RhbCkgeyBjb2xvcjogZ3JlZW4gfQorPC9zdHlsZT4KKzxkaXYgaWQ9InN1YmplY3QiPgor
ICBUaGlzIGlzIHNvbWUgdGV4dC4KKyAgPGRpYWxvZyBpZD0iZGlhbG9nIj5UaGlzIGlzIGEgZGlh
bG9nPC9kaWFsb2c+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAg
YXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHN1YmplY3QpLmNvbG9yLCAicmdiKDAsIDAs
IDApIiwKKyAgICAgICAgICAgICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgYmxhY2sgc2luY2Ug
ZGlhbG9nIGlzIG5vdCBtb2RhbCIpOworICAgIGRpYWxvZy5zaG93KCk7CisgICAgYXNzZXJ0X2Vx
dWFscyhnZXRDb21wdXRlZFN0eWxlKHN1YmplY3QpLmNvbG9yLCAicmdiKDAsIDAsIDApIiwKKyAg
ICAgICAgICAgICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgYmxhY2sgc2luY2UgZGlhbG9nIGlz
IG5vdCBtb2RhbCIpOworICAgIGRpYWxvZy5jbG9zZSgpOworICB9LCAiOm1vZGFsIHBzZXVkby1j
bGFzcyBpcyBub3QgYWN0aXZlIHdpdGggZGlhbG9nLnNob3coKSIpOworICB0ZXN0KGZ1bmN0aW9u
KCkgeworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShzdWJqZWN0KS5jb2xvciwg
InJnYigwLCAwLCAwKSIsCisgICAgICAgICAgICAgICAgICAiYW5jZXN0b3Igc2hvdWxkIGJlIGJs
YWNrIik7CisgICAgZGlhbG9nLnNob3dNb2RhbCgpOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShzdWJqZWN0KS5jb2xvciwgInJnYigwLCAxMjgsIDApIiwKKyAgICAgICAgICAg
ICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgZ3JlZW4gc2luY2UgZGlhbG9nIGlzIHNob3duIG1v
ZGFsbHkiKTsKKyAgICBkaWFsb2cuY2xvc2UoKTsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1
dGVkU3R5bGUoc3ViamVjdCkuY29sb3IsICJyZ2IoMCwgMCwgMCkiLAorICAgICAgICAgICAgICAg
ICAgImFuY2VzdG9yIHNob3VsZCBiZSBibGFjayBzaW5jZSBkaWFsb2cgaXMgY2xvc2VkIik7Cisg
IH0sICI6bW9kYWwgcHNldWRvLWNsYXNzIGludmFsaWRhdGlvbiB3aXRoIHNob3dNb2RhbCtjbG9z
ZSIpOworICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShzdWJqZWN0KS5jb2xvciwgInJnYigwLCAwLCAwKSIsCisgICAgICAgICAgICAgICAgICAi
YW5jZXN0b3Igc2hvdWxkIGJlIGJsYWNrIik7CisgICAgZGlhbG9nLnNob3dNb2RhbCgpOworICAg
IGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShzdWJqZWN0KS5jb2xvciwgInJnYigwLCAx
MjgsIDApIiwKKyAgICAgICAgICAgICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgZ3JlZW4gc2lu
Y2UgZGlhbG9nIGlzIHNob3duIG1vZGFsbHkiKTsKKyAgICBkaWFsb2cucmVtb3ZlKCk7CisgICAg
YXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHN1YmplY3QpLmNvbG9yLCAicmdiKDAsIDAs
IDApIiwKKyAgICAgICAgICAgICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgYmxhY2sgc2luY2Ug
ZGlhbG9nIGlzIGNsb3NlZCIpOworICB9LCAiOm1vZGFsIHBzZXVkby1jbGFzcyBpbnZhbGlkYXRp
b24gd2l0aCBzaG93TW9kYWwrcmVtb3ZlIik7Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ct
ZWxlbWVudC9kaWFsb2ctc2hvdy1tb2RhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90
aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLXNob3ctbW9kYWwuaHRtbAppbmRleCBlZDY0Mzc1NjUw
OGNlMzkzOWYwNjM2ZWY1YWM5ZDA5OTFmYzM5YzE3Li4wOWI3ZjE5YzkyNmE1ZDc0ZWU5YTA4YTcy
OTkyZTg5NDQ0YTQ4ZWVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1k
aWFsb2ctZWxlbWVudC9kaWFsb2ctc2hvdy1tb2RhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUt
ZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1zaG93LW1vZGFsLmh0bWwKQEAgLTEw
LDI2ICsxMCwyOSBAQAogCiA8c2NyaXB0PgogdGVzdCgoKSA9PiB7Ci0gIGNvbnN0IGRpYWxvZyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdteWRpYWxvZycpOworICBjb25zdCBkaWFsb2cgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgibXlkaWFsb2ciKTsKICAgY29uc3QgY29tcHV0ZWRTdHls
ZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRpYWxvZywgbnVsbCk7Ci0gIGFzc2VydF9lcXVh
bHMoY29tcHV0ZWRTdHlsZS5kaXNwbGF5LCAnbm9uZScpOworICBhc3NlcnRfZXF1YWxzKGNvbXB1
dGVkU3R5bGUuZGlzcGxheSwgIm5vbmUiKTsKKyAgYXNzZXJ0X2ZhbHNlKGRpYWxvZy5tYXRjaGVz
KCI6bW9kYWwiKSk7CiAKICAgZGlhbG9nLnNob3dNb2RhbCgpOwotICBhc3NlcnRfZXF1YWxzKGNv
bXB1dGVkU3R5bGUuZGlzcGxheSwgJ2Jsb2NrJyk7CisgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRT
dHlsZS5kaXNwbGF5LCAiYmxvY2siKTsKKyAgYXNzZXJ0X3RydWUoZGlhbG9nLm1hdGNoZXMoIjpt
b2RhbCIpKTsKIAogICAvLyBUaGUgcXVvdGVkIHRleHRzIG91dHB1dCBiZWxvdyBhcmUgZnJvbSA8
aHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBh
Z2UvY29tbWFuZHMuaHRtbCNkb20tZGlhbG9nLXNob3dtb2RhbD4uCiAgIGFzc2VydF90aHJvd3Nf
ZG9tKCdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IGRpYWxvZy5zaG93TW9kYWwoKSk7CiAKICAg
ZGlhbG9nLmNsb3NlKCk7Ci0gIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5kaXNwbGF5LCAn
bm9uZScpOworICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZGlzcGxheSwgIm5vbmUiKTsK
KyAgYXNzZXJ0X2ZhbHNlKGRpYWxvZy5tYXRjaGVzKCI6bW9kYWwiKSk7CiAKICAgZGlhbG9nLnBh
cmVudE5vZGUucmVtb3ZlQ2hpbGQoZGlhbG9nKTsKLSAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFs
aWRTdGF0ZUVycm9yJywgKCkgPT4gZGlhbG9nLnNob3dNb2RhbCgpKTsKKyAgYXNzZXJ0X3Rocm93
c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgKCkgPT4gZGlhbG9nLnNob3dNb2RhbCgpKTsKIAog
ICBjb25zdCBkb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQo
KTsKICAgZG9jLmJvZHkuYXBwZW5kQ2hpbGQoZGlhbG9nKTsKICAgYXNzZXJ0X2ZhbHNlKGRpYWxv
Zy5vcGVuKTsKICAgZGlhbG9nLnNob3dNb2RhbCgpOwotICBhc3NlcnRfdHJ1ZShkaWFsb2cub3Bl
biwgJ0FsdGhvdWdoIHRoZSBkb2N1bWVudCBpcyBub3QgYXR0YWNoZWQgdG8gYW55IHBhZ2VzLCBz
aG93TW9kYWwoKSBzaG91bGQgZXhlY3V0ZSBhcyBub3JtYWwuJyk7Ci19LCAnVGVzdHMgdGhhdCBz
aG93TW9kYWwoKSBwZXJmb3JtcyB0aGUgc3RlcHMgc3BlY2lmaWVkIGluIHRoZSBIVE1MIHNwZWMu
Jyk7CisgIGFzc2VydF90cnVlKGRpYWxvZy5vcGVuLCAiQWx0aG91Z2ggdGhlIGRvY3VtZW50IGlz
IG5vdCBhdHRhY2hlZCB0byBhbnkgcGFnZXMsIHNob3dNb2RhbCgpIHNob3VsZCBleGVjdXRlIGFz
IG5vcm1hbC4iKTsKK30sICJUZXN0cyB0aGF0IHNob3dNb2RhbCgpIHBlcmZvcm1zIHRoZSBzdGVw
cyBzcGVjaWZpZWQgaW4gdGhlIEhUTUwgc3BlYy4iKTsKIDwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459061</attachid>
            <date>2022-05-09 11:34:59 -0700</date>
            <delta_ts>2022-05-09 11:37:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240109-20220509203458.patch</filename>
            <type>text/plain</type>
            <size>19892</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzOTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhkN2M5MjE3MDIzMjVi
MGU2NTRhODNhNGQyNWNlOGI1MDQ4ZWEwOS4uMjNjMDJjN2E4ODM3ODExMjE1ZWM3N2NjYzJlY2I5
ZGYyNjUyNjZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIyLTA1LTA5ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENTUyA6bW9kYWwg
cHNldWRvIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yNDAxMDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0OiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMv
aW52YWxpZGF0aW9uL21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMuaHRtbAorCisgICAgICAgIFJl
bmFtZXMgOi1pbnRlcm5hbC1tb2RhbC1kaWFsb2cgdG8gOm1vZGFsLgorCisgICAgICAgICogY3Nz
L0NTU1NlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1NlbGVjdG9yOjpzZWxlY3Rv
clRleHQgY29uc3QpOgorICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5oOgorICAgICAgICAqIGNz
cy9TZWxlY3RvckNoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2Vy
OjpjaGVja09uZSBjb25zdCk6CisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5j
dGlvbnMuaDoKKyAgICAgICAgKFdlYkNvcmU6Om1hdGNoZXNNb2RhbFBzZXVkb0NsYXNzKToKKyAg
ICAgICAgKFdlYkNvcmU6Om1hdGNoZXNNb2RhbERpYWxvZ1BzZXVkb0NsYXNzKTogRGVsZXRlZC4K
KyAgICAgICAgKiBjc3MvU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50
TWFwLmluOgorICAgICAgICAqIGNzcy9kaWFsb2cuY3NzOgorICAgICAgICAoZGlhbG9nOm1vZGFs
KToKKyAgICAgICAgKGRpYWxvZzotaW50ZXJuYWwtbW9kYWwtZGlhbG9nKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBjc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lUHNldWRvKToKKyAgICAgICAgKiBjc3NqaXQv
U2VsZWN0b3JDb21waWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVy
OjpKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04pOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JD
b21waWxlcjo6YWRkUHNldWRvQ2xhc3NUeXBlKToKKyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpzaG93TW9k
YWwpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OmNsb3NlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpzZXRJc01vZGFsKToKKyAgICAgICAg
KiBodG1sL0hUTUxEaWFsb2dFbGVtZW50Lmg6CisKIDIwMjItMDUtMDkgIFppcmFuIFN1biAgPHpz
dW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBNYWtlIGlucHV0IHBsYWNlaG9sZGVyIGxpbmUtaGVp
Z2h0IGRlY2xhcmF0aW9uICFpbXBvcnRhbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmlu
ZGV4IDU4N2ExYzY4NjRiZTI0MDY4ZGFmZTU4NjdkYWNlZGQwNGQ1YmIwNjkuLjg0NGE2YTIwYTQw
ZTEwMjg4NzkzZTAyYzA5ZWYyMTM5NDhmYWU0ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9y
LmNwcApAQCAtNTkxLDggKzU5MSw4IEBAIFN0cmluZyBDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0
KGNvbnN0IFN0cmluZyYgcmlnaHRTaWRlKSBjb25zdAogICAgICAgICAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6UHNldWRvQ2xhc3NMaW5rOgogICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCI6
bGluayIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6UHNldWRvQ2xhc3NNb2RhbERpYWxvZzoKLSAgICAgICAgICAgICAgICBidWlsZGVyLmFw
cGVuZCgiOi1pbnRlcm5hbC1tb2RhbC1kaWFsb2ciKTsKKyAgICAgICAgICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0NsYXNzTW9kYWw6CisgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQo
Ijptb2RhbCIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6UHNldWRvQ2xhc3NOb0J1dHRvbjoKICAgICAgICAgICAgICAgICBidWlsZGVyLmFw
cGVuZCgiOm5vLWJ1dHRvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAppbmRleCA5NzM3NDZm
YzE4OWRhNTQ2NjgzYzFjMjZjZmNkZjAxNTg4MWMyNjQ2Li5iMTk1MGViMzY0NWIzMmM1YWI0OTMz
NjRkNDI1ZmRkYTI5ZTA1ZGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2Vs
ZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAtMTg1LDcg
KzE4NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVN
RU5UKQogICAgICAgICAgICAgUHNldWRvQ2xhc3NIYXNBdHRhY2htZW50LAogI2VuZGlmCi0gICAg
ICAgICAgICBQc2V1ZG9DbGFzc01vZGFsRGlhbG9nLAorICAgICAgICAgICAgUHNldWRvQ2xhc3NN
b2RhbCwKICAgICAgICAgfTsKIAogICAgICAgICBlbnVtIFBzZXVkb0VsZW1lbnRUeXBlIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKaW5kZXggYjQ1NzNiY2I3ZGE4MzdkMWRm
Njg5YjM3NDYzZTA2M2ZlNTMwNDVhMC4uZjcyNzIwMjUxZjZkNjEwMjNlMTg3NmE5NWI1OGRiOTVh
ODhjMDUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKQEAgLTExMzIs
OCArMTEzMiw4IEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZShDaGVja2luZ0NvbnRl
eHQmIGNoZWNraW5nQ29udGV4dCwgY29uc3QgTG9jYWxDb250CiAgICAgICAgICAgICByZXR1cm4g
aGFzQXR0YWNobWVudChlbGVtZW50KTsKICNlbmRpZgogCi0gICAgICAgIGNhc2UgQ1NTU2VsZWN0
b3I6OlBzZXVkb0NsYXNzTW9kYWxEaWFsb2c6Ci0gICAgICAgICAgICByZXR1cm4gbWF0Y2hlc01v
ZGFsRGlhbG9nUHNldWRvQ2xhc3MoZWxlbWVudCk7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OlBzZXVkb0NsYXNzTW9kYWw6CisgICAgICAgICAgICByZXR1cm4gbWF0Y2hlc01vZGFsUHNldWRv
Q2xhc3MoZWxlbWVudCk7CiAKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NV
bmtub3duOgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyVGVzdEZ1bmN0aW9ucy5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaAppbmRleCBmM2FiYTli
MjQ2NTQwZGIzNWM3YzZmMDVkNzFmOWVhMGMxY2NmNjBmLi5kN2EwYWRiYWI2ZThlNTM3MzU5MDJl
NTJjNmM0ZTY4MDk5MmM1YmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0
b3JDaGVja2VyVGVzdEZ1bmN0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3Rv
ckNoZWNrZXJUZXN0RnVuY3Rpb25zLmgKQEAgLTUzMSw3ICs1MzEsNyBAQCBBTFdBWVNfSU5MSU5F
IGJvb2wgbWF0Y2hlc0ZvY3VzV2l0aGluUHNldWRvQ2xhc3MoY29uc3QgRWxlbWVudCYgZWxlbWVu
dCkKICAgICByZXR1cm4gZWxlbWVudC5oYXNGb2N1c1dpdGhpbigpICYmIGlzRnJhbWVGb2N1c2Vk
KGVsZW1lbnQpOwogfQogCi1BTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hlc01vZGFsRGlhbG9nUHNl
dWRvQ2xhc3MoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKK0FMV0FZU19JTkxJTkUgYm9vbCBtYXRj
aGVzTW9kYWxQc2V1ZG9DbGFzcyhjb25zdCBFbGVtZW50JiBlbGVtZW50KQogewogICAgIGlmIChp
czxIVE1MRGlhbG9nRWxlbWVudD4oZWxlbWVudCkpCiAgICAgICAgIHJldHVybiBkb3duY2FzdDxI
VE1MRGlhbG9nRWxlbWVudD4oZWxlbWVudCkuaXNNb2RhbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNldWRvQ2xhc3NBbmRDb21wYXRpYmlsaXR5RWxlbWVudE1h
cC5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVkb0NsYXNzQW5kQ29tcGF0aWJp
bGl0eUVsZW1lbnRNYXAuaW4KaW5kZXggMWJiYjRkMTgzZDhjZmI3Nzc2Yzk4MjEwZjE5ZmJlY2Rj
MDY5OTMyMC4uNWFlN2ZlMWI1NzJiMzZmYzE1MzQ4ODIwNjUyMzNkZDNiNGEyYjQ1OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNldWRvQ2xhc3NBbmRDb21wYXRpYmls
aXR5RWxlbWVudE1hcC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JQc2V1ZG9D
bGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmluCkBAIC0xLDQgKzEsMyBAQAotLWludGVy
bmFsLW1vZGFsLWRpYWxvZwogLWtodG1sLWRyYWcKIC13ZWJraXQtYW55CiAtd2Via2l0LWFueS1s
aW5rLCBQc2V1ZG9DbGFzc0FueUxpbmtEZXByZWNhdGVkLCBQc2V1ZG9FbGVtZW50VW5rbm93bgpA
QCAtNTAsNiArNDksNyBAQCBsYXN0LWNoaWxkCiBsYXN0LW9mLXR5cGUKIGxpbmsKIG1hdGNoZXMK
K21vZGFsCiBuby1idXR0b24KIG5vdAogbnRoLWNoaWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvZGlhbG9nLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9kaWFsb2cuY3NzCmluZGV4
IGI3ZGQ4NjY0MjI4MjJmMTAyZjBmNGI5YjQ0ZmU3MDZhZGUzYzNlZjEuLmU2MGI0Y2UyYTJlZjM2
MzUzZGE5OGE0YTI3OTlkNGFmYzdkZjVlMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9kaWFsb2cuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9kaWFsb2cuY3NzCkBAIC0xNiw3
ICsxNiw3IEBAIGRpYWxvZ1tvcGVuXSB7CiAgICAgZGlzcGxheTogYmxvY2s7CiB9CiAKLWRpYWxv
ZzotaW50ZXJuYWwtbW9kYWwtZGlhbG9nIHsKK2RpYWxvZzptb2RhbCB7CiAgICAgcG9zaXRpb246
IGZpeGVkOwogICAgIG92ZXJmbG93OiBhdXRvOwogICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcAppbmRl
eCA4MzhiZjEzZTM0YWI2M2M3OWQ4YWJmMTA3YjFiZDIyZmMzNzM0ZDI2Li40MGVhZjg3MDJkNTgw
MzgzYTc5MjQ2Y2ZkYWM4OTBhODE5NzRjZjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcApAQCAtNjQ0LDggKzY0NCw2IEBAIHN0ZDo6dW5p
cXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gQ1NTU2VsZWN0b3JQYXJzZXI6OmNvbnN1bWVQc2V1
ZG8oQ1NTUGFyc2VyVG9rCiAgICAgICAgIGlmICghc2VsZWN0b3IpCiAgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKICAgICAgICAgaWYgKHNlbGVjdG9yLT5tYXRjaCgpID09IENTU1NlbGVjdG9y
OjpQc2V1ZG9DbGFzcykgewotICAgICAgICAgICAgaWYgKG1fY29udGV4dC5tb2RlICE9IFVBU2hl
ZXRNb2RlICYmIHNlbGVjdG9yLT5wc2V1ZG9DbGFzc1R5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNl
dWRvQ2xhc3NNb2RhbERpYWxvZykKLSAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAg
ICAgICAgICAgIGlmICghbV9jb250ZXh0LmZvY3VzVmlzaWJsZUVuYWJsZWQgJiYgc2VsZWN0b3It
PnBzZXVkb0NsYXNzVHlwZSgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0ZvY3VzVmlzaWJs
ZSkKICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgICAgIGlmICghbV9j
b250ZXh0Lmhhc1BzZXVkb0NsYXNzRW5hYmxlZCAmJiBzZWxlY3Rvci0+cHNldWRvQ2xhc3NUeXBl
KCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzSGFzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nzaml0
L1NlbGVjdG9yQ29tcGlsZXIuY3BwCmluZGV4IDdlYzM4YzZjN2I2N2JmOWUxNTg3NjNkZGU0NDZi
ZjA0NmM4YzNmNDUuLmZiZDVhNDlmNjMxYjk5MGE4YzYyY2EzZmVjYmQ0MTA4NzNiY2IyMTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAKQEAgLTEyNSw3ICsx
MjUsNyBAQCBzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1dURl9JTlRF
Uk5BTChvcGVyYXRpb25NYXRjaGVzVm9sdW1lTG9jawogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VM
RU1FTlQpCiBzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1dURl9JTlRF
Uk5BTChvcGVyYXRpb25IYXNBdHRhY2htZW50LCBib29sLCAoY29uc3QgRWxlbWVudCYpKTsKICNl
bmRpZgotc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9XVEZfSU5URVJO
QUwob3BlcmF0aW9uTWF0Y2hlc01vZGFsRGlhbG9nUHNldWRvQ2xhc3MsIGJvb2wsIChjb25zdCBF
bGVtZW50JikpOworc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9XVEZf
SU5URVJOQUwob3BlcmF0aW9uTWF0Y2hlc01vZGFsUHNldWRvQ2xhc3MsIGJvb2wsIChjb25zdCBF
bGVtZW50JikpOwogCiBzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1dU
Rl9JTlRFUk5BTChvcGVyYXRpb25BdHRyaWJ1dGVWYWx1ZUJlZ2luc1dpdGhDYXNlU2Vuc2l0aXZl
LCBib29sLCAoY29uc3QgQXR0cmlidXRlKiBhdHRyaWJ1dGUsIEF0b21TdHJpbmdJbXBsKiBleHBl
Y3RlZFN0cmluZykpOwogc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9X
VEZfSU5URVJOQUwob3BlcmF0aW9uQXR0cmlidXRlVmFsdWVCZWdpbnNXaXRoQ2FzZUluc2Vuc2l0
aXZlLCBib29sLCAoY29uc3QgQXR0cmlidXRlKiBhdHRyaWJ1dGUsIEF0b21TdHJpbmdJbXBsKiBl
eHBlY3RlZFN0cmluZykpOwpAQCAtODA0LDkgKzgwNCw5IEBAIEpTQ19ERUZJTkVfSklUX09QRVJB
VElPTihvcGVyYXRpb25NYXRjaGVzTGFuZ1BzZXVkb0NsYXNzLCBib29sLCAoY29uc3QgRWxlbWVu
dCYKICAgICByZXR1cm4gbWF0Y2hlc0xhbmdQc2V1ZG9DbGFzcyhlbGVtZW50LCBhcmd1bWVudExp
c3QpOwogfQogCi1KU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTWF0Y2hlc01vZGFs
RGlhbG9nUHNldWRvQ2xhc3MsIGJvb2wsIChjb25zdCBFbGVtZW50JiBlbGVtZW50KSkKK0pTQ19E
RUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25NYXRjaGVzTW9kYWxQc2V1ZG9DbGFzcywgYm9v
bCwgKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpKQogewotICAgIHJldHVybiBtYXRjaGVzTW9kYWxE
aWFsb2dQc2V1ZG9DbGFzcyhlbGVtZW50KTsKKyAgICByZXR1cm4gbWF0Y2hlc01vZGFsUHNldWRv
Q2xhc3MoZWxlbWVudCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgRnVuY3Rpb25UeXBlIGFkZFBzZXVk
b0NsYXNzVHlwZShjb25zdCBDU1NTZWxlY3RvciYgc2VsZWN0b3IsIFNlbGVjdG9yRnJhZ21lbnQm
IGZyYWdtZW50LCBTZWxlY3RvckNvbnRleHQgc2VsZWN0b3JDb250ZXh0LCBGcmFnbWVudHNMZXZl
bCBmcmFnbWVudExldmVsLCBGcmFnbWVudFBvc2l0aW9uSW5Sb290RnJhZ21lbnRzIHBvc2l0aW9u
SW5Sb290RnJhZ21lbnRzLCBib29sIHZpc2l0ZWRNYXRjaEVuYWJsZWQsIFZpc2l0ZWRNb2RlJiB2
aXNpdGVkTW9kZSwgUHNldWRvRWxlbWVudE1hdGNoaW5nQmVoYXZpb3IgcHNldWRvRWxlbWVudE1h
dGNoaW5nQmVoYXZpb3IpCkBAIC05NDUsOCArOTQ1LDggQEAgc3RhdGljIGlubGluZSBGdW5jdGlv
blR5cGUgYWRkUHNldWRvQ2xhc3NUeXBlKGNvbnN0IENTU1NlbGVjdG9yJiBzZWxlY3RvciwgU2Vs
ZWMKICAgICAgICAgcmV0dXJuIEZ1bmN0aW9uVHlwZTo6U2ltcGxlU2VsZWN0b3JDaGVja2VyOwog
I2VuZGlmCiAKLSAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc01vZGFsRGlhbG9nOgot
ICAgICAgICBmcmFnbWVudC51bm9wdGltaXplZFBzZXVkb0NsYXNzZXMuYXBwZW5kKEpTQzo6RnVu
Y3Rpb25QdHI8SlNDOjpPcGVyYXRpb25QdHJUYWc+KG9wZXJhdGlvbk1hdGNoZXNNb2RhbERpYWxv
Z1BzZXVkb0NsYXNzKSk7CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NNb2RhbDoK
KyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1
bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVyYXRpb25NYXRjaGVzTW9kYWxQc2V1
ZG9DbGFzcykpOwogICAgICAgICByZXR1cm4gRnVuY3Rpb25UeXBlOjpTaW1wbGVTZWxlY3RvckNo
ZWNrZXI7CiAKICAgICAvLyBUaGVzZSBwc2V1ZG8tY2xhc3NlcyBvbmx5IGhhdmUgbWVhbmluZyB3
aXRoIHNjcm9sbGJhcnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFs
b2dFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3Bw
CmluZGV4IGM0ZWU3NTg3YTFiMjA0ZmFhZjViMTEzZDczMmI2OTdkNTQ5ZDNiM2UuLjg5ZTBjMDU4
OWNjNDNlMTJlMWZhMDBhNzRkMDMwM2MwYmE1YWRjZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTERpYWxvZ0VsZW1lbnQuY3BwCkBAIC0yNiwxMSArMjYsMTMgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJIVE1MRGlhbG9nRWxlbWVudC5oIgogCisjaW5jbHVkZSAiQ1NTU2Vs
ZWN0b3IuaCIKICNpbmNsdWRlICJEb2N1bWVudElubGluZXMuaCIKICNpbmNsdWRlICJFdmVudExv
b3AuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRm9jdXNPcHRpb25zLmgi
CiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiUHNldWRvQ2xhc3NDaGFuZ2VJbnZh
bGlkYXRpb24uaCIKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU2NvcGVk
RXZlbnRRdWV1ZS5oIgogI2luY2x1ZGUgIlR5cGVkRWxlbWVudERlc2NlbmRhbnRJdGVyYXRvci5o
IgpAQCAtNzUsNyArNzcsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBIVE1MRGlhbG9nRWxlbWVudDo6
c2hvd01vZGFsKCkKICAgICBFdmVudFF1ZXVlU2NvcGUgc2NvcGU7CiAgICAgc2V0Qm9vbGVhbkF0
dHJpYnV0ZShvcGVuQXR0ciwgdHJ1ZSk7CiAKLSAgICBtX2lzTW9kYWwgPSB0cnVlOworICAgIHNl
dElzTW9kYWwodHJ1ZSk7CiAKICAgICBpZiAoIWlzSW5Ub3BMYXllcigpKQogICAgICAgICBhZGRU
b1RvcExheWVyKCk7CkBAIC05NCw3ICs5Niw3IEBAIHZvaWQgSFRNTERpYWxvZ0VsZW1lbnQ6OmNs
b3NlKGNvbnN0IFN0cmluZyYgcmVzdWx0KQogCiAgICAgc2V0Qm9vbGVhbkF0dHJpYnV0ZShvcGVu
QXR0ciwgZmFsc2UpOwogCi0gICAgbV9pc01vZGFsID0gZmFsc2U7CisgICAgc2V0SXNNb2RhbChm
YWxzZSk7CiAKICAgICBpZiAoIXJlc3VsdC5pc051bGwoKSkKICAgICAgICAgbV9yZXR1cm5WYWx1
ZSA9IHJlc3VsdDsKQEAgLTE1OCw3ICsxNjAsMTMgQEAgdm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6
cnVuRm9jdXNpbmdTdGVwcygpCiB2b2lkIEhUTUxEaWFsb2dFbGVtZW50OjpyZW1vdmVkRnJvbUFu
Y2VzdG9yKFJlbW92YWxUeXBlIHJlbW92YWxUeXBlLCBDb250YWluZXJOb2RlJiBvbGRQYXJlbnRP
ZlJlbW92ZWRUcmVlKQogewogICAgIEhUTUxFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKHJl
bW92YWxUeXBlLCBvbGRQYXJlbnRPZlJlbW92ZWRUcmVlKTsKLSAgICBtX2lzTW9kYWwgPSBmYWxz
ZTsKKyAgICBzZXRJc01vZGFsKGZhbHNlKTsKK30KKwordm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6
c2V0SXNNb2RhbChib29sIG5ld1ZhbHVlKQoreworICAgIFN0eWxlOjpQc2V1ZG9DbGFzc0NoYW5n
ZUludmFsaWRhdGlvbiBzdHlsZUludmFsaWRhdGlvbigqdGhpcywgQ1NTU2VsZWN0b3I6OlBzZXVk
b0NsYXNzTW9kYWwsIG5ld1ZhbHVlKTsKKyAgICBtX2lzTW9kYWwgPSBuZXdWYWx1ZTsKIH0KIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oCmluZGV4IGM0NDkzY2MyZjc5
NTRlNzllNTY4NTU1NjUwMWJkNDYyZjgwOWI3NGEuLmRiM2VhYmRmYmRiNTBkMmMwMDdmY2MzOTk3
ZDM2MGFmYWRiZWJlMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxv
Z0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmgK
QEAgLTUzLDYgKzUzLDcgQEAgcHJpdmF0ZToKICAgICBIVE1MRGlhbG9nRWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAogICAgIHZvaWQgcmVtb3ZlZEZyb21BbmNlc3Rv
cihSZW1vdmFsVHlwZSwgQ29udGFpbmVyTm9kZSYgb2xkUGFyZW50T2ZSZW1vdmVkVHJlZSkgZmlu
YWw7CisgICAgdm9pZCBzZXRJc01vZGFsKGJvb2wgbmV3VmFsdWUpOwogCiAgICAgU3RyaW5nIG1f
cmV0dXJuVmFsdWU7CiAgICAgYm9vbCBtX2lzTW9kYWwgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU0NWYw
ZmZmYTgwN2Q1ZjU2MTgwYTZhYTBlMmFhMDg0NjZhYjdmODguLjNhZDg5MmI3OTVkNDgzYTUzOTlm
NGY1N2VkNjUwODhjOWM0MWMxZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMi0wNS0wOSAg
VGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBDU1MgOm1v
ZGFsIHBzZXVkbyBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjQwMTA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVtb3ZlcyA6LWludGVybmFsLW1vZGFsLWRpYWxvZyBmcm9tIGludGVybmFsIHBz
ZXVkbyBjbGFzc2VzLgorCisgICAgICAgICogZmFzdC9jc3MvcHNldWRvLWNsYXNzLWludGVybmFs
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9wc2V1ZG8tY2xhc3MtaW50ZXJuYWwu
aHRtbDoKKwogMjAyMi0wNS0wOSAgWmlyYW4gU3VuICA8enN1bkBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIE1ha2UgaW5wdXQgcGxhY2Vob2xkZXIgbGluZS1oZWlnaHQgZGVjbGFyYXRpb24gIWltcG9y
dGFudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggM2FlODZhZTI2ZDg1YzE1MTcy
MDczZGE5Njg2MmNkMjg2OGIyOWM5Yi4uZGY0OGY3MTE2MTY2NTIxOWNkM2QwODM5MzIwYmMwODE5
YmIxNmU4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMjItMDUtMDkgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBs
ZW1lbnQgQ1NTIDptb2RhbCBwc2V1ZG8gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDEwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhbmQgZXh0ZW5kIHRlc3RzIGZvciA6bW9kYWwgcHNl
dWRvLWNsYXNzLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMv
aW52YWxpZGF0aW9uL21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRp
b24vbW9kYWwtcHNldWRvLWNsYXNzLWluLWhhcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRp
YWxvZy1lbGVtZW50L2RpYWxvZy1zaG93LW1vZGFsLmh0bWw6CisKIDIwMjItMDUtMDYgIFJvYiBC
dWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBVc2UgY29ycmVjdCBkb2N1bWVudCBh
cyByb290IGZvciBsYXp5IGltYWdlIG9ic2VydmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9wc2V1ZG8tY2xhc3MtaW50ZXJuYWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvcHNldWRvLWNsYXNzLWludGVybmFsLWV4cGVjdGVkLnR4dAppbmRleCA4MzhjZWI3
MmY2MDNhOTY1ODk0NzM4YjA1YWU4NzlhYjQ0OWZkNmI1Li41M2EyNDZmYjc1ZTg1MDUyMThkZjI2
NGVlOGU1YjJhNzYyZDYwOTk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1
ZG8tY2xhc3MtaW50ZXJuYWwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L3BzZXVkby1jbGFzcy1pbnRlcm5hbC1leHBlY3RlZC50eHQKQEAgLTQsNyArNCw2IEBAIE9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFCiAKIAogUEFTUyB0YXJnZXQubWF0Y2hlcygiOi1pbnRlcm5hbC1k
aXJlY3QtZm9jdXMiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFRoZSBzdHJpbmcgZGlk
IG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4uCi1QQVNTIHRhcmdldC5tYXRjaGVzKCI6
LWludGVybmFsLW1vZGFsLWRpYWxvZyIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVGhl
IHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4KIFBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9jc3MvcHNldWRvLWNsYXNzLWludGVybmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9wc2V1ZG8tY2xhc3MtaW50ZXJuYWwuaHRtbAppbmRleCA0MjQzYWQwNjdmOWZkMzQ3
YTJhZTMyMDgyYTUxMjI0OWY5ODUxZTMyLi4yMTEyNjM0Mjg3OTQwYzk4NDBiYTI1ZmVmZjkzNGVh
YjQ5MmFhMGMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tY2xhc3Mt
aW50ZXJuYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tY2xhc3MtaW50
ZXJuYWwuaHRtbApAQCAtMTAsNyArMTAsNiBAQCBkZXNjcmlwdGlvbignVGhpcyB0ZXN0cyB0aGF0
IC1pbnRlcm5hbC0gcHNldWRvIGNsYXNzZXMgYXJlIG5vdCBleHBvc2VkJyk7CiBmdW5jdGlvbiBy
dW5UZXN0KCkgewogICAgIGNvbnN0IGludGVybmFsUHNldWRvQ2xhc3NlcyA9IFsKICAgICAgICAg
JzotaW50ZXJuYWwtZGlyZWN0LWZvY3VzJywKLSAgICAgICAgJzotaW50ZXJuYWwtbW9kYWwtZGlh
bG9nJywKICAgICBdOwogICAgIGZvciAoY29uc3QgcHNldWRvIG9mIGludGVybmFsUHNldWRvQ2xh
c3NlcykgewogICAgICAgICBzaG91bGRUaHJvd0Vycm9yTmFtZSgndGFyZ2V0Lm1hdGNoZXMoIicg
KyBwc2V1ZG8gKyAnIiknLCAnU3ludGF4RXJyb3InKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRp
b24vbW9kYWwtcHNldWRvLWNsYXNzLWluLWhhcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9u
L21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiZjI0
ZmVhZWI1ZWJmZGNlOWYxODYzNGYzOWNiNTI2NWViNTQwZDIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMv
aW52YWxpZGF0aW9uL21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNiBAQAorVGhpcyBpcyBzb21lIHRleHQuCisKK1BBU1MgOm1vZGFsIHBzZXVkby1jbGFz
cyBpcyBub3QgYWN0aXZlIHdpdGggZGlhbG9nLnNob3coKQorUEFTUyA6bW9kYWwgcHNldWRvLWNs
YXNzIGludmFsaWRhdGlvbiB3aXRoIHNob3dNb2RhbCtjbG9zZQorUEFTUyA6bW9kYWwgcHNldWRv
LWNsYXNzIGludmFsaWRhdGlvbiB3aXRoIHNob3dNb2RhbCtyZW1vdmUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3Jz
L2ludmFsaWRhdGlvbi9tb2RhbC1wc2V1ZG8tY2xhc3MtaW4taGFzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0
aW9uL21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YzQ4N2ZiYTE2
ZmRhZDdkMDdkZmMxYjg2N2RmZGRmN2E0YTAyMWNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFs
aWRhdGlvbi9tb2RhbC1wc2V1ZG8tY2xhc3MtaW4taGFzLmh0bWwKQEAgLTAsMCArMSw0NCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5DU1MgU2Vs
ZWN0b3JzIEludmFsaWRhdGlvbjogOm1vZGFsIHBzZXVkbyBjbGFzcyBpbiA6aGFzKCk8L3RpdGxl
PgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJUaW0gTmd1eWVuIiBocmVmPSJodHRwczovL2dp
dGh1Yi5jb20vbnQxbSI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNz
c3dnLm9yZy9zZWxlY3RvcnMvI3JlbGF0aW9uYWwiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICAjc3ViamVjdDpoYXMoI2RpYWxv
Zzptb2RhbCkgeyBjb2xvcjogZ3JlZW4gfQorPC9zdHlsZT4KKzxkaXYgaWQ9InN1YmplY3QiPgor
ICBUaGlzIGlzIHNvbWUgdGV4dC4KKyAgPGRpYWxvZyBpZD0iZGlhbG9nIj5UaGlzIGlzIGEgZGlh
bG9nPC9kaWFsb2c+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAg
YXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHN1YmplY3QpLmNvbG9yLCAicmdiKDAsIDAs
IDApIiwKKyAgICAgICAgICAgICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgYmxhY2sgc2luY2Ug
ZGlhbG9nIGlzIG5vdCBtb2RhbCIpOworICAgIGRpYWxvZy5zaG93KCk7CisgICAgYXNzZXJ0X2Vx
dWFscyhnZXRDb21wdXRlZFN0eWxlKHN1YmplY3QpLmNvbG9yLCAicmdiKDAsIDAsIDApIiwKKyAg
ICAgICAgICAgICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgYmxhY2sgc2luY2UgZGlhbG9nIGlz
IG5vdCBtb2RhbCIpOworICAgIGRpYWxvZy5jbG9zZSgpOworICB9LCAiOm1vZGFsIHBzZXVkby1j
bGFzcyBpcyBub3QgYWN0aXZlIHdpdGggZGlhbG9nLnNob3coKSIpOworICB0ZXN0KGZ1bmN0aW9u
KCkgeworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShzdWJqZWN0KS5jb2xvciwg
InJnYigwLCAwLCAwKSIsCisgICAgICAgICAgICAgICAgICAiYW5jZXN0b3Igc2hvdWxkIGJlIGJs
YWNrIik7CisgICAgZGlhbG9nLnNob3dNb2RhbCgpOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShzdWJqZWN0KS5jb2xvciwgInJnYigwLCAxMjgsIDApIiwKKyAgICAgICAgICAg
ICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgZ3JlZW4gc2luY2UgZGlhbG9nIGlzIHNob3duIG1v
ZGFsbHkiKTsKKyAgICBkaWFsb2cuY2xvc2UoKTsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1
dGVkU3R5bGUoc3ViamVjdCkuY29sb3IsICJyZ2IoMCwgMCwgMCkiLAorICAgICAgICAgICAgICAg
ICAgImFuY2VzdG9yIHNob3VsZCBiZSBibGFjayBzaW5jZSBkaWFsb2cgaXMgY2xvc2VkIik7Cisg
IH0sICI6bW9kYWwgcHNldWRvLWNsYXNzIGludmFsaWRhdGlvbiB3aXRoIHNob3dNb2RhbCtjbG9z
ZSIpOworICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShzdWJqZWN0KS5jb2xvciwgInJnYigwLCAwLCAwKSIsCisgICAgICAgICAgICAgICAgICAi
YW5jZXN0b3Igc2hvdWxkIGJlIGJsYWNrIik7CisgICAgZGlhbG9nLnNob3dNb2RhbCgpOworICAg
IGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShzdWJqZWN0KS5jb2xvciwgInJnYigwLCAx
MjgsIDApIiwKKyAgICAgICAgICAgICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgZ3JlZW4gc2lu
Y2UgZGlhbG9nIGlzIHNob3duIG1vZGFsbHkiKTsKKyAgICBkaWFsb2cucmVtb3ZlKCk7CisgICAg
YXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHN1YmplY3QpLmNvbG9yLCAicmdiKDAsIDAs
IDApIiwKKyAgICAgICAgICAgICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgYmxhY2sgc2luY2Ug
ZGlhbG9nIGlzIGNsb3NlZCIpOworICB9LCAiOm1vZGFsIHBzZXVkby1jbGFzcyBpbnZhbGlkYXRp
b24gd2l0aCBzaG93TW9kYWwrcmVtb3ZlIik7Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ct
ZWxlbWVudC9kaWFsb2ctc2hvdy1tb2RhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90
aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLXNob3ctbW9kYWwuaHRtbAppbmRleCBlZDY0Mzc1NjUw
OGNlMzkzOWYwNjM2ZWY1YWM5ZDA5OTFmYzM5YzE3Li42MTBlNjZkMjAxMTJmZDIxN2VjOTExNTQy
NDVkZWJkOWEyNjkzNjAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1k
aWFsb2ctZWxlbWVudC9kaWFsb2ctc2hvdy1tb2RhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUt
ZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1zaG93LW1vZGFsLmh0bWwKQEAgLTEw
LDI2ICsxMCwyOSBAQAogCiA8c2NyaXB0PgogdGVzdCgoKSA9PiB7Ci0gIGNvbnN0IGRpYWxvZyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdteWRpYWxvZycpOworICBjb25zdCBkaWFsb2cgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgibXlkaWFsb2ciKTsKICAgY29uc3QgY29tcHV0ZWRTdHls
ZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRpYWxvZywgbnVsbCk7Ci0gIGFzc2VydF9lcXVh
bHMoY29tcHV0ZWRTdHlsZS5kaXNwbGF5LCAnbm9uZScpOworICBhc3NlcnRfZXF1YWxzKGNvbXB1
dGVkU3R5bGUuZGlzcGxheSwgIm5vbmUiKTsKKyAgYXNzZXJ0X2ZhbHNlKGRpYWxvZy5tYXRjaGVz
KCI6bW9kYWwiKSk7CiAKICAgZGlhbG9nLnNob3dNb2RhbCgpOwotICBhc3NlcnRfZXF1YWxzKGNv
bXB1dGVkU3R5bGUuZGlzcGxheSwgJ2Jsb2NrJyk7CisgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRT
dHlsZS5kaXNwbGF5LCAiYmxvY2siKTsKKyAgYXNzZXJ0X3RydWUoZGlhbG9nLm1hdGNoZXMoIjpt
b2RhbCIpKTsKIAogICAvLyBUaGUgcXVvdGVkIHRleHRzIG91dHB1dCBiZWxvdyBhcmUgZnJvbSA8
aHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBh
Z2UvY29tbWFuZHMuaHRtbCNkb20tZGlhbG9nLXNob3dtb2RhbD4uCi0gIGFzc2VydF90aHJvd3Nf
ZG9tKCdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IGRpYWxvZy5zaG93TW9kYWwoKSk7CisgIGFz
c2VydF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsICgpID0+IGRpYWxvZy5zaG93TW9k
YWwoKSk7CiAKICAgZGlhbG9nLmNsb3NlKCk7Ci0gIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHls
ZS5kaXNwbGF5LCAnbm9uZScpOworICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZGlzcGxh
eSwgIm5vbmUiKTsKKyAgYXNzZXJ0X2ZhbHNlKGRpYWxvZy5tYXRjaGVzKCI6bW9kYWwiKSk7CiAK
ICAgZGlhbG9nLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZGlhbG9nKTsKLSAgYXNzZXJ0X3Rocm93
c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywgKCkgPT4gZGlhbG9nLnNob3dNb2RhbCgpKTsKKyAg
YXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgKCkgPT4gZGlhbG9nLnNob3dN
b2RhbCgpKTsKIAogICBjb25zdCBkb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVI
VE1MRG9jdW1lbnQoKTsKICAgZG9jLmJvZHkuYXBwZW5kQ2hpbGQoZGlhbG9nKTsKICAgYXNzZXJ0
X2ZhbHNlKGRpYWxvZy5vcGVuKTsKICAgZGlhbG9nLnNob3dNb2RhbCgpOwotICBhc3NlcnRfdHJ1
ZShkaWFsb2cub3BlbiwgJ0FsdGhvdWdoIHRoZSBkb2N1bWVudCBpcyBub3QgYXR0YWNoZWQgdG8g
YW55IHBhZ2VzLCBzaG93TW9kYWwoKSBzaG91bGQgZXhlY3V0ZSBhcyBub3JtYWwuJyk7Ci19LCAn
VGVzdHMgdGhhdCBzaG93TW9kYWwoKSBwZXJmb3JtcyB0aGUgc3RlcHMgc3BlY2lmaWVkIGluIHRo
ZSBIVE1MIHNwZWMuJyk7CisgIGFzc2VydF90cnVlKGRpYWxvZy5vcGVuLCAiQWx0aG91Z2ggdGhl
IGRvY3VtZW50IGlzIG5vdCBhdHRhY2hlZCB0byBhbnkgcGFnZXMsIHNob3dNb2RhbCgpIHNob3Vs
ZCBleGVjdXRlIGFzIG5vcm1hbC4iKTsKK30sICJUZXN0cyB0aGF0IHNob3dNb2RhbCgpIHBlcmZv
cm1zIHRoZSBzdGVwcyBzcGVjaWZpZWQgaW4gdGhlIEhUTUwgc3BlYy4iKTsKIDwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459062</attachid>
            <date>2022-05-09 11:37:35 -0700</date>
            <delta_ts>2022-05-09 11:40:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240109-20220509203734.patch</filename>
            <type>text/plain</type>
            <size>19892</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzOTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhkN2M5MjE3MDIzMjVi
MGU2NTRhODNhNGQyNWNlOGI1MDQ4ZWEwOS4uMjNjMDJjN2E4ODM3ODExMjE1ZWM3N2NjYzJlY2I5
ZGYyNjUyNjZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIyLTA1LTA5ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENTUyA6bW9kYWwg
cHNldWRvIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yNDAxMDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0OiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMv
aW52YWxpZGF0aW9uL21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMuaHRtbAorCisgICAgICAgIFJl
bmFtZXMgOi1pbnRlcm5hbC1tb2RhbC1kaWFsb2cgdG8gOm1vZGFsLgorCisgICAgICAgICogY3Nz
L0NTU1NlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1NlbGVjdG9yOjpzZWxlY3Rv
clRleHQgY29uc3QpOgorICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5oOgorICAgICAgICAqIGNz
cy9TZWxlY3RvckNoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2Vy
OjpjaGVja09uZSBjb25zdCk6CisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5j
dGlvbnMuaDoKKyAgICAgICAgKFdlYkNvcmU6Om1hdGNoZXNNb2RhbFBzZXVkb0NsYXNzKToKKyAg
ICAgICAgKFdlYkNvcmU6Om1hdGNoZXNNb2RhbERpYWxvZ1BzZXVkb0NsYXNzKTogRGVsZXRlZC4K
KyAgICAgICAgKiBjc3MvU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50
TWFwLmluOgorICAgICAgICAqIGNzcy9kaWFsb2cuY3NzOgorICAgICAgICAoZGlhbG9nOm1vZGFs
KToKKyAgICAgICAgKGRpYWxvZzotaW50ZXJuYWwtbW9kYWwtZGlhbG9nKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBjc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lUHNldWRvKToKKyAgICAgICAgKiBjc3NqaXQv
U2VsZWN0b3JDb21waWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVy
OjpKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04pOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JD
b21waWxlcjo6YWRkUHNldWRvQ2xhc3NUeXBlKToKKyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpzaG93TW9k
YWwpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OmNsb3NlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpzZXRJc01vZGFsKToKKyAgICAgICAg
KiBodG1sL0hUTUxEaWFsb2dFbGVtZW50Lmg6CisKIDIwMjItMDUtMDkgIFppcmFuIFN1biAgPHpz
dW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBNYWtlIGlucHV0IHBsYWNlaG9sZGVyIGxpbmUtaGVp
Z2h0IGRlY2xhcmF0aW9uICFpbXBvcnRhbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmlu
ZGV4IDU4N2ExYzY4NjRiZTI0MDY4ZGFmZTU4NjdkYWNlZGQwNGQ1YmIwNjkuLjg0NGE2YTIwYTQw
ZTEwMjg4NzkzZTAyYzA5ZWYyMTM5NDhmYWU0ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9y
LmNwcApAQCAtNTkxLDggKzU5MSw4IEBAIFN0cmluZyBDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0
KGNvbnN0IFN0cmluZyYgcmlnaHRTaWRlKSBjb25zdAogICAgICAgICAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6UHNldWRvQ2xhc3NMaW5rOgogICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCI6
bGluayIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6UHNldWRvQ2xhc3NNb2RhbERpYWxvZzoKLSAgICAgICAgICAgICAgICBidWlsZGVyLmFw
cGVuZCgiOi1pbnRlcm5hbC1tb2RhbC1kaWFsb2ciKTsKKyAgICAgICAgICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0NsYXNzTW9kYWw6CisgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQo
Ijptb2RhbCIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6UHNldWRvQ2xhc3NOb0J1dHRvbjoKICAgICAgICAgICAgICAgICBidWlsZGVyLmFw
cGVuZCgiOm5vLWJ1dHRvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAppbmRleCA5NzM3NDZm
YzE4OWRhNTQ2NjgzYzFjMjZjZmNkZjAxNTg4MWMyNjQ2Li5iMTk1MGViMzY0NWIzMmM1YWI0OTMz
NjRkNDI1ZmRkYTI5ZTA1ZGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2Vs
ZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAtMTg1LDcg
KzE4NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVN
RU5UKQogICAgICAgICAgICAgUHNldWRvQ2xhc3NIYXNBdHRhY2htZW50LAogI2VuZGlmCi0gICAg
ICAgICAgICBQc2V1ZG9DbGFzc01vZGFsRGlhbG9nLAorICAgICAgICAgICAgUHNldWRvQ2xhc3NN
b2RhbCwKICAgICAgICAgfTsKIAogICAgICAgICBlbnVtIFBzZXVkb0VsZW1lbnRUeXBlIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKaW5kZXggYjQ1NzNiY2I3ZGE4MzdkMWRm
Njg5YjM3NDYzZTA2M2ZlNTMwNDVhMC4uZjcyNzIwMjUxZjZkNjEwMjNlMTg3NmE5NWI1OGRiOTVh
ODhjMDUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKQEAgLTExMzIs
OCArMTEzMiw4IEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZShDaGVja2luZ0NvbnRl
eHQmIGNoZWNraW5nQ29udGV4dCwgY29uc3QgTG9jYWxDb250CiAgICAgICAgICAgICByZXR1cm4g
aGFzQXR0YWNobWVudChlbGVtZW50KTsKICNlbmRpZgogCi0gICAgICAgIGNhc2UgQ1NTU2VsZWN0
b3I6OlBzZXVkb0NsYXNzTW9kYWxEaWFsb2c6Ci0gICAgICAgICAgICByZXR1cm4gbWF0Y2hlc01v
ZGFsRGlhbG9nUHNldWRvQ2xhc3MoZWxlbWVudCk7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OlBzZXVkb0NsYXNzTW9kYWw6CisgICAgICAgICAgICByZXR1cm4gbWF0Y2hlc01vZGFsUHNldWRv
Q2xhc3MoZWxlbWVudCk7CiAKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NV
bmtub3duOgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyVGVzdEZ1bmN0aW9ucy5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaAppbmRleCBmM2FiYTli
MjQ2NTQwZGIzNWM3YzZmMDVkNzFmOWVhMGMxY2NmNjBmLi5kN2EwYWRiYWI2ZThlNTM3MzU5MDJl
NTJjNmM0ZTY4MDk5MmM1YmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0
b3JDaGVja2VyVGVzdEZ1bmN0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3Rv
ckNoZWNrZXJUZXN0RnVuY3Rpb25zLmgKQEAgLTUzMSw3ICs1MzEsNyBAQCBBTFdBWVNfSU5MSU5F
IGJvb2wgbWF0Y2hlc0ZvY3VzV2l0aGluUHNldWRvQ2xhc3MoY29uc3QgRWxlbWVudCYgZWxlbWVu
dCkKICAgICByZXR1cm4gZWxlbWVudC5oYXNGb2N1c1dpdGhpbigpICYmIGlzRnJhbWVGb2N1c2Vk
KGVsZW1lbnQpOwogfQogCi1BTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hlc01vZGFsRGlhbG9nUHNl
dWRvQ2xhc3MoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKK0FMV0FZU19JTkxJTkUgYm9vbCBtYXRj
aGVzTW9kYWxQc2V1ZG9DbGFzcyhjb25zdCBFbGVtZW50JiBlbGVtZW50KQogewogICAgIGlmIChp
czxIVE1MRGlhbG9nRWxlbWVudD4oZWxlbWVudCkpCiAgICAgICAgIHJldHVybiBkb3duY2FzdDxI
VE1MRGlhbG9nRWxlbWVudD4oZWxlbWVudCkuaXNNb2RhbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNldWRvQ2xhc3NBbmRDb21wYXRpYmlsaXR5RWxlbWVudE1h
cC5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVkb0NsYXNzQW5kQ29tcGF0aWJp
bGl0eUVsZW1lbnRNYXAuaW4KaW5kZXggMWJiYjRkMTgzZDhjZmI3Nzc2Yzk4MjEwZjE5ZmJlY2Rj
MDY5OTMyMC4uNWFlN2ZlMWI1NzJiMzZmYzE1MzQ4ODIwNjUyMzNkZDNiNGEyYjQ1OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNldWRvQ2xhc3NBbmRDb21wYXRpYmls
aXR5RWxlbWVudE1hcC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JQc2V1ZG9D
bGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmluCkBAIC0xLDQgKzEsMyBAQAotLWludGVy
bmFsLW1vZGFsLWRpYWxvZwogLWtodG1sLWRyYWcKIC13ZWJraXQtYW55CiAtd2Via2l0LWFueS1s
aW5rLCBQc2V1ZG9DbGFzc0FueUxpbmtEZXByZWNhdGVkLCBQc2V1ZG9FbGVtZW50VW5rbm93bgpA
QCAtNTAsNiArNDksNyBAQCBsYXN0LWNoaWxkCiBsYXN0LW9mLXR5cGUKIGxpbmsKIG1hdGNoZXMK
K21vZGFsCiBuby1idXR0b24KIG5vdAogbnRoLWNoaWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvZGlhbG9nLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9kaWFsb2cuY3NzCmluZGV4
IGI3ZGQ4NjY0MjI4MjJmMTAyZjBmNGI5YjQ0ZmU3MDZhZGUzYzNlZjEuLmU2MGI0Y2UyYTJlZjM2
MzUzZGE5OGE0YTI3OTlkNGFmYzdkZjVlMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9kaWFsb2cuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9kaWFsb2cuY3NzCkBAIC0xNiw3
ICsxNiw3IEBAIGRpYWxvZ1tvcGVuXSB7CiAgICAgZGlzcGxheTogYmxvY2s7CiB9CiAKLWRpYWxv
ZzotaW50ZXJuYWwtbW9kYWwtZGlhbG9nIHsKK2RpYWxvZzptb2RhbCB7CiAgICAgcG9zaXRpb246
IGZpeGVkOwogICAgIG92ZXJmbG93OiBhdXRvOwogICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcAppbmRl
eCA4MzhiZjEzZTM0YWI2M2M3OWQ4YWJmMTA3YjFiZDIyZmMzNzM0ZDI2Li40MGVhZjg3MDJkNTgw
MzgzYTc5MjQ2Y2ZkYWM4OTBhODE5NzRjZjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcApAQCAtNjQ0LDggKzY0NCw2IEBAIHN0ZDo6dW5p
cXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gQ1NTU2VsZWN0b3JQYXJzZXI6OmNvbnN1bWVQc2V1
ZG8oQ1NTUGFyc2VyVG9rCiAgICAgICAgIGlmICghc2VsZWN0b3IpCiAgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKICAgICAgICAgaWYgKHNlbGVjdG9yLT5tYXRjaCgpID09IENTU1NlbGVjdG9y
OjpQc2V1ZG9DbGFzcykgewotICAgICAgICAgICAgaWYgKG1fY29udGV4dC5tb2RlICE9IFVBU2hl
ZXRNb2RlICYmIHNlbGVjdG9yLT5wc2V1ZG9DbGFzc1R5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNl
dWRvQ2xhc3NNb2RhbERpYWxvZykKLSAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAg
ICAgICAgICAgIGlmICghbV9jb250ZXh0LmZvY3VzVmlzaWJsZUVuYWJsZWQgJiYgc2VsZWN0b3It
PnBzZXVkb0NsYXNzVHlwZSgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0ZvY3VzVmlzaWJs
ZSkKICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgICAgIGlmICghbV9j
b250ZXh0Lmhhc1BzZXVkb0NsYXNzRW5hYmxlZCAmJiBzZWxlY3Rvci0+cHNldWRvQ2xhc3NUeXBl
KCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzSGFzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nzaml0
L1NlbGVjdG9yQ29tcGlsZXIuY3BwCmluZGV4IDdlYzM4YzZjN2I2N2JmOWUxNTg3NjNkZGU0NDZi
ZjA0NmM4YzNmNDUuLmZiZDVhNDlmNjMxYjk5MGE4YzYyY2EzZmVjYmQ0MTA4NzNiY2IyMTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAKQEAgLTEyNSw3ICsx
MjUsNyBAQCBzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1dURl9JTlRF
Uk5BTChvcGVyYXRpb25NYXRjaGVzVm9sdW1lTG9jawogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VM
RU1FTlQpCiBzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1dURl9JTlRF
Uk5BTChvcGVyYXRpb25IYXNBdHRhY2htZW50LCBib29sLCAoY29uc3QgRWxlbWVudCYpKTsKICNl
bmRpZgotc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9XVEZfSU5URVJO
QUwob3BlcmF0aW9uTWF0Y2hlc01vZGFsRGlhbG9nUHNldWRvQ2xhc3MsIGJvb2wsIChjb25zdCBF
bGVtZW50JikpOworc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9XVEZf
SU5URVJOQUwob3BlcmF0aW9uTWF0Y2hlc01vZGFsUHNldWRvQ2xhc3MsIGJvb2wsIChjb25zdCBF
bGVtZW50JikpOwogCiBzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1dU
Rl9JTlRFUk5BTChvcGVyYXRpb25BdHRyaWJ1dGVWYWx1ZUJlZ2luc1dpdGhDYXNlU2Vuc2l0aXZl
LCBib29sLCAoY29uc3QgQXR0cmlidXRlKiBhdHRyaWJ1dGUsIEF0b21TdHJpbmdJbXBsKiBleHBl
Y3RlZFN0cmluZykpOwogc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9X
VEZfSU5URVJOQUwob3BlcmF0aW9uQXR0cmlidXRlVmFsdWVCZWdpbnNXaXRoQ2FzZUluc2Vuc2l0
aXZlLCBib29sLCAoY29uc3QgQXR0cmlidXRlKiBhdHRyaWJ1dGUsIEF0b21TdHJpbmdJbXBsKiBl
eHBlY3RlZFN0cmluZykpOwpAQCAtODA0LDkgKzgwNCw5IEBAIEpTQ19ERUZJTkVfSklUX09QRVJB
VElPTihvcGVyYXRpb25NYXRjaGVzTGFuZ1BzZXVkb0NsYXNzLCBib29sLCAoY29uc3QgRWxlbWVu
dCYKICAgICByZXR1cm4gbWF0Y2hlc0xhbmdQc2V1ZG9DbGFzcyhlbGVtZW50LCBhcmd1bWVudExp
c3QpOwogfQogCi1KU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTWF0Y2hlc01vZGFs
RGlhbG9nUHNldWRvQ2xhc3MsIGJvb2wsIChjb25zdCBFbGVtZW50JiBlbGVtZW50KSkKK0pTQ19E
RUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25NYXRjaGVzTW9kYWxQc2V1ZG9DbGFzcywgYm9v
bCwgKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpKQogewotICAgIHJldHVybiBtYXRjaGVzTW9kYWxE
aWFsb2dQc2V1ZG9DbGFzcyhlbGVtZW50KTsKKyAgICByZXR1cm4gbWF0Y2hlc01vZGFsUHNldWRv
Q2xhc3MoZWxlbWVudCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgRnVuY3Rpb25UeXBlIGFkZFBzZXVk
b0NsYXNzVHlwZShjb25zdCBDU1NTZWxlY3RvciYgc2VsZWN0b3IsIFNlbGVjdG9yRnJhZ21lbnQm
IGZyYWdtZW50LCBTZWxlY3RvckNvbnRleHQgc2VsZWN0b3JDb250ZXh0LCBGcmFnbWVudHNMZXZl
bCBmcmFnbWVudExldmVsLCBGcmFnbWVudFBvc2l0aW9uSW5Sb290RnJhZ21lbnRzIHBvc2l0aW9u
SW5Sb290RnJhZ21lbnRzLCBib29sIHZpc2l0ZWRNYXRjaEVuYWJsZWQsIFZpc2l0ZWRNb2RlJiB2
aXNpdGVkTW9kZSwgUHNldWRvRWxlbWVudE1hdGNoaW5nQmVoYXZpb3IgcHNldWRvRWxlbWVudE1h
dGNoaW5nQmVoYXZpb3IpCkBAIC05NDUsOCArOTQ1LDggQEAgc3RhdGljIGlubGluZSBGdW5jdGlv
blR5cGUgYWRkUHNldWRvQ2xhc3NUeXBlKGNvbnN0IENTU1NlbGVjdG9yJiBzZWxlY3RvciwgU2Vs
ZWMKICAgICAgICAgcmV0dXJuIEZ1bmN0aW9uVHlwZTo6U2ltcGxlU2VsZWN0b3JDaGVja2VyOwog
I2VuZGlmCiAKLSAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc01vZGFsRGlhbG9nOgot
ICAgICAgICBmcmFnbWVudC51bm9wdGltaXplZFBzZXVkb0NsYXNzZXMuYXBwZW5kKEpTQzo6RnVu
Y3Rpb25QdHI8SlNDOjpPcGVyYXRpb25QdHJUYWc+KG9wZXJhdGlvbk1hdGNoZXNNb2RhbERpYWxv
Z1BzZXVkb0NsYXNzKSk7CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NNb2RhbDoK
KyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1
bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVyYXRpb25NYXRjaGVzTW9kYWxQc2V1
ZG9DbGFzcykpOwogICAgICAgICByZXR1cm4gRnVuY3Rpb25UeXBlOjpTaW1wbGVTZWxlY3RvckNo
ZWNrZXI7CiAKICAgICAvLyBUaGVzZSBwc2V1ZG8tY2xhc3NlcyBvbmx5IGhhdmUgbWVhbmluZyB3
aXRoIHNjcm9sbGJhcnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFs
b2dFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3Bw
CmluZGV4IGM0ZWU3NTg3YTFiMjA0ZmFhZjViMTEzZDczMmI2OTdkNTQ5ZDNiM2UuLjg5ZTBjMDU4
OWNjNDNlMTJlMWZhMDBhNzRkMDMwM2MwYmE1YWRjZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTERpYWxvZ0VsZW1lbnQuY3BwCkBAIC0yNiwxMSArMjYsMTMgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJIVE1MRGlhbG9nRWxlbWVudC5oIgogCisjaW5jbHVkZSAiQ1NTU2Vs
ZWN0b3IuaCIKICNpbmNsdWRlICJEb2N1bWVudElubGluZXMuaCIKICNpbmNsdWRlICJFdmVudExv
b3AuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRm9jdXNPcHRpb25zLmgi
CiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiUHNldWRvQ2xhc3NDaGFuZ2VJbnZh
bGlkYXRpb24uaCIKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU2NvcGVk
RXZlbnRRdWV1ZS5oIgogI2luY2x1ZGUgIlR5cGVkRWxlbWVudERlc2NlbmRhbnRJdGVyYXRvci5o
IgpAQCAtNzUsNyArNzcsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBIVE1MRGlhbG9nRWxlbWVudDo6
c2hvd01vZGFsKCkKICAgICBFdmVudFF1ZXVlU2NvcGUgc2NvcGU7CiAgICAgc2V0Qm9vbGVhbkF0
dHJpYnV0ZShvcGVuQXR0ciwgdHJ1ZSk7CiAKLSAgICBtX2lzTW9kYWwgPSB0cnVlOworICAgIHNl
dElzTW9kYWwodHJ1ZSk7CiAKICAgICBpZiAoIWlzSW5Ub3BMYXllcigpKQogICAgICAgICBhZGRU
b1RvcExheWVyKCk7CkBAIC05NCw3ICs5Niw3IEBAIHZvaWQgSFRNTERpYWxvZ0VsZW1lbnQ6OmNs
b3NlKGNvbnN0IFN0cmluZyYgcmVzdWx0KQogCiAgICAgc2V0Qm9vbGVhbkF0dHJpYnV0ZShvcGVu
QXR0ciwgZmFsc2UpOwogCi0gICAgbV9pc01vZGFsID0gZmFsc2U7CisgICAgc2V0SXNNb2RhbChm
YWxzZSk7CiAKICAgICBpZiAoIXJlc3VsdC5pc051bGwoKSkKICAgICAgICAgbV9yZXR1cm5WYWx1
ZSA9IHJlc3VsdDsKQEAgLTE1OCw3ICsxNjAsMTMgQEAgdm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6
cnVuRm9jdXNpbmdTdGVwcygpCiB2b2lkIEhUTUxEaWFsb2dFbGVtZW50OjpyZW1vdmVkRnJvbUFu
Y2VzdG9yKFJlbW92YWxUeXBlIHJlbW92YWxUeXBlLCBDb250YWluZXJOb2RlJiBvbGRQYXJlbnRP
ZlJlbW92ZWRUcmVlKQogewogICAgIEhUTUxFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKHJl
bW92YWxUeXBlLCBvbGRQYXJlbnRPZlJlbW92ZWRUcmVlKTsKLSAgICBtX2lzTW9kYWwgPSBmYWxz
ZTsKKyAgICBzZXRJc01vZGFsKGZhbHNlKTsKK30KKwordm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6
c2V0SXNNb2RhbChib29sIG5ld1ZhbHVlKQoreworICAgIFN0eWxlOjpQc2V1ZG9DbGFzc0NoYW5n
ZUludmFsaWRhdGlvbiBzdHlsZUludmFsaWRhdGlvbigqdGhpcywgQ1NTU2VsZWN0b3I6OlBzZXVk
b0NsYXNzTW9kYWwsIG5ld1ZhbHVlKTsKKyAgICBtX2lzTW9kYWwgPSBuZXdWYWx1ZTsKIH0KIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oCmluZGV4IGM0NDkzY2MyZjc5
NTRlNzllNTY4NTU1NjUwMWJkNDYyZjgwOWI3NGEuLmRiM2VhYmRmYmRiNTBkMmMwMDdmY2MzOTk3
ZDM2MGFmYWRiZWJlMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxv
Z0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmgK
QEAgLTUzLDYgKzUzLDcgQEAgcHJpdmF0ZToKICAgICBIVE1MRGlhbG9nRWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAogICAgIHZvaWQgcmVtb3ZlZEZyb21BbmNlc3Rv
cihSZW1vdmFsVHlwZSwgQ29udGFpbmVyTm9kZSYgb2xkUGFyZW50T2ZSZW1vdmVkVHJlZSkgZmlu
YWw7CisgICAgdm9pZCBzZXRJc01vZGFsKGJvb2wgbmV3VmFsdWUpOwogCiAgICAgU3RyaW5nIG1f
cmV0dXJuVmFsdWU7CiAgICAgYm9vbCBtX2lzTW9kYWwgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU0NWYw
ZmZmYTgwN2Q1ZjU2MTgwYTZhYTBlMmFhMDg0NjZhYjdmODguLjNhZDg5MmI3OTVkNDgzYTUzOTlm
NGY1N2VkNjUwODhjOWM0MWMxZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMi0wNS0wOSAg
VGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBDU1MgOm1v
ZGFsIHBzZXVkbyBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjQwMTA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVtb3ZlcyA6LWludGVybmFsLW1vZGFsLWRpYWxvZyBmcm9tIGludGVybmFsIHBz
ZXVkbyBjbGFzc2VzLgorCisgICAgICAgICogZmFzdC9jc3MvcHNldWRvLWNsYXNzLWludGVybmFs
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9wc2V1ZG8tY2xhc3MtaW50ZXJuYWwu
aHRtbDoKKwogMjAyMi0wNS0wOSAgWmlyYW4gU3VuICA8enN1bkBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIE1ha2UgaW5wdXQgcGxhY2Vob2xkZXIgbGluZS1oZWlnaHQgZGVjbGFyYXRpb24gIWltcG9y
dGFudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggM2FlODZhZTI2ZDg1YzE1MTcy
MDczZGE5Njg2MmNkMjg2OGIyOWM5Yi4uZGY0OGY3MTE2MTY2NTIxOWNkM2QwODM5MzIwYmMwODE5
YmIxNmU4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMjItMDUtMDkgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBs
ZW1lbnQgQ1NTIDptb2RhbCBwc2V1ZG8gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDEwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhbmQgZXh0ZW5kIHRlc3RzIGZvciA6bW9kYWwgcHNl
dWRvLWNsYXNzLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMv
aW52YWxpZGF0aW9uL21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRp
b24vbW9kYWwtcHNldWRvLWNsYXNzLWluLWhhcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRp
YWxvZy1lbGVtZW50L2RpYWxvZy1zaG93LW1vZGFsLmh0bWw6CisKIDIwMjItMDUtMDYgIFJvYiBC
dWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBVc2UgY29ycmVjdCBkb2N1bWVudCBh
cyByb290IGZvciBsYXp5IGltYWdlIG9ic2VydmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9wc2V1ZG8tY2xhc3MtaW50ZXJuYWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvcHNldWRvLWNsYXNzLWludGVybmFsLWV4cGVjdGVkLnR4dAppbmRleCA4MzhjZWI3
MmY2MDNhOTY1ODk0NzM4YjA1YWU4NzlhYjQ0OWZkNmI1Li41M2EyNDZmYjc1ZTg1MDUyMThkZjI2
NGVlOGU1YjJhNzYyZDYwOTk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1
ZG8tY2xhc3MtaW50ZXJuYWwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L3BzZXVkby1jbGFzcy1pbnRlcm5hbC1leHBlY3RlZC50eHQKQEAgLTQsNyArNCw2IEBAIE9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFCiAKIAogUEFTUyB0YXJnZXQubWF0Y2hlcygiOi1pbnRlcm5hbC1k
aXJlY3QtZm9jdXMiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFRoZSBzdHJpbmcgZGlk
IG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4uCi1QQVNTIHRhcmdldC5tYXRjaGVzKCI6
LWludGVybmFsLW1vZGFsLWRpYWxvZyIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVGhl
IHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4KIFBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9jc3MvcHNldWRvLWNsYXNzLWludGVybmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9wc2V1ZG8tY2xhc3MtaW50ZXJuYWwuaHRtbAppbmRleCA0MjQzYWQwNjdmOWZkMzQ3
YTJhZTMyMDgyYTUxMjI0OWY5ODUxZTMyLi4yMTEyNjM0Mjg3OTQwYzk4NDBiYTI1ZmVmZjkzNGVh
YjQ5MmFhMGMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tY2xhc3Mt
aW50ZXJuYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tY2xhc3MtaW50
ZXJuYWwuaHRtbApAQCAtMTAsNyArMTAsNiBAQCBkZXNjcmlwdGlvbignVGhpcyB0ZXN0cyB0aGF0
IC1pbnRlcm5hbC0gcHNldWRvIGNsYXNzZXMgYXJlIG5vdCBleHBvc2VkJyk7CiBmdW5jdGlvbiBy
dW5UZXN0KCkgewogICAgIGNvbnN0IGludGVybmFsUHNldWRvQ2xhc3NlcyA9IFsKICAgICAgICAg
JzotaW50ZXJuYWwtZGlyZWN0LWZvY3VzJywKLSAgICAgICAgJzotaW50ZXJuYWwtbW9kYWwtZGlh
bG9nJywKICAgICBdOwogICAgIGZvciAoY29uc3QgcHNldWRvIG9mIGludGVybmFsUHNldWRvQ2xh
c3NlcykgewogICAgICAgICBzaG91bGRUaHJvd0Vycm9yTmFtZSgndGFyZ2V0Lm1hdGNoZXMoIicg
KyBwc2V1ZG8gKyAnIiknLCAnU3ludGF4RXJyb3InKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRp
b24vbW9kYWwtcHNldWRvLWNsYXNzLWluLWhhcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9u
L21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiZjI0
ZmVhZWI1ZWJmZGNlOWYxODYzNGYzOWNiNTI2NWViNTQwZDIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMv
aW52YWxpZGF0aW9uL21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNiBAQAorVGhpcyBpcyBzb21lIHRleHQuCisKK1BBU1MgOm1vZGFsIHBzZXVkby1jbGFz
cyBpcyBub3QgYWN0aXZlIHdpdGggZGlhbG9nLnNob3coKQorUEFTUyA6bW9kYWwgcHNldWRvLWNs
YXNzIGludmFsaWRhdGlvbiB3aXRoIHNob3dNb2RhbCtjbG9zZQorUEFTUyA6bW9kYWwgcHNldWRv
LWNsYXNzIGludmFsaWRhdGlvbiB3aXRoIHNob3dNb2RhbCtyZW1vdmUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3Jz
L2ludmFsaWRhdGlvbi9tb2RhbC1wc2V1ZG8tY2xhc3MtaW4taGFzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0
aW9uL21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YzQ4N2ZiYTE2
ZmRhZDdkMDdkZmMxYjg2N2RmZGRmN2E0YTAyMWNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFs
aWRhdGlvbi9tb2RhbC1wc2V1ZG8tY2xhc3MtaW4taGFzLmh0bWwKQEAgLTAsMCArMSw0NCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5DU1MgU2Vs
ZWN0b3JzIEludmFsaWRhdGlvbjogOm1vZGFsIHBzZXVkbyBjbGFzcyBpbiA6aGFzKCk8L3RpdGxl
PgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJUaW0gTmd1eWVuIiBocmVmPSJodHRwczovL2dp
dGh1Yi5jb20vbnQxbSI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNz
c3dnLm9yZy9zZWxlY3RvcnMvI3JlbGF0aW9uYWwiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICAjc3ViamVjdDpoYXMoI2RpYWxv
Zzptb2RhbCkgeyBjb2xvcjogZ3JlZW4gfQorPC9zdHlsZT4KKzxkaXYgaWQ9InN1YmplY3QiPgor
ICBUaGlzIGlzIHNvbWUgdGV4dC4KKyAgPGRpYWxvZyBpZD0iZGlhbG9nIj5UaGlzIGlzIGEgZGlh
bG9nPC9kaWFsb2c+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAg
YXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHN1YmplY3QpLmNvbG9yLCAicmdiKDAsIDAs
IDApIiwKKyAgICAgICAgICAgICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgYmxhY2sgc2luY2Ug
ZGlhbG9nIGlzIG5vdCBtb2RhbCIpOworICAgIGRpYWxvZy5zaG93KCk7CisgICAgYXNzZXJ0X2Vx
dWFscyhnZXRDb21wdXRlZFN0eWxlKHN1YmplY3QpLmNvbG9yLCAicmdiKDAsIDAsIDApIiwKKyAg
ICAgICAgICAgICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgYmxhY2sgc2luY2UgZGlhbG9nIGlz
IG5vdCBtb2RhbCIpOworICAgIGRpYWxvZy5jbG9zZSgpOworICB9LCAiOm1vZGFsIHBzZXVkby1j
bGFzcyBpcyBub3QgYWN0aXZlIHdpdGggZGlhbG9nLnNob3coKSIpOworICB0ZXN0KGZ1bmN0aW9u
KCkgeworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShzdWJqZWN0KS5jb2xvciwg
InJnYigwLCAwLCAwKSIsCisgICAgICAgICAgICAgICAgICAiYW5jZXN0b3Igc2hvdWxkIGJlIGJs
YWNrIik7CisgICAgZGlhbG9nLnNob3dNb2RhbCgpOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShzdWJqZWN0KS5jb2xvciwgInJnYigwLCAxMjgsIDApIiwKKyAgICAgICAgICAg
ICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgZ3JlZW4gc2luY2UgZGlhbG9nIGlzIHNob3duIG1v
ZGFsbHkiKTsKKyAgICBkaWFsb2cuY2xvc2UoKTsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1
dGVkU3R5bGUoc3ViamVjdCkuY29sb3IsICJyZ2IoMCwgMCwgMCkiLAorICAgICAgICAgICAgICAg
ICAgImFuY2VzdG9yIHNob3VsZCBiZSBibGFjayBzaW5jZSBkaWFsb2cgaXMgY2xvc2VkIik7Cisg
IH0sICI6bW9kYWwgcHNldWRvLWNsYXNzIGludmFsaWRhdGlvbiB3aXRoIHNob3dNb2RhbCtjbG9z
ZSIpOworICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShzdWJqZWN0KS5jb2xvciwgInJnYigwLCAwLCAwKSIsCisgICAgICAgICAgICAgICAgICAi
YW5jZXN0b3Igc2hvdWxkIGJlIGJsYWNrIik7CisgICAgZGlhbG9nLnNob3dNb2RhbCgpOworICAg
IGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShzdWJqZWN0KS5jb2xvciwgInJnYigwLCAx
MjgsIDApIiwKKyAgICAgICAgICAgICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgZ3JlZW4gc2lu
Y2UgZGlhbG9nIGlzIHNob3duIG1vZGFsbHkiKTsKKyAgICBkaWFsb2cucmVtb3ZlKCk7CisgICAg
YXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHN1YmplY3QpLmNvbG9yLCAicmdiKDAsIDAs
IDApIiwKKyAgICAgICAgICAgICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgYmxhY2sgc2luY2Ug
ZGlhbG9nIGlzIGNsb3NlZCIpOworICB9LCAiOm1vZGFsIHBzZXVkby1jbGFzcyBpbnZhbGlkYXRp
b24gd2l0aCBzaG93TW9kYWwrcmVtb3ZlIik7Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ct
ZWxlbWVudC9kaWFsb2ctc2hvdy1tb2RhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90
aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLXNob3ctbW9kYWwuaHRtbAppbmRleCBlZDY0Mzc1NjUw
OGNlMzkzOWYwNjM2ZWY1YWM5ZDA5OTFmYzM5YzE3Li42MTBlNjZkMjAxMTJmZDIxN2VjOTExNTQy
NDVkZWJkOWEyNjkzNjAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1k
aWFsb2ctZWxlbWVudC9kaWFsb2ctc2hvdy1tb2RhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUt
ZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1zaG93LW1vZGFsLmh0bWwKQEAgLTEw
LDI2ICsxMCwyOSBAQAogCiA8c2NyaXB0PgogdGVzdCgoKSA9PiB7Ci0gIGNvbnN0IGRpYWxvZyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdteWRpYWxvZycpOworICBjb25zdCBkaWFsb2cgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgibXlkaWFsb2ciKTsKICAgY29uc3QgY29tcHV0ZWRTdHls
ZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRpYWxvZywgbnVsbCk7Ci0gIGFzc2VydF9lcXVh
bHMoY29tcHV0ZWRTdHlsZS5kaXNwbGF5LCAnbm9uZScpOworICBhc3NlcnRfZXF1YWxzKGNvbXB1
dGVkU3R5bGUuZGlzcGxheSwgIm5vbmUiKTsKKyAgYXNzZXJ0X2ZhbHNlKGRpYWxvZy5tYXRjaGVz
KCI6bW9kYWwiKSk7CiAKICAgZGlhbG9nLnNob3dNb2RhbCgpOwotICBhc3NlcnRfZXF1YWxzKGNv
bXB1dGVkU3R5bGUuZGlzcGxheSwgJ2Jsb2NrJyk7CisgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRT
dHlsZS5kaXNwbGF5LCAiYmxvY2siKTsKKyAgYXNzZXJ0X3RydWUoZGlhbG9nLm1hdGNoZXMoIjpt
b2RhbCIpKTsKIAogICAvLyBUaGUgcXVvdGVkIHRleHRzIG91dHB1dCBiZWxvdyBhcmUgZnJvbSA8
aHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBh
Z2UvY29tbWFuZHMuaHRtbCNkb20tZGlhbG9nLXNob3dtb2RhbD4uCi0gIGFzc2VydF90aHJvd3Nf
ZG9tKCdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IGRpYWxvZy5zaG93TW9kYWwoKSk7CisgIGFz
c2VydF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsICgpID0+IGRpYWxvZy5zaG93TW9k
YWwoKSk7CiAKICAgZGlhbG9nLmNsb3NlKCk7Ci0gIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHls
ZS5kaXNwbGF5LCAnbm9uZScpOworICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZGlzcGxh
eSwgIm5vbmUiKTsKKyAgYXNzZXJ0X2ZhbHNlKGRpYWxvZy5tYXRjaGVzKCI6bW9kYWwiKSk7CiAK
ICAgZGlhbG9nLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZGlhbG9nKTsKLSAgYXNzZXJ0X3Rocm93
c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywgKCkgPT4gZGlhbG9nLnNob3dNb2RhbCgpKTsKKyAg
YXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgKCkgPT4gZGlhbG9nLnNob3dN
b2RhbCgpKTsKIAogICBjb25zdCBkb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVI
VE1MRG9jdW1lbnQoKTsKICAgZG9jLmJvZHkuYXBwZW5kQ2hpbGQoZGlhbG9nKTsKICAgYXNzZXJ0
X2ZhbHNlKGRpYWxvZy5vcGVuKTsKICAgZGlhbG9nLnNob3dNb2RhbCgpOwotICBhc3NlcnRfdHJ1
ZShkaWFsb2cub3BlbiwgJ0FsdGhvdWdoIHRoZSBkb2N1bWVudCBpcyBub3QgYXR0YWNoZWQgdG8g
YW55IHBhZ2VzLCBzaG93TW9kYWwoKSBzaG91bGQgZXhlY3V0ZSBhcyBub3JtYWwuJyk7Ci19LCAn
VGVzdHMgdGhhdCBzaG93TW9kYWwoKSBwZXJmb3JtcyB0aGUgc3RlcHMgc3BlY2lmaWVkIGluIHRo
ZSBIVE1MIHNwZWMuJyk7CisgIGFzc2VydF90cnVlKGRpYWxvZy5vcGVuLCAiQWx0aG91Z2ggdGhl
IGRvY3VtZW50IGlzIG5vdCBhdHRhY2hlZCB0byBhbnkgcGFnZXMsIHNob3dNb2RhbCgpIHNob3Vs
ZCBleGVjdXRlIGFzIG5vcm1hbC4iKTsKK30sICJUZXN0cyB0aGF0IHNob3dNb2RhbCgpIHBlcmZv
cm1zIHRoZSBzdGVwcyBzcGVjaWZpZWQgaW4gdGhlIEhUTUwgc3BlYy4iKTsKIDwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459063</attachid>
            <date>2022-05-09 11:40:07 -0700</date>
            <delta_ts>2022-05-09 13:31:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240109-20220509204005.patch</filename>
            <type>text/plain</type>
            <size>19892</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzOTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhkN2M5MjE3MDIzMjVi
MGU2NTRhODNhNGQyNWNlOGI1MDQ4ZWEwOS4uMjNjMDJjN2E4ODM3ODExMjE1ZWM3N2NjYzJlY2I5
ZGYyNjUyNjZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIyLTA1LTA5ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENTUyA6bW9kYWwg
cHNldWRvIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yNDAxMDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0OiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMv
aW52YWxpZGF0aW9uL21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMuaHRtbAorCisgICAgICAgIFJl
bmFtZXMgOi1pbnRlcm5hbC1tb2RhbC1kaWFsb2cgdG8gOm1vZGFsLgorCisgICAgICAgICogY3Nz
L0NTU1NlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1NlbGVjdG9yOjpzZWxlY3Rv
clRleHQgY29uc3QpOgorICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5oOgorICAgICAgICAqIGNz
cy9TZWxlY3RvckNoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2Vy
OjpjaGVja09uZSBjb25zdCk6CisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5j
dGlvbnMuaDoKKyAgICAgICAgKFdlYkNvcmU6Om1hdGNoZXNNb2RhbFBzZXVkb0NsYXNzKToKKyAg
ICAgICAgKFdlYkNvcmU6Om1hdGNoZXNNb2RhbERpYWxvZ1BzZXVkb0NsYXNzKTogRGVsZXRlZC4K
KyAgICAgICAgKiBjc3MvU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50
TWFwLmluOgorICAgICAgICAqIGNzcy9kaWFsb2cuY3NzOgorICAgICAgICAoZGlhbG9nOm1vZGFs
KToKKyAgICAgICAgKGRpYWxvZzotaW50ZXJuYWwtbW9kYWwtZGlhbG9nKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBjc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lUHNldWRvKToKKyAgICAgICAgKiBjc3NqaXQv
U2VsZWN0b3JDb21waWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVy
OjpKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04pOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JD
b21waWxlcjo6YWRkUHNldWRvQ2xhc3NUeXBlKToKKyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpzaG93TW9k
YWwpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OmNsb3NlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpzZXRJc01vZGFsKToKKyAgICAgICAg
KiBodG1sL0hUTUxEaWFsb2dFbGVtZW50Lmg6CisKIDIwMjItMDUtMDkgIFppcmFuIFN1biAgPHpz
dW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBNYWtlIGlucHV0IHBsYWNlaG9sZGVyIGxpbmUtaGVp
Z2h0IGRlY2xhcmF0aW9uICFpbXBvcnRhbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmlu
ZGV4IDU4N2ExYzY4NjRiZTI0MDY4ZGFmZTU4NjdkYWNlZGQwNGQ1YmIwNjkuLjg0NGE2YTIwYTQw
ZTEwMjg4NzkzZTAyYzA5ZWYyMTM5NDhmYWU0ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9y
LmNwcApAQCAtNTkxLDggKzU5MSw4IEBAIFN0cmluZyBDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0
KGNvbnN0IFN0cmluZyYgcmlnaHRTaWRlKSBjb25zdAogICAgICAgICAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6UHNldWRvQ2xhc3NMaW5rOgogICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCI6
bGluayIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6UHNldWRvQ2xhc3NNb2RhbERpYWxvZzoKLSAgICAgICAgICAgICAgICBidWlsZGVyLmFw
cGVuZCgiOi1pbnRlcm5hbC1tb2RhbC1kaWFsb2ciKTsKKyAgICAgICAgICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0NsYXNzTW9kYWw6CisgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQo
Ijptb2RhbCIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6UHNldWRvQ2xhc3NOb0J1dHRvbjoKICAgICAgICAgICAgICAgICBidWlsZGVyLmFw
cGVuZCgiOm5vLWJ1dHRvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAppbmRleCA5NzM3NDZm
YzE4OWRhNTQ2NjgzYzFjMjZjZmNkZjAxNTg4MWMyNjQ2Li5iMTk1MGViMzY0NWIzMmM1YWI0OTMz
NjRkNDI1ZmRkYTI5ZTA1ZGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2Vs
ZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAtMTg1LDcg
KzE4NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVN
RU5UKQogICAgICAgICAgICAgUHNldWRvQ2xhc3NIYXNBdHRhY2htZW50LAogI2VuZGlmCi0gICAg
ICAgICAgICBQc2V1ZG9DbGFzc01vZGFsRGlhbG9nLAorICAgICAgICAgICAgUHNldWRvQ2xhc3NN
b2RhbCwKICAgICAgICAgfTsKIAogICAgICAgICBlbnVtIFBzZXVkb0VsZW1lbnRUeXBlIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKaW5kZXggYjQ1NzNiY2I3ZGE4MzdkMWRm
Njg5YjM3NDYzZTA2M2ZlNTMwNDVhMC4uZjcyNzIwMjUxZjZkNjEwMjNlMTg3NmE5NWI1OGRiOTVh
ODhjMDUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKQEAgLTExMzIs
OCArMTEzMiw4IEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZShDaGVja2luZ0NvbnRl
eHQmIGNoZWNraW5nQ29udGV4dCwgY29uc3QgTG9jYWxDb250CiAgICAgICAgICAgICByZXR1cm4g
aGFzQXR0YWNobWVudChlbGVtZW50KTsKICNlbmRpZgogCi0gICAgICAgIGNhc2UgQ1NTU2VsZWN0
b3I6OlBzZXVkb0NsYXNzTW9kYWxEaWFsb2c6Ci0gICAgICAgICAgICByZXR1cm4gbWF0Y2hlc01v
ZGFsRGlhbG9nUHNldWRvQ2xhc3MoZWxlbWVudCk7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OlBzZXVkb0NsYXNzTW9kYWw6CisgICAgICAgICAgICByZXR1cm4gbWF0Y2hlc01vZGFsUHNldWRv
Q2xhc3MoZWxlbWVudCk7CiAKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NV
bmtub3duOgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyVGVzdEZ1bmN0aW9ucy5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaAppbmRleCBmM2FiYTli
MjQ2NTQwZGIzNWM3YzZmMDVkNzFmOWVhMGMxY2NmNjBmLi5kN2EwYWRiYWI2ZThlNTM3MzU5MDJl
NTJjNmM0ZTY4MDk5MmM1YmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0
b3JDaGVja2VyVGVzdEZ1bmN0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3Rv
ckNoZWNrZXJUZXN0RnVuY3Rpb25zLmgKQEAgLTUzMSw3ICs1MzEsNyBAQCBBTFdBWVNfSU5MSU5F
IGJvb2wgbWF0Y2hlc0ZvY3VzV2l0aGluUHNldWRvQ2xhc3MoY29uc3QgRWxlbWVudCYgZWxlbWVu
dCkKICAgICByZXR1cm4gZWxlbWVudC5oYXNGb2N1c1dpdGhpbigpICYmIGlzRnJhbWVGb2N1c2Vk
KGVsZW1lbnQpOwogfQogCi1BTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hlc01vZGFsRGlhbG9nUHNl
dWRvQ2xhc3MoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKK0FMV0FZU19JTkxJTkUgYm9vbCBtYXRj
aGVzTW9kYWxQc2V1ZG9DbGFzcyhjb25zdCBFbGVtZW50JiBlbGVtZW50KQogewogICAgIGlmIChp
czxIVE1MRGlhbG9nRWxlbWVudD4oZWxlbWVudCkpCiAgICAgICAgIHJldHVybiBkb3duY2FzdDxI
VE1MRGlhbG9nRWxlbWVudD4oZWxlbWVudCkuaXNNb2RhbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNldWRvQ2xhc3NBbmRDb21wYXRpYmlsaXR5RWxlbWVudE1h
cC5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVkb0NsYXNzQW5kQ29tcGF0aWJp
bGl0eUVsZW1lbnRNYXAuaW4KaW5kZXggMWJiYjRkMTgzZDhjZmI3Nzc2Yzk4MjEwZjE5ZmJlY2Rj
MDY5OTMyMC4uNWFlN2ZlMWI1NzJiMzZmYzE1MzQ4ODIwNjUyMzNkZDNiNGEyYjQ1OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNldWRvQ2xhc3NBbmRDb21wYXRpYmls
aXR5RWxlbWVudE1hcC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JQc2V1ZG9D
bGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmluCkBAIC0xLDQgKzEsMyBAQAotLWludGVy
bmFsLW1vZGFsLWRpYWxvZwogLWtodG1sLWRyYWcKIC13ZWJraXQtYW55CiAtd2Via2l0LWFueS1s
aW5rLCBQc2V1ZG9DbGFzc0FueUxpbmtEZXByZWNhdGVkLCBQc2V1ZG9FbGVtZW50VW5rbm93bgpA
QCAtNTAsNiArNDksNyBAQCBsYXN0LWNoaWxkCiBsYXN0LW9mLXR5cGUKIGxpbmsKIG1hdGNoZXMK
K21vZGFsCiBuby1idXR0b24KIG5vdAogbnRoLWNoaWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvZGlhbG9nLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9kaWFsb2cuY3NzCmluZGV4
IGI3ZGQ4NjY0MjI4MjJmMTAyZjBmNGI5YjQ0ZmU3MDZhZGUzYzNlZjEuLmU2MGI0Y2UyYTJlZjM2
MzUzZGE5OGE0YTI3OTlkNGFmYzdkZjVlMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9kaWFsb2cuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9kaWFsb2cuY3NzCkBAIC0xNiw3
ICsxNiw3IEBAIGRpYWxvZ1tvcGVuXSB7CiAgICAgZGlzcGxheTogYmxvY2s7CiB9CiAKLWRpYWxv
ZzotaW50ZXJuYWwtbW9kYWwtZGlhbG9nIHsKK2RpYWxvZzptb2RhbCB7CiAgICAgcG9zaXRpb246
IGZpeGVkOwogICAgIG92ZXJmbG93OiBhdXRvOwogICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcAppbmRl
eCA4MzhiZjEzZTM0YWI2M2M3OWQ4YWJmMTA3YjFiZDIyZmMzNzM0ZDI2Li40MGVhZjg3MDJkNTgw
MzgzYTc5MjQ2Y2ZkYWM4OTBhODE5NzRjZjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcApAQCAtNjQ0LDggKzY0NCw2IEBAIHN0ZDo6dW5p
cXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gQ1NTU2VsZWN0b3JQYXJzZXI6OmNvbnN1bWVQc2V1
ZG8oQ1NTUGFyc2VyVG9rCiAgICAgICAgIGlmICghc2VsZWN0b3IpCiAgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKICAgICAgICAgaWYgKHNlbGVjdG9yLT5tYXRjaCgpID09IENTU1NlbGVjdG9y
OjpQc2V1ZG9DbGFzcykgewotICAgICAgICAgICAgaWYgKG1fY29udGV4dC5tb2RlICE9IFVBU2hl
ZXRNb2RlICYmIHNlbGVjdG9yLT5wc2V1ZG9DbGFzc1R5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNl
dWRvQ2xhc3NNb2RhbERpYWxvZykKLSAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAg
ICAgICAgICAgIGlmICghbV9jb250ZXh0LmZvY3VzVmlzaWJsZUVuYWJsZWQgJiYgc2VsZWN0b3It
PnBzZXVkb0NsYXNzVHlwZSgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0ZvY3VzVmlzaWJs
ZSkKICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgICAgIGlmICghbV9j
b250ZXh0Lmhhc1BzZXVkb0NsYXNzRW5hYmxlZCAmJiBzZWxlY3Rvci0+cHNldWRvQ2xhc3NUeXBl
KCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzSGFzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nzaml0
L1NlbGVjdG9yQ29tcGlsZXIuY3BwCmluZGV4IDdlYzM4YzZjN2I2N2JmOWUxNTg3NjNkZGU0NDZi
ZjA0NmM4YzNmNDUuLmZiZDVhNDlmNjMxYjk5MGE4YzYyY2EzZmVjYmQ0MTA4NzNiY2IyMTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAKQEAgLTEyNSw3ICsx
MjUsNyBAQCBzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1dURl9JTlRF
Uk5BTChvcGVyYXRpb25NYXRjaGVzVm9sdW1lTG9jawogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VM
RU1FTlQpCiBzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1dURl9JTlRF
Uk5BTChvcGVyYXRpb25IYXNBdHRhY2htZW50LCBib29sLCAoY29uc3QgRWxlbWVudCYpKTsKICNl
bmRpZgotc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9XVEZfSU5URVJO
QUwob3BlcmF0aW9uTWF0Y2hlc01vZGFsRGlhbG9nUHNldWRvQ2xhc3MsIGJvb2wsIChjb25zdCBF
bGVtZW50JikpOworc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9XVEZf
SU5URVJOQUwob3BlcmF0aW9uTWF0Y2hlc01vZGFsUHNldWRvQ2xhc3MsIGJvb2wsIChjb25zdCBF
bGVtZW50JikpOwogCiBzdGF0aWMgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1dU
Rl9JTlRFUk5BTChvcGVyYXRpb25BdHRyaWJ1dGVWYWx1ZUJlZ2luc1dpdGhDYXNlU2Vuc2l0aXZl
LCBib29sLCAoY29uc3QgQXR0cmlidXRlKiBhdHRyaWJ1dGUsIEF0b21TdHJpbmdJbXBsKiBleHBl
Y3RlZFN0cmluZykpOwogc3RhdGljIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT05fV0lUSE9VVF9X
VEZfSU5URVJOQUwob3BlcmF0aW9uQXR0cmlidXRlVmFsdWVCZWdpbnNXaXRoQ2FzZUluc2Vuc2l0
aXZlLCBib29sLCAoY29uc3QgQXR0cmlidXRlKiBhdHRyaWJ1dGUsIEF0b21TdHJpbmdJbXBsKiBl
eHBlY3RlZFN0cmluZykpOwpAQCAtODA0LDkgKzgwNCw5IEBAIEpTQ19ERUZJTkVfSklUX09QRVJB
VElPTihvcGVyYXRpb25NYXRjaGVzTGFuZ1BzZXVkb0NsYXNzLCBib29sLCAoY29uc3QgRWxlbWVu
dCYKICAgICByZXR1cm4gbWF0Y2hlc0xhbmdQc2V1ZG9DbGFzcyhlbGVtZW50LCBhcmd1bWVudExp
c3QpOwogfQogCi1KU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTWF0Y2hlc01vZGFs
RGlhbG9nUHNldWRvQ2xhc3MsIGJvb2wsIChjb25zdCBFbGVtZW50JiBlbGVtZW50KSkKK0pTQ19E
RUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25NYXRjaGVzTW9kYWxQc2V1ZG9DbGFzcywgYm9v
bCwgKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpKQogewotICAgIHJldHVybiBtYXRjaGVzTW9kYWxE
aWFsb2dQc2V1ZG9DbGFzcyhlbGVtZW50KTsKKyAgICByZXR1cm4gbWF0Y2hlc01vZGFsUHNldWRv
Q2xhc3MoZWxlbWVudCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgRnVuY3Rpb25UeXBlIGFkZFBzZXVk
b0NsYXNzVHlwZShjb25zdCBDU1NTZWxlY3RvciYgc2VsZWN0b3IsIFNlbGVjdG9yRnJhZ21lbnQm
IGZyYWdtZW50LCBTZWxlY3RvckNvbnRleHQgc2VsZWN0b3JDb250ZXh0LCBGcmFnbWVudHNMZXZl
bCBmcmFnbWVudExldmVsLCBGcmFnbWVudFBvc2l0aW9uSW5Sb290RnJhZ21lbnRzIHBvc2l0aW9u
SW5Sb290RnJhZ21lbnRzLCBib29sIHZpc2l0ZWRNYXRjaEVuYWJsZWQsIFZpc2l0ZWRNb2RlJiB2
aXNpdGVkTW9kZSwgUHNldWRvRWxlbWVudE1hdGNoaW5nQmVoYXZpb3IgcHNldWRvRWxlbWVudE1h
dGNoaW5nQmVoYXZpb3IpCkBAIC05NDUsOCArOTQ1LDggQEAgc3RhdGljIGlubGluZSBGdW5jdGlv
blR5cGUgYWRkUHNldWRvQ2xhc3NUeXBlKGNvbnN0IENTU1NlbGVjdG9yJiBzZWxlY3RvciwgU2Vs
ZWMKICAgICAgICAgcmV0dXJuIEZ1bmN0aW9uVHlwZTo6U2ltcGxlU2VsZWN0b3JDaGVja2VyOwog
I2VuZGlmCiAKLSAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc01vZGFsRGlhbG9nOgot
ICAgICAgICBmcmFnbWVudC51bm9wdGltaXplZFBzZXVkb0NsYXNzZXMuYXBwZW5kKEpTQzo6RnVu
Y3Rpb25QdHI8SlNDOjpPcGVyYXRpb25QdHJUYWc+KG9wZXJhdGlvbk1hdGNoZXNNb2RhbERpYWxv
Z1BzZXVkb0NsYXNzKSk7CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NNb2RhbDoK
KyAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1
bmN0aW9uUHRyPEpTQzo6T3BlcmF0aW9uUHRyVGFnPihvcGVyYXRpb25NYXRjaGVzTW9kYWxQc2V1
ZG9DbGFzcykpOwogICAgICAgICByZXR1cm4gRnVuY3Rpb25UeXBlOjpTaW1wbGVTZWxlY3RvckNo
ZWNrZXI7CiAKICAgICAvLyBUaGVzZSBwc2V1ZG8tY2xhc3NlcyBvbmx5IGhhdmUgbWVhbmluZyB3
aXRoIHNjcm9sbGJhcnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFs
b2dFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3Bw
CmluZGV4IGM0ZWU3NTg3YTFiMjA0ZmFhZjViMTEzZDczMmI2OTdkNTQ5ZDNiM2UuLjg5ZTBjMDU4
OWNjNDNlMTJlMWZhMDBhNzRkMDMwM2MwYmE1YWRjZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTERpYWxvZ0VsZW1lbnQuY3BwCkBAIC0yNiwxMSArMjYsMTMgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJIVE1MRGlhbG9nRWxlbWVudC5oIgogCisjaW5jbHVkZSAiQ1NTU2Vs
ZWN0b3IuaCIKICNpbmNsdWRlICJEb2N1bWVudElubGluZXMuaCIKICNpbmNsdWRlICJFdmVudExv
b3AuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRm9jdXNPcHRpb25zLmgi
CiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiUHNldWRvQ2xhc3NDaGFuZ2VJbnZh
bGlkYXRpb24uaCIKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU2NvcGVk
RXZlbnRRdWV1ZS5oIgogI2luY2x1ZGUgIlR5cGVkRWxlbWVudERlc2NlbmRhbnRJdGVyYXRvci5o
IgpAQCAtNzUsNyArNzcsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBIVE1MRGlhbG9nRWxlbWVudDo6
c2hvd01vZGFsKCkKICAgICBFdmVudFF1ZXVlU2NvcGUgc2NvcGU7CiAgICAgc2V0Qm9vbGVhbkF0
dHJpYnV0ZShvcGVuQXR0ciwgdHJ1ZSk7CiAKLSAgICBtX2lzTW9kYWwgPSB0cnVlOworICAgIHNl
dElzTW9kYWwodHJ1ZSk7CiAKICAgICBpZiAoIWlzSW5Ub3BMYXllcigpKQogICAgICAgICBhZGRU
b1RvcExheWVyKCk7CkBAIC05NCw3ICs5Niw3IEBAIHZvaWQgSFRNTERpYWxvZ0VsZW1lbnQ6OmNs
b3NlKGNvbnN0IFN0cmluZyYgcmVzdWx0KQogCiAgICAgc2V0Qm9vbGVhbkF0dHJpYnV0ZShvcGVu
QXR0ciwgZmFsc2UpOwogCi0gICAgbV9pc01vZGFsID0gZmFsc2U7CisgICAgc2V0SXNNb2RhbChm
YWxzZSk7CiAKICAgICBpZiAoIXJlc3VsdC5pc051bGwoKSkKICAgICAgICAgbV9yZXR1cm5WYWx1
ZSA9IHJlc3VsdDsKQEAgLTE1OCw3ICsxNjAsMTMgQEAgdm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6
cnVuRm9jdXNpbmdTdGVwcygpCiB2b2lkIEhUTUxEaWFsb2dFbGVtZW50OjpyZW1vdmVkRnJvbUFu
Y2VzdG9yKFJlbW92YWxUeXBlIHJlbW92YWxUeXBlLCBDb250YWluZXJOb2RlJiBvbGRQYXJlbnRP
ZlJlbW92ZWRUcmVlKQogewogICAgIEhUTUxFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKHJl
bW92YWxUeXBlLCBvbGRQYXJlbnRPZlJlbW92ZWRUcmVlKTsKLSAgICBtX2lzTW9kYWwgPSBmYWxz
ZTsKKyAgICBzZXRJc01vZGFsKGZhbHNlKTsKK30KKwordm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6
c2V0SXNNb2RhbChib29sIG5ld1ZhbHVlKQoreworICAgIFN0eWxlOjpQc2V1ZG9DbGFzc0NoYW5n
ZUludmFsaWRhdGlvbiBzdHlsZUludmFsaWRhdGlvbigqdGhpcywgQ1NTU2VsZWN0b3I6OlBzZXVk
b0NsYXNzTW9kYWwsIG5ld1ZhbHVlKTsKKyAgICBtX2lzTW9kYWwgPSBuZXdWYWx1ZTsKIH0KIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oCmluZGV4IGM0NDkzY2MyZjc5
NTRlNzllNTY4NTU1NjUwMWJkNDYyZjgwOWI3NGEuLmRiM2VhYmRmYmRiNTBkMmMwMDdmY2MzOTk3
ZDM2MGFmYWRiZWJlMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxv
Z0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmgK
QEAgLTUzLDYgKzUzLDcgQEAgcHJpdmF0ZToKICAgICBIVE1MRGlhbG9nRWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAogICAgIHZvaWQgcmVtb3ZlZEZyb21BbmNlc3Rv
cihSZW1vdmFsVHlwZSwgQ29udGFpbmVyTm9kZSYgb2xkUGFyZW50T2ZSZW1vdmVkVHJlZSkgZmlu
YWw7CisgICAgdm9pZCBzZXRJc01vZGFsKGJvb2wgbmV3VmFsdWUpOwogCiAgICAgU3RyaW5nIG1f
cmV0dXJuVmFsdWU7CiAgICAgYm9vbCBtX2lzTW9kYWwgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU0NWYw
ZmZmYTgwN2Q1ZjU2MTgwYTZhYTBlMmFhMDg0NjZhYjdmODguLjNhZDg5MmI3OTVkNDgzYTUzOTlm
NGY1N2VkNjUwODhjOWM0MWMxZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMi0wNS0wOSAg
VGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBDU1MgOm1v
ZGFsIHBzZXVkbyBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjQwMTA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVtb3ZlcyA6LWludGVybmFsLW1vZGFsLWRpYWxvZyBmcm9tIGludGVybmFsIHBz
ZXVkbyBjbGFzc2VzLgorCisgICAgICAgICogZmFzdC9jc3MvcHNldWRvLWNsYXNzLWludGVybmFs
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9wc2V1ZG8tY2xhc3MtaW50ZXJuYWwu
aHRtbDoKKwogMjAyMi0wNS0wOSAgWmlyYW4gU3VuICA8enN1bkBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIE1ha2UgaW5wdXQgcGxhY2Vob2xkZXIgbGluZS1oZWlnaHQgZGVjbGFyYXRpb24gIWltcG9y
dGFudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggM2FlODZhZTI2ZDg1YzE1MTcy
MDczZGE5Njg2MmNkMjg2OGIyOWM5Yi4uZGY0OGY3MTE2MTY2NTIxOWNkM2QwODM5MzIwYmMwODE5
YmIxNmU4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMjItMDUtMDkgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBs
ZW1lbnQgQ1NTIDptb2RhbCBwc2V1ZG8gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDEwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhbmQgZXh0ZW5kIHRlc3RzIGZvciA6bW9kYWwgcHNl
dWRvLWNsYXNzLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMv
aW52YWxpZGF0aW9uL21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRp
b24vbW9kYWwtcHNldWRvLWNsYXNzLWluLWhhcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRp
YWxvZy1lbGVtZW50L2RpYWxvZy1zaG93LW1vZGFsLmh0bWw6CisKIDIwMjItMDUtMDYgIFJvYiBC
dWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBVc2UgY29ycmVjdCBkb2N1bWVudCBh
cyByb290IGZvciBsYXp5IGltYWdlIG9ic2VydmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9wc2V1ZG8tY2xhc3MtaW50ZXJuYWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvcHNldWRvLWNsYXNzLWludGVybmFsLWV4cGVjdGVkLnR4dAppbmRleCA4MzhjZWI3
MmY2MDNhOTY1ODk0NzM4YjA1YWU4NzlhYjQ0OWZkNmI1Li41M2EyNDZmYjc1ZTg1MDUyMThkZjI2
NGVlOGU1YjJhNzYyZDYwOTk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1
ZG8tY2xhc3MtaW50ZXJuYWwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L3BzZXVkby1jbGFzcy1pbnRlcm5hbC1leHBlY3RlZC50eHQKQEAgLTQsNyArNCw2IEBAIE9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFCiAKIAogUEFTUyB0YXJnZXQubWF0Y2hlcygiOi1pbnRlcm5hbC1k
aXJlY3QtZm9jdXMiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFRoZSBzdHJpbmcgZGlk
IG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4uCi1QQVNTIHRhcmdldC5tYXRjaGVzKCI6
LWludGVybmFsLW1vZGFsLWRpYWxvZyIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVGhl
IHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4KIFBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9jc3MvcHNldWRvLWNsYXNzLWludGVybmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9wc2V1ZG8tY2xhc3MtaW50ZXJuYWwuaHRtbAppbmRleCA0MjQzYWQwNjdmOWZkMzQ3
YTJhZTMyMDgyYTUxMjI0OWY5ODUxZTMyLi4yMTEyNjM0Mjg3OTQwYzk4NDBiYTI1ZmVmZjkzNGVh
YjQ5MmFhMGMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tY2xhc3Mt
aW50ZXJuYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tY2xhc3MtaW50
ZXJuYWwuaHRtbApAQCAtMTAsNyArMTAsNiBAQCBkZXNjcmlwdGlvbignVGhpcyB0ZXN0cyB0aGF0
IC1pbnRlcm5hbC0gcHNldWRvIGNsYXNzZXMgYXJlIG5vdCBleHBvc2VkJyk7CiBmdW5jdGlvbiBy
dW5UZXN0KCkgewogICAgIGNvbnN0IGludGVybmFsUHNldWRvQ2xhc3NlcyA9IFsKICAgICAgICAg
JzotaW50ZXJuYWwtZGlyZWN0LWZvY3VzJywKLSAgICAgICAgJzotaW50ZXJuYWwtbW9kYWwtZGlh
bG9nJywKICAgICBdOwogICAgIGZvciAoY29uc3QgcHNldWRvIG9mIGludGVybmFsUHNldWRvQ2xh
c3NlcykgewogICAgICAgICBzaG91bGRUaHJvd0Vycm9yTmFtZSgndGFyZ2V0Lm1hdGNoZXMoIicg
KyBwc2V1ZG8gKyAnIiknLCAnU3ludGF4RXJyb3InKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRp
b24vbW9kYWwtcHNldWRvLWNsYXNzLWluLWhhcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9u
L21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiZjI0
ZmVhZWI1ZWJmZGNlOWYxODYzNGYzOWNiNTI2NWViNTQwZDIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMv
aW52YWxpZGF0aW9uL21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNiBAQAorVGhpcyBpcyBzb21lIHRleHQuCisKK1BBU1MgOm1vZGFsIHBzZXVkby1jbGFz
cyBpcyBub3QgYWN0aXZlIHdpdGggZGlhbG9nLnNob3coKQorUEFTUyA6bW9kYWwgcHNldWRvLWNs
YXNzIGludmFsaWRhdGlvbiB3aXRoIHNob3dNb2RhbCtjbG9zZQorUEFTUyA6bW9kYWwgcHNldWRv
LWNsYXNzIGludmFsaWRhdGlvbiB3aXRoIHNob3dNb2RhbCtyZW1vdmUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3Jz
L2ludmFsaWRhdGlvbi9tb2RhbC1wc2V1ZG8tY2xhc3MtaW4taGFzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0
aW9uL21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YzQ4N2ZiYTE2
ZmRhZDdkMDdkZmMxYjg2N2RmZGRmN2E0YTAyMWNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ludmFs
aWRhdGlvbi9tb2RhbC1wc2V1ZG8tY2xhc3MtaW4taGFzLmh0bWwKQEAgLTAsMCArMSw0NCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5DU1MgU2Vs
ZWN0b3JzIEludmFsaWRhdGlvbjogOm1vZGFsIHBzZXVkbyBjbGFzcyBpbiA6aGFzKCk8L3RpdGxl
PgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJUaW0gTmd1eWVuIiBocmVmPSJodHRwczovL2dp
dGh1Yi5jb20vbnQxbSI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNz
c3dnLm9yZy9zZWxlY3RvcnMvI3JlbGF0aW9uYWwiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICAjc3ViamVjdDpoYXMoI2RpYWxv
Zzptb2RhbCkgeyBjb2xvcjogZ3JlZW4gfQorPC9zdHlsZT4KKzxkaXYgaWQ9InN1YmplY3QiPgor
ICBUaGlzIGlzIHNvbWUgdGV4dC4KKyAgPGRpYWxvZyBpZD0iZGlhbG9nIj5UaGlzIGlzIGEgZGlh
bG9nPC9kaWFsb2c+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAg
YXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHN1YmplY3QpLmNvbG9yLCAicmdiKDAsIDAs
IDApIiwKKyAgICAgICAgICAgICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgYmxhY2sgc2luY2Ug
ZGlhbG9nIGlzIG5vdCBtb2RhbCIpOworICAgIGRpYWxvZy5zaG93KCk7CisgICAgYXNzZXJ0X2Vx
dWFscyhnZXRDb21wdXRlZFN0eWxlKHN1YmplY3QpLmNvbG9yLCAicmdiKDAsIDAsIDApIiwKKyAg
ICAgICAgICAgICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgYmxhY2sgc2luY2UgZGlhbG9nIGlz
IG5vdCBtb2RhbCIpOworICAgIGRpYWxvZy5jbG9zZSgpOworICB9LCAiOm1vZGFsIHBzZXVkby1j
bGFzcyBpcyBub3QgYWN0aXZlIHdpdGggZGlhbG9nLnNob3coKSIpOworICB0ZXN0KGZ1bmN0aW9u
KCkgeworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShzdWJqZWN0KS5jb2xvciwg
InJnYigwLCAwLCAwKSIsCisgICAgICAgICAgICAgICAgICAiYW5jZXN0b3Igc2hvdWxkIGJlIGJs
YWNrIik7CisgICAgZGlhbG9nLnNob3dNb2RhbCgpOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShzdWJqZWN0KS5jb2xvciwgInJnYigwLCAxMjgsIDApIiwKKyAgICAgICAgICAg
ICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgZ3JlZW4gc2luY2UgZGlhbG9nIGlzIHNob3duIG1v
ZGFsbHkiKTsKKyAgICBkaWFsb2cuY2xvc2UoKTsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1
dGVkU3R5bGUoc3ViamVjdCkuY29sb3IsICJyZ2IoMCwgMCwgMCkiLAorICAgICAgICAgICAgICAg
ICAgImFuY2VzdG9yIHNob3VsZCBiZSBibGFjayBzaW5jZSBkaWFsb2cgaXMgY2xvc2VkIik7Cisg
IH0sICI6bW9kYWwgcHNldWRvLWNsYXNzIGludmFsaWRhdGlvbiB3aXRoIHNob3dNb2RhbCtjbG9z
ZSIpOworICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShzdWJqZWN0KS5jb2xvciwgInJnYigwLCAwLCAwKSIsCisgICAgICAgICAgICAgICAgICAi
YW5jZXN0b3Igc2hvdWxkIGJlIGJsYWNrIik7CisgICAgZGlhbG9nLnNob3dNb2RhbCgpOworICAg
IGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShzdWJqZWN0KS5jb2xvciwgInJnYigwLCAx
MjgsIDApIiwKKyAgICAgICAgICAgICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgZ3JlZW4gc2lu
Y2UgZGlhbG9nIGlzIHNob3duIG1vZGFsbHkiKTsKKyAgICBkaWFsb2cucmVtb3ZlKCk7CisgICAg
YXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHN1YmplY3QpLmNvbG9yLCAicmdiKDAsIDAs
IDApIiwKKyAgICAgICAgICAgICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgYmxhY2sgc2luY2Ug
ZGlhbG9nIGlzIGNsb3NlZCIpOworICB9LCAiOm1vZGFsIHBzZXVkby1jbGFzcyBpbnZhbGlkYXRp
b24gd2l0aCBzaG93TW9kYWwrcmVtb3ZlIik7Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ct
ZWxlbWVudC9kaWFsb2ctc2hvdy1tb2RhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90
aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLXNob3ctbW9kYWwuaHRtbAppbmRleCBlZDY0Mzc1NjUw
OGNlMzkzOWYwNjM2ZWY1YWM5ZDA5OTFmYzM5YzE3Li42MTBlNjZkMjAxMTJmZDIxN2VjOTExNTQy
NDVkZWJkOWEyNjkzNjAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1k
aWFsb2ctZWxlbWVudC9kaWFsb2ctc2hvdy1tb2RhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUt
ZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1zaG93LW1vZGFsLmh0bWwKQEAgLTEw
LDI2ICsxMCwyOSBAQAogCiA8c2NyaXB0PgogdGVzdCgoKSA9PiB7Ci0gIGNvbnN0IGRpYWxvZyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdteWRpYWxvZycpOworICBjb25zdCBkaWFsb2cgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgibXlkaWFsb2ciKTsKICAgY29uc3QgY29tcHV0ZWRTdHls
ZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRpYWxvZywgbnVsbCk7Ci0gIGFzc2VydF9lcXVh
bHMoY29tcHV0ZWRTdHlsZS5kaXNwbGF5LCAnbm9uZScpOworICBhc3NlcnRfZXF1YWxzKGNvbXB1
dGVkU3R5bGUuZGlzcGxheSwgIm5vbmUiKTsKKyAgYXNzZXJ0X2ZhbHNlKGRpYWxvZy5tYXRjaGVz
KCI6bW9kYWwiKSk7CiAKICAgZGlhbG9nLnNob3dNb2RhbCgpOwotICBhc3NlcnRfZXF1YWxzKGNv
bXB1dGVkU3R5bGUuZGlzcGxheSwgJ2Jsb2NrJyk7CisgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRT
dHlsZS5kaXNwbGF5LCAiYmxvY2siKTsKKyAgYXNzZXJ0X3RydWUoZGlhbG9nLm1hdGNoZXMoIjpt
b2RhbCIpKTsKIAogICAvLyBUaGUgcXVvdGVkIHRleHRzIG91dHB1dCBiZWxvdyBhcmUgZnJvbSA8
aHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBh
Z2UvY29tbWFuZHMuaHRtbCNkb20tZGlhbG9nLXNob3dtb2RhbD4uCi0gIGFzc2VydF90aHJvd3Nf
ZG9tKCdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IGRpYWxvZy5zaG93TW9kYWwoKSk7CisgIGFz
c2VydF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsICgpID0+IGRpYWxvZy5zaG93TW9k
YWwoKSk7CiAKICAgZGlhbG9nLmNsb3NlKCk7Ci0gIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHls
ZS5kaXNwbGF5LCAnbm9uZScpOworICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZGlzcGxh
eSwgIm5vbmUiKTsKKyAgYXNzZXJ0X2ZhbHNlKGRpYWxvZy5tYXRjaGVzKCI6bW9kYWwiKSk7CiAK
ICAgZGlhbG9nLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZGlhbG9nKTsKLSAgYXNzZXJ0X3Rocm93
c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywgKCkgPT4gZGlhbG9nLnNob3dNb2RhbCgpKTsKKyAg
YXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgKCkgPT4gZGlhbG9nLnNob3dN
b2RhbCgpKTsKIAogICBjb25zdCBkb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVI
VE1MRG9jdW1lbnQoKTsKICAgZG9jLmJvZHkuYXBwZW5kQ2hpbGQoZGlhbG9nKTsKICAgYXNzZXJ0
X2ZhbHNlKGRpYWxvZy5vcGVuKTsKICAgZGlhbG9nLnNob3dNb2RhbCgpOwotICBhc3NlcnRfdHJ1
ZShkaWFsb2cub3BlbiwgJ0FsdGhvdWdoIHRoZSBkb2N1bWVudCBpcyBub3QgYXR0YWNoZWQgdG8g
YW55IHBhZ2VzLCBzaG93TW9kYWwoKSBzaG91bGQgZXhlY3V0ZSBhcyBub3JtYWwuJyk7Ci19LCAn
VGVzdHMgdGhhdCBzaG93TW9kYWwoKSBwZXJmb3JtcyB0aGUgc3RlcHMgc3BlY2lmaWVkIGluIHRo
ZSBIVE1MIHNwZWMuJyk7CisgIGFzc2VydF90cnVlKGRpYWxvZy5vcGVuLCAiQWx0aG91Z2ggdGhl
IGRvY3VtZW50IGlzIG5vdCBhdHRhY2hlZCB0byBhbnkgcGFnZXMsIHNob3dNb2RhbCgpIHNob3Vs
ZCBleGVjdXRlIGFzIG5vcm1hbC4iKTsKK30sICJUZXN0cyB0aGF0IHNob3dNb2RhbCgpIHBlcmZv
cm1zIHRoZSBzdGVwcyBzcGVjaWZpZWQgaW4gdGhlIEhUTUwgc3BlYy4iKTsKIDwvc2NyaXB0Pgo=
</data>
<flag name="review"
          id="488068"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
    <flag name="commit-queue"
          id="488080"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459065</attachid>
            <date>2022-05-09 12:09:21 -0700</date>
            <delta_ts>2022-05-09 15:34:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240109-20220509210919.patch</filename>
            <type>text/plain</type>
            <size>19972</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzOTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhkN2M5MjE3MDIzMjVi
MGU2NTRhODNhNGQyNWNlOGI1MDQ4ZWEwOS4uOTVkYzhmOTk4YjNiYzRhNzkzMTI3ZjU4NTcwNjQ5
Y2IyMGIxZjY3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIyLTA1LTA5ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENTUyA6bW9kYWwg
cHNldWRvIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yNDAxMDkKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAg
ICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2lu
dmFsaWRhdGlvbi9tb2RhbC1wc2V1ZG8tY2xhc3MtaW4taGFzLmh0bWwKKworICAgICAgICBSZW5h
bWVzIDotaW50ZXJuYWwtbW9kYWwtZGlhbG9nIHRvIDptb2RhbCBhbmQgYWRkcyA6aGFzKCkgaW52
YWxpZGF0aW9uIHN1cHBvcnQuCisKKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3IuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6OnNlbGVjdG9yVGV4dCBjb25zdCk6CisgICAgICAg
ICogY3NzL0NTU1NlbGVjdG9yLmg6CisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lIGNvbnN0KToKKyAg
ICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyVGVzdEZ1bmN0aW9ucy5oOgorICAgICAgICAoV2Vi
Q29yZTo6bWF0Y2hlc01vZGFsUHNldWRvQ2xhc3MpOgorICAgICAgICAoV2ViQ29yZTo6bWF0Y2hl
c01vZGFsRGlhbG9nUHNldWRvQ2xhc3MpOiBEZWxldGVkLgorICAgICAgICAqIGNzcy9TZWxlY3Rv
clBzZXVkb0NsYXNzQW5kQ29tcGF0aWJpbGl0eUVsZW1lbnRNYXAuaW46CisgICAgICAgICogY3Nz
L2RpYWxvZy5jc3M6CisgICAgICAgIChkaWFsb2c6bW9kYWwpOgorICAgICAgICAoZGlhbG9nOi1p
bnRlcm5hbC1tb2RhbC1kaWFsb2cpOiBEZWxldGVkLgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NT
U2VsZWN0b3JQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3JQYXJzZXI6
OmNvbnN1bWVQc2V1ZG8pOgorICAgICAgICAqIGNzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OkpTQ19ERUZJTkVfSklUX09QRVJB
VElPTik6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjphZGRQc2V1ZG9DbGFz
c1R5cGUpOgorICAgICAgICAqIGh0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OnNob3dNb2RhbCk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRGlhbG9nRWxlbWVudDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERpYWxv
Z0VsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERp
YWxvZ0VsZW1lbnQ6OnNldElzTW9kYWwpOgorICAgICAgICAqIGh0bWwvSFRNTERpYWxvZ0VsZW1l
bnQuaDoKKwogMjAyMi0wNS0wOSAgWmlyYW4gU3VuICA8enN1bkBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIE1ha2UgaW5wdXQgcGxhY2Vob2xkZXIgbGluZS1oZWlnaHQgZGVjbGFyYXRpb24gIWltcG9y
dGFudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKaW5kZXggNTg3YTFjNjg2NGJlMjQwNjhk
YWZlNTg2N2RhY2VkZDA0ZDViYjA2OS4uODQ0YTZhMjBhNDBlMTAyODg3OTNlMDJjMDllZjIxMzk0
OGZhZTRlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCkBAIC01OTEsOCArNTkxLDgg
QEAgU3RyaW5nIENTU1NlbGVjdG9yOjpzZWxlY3RvclRleHQoY29uc3QgU3RyaW5nJiByaWdodFNp
ZGUpIGNvbnN0CiAgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0xpbms6
CiAgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoIjpsaW5rIik7CiAgICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc01vZGFs
RGlhbG9nOgotICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCI6LWludGVybmFsLW1vZGFs
LWRpYWxvZyIpOworICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NNb2Rh
bDoKKyAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgiOm1vZGFsIik7CiAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc05v
QnV0dG9uOgogICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCI6bm8tYnV0dG9uIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTZWxlY3Rvci5oCmluZGV4IDk3Mzc0NmZjMTg5ZGE1NDY2ODNjMWMyNmNmY2Rm
MDE1ODgxYzI2NDYuLmIxOTUwZWIzNjQ1YjMyYzVhYjQ5MzM2NGQ0MjVmZGRhMjllMDVkZjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCkBAIC0xODUsNyArMTg1LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAgICAgICAgICAgICBQc2V1
ZG9DbGFzc0hhc0F0dGFjaG1lbnQsCiAjZW5kaWYKLSAgICAgICAgICAgIFBzZXVkb0NsYXNzTW9k
YWxEaWFsb2csCisgICAgICAgICAgICBQc2V1ZG9DbGFzc01vZGFsLAogICAgICAgICB9OwogCiAg
ICAgICAgIGVudW0gUHNldWRvRWxlbWVudFR5cGUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JD
aGVja2VyLmNwcAppbmRleCBiNDU3M2JjYjdkYTgzN2QxZGY2ODliMzc0NjNlMDYzZmU1MzA0NWEw
Li5mNzI3MjAyNTFmNmQ2MTAyM2UxODc2YTk1YjU4ZGI5NWE4OGMwNTI1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcApAQCAtMTEzMiw4ICsxMTMyLDggQEAgYm9vbCBTZWxl
Y3RvckNoZWNrZXI6OmNoZWNrT25lKENoZWNraW5nQ29udGV4dCYgY2hlY2tpbmdDb250ZXh0LCBj
b25zdCBMb2NhbENvbnQKICAgICAgICAgICAgIHJldHVybiBoYXNBdHRhY2htZW50KGVsZW1lbnQp
OwogI2VuZGlmCiAKLSAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NNb2RhbERp
YWxvZzoKLSAgICAgICAgICAgIHJldHVybiBtYXRjaGVzTW9kYWxEaWFsb2dQc2V1ZG9DbGFzcyhl
bGVtZW50KTsKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NNb2RhbDoKKyAg
ICAgICAgICAgIHJldHVybiBtYXRjaGVzTW9kYWxQc2V1ZG9DbGFzcyhlbGVtZW50KTsKIAogICAg
ICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1Vua25vd246CiAgICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxl
Y3RvckNoZWNrZXJUZXN0RnVuY3Rpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JD
aGVja2VyVGVzdEZ1bmN0aW9ucy5oCmluZGV4IGYzYWJhOWIyNDY1NDBkYjM1YzdjNmYwNWQ3MWY5
ZWEwYzFjY2Y2MGYuLmQ3YTBhZGJhYjZlOGU1MzczNTkwMmU1MmM2YzRlNjgwOTkyYzViZjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25z
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMu
aApAQCAtNTMxLDcgKzUzMSw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBtYXRjaGVzRm9jdXNXaXRo
aW5Qc2V1ZG9DbGFzcyhjb25zdCBFbGVtZW50JiBlbGVtZW50KQogICAgIHJldHVybiBlbGVtZW50
Lmhhc0ZvY3VzV2l0aGluKCkgJiYgaXNGcmFtZUZvY3VzZWQoZWxlbWVudCk7CiB9CiAKLUFMV0FZ
U19JTkxJTkUgYm9vbCBtYXRjaGVzTW9kYWxEaWFsb2dQc2V1ZG9DbGFzcyhjb25zdCBFbGVtZW50
JiBlbGVtZW50KQorQUxXQVlTX0lOTElORSBib29sIG1hdGNoZXNNb2RhbFBzZXVkb0NsYXNzKGNv
bnN0IEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgaWYgKGlzPEhUTUxEaWFsb2dFbGVtZW50Pihl
bGVtZW50KSkKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PEhUTUxEaWFsb2dFbGVtZW50PihlbGVt
ZW50KS5pc01vZGFsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JQ
c2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmluIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1NlbGVjdG9yUHNldWRvQ2xhc3NBbmRDb21wYXRpYmlsaXR5RWxlbWVudE1hcC5pbgppbmRl
eCAxYmJiNGQxODNkOGNmYjc3NzZjOTgyMTBmMTlmYmVjZGMwNjk5MzIwLi41YWU3ZmUxYjU3MmIz
NmZjMTUzNDg4MjA2NTIzM2RkM2I0YTJiNDU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVkb0NsYXNzQW5kQ29tcGF0aWJpbGl0eUVs
ZW1lbnRNYXAuaW4KQEAgLTEsNCArMSwzIEBACi0taW50ZXJuYWwtbW9kYWwtZGlhbG9nCiAta2h0
bWwtZHJhZwogLXdlYmtpdC1hbnkKIC13ZWJraXQtYW55LWxpbmssIFBzZXVkb0NsYXNzQW55TGlu
a0RlcHJlY2F0ZWQsIFBzZXVkb0VsZW1lbnRVbmtub3duCkBAIC01MCw2ICs0OSw3IEBAIGxhc3Qt
Y2hpbGQKIGxhc3Qtb2YtdHlwZQogbGluawogbWF0Y2hlcworbW9kYWwKIG5vLWJ1dHRvbgogbm90
CiBudGgtY2hpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9kaWFsb2cuY3NzIGIv
U291cmNlL1dlYkNvcmUvY3NzL2RpYWxvZy5jc3MKaW5kZXggYjdkZDg2NjQyMjgyMmYxMDJmMGY0
YjliNDRmZTcwNmFkZTNjM2VmMS4uZTYwYjRjZTJhMmVmMzYzNTNkYTk4YTRhMjc5OWQ0YWZjN2Rm
NWUxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL2RpYWxvZy5jc3MKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL2RpYWxvZy5jc3MKQEAgLTE2LDcgKzE2LDcgQEAgZGlhbG9nW29wZW5d
IHsKICAgICBkaXNwbGF5OiBibG9jazsKIH0KIAotZGlhbG9nOi1pbnRlcm5hbC1tb2RhbC1kaWFs
b2cgeworZGlhbG9nOm1vZGFsIHsKICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgb3ZlcmZsb3c6
IGF1dG87CiAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwCmluZGV4IDgzOGJmMTNlMzRhYjYzYzc5ZDhh
YmYxMDdiMWJkMjJmYzM3MzRkMjYuLjQwZWFmODcwMmQ1ODAzODNhNzkyNDZjZmRhYzg5MGE4MTk3
NGNmMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQ
YXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJz
ZXIuY3BwCkBAIC02NDQsOCArNjQ0LDYgQEAgc3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVj
dG9yPiBDU1NTZWxlY3RvclBhcnNlcjo6Y29uc3VtZVBzZXVkbyhDU1NQYXJzZXJUb2sKICAgICAg
ICAgaWYgKCFzZWxlY3RvcikKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICBp
ZiAoc2VsZWN0b3ItPm1hdGNoKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzKSB7Ci0gICAg
ICAgICAgICBpZiAobV9jb250ZXh0Lm1vZGUgIT0gVUFTaGVldE1vZGUgJiYgc2VsZWN0b3ItPnBz
ZXVkb0NsYXNzVHlwZSgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc01vZGFsRGlhbG9nKQot
ICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICAgICAgaWYgKCFtX2NvbnRl
eHQuZm9jdXNWaXNpYmxlRW5hYmxlZCAmJiBzZWxlY3Rvci0+cHNldWRvQ2xhc3NUeXBlKCkgPT0g
Q1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzRm9jdXNWaXNpYmxlKQogICAgICAgICAgICAgICAgIHJl
dHVybiBudWxscHRyOwogICAgICAgICAgICAgaWYgKCFtX2NvbnRleHQuaGFzUHNldWRvQ2xhc3NF
bmFibGVkICYmIHNlbGVjdG9yLT5wc2V1ZG9DbGFzc1R5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNl
dWRvQ2xhc3NIYXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JD
b21waWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAK
aW5kZXggN2VjMzhjNmM3YjY3YmY5ZTE1ODc2M2RkZTQ0NmJmMDQ2YzhjM2Y0NS4uZmJkNWE0OWY2
MzFiOTkwYThjNjJjYTNmZWNiZDQxMDg3M2JjYjIxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzc2pp
dC9TZWxlY3RvckNvbXBpbGVyLmNwcApAQCAtMTI1LDcgKzEyNSw3IEBAIHN0YXRpYyBKU0NfREVD
TEFSRV9KSVRfT1BFUkFUSU9OX1dJVEhPVVRfV1RGX0lOVEVSTkFMKG9wZXJhdGlvbk1hdGNoZXNW
b2x1bWVMb2NrCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKIHN0YXRpYyBKU0NfREVD
TEFSRV9KSVRfT1BFUkFUSU9OX1dJVEhPVVRfV1RGX0lOVEVSTkFMKG9wZXJhdGlvbkhhc0F0dGFj
aG1lbnQsIGJvb2wsIChjb25zdCBFbGVtZW50JikpOwogI2VuZGlmCi1zdGF0aWMgSlNDX0RFQ0xB
UkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1dURl9JTlRFUk5BTChvcGVyYXRpb25NYXRjaGVzTW9k
YWxEaWFsb2dQc2V1ZG9DbGFzcywgYm9vbCwgKGNvbnN0IEVsZW1lbnQmKSk7CitzdGF0aWMgSlND
X0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1dURl9JTlRFUk5BTChvcGVyYXRpb25NYXRj
aGVzTW9kYWxQc2V1ZG9DbGFzcywgYm9vbCwgKGNvbnN0IEVsZW1lbnQmKSk7CiAKIHN0YXRpYyBK
U0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OX1dJVEhPVVRfV1RGX0lOVEVSTkFMKG9wZXJhdGlvbkF0
dHJpYnV0ZVZhbHVlQmVnaW5zV2l0aENhc2VTZW5zaXRpdmUsIGJvb2wsIChjb25zdCBBdHRyaWJ1
dGUqIGF0dHJpYnV0ZSwgQXRvbVN0cmluZ0ltcGwqIGV4cGVjdGVkU3RyaW5nKSk7CiBzdGF0aWMg
SlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTl9XSVRIT1VUX1dURl9JTlRFUk5BTChvcGVyYXRpb25B
dHRyaWJ1dGVWYWx1ZUJlZ2luc1dpdGhDYXNlSW5zZW5zaXRpdmUsIGJvb2wsIChjb25zdCBBdHRy
aWJ1dGUqIGF0dHJpYnV0ZSwgQXRvbVN0cmluZ0ltcGwqIGV4cGVjdGVkU3RyaW5nKSk7CkBAIC04
MDQsOSArODA0LDkgQEAgSlNDX0RFRklORV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbk1hdGNoZXNM
YW5nUHNldWRvQ2xhc3MsIGJvb2wsIChjb25zdCBFbGVtZW50JgogICAgIHJldHVybiBtYXRjaGVz
TGFuZ1BzZXVkb0NsYXNzKGVsZW1lbnQsIGFyZ3VtZW50TGlzdCk7CiB9CiAKLUpTQ19ERUZJTkVf
SklUX09QRVJBVElPTihvcGVyYXRpb25NYXRjaGVzTW9kYWxEaWFsb2dQc2V1ZG9DbGFzcywgYm9v
bCwgKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpKQorSlNDX0RFRklORV9KSVRfT1BFUkFUSU9OKG9w
ZXJhdGlvbk1hdGNoZXNNb2RhbFBzZXVkb0NsYXNzLCBib29sLCAoY29uc3QgRWxlbWVudCYgZWxl
bWVudCkpCiB7Ci0gICAgcmV0dXJuIG1hdGNoZXNNb2RhbERpYWxvZ1BzZXVkb0NsYXNzKGVsZW1l
bnQpOworICAgIHJldHVybiBtYXRjaGVzTW9kYWxQc2V1ZG9DbGFzcyhlbGVtZW50KTsKIH0KIAog
c3RhdGljIGlubGluZSBGdW5jdGlvblR5cGUgYWRkUHNldWRvQ2xhc3NUeXBlKGNvbnN0IENTU1Nl
bGVjdG9yJiBzZWxlY3RvciwgU2VsZWN0b3JGcmFnbWVudCYgZnJhZ21lbnQsIFNlbGVjdG9yQ29u
dGV4dCBzZWxlY3RvckNvbnRleHQsIEZyYWdtZW50c0xldmVsIGZyYWdtZW50TGV2ZWwsIEZyYWdt
ZW50UG9zaXRpb25JblJvb3RGcmFnbWVudHMgcG9zaXRpb25JblJvb3RGcmFnbWVudHMsIGJvb2wg
dmlzaXRlZE1hdGNoRW5hYmxlZCwgVmlzaXRlZE1vZGUmIHZpc2l0ZWRNb2RlLCBQc2V1ZG9FbGVt
ZW50TWF0Y2hpbmdCZWhhdmlvciBwc2V1ZG9FbGVtZW50TWF0Y2hpbmdCZWhhdmlvcikKQEAgLTk0
NSw4ICs5NDUsOCBAQCBzdGF0aWMgaW5saW5lIEZ1bmN0aW9uVHlwZSBhZGRQc2V1ZG9DbGFzc1R5
cGUoY29uc3QgQ1NTU2VsZWN0b3ImIHNlbGVjdG9yLCBTZWxlYwogICAgICAgICByZXR1cm4gRnVu
Y3Rpb25UeXBlOjpTaW1wbGVTZWxlY3RvckNoZWNrZXI7CiAjZW5kaWYKIAotICAgIGNhc2UgQ1NT
U2VsZWN0b3I6OlBzZXVkb0NsYXNzTW9kYWxEaWFsb2c6Ci0gICAgICAgIGZyYWdtZW50LnVub3B0
aW1pemVkUHNldWRvQ2xhc3Nlcy5hcHBlbmQoSlNDOjpGdW5jdGlvblB0cjxKU0M6Ok9wZXJhdGlv
blB0clRhZz4ob3BlcmF0aW9uTWF0Y2hlc01vZGFsRGlhbG9nUHNldWRvQ2xhc3MpKTsKKyAgICBj
YXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc01vZGFsOgorICAgICAgICBmcmFnbWVudC51bm9w
dGltaXplZFBzZXVkb0NsYXNzZXMuYXBwZW5kKEpTQzo6RnVuY3Rpb25QdHI8SlNDOjpPcGVyYXRp
b25QdHJUYWc+KG9wZXJhdGlvbk1hdGNoZXNNb2RhbFBzZXVkb0NsYXNzKSk7CiAgICAgICAgIHJl
dHVybiBGdW5jdGlvblR5cGU6OlNpbXBsZVNlbGVjdG9yQ2hlY2tlcjsKIAogICAgIC8vIFRoZXNl
IHBzZXVkby1jbGFzc2VzIG9ubHkgaGF2ZSBtZWFuaW5nIHdpdGggc2Nyb2xsYmFycy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKaW5kZXggYzRlZTc1ODdhMWIyMDRm
YWFmNWIxMTNkNzMyYjY5N2Q1NDlkM2IzZS4uZjI1YmM5NTcyMDgwMGVhN2YzYjI5NDUwMmQ2MTBk
MDk0YmQ5YTE5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAK
QEAgLTI2LDExICsyNiwxMyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkhUTUxE
aWFsb2dFbGVtZW50LmgiCiAKKyNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50SW5saW5lcy5oIgogI2luY2x1ZGUgIkV2ZW50TG9vcC5oIgogI2luY2x1ZGUgIkV2ZW50
TmFtZXMuaCIKICNpbmNsdWRlICJGb2N1c09wdGlvbnMuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMu
aCIKKyNpbmNsdWRlICJQc2V1ZG9DbGFzc0NoYW5nZUludmFsaWRhdGlvbi5oIgogI2luY2x1ZGUg
IlJlbmRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJTY29wZWRFdmVudFF1ZXVlLmgiCiAjaW5jbHVk
ZSAiVHlwZWRFbGVtZW50RGVzY2VuZGFudEl0ZXJhdG9yLmgiCkBAIC03NSw3ICs3Nyw3IEBAIEV4
Y2VwdGlvbk9yPHZvaWQ+IEhUTUxEaWFsb2dFbGVtZW50OjpzaG93TW9kYWwoKQogICAgIEV2ZW50
UXVldWVTY29wZSBzY29wZTsKICAgICBzZXRCb29sZWFuQXR0cmlidXRlKG9wZW5BdHRyLCB0cnVl
KTsKIAotICAgIG1faXNNb2RhbCA9IHRydWU7CisgICAgc2V0SXNNb2RhbCh0cnVlKTsKIAogICAg
IGlmICghaXNJblRvcExheWVyKCkpCiAgICAgICAgIGFkZFRvVG9wTGF5ZXIoKTsKQEAgLTk0LDcg
Kzk2LDcgQEAgdm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6Y2xvc2UoY29uc3QgU3RyaW5nJiByZXN1
bHQpCiAKICAgICBzZXRCb29sZWFuQXR0cmlidXRlKG9wZW5BdHRyLCBmYWxzZSk7CiAKLSAgICBt
X2lzTW9kYWwgPSBmYWxzZTsKKyAgICBzZXRJc01vZGFsKGZhbHNlKTsKIAogICAgIGlmICghcmVz
dWx0LmlzTnVsbCgpKQogICAgICAgICBtX3JldHVyblZhbHVlID0gcmVzdWx0OwpAQCAtMTU4LDcg
KzE2MCwxNSBAQCB2b2lkIEhUTUxEaWFsb2dFbGVtZW50OjpydW5Gb2N1c2luZ1N0ZXBzKCkKIHZv
aWQgSFRNTERpYWxvZ0VsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IoUmVtb3ZhbFR5cGUgcmVt
b3ZhbFR5cGUsIENvbnRhaW5lck5vZGUmIG9sZFBhcmVudE9mUmVtb3ZlZFRyZWUpCiB7CiAgICAg
SFRNTEVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IocmVtb3ZhbFR5cGUsIG9sZFBhcmVudE9m
UmVtb3ZlZFRyZWUpOwotICAgIG1faXNNb2RhbCA9IGZhbHNlOworICAgIHNldElzTW9kYWwoZmFs
c2UpOworfQorCit2b2lkIEhUTUxEaWFsb2dFbGVtZW50OjpzZXRJc01vZGFsKGJvb2wgbmV3VmFs
dWUpCit7CisgICAgaWYgKG1faXNNb2RhbCA9PSBuZXdWYWx1ZSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIFN0eWxlOjpQc2V1ZG9DbGFzc0NoYW5nZUludmFsaWRhdGlvbiBzdHlsZUludmFsaWRhdGlv
bigqdGhpcywgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzTW9kYWwsIG5ld1ZhbHVlKTsKKyAgICBt
X2lzTW9kYWwgPSBuZXdWYWx1ZTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9n
RWxlbWVudC5oCmluZGV4IGM0NDkzY2MyZjc5NTRlNzllNTY4NTU1NjUwMWJkNDYyZjgwOWI3NGEu
LmRiM2VhYmRmYmRiNTBkMmMwMDdmY2MzOTk3ZDM2MGFmYWRiZWJlMzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmgKQEAgLTUzLDYgKzUzLDcgQEAgcHJpdmF0ZToKICAg
ICBIVE1MRGlhbG9nRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAog
ICAgIHZvaWQgcmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSwgQ29udGFpbmVyTm9kZSYg
b2xkUGFyZW50T2ZSZW1vdmVkVHJlZSkgZmluYWw7CisgICAgdm9pZCBzZXRJc01vZGFsKGJvb2wg
bmV3VmFsdWUpOwogCiAgICAgU3RyaW5nIG1fcmV0dXJuVmFsdWU7CiAgICAgYm9vbCBtX2lzTW9k
YWwgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU0NWYwZmZmYTgwN2Q1ZjU2MTgwYTZhYTBlMmFhMDg0NjZh
YjdmODguLjMyY2Q1ZGZjZmVhODAxNWU5NTRlODYzOTBiM2JhOTQ5NWJiZTk4OTQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAyMi0wNS0wOSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgor
CisgICAgICAgIEltcGxlbWVudCBDU1MgOm1vZGFsIHBzZXVkbyBjbGFzcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQwMTA5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIFJlbW92ZXMgOi1pbnRlcm5hbC1tb2Rh
bC1kaWFsb2cgZnJvbSBpbnRlcm5hbCBwc2V1ZG8gY2xhc3Nlcy4KKworICAgICAgICAqIGZhc3Qv
Y3NzL3BzZXVkby1jbGFzcy1pbnRlcm5hbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9j
c3MvcHNldWRvLWNsYXNzLWludGVybmFsLmh0bWw6CisKIDIwMjItMDUtMDkgIFppcmFuIFN1biAg
PHpzdW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBNYWtlIGlucHV0IHBsYWNlaG9sZGVyIGxpbmUt
aGVpZ2h0IGRlY2xhcmF0aW9uICFpbXBvcnRhbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CmluZGV4IDNhZTg2YWUyNmQ4NWMxNTE3MjA3M2RhOTY4NjJjZDI4NjhiMjljOWIuLmE5NjVjZWM0
MTJlN2Q0OTI0MWU1ODU1ZGI4ZWM3YWVjZGQ1MDdlZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTA1LTA5ICBUaW0gTmd1eWVuICA8bnRpbUBh
cHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENTUyA6bW9kYWwgcHNldWRvIGNsYXNzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDAxMDkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgQWRkIGFuZCBleHRl
bmQgdGVzdHMgZm9yIDptb2RhbCBwc2V1ZG8tY2xhc3MuCisKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vbW9kYWwtcHNldWRvLWNsYXNzLWlu
LWhhcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9j
c3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9tb2RhbC1wc2V1ZG8tY2xhc3MtaW4taGFzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRl
cmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLXNob3ctbW9kYWwuaHRt
bDoKKwogMjAyMi0wNS0wNiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IFVzZSBjb3JyZWN0IGRvY3VtZW50IGFzIHJvb3QgZm9yIGxhenkgaW1hZ2Ugb2JzZXJ2ZXIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1jbGFzcy1pbnRlcm5hbC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tY2xhc3MtaW50ZXJuYWwtZXhw
ZWN0ZWQudHh0CmluZGV4IDgzOGNlYjcyZjYwM2E5NjU4OTQ3MzhiMDVhZTg3OWFiNDQ5ZmQ2YjUu
LjUzYTI0NmZiNzVlODUwNTIxOGRmMjY0ZWU4ZTViMmE3NjJkNjA5OTUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1jbGFzcy1pbnRlcm5hbC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcHNldWRvLWNsYXNzLWludGVybmFsLWV4cGVjdGVkLnR4
dApAQCAtNCw3ICs0LDYgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogCiBQQVNTIHRhcmdl
dC5tYXRjaGVzKCI6LWludGVybmFsLWRpcmVjdC1mb2N1cyIpIHRocmV3IGV4Y2VwdGlvbiBTeW50
YXhFcnJvcjogVGhlIHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4K
LVBBU1MgdGFyZ2V0Lm1hdGNoZXMoIjotaW50ZXJuYWwtbW9kYWwtZGlhbG9nIikgdGhyZXcgZXhj
ZXB0aW9uIFN5bnRheEVycm9yOiBUaGUgc3RyaW5nIGRpZCBub3QgbWF0Y2ggdGhlIGV4cGVjdGVk
IHBhdHRlcm4uLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBM
RVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tY2xhc3MtaW50ZXJu
YWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1jbGFzcy1pbnRlcm5hbC5odG1s
CmluZGV4IDQyNDNhZDA2N2Y5ZmQzNDdhMmFlMzIwODJhNTEyMjQ5Zjk4NTFlMzIuLjIxMTI2MzQy
ODc5NDBjOTg0MGJhMjVmZWZmOTM0ZWFiNDkyYWEwYzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL3BzZXVkby1jbGFzcy1pbnRlcm5hbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3BzZXVkby1jbGFzcy1pbnRlcm5hbC5odG1sCkBAIC0xMCw3ICsxMCw2IEBAIGRlc2Ny
aXB0aW9uKCdUaGlzIHRlc3RzIHRoYXQgLWludGVybmFsLSBwc2V1ZG8gY2xhc3NlcyBhcmUgbm90
IGV4cG9zZWQnKTsKIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgY29uc3QgaW50ZXJuYWxQc2V1
ZG9DbGFzc2VzID0gWwogICAgICAgICAnOi1pbnRlcm5hbC1kaXJlY3QtZm9jdXMnLAotICAgICAg
ICAnOi1pbnRlcm5hbC1tb2RhbC1kaWFsb2cnLAogICAgIF07CiAgICAgZm9yIChjb25zdCBwc2V1
ZG8gb2YgaW50ZXJuYWxQc2V1ZG9DbGFzc2VzKSB7CiAgICAgICAgIHNob3VsZFRocm93RXJyb3JO
YW1lKCd0YXJnZXQubWF0Y2hlcygiJyArIHBzZXVkbyArICciKScsICdTeW50YXhFcnJvcicpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3Mvc2VsZWN0b3JzL2ludmFsaWRhdGlvbi9tb2RhbC1wc2V1ZG8tY2xhc3MtaW4taGFzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vbW9kYWwtcHNldWRvLWNsYXNzLWluLWhhcy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMmJmMjRmZWFlYjVlYmZkY2U5ZjE4NjM0ZjM5Y2I1MjY1ZWI1NDBk
MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vbW9kYWwtcHNldWRvLWNsYXNzLWlu
LWhhcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitUaGlzIGlzIHNvbWUgdGV4dC4KKwor
UEFTUyA6bW9kYWwgcHNldWRvLWNsYXNzIGlzIG5vdCBhY3RpdmUgd2l0aCBkaWFsb2cuc2hvdygp
CitQQVNTIDptb2RhbCBwc2V1ZG8tY2xhc3MgaW52YWxpZGF0aW9uIHdpdGggc2hvd01vZGFsK2Ns
b3NlCitQQVNTIDptb2RhbCBwc2V1ZG8tY2xhc3MgaW52YWxpZGF0aW9uIHdpdGggc2hvd01vZGFs
K3JlbW92ZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL21vZGFsLXBzZXVkby1jbGFzcy1p
bi1oYXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL3NlbGVjdG9ycy9pbnZhbGlkYXRpb24vbW9kYWwtcHNldWRvLWNsYXNzLWluLWhhcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjljNDg3ZmJhMTZmZGFkN2QwN2RmYzFiODY3ZGZkZGY3YTRhMDIxY2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9zZWxlY3RvcnMvaW52YWxpZGF0aW9uL21vZGFsLXBzZXVkby1jbGFzcy1pbi1oYXMu
aHRtbApAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04IiAvPgorPHRpdGxlPkNTUyBTZWxlY3RvcnMgSW52YWxpZGF0aW9uOiA6bW9kYWwgcHNldWRv
IGNsYXNzIGluIDpoYXMoKTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IlRpbSBO
Z3V5ZW4iIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9udDFtIj4KKzxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL3NlbGVjdG9ycy8jcmVsYXRpb25hbCI+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CisgICNzdWJqZWN0OmhhcygjZGlhbG9nOm1vZGFsKSB7IGNvbG9yOiBncmVlbiB9Cis8L3N0eWxl
PgorPGRpdiBpZD0ic3ViamVjdCI+CisgIFRoaXMgaXMgc29tZSB0ZXh0LgorICA8ZGlhbG9nIGlk
PSJkaWFsb2ciPlRoaXMgaXMgYSBkaWFsb2c8L2RpYWxvZz4KKzwvZGl2PgorPHNjcmlwdD4KKyAg
dGVzdChmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoc3Vi
amVjdCkuY29sb3IsICJyZ2IoMCwgMCwgMCkiLAorICAgICAgICAgICAgICAgICAgImFuY2VzdG9y
IHNob3VsZCBiZSBibGFjayBzaW5jZSBkaWFsb2cgaXMgbm90IG1vZGFsIik7CisgICAgZGlhbG9n
LnNob3coKTsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoc3ViamVjdCkuY29s
b3IsICJyZ2IoMCwgMCwgMCkiLAorICAgICAgICAgICAgICAgICAgImFuY2VzdG9yIHNob3VsZCBi
ZSBibGFjayBzaW5jZSBkaWFsb2cgaXMgbm90IG1vZGFsIik7CisgICAgZGlhbG9nLmNsb3NlKCk7
CisgIH0sICI6bW9kYWwgcHNldWRvLWNsYXNzIGlzIG5vdCBhY3RpdmUgd2l0aCBkaWFsb2cuc2hv
dygpIik7CisgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKHN1YmplY3QpLmNvbG9yLCAicmdiKDAsIDAsIDApIiwKKyAgICAgICAgICAgICAgICAg
ICJhbmNlc3RvciBzaG91bGQgYmUgYmxhY2siKTsKKyAgICBkaWFsb2cuc2hvd01vZGFsKCk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHN1YmplY3QpLmNvbG9yLCAicmdiKDAs
IDEyOCwgMCkiLAorICAgICAgICAgICAgICAgICAgImFuY2VzdG9yIHNob3VsZCBiZSBncmVlbiBz
aW5jZSBkaWFsb2cgaXMgc2hvd24gbW9kYWxseSIpOworICAgIGRpYWxvZy5jbG9zZSgpOworICAg
IGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShzdWJqZWN0KS5jb2xvciwgInJnYigwLCAw
LCAwKSIsCisgICAgICAgICAgICAgICAgICAiYW5jZXN0b3Igc2hvdWxkIGJlIGJsYWNrIHNpbmNl
IGRpYWxvZyBpcyBjbG9zZWQiKTsKKyAgfSwgIjptb2RhbCBwc2V1ZG8tY2xhc3MgaW52YWxpZGF0
aW9uIHdpdGggc2hvd01vZGFsK2Nsb3NlIik7CisgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgYXNz
ZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHN1YmplY3QpLmNvbG9yLCAicmdiKDAsIDAsIDAp
IiwKKyAgICAgICAgICAgICAgICAgICJhbmNlc3RvciBzaG91bGQgYmUgYmxhY2siKTsKKyAgICBk
aWFsb2cuc2hvd01vZGFsKCk7CisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHN1
YmplY3QpLmNvbG9yLCAicmdiKDAsIDEyOCwgMCkiLAorICAgICAgICAgICAgICAgICAgImFuY2Vz
dG9yIHNob3VsZCBiZSBncmVlbiBzaW5jZSBkaWFsb2cgaXMgc2hvd24gbW9kYWxseSIpOworICAg
IGRpYWxvZy5yZW1vdmUoKTsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoc3Vi
amVjdCkuY29sb3IsICJyZ2IoMCwgMCwgMCkiLAorICAgICAgICAgICAgICAgICAgImFuY2VzdG9y
IHNob3VsZCBiZSBibGFjayBzaW5jZSBkaWFsb2cgaXMgY2xvc2VkIik7CisgIH0sICI6bW9kYWwg
cHNldWRvLWNsYXNzIGludmFsaWRhdGlvbiB3aXRoIHNob3dNb2RhbCtyZW1vdmUiKTsKKzwvc2Ny
aXB0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3Rp
dmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1zaG93LW1vZGFsLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctc2hvdy1tb2Rh
bC5odG1sCmluZGV4IGVkNjQzNzU2NTA4Y2UzOTM5ZjA2MzZlZjVhYzlkMDk5MWZjMzljMTcuLjYx
MGU2NmQyMDExMmZkMjE3ZWM5MTE1NDI0NWRlYmQ5YTI2OTM2MDAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50
ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1zaG93LW1vZGFsLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9n
LXNob3ctbW9kYWwuaHRtbApAQCAtMTAsMjYgKzEwLDI5IEBACiAKIDxzY3JpcHQ+CiB0ZXN0KCgp
ID0+IHsKLSAgY29uc3QgZGlhbG9nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ215ZGlhbG9n
Jyk7CisgIGNvbnN0IGRpYWxvZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJteWRpYWxvZyIp
OwogICBjb25zdCBjb21wdXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZGlhbG9n
LCBudWxsKTsKLSAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmRpc3BsYXksICdub25lJyk7
CisgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5kaXNwbGF5LCAibm9uZSIpOworICBhc3Nl
cnRfZmFsc2UoZGlhbG9nLm1hdGNoZXMoIjptb2RhbCIpKTsKIAogICBkaWFsb2cuc2hvd01vZGFs
KCk7Ci0gIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5kaXNwbGF5LCAnYmxvY2snKTsKKyAg
YXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmRpc3BsYXksICJibG9jayIpOworICBhc3NlcnRf
dHJ1ZShkaWFsb2cubWF0Y2hlcygiOm1vZGFsIikpOwogCiAgIC8vIFRoZSBxdW90ZWQgdGV4dHMg
b3V0cHV0IGJlbG93IGFyZSBmcm9tIDxodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFw
cHMvY3VycmVudC13b3JrL211bHRpcGFnZS9jb21tYW5kcy5odG1sI2RvbS1kaWFsb2ctc2hvd21v
ZGFsPi4KLSAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywgKCkgPT4gZGlh
bG9nLnNob3dNb2RhbCgpKTsKKyAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9y
IiwgKCkgPT4gZGlhbG9nLnNob3dNb2RhbCgpKTsKIAogICBkaWFsb2cuY2xvc2UoKTsKLSAgYXNz
ZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmRpc3BsYXksICdub25lJyk7CisgIGFzc2VydF9lcXVh
bHMoY29tcHV0ZWRTdHlsZS5kaXNwbGF5LCAibm9uZSIpOworICBhc3NlcnRfZmFsc2UoZGlhbG9n
Lm1hdGNoZXMoIjptb2RhbCIpKTsKIAogICBkaWFsb2cucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChk
aWFsb2cpOwotICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiBk
aWFsb2cuc2hvd01vZGFsKCkpOworICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJy
b3IiLCAoKSA9PiBkaWFsb2cuc2hvd01vZGFsKCkpOwogCiAgIGNvbnN0IGRvYyA9IGRvY3VtZW50
LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgpOwogICBkb2MuYm9keS5hcHBlbmRD
aGlsZChkaWFsb2cpOwogICBhc3NlcnRfZmFsc2UoZGlhbG9nLm9wZW4pOwogICBkaWFsb2cuc2hv
d01vZGFsKCk7Ci0gIGFzc2VydF90cnVlKGRpYWxvZy5vcGVuLCAnQWx0aG91Z2ggdGhlIGRvY3Vt
ZW50IGlzIG5vdCBhdHRhY2hlZCB0byBhbnkgcGFnZXMsIHNob3dNb2RhbCgpIHNob3VsZCBleGVj
dXRlIGFzIG5vcm1hbC4nKTsKLX0sICdUZXN0cyB0aGF0IHNob3dNb2RhbCgpIHBlcmZvcm1zIHRo
ZSBzdGVwcyBzcGVjaWZpZWQgaW4gdGhlIEhUTUwgc3BlYy4nKTsKKyAgYXNzZXJ0X3RydWUoZGlh
bG9nLm9wZW4sICJBbHRob3VnaCB0aGUgZG9jdW1lbnQgaXMgbm90IGF0dGFjaGVkIHRvIGFueSBw
YWdlcywgc2hvd01vZGFsKCkgc2hvdWxkIGV4ZWN1dGUgYXMgbm9ybWFsLiIpOworfSwgIlRlc3Rz
IHRoYXQgc2hvd01vZGFsKCkgcGVyZm9ybXMgdGhlIHN0ZXBzIHNwZWNpZmllZCBpbiB0aGUgSFRN
TCBzcGVjLiIpOwogPC9zY3JpcHQ+Cg==
</data>
<flag name="commit-queue"
          id="488093"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>