<?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>238108</bug_id>
          
          <creation_ts>2022-03-19 00:21:22 -0700</creation_ts>
          <short_desc>Add an addition point for system background color</short_desc>
          <delta_ts>2022-03-21 10:46:18 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>changseok</cc>
    
    <cc>cpugh</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hi</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1852950</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2022-03-19 00:21:22 -0700</bug_when>
    <thetext>Use hardcoded base background color to avoid transparent backgrounds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852951</commentid>
    <comment_count>1</comment_count>
      <attachid>455166</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2022-03-19 00:24:26 -0700</bug_when>
    <thetext>Created attachment 455166
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852972</commentid>
    <comment_count>2</comment_count>
      <attachid>455166</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2022-03-19 10:37:28 -0700</bug_when>
    <thetext>Comment on attachment 455166
Patch

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

&gt; Source/WebCore/platform/ios/WebCoreUIColorExtras.mm:38
&gt; +        return (UIColor *)[PAL::getUIColorClass() blackColor];

The system background color is not always black or white.

The trait collection&apos;s `userInterfaceLevel` and `accessibilityContrast` also affect this color.

I don&apos;t think it would be a good idea to hardcode all the variations – I&apos;ll talk to you about possible alternate solutions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852997</commentid>
    <comment_count>3</comment_count>
      <attachid>455175</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2022-03-19 14:25:19 -0700</bug_when>
    <thetext>Created attachment 455175
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852999</commentid>
    <comment_count>4</comment_count>
      <attachid>455177</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2022-03-19 14:34:09 -0700</bug_when>
    <thetext>Created attachment 455177
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853249</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-21 10:45:56 -0700</bug_when>
    <thetext>Committed r291564 (248666@main): &lt;https://commits.webkit.org/248666@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455177.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853250</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-21 10:46:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/90576569&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455166</attachid>
            <date>2022-03-19 00:24:26 -0700</date>
            <delta_ts>2022-03-19 14:19:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238108-20220319002425.patch</filename>
            <type>text/plain</type>
            <size>19686</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDcwMTQyYmVlMjZjMzc4
Zjg5Njc4ZmU0NzM4YzMwZmNiOGNiMWE2OS4uMTAwODA4MjdkYmZmOWM2N2VjYzQ5MzlkMDdkMTE0
ZjA2NTRiOTZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIyLTAzLTE4ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIFVzZSBoYXJkY29k
ZWQgYmFzZSBiYWNrZ3JvdW5kIGNvbG9yIHRvIGF2b2lkIHRyYW5zcGFyZW50IGJhY2tncm91bmRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzgxMDgK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzkwNDYzOTQ2PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0v
aW9zL1dlYkNvcmVVSUNvbG9yRXh0cmFzLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lv
cy9XZWJDb3JlVUlDb2xvckV4dHJhcy5tbTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpzeXN0
ZW1CYWNrZ3JvdW5kQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6ZWZmZWN0aXZlU3lzdGVtQmFj
a2dyb3VuZENvbG9yKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW06Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZVN5c3RlbUNvbG9ySW5mb3JtYXRpb246OmZ1bmN0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OmNzc1ZhbHVlU3lzdGVtQ29sb3JJbmZvcm1hdGlvbkxpc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6c3lzdGVtQ29sb3JGcm9tQ1NTVmFsdWVTeXN0ZW1Db2xvcklu
Zm9ybWF0aW9uKToKKyAgICAgICAgSW5zdGVhZCBvZiB1c2luZyB0aGUgc3lzdGVtJ3Mgc3lzdGVt
QmFja2dyb3VuZENvbG9yLCBxdWVyeSB0aGUgY3VycmVudAorICAgICAgICB0cmFpdCBjb2xsZWN0
aW9uIGFuZCBjaG9vc2UgYmxhY2sgb3Igd2hpdGUsIHRvIGF2b2lkIHVuZXhwZWN0ZWRseQorICAg
ICAgICBub24tb3BhcXVlIGNvbG9ycy4KKwogMjAyMi0wMy0xOCAgRW5yaXF1ZSBPY2HDsWEgR29u
esOhbGV6ICA8ZW9jYW5oYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdIEFkZCBz
dG9wIHBvc2l0aW9uIHRvIHRoZSByYW5nZSByZXF1ZXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDlmNDRhNzY4MjZh
YWI5NzBlZTFmZDIwMWE5NDQwNGE5NzA4NjAxYTEuLjE5ZDk2NmMzYTFiNTU0ZWNjNzliNzM1NjRl
YTU1Zjc3NzBiOTI0YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjItMDMtMTggIFRp
bSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIGhhcmRj
b2RlZCBiYXNlIGJhY2tncm91bmQgY29sb3IgdG8gYXZvaWQgdHJhbnNwYXJlbnQgYmFja2dyb3Vu
ZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODEw
OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTA0NjM5NDY+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZp
ZXdJT1MubW06CisgICAgICAgIChzY3JvbGxWaWV3QmFja2dyb3VuZENvbG9yKToKKyAgICAgICAg
QWRvcHQgc3lzdGVtQmFja2dyb3VuZENvbG9yKCkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6
Y29udGVudFZpZXdCYWNrZ3JvdW5kQ29sb3IpOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2Vi
UGFnZVByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnBsYXRmb3Jt
VW5kZXJQYWdlQmFja2dyb3VuZENvbG9yIGNvbnN0KToKKyAgICAgICAgTW92ZSB0aGUgZmFsbGJh
Y2sgdG8gc3lzdGVtQmFja2dyb3VuZENvbG9yIGludG8gUGFnZUNsaWVudEltcGwKKyAgICAgICAg
c28gdGhhdCBpdCBoYXMgYWNjZXNzIHRvIHRoZSB3ZWIgdmlldydzIHRyYWl0IGNvbGxlY3Rpb24K
KyAgICAgICAgdG8gdXNlIHRoZSBuZXcgZ2V0dGVyLgorCiAyMDIyLTAzLTE4ICBLaW1tbyBLaW5u
dW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVjeWNsaW5nIGEgd2ViZ2wg
Y29udGV4dCB3aGVuIGl0IGhhcyBiZWVuIGxvc3QgYW5kIHJlc3RvcmVkIGNhdXNlcyBhIGNyYXNo
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dl
YkNvcmUvU291cmNlc0NvY29hLnR4dAppbmRleCAwMjlmNmUxOGUxZGJjYzg1ZmZkM2Y0MGZkN2E2
YWQ2MzBmYzNjMjM2Li5hNjU0NTI1MjRhZTE4MTAzYjFmZThmZmMzZDdkZTYzODQ1OTA4MTI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKQEAgLTQ4MSw2ICs0ODEsNyBAQCBwbGF0Zm9ybS9pb3Mv
V2ViQVZQbGF5ZXJDb250cm9sbGVyLm1tCiBwbGF0Zm9ybS9pb3MvV2ViQmFja2dyb3VuZFRhc2tD
b250cm9sbGVyLm1tCiBwbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1hbmFnZXIubW0KIHBsYXRm
b3JtL2lvcy9XZWJFdmVudC5tbSBAbm8tdW5pZnkKK3BsYXRmb3JtL2lvcy9XZWJDb3JlVUlDb2xv
ckV4dHJhcy5tbQogcGxhdGZvcm0vaW9zL1dlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQubW0gQG5v
LXVuaWZ5CiBwbGF0Zm9ybS9pb3MvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCiBw
bGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tIEBuby11bmlm
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDQ0MGY4OWNmMWYzNDJkOGU0NWE2NmM4OGYzNjViNjU4ZThkMGQ4MzIuLjA5YzE5YWZh
Mzg1M2Y0OWVlYzk3NGU3YzUwM2VlZWE2NjM4Mjg1MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTg2Miw2ICs4NjIsNyBAQAog
CQkyRDhCOTJGRDIwM0QxM0UxMDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUyOC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERTVGODVEMjFGQTIzODU2
MDA2REI2M0IgLyogVW5pZmllZFNvdXJjZTUyOC5jcHAgKi87IH07CiAJCTJEOEI5MkZFMjAzRDEz
RTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNlNTI5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERFNUY4NUNGMUZBMjM4NTAwMDZEQjYzQiAvKiBVbmlm
aWVkU291cmNlNTI5LmNwcCAqLzsgfTsKIAkJMkQ4QjkyRkYyMDNEMTNFMTAwOUM4NjhGIC8qIFVu
aWZpZWRTb3VyY2U1MzAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gREU1Rjg1RDMxRkEyMzg1OTAwNkRCNjNCIC8qIFVuaWZpZWRTb3VyY2U1MzAuY3Bw
ICovOyB9OworCQkyRDhCQTE4MTI3RTVBNDg3MDA4RjdFNTIgLyogV2ViQ29yZVVJQ29sb3JFeHRy
YXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOEJB
MTgwMjdFNUE0N0IwMDhGN0U1MiAvKiBXZWJDb3JlVUlDb2xvckV4dHJhcy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJEOEZFQkREMTQzRTNFRjcw
MDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ4RkVCREIxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3Nz
ZmFkZVZhbHVlLmggKi87IH07CiAJCTJEOTA2NjA3MEJFMTQxRDQwMDk1Njk5OCAvKiBSZW5kZXJM
YXlvdXRTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkQ5MDY2MDUwQkUxNDFENDAwOTU2OTk4IC8qIFJlbmRlckxheW91dFN0YXRlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkQ5M0FFRTMxOURG
NTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOTNBRUUxMTlERjU2NDEwMDJBODZD
MyAvKiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggKi87IH07CkBAIC04MTA0LDYgKzgxMDUs
OCBAQAogCQkyRDdFRDBBOTFCQUU5OTE3MDA0M0IzRTUgLyogVGltZXJFdmVudEJhc2VkTW9jay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUaW1lckV2ZW50QmFzZWRNb2NrLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEODI4N0Y0MTZFNEEwMzgwMDg2QkQwMCAv
KiBIaXRUZXN0TG9jYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSGl0VGVzdExvY2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ4
Mjg3RjUxNkU0QTAzODAwODZCRDAwIC8qIEhpdFRlc3RMb2NhdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBIaXRUZXN0TG9jYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMkQ4QkExN0YyN0U1QTQ3QTAwOEY3RTUyIC8qIFdlYkNvcmVVSUNvbG9yRXh0
cmFzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ29yZVVJQ29sb3JFeHRyYXMubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOEJBMTgwMjdFNUE0N0IwMDhGN0U1MiAvKiBX
ZWJDb3JlVUlDb2xvckV4dHJhcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlVUlDb2xvckV4dHJh
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDhEM0JFQjIzODQ3QUM5MDA2NTcw
NzUgLyogZ2VzdHVyZS1yZWNvZ25pemVyLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gImdlc3R1
cmUtcmVjb2duaXplci5qcyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOEQzQkVD
MjM4NDdBQzkwMDY1NzA3NSAvKiBwaW5jaC5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IHBpbmNo
LmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDhEM0JFRDIzODQ3QUM5MDA2NTcw
NzUgLyogdGFwLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gdGFwLmpzOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMjY3NzYsNiArMjY3NzksOCBAQAogCQkJCTFGMzZFQTlCMUUyMUJB
MTcwMDYyMUUyNSAvKiBXZWJCYWNrZ3JvdW5kVGFza0NvbnRyb2xsZXIubW0gKi8sCiAJCQkJMzE0
MDM3OTcxMjRCRUE3RjAwQUY0MEU0IC8qIFdlYkNvcmVNb3Rpb25NYW5hZ2VyLmggKi8sCiAJCQkJ
MzE0MDM3OTgxMjRCRUE3RjAwQUY0MEU0IC8qIFdlYkNvcmVNb3Rpb25NYW5hZ2VyLm1tICovLAor
CQkJCTJEOEJBMTgwMjdFNUE0N0IwMDhGN0U1MiAvKiBXZWJDb3JlVUlDb2xvckV4dHJhcy5oICov
LAorCQkJCTJEOEJBMTdGMjdFNUE0N0EwMDhGN0U1MiAvKiBXZWJDb3JlVUlDb2xvckV4dHJhcy5t
bSAqLywKIAkJCQlGRTBEODRFODEwNDg0MzQ4MDAxQTE3OUUgLyogV2ViRXZlbnQuaCAqLywKIAkJ
CQlGRTBEODRFQTEwNDg0MzZFMDAxQTE3OUUgLyogV2ViRXZlbnQubW0gKi8sCiAJCQkJRjQ4MjIz
MEYxRTM4NjlCODAwNjZGQzc5IC8qIFdlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQuaCAqLywKQEAg
LTM4MDQzLDYgKzM4MDQ4LDcgQEAKIAkJCQlBMTQ4MzJDQzE4N0Y2N0M0MDBEQTYzQTYgLyogV2Vi
Q29yZVRocmVhZFJ1bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE0ODMyQ0YxODdGNjg0NzAwREE2
M0E2IC8qIFdlYkNvcmVUaHJlYWRTeXN0ZW1JbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBGMDk5RDA5MTdCOTY4QTEwMEZGODRCOSAvKiBXZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xsZXIu
aCBpbiBIZWFkZXJzICovLAorCQkJCTJEOEJBMTgxMjdFNUE0ODcwMDhGN0U1MiAvKiBXZWJDb3Jl
VUlDb2xvckV4dHJhcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzdGODE4RkQwRDY1NzYwNjAwNUUx
RjA1IC8qIFdlYkNvcmVVUkxSZXNwb25zZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDRBMjBEQjkw
Rjg0MTY2QzAwQjNFMUZFIC8qIFdlYkNvcmVVUkxSZXNwb25zZUlPUy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTNGMTk5RjAwODI0NUU1OTAwMUU5QUJDIC8qIFdlYkNvcmVWaWV3LmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJDb3JlVUlD
b2xvckV4dHJhcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVVSUNvbG9y
RXh0cmFzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTNkNjFiZTlhZWQxZjU0ODlkZTFmZjJmODIwM2FkY2MzZTlk
ODQ2NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJD
b3JlVUlDb2xvckV4dHJhcy5oCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworV0VCQ09SRV9FWFBPUlQgVUlDb2xvciAqc3lzdGVtQmFja2dyb3VuZENvbG9yKFVJVHJhaXRD
b2xsZWN0aW9uICopOworCisvLyBNdXN0IG9ubHkgYmUgdXNlZCBpbiBwbGFjZXMgd2hlcmUgLVtV
SVRyYWl0Q29sbGVjdGlvbiBjdXJyZW50VHJhaXRDb2xsZWN0aW9uXSBpcyB1cCB0byBkYXRlLgor
V0VCQ09SRV9FWFBPUlQgVUlDb2xvciAqZWZmZWN0aXZlU3lzdGVtQmFja2dyb3VuZENvbG9yKCk7
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQ29yZVVJQ29sb3JFeHRyYXMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvV2ViQ29yZVVJQ29sb3JFeHRyYXMubW0KbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTc1
OTYxNzQwNjJiMmVmY2U1MjU5ODk5NmY5ZTY0MmM5N2FiYzgxZAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJDb3JlVUlDb2xvckV4dHJhcy5tbQpAQCAt
MCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIAorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAi
V2ViQ29yZVVJQ29sb3JFeHRyYXMuaCIKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisKKyNp
bXBvcnQgPHBhbC9pb3MvVUlLaXRTb2Z0TGluay5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K1VJQ29sb3IgKnN5c3RlbUJhY2tncm91bmRDb2xvcihVSVRyYWl0Q29sbGVjdGlvbiAqdHJhaXRD
b2xsZWN0aW9uKQoreworICAgIGlmICh0cmFpdENvbGxlY3Rpb24udXNlckludGVyZmFjZVN0eWxl
ID09IFVJVXNlckludGVyZmFjZVN0eWxlRGFyaykKKyAgICAgICAgcmV0dXJuIChVSUNvbG9yICop
W1BBTDo6Z2V0VUlDb2xvckNsYXNzKCkgYmxhY2tDb2xvcl07CisgICAgcmV0dXJuIChVSUNvbG9y
ICopW1BBTDo6Z2V0VUlDb2xvckNsYXNzKCkgd2hpdGVDb2xvcl07Cit9CisKK1VJQ29sb3IgKmVm
ZmVjdGl2ZVN5c3RlbUJhY2tncm91bmRDb2xvcigpCit7CisgICAgcmV0dXJuIHN5c3RlbUJhY2tn
cm91bmRDb2xvcihbUEFMOjpnZXRVSVRyYWl0Q29sbGVjdGlvbkNsYXNzKCkgY3VycmVudFRyYWl0
Q29sbGVjdGlvbl0pOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCmluZGV4IGYxZDY4ZjYzN2Ji
OWE4MDk3ZDdhYzJmNGMxMDMxMTBlNmQ3ZTE3NTEuLmEwYjdmMTQ4NDZkODAzMzNhY2ZmZTE2MmRi
NzAzZTJlMzMwZjJkYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJ
T1MubW0KQEAgLTgwLDYgKzgwLDcgQEAKICNpbXBvcnQgIlRoZW1lLmgiCiAjaW1wb3J0ICJVVElV
dGlsaXRpZXMuaCIKICNpbXBvcnQgIldlYkNvcmVUaHJlYWRSdW4uaCIKKyNpbXBvcnQgIldlYkNv
cmVVSUNvbG9yRXh0cmFzLmgiCiAjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+
CiAjaW1wb3J0IDxDb3JlSW1hZ2UvQ29yZUltYWdlLmg+CiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUu
aD4KQEAgLTE0NDQsNiArMTQ0NSw3IEBAIHN0cnVjdCBDU1NWYWx1ZVN5c3RlbUNvbG9ySW5mb3Jt
YXRpb24gewogICAgIFNFTCBzZWxlY3RvcjsKICAgICBib29sIG1ha2VPcGFxdWUgeyBmYWxzZSB9
OwogICAgIGZsb2F0IG9wYWNpdHkgeyAxLjBmIH07CisgICAgVUlDb2xvciAqKCpmdW5jdGlvbiko
dm9pZCkgeyBudWxscHRyIH07CiB9OwogCiBzdGF0aWMgY29uc3QgVmVjdG9yPENTU1ZhbHVlU3lz
dGVtQ29sb3JJbmZvcm1hdGlvbj4mIGNzc1ZhbHVlU3lzdGVtQ29sb3JJbmZvcm1hdGlvbkxpc3Qo
KQpAQCAtMTQ1Niw3ICsxNDU4LDcgQEAgc3RhdGljIGNvbnN0IFZlY3RvcjxDU1NWYWx1ZVN5c3Rl
bUNvbG9ySW5mb3JtYXRpb24+JiBjc3NWYWx1ZVN5c3RlbUNvbG9ySW5mb3JtYXQKICAgICAgICAg
W10gewogICAgICAgICBjc3NWYWx1ZVN5c3RlbUNvbG9ySW5mb3JtYXRpb25MaXN0LmdldCgpID0g
VmVjdG9yKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxDU1NWYWx1ZVN5c3RlbUNvbG9ySW5mb3JtYXRp
b24+IHsKICAgICAgICAgICAgIHsgQ1NTVmFsdWVUZXh0LCBAc2VsZWN0b3IobGFiZWxDb2xvcikg
fSwKLSAgICAgICAgICAgIHsgQ1NTVmFsdWVXZWJraXRDb250cm9sQmFja2dyb3VuZCwgQHNlbGVj
dG9yKHN5c3RlbUJhY2tncm91bmRDb2xvcikgfSwKKyAgICAgICAgICAgIHsgQ1NTVmFsdWVXZWJr
aXRDb250cm9sQmFja2dyb3VuZCwgbmlsLCBmYWxzZSwgMS4wZiwgJmVmZmVjdGl2ZVN5c3RlbUJh
Y2tncm91bmRDb2xvciB9LAogICAgICAgICAgICAgeyBDU1NWYWx1ZUFwcGxlU3lzdGVtQmx1ZSwg
QHNlbGVjdG9yKHN5c3RlbUJsdWVDb2xvcikgfSwKICAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBs
ZVN5c3RlbUJyb3duLCBAc2VsZWN0b3Ioc3lzdGVtQnJvd25Db2xvcikgfSwKICAgICAgICAgICAg
IHsgQ1NTVmFsdWVBcHBsZVN5c3RlbUdyYXksIEBzZWxlY3RvcihzeXN0ZW1HcmF5Q29sb3IpIH0s
CkBAIC0xNDY4LDcgKzE0NzAsNyBAQCBzdGF0aWMgY29uc3QgVmVjdG9yPENTU1ZhbHVlU3lzdGVt
Q29sb3JJbmZvcm1hdGlvbj4mIGNzc1ZhbHVlU3lzdGVtQ29sb3JJbmZvcm1hdAogICAgICAgICAg
ICAgeyBDU1NWYWx1ZUFwcGxlU3lzdGVtUmVkLCBAc2VsZWN0b3Ioc3lzdGVtUmVkQ29sb3IpIH0s
CiAgICAgICAgICAgICB7IENTU1ZhbHVlQXBwbGVTeXN0ZW1UZWFsLCBAc2VsZWN0b3Ioc3lzdGVt
VGVhbENvbG9yKSB9LAogICAgICAgICAgICAgeyBDU1NWYWx1ZUFwcGxlU3lzdGVtWWVsbG93LCBA
c2VsZWN0b3Ioc3lzdGVtWWVsbG93Q29sb3IpIH0sCi0gICAgICAgICAgICB7IENTU1ZhbHVlQXBw
bGVTeXN0ZW1CYWNrZ3JvdW5kLCBAc2VsZWN0b3Ioc3lzdGVtQmFja2dyb3VuZENvbG9yKSB9LAor
ICAgICAgICAgICAgeyBDU1NWYWx1ZUFwcGxlU3lzdGVtQmFja2dyb3VuZCwgbmlsLCBmYWxzZSwg
MS4wZiwgJmVmZmVjdGl2ZVN5c3RlbUJhY2tncm91bmRDb2xvciB9LAogICAgICAgICAgICAgeyBD
U1NWYWx1ZUFwcGxlU3lzdGVtU2Vjb25kYXJ5QmFja2dyb3VuZCwgQHNlbGVjdG9yKHNlY29uZGFy
eVN5c3RlbUJhY2tncm91bmRDb2xvcikgfSwKICAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5
c3RlbVRlcnRpYXJ5QmFja2dyb3VuZCwgQHNlbGVjdG9yKHRlcnRpYXJ5U3lzdGVtQmFja2dyb3Vu
ZENvbG9yKSB9LAogICAgICAgICAgICAgeyBDU1NWYWx1ZUFwcGxlU3lzdGVtT3BhcXVlRmlsbCwg
QHNlbGVjdG9yKHN5c3RlbUZpbGxDb2xvciksIHRydWUgfSwKQEAgLTE0ODgsMTEgKzE0OTAsMTEg
QEAgc3RhdGljIGNvbnN0IFZlY3RvcjxDU1NWYWx1ZVN5c3RlbUNvbG9ySW5mb3JtYXRpb24+JiBj
c3NWYWx1ZVN5c3RlbUNvbG9ySW5mb3JtYXQKICAgICAgICAgICAgIC8vIEZJWE1FOiA8cmRhcjov
L3Byb2JsZW0vNzk0NzE1Mjg+IEFkb3B0IFtVSUNvbG9yIG9wYXF1ZVNlcGFyYXRvckNvbG9yXSBv
bmNlIGl0IGhhcyBhIGhpZ2ggY29udHJhc3QgdmFyaWFudC4KICAgICAgICAgICAgIHsgQ1NTVmFs
dWVBcHBsZVN5c3RlbU9wYXF1ZVNlcGFyYXRvciwgQHNlbGVjdG9yKHNlcGFyYXRvckNvbG9yKSwg
dHJ1ZSB9LAogICAgICAgICAgICAgeyBDU1NWYWx1ZUFwcGxlU3lzdGVtQ29udGFpbmVyQm9yZGVy
LCBAc2VsZWN0b3Ioc2VwYXJhdG9yQ29sb3IpIH0sCi0gICAgICAgICAgICB7IENTU1ZhbHVlQXBw
bGVTeXN0ZW1Db250cm9sQmFja2dyb3VuZCwgQHNlbGVjdG9yKHN5c3RlbUJhY2tncm91bmRDb2xv
cikgfSwKKyAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3RlbUNvbnRyb2xCYWNrZ3JvdW5k
LCBuaWwsIGZhbHNlLCAxLjBmLCAmZWZmZWN0aXZlU3lzdGVtQmFja2dyb3VuZENvbG9yIH0sCiAg
ICAgICAgICAgICB7IENTU1ZhbHVlQXBwbGVTeXN0ZW1HcmlkLCBAc2VsZWN0b3Ioc2VwYXJhdG9y
Q29sb3IpIH0sCiAgICAgICAgICAgICB7IENTU1ZhbHVlQXBwbGVTeXN0ZW1IZWFkZXJUZXh0LCBA
c2VsZWN0b3IobGFiZWxDb2xvcikgfSwKICAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3Rl
bVNlbGVjdGVkQ29udGVudEJhY2tncm91bmQsIEBzZWxlY3Rvcih0YWJsZUNlbGxEZWZhdWx0U2Vs
ZWN0aW9uVGludENvbG9yKSB9LAotICAgICAgICAgICAgeyBDU1NWYWx1ZUFwcGxlU3lzdGVtVGV4
dEJhY2tncm91bmQsIEBzZWxlY3RvcihzeXN0ZW1CYWNrZ3JvdW5kQ29sb3IpIH0sCisgICAgICAg
ICAgICB7IENTU1ZhbHVlQXBwbGVTeXN0ZW1UZXh0QmFja2dyb3VuZCwgbmlsLCBmYWxzZSwgMS4w
ZiwgJmVmZmVjdGl2ZVN5c3RlbUJhY2tncm91bmRDb2xvciB9LAogICAgICAgICAgICAgeyBDU1NW
YWx1ZUFwcGxlU3lzdGVtVW5lbXBoYXNpemVkU2VsZWN0ZWRDb250ZW50QmFja2dyb3VuZCwgQHNl
bGVjdG9yKHRhYmxlQ2VsbERlZmF1bHRTZWxlY3Rpb25UaW50Q29sb3IpIH0sCiAgICAgICAgICAg
ICB7IENTU1ZhbHVlQXBwbGVXaXJlbGVzc1BsYXliYWNrVGFyZ2V0QWN0aXZlLCBAc2VsZWN0b3Io
c3lzdGVtQmx1ZUNvbG9yKSB9LAogICAgICAgICB9KTsKQEAgLTE1MDMsMTkgKzE1MDUsMjQgQEAg
c3RhdGljIGNvbnN0IFZlY3RvcjxDU1NWYWx1ZVN5c3RlbUNvbG9ySW5mb3JtYXRpb24+JiBjc3NW
YWx1ZVN5c3RlbUNvbG9ySW5mb3JtYXQKIAogc3RhdGljIGlubGluZSBzdGQ6Om9wdGlvbmFsPENv
bG9yPiBzeXN0ZW1Db2xvckZyb21DU1NWYWx1ZVN5c3RlbUNvbG9ySW5mb3JtYXRpb24oQ1NTVmFs
dWVTeXN0ZW1Db2xvckluZm9ybWF0aW9uIHN5c3RlbUNvbG9ySW5mb3JtYXRpb24sIGJvb2wgdXNl
RGFya0FwcGVhcmFuY2UpCiB7Ci0gICAgaWYgKGF1dG8gY29sb3IgPSB3dGZPYmpDTXNnU2VuZDxV
SUNvbG9yICo+KFBBTDo6Z2V0VUlDb2xvckNsYXNzKCksIHN5c3RlbUNvbG9ySW5mb3JtYXRpb24u
c2VsZWN0b3IpKSB7Ci0gICAgICAgIENvbG9yIHN5c3RlbUNvbG9yKHJvdW5kQW5kQ2xhbXBUb1NS
R0JBTG9zc3koY29sb3IuQ0dDb2xvciksIENvbG9yOjpGbGFnczo6U2VtYW50aWMpOworICAgIFVJ
Q29sb3IgKmNvbG9yID0gbmlsOworICAgIGlmIChzeXN0ZW1Db2xvckluZm9ybWF0aW9uLnNlbGVj
dG9yKQorICAgICAgICBjb2xvciA9IHd0Zk9iakNNc2dTZW5kPFVJQ29sb3IgKj4oUEFMOjpnZXRV
SUNvbG9yQ2xhc3MoKSwgc3lzdGVtQ29sb3JJbmZvcm1hdGlvbi5zZWxlY3Rvcik7CisgICAgZWxz
ZQorICAgICAgICBjb2xvciA9IHN5c3RlbUNvbG9ySW5mb3JtYXRpb24uZnVuY3Rpb24oKTsKIAot
ICAgICAgICBpZiAoc3lzdGVtQ29sb3JJbmZvcm1hdGlvbi5vcGFjaXR5IDwgMS4wZikKLSAgICAg
ICAgICAgIHN5c3RlbUNvbG9yID0gc3lzdGVtQ29sb3IuY29sb3JXaXRoQWxwaGFNdWx0aXBsaWVk
Qnkoc3lzdGVtQ29sb3JJbmZvcm1hdGlvbi5vcGFjaXR5KTsKKyAgICBpZiAoIWNvbG9yKQorICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAgIGlmIChzeXN0ZW1Db2xvckluZm9y
bWF0aW9uLm1ha2VPcGFxdWUpCi0gICAgICAgICAgICByZXR1cm4gYmxlbmRTb3VyY2VPdmVyKHVz
ZURhcmtBcHBlYXJhbmNlID8gQ29sb3I6OmJsYWNrIDogQ29sb3I6OndoaXRlLCBzeXN0ZW1Db2xv
cik7CisgICAgQ29sb3Igc3lzdGVtQ29sb3Iocm91bmRBbmRDbGFtcFRvU1JHQkFMb3NzeShjb2xv
ci5DR0NvbG9yKSwgQ29sb3I6OkZsYWdzOjpTZW1hbnRpYyk7CiAKLSAgICAgICAgcmV0dXJuIHN5
c3RlbUNvbG9yOwotICAgIH0KKyAgICBpZiAoc3lzdGVtQ29sb3JJbmZvcm1hdGlvbi5vcGFjaXR5
IDwgMS4wZikKKyAgICAgICAgc3lzdGVtQ29sb3IgPSBzeXN0ZW1Db2xvci5jb2xvcldpdGhBbHBo
YU11bHRpcGxpZWRCeShzeXN0ZW1Db2xvckluZm9ybWF0aW9uLm9wYWNpdHkpOwogCi0gICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICBpZiAoc3lzdGVtQ29sb3JJbmZvcm1hdGlvbi5tYWtlT3Bh
cXVlKQorICAgICAgICByZXR1cm4gYmxlbmRTb3VyY2VPdmVyKHVzZURhcmtBcHBlYXJhbmNlID8g
Q29sb3I6OmJsYWNrIDogQ29sb3I6OndoaXRlLCBzeXN0ZW1Db2xvcik7CisKKyAgICByZXR1cm4g
c3lzdGVtQ29sb3I7CiB9CiAKIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPENvbG9yPiBzeXN0ZW1Db2xv
ckZyb21DU1NWYWx1ZUlEKENTU1ZhbHVlSUQgY3NzVmFsdWVJRCwgYm9vbCB1c2VEYXJrQXBwZWFy
YW5jZSwgYm9vbCB1c2VFbGV2YXRlZFVzZXJJbnRlcmZhY2VMZXZlbCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdJT1MubW0KaW5kZXggNTQ0YzcxNGFjNjEw
ZjRkZWEwN2JjMTYxZDQwM2IxNmU3NmEyMWYxMi4uNzA1OTQ5YTE4YTJlNjI3YTZlOGExZGNmM2Jm
NzlhZDNmZjM1N2UxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2lv
cy9XS1dlYlZpZXdJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9X
S1dlYlZpZXdJT1MubW0KQEAgLTYxLDYgKzYxLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxD
dXJyZW50VHJhaXRDb2xsZWN0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL01JTUVUeXBlUmVnaXN0
cnkuaD4KICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CisjaW1w
b3J0IDxXZWJDb3JlL1dlYkNvcmVVSUNvbG9yRXh0cmFzLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2Nv
Y29hL1F1YXJ0ekNvcmVTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvaW9zL0dyYXBoaWNzU2Vydmlj
ZXNTUEkuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgpAQCAtNTQyLDcgKzU0Myw3IEBAIHN0
YXRpYyBXZWJDb3JlOjpDb2xvciBzY3JvbGxWaWV3QmFja2dyb3VuZENvbG9yKFdLV2ViVmlldyAq
d2ViVmlldywgQWxsb3dQYWdlQmFjCiAKICAgICBpZiAoIWNvbG9yLmlzVmFsaWQoKSkgewogI2lm
IEhBVkUoT1NfREFSS19NT0RFX1NVUFBPUlQpCi0gICAgICAgIGNvbG9yID0gV2ViQ29yZTo6cm91
bmRBbmRDbGFtcFRvU1JHQkFMb3NzeShVSUNvbG9yLnN5c3RlbUJhY2tncm91bmRDb2xvci5DR0Nv
bG9yKTsKKyAgICAgICAgY29sb3IgPSBXZWJDb3JlOjpyb3VuZEFuZENsYW1wVG9TUkdCQUxvc3N5
KFdlYkNvcmU6OnN5c3RlbUJhY2tncm91bmRDb2xvcih3ZWJWaWV3LnRyYWl0Q29sbGVjdGlvbiku
Q0dDb2xvcik7CiAjZWxzZQogICAgICAgICBjb2xvciA9IFdlYkNvcmU6OkNvbG9yOjp3aGl0ZTsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tCmluZGV4IDJiNWY1MWMyZDgwN2NkZjdlNmVlNTk1N2Q2NmYzYTcxZmQ4MmMyZGEuLjVm
NTYwYmUxM2YzZGJiZjk1MjU2NjgyNzUwNDI1NTZiNGZhYmEzMDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KQEAgLTcxLDYgKzcxLDcg
QEAKICNpbXBvcnQgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Rl
eHRJbmRpY2F0b3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvVmFsaWRhdGlvbkJ1YmJsZS5oPgorI2lt
cG9ydCA8V2ViQ29yZS9XZWJDb3JlVUlDb2xvckV4dHJhcy5oPgogI2ltcG9ydCA8d3RmL0Jsb2Nr
UHRyLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvRW50aXRsZW1lbnRzLmg+CiAKQEAgLTEwMTgsNyAr
MTAxOSwxNCBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpydW5Nb2RhbEphdmFTY3JpcHREaWFsb2co
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNhbGxiYQogCiBXZWJDb3JlOjpDb2xvciBQYWdl
Q2xpZW50SW1wbDo6Y29udGVudFZpZXdCYWNrZ3JvdW5kQ29sb3IoKQogewotICAgIHJldHVybiBX
ZWJDb3JlOjpyb3VuZEFuZENsYW1wVG9TUkdCQUxvc3N5KFttX2NvbnRlbnRWaWV3IGJhY2tncm91
bmRDb2xvcl0uQ0dDb2xvcik7CisgICAgV2ViQ29yZTo6Q29sb3IgY29sb3IgPSBXZWJDb3JlOjpy
b3VuZEFuZENsYW1wVG9TUkdCQUxvc3N5KFttX2NvbnRlbnRWaWV3IGJhY2tncm91bmRDb2xvcl0u
Q0dDb2xvcik7CisgICAgaWYgKGNvbG9yLmlzVmFsaWQoKSkKKyAgICAgICAgcmV0dXJuIGNvbG9y
OworI2lmIEhBVkUoT1NfREFSS19NT0RFX1NVUFBPUlQpCisgICAgcmV0dXJuIFdlYkNvcmU6OnJv
dW5kQW5kQ2xhbXBUb1NSR0JBTG9zc3koV2ViQ29yZTo6c3lzdGVtQmFja2dyb3VuZENvbG9yKFtt
X3dlYlZpZXcgdHJhaXRDb2xsZWN0aW9uXSkuQ0dDb2xvcik7CisjZWxzZQorICAgIHJldHVybiB7
IH07CisjZW5kaWYKIH0KIAogdm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVj
dChjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UG9pbnQmIG9yaWdpbikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1Mu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4
IDc0YTRiN2QyNjQ4ZjA4NzVjNzFjYjIyYTcwODVlMzlmNDUxZDUyMGMuLjUwMTg1NTY4MWFkOWVk
MjZkYTlhZTYzNGYzZGQyNzc4MzcxYTFiYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpAQCAtMTYwMCwxMSArMTYwMCw3IEBAIENvbG9yIFdl
YlBhZ2VQcm94eTo6cGxhdGZvcm1VbmRlclBhZ2VCYWNrZ3JvdW5kQ29sb3IoKSBjb25zdAogICAg
IGlmIChhdXRvIGNvbnRlbnRWaWV3QmFja2dyb3VuZENvbG9yID0gcGFnZUNsaWVudCgpLmNvbnRl
bnRWaWV3QmFja2dyb3VuZENvbG9yKCk7IGNvbnRlbnRWaWV3QmFja2dyb3VuZENvbG9yLmlzVmFs
aWQoKSkKICAgICAgICAgcmV0dXJuIGNvbnRlbnRWaWV3QmFja2dyb3VuZENvbG9yOwogCi0jaWYg
SEFWRShPU19EQVJLX01PREVfU1VQUE9SVCkKLSAgICByZXR1cm4gV2ViQ29yZTo6cm91bmRBbmRD
bGFtcFRvU1JHQkFMb3NzeShVSUNvbG9yLnN5c3RlbUJhY2tncm91bmRDb2xvci5DR0NvbG9yKTsK
LSNlbHNlCiAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbG9yOjp3aGl0ZTsKLSNlbmRpZgogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455175</attachid>
            <date>2022-03-19 14:25:19 -0700</date>
            <delta_ts>2022-03-19 14:34:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238108-20220319142519.patch</filename>
            <type>text/plain</type>
            <size>19529</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDcwMTQyYmVlMjZjMzc4
Zjg5Njc4ZmU0NzM4YzMwZmNiOGNiMWE2OS4uODlhMjAxNzVlY2ZiZDgyMDEwYmRhZDJiMDU2NWUw
OTljMTgyOWVlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIyLTAzLTE4ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbiBhZGRp
dGlvbiBwb2ludCBmb3Igc3lzdGVtIGJhY2tncm91bmQgY29sb3IKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODEwOAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vOTA0NjM5NDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViQ29yZVVJQ29sb3JF
eHRyYXMuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zL1dlYkNvcmVVSUNvbG9yRXh0
cmFzLm1tOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnN5c3RlbUJhY2tncm91bmRDb2xvcik6
CisgICAgICAgIEFkZCBhbiBhZGRpdGlvbiBwb2ludC4KKworICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlU3lzdGVtQ29sb3JJ
bmZvcm1hdGlvbjo6ZnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6Y3NzVmFsdWVTeXN0ZW1D
b2xvckluZm9ybWF0aW9uTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpzeXN0ZW1Db2xvckZyb21D
U1NWYWx1ZVN5c3RlbUNvbG9ySW5mb3JtYXRpb24pOgorICAgICAgICBBZG9wdCBpdCBmb3IgQ1NT
IHVzZSBvZiBzeXN0ZW0gYmFja2dyb3VuZCBjb2xvci4KKwogMjAyMi0wMy0xOCAgRW5yaXF1ZSBP
Y2HDsWEgR29uesOhbGV6ICA8ZW9jYW5oYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFt
ZXJdIEFkZCBzdG9wIHBvc2l0aW9uIHRvIHRoZSByYW5nZSByZXF1ZXN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDlm
NDRhNzY4MjZhYWI5NzBlZTFmZDIwMWE5NDQwNGE5NzA4NjAxYTEuLjY1MDMwODgxMGYyOWUzNTk4
YjgxY2MxYmM4MWI1MWE4MTBkZDEzNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjIt
MDMtMTggIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAg
QWRkIGFuIGFkZGl0aW9uIHBvaW50IGZvciBzeXN0ZW0gYmFja2dyb3VuZCBjb2xvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4MTA4CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS85MDQ2Mzk0Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lPUy5tbToK
KyAgICAgICAgKHNjcm9sbFZpZXdCYWNrZ3JvdW5kQ29sb3IpOgorICAgICAgICBBZG9wdCBzeXN0
ZW1CYWNrZ3JvdW5kQ29sb3IoKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpjb250ZW50Vmll
d0JhY2tncm91bmRDb2xvcik6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJ
T1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cGxhdGZvcm1VbmRlclBhZ2VC
YWNrZ3JvdW5kQ29sb3IgY29uc3QpOgorICAgICAgICBNb3ZlIHRoZSBmYWxsYmFjayB0byBzeXN0
ZW1CYWNrZ3JvdW5kQ29sb3IgaW50byBQYWdlQ2xpZW50SW1wbAorICAgICAgICBzbyB0aGF0IGl0
IGNhbiByZWFsaXplIHRoZSB3ZWIgdmlldydzIHRyYWl0IGNvbGxlY3Rpb24uCisKIDIwMjItMDMt
MTggIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWN5
Y2xpbmcgYSB3ZWJnbCBjb250ZXh0IHdoZW4gaXQgaGFzIGJlZW4gbG9zdCBhbmQgcmVzdG9yZWQg
Y2F1c2VzIGEgY3Jhc2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDAyOWY2ZTE4ZTFkYmNj
ODVmZmQzZjQwZmQ3YTZhZDYzMGZjM2MyMzYuLmE2NTQ1MjUyNGFlMTgxMDNiMWZlOGZmYzNkN2Rl
NjM4NDU5MDgxMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApAQCAtNDgxLDYgKzQ4MSw3IEBA
IHBsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW0KIHBsYXRmb3JtL2lvcy9XZWJC
YWNrZ3JvdW5kVGFza0NvbnRyb2xsZXIubW0KIHBsYXRmb3JtL2lvcy9XZWJDb3JlTW90aW9uTWFu
YWdlci5tbQogcGxhdGZvcm0vaW9zL1dlYkV2ZW50Lm1tIEBuby11bmlmeQorcGxhdGZvcm0vaW9z
L1dlYkNvcmVVSUNvbG9yRXh0cmFzLm1tCiBwbGF0Zm9ybS9pb3MvV2ViSXRlbVByb3ZpZGVyUGFz
dGVib2FyZC5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9XZWJTUUxpdGVEYXRhYmFzZVRyYWNr
ZXJDbGllbnQubW0KIHBsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZL
aXQubW0gQG5vLXVuaWZ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggNDQwZjg5Y2YxZjM0MmQ4ZTQ1YTY2Yzg4ZjM2NWI2NThlOGQw
ZDgzMi4uMDljMTlhZmEzODUzZjQ5ZWVjOTc0ZTdjNTAzZWVlYTY2MzgyODUxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODYy
LDYgKzg2Miw3IEBACiAJCTJEOEI5MkZEMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNl
NTI4LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERF
NUY4NUQyMUZBMjM4NTYwMDZEQjYzQiAvKiBVbmlmaWVkU291cmNlNTI4LmNwcCAqLzsgfTsKIAkJ
MkQ4QjkyRkUyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MjkuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gREU1Rjg1Q0YxRkEyMzg1MDAw
NkRCNjNCIC8qIFVuaWZpZWRTb3VyY2U1MjkuY3BwICovOyB9OwogCQkyRDhCOTJGRjIwM0QxM0Ux
MDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERTVGODVEMzFGQTIzODU5MDA2REI2M0IgLyogVW5pZmll
ZFNvdXJjZTUzMC5jcHAgKi87IH07CisJCTJEOEJBMTgxMjdFNUE0ODcwMDhGN0U1MiAvKiBXZWJD
b3JlVUlDb2xvckV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkQ4QkExODAyN0U1QTQ3QjAwOEY3RTUyIC8qIFdlYkNvcmVVSUNvbG9yRXh0cmFz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkQ4
RkVCREQxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDhGRUJEQjE0M0UzRUY3MDA3MjUw
MkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCAqLzsgfTsKIAkJMkQ5MDY2MDcwQkUxNDFENDAwOTU2
OTk4IC8qIFJlbmRlckxheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYwNTBCRTE0MUQ0MDA5NTY5OTggLyogUmVuZGVyTGF5b3V0
U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkyRDkzQUVFMzE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5M0FFRTEx
OURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCAqLzsgfTsKQEAg
LTgxMDQsNiArODEwNSw4IEBACiAJCTJEN0VEMEE5MUJBRTk5MTcwMDQzQjNFNSAvKiBUaW1lckV2
ZW50QmFzZWRNb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRpbWVyRXZl
bnRCYXNlZE1vY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ4Mjg3RjQxNkU0
QTAzODAwODZCRDAwIC8qIEhpdFRlc3RMb2NhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBIaXRUZXN0TG9jYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyRDgyODdGNTE2RTRBMDM4MDA4NkJEMDAgLyogSGl0VGVzdExvY2F0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhpdFRlc3RMb2NhdGlvbi5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDhCQTE3RjI3RTVBNDdBMDA4RjdFNTIgLyogV2Vi
Q29yZVVJQ29sb3JFeHRyYXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJDb3JlVUlDb2xv
ckV4dHJhcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ4QkExODAyN0U1QTQ3
QjAwOEY3RTUyIC8qIFdlYkNvcmVVSUNvbG9yRXh0cmFzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNv
cmVVSUNvbG9yRXh0cmFzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOEQzQkVC
MjM4NDdBQzkwMDY1NzA3NSAvKiBnZXN0dXJlLXJlY29nbml6ZXIuanMgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7
IHBhdGggPSAiZ2VzdHVyZS1yZWNvZ25pemVyLmpzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMkQ4RDNCRUMyMzg0N0FDOTAwNjU3MDc1IC8qIHBpbmNoLmpzICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0
OyBwYXRoID0gcGluY2guanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOEQzQkVE
MjM4NDdBQzkwMDY1NzA3NSAvKiB0YXAuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSB0YXAuanM7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNjc3Niw2ICsyNjc3OSw4IEBACiAJCQkJ
MUYzNkVBOUIxRTIxQkExNzAwNjIxRTI1IC8qIFdlYkJhY2tncm91bmRUYXNrQ29udHJvbGxlci5t
bSAqLywKIAkJCQkzMTQwMzc5NzEyNEJFQTdGMDBBRjQwRTQgLyogV2ViQ29yZU1vdGlvbk1hbmFn
ZXIuaCAqLywKIAkJCQkzMTQwMzc5ODEyNEJFQTdGMDBBRjQwRTQgLyogV2ViQ29yZU1vdGlvbk1h
bmFnZXIubW0gKi8sCisJCQkJMkQ4QkExODAyN0U1QTQ3QjAwOEY3RTUyIC8qIFdlYkNvcmVVSUNv
bG9yRXh0cmFzLmggKi8sCisJCQkJMkQ4QkExN0YyN0U1QTQ3QTAwOEY3RTUyIC8qIFdlYkNvcmVV
SUNvbG9yRXh0cmFzLm1tICovLAogCQkJCUZFMEQ4NEU4MTA0ODQzNDgwMDFBMTc5RSAvKiBXZWJF
dmVudC5oICovLAogCQkJCUZFMEQ4NEVBMTA0ODQzNkUwMDFBMTc5RSAvKiBXZWJFdmVudC5tbSAq
LywKIAkJCQlGNDgyMjMwRjFFMzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVi
b2FyZC5oICovLApAQCAtMzgwNDMsNiArMzgwNDgsNyBAQAogCQkJCUExNDgzMkNDMTg3RjY3QzQw
MERBNjNBNiAvKiBXZWJDb3JlVGhyZWFkUnVuLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQ4MzJD
RjE4N0Y2ODQ3MDBEQTYzQTYgLyogV2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFjZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEYwOTlEMDkxN0I5NjhBMTAwRkY4NEI5IC8qIFdlYkNvcmVUeXBlZEFy
cmF5Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkQ4QkExODEyN0U1QTQ4NzAwOEY3
RTUyIC8qIFdlYkNvcmVVSUNvbG9yRXh0cmFzLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0Y4MThG
RDBENjU3NjA2MDA1RTFGMDUgLyogV2ViQ29yZVVSTFJlc3BvbnNlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0NEEyMERCOTBGODQxNjZDMDBCM0UxRkUgLyogV2ViQ29yZVVSTFJlc3BvbnNlSU9TLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOTlGMDA4MjQ1RTU5MDAxRTlBQkMgLyogV2ViQ29yZVZp
ZXcuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1dlYkNvcmVVSUNvbG9yRXh0cmFzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
V2ViQ29yZVVJQ29sb3JFeHRyYXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44M2EwOGQwY2Y2NjZlNGQ5NTMwNzlh
MzJhYzY2YjI4ODYzMmU2YjMxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1dlYkNvcmVVSUNvbG9yRXh0cmFzLmgKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitXRUJDT1JFX0VYUE9SVCBVSUNvbG9yICpzeXN0ZW1CYWNrZ3JvdW5k
Q29sb3IoKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJDb3JlVUlDb2xvckV4dHJhcy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJDb3JlVUlDb2xvckV4dHJhcy5tbQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MzVlY2MzY2Y3ZjUzN2I2YjRhYWFhNGExNzQ0ZjAwOWU3MzM1YjFkCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVVSUNvbG9yRXh0cmFz
Lm1tCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjIgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisj
aW1wb3J0ICJXZWJDb3JlVUlDb2xvckV4dHJhcy5oIgorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKKworI2ltcG9ydCA8cGFsL2lvcy9VSUtpdFNvZnRMaW5rLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIF9faGFzX2luY2x1ZGUoPFdl
YktpdEFkZGl0aW9ucy9XZWJDb3JlVUlDb2xvckV4dHJhc0FkZGl0aW9ucy5tbT4pCisKKyNpbXBv
cnQgPFdlYktpdEFkZGl0aW9ucy9XZWJDb3JlVUlDb2xvckV4dHJhc0FkZGl0aW9ucy5tbT4KKwor
I2Vsc2UKKworVUlDb2xvciAqc3lzdGVtQmFja2dyb3VuZENvbG9yKCkKK3sKKyAgICByZXR1cm4g
KFVJQ29sb3IgKilbUEFMOjpnZXRVSUNvbG9yQ2xhc3MoKSBzeXN0ZW1CYWNrZ3JvdW5kQ29sb3Jd
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgorCisjZW5kaWYgLy8gUExB
VEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlP
Uy5tbQppbmRleCBmMWQ2OGY2MzdiYjlhODA5N2Q3YWMyZjRjMTAzMTEwZTZkN2UxNzUxLi5hZTc4
MjQyYjMyY2ZiYjVkYmQ2MjNiYjEyOTYyY2M1MGI1YmQ1YTViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCkBAIC04MCw2ICs4MCw3IEBACiAjaW1wb3J0ICJU
aGVtZS5oIgogI2ltcG9ydCAiVVRJVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJXZWJDb3JlVGhyZWFk
UnVuLmgiCisjaW1wb3J0ICJXZWJDb3JlVUlDb2xvckV4dHJhcy5oIgogI2ltcG9ydCA8Q29yZUdy
YXBoaWNzL0NvcmVHcmFwaGljcy5oPgogI2ltcG9ydCA8Q29yZUltYWdlL0NvcmVJbWFnZS5oPgog
I2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CkBAIC0xNDQ0LDYgKzE0NDUsNyBAQCBzdHJ1Y3QgQ1NT
VmFsdWVTeXN0ZW1Db2xvckluZm9ybWF0aW9uIHsKICAgICBTRUwgc2VsZWN0b3I7CiAgICAgYm9v
bCBtYWtlT3BhcXVlIHsgZmFsc2UgfTsKICAgICBmbG9hdCBvcGFjaXR5IHsgMS4wZiB9OworICAg
IFVJQ29sb3IgKigqZnVuY3Rpb24pKHZvaWQpIHsgbnVsbHB0ciB9OwogfTsKIAogc3RhdGljIGNv
bnN0IFZlY3RvcjxDU1NWYWx1ZVN5c3RlbUNvbG9ySW5mb3JtYXRpb24+JiBjc3NWYWx1ZVN5c3Rl
bUNvbG9ySW5mb3JtYXRpb25MaXN0KCkKQEAgLTE0NTYsNyArMTQ1OCw3IEBAIHN0YXRpYyBjb25z
dCBWZWN0b3I8Q1NTVmFsdWVTeXN0ZW1Db2xvckluZm9ybWF0aW9uPiYgY3NzVmFsdWVTeXN0ZW1D
b2xvckluZm9ybWF0CiAgICAgICAgIFtdIHsKICAgICAgICAgY3NzVmFsdWVTeXN0ZW1Db2xvcklu
Zm9ybWF0aW9uTGlzdC5nZXQoKSA9IFZlY3RvcihzdGQ6OmluaXRpYWxpemVyX2xpc3Q8Q1NTVmFs
dWVTeXN0ZW1Db2xvckluZm9ybWF0aW9uPiB7CiAgICAgICAgICAgICB7IENTU1ZhbHVlVGV4dCwg
QHNlbGVjdG9yKGxhYmVsQ29sb3IpIH0sCi0gICAgICAgICAgICB7IENTU1ZhbHVlV2Via2l0Q29u
dHJvbEJhY2tncm91bmQsIEBzZWxlY3RvcihzeXN0ZW1CYWNrZ3JvdW5kQ29sb3IpIH0sCisgICAg
ICAgICAgICB7IENTU1ZhbHVlV2Via2l0Q29udHJvbEJhY2tncm91bmQsIG5pbCwgZmFsc2UsIDEu
MGYsICZzeXN0ZW1CYWNrZ3JvdW5kQ29sb3IgfSwKICAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBs
ZVN5c3RlbUJsdWUsIEBzZWxlY3RvcihzeXN0ZW1CbHVlQ29sb3IpIH0sCiAgICAgICAgICAgICB7
IENTU1ZhbHVlQXBwbGVTeXN0ZW1Ccm93biwgQHNlbGVjdG9yKHN5c3RlbUJyb3duQ29sb3IpIH0s
CiAgICAgICAgICAgICB7IENTU1ZhbHVlQXBwbGVTeXN0ZW1HcmF5LCBAc2VsZWN0b3Ioc3lzdGVt
R3JheUNvbG9yKSB9LApAQCAtMTQ2OCw3ICsxNDcwLDcgQEAgc3RhdGljIGNvbnN0IFZlY3RvcjxD
U1NWYWx1ZVN5c3RlbUNvbG9ySW5mb3JtYXRpb24+JiBjc3NWYWx1ZVN5c3RlbUNvbG9ySW5mb3Jt
YXQKICAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3RlbVJlZCwgQHNlbGVjdG9yKHN5c3Rl
bVJlZENvbG9yKSB9LAogICAgICAgICAgICAgeyBDU1NWYWx1ZUFwcGxlU3lzdGVtVGVhbCwgQHNl
bGVjdG9yKHN5c3RlbVRlYWxDb2xvcikgfSwKICAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5
c3RlbVllbGxvdywgQHNlbGVjdG9yKHN5c3RlbVllbGxvd0NvbG9yKSB9LAotICAgICAgICAgICAg
eyBDU1NWYWx1ZUFwcGxlU3lzdGVtQmFja2dyb3VuZCwgQHNlbGVjdG9yKHN5c3RlbUJhY2tncm91
bmRDb2xvcikgfSwKKyAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3RlbUJhY2tncm91bmQs
IG5pbCwgZmFsc2UsIDEuMGYsICZzeXN0ZW1CYWNrZ3JvdW5kQ29sb3IgfSwKICAgICAgICAgICAg
IHsgQ1NTVmFsdWVBcHBsZVN5c3RlbVNlY29uZGFyeUJhY2tncm91bmQsIEBzZWxlY3RvcihzZWNv
bmRhcnlTeXN0ZW1CYWNrZ3JvdW5kQ29sb3IpIH0sCiAgICAgICAgICAgICB7IENTU1ZhbHVlQXBw
bGVTeXN0ZW1UZXJ0aWFyeUJhY2tncm91bmQsIEBzZWxlY3Rvcih0ZXJ0aWFyeVN5c3RlbUJhY2tn
cm91bmRDb2xvcikgfSwKICAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3RlbU9wYXF1ZUZp
bGwsIEBzZWxlY3RvcihzeXN0ZW1GaWxsQ29sb3IpLCB0cnVlIH0sCkBAIC0xNDg4LDExICsxNDkw
LDExIEBAIHN0YXRpYyBjb25zdCBWZWN0b3I8Q1NTVmFsdWVTeXN0ZW1Db2xvckluZm9ybWF0aW9u
PiYgY3NzVmFsdWVTeXN0ZW1Db2xvckluZm9ybWF0CiAgICAgICAgICAgICAvLyBGSVhNRTogPHJk
YXI6Ly9wcm9ibGVtLzc5NDcxNTI4PiBBZG9wdCBbVUlDb2xvciBvcGFxdWVTZXBhcmF0b3JDb2xv
cl0gb25jZSBpdCBoYXMgYSBoaWdoIGNvbnRyYXN0IHZhcmlhbnQuCiAgICAgICAgICAgICB7IENT
U1ZhbHVlQXBwbGVTeXN0ZW1PcGFxdWVTZXBhcmF0b3IsIEBzZWxlY3RvcihzZXBhcmF0b3JDb2xv
ciksIHRydWUgfSwKICAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3RlbUNvbnRhaW5lckJv
cmRlciwgQHNlbGVjdG9yKHNlcGFyYXRvckNvbG9yKSB9LAotICAgICAgICAgICAgeyBDU1NWYWx1
ZUFwcGxlU3lzdGVtQ29udHJvbEJhY2tncm91bmQsIEBzZWxlY3RvcihzeXN0ZW1CYWNrZ3JvdW5k
Q29sb3IpIH0sCisgICAgICAgICAgICB7IENTU1ZhbHVlQXBwbGVTeXN0ZW1Db250cm9sQmFja2dy
b3VuZCwgbmlsLCBmYWxzZSwgMS4wZiwgJnN5c3RlbUJhY2tncm91bmRDb2xvciB9LAogICAgICAg
ICAgICAgeyBDU1NWYWx1ZUFwcGxlU3lzdGVtR3JpZCwgQHNlbGVjdG9yKHNlcGFyYXRvckNvbG9y
KSB9LAogICAgICAgICAgICAgeyBDU1NWYWx1ZUFwcGxlU3lzdGVtSGVhZGVyVGV4dCwgQHNlbGVj
dG9yKGxhYmVsQ29sb3IpIH0sCiAgICAgICAgICAgICB7IENTU1ZhbHVlQXBwbGVTeXN0ZW1TZWxl
Y3RlZENvbnRlbnRCYWNrZ3JvdW5kLCBAc2VsZWN0b3IodGFibGVDZWxsRGVmYXVsdFNlbGVjdGlv
blRpbnRDb2xvcikgfSwKLSAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3RlbVRleHRCYWNr
Z3JvdW5kLCBAc2VsZWN0b3Ioc3lzdGVtQmFja2dyb3VuZENvbG9yKSB9LAorICAgICAgICAgICAg
eyBDU1NWYWx1ZUFwcGxlU3lzdGVtVGV4dEJhY2tncm91bmQsIG5pbCwgZmFsc2UsIDEuMGYsICZz
eXN0ZW1CYWNrZ3JvdW5kQ29sb3IgfSwKICAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3Rl
bVVuZW1waGFzaXplZFNlbGVjdGVkQ29udGVudEJhY2tncm91bmQsIEBzZWxlY3Rvcih0YWJsZUNl
bGxEZWZhdWx0U2VsZWN0aW9uVGludENvbG9yKSB9LAogICAgICAgICAgICAgeyBDU1NWYWx1ZUFw
cGxlV2lyZWxlc3NQbGF5YmFja1RhcmdldEFjdGl2ZSwgQHNlbGVjdG9yKHN5c3RlbUJsdWVDb2xv
cikgfSwKICAgICAgICAgfSk7CkBAIC0xNTAzLDE5ICsxNTA1LDI0IEBAIHN0YXRpYyBjb25zdCBW
ZWN0b3I8Q1NTVmFsdWVTeXN0ZW1Db2xvckluZm9ybWF0aW9uPiYgY3NzVmFsdWVTeXN0ZW1Db2xv
ckluZm9ybWF0CiAKIHN0YXRpYyBpbmxpbmUgc3RkOjpvcHRpb25hbDxDb2xvcj4gc3lzdGVtQ29s
b3JGcm9tQ1NTVmFsdWVTeXN0ZW1Db2xvckluZm9ybWF0aW9uKENTU1ZhbHVlU3lzdGVtQ29sb3JJ
bmZvcm1hdGlvbiBzeXN0ZW1Db2xvckluZm9ybWF0aW9uLCBib29sIHVzZURhcmtBcHBlYXJhbmNl
KQogewotICAgIGlmIChhdXRvIGNvbG9yID0gd3RmT2JqQ01zZ1NlbmQ8VUlDb2xvciAqPihQQUw6
OmdldFVJQ29sb3JDbGFzcygpLCBzeXN0ZW1Db2xvckluZm9ybWF0aW9uLnNlbGVjdG9yKSkgewot
ICAgICAgICBDb2xvciBzeXN0ZW1Db2xvcihyb3VuZEFuZENsYW1wVG9TUkdCQUxvc3N5KGNvbG9y
LkNHQ29sb3IpLCBDb2xvcjo6RmxhZ3M6OlNlbWFudGljKTsKKyAgICBVSUNvbG9yICpjb2xvciA9
IG5pbDsKKyAgICBpZiAoc3lzdGVtQ29sb3JJbmZvcm1hdGlvbi5zZWxlY3RvcikKKyAgICAgICAg
Y29sb3IgPSB3dGZPYmpDTXNnU2VuZDxVSUNvbG9yICo+KFBBTDo6Z2V0VUlDb2xvckNsYXNzKCks
IHN5c3RlbUNvbG9ySW5mb3JtYXRpb24uc2VsZWN0b3IpOworICAgIGVsc2UKKyAgICAgICAgY29s
b3IgPSBzeXN0ZW1Db2xvckluZm9ybWF0aW9uLmZ1bmN0aW9uKCk7CiAKLSAgICAgICAgaWYgKHN5
c3RlbUNvbG9ySW5mb3JtYXRpb24ub3BhY2l0eSA8IDEuMGYpCi0gICAgICAgICAgICBzeXN0ZW1D
b2xvciA9IHN5c3RlbUNvbG9yLmNvbG9yV2l0aEFscGhhTXVsdGlwbGllZEJ5KHN5c3RlbUNvbG9y
SW5mb3JtYXRpb24ub3BhY2l0eSk7CisgICAgaWYgKCFjb2xvcikKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKIAotICAgICAgICBpZiAoc3lzdGVtQ29sb3JJbmZvcm1hdGlvbi5tYWtlT3Bh
cXVlKQotICAgICAgICAgICAgcmV0dXJuIGJsZW5kU291cmNlT3Zlcih1c2VEYXJrQXBwZWFyYW5j
ZSA/IENvbG9yOjpibGFjayA6IENvbG9yOjp3aGl0ZSwgc3lzdGVtQ29sb3IpOworICAgIENvbG9y
IHN5c3RlbUNvbG9yKHJvdW5kQW5kQ2xhbXBUb1NSR0JBTG9zc3koY29sb3IuQ0dDb2xvciksIENv
bG9yOjpGbGFnczo6U2VtYW50aWMpOwogCi0gICAgICAgIHJldHVybiBzeXN0ZW1Db2xvcjsKLSAg
ICB9CisgICAgaWYgKHN5c3RlbUNvbG9ySW5mb3JtYXRpb24ub3BhY2l0eSA8IDEuMGYpCisgICAg
ICAgIHN5c3RlbUNvbG9yID0gc3lzdGVtQ29sb3IuY29sb3JXaXRoQWxwaGFNdWx0aXBsaWVkQnko
c3lzdGVtQ29sb3JJbmZvcm1hdGlvbi5vcGFjaXR5KTsKIAotICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisgICAgaWYgKHN5c3RlbUNvbG9ySW5mb3JtYXRpb24ubWFrZU9wYXF1ZSkKKyAgICAgICAg
cmV0dXJuIGJsZW5kU291cmNlT3Zlcih1c2VEYXJrQXBwZWFyYW5jZSA/IENvbG9yOjpibGFjayA6
IENvbG9yOjp3aGl0ZSwgc3lzdGVtQ29sb3IpOworCisgICAgcmV0dXJuIHN5c3RlbUNvbG9yOwog
fQogCiBzdGF0aWMgc3RkOjpvcHRpb25hbDxDb2xvcj4gc3lzdGVtQ29sb3JGcm9tQ1NTVmFsdWVJ
RChDU1NWYWx1ZUlEIGNzc1ZhbHVlSUQsIGJvb2wgdXNlRGFya0FwcGVhcmFuY2UsIGJvb2wgdXNl
RWxldmF0ZWRVc2VySW50ZXJmYWNlTGV2ZWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tCmluZGV4IDU0NGM3MTRhYzYxMGY0ZGVhMDdiYzE2MWQ0
MDNiMTZlNzZhMjFmMTIuLmE4Mzk3NDVjNTJkZDFmNTAyZjc2MDA4MWQ5YTBhNTZlNTI0MzUyMTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9T
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1t
CkBAIC02MSw2ICs2MSw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsQ3VycmVudFRyYWl0Q29s
bGVjdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CiAjaW1wb3J0
IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgorI2ltcG9ydCA8V2ViQ29yZS9X
ZWJDb3JlVUlDb2xvckV4dHJhcy5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9RdWFydHpDb3Jl
U1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmg+CiAjaW1w
b3J0IDx3dGYvQmxvY2tQdHIuaD4KQEAgLTU0Miw3ICs1NDMsNyBAQCBzdGF0aWMgV2ViQ29yZTo6
Q29sb3Igc2Nyb2xsVmlld0JhY2tncm91bmRDb2xvcihXS1dlYlZpZXcgKndlYlZpZXcsIEFsbG93
UGFnZUJhYwogCiAgICAgaWYgKCFjb2xvci5pc1ZhbGlkKCkpIHsKICNpZiBIQVZFKE9TX0RBUktf
TU9ERV9TVVBQT1JUKQotICAgICAgICBjb2xvciA9IFdlYkNvcmU6OnJvdW5kQW5kQ2xhbXBUb1NS
R0JBTG9zc3koVUlDb2xvci5zeXN0ZW1CYWNrZ3JvdW5kQ29sb3IuQ0dDb2xvcik7CisgICAgICAg
IGNvbG9yID0gV2ViQ29yZTo6cm91bmRBbmRDbGFtcFRvU1JHQkFMb3NzeShXZWJDb3JlOjpzeXN0
ZW1CYWNrZ3JvdW5kQ29sb3IoKS5DR0NvbG9yKTsKICNlbHNlCiAgICAgICAgIGNvbG9yID0gV2Vi
Q29yZTo6Q29sb3I6OndoaXRlOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggMmI1ZjUxYzJkODA3Y2RmN2U2ZWU1OTU3
ZDY2ZjNhNzFmZDgyYzJkYS4uOGE1NDAzZjdlYmYwNzBkNzRiYzY4ZDAwMWVhNGJjNjMwMmM4OWIw
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbQpAQCAtNjQsNiArNjQsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9DdXJzb3IuaD4KICNpbXBv
cnQgPFdlYkNvcmUvRE9NUGFzdGVBY2Nlc3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvRGljdGlvbmFy
eUxvb2t1cC5oPgorI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbEN1cnJlbnRUcmFpdENvbGxlY3Rpb24u
aD4KICNpbXBvcnQgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUv
UGxhdGZvcm1TY3JlZW4uaD4KICNpbXBvcnQgPFdlYkNvcmUvUHJvbWlzZWRBdHRhY2htZW50SW5m
by5oPgpAQCAtNzEsNiArNzIsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvVGV4dEluZGljYXRvci5oPgogI2ltcG9ydCA8V2ViQ29yZS9WYWxp
ZGF0aW9uQnViYmxlLmg+CisjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVVSUNvbG9yRXh0cmFzLmg+
CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9FbnRpdGxlbWVu
dHMuaD4KIApAQCAtMTAxOCw3ICsxMDIwLDE4IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OnJ1bk1v
ZGFsSmF2YVNjcmlwdERpYWxvZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY2FsbGJhCiAK
IFdlYkNvcmU6OkNvbG9yIFBhZ2VDbGllbnRJbXBsOjpjb250ZW50Vmlld0JhY2tncm91bmRDb2xv
cigpCiB7Ci0gICAgcmV0dXJuIFdlYkNvcmU6OnJvdW5kQW5kQ2xhbXBUb1NSR0JBTG9zc3koW21f
Y29udGVudFZpZXcgYmFja2dyb3VuZENvbG9yXS5DR0NvbG9yKTsKKyNpZiBIQVZFKE9TX0RBUktf
TU9ERV9TVVBQT1JUKQorICAgIFdlYkNvcmU6OkxvY2FsQ3VycmVudFRyYWl0Q29sbGVjdGlvbiBs
b2NhbFRyYWl0Q29sbGVjdGlvbihbbV93ZWJWaWV3IHRyYWl0Q29sbGVjdGlvbl0pOworI2VuZGlm
CisKKyAgICBXZWJDb3JlOjpDb2xvciBjb2xvciA9IFdlYkNvcmU6OnJvdW5kQW5kQ2xhbXBUb1NS
R0JBTG9zc3koW21fY29udGVudFZpZXcgYmFja2dyb3VuZENvbG9yXS5DR0NvbG9yKTsKKyAgICBp
ZiAoY29sb3IuaXNWYWxpZCgpKQorICAgICAgICByZXR1cm4gY29sb3I7CisjaWYgSEFWRShPU19E
QVJLX01PREVfU1VQUE9SVCkKKyAgICByZXR1cm4gV2ViQ29yZTo6cm91bmRBbmRDbGFtcFRvU1JH
QkFMb3NzeShXZWJDb3JlOjpzeXN0ZW1CYWNrZ3JvdW5kQ29sb3IoKS5DR0NvbG9yKTsKKyNlbHNl
CisgICAgcmV0dXJuIHsgfTsKKyNlbmRpZgogfQogCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1
ZXN0U2Nyb2xsVG9SZWN0KGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgRmxvYXRQ
b2ludCYgb3JpZ2luKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dl
YlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJv
eHlJT1MubW0KaW5kZXggNzRhNGI3ZDI2NDhmMDg3NWM3MWNiMjJhNzA4NWUzOWY0NTFkNTIwYy4u
NTAxODU1NjgxYWQ5ZWQyNmRhOWFlNjM0ZjNkZDI3NzgzNzFhMWJjNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCkBAIC0xNjAwLDExICsxNjAw
LDcgQEAgQ29sb3IgV2ViUGFnZVByb3h5OjpwbGF0Zm9ybVVuZGVyUGFnZUJhY2tncm91bmRDb2xv
cigpIGNvbnN0CiAgICAgaWYgKGF1dG8gY29udGVudFZpZXdCYWNrZ3JvdW5kQ29sb3IgPSBwYWdl
Q2xpZW50KCkuY29udGVudFZpZXdCYWNrZ3JvdW5kQ29sb3IoKTsgY29udGVudFZpZXdCYWNrZ3Jv
dW5kQ29sb3IuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gY29udGVudFZpZXdCYWNrZ3JvdW5k
Q29sb3I7CiAKLSNpZiBIQVZFKE9TX0RBUktfTU9ERV9TVVBQT1JUKQotICAgIHJldHVybiBXZWJD
b3JlOjpyb3VuZEFuZENsYW1wVG9TUkdCQUxvc3N5KFVJQ29sb3Iuc3lzdGVtQmFja2dyb3VuZENv
bG9yLkNHQ29sb3IpOwotI2Vsc2UKICAgICByZXR1cm4gV2ViQ29yZTo6Q29sb3I6OndoaXRlOwot
I2VuZGlmCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455177</attachid>
            <date>2022-03-19 14:34:09 -0700</date>
            <delta_ts>2022-03-21 10:45:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238108-20220319143408.patch</filename>
            <type>text/plain</type>
            <size>19529</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDcwMTQyYmVlMjZjMzc4
Zjg5Njc4ZmU0NzM4YzMwZmNiOGNiMWE2OS4uODlhMjAxNzVlY2ZiZDgyMDEwYmRhZDJiMDU2NWUw
OTljMTgyOWVlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIyLTAzLTE4ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbiBhZGRp
dGlvbiBwb2ludCBmb3Igc3lzdGVtIGJhY2tncm91bmQgY29sb3IKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODEwOAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vOTA0NjM5NDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViQ29yZVVJQ29sb3JF
eHRyYXMuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zL1dlYkNvcmVVSUNvbG9yRXh0
cmFzLm1tOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnN5c3RlbUJhY2tncm91bmRDb2xvcik6
CisgICAgICAgIEFkZCBhbiBhZGRpdGlvbiBwb2ludC4KKworICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlU3lzdGVtQ29sb3JJ
bmZvcm1hdGlvbjo6ZnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6Y3NzVmFsdWVTeXN0ZW1D
b2xvckluZm9ybWF0aW9uTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpzeXN0ZW1Db2xvckZyb21D
U1NWYWx1ZVN5c3RlbUNvbG9ySW5mb3JtYXRpb24pOgorICAgICAgICBBZG9wdCBpdCBmb3IgQ1NT
IHVzZSBvZiBzeXN0ZW0gYmFja2dyb3VuZCBjb2xvci4KKwogMjAyMi0wMy0xOCAgRW5yaXF1ZSBP
Y2HDsWEgR29uesOhbGV6ICA8ZW9jYW5oYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFt
ZXJdIEFkZCBzdG9wIHBvc2l0aW9uIHRvIHRoZSByYW5nZSByZXF1ZXN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDlm
NDRhNzY4MjZhYWI5NzBlZTFmZDIwMWE5NDQwNGE5NzA4NjAxYTEuLjY1MDMwODgxMGYyOWUzNTk4
YjgxY2MxYmM4MWI1MWE4MTBkZDEzNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjIt
MDMtMTggIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAg
QWRkIGFuIGFkZGl0aW9uIHBvaW50IGZvciBzeXN0ZW0gYmFja2dyb3VuZCBjb2xvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4MTA4CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS85MDQ2Mzk0Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lPUy5tbToK
KyAgICAgICAgKHNjcm9sbFZpZXdCYWNrZ3JvdW5kQ29sb3IpOgorICAgICAgICBBZG9wdCBzeXN0
ZW1CYWNrZ3JvdW5kQ29sb3IoKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpjb250ZW50Vmll
d0JhY2tncm91bmRDb2xvcik6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJ
T1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cGxhdGZvcm1VbmRlclBhZ2VC
YWNrZ3JvdW5kQ29sb3IgY29uc3QpOgorICAgICAgICBNb3ZlIHRoZSBmYWxsYmFjayB0byBzeXN0
ZW1CYWNrZ3JvdW5kQ29sb3IgaW50byBQYWdlQ2xpZW50SW1wbAorICAgICAgICBzbyB0aGF0IGl0
IGNhbiByZWFsaXplIHRoZSB3ZWIgdmlldydzIHRyYWl0IGNvbGxlY3Rpb24uCisKIDIwMjItMDMt
MTggIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWN5
Y2xpbmcgYSB3ZWJnbCBjb250ZXh0IHdoZW4gaXQgaGFzIGJlZW4gbG9zdCBhbmQgcmVzdG9yZWQg
Y2F1c2VzIGEgY3Jhc2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDAyOWY2ZTE4ZTFkYmNj
ODVmZmQzZjQwZmQ3YTZhZDYzMGZjM2MyMzYuLmE2NTQ1MjUyNGFlMTgxMDNiMWZlOGZmYzNkN2Rl
NjM4NDU5MDgxMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApAQCAtNDgxLDYgKzQ4MSw3IEBA
IHBsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW0KIHBsYXRmb3JtL2lvcy9XZWJC
YWNrZ3JvdW5kVGFza0NvbnRyb2xsZXIubW0KIHBsYXRmb3JtL2lvcy9XZWJDb3JlTW90aW9uTWFu
YWdlci5tbQogcGxhdGZvcm0vaW9zL1dlYkV2ZW50Lm1tIEBuby11bmlmeQorcGxhdGZvcm0vaW9z
L1dlYkNvcmVVSUNvbG9yRXh0cmFzLm1tCiBwbGF0Zm9ybS9pb3MvV2ViSXRlbVByb3ZpZGVyUGFz
dGVib2FyZC5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL2lvcy9XZWJTUUxpdGVEYXRhYmFzZVRyYWNr
ZXJDbGllbnQubW0KIHBsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZL
aXQubW0gQG5vLXVuaWZ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggNDQwZjg5Y2YxZjM0MmQ4ZTQ1YTY2Yzg4ZjM2NWI2NThlOGQw
ZDgzMi4uMDljMTlhZmEzODUzZjQ5ZWVjOTc0ZTdjNTAzZWVlYTY2MzgyODUxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODYy
LDYgKzg2Miw3IEBACiAJCTJEOEI5MkZEMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNl
NTI4LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERF
NUY4NUQyMUZBMjM4NTYwMDZEQjYzQiAvKiBVbmlmaWVkU291cmNlNTI4LmNwcCAqLzsgfTsKIAkJ
MkQ4QjkyRkUyMDNEMTNFMTAwOUM4NjhGIC8qIFVuaWZpZWRTb3VyY2U1MjkuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gREU1Rjg1Q0YxRkEyMzg1MDAw
NkRCNjNCIC8qIFVuaWZpZWRTb3VyY2U1MjkuY3BwICovOyB9OwogCQkyRDhCOTJGRjIwM0QxM0Ux
MDA5Qzg2OEYgLyogVW5pZmllZFNvdXJjZTUzMC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERTVGODVEMzFGQTIzODU5MDA2REI2M0IgLyogVW5pZmll
ZFNvdXJjZTUzMC5jcHAgKi87IH07CisJCTJEOEJBMTgxMjdFNUE0ODcwMDhGN0U1MiAvKiBXZWJD
b3JlVUlDb2xvckV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkQ4QkExODAyN0U1QTQ3QjAwOEY3RTUyIC8qIFdlYkNvcmVVSUNvbG9yRXh0cmFz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkQ4
RkVCREQxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDhGRUJEQjE0M0UzRUY3MDA3MjUw
MkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCAqLzsgfTsKIAkJMkQ5MDY2MDcwQkUxNDFENDAwOTU2
OTk4IC8qIFJlbmRlckxheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYwNTBCRTE0MUQ0MDA5NTY5OTggLyogUmVuZGVyTGF5b3V0
U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkyRDkzQUVFMzE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5M0FFRTEx
OURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCAqLzsgfTsKQEAg
LTgxMDQsNiArODEwNSw4IEBACiAJCTJEN0VEMEE5MUJBRTk5MTcwMDQzQjNFNSAvKiBUaW1lckV2
ZW50QmFzZWRNb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRpbWVyRXZl
bnRCYXNlZE1vY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ4Mjg3RjQxNkU0
QTAzODAwODZCRDAwIC8qIEhpdFRlc3RMb2NhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBIaXRUZXN0TG9jYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyRDgyODdGNTE2RTRBMDM4MDA4NkJEMDAgLyogSGl0VGVzdExvY2F0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhpdFRlc3RMb2NhdGlvbi5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDhCQTE3RjI3RTVBNDdBMDA4RjdFNTIgLyogV2Vi
Q29yZVVJQ29sb3JFeHRyYXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJDb3JlVUlDb2xv
ckV4dHJhcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ4QkExODAyN0U1QTQ3
QjAwOEY3RTUyIC8qIFdlYkNvcmVVSUNvbG9yRXh0cmFzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNv
cmVVSUNvbG9yRXh0cmFzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOEQzQkVC
MjM4NDdBQzkwMDY1NzA3NSAvKiBnZXN0dXJlLXJlY29nbml6ZXIuanMgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7
IHBhdGggPSAiZ2VzdHVyZS1yZWNvZ25pemVyLmpzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMkQ4RDNCRUMyMzg0N0FDOTAwNjU3MDc1IC8qIHBpbmNoLmpzICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0
OyBwYXRoID0gcGluY2guanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOEQzQkVE
MjM4NDdBQzkwMDY1NzA3NSAvKiB0YXAuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSB0YXAuanM7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNjc3Niw2ICsyNjc3OSw4IEBACiAJCQkJ
MUYzNkVBOUIxRTIxQkExNzAwNjIxRTI1IC8qIFdlYkJhY2tncm91bmRUYXNrQ29udHJvbGxlci5t
bSAqLywKIAkJCQkzMTQwMzc5NzEyNEJFQTdGMDBBRjQwRTQgLyogV2ViQ29yZU1vdGlvbk1hbmFn
ZXIuaCAqLywKIAkJCQkzMTQwMzc5ODEyNEJFQTdGMDBBRjQwRTQgLyogV2ViQ29yZU1vdGlvbk1h
bmFnZXIubW0gKi8sCisJCQkJMkQ4QkExODAyN0U1QTQ3QjAwOEY3RTUyIC8qIFdlYkNvcmVVSUNv
bG9yRXh0cmFzLmggKi8sCisJCQkJMkQ4QkExN0YyN0U1QTQ3QTAwOEY3RTUyIC8qIFdlYkNvcmVV
SUNvbG9yRXh0cmFzLm1tICovLAogCQkJCUZFMEQ4NEU4MTA0ODQzNDgwMDFBMTc5RSAvKiBXZWJF
dmVudC5oICovLAogCQkJCUZFMEQ4NEVBMTA0ODQzNkUwMDFBMTc5RSAvKiBXZWJFdmVudC5tbSAq
LywKIAkJCQlGNDgyMjMwRjFFMzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVi
b2FyZC5oICovLApAQCAtMzgwNDMsNiArMzgwNDgsNyBAQAogCQkJCUExNDgzMkNDMTg3RjY3QzQw
MERBNjNBNiAvKiBXZWJDb3JlVGhyZWFkUnVuLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQ4MzJD
RjE4N0Y2ODQ3MDBEQTYzQTYgLyogV2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFjZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEYwOTlEMDkxN0I5NjhBMTAwRkY4NEI5IC8qIFdlYkNvcmVUeXBlZEFy
cmF5Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkQ4QkExODEyN0U1QTQ4NzAwOEY3
RTUyIC8qIFdlYkNvcmVVSUNvbG9yRXh0cmFzLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0Y4MThG
RDBENjU3NjA2MDA1RTFGMDUgLyogV2ViQ29yZVVSTFJlc3BvbnNlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0NEEyMERCOTBGODQxNjZDMDBCM0UxRkUgLyogV2ViQ29yZVVSTFJlc3BvbnNlSU9TLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOTlGMDA4MjQ1RTU5MDAxRTlBQkMgLyogV2ViQ29yZVZp
ZXcuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1dlYkNvcmVVSUNvbG9yRXh0cmFzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
V2ViQ29yZVVJQ29sb3JFeHRyYXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44M2EwOGQwY2Y2NjZlNGQ5NTMwNzlh
MzJhYzY2YjI4ODYzMmU2YjMxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1dlYkNvcmVVSUNvbG9yRXh0cmFzLmgKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitXRUJDT1JFX0VYUE9SVCBVSUNvbG9yICpzeXN0ZW1CYWNrZ3JvdW5k
Q29sb3IoKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJDb3JlVUlDb2xvckV4dHJhcy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJDb3JlVUlDb2xvckV4dHJhcy5tbQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45ZTlkN2YwNmVjYjgwYzE2ZGIyNGJiNmM5NDdjZmQyM2EwZjRjNGY3Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVVSUNvbG9yRXh0cmFz
Lm1tCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjIgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisj
aW1wb3J0ICJXZWJDb3JlVUlDb2xvckV4dHJhcy5oIgorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKKworI2ltcG9ydCA8cGFsL2lvcy9VSUtpdFNvZnRMaW5rLmg+CisKKyNpZiBVU0UoQVBQTEVf
SU5URVJOQUxfU0RLKSAmJiBfX2hhc19pbmNsdWRlKDxXZWJLaXRBZGRpdGlvbnMvV2ViQ29yZVVJ
Q29sb3JFeHRyYXNBZGRpdGlvbnMubW0+KQorCisjaW1wb3J0IDxXZWJLaXRBZGRpdGlvbnMvV2Vi
Q29yZVVJQ29sb3JFeHRyYXNBZGRpdGlvbnMubW0+CisKKyNlbHNlCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworVUlDb2xvciAqc3lzdGVtQmFja2dyb3VuZENvbG9yKCkKK3sKKyAgICByZXR1cm4g
KFVJQ29sb3IgKilbUEFMOjpnZXRVSUNvbG9yQ2xhc3MoKSBzeXN0ZW1CYWNrZ3JvdW5kQ29sb3Jd
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgorCisjZW5kaWYgLy8gUExB
VEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlP
Uy5tbQppbmRleCBmMWQ2OGY2MzdiYjlhODA5N2Q3YWMyZjRjMTAzMTEwZTZkN2UxNzUxLi5hZTc4
MjQyYjMyY2ZiYjVkYmQ2MjNiYjEyOTYyY2M1MGI1YmQ1YTViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCkBAIC04MCw2ICs4MCw3IEBACiAjaW1wb3J0ICJU
aGVtZS5oIgogI2ltcG9ydCAiVVRJVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJXZWJDb3JlVGhyZWFk
UnVuLmgiCisjaW1wb3J0ICJXZWJDb3JlVUlDb2xvckV4dHJhcy5oIgogI2ltcG9ydCA8Q29yZUdy
YXBoaWNzL0NvcmVHcmFwaGljcy5oPgogI2ltcG9ydCA8Q29yZUltYWdlL0NvcmVJbWFnZS5oPgog
I2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CkBAIC0xNDQ0LDYgKzE0NDUsNyBAQCBzdHJ1Y3QgQ1NT
VmFsdWVTeXN0ZW1Db2xvckluZm9ybWF0aW9uIHsKICAgICBTRUwgc2VsZWN0b3I7CiAgICAgYm9v
bCBtYWtlT3BhcXVlIHsgZmFsc2UgfTsKICAgICBmbG9hdCBvcGFjaXR5IHsgMS4wZiB9OworICAg
IFVJQ29sb3IgKigqZnVuY3Rpb24pKHZvaWQpIHsgbnVsbHB0ciB9OwogfTsKIAogc3RhdGljIGNv
bnN0IFZlY3RvcjxDU1NWYWx1ZVN5c3RlbUNvbG9ySW5mb3JtYXRpb24+JiBjc3NWYWx1ZVN5c3Rl
bUNvbG9ySW5mb3JtYXRpb25MaXN0KCkKQEAgLTE0NTYsNyArMTQ1OCw3IEBAIHN0YXRpYyBjb25z
dCBWZWN0b3I8Q1NTVmFsdWVTeXN0ZW1Db2xvckluZm9ybWF0aW9uPiYgY3NzVmFsdWVTeXN0ZW1D
b2xvckluZm9ybWF0CiAgICAgICAgIFtdIHsKICAgICAgICAgY3NzVmFsdWVTeXN0ZW1Db2xvcklu
Zm9ybWF0aW9uTGlzdC5nZXQoKSA9IFZlY3RvcihzdGQ6OmluaXRpYWxpemVyX2xpc3Q8Q1NTVmFs
dWVTeXN0ZW1Db2xvckluZm9ybWF0aW9uPiB7CiAgICAgICAgICAgICB7IENTU1ZhbHVlVGV4dCwg
QHNlbGVjdG9yKGxhYmVsQ29sb3IpIH0sCi0gICAgICAgICAgICB7IENTU1ZhbHVlV2Via2l0Q29u
dHJvbEJhY2tncm91bmQsIEBzZWxlY3RvcihzeXN0ZW1CYWNrZ3JvdW5kQ29sb3IpIH0sCisgICAg
ICAgICAgICB7IENTU1ZhbHVlV2Via2l0Q29udHJvbEJhY2tncm91bmQsIG5pbCwgZmFsc2UsIDEu
MGYsICZzeXN0ZW1CYWNrZ3JvdW5kQ29sb3IgfSwKICAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBs
ZVN5c3RlbUJsdWUsIEBzZWxlY3RvcihzeXN0ZW1CbHVlQ29sb3IpIH0sCiAgICAgICAgICAgICB7
IENTU1ZhbHVlQXBwbGVTeXN0ZW1Ccm93biwgQHNlbGVjdG9yKHN5c3RlbUJyb3duQ29sb3IpIH0s
CiAgICAgICAgICAgICB7IENTU1ZhbHVlQXBwbGVTeXN0ZW1HcmF5LCBAc2VsZWN0b3Ioc3lzdGVt
R3JheUNvbG9yKSB9LApAQCAtMTQ2OCw3ICsxNDcwLDcgQEAgc3RhdGljIGNvbnN0IFZlY3RvcjxD
U1NWYWx1ZVN5c3RlbUNvbG9ySW5mb3JtYXRpb24+JiBjc3NWYWx1ZVN5c3RlbUNvbG9ySW5mb3Jt
YXQKICAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3RlbVJlZCwgQHNlbGVjdG9yKHN5c3Rl
bVJlZENvbG9yKSB9LAogICAgICAgICAgICAgeyBDU1NWYWx1ZUFwcGxlU3lzdGVtVGVhbCwgQHNl
bGVjdG9yKHN5c3RlbVRlYWxDb2xvcikgfSwKICAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5
c3RlbVllbGxvdywgQHNlbGVjdG9yKHN5c3RlbVllbGxvd0NvbG9yKSB9LAotICAgICAgICAgICAg
eyBDU1NWYWx1ZUFwcGxlU3lzdGVtQmFja2dyb3VuZCwgQHNlbGVjdG9yKHN5c3RlbUJhY2tncm91
bmRDb2xvcikgfSwKKyAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3RlbUJhY2tncm91bmQs
IG5pbCwgZmFsc2UsIDEuMGYsICZzeXN0ZW1CYWNrZ3JvdW5kQ29sb3IgfSwKICAgICAgICAgICAg
IHsgQ1NTVmFsdWVBcHBsZVN5c3RlbVNlY29uZGFyeUJhY2tncm91bmQsIEBzZWxlY3RvcihzZWNv
bmRhcnlTeXN0ZW1CYWNrZ3JvdW5kQ29sb3IpIH0sCiAgICAgICAgICAgICB7IENTU1ZhbHVlQXBw
bGVTeXN0ZW1UZXJ0aWFyeUJhY2tncm91bmQsIEBzZWxlY3Rvcih0ZXJ0aWFyeVN5c3RlbUJhY2tn
cm91bmRDb2xvcikgfSwKICAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3RlbU9wYXF1ZUZp
bGwsIEBzZWxlY3RvcihzeXN0ZW1GaWxsQ29sb3IpLCB0cnVlIH0sCkBAIC0xNDg4LDExICsxNDkw
LDExIEBAIHN0YXRpYyBjb25zdCBWZWN0b3I8Q1NTVmFsdWVTeXN0ZW1Db2xvckluZm9ybWF0aW9u
PiYgY3NzVmFsdWVTeXN0ZW1Db2xvckluZm9ybWF0CiAgICAgICAgICAgICAvLyBGSVhNRTogPHJk
YXI6Ly9wcm9ibGVtLzc5NDcxNTI4PiBBZG9wdCBbVUlDb2xvciBvcGFxdWVTZXBhcmF0b3JDb2xv
cl0gb25jZSBpdCBoYXMgYSBoaWdoIGNvbnRyYXN0IHZhcmlhbnQuCiAgICAgICAgICAgICB7IENT
U1ZhbHVlQXBwbGVTeXN0ZW1PcGFxdWVTZXBhcmF0b3IsIEBzZWxlY3RvcihzZXBhcmF0b3JDb2xv
ciksIHRydWUgfSwKICAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3RlbUNvbnRhaW5lckJv
cmRlciwgQHNlbGVjdG9yKHNlcGFyYXRvckNvbG9yKSB9LAotICAgICAgICAgICAgeyBDU1NWYWx1
ZUFwcGxlU3lzdGVtQ29udHJvbEJhY2tncm91bmQsIEBzZWxlY3RvcihzeXN0ZW1CYWNrZ3JvdW5k
Q29sb3IpIH0sCisgICAgICAgICAgICB7IENTU1ZhbHVlQXBwbGVTeXN0ZW1Db250cm9sQmFja2dy
b3VuZCwgbmlsLCBmYWxzZSwgMS4wZiwgJnN5c3RlbUJhY2tncm91bmRDb2xvciB9LAogICAgICAg
ICAgICAgeyBDU1NWYWx1ZUFwcGxlU3lzdGVtR3JpZCwgQHNlbGVjdG9yKHNlcGFyYXRvckNvbG9y
KSB9LAogICAgICAgICAgICAgeyBDU1NWYWx1ZUFwcGxlU3lzdGVtSGVhZGVyVGV4dCwgQHNlbGVj
dG9yKGxhYmVsQ29sb3IpIH0sCiAgICAgICAgICAgICB7IENTU1ZhbHVlQXBwbGVTeXN0ZW1TZWxl
Y3RlZENvbnRlbnRCYWNrZ3JvdW5kLCBAc2VsZWN0b3IodGFibGVDZWxsRGVmYXVsdFNlbGVjdGlv
blRpbnRDb2xvcikgfSwKLSAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3RlbVRleHRCYWNr
Z3JvdW5kLCBAc2VsZWN0b3Ioc3lzdGVtQmFja2dyb3VuZENvbG9yKSB9LAorICAgICAgICAgICAg
eyBDU1NWYWx1ZUFwcGxlU3lzdGVtVGV4dEJhY2tncm91bmQsIG5pbCwgZmFsc2UsIDEuMGYsICZz
eXN0ZW1CYWNrZ3JvdW5kQ29sb3IgfSwKICAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3Rl
bVVuZW1waGFzaXplZFNlbGVjdGVkQ29udGVudEJhY2tncm91bmQsIEBzZWxlY3Rvcih0YWJsZUNl
bGxEZWZhdWx0U2VsZWN0aW9uVGludENvbG9yKSB9LAogICAgICAgICAgICAgeyBDU1NWYWx1ZUFw
cGxlV2lyZWxlc3NQbGF5YmFja1RhcmdldEFjdGl2ZSwgQHNlbGVjdG9yKHN5c3RlbUJsdWVDb2xv
cikgfSwKICAgICAgICAgfSk7CkBAIC0xNTAzLDE5ICsxNTA1LDI0IEBAIHN0YXRpYyBjb25zdCBW
ZWN0b3I8Q1NTVmFsdWVTeXN0ZW1Db2xvckluZm9ybWF0aW9uPiYgY3NzVmFsdWVTeXN0ZW1Db2xv
ckluZm9ybWF0CiAKIHN0YXRpYyBpbmxpbmUgc3RkOjpvcHRpb25hbDxDb2xvcj4gc3lzdGVtQ29s
b3JGcm9tQ1NTVmFsdWVTeXN0ZW1Db2xvckluZm9ybWF0aW9uKENTU1ZhbHVlU3lzdGVtQ29sb3JJ
bmZvcm1hdGlvbiBzeXN0ZW1Db2xvckluZm9ybWF0aW9uLCBib29sIHVzZURhcmtBcHBlYXJhbmNl
KQogewotICAgIGlmIChhdXRvIGNvbG9yID0gd3RmT2JqQ01zZ1NlbmQ8VUlDb2xvciAqPihQQUw6
OmdldFVJQ29sb3JDbGFzcygpLCBzeXN0ZW1Db2xvckluZm9ybWF0aW9uLnNlbGVjdG9yKSkgewot
ICAgICAgICBDb2xvciBzeXN0ZW1Db2xvcihyb3VuZEFuZENsYW1wVG9TUkdCQUxvc3N5KGNvbG9y
LkNHQ29sb3IpLCBDb2xvcjo6RmxhZ3M6OlNlbWFudGljKTsKKyAgICBVSUNvbG9yICpjb2xvciA9
IG5pbDsKKyAgICBpZiAoc3lzdGVtQ29sb3JJbmZvcm1hdGlvbi5zZWxlY3RvcikKKyAgICAgICAg
Y29sb3IgPSB3dGZPYmpDTXNnU2VuZDxVSUNvbG9yICo+KFBBTDo6Z2V0VUlDb2xvckNsYXNzKCks
IHN5c3RlbUNvbG9ySW5mb3JtYXRpb24uc2VsZWN0b3IpOworICAgIGVsc2UKKyAgICAgICAgY29s
b3IgPSBzeXN0ZW1Db2xvckluZm9ybWF0aW9uLmZ1bmN0aW9uKCk7CiAKLSAgICAgICAgaWYgKHN5
c3RlbUNvbG9ySW5mb3JtYXRpb24ub3BhY2l0eSA8IDEuMGYpCi0gICAgICAgICAgICBzeXN0ZW1D
b2xvciA9IHN5c3RlbUNvbG9yLmNvbG9yV2l0aEFscGhhTXVsdGlwbGllZEJ5KHN5c3RlbUNvbG9y
SW5mb3JtYXRpb24ub3BhY2l0eSk7CisgICAgaWYgKCFjb2xvcikKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKIAotICAgICAgICBpZiAoc3lzdGVtQ29sb3JJbmZvcm1hdGlvbi5tYWtlT3Bh
cXVlKQotICAgICAgICAgICAgcmV0dXJuIGJsZW5kU291cmNlT3Zlcih1c2VEYXJrQXBwZWFyYW5j
ZSA/IENvbG9yOjpibGFjayA6IENvbG9yOjp3aGl0ZSwgc3lzdGVtQ29sb3IpOworICAgIENvbG9y
IHN5c3RlbUNvbG9yKHJvdW5kQW5kQ2xhbXBUb1NSR0JBTG9zc3koY29sb3IuQ0dDb2xvciksIENv
bG9yOjpGbGFnczo6U2VtYW50aWMpOwogCi0gICAgICAgIHJldHVybiBzeXN0ZW1Db2xvcjsKLSAg
ICB9CisgICAgaWYgKHN5c3RlbUNvbG9ySW5mb3JtYXRpb24ub3BhY2l0eSA8IDEuMGYpCisgICAg
ICAgIHN5c3RlbUNvbG9yID0gc3lzdGVtQ29sb3IuY29sb3JXaXRoQWxwaGFNdWx0aXBsaWVkQnko
c3lzdGVtQ29sb3JJbmZvcm1hdGlvbi5vcGFjaXR5KTsKIAotICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisgICAgaWYgKHN5c3RlbUNvbG9ySW5mb3JtYXRpb24ubWFrZU9wYXF1ZSkKKyAgICAgICAg
cmV0dXJuIGJsZW5kU291cmNlT3Zlcih1c2VEYXJrQXBwZWFyYW5jZSA/IENvbG9yOjpibGFjayA6
IENvbG9yOjp3aGl0ZSwgc3lzdGVtQ29sb3IpOworCisgICAgcmV0dXJuIHN5c3RlbUNvbG9yOwog
fQogCiBzdGF0aWMgc3RkOjpvcHRpb25hbDxDb2xvcj4gc3lzdGVtQ29sb3JGcm9tQ1NTVmFsdWVJ
RChDU1NWYWx1ZUlEIGNzc1ZhbHVlSUQsIGJvb2wgdXNlRGFya0FwcGVhcmFuY2UsIGJvb2wgdXNl
RWxldmF0ZWRVc2VySW50ZXJmYWNlTGV2ZWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tCmluZGV4IDU0NGM3MTRhYzYxMGY0ZGVhMDdiYzE2MWQ0
MDNiMTZlNzZhMjFmMTIuLmE4Mzk3NDVjNTJkZDFmNTAyZjc2MDA4MWQ5YTBhNTZlNTI0MzUyMTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9T
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1t
CkBAIC02MSw2ICs2MSw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsQ3VycmVudFRyYWl0Q29s
bGVjdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CiAjaW1wb3J0
IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgorI2ltcG9ydCA8V2ViQ29yZS9X
ZWJDb3JlVUlDb2xvckV4dHJhcy5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9RdWFydHpDb3Jl
U1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmg+CiAjaW1w
b3J0IDx3dGYvQmxvY2tQdHIuaD4KQEAgLTU0Miw3ICs1NDMsNyBAQCBzdGF0aWMgV2ViQ29yZTo6
Q29sb3Igc2Nyb2xsVmlld0JhY2tncm91bmRDb2xvcihXS1dlYlZpZXcgKndlYlZpZXcsIEFsbG93
UGFnZUJhYwogCiAgICAgaWYgKCFjb2xvci5pc1ZhbGlkKCkpIHsKICNpZiBIQVZFKE9TX0RBUktf
TU9ERV9TVVBQT1JUKQotICAgICAgICBjb2xvciA9IFdlYkNvcmU6OnJvdW5kQW5kQ2xhbXBUb1NS
R0JBTG9zc3koVUlDb2xvci5zeXN0ZW1CYWNrZ3JvdW5kQ29sb3IuQ0dDb2xvcik7CisgICAgICAg
IGNvbG9yID0gV2ViQ29yZTo6cm91bmRBbmRDbGFtcFRvU1JHQkFMb3NzeShXZWJDb3JlOjpzeXN0
ZW1CYWNrZ3JvdW5kQ29sb3IoKS5DR0NvbG9yKTsKICNlbHNlCiAgICAgICAgIGNvbG9yID0gV2Vi
Q29yZTo6Q29sb3I6OndoaXRlOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggMmI1ZjUxYzJkODA3Y2RmN2U2ZWU1OTU3
ZDY2ZjNhNzFmZDgyYzJkYS4uOGE1NDAzZjdlYmYwNzBkNzRiYzY4ZDAwMWVhNGJjNjMwMmM4OWIw
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbQpAQCAtNjQsNiArNjQsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9DdXJzb3IuaD4KICNpbXBv
cnQgPFdlYkNvcmUvRE9NUGFzdGVBY2Nlc3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvRGljdGlvbmFy
eUxvb2t1cC5oPgorI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbEN1cnJlbnRUcmFpdENvbGxlY3Rpb24u
aD4KICNpbXBvcnQgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUv
UGxhdGZvcm1TY3JlZW4uaD4KICNpbXBvcnQgPFdlYkNvcmUvUHJvbWlzZWRBdHRhY2htZW50SW5m
by5oPgpAQCAtNzEsNiArNzIsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvVGV4dEluZGljYXRvci5oPgogI2ltcG9ydCA8V2ViQ29yZS9WYWxp
ZGF0aW9uQnViYmxlLmg+CisjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVVSUNvbG9yRXh0cmFzLmg+
CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9FbnRpdGxlbWVu
dHMuaD4KIApAQCAtMTAxOCw3ICsxMDIwLDE4IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OnJ1bk1v
ZGFsSmF2YVNjcmlwdERpYWxvZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY2FsbGJhCiAK
IFdlYkNvcmU6OkNvbG9yIFBhZ2VDbGllbnRJbXBsOjpjb250ZW50Vmlld0JhY2tncm91bmRDb2xv
cigpCiB7Ci0gICAgcmV0dXJuIFdlYkNvcmU6OnJvdW5kQW5kQ2xhbXBUb1NSR0JBTG9zc3koW21f
Y29udGVudFZpZXcgYmFja2dyb3VuZENvbG9yXS5DR0NvbG9yKTsKKyNpZiBIQVZFKE9TX0RBUktf
TU9ERV9TVVBQT1JUKQorICAgIFdlYkNvcmU6OkxvY2FsQ3VycmVudFRyYWl0Q29sbGVjdGlvbiBs
b2NhbFRyYWl0Q29sbGVjdGlvbihbbV93ZWJWaWV3IHRyYWl0Q29sbGVjdGlvbl0pOworI2VuZGlm
CisKKyAgICBXZWJDb3JlOjpDb2xvciBjb2xvciA9IFdlYkNvcmU6OnJvdW5kQW5kQ2xhbXBUb1NS
R0JBTG9zc3koW21fY29udGVudFZpZXcgYmFja2dyb3VuZENvbG9yXS5DR0NvbG9yKTsKKyAgICBp
ZiAoY29sb3IuaXNWYWxpZCgpKQorICAgICAgICByZXR1cm4gY29sb3I7CisjaWYgSEFWRShPU19E
QVJLX01PREVfU1VQUE9SVCkKKyAgICByZXR1cm4gV2ViQ29yZTo6cm91bmRBbmRDbGFtcFRvU1JH
QkFMb3NzeShXZWJDb3JlOjpzeXN0ZW1CYWNrZ3JvdW5kQ29sb3IoKS5DR0NvbG9yKTsKKyNlbHNl
CisgICAgcmV0dXJuIHsgfTsKKyNlbmRpZgogfQogCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1
ZXN0U2Nyb2xsVG9SZWN0KGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgRmxvYXRQ
b2ludCYgb3JpZ2luKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dl
YlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJv
eHlJT1MubW0KaW5kZXggNzRhNGI3ZDI2NDhmMDg3NWM3MWNiMjJhNzA4NWUzOWY0NTFkNTIwYy4u
NTAxODU1NjgxYWQ5ZWQyNmRhOWFlNjM0ZjNkZDI3NzgzNzFhMWJjNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCkBAIC0xNjAwLDExICsxNjAw
LDcgQEAgQ29sb3IgV2ViUGFnZVByb3h5OjpwbGF0Zm9ybVVuZGVyUGFnZUJhY2tncm91bmRDb2xv
cigpIGNvbnN0CiAgICAgaWYgKGF1dG8gY29udGVudFZpZXdCYWNrZ3JvdW5kQ29sb3IgPSBwYWdl
Q2xpZW50KCkuY29udGVudFZpZXdCYWNrZ3JvdW5kQ29sb3IoKTsgY29udGVudFZpZXdCYWNrZ3Jv
dW5kQ29sb3IuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gY29udGVudFZpZXdCYWNrZ3JvdW5k
Q29sb3I7CiAKLSNpZiBIQVZFKE9TX0RBUktfTU9ERV9TVVBQT1JUKQotICAgIHJldHVybiBXZWJD
b3JlOjpyb3VuZEFuZENsYW1wVG9TUkdCQUxvc3N5KFVJQ29sb3Iuc3lzdGVtQmFja2dyb3VuZENv
bG9yLkNHQ29sb3IpOwotI2Vsc2UKICAgICByZXR1cm4gV2ViQ29yZTo6Q29sb3I6OndoaXRlOwot
I2VuZGlmCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>