<?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>239450</bug_id>
          
          <creation_ts>2022-04-17 21:10:13 -0700</creation_ts>
          <short_desc>[contain-intrinsic-size] Support contain-intrinsic-size auto &amp;&amp; &lt;length&gt;</short_desc>
          <delta_ts>2023-02-20 04:48:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Local 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/w3c/csswg-drafts/issues/6308</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>
          <dependson>248998</dependson>
          <blocked>236707</blocked>
    
    <blocked>249919</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="cathiechen">cathiechen</reporter>
          <assigned_to name="cathiechen">cathiechen</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1862199</commentid>
    <comment_count>0</comment_count>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2022-04-17 21:10:13 -0700</bug_when>
    <thetext>Per [1], the last remembers size of contain-intrinsic-size auto &amp;&amp; &lt;length&gt; is only effective when content-visibility: auto

[1] https://github.com/w3c/csswg-drafts/issues/6308</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862210</commentid>
    <comment_count>1</comment_count>
      <attachid>457796</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2022-04-18 00:27:43 -0700</bug_when>
    <thetext>Created attachment 457796
WIP-patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862213</commentid>
    <comment_count>2</comment_count>
      <attachid>457798</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2022-04-18 00:54:09 -0700</bug_when>
    <thetext>Created attachment 457798
WIP-patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864004</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-24 21:11:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/92246792&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865388</commentid>
    <comment_count>4</comment_count>
      <attachid>458578</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2022-04-29 03:05:04 -0700</bug_when>
    <thetext>Created attachment 458578
WIP-patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1904779</commentid>
    <comment_count>5</comment_count>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2022-10-11 07:37:01 -0700</bug_when>
    <thetext>(In reply to cathiechen from comment #0)
&gt; Per [1], the last remembers size of contain-intrinsic-size auto &amp;&amp; &lt;length&gt;
&gt; is only effective when content-visibility: auto
&gt; 
&gt; [1] https://github.com/w3c/csswg-drafts/issues/6308

Update the conclusion:

&gt; Drop the &quot;not relevant to the user&quot; condition

Now, the condition is &quot;currently skipping its contents&quot;, so it would work for both content-visibility: auto and content-visibility: hidden.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1909372</commentid>
    <comment_count>6</comment_count>
      <attachid>463327</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2022-10-31 12:13:58 -0700</bug_when>
    <thetext>Created attachment 463327
WIP-patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1914335</commentid>
    <comment_count>7</comment_count>
      <attachid>463694</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2022-11-23 10:48:48 -0800</bug_when>
    <thetext>Created attachment 463694
WIP-patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1920363</commentid>
    <comment_count>8</comment_count>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2022-12-18 12:04:42 -0800</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/7829</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1935053</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-02-20 04:48:21 -0800</bug_when>
    <thetext>Committed 260535@main (88587e7bd545): &lt;https://commits.webkit.org/260535@main&gt;

Reviewed commits have been landed. Closing PR #7829 and removing active labels.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457796</attachid>
            <date>2022-04-18 00:27:43 -0700</date>
            <delta_ts>2022-04-18 00:54:09 -0700</delta_ts>
            <desc>WIP-patch</desc>
            <filename>contain-intrinsic-size-with-auto-001.diff</filename>
            <type>text/plain</type>
            <size>15178</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1zaXppbmcvY29udGFpbi1pbnRyaW5zaWMtc2l6ZS9hdXRvLTAwMS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9j
b250YWluLWludHJpbnNpYy1zaXplL2F1dG8tMDAxLmh0bWwKaW5kZXggN2JmMjgzODhjMjMuLjBk
M2Y2ZjQ1NDZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL2NvbnRhaW4taW50cmluc2ljLXNpemUvYXV0by0wMDEu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3Mtc2l6aW5nL2NvbnRhaW4taW50cmluc2ljLXNpemUvYXV0by0wMDEuaHRtbApAQCAtMSw3
ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXNpemluZy00LyNsYXN0LXJlbWVtYmVyZWQiPgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KIAog
PGRpdiBpZD0ibG9nIj48L2Rpdj4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNpYy1z
aXplL2F1dG8tMDAyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL2NvbnRhaW4taW50cmluc2ljLXNpemUvYXV0by0wMDIuaHRt
bAppbmRleCA2NDEyNjgwYjc5Yy4uZDk2Nzg5MzdjNjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaXppbmcvY29udGFpbi1p
bnRyaW5zaWMtc2l6ZS9hdXRvLTAwMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaXppbmcvY29udGFpbi1pbnRyaW5zaWMtc2l6
ZS9hdXRvLTAwMi5odG1sCkBAIC0xLDggKzEsOCBAQAogPCFET0NUWVBFIGh0bWw+CiA8dGl0bGU+
Y29udGFpbi1pbnRyaW5zaWMtc2l6ZTogYXV0byB3aXRoIGEgdmVydGljYWwgd3JpdGluZyBtb2Rl
PC90aXRsZT4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3Jn
L2Nzcy1zaXppbmctNC8jbGFzdC1yZW1lbWJlcmVkIj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiAKIDxkaXYgaWQ9ImxvZyI+PC9k
aXY+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1zaXppbmcvY29udGFpbi1pbnRyaW5zaWMtc2l6ZS9hdXRvLTAwMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3Mtc2l6aW5nL2NvbnRhaW4taW50cmluc2ljLXNpemUvYXV0by0wMDMtZXhwZWN0ZWQudHh0
CmluZGV4IGI3MGFlNjIzYzg1Li45MzExODlhNzc5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWlu
dHJpbnNpYy1zaXplL2F1dG8tMDAzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL2NvbnRhaW4taW50cmlu
c2ljLXNpemUvYXV0by0wMDMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIGNv
bnRhaW4taW50cmluc2ljLXNpemU6IGF1dG8gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgNTAgYnV0
IGdvdCAxCitQQVNTIGNvbnRhaW4taW50cmluc2ljLXNpemU6IGF1dG8KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemlu
Zy9jb250YWluLWludHJpbnNpYy1zaXplL2F1dG8tMDAzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL2NvbnRhaW4taW50cmlu
c2ljLXNpemUvYXV0by0wMDMuaHRtbAppbmRleCBhOTk1ZWMxY2M2ZC4uNThlOWJlNTI5NDkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1zaXppbmcvY29udGFpbi1pbnRyaW5zaWMtc2l6ZS9hdXRvLTAwMy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaXppbmcv
Y29udGFpbi1pbnRyaW5zaWMtc2l6ZS9hdXRvLTAwMy5odG1sCkBAIC0xLDggKzEsOCBAQAogPCFE
T0NUWVBFIGh0bWw+CiA8dGl0bGU+Y29udGFpbi1pbnRyaW5zaWMtc2l6ZTogYXV0byB3aXRoIHZh
cmlvdXMgZHluYW1pYyBjaGFuZ2VzPC90aXRsZT4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1zaXppbmctNC8jbGFzdC1yZW1lbWJlcmVkIj4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
CiAKIDxkaXYgaWQ9ImxvZyI+PC9kaXY+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaXppbmcvY29udGFpbi1pbnRyaW5z
aWMtc2l6ZS9hdXRvLTAwNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNpYy1zaXplL2F1dG8tMDA0
Lmh0bWwKaW5kZXggYTcwZTcwY2I5YzUuLmY2YmIyYmFkZjA2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL2NvbnRh
aW4taW50cmluc2ljLXNpemUvYXV0by0wMDQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL2NvbnRhaW4taW50cmluc2lj
LXNpemUvYXV0by0wMDQuaHRtbApAQCAtMSw4ICsxLDggQEAKIDwhRE9DVFlQRSBodG1sPgogPGxp
bmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXNpemluZy00
LyNsYXN0LXJlbWVtYmVyZWQiPgogPHRpdGxlPlRlc3RzIHRoYXQgY29udGFpbi1pbnRyaW5zaWMt
c2l6ZTogYXV0byBvbmx5IHdvcmtzIHdpdGggY29udGVudC12aXNpYmlsaXR5OiBhdXRvLCBub3Qg
anVzdCBzaXplIGNvbnRhaW5tZW50PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiAKIDxkaXYgaWQ9ImxvZyI+PC9kaXY+
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1zaXppbmcvY29udGFpbi1pbnRyaW5zaWMtc2l6ZS9hdXRvLTAwNS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemlu
Zy9jb250YWluLWludHJpbnNpYy1zaXplL2F1dG8tMDA1Lmh0bWwKaW5kZXggNGE5MjBhYzgwNjAu
LmUwOGY5MmQ1MWJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL2NvbnRhaW4taW50cmluc2ljLXNpemUvYXV0by0w
MDUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2l6aW5nL2NvbnRhaW4taW50cmluc2ljLXNpemUvYXV0by0wMDUuaHRtbApAQCAt
MSw4ICsxLDggQEAKIDwhRE9DVFlQRSBodG1sPgogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXNpemluZy00LyNsYXN0LXJlbWVtYmVyZWQiPgogPHRp
dGxlPlRlc3RzIHRoYXQgY29udGFpbi1pbnRyaW5zaWMtc2l6ZTogYXV0byBvbmx5IHdvcmtzIHdp
dGggY29udGVudC12aXNpYmlsaXR5OiBhdXRvLCBub3QganVzdCBoaWRkZW4gdmlzaWJpbGl0eTwv
dGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgogCiA8ZGl2IGlkPSJsb2ciPjwvZGl2PgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAK
aW5kZXggMDI5NjJkZTI4MDYuLjhiZWEyNzQ5NjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBA
IC00MTE3LDYgKzQxMTcsMjUgQEAgUmVzaXplT2JzZXJ2ZXJEYXRhKiBFbGVtZW50OjpyZXNpemVP
YnNlcnZlckRhdGEoKQogICAgIHJldHVybiBoYXNSYXJlRGF0YSgpID8gZWxlbWVudFJhcmVEYXRh
KCktPnJlc2l6ZU9ic2VydmVyRGF0YSgpIDogbnVsbHB0cjsKIH0KIAordm9pZCBFbGVtZW50Ojpz
YXZlUmVzaXplT2JzZXJ2ZXJMYXN0UmVtZW1iZXJlZFNpemUoUmVmPFJlc2l6ZU9ic2VydmVyU2l6
ZT4mJiBzaXplKQoreworICAgIGF1dG8mIHJhcmVEYXRhID0gZW5zdXJlRWxlbWVudFJhcmVEYXRh
KCk7CisgICAgcmFyZURhdGEuc2V0UmVzaXplT2JzZXJ2ZXJMYXN0UmVtZW1iZXJlZFNpemUoV1RG
TW92ZShzaXplKSk7Cit9CisKK3ZvaWQgRWxlbWVudDo6cmVtb3ZlUmVzaXplT2JzZXJ2ZXJMYXN0
UmVtZW1iZXJlZFNpemUoKQoreworICAgIGlmICghaGFzUmFyZURhdGEoKSkKKyAgICAgICAgcmV0
dXJuOworICAgIGlmIChlbGVtZW50UmFyZURhdGEoKS0+cmVzaXplT2JzZXJ2ZXJMYXN0UmVtZW1i
ZXJlZFNpemUoKSkKKyAgICAgICAgZWxlbWVudFJhcmVEYXRhKCktPnNldFJlc2l6ZU9ic2VydmVy
TGFzdFJlbWVtYmVyZWRTaXplKFJlZlB0cjxSZXNpemVPYnNlcnZlclNpemU+KCkpOworfQorCitS
ZXNpemVPYnNlcnZlclNpemUqIEVsZW1lbnQ6OnJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRT
aXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gaGFzUmFyZURhdGEoKSA/IGVsZW1lbnRSYXJlRGF0
YSgpLT5yZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVkU2l6ZSgpIDogbnVsbHB0cjsKK30KKwog
Ym9vbCBFbGVtZW50Ojppc1NwZWxsQ2hlY2tpbmdFbmFibGVkKCkgY29uc3QKIHsKICAgICBmb3Ig
KGF1dG8qIGFuY2VzdG9yID0gdGhpczsgYW5jZXN0b3I7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBh
cmVudE9yU2hhZG93SG9zdEVsZW1lbnQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggZjI1MDk4
Yzc2OWUuLjNiYTk4ZDY3MDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTcxLDYgKzcxLDcgQEAg
Y2xhc3MgUGxhdGZvcm1XaGVlbEV2ZW50OwogY2xhc3MgUHNldWRvRWxlbWVudDsKIGNsYXNzIFJl
bmRlclN0eWxlOwogY2xhc3MgUmVuZGVyVHJlZVBvc2l0aW9uOworY2xhc3MgUmVzaXplT2JzZXJ2
ZXJTaXplOwogY2xhc3MgU3BhY2VTcGxpdFN0cmluZzsKIGNsYXNzIFN0eWxlUHJvcGVydHlNYXA7
CiBjbGFzcyBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHk7CkBAIC02NDgsNiArNjQ5LDkgQEAgcHVi
bGljOgogCiAgICAgUmVzaXplT2JzZXJ2ZXJEYXRhJiBlbnN1cmVSZXNpemVPYnNlcnZlckRhdGEo
KTsKICAgICBSZXNpemVPYnNlcnZlckRhdGEqIHJlc2l6ZU9ic2VydmVyRGF0YSgpOworICAgIHZv
aWQgc2F2ZVJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRTaXplKFJlZjxSZXNpemVPYnNlcnZl
clNpemU+JiYpOworICAgIHZvaWQgcmVtb3ZlUmVzaXplT2JzZXJ2ZXJMYXN0UmVtZW1iZXJlZFNp
emUoKTsKKyAgICBSZXNpemVPYnNlcnZlclNpemUqIHJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVy
ZWRTaXplKCkgY29uc3Q7CiAKICAgICBFbGVtZW50KiBmaW5kQW5jaG9yRWxlbWVudEZvckxpbmso
U3RyaW5nJiBvdXRBbmNob3JOYW1lKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnRSYXJlRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRh
LmNwcAppbmRleCA5NGI4YTU4NTlmNy4uZWVkMmM3MTU5Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50UmFyZURhdGEuY3BwCkBAIC00Miw2ICs0Miw3IEBAIHN0cnVjdCBTYW1lU2l6ZUFzRWxl
bWVudFJhcmVEYXRhIDogTm9kZVJhcmVEYXRhIHsKICAgICB2b2lkKiB0eXBlZE9NRGF0YVsyXTsK
ICNlbmRpZgogICAgIHZvaWQqIHJlc2l6ZU9ic2VydmVyRGF0YTsKKyAgICB2b2lkKiByZXNpemVP
YnNlcnZlclNpemU7CiB9OwogCiBzdGF0aWNfYXNzZXJ0KHNpemVvZihFbGVtZW50UmFyZURhdGEp
ID09IHNpemVvZihTYW1lU2l6ZUFzRWxlbWVudFJhcmVEYXRhKSwgIkVsZW1lbnRSYXJlRGF0YSBz
aG91bGQgc3RheSBzbWFsbCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnRSYXJlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4
IDk2YzBlYjM1YzRlLi5lNGQzNzg4OTc0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnRSYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURh
dGEuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIlBzZXVkb0VsZW1lbnQuaCIKICNpbmNs
dWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiUmVzaXplT2JzZXJ2ZXIuaCIKKyNpbmNs
dWRlICJSZXNpemVPYnNlcnZlclNpemUuaCIKICNpbmNsdWRlICJTaGFkb3dSb290LmgiCiAjaW5j
bHVkZSAiU3BhY2VTcGxpdFN0cmluZy5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlNYXAuaCIK
QEAgLTk2LDYgKzk3LDkgQEAgcHVibGljOgogICAgIFJlc2l6ZU9ic2VydmVyRGF0YSogcmVzaXpl
T2JzZXJ2ZXJEYXRhKCkgeyByZXR1cm4gbV9yZXNpemVPYnNlcnZlckRhdGEuZ2V0KCk7IH0KICAg
ICB2b2lkIHNldFJlc2l6ZU9ic2VydmVyRGF0YShzdGQ6OnVuaXF1ZV9wdHI8UmVzaXplT2JzZXJ2
ZXJEYXRhPiYmIGRhdGEpIHsgbV9yZXNpemVPYnNlcnZlckRhdGEgPSBXVEZNb3ZlKGRhdGEpOyB9
CiAKKyAgICBSZXNpemVPYnNlcnZlclNpemUqIHJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRT
aXplKCkgY29uc3QgeyByZXR1cm4gbV9yZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVkU2l6ZS5n
ZXQoKTsgfQorICAgIHZvaWQgc2V0UmVzaXplT2JzZXJ2ZXJMYXN0UmVtZW1iZXJlZFNpemUoUmVm
UHRyPFJlc2l6ZU9ic2VydmVyU2l6ZT4mJiBzaXplKSB7IG1fcmVzaXplT2JzZXJ2ZXJMYXN0UmVt
ZW1iZXJlZFNpemUgPSBXVEZNb3ZlKHNpemUpOyB9CisKICAgICBjb25zdCBBdG9tU3RyaW5nJiBu
b25jZSgpIGNvbnN0IHsgcmV0dXJuIG1fbm9uY2U7IH0KICAgICB2b2lkIHNldE5vbmNlKGNvbnN0
IEF0b21TdHJpbmcmIHZhbHVlKSB7IG1fbm9uY2UgPSB2YWx1ZTsgfQogCkBAIC0xMjksNyArMTMz
LDcgQEAgcHVibGljOgogICAgICAgICAgICAgcmVzdWx0LmFkZChVc2VUeXBlOjpBdHRyaWJ1dGVN
YXApOwogICAgICAgICBpZiAobV9pbnRlcnNlY3Rpb25PYnNlcnZlckRhdGEpCiAgICAgICAgICAg
ICByZXN1bHQuYWRkKFVzZVR5cGU6OkludGVyYWN0aW9uT2JzZXJ2ZXIpOwotICAgICAgICBpZiAo
bV9yZXNpemVPYnNlcnZlckRhdGEpCisgICAgICAgIGlmIChtX3Jlc2l6ZU9ic2VydmVyRGF0YSB8
fCBtX3Jlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRTaXplKQogICAgICAgICAgICAgcmVzdWx0
LmFkZChVc2VUeXBlOjpSZXNpemVPYnNlcnZlcik7CiAgICAgICAgIGlmICghbV9hbmltYXRpb25S
YXJlRGF0YS5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZXN1bHQuYWRkKFVzZVR5cGU6OkFuaW1h
dGlvbnMpOwpAQCAtMTY0LDYgKzE2OCw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRy
PEludGVyc2VjdGlvbk9ic2VydmVyRGF0YT4gbV9pbnRlcnNlY3Rpb25PYnNlcnZlckRhdGE7CiAK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVzaXplT2JzZXJ2ZXJEYXRhPiBtX3Jlc2l6ZU9ic2VydmVy
RGF0YTsKKyAgICBSZWZQdHI8UmVzaXplT2JzZXJ2ZXJTaXplPiBtX3Jlc2l6ZU9ic2VydmVyTGFz
dFJlbWVtYmVyZWRTaXplOwogCiAgICAgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxFbGVtZW50QW5p
bWF0aW9uUmFyZURhdGE+PiBtX2FuaW1hdGlvblJhcmVEYXRhOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UmVzaXplT2JzZXJ2ZXIuY3BwCmluZGV4IDRmZmQ2OWQwMzQ0Li5mZmJhZTg1Y2E1ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZlci5jcHAKQEAgLTEyMyw2ICsxMjMsMjggQEAgc2l6
ZV90IFJlc2l6ZU9ic2VydmVyOjpnYXRoZXJPYnNlcnZhdGlvbnMoc2l6ZV90IGRlZXBlclRoYW4p
CiAgICAgcmV0dXJuIG1pbk9ic2VydmVkRGVwdGg7CiB9CiAKK3ZvaWQgUmVzaXplT2JzZXJ2ZXI6
OmhhbmRsZUxhc3RSZW1lbWJlcmVkU2l6ZShjb25zdCBWZWN0b3I8UmVmPFJlc2l6ZU9ic2VydmVy
RW50cnk+PiYgZW50cmllcykKK3sKKyAgICBmb3IgKGF1dG8mIGVudHJ5IDogZW50cmllcykgewor
ICAgICAgICBpZiAoYXV0byogdGFyZ2V0ID0gZW50cnktPnRhcmdldCgpKSB7CisgICAgICAgICAg
ICBhdXRvKiBib3ggPSB0YXJnZXQtPnJlbmRlckJveCgpOworICAgICAgICAgICAgaWYgKCFib3gp
CisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGlmICghYm94LT5oYXNB
dXRvQ29udGFpbkludHJpc2NTaXplKCkpIHsKKyAgICAgICAgICAgICAgICB0YXJnZXQtPnJlbW92
ZVJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRTaXplKCk7CisgICAgICAgICAgICAgICAgY29u
dGludWU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChzaG91bGRBcHBseVNpemVD
b250YWlubWVudCgqYm94KSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAg
ICAgYXV0byBjb250ZW50Qm94ZVNpemUgPSBlbnRyeS0+Y29udGVudEJveFNpemUoKS5hdCgwKTsK
KyAgICAgICAgICAgIHRhcmdldC0+c2F2ZVJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRTaXpl
KFJlc2l6ZU9ic2VydmVyU2l6ZTo6Y3JlYXRlKGNvbnRlbnRCb3hlU2l6ZS0+aW5saW5lU2l6ZSgp
LCBjb250ZW50Qm94ZVNpemUtPmJsb2NrU2l6ZSgpKSk7CisgICAgICAgIH0KKyAgICB9Cit9CisK
IHZvaWQgUmVzaXplT2JzZXJ2ZXI6OmRlbGl2ZXJPYnNlcnZhdGlvbnMoKQogewogICAgIGF1dG8g
ZW50cmllcyA9IG1fYWN0aXZlT2JzZXJ2YXRpb25zLm1hcChbXShhdXRvJiBvYnNlcnZhdGlvbikg
ewpAQCAtMTQ0LDYgKzE2Niw4IEBAIHZvaWQgUmVzaXplT2JzZXJ2ZXI6OmRlbGl2ZXJPYnNlcnZh
dGlvbnMoKQogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEZpcmVPYnNlcnZlckNh
bGxiYWNrKCpjb250ZXh0LCAiUmVzaXplT2JzZXJ2ZXIiX3MpOwogICAgIG1fY2FsbGJhY2stPmhh
bmRsZUV2ZW50KCp0aGlzLCBlbnRyaWVzLCAqdGhpcyk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWRGaXJlT2JzZXJ2ZXJDYWxsYmFjaygqY29udGV4dCk7CisKKyAgICBoYW5kbGVM
YXN0UmVtZW1iZXJlZFNpemUoZW50cmllcyk7CiB9CiAKIGJvb2wgUmVzaXplT2JzZXJ2ZXI6Omlz
UmVhY2hhYmxlRnJvbU9wYXF1ZVJvb3RzKEpTQzo6QWJzdHJhY3RTbG90VmlzaXRvciYgdmlzaXRv
cikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2ZXIuaAppbmRleCBiNWZhMjkwNzRj
ZS4uODY2ZjJmMTY0MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2Jz
ZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmVyLmgKQEAgLTY0
LDYgKzY0LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHNpemVfdCBtYXhFbGVtZW50RGVwdGgo
KSB7IHJldHVybiBTSVpFX01BWDsgfQogICAgIHNpemVfdCBnYXRoZXJPYnNlcnZhdGlvbnMoc2l6
ZV90IGRlcHRoKTsKKyAgICB2b2lkIGhhbmRsZUxhc3RSZW1lbWJlcmVkU2l6ZShjb25zdCBWZWN0
b3I8UmVmPFJlc2l6ZU9ic2VydmVyRW50cnk+PiYpOwogICAgIHZvaWQgZGVsaXZlck9ic2VydmF0
aW9ucygpOwogICAgIGJvb2wgaGFzU2tpcHBlZE9ic2VydmF0aW9ucygpIGNvbnN0IHsgcmV0dXJu
IG1faGFzU2tpcHBlZE9ic2VydmF0aW9uczsgfQogICAgIHZvaWQgc2V0SGFzU2tpcHBlZE9ic2Vy
dmF0aW9ucyhib29sIHNraXBwZWQpIHsgbV9oYXNTa2lwcGVkT2JzZXJ2YXRpb25zID0gc2tpcHBl
ZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBmNDhiZGI3MmMy
My4uMDI1MGIzNjFiODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBA
IC03Miw2ICs3Miw3IEBACiAjaW5jbHVkZSAiUmVuZGVyVGFibGVDZWxsLmgiCiAjaW5jbHVkZSAi
UmVuZGVyVGhlbWUuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCisjaW5jbHVkZSAiUmVzaXpl
T2JzZXJ2ZXJTaXplLmgiCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCiAj
aW5jbHVkZSAiU1ZHQ2xpcFBhdGhFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudFR5cGVI
ZWxwZXJzLmgiCkBAIC0zMDkxLDcgKzMwOTIsNyBAQCB2b2lkIFJlbmRlckJveDo6dXBkYXRlTG9n
aWNhbEhlaWdodCgpCiAgICAgICAgIC8vIFdlIG5lZWQgdGhlIGV4YWN0IHdpZHRoIG9mIGJvcmRl
ciBhbmQgcGFkZGluZyBoZXJlLCB5ZXQgd2UgY2FuJ3QgdXNlIGJvcmRlckFuZFBhZGRpbmcqIGlu
dGVyZmFjZXMuCiAgICAgICAgIC8vIEJlY2F1c2UgdGhlc2UgaW50ZXJmYWNlcyBldmV0dWFsbHkg
Y2FsbCBib3JkZXJBZnRlci9CZWZvcmUsIGFuZCBSZW5kZXJCbG9jazo6Ym9yZGVyQmVmb3JlCiAg
ICAgICAgIC8vIGFkZHMgZXh0cmEgYm9yZGVyIHRvIGZpZWxkc2V0IGJ5IGFkZGluZyBpbnRyaW5z
aWNCb3JkZXJGb3JGaWVsZHNldCB3aGljaCBpcyBub3QgbmVlZGVkIGhlcmUuCi0gICAgICAgIExh
eW91dFVuaXQgZXhwbGljaXRJbnRyaW5zaWNIZWlnaHQgPSBoYXNFeHBsaWNpdEludHJpbnNpY0lu
bmVyTG9naWNhbFdpZHRoKCkgPyBleHBsaWNpdEludHJpbnNpY0lubmVyTG9naWNhbEhlaWdodCgp
IDogTGF5b3V0VW5pdCgwKTsKKyAgICAgICAgTGF5b3V0VW5pdCBleHBsaWNpdEludHJpbnNpY0hl
aWdodCA9IGhhc0V4cGxpY2l0SW50cmluc2ljSW5uZXJMb2dpY2FsSGVpZ2h0KCkgPyBleHBsaWNp
dEludHJpbnNpY0lubmVyTG9naWNhbEhlaWdodCgpIDogTGF5b3V0VW5pdCgwKTsKICAgICAgICAg
YXV0byBib3JkZXJBbmRQYWRkaW5nID0gUmVuZGVyQm94Ojpib3JkZXJCZWZvcmUoKSArIFJlbmRl
ckJveDo6cGFkZGluZ0JlZm9yZSgpICsgUmVuZGVyQm94Ojpib3JkZXJBZnRlcigpICsgUmVuZGVy
Qm94OjpwYWRkaW5nQWZ0ZXIoKTsKICAgICAgICAgc2V0TG9naWNhbEhlaWdodChleHBsaWNpdElu
dHJpbnNpY0hlaWdodCArIGJvcmRlckFuZFBhZGRpbmcgKyBzY3JvbGxiYXJMb2dpY2FsSGVpZ2h0
KCkpOwogICAgIH0KQEAgLTU1MjQsNiArNTUyNSwxNCBAQCBib29sIFJlbmRlckJveDo6aGFzRXhw
bGljaXRJbnRyaW5zaWNJbm5lcldpZHRoKCkgY29uc3QKIAogTGF5b3V0VW5pdCBSZW5kZXJCb3g6
OmV4cGxpY2l0SW50cmluc2ljSW5uZXJXaWR0aCgpIGNvbnN0CiB7CisgICAgLy8gVE9ETzogT25s
eSB1c2UgbGFzdCByZW1lbWJlcmVkIHNpemUgd2hlbiBjb250ZW50LXZpc2liaWxpdHkgaXMgYXV0
bz8KKyAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjMw
OAorICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRzL2NvbW1pdC82ZWI2
ZmFhYzA3ZjQwYWU5NDRmZGEwYTBkYTI1ZTRlNWU1MWIzMTVlCisgICAgaWYgKHN0eWxlKCkuY29u
dGFpbkludHJpbnNpY1dpZHRoVHlwZSgpID09IENvbnRhaW5JbnRyaW5zaWNTaXplVHlwZTo6QXV0
b0FuZExlbmd0aCAmJiBlbGVtZW50KCkpIHsKKyAgICAgICAgaWYgKGF1dG8gbGFzdFJlbWVtYmVy
ZWRTaXplID0gZWxlbWVudCgpLT5yZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVkU2l6ZSgpKQor
ICAgICAgICAgICAgcmV0dXJuIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBMYXlvdXRVbml0
KGxhc3RSZW1lbWJlcmVkU2l6ZS0+aW5saW5lU2l6ZSgpKSA6IExheW91dFVuaXQobGFzdFJlbWVt
YmVyZWRTaXplLT5ibG9ja1NpemUoKSk7CisgICAgfQorCiAgICAgYXV0byB3aWR0aCA9IHN0eWxl
KCkuY29udGFpbkludHJpbnNpY1dpZHRoKCk7CiAgICAgQVNTRVJUKHdpZHRoLmhhc192YWx1ZSgp
KTsKICAgICByZXR1cm4gTGF5b3V0VW5pdCh3aWR0aC52YWx1ZSgpLnZhbHVlKCkpOwpAQCAtNTUz
OSw5ICs1NTQ4LDE5IEBAIGJvb2wgUmVuZGVyQm94OjpoYXNFeHBsaWNpdEludHJpbnNpY0lubmVy
SGVpZ2h0KCkgY29uc3QKIAogTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmV4cGxpY2l0SW50cmluc2lj
SW5uZXJIZWlnaHQoKSBjb25zdAogeworICAgIGlmIChzdHlsZSgpLmNvbnRhaW5JbnRyaW5zaWNX
aWR0aFR5cGUoKSA9PSBDb250YWluSW50cmluc2ljU2l6ZVR5cGU6OkF1dG9BbmRMZW5ndGggJiYg
ZWxlbWVudCgpKSB7CisgICAgICAgIGlmIChhdXRvIGxhc3RSZW1lbWJlcmVkU2l6ZSA9IGVsZW1l
bnQoKS0+cmVzaXplT2JzZXJ2ZXJMYXN0UmVtZW1iZXJlZFNpemUoKSkKKyAgICAgICAgICAgIHJl
dHVybiBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gTGF5b3V0VW5pdChsYXN0UmVtZW1iZXJl
ZFNpemUtPmJsb2NrU2l6ZSgpKSA6IExheW91dFVuaXQobGFzdFJlbWVtYmVyZWRTaXplLT5pbmxp
bmVTaXplKCkpOworICAgIH0KKwogICAgIGF1dG8gaGVpZ2h0ID0gc3R5bGUoKS5jb250YWluSW50
cmluc2ljSGVpZ2h0KCk7CiAgICAgQVNTRVJUKGhlaWdodC5oYXNfdmFsdWUoKSk7CiAgICAgcmV0
dXJuIExheW91dFVuaXQoaGVpZ2h0LnZhbHVlKCkudmFsdWUoKSk7CiB9CiAKK2Jvb2wgUmVuZGVy
Qm94OjpoYXNBdXRvQ29udGFpbkludHJpc2NTaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3R5
bGUoKS5jb250YWluSW50cmluc2ljV2lkdGhUeXBlKCkgPT0gQ29udGFpbkludHJpbnNpY1NpemVU
eXBlOjpBdXRvQW5kTGVuZ3RoIHx8IHN0eWxlKCkuY29udGFpbkludHJpbnNpY0hlaWdodFR5cGUo
KSA9PSBDb250YWluSW50cmluc2ljU2l6ZVR5cGU6OkF1dG9BbmRMZW5ndGg7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAppbmRleCBk
ZjIwMzIwMTg4MS4uYmIwNGNjY2ZhOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmgKQEAgLTY3Miw2ICs2NzIsNyBAQCBvdmVycmlkZTsKICAgICBib29sIGhhc0V4cGxpY2l0SW50
cmluc2ljSW5uZXJIZWlnaHQoKSBjb25zdDsKICAgICBMYXlvdXRVbml0IGV4cGxpY2l0SW50cmlu
c2ljSW5uZXJXaWR0aCgpIGNvbnN0OwogICAgIExheW91dFVuaXQgZXhwbGljaXRJbnRyaW5zaWNJ
bm5lckhlaWdodCgpIGNvbnN0OworICAgIGJvb2wgaGFzQXV0b0NvbnRhaW5JbnRyaXNjU2l6ZSgp
IGNvbnN0OwogCiAgICAgYm9vbCBoYXNFeHBsaWNpdEludHJpbnNpY0lubmVyTG9naWNhbFdpZHRo
KCkgY29uc3QKICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457798</attachid>
            <date>2022-04-18 00:54:09 -0700</date>
            <delta_ts>2022-04-29 03:05:04 -0700</delta_ts>
            <desc>WIP-patch</desc>
            <filename>contain-intrinsic-size-with-auto-002.diff</filename>
            <type>text/plain</type>
            <size>9762</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1zaXppbmcvY29udGFpbi1pbnRyaW5zaWMtc2l6ZS9hdXRvLTAwMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2l6aW5nL2NvbnRhaW4taW50cmluc2ljLXNpemUvYXV0by0wMDMtZXhwZWN0ZWQudHh0CmluZGV4
IGI3MGFlNjIzYzg1Li45MzExODlhNzc5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNp
Yy1zaXplL2F1dG8tMDAzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL2NvbnRhaW4taW50cmluc2ljLXNp
emUvYXV0by0wMDMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIGNvbnRhaW4t
aW50cmluc2ljLXNpemU6IGF1dG8gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgNTAgYnV0IGdvdCAx
CitQQVNTIGNvbnRhaW4taW50cmluc2ljLXNpemU6IGF1dG8KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CmluZGV4IDAyOTYyZGUyODA2Li44YmVhMjc0OTYzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApA
QCAtNDExNyw2ICs0MTE3LDI1IEBAIFJlc2l6ZU9ic2VydmVyRGF0YSogRWxlbWVudDo6cmVzaXpl
T2JzZXJ2ZXJEYXRhKCkKICAgICByZXR1cm4gaGFzUmFyZURhdGEoKSA/IGVsZW1lbnRSYXJlRGF0
YSgpLT5yZXNpemVPYnNlcnZlckRhdGEoKSA6IG51bGxwdHI7CiB9CiAKK3ZvaWQgRWxlbWVudDo6
c2F2ZVJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRTaXplKFJlZjxSZXNpemVPYnNlcnZlclNp
emU+JiYgc2l6ZSkKK3sKKyAgICBhdXRvJiByYXJlRGF0YSA9IGVuc3VyZUVsZW1lbnRSYXJlRGF0
YSgpOworICAgIHJhcmVEYXRhLnNldFJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRTaXplKFdU
Rk1vdmUoc2l6ZSkpOworfQorCit2b2lkIEVsZW1lbnQ6OnJlbW92ZVJlc2l6ZU9ic2VydmVyTGFz
dFJlbWVtYmVyZWRTaXplKCkKK3sKKyAgICBpZiAoIWhhc1JhcmVEYXRhKCkpCisgICAgICAgIHJl
dHVybjsKKyAgICBpZiAoZWxlbWVudFJhcmVEYXRhKCktPnJlc2l6ZU9ic2VydmVyTGFzdFJlbWVt
YmVyZWRTaXplKCkpCisgICAgICAgIGVsZW1lbnRSYXJlRGF0YSgpLT5zZXRSZXNpemVPYnNlcnZl
ckxhc3RSZW1lbWJlcmVkU2l6ZShSZWZQdHI8UmVzaXplT2JzZXJ2ZXJTaXplPigpKTsKK30KKwor
UmVzaXplT2JzZXJ2ZXJTaXplKiBFbGVtZW50OjpyZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVk
U2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1JhcmVEYXRhKCkgPyBlbGVtZW50UmFyZURh
dGEoKS0+cmVzaXplT2JzZXJ2ZXJMYXN0UmVtZW1iZXJlZFNpemUoKSA6IG51bGxwdHI7Cit9CisK
IGJvb2wgRWxlbWVudDo6aXNTcGVsbENoZWNraW5nRW5hYmxlZCgpIGNvbnN0CiB7CiAgICAgZm9y
IChhdXRvKiBhbmNlc3RvciA9IHRoaXM7IGFuY2VzdG9yOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5w
YXJlbnRPclNoYWRvd0hvc3RFbGVtZW50KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IGYyNTA5
OGM3NjllLi4zYmE5OGQ2NzA5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC03MSw2ICs3MSw3IEBA
IGNsYXNzIFBsYXRmb3JtV2hlZWxFdmVudDsKIGNsYXNzIFBzZXVkb0VsZW1lbnQ7CiBjbGFzcyBS
ZW5kZXJTdHlsZTsKIGNsYXNzIFJlbmRlclRyZWVQb3NpdGlvbjsKK2NsYXNzIFJlc2l6ZU9ic2Vy
dmVyU2l6ZTsKIGNsYXNzIFNwYWNlU3BsaXRTdHJpbmc7CiBjbGFzcyBTdHlsZVByb3BlcnR5TWFw
OwogY2xhc3MgU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5OwpAQCAtNjQ4LDYgKzY0OSw5IEBAIHB1
YmxpYzoKIAogICAgIFJlc2l6ZU9ic2VydmVyRGF0YSYgZW5zdXJlUmVzaXplT2JzZXJ2ZXJEYXRh
KCk7CiAgICAgUmVzaXplT2JzZXJ2ZXJEYXRhKiByZXNpemVPYnNlcnZlckRhdGEoKTsKKyAgICB2
b2lkIHNhdmVSZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVkU2l6ZShSZWY8UmVzaXplT2JzZXJ2
ZXJTaXplPiYmKTsKKyAgICB2b2lkIHJlbW92ZVJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRT
aXplKCk7CisgICAgUmVzaXplT2JzZXJ2ZXJTaXplKiByZXNpemVPYnNlcnZlckxhc3RSZW1lbWJl
cmVkU2l6ZSgpIGNvbnN0OwogCiAgICAgRWxlbWVudCogZmluZEFuY2hvckVsZW1lbnRGb3JMaW5r
KFN0cmluZyYgb3V0QW5jaG9yTmFtZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50UmFyZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0
YS5jcHAKaW5kZXggOTRiOGE1ODU5ZjcuLmVlZDJjNzE1OWNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudFJhcmVEYXRhLmNwcApAQCAtNDIsNiArNDIsNyBAQCBzdHJ1Y3QgU2FtZVNpemVBc0Vs
ZW1lbnRSYXJlRGF0YSA6IE5vZGVSYXJlRGF0YSB7CiAgICAgdm9pZCogdHlwZWRPTURhdGFbMl07
CiAjZW5kaWYKICAgICB2b2lkKiByZXNpemVPYnNlcnZlckRhdGE7CisgICAgdm9pZCogcmVzaXpl
T2JzZXJ2ZXJTaXplOwogfTsKIAogc3RhdGljX2Fzc2VydChzaXplb2YoRWxlbWVudFJhcmVEYXRh
KSA9PSBzaXplb2YoU2FtZVNpemVBc0VsZW1lbnRSYXJlRGF0YSksICJFbGVtZW50UmFyZURhdGEg
c2hvdWxkIHN0YXkgc21hbGwiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50UmFyZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAppbmRl
eCA5NmMwZWIzNWM0ZS4uZTRkMzc4ODk3NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50UmFyZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVE
YXRhLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJQc2V1ZG9FbGVtZW50LmgiCiAjaW5j
bHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlJlc2l6ZU9ic2VydmVyLmgiCisjaW5j
bHVkZSAiUmVzaXplT2JzZXJ2ZXJTaXplLmgiCiAjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgogI2lu
Y2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5TWFwLmgi
CkBAIC05Niw2ICs5Nyw5IEBAIHB1YmxpYzoKICAgICBSZXNpemVPYnNlcnZlckRhdGEqIHJlc2l6
ZU9ic2VydmVyRGF0YSgpIHsgcmV0dXJuIG1fcmVzaXplT2JzZXJ2ZXJEYXRhLmdldCgpOyB9CiAg
ICAgdm9pZCBzZXRSZXNpemVPYnNlcnZlckRhdGEoc3RkOjp1bmlxdWVfcHRyPFJlc2l6ZU9ic2Vy
dmVyRGF0YT4mJiBkYXRhKSB7IG1fcmVzaXplT2JzZXJ2ZXJEYXRhID0gV1RGTW92ZShkYXRhKTsg
fQogCisgICAgUmVzaXplT2JzZXJ2ZXJTaXplKiByZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVk
U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzaXplT2JzZXJ2ZXJMYXN0UmVtZW1iZXJlZFNpemUu
Z2V0KCk7IH0KKyAgICB2b2lkIHNldFJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRTaXplKFJl
ZlB0cjxSZXNpemVPYnNlcnZlclNpemU+JiYgc2l6ZSkgeyBtX3Jlc2l6ZU9ic2VydmVyTGFzdFJl
bWVtYmVyZWRTaXplID0gV1RGTW92ZShzaXplKTsgfQorCiAgICAgY29uc3QgQXRvbVN0cmluZyYg
bm9uY2UoKSBjb25zdCB7IHJldHVybiBtX25vbmNlOyB9CiAgICAgdm9pZCBzZXROb25jZShjb25z
dCBBdG9tU3RyaW5nJiB2YWx1ZSkgeyBtX25vbmNlID0gdmFsdWU7IH0KIApAQCAtMTI5LDcgKzEz
Myw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlwZTo6QXR0cmlidXRl
TWFwKTsKICAgICAgICAgaWYgKG1faW50ZXJzZWN0aW9uT2JzZXJ2ZXJEYXRhKQogICAgICAgICAg
ICAgcmVzdWx0LmFkZChVc2VUeXBlOjpJbnRlcmFjdGlvbk9ic2VydmVyKTsKLSAgICAgICAgaWYg
KG1fcmVzaXplT2JzZXJ2ZXJEYXRhKQorICAgICAgICBpZiAobV9yZXNpemVPYnNlcnZlckRhdGEg
fHwgbV9yZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVkU2l6ZSkKICAgICAgICAgICAgIHJlc3Vs
dC5hZGQoVXNlVHlwZTo6UmVzaXplT2JzZXJ2ZXIpOwogICAgICAgICBpZiAoIW1fYW5pbWF0aW9u
UmFyZURhdGEuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmVzdWx0LmFkZChVc2VUeXBlOjpBbmlt
YXRpb25zKTsKQEAgLTE2NCw2ICsxNjgsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0
cjxJbnRlcnNlY3Rpb25PYnNlcnZlckRhdGE+IG1faW50ZXJzZWN0aW9uT2JzZXJ2ZXJEYXRhOwog
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlc2l6ZU9ic2VydmVyRGF0YT4gbV9yZXNpemVPYnNlcnZl
ckRhdGE7CisgICAgUmVmUHRyPFJlc2l6ZU9ic2VydmVyU2l6ZT4gbV9yZXNpemVPYnNlcnZlckxh
c3RSZW1lbWJlcmVkU2l6ZTsKIAogICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RWxlbWVudEFu
aW1hdGlvblJhcmVEYXRhPj4gbV9hbmltYXRpb25SYXJlRGF0YTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1Jlc2l6ZU9ic2VydmVyLmNwcAppbmRleCA0ZmZkNjlkMDM0NC4uZmZiYWU4NWNhNWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2ZXIuY3BwCkBAIC0xMjMsNiArMTIzLDI4IEBAIHNp
emVfdCBSZXNpemVPYnNlcnZlcjo6Z2F0aGVyT2JzZXJ2YXRpb25zKHNpemVfdCBkZWVwZXJUaGFu
KQogICAgIHJldHVybiBtaW5PYnNlcnZlZERlcHRoOwogfQogCit2b2lkIFJlc2l6ZU9ic2VydmVy
OjpoYW5kbGVMYXN0UmVtZW1iZXJlZFNpemUoY29uc3QgVmVjdG9yPFJlZjxSZXNpemVPYnNlcnZl
ckVudHJ5Pj4mIGVudHJpZXMpCit7CisgICAgZm9yIChhdXRvJiBlbnRyeSA6IGVudHJpZXMpIHsK
KyAgICAgICAgaWYgKGF1dG8qIHRhcmdldCA9IGVudHJ5LT50YXJnZXQoKSkgeworICAgICAgICAg
ICAgYXV0byogYm94ID0gdGFyZ2V0LT5yZW5kZXJCb3goKTsKKyAgICAgICAgICAgIGlmICghYm94
KQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBpZiAoIWJveC0+aGFz
QXV0b0NvbnRhaW5JbnRyaXNjU2l6ZSgpKSB7CisgICAgICAgICAgICAgICAgdGFyZ2V0LT5yZW1v
dmVSZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVkU2l6ZSgpOworICAgICAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoc2hvdWxkQXBwbHlTaXpl
Q29udGFpbm1lbnQoKmJveCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAg
ICAgIGF1dG8gY29udGVudEJveGVTaXplID0gZW50cnktPmNvbnRlbnRCb3hTaXplKCkuYXQoMCk7
CisgICAgICAgICAgICB0YXJnZXQtPnNhdmVSZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVkU2l6
ZShSZXNpemVPYnNlcnZlclNpemU6OmNyZWF0ZShjb250ZW50Qm94ZVNpemUtPmlubGluZVNpemUo
KSwgY29udGVudEJveGVTaXplLT5ibG9ja1NpemUoKSkpOworICAgICAgICB9CisgICAgfQorfQor
CiB2b2lkIFJlc2l6ZU9ic2VydmVyOjpkZWxpdmVyT2JzZXJ2YXRpb25zKCkKIHsKICAgICBhdXRv
IGVudHJpZXMgPSBtX2FjdGl2ZU9ic2VydmF0aW9ucy5tYXAoW10oYXV0byYgb2JzZXJ2YXRpb24p
IHsKQEAgLTE0NCw2ICsxNjYsOCBAQCB2b2lkIFJlc2l6ZU9ic2VydmVyOjpkZWxpdmVyT2JzZXJ2
YXRpb25zKCkKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxGaXJlT2JzZXJ2ZXJD
YWxsYmFjaygqY29udGV4dCwgIlJlc2l6ZU9ic2VydmVyIl9zKTsKICAgICBtX2NhbGxiYWNrLT5o
YW5kbGVFdmVudCgqdGhpcywgZW50cmllcywgKnRoaXMpOwogICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkRmlyZU9ic2VydmVyQ2FsbGJhY2soKmNvbnRleHQpOworCisgICAgaGFuZGxl
TGFzdFJlbWVtYmVyZWRTaXplKGVudHJpZXMpOwogfQogCiBib29sIFJlc2l6ZU9ic2VydmVyOjpp
c1JlYWNoYWJsZUZyb21PcGFxdWVSb290cyhKU0M6OkFic3RyYWN0U2xvdFZpc2l0b3ImIHZpc2l0
b3IpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmVyLmgKaW5kZXggYjVmYTI5MDc0
Y2UuLjg2NmYyZjE2NDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9i
c2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZlci5oCkBAIC02
NCw2ICs2NCw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBzaXplX3QgbWF4RWxlbWVudERlcHRo
KCkgeyByZXR1cm4gU0laRV9NQVg7IH0KICAgICBzaXplX3QgZ2F0aGVyT2JzZXJ2YXRpb25zKHNp
emVfdCBkZXB0aCk7CisgICAgdm9pZCBoYW5kbGVMYXN0UmVtZW1iZXJlZFNpemUoY29uc3QgVmVj
dG9yPFJlZjxSZXNpemVPYnNlcnZlckVudHJ5Pj4mKTsKICAgICB2b2lkIGRlbGl2ZXJPYnNlcnZh
dGlvbnMoKTsKICAgICBib29sIGhhc1NraXBwZWRPYnNlcnZhdGlvbnMoKSBjb25zdCB7IHJldHVy
biBtX2hhc1NraXBwZWRPYnNlcnZhdGlvbnM7IH0KICAgICB2b2lkIHNldEhhc1NraXBwZWRPYnNl
cnZhdGlvbnMoYm9vbCBza2lwcGVkKSB7IG1faGFzU2tpcHBlZE9ic2VydmF0aW9ucyA9IHNraXBw
ZWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggNTYzMjc3NmNh
NzIuLjAyNTBiMzYxYjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApA
QCAtNzIsNiArNzIsNyBAQAogI2luY2x1ZGUgIlJlbmRlclRhYmxlQ2VsbC5oIgogI2luY2x1ZGUg
IlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgorI2luY2x1ZGUgIlJlc2l6
ZU9ic2VydmVyU2l6ZS5oIgogI2luY2x1ZGUgIlJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIgog
I2luY2x1ZGUgIlNWR0NsaXBQYXRoRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0VsZW1lbnRUeXBl
SGVscGVycy5oIgpAQCAtNTUyNCw2ICs1NTI1LDE0IEBAIGJvb2wgUmVuZGVyQm94OjpoYXNFeHBs
aWNpdEludHJpbnNpY0lubmVyV2lkdGgoKSBjb25zdAogCiBMYXlvdXRVbml0IFJlbmRlckJveDo6
ZXhwbGljaXRJbnRyaW5zaWNJbm5lcldpZHRoKCkgY29uc3QKIHsKKyAgICAvLyBUT0RPOiBPbmx5
IHVzZSBsYXN0IHJlbWVtYmVyZWQgc2l6ZSB3aGVuIGNvbnRlbnQtdmlzaWJpbGl0eSBpcyBhdXRv
PworICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRzL2lzc3Vlcy82MzA4
CisgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvY29tbWl0LzZlYjZm
YWFjMDdmNDBhZTk0NGZkYTBhMGRhMjVlNGU1ZTUxYjMxNWUKKyAgICBpZiAoc3R5bGUoKS5jb250
YWluSW50cmluc2ljV2lkdGhUeXBlKCkgPT0gQ29udGFpbkludHJpbnNpY1NpemVUeXBlOjpBdXRv
QW5kTGVuZ3RoICYmIGVsZW1lbnQoKSkgeworICAgICAgICBpZiAoYXV0byBsYXN0UmVtZW1iZXJl
ZFNpemUgPSBlbGVtZW50KCktPnJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRTaXplKCkpCisg
ICAgICAgICAgICByZXR1cm4gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IExheW91dFVuaXQo
bGFzdFJlbWVtYmVyZWRTaXplLT5pbmxpbmVTaXplKCkpIDogTGF5b3V0VW5pdChsYXN0UmVtZW1i
ZXJlZFNpemUtPmJsb2NrU2l6ZSgpKTsKKyAgICB9CisKICAgICBhdXRvIHdpZHRoID0gc3R5bGUo
KS5jb250YWluSW50cmluc2ljV2lkdGgoKTsKICAgICBBU1NFUlQod2lkdGguaGFzX3ZhbHVlKCkp
OwogICAgIHJldHVybiBMYXlvdXRVbml0KHdpZHRoLnZhbHVlKCkudmFsdWUoKSk7CkBAIC01NTM5
LDkgKzU1NDgsMTkgQEAgYm9vbCBSZW5kZXJCb3g6Omhhc0V4cGxpY2l0SW50cmluc2ljSW5uZXJI
ZWlnaHQoKSBjb25zdAogCiBMYXlvdXRVbml0IFJlbmRlckJveDo6ZXhwbGljaXRJbnRyaW5zaWNJ
bm5lckhlaWdodCgpIGNvbnN0CiB7CisgICAgaWYgKHN0eWxlKCkuY29udGFpbkludHJpbnNpY1dp
ZHRoVHlwZSgpID09IENvbnRhaW5JbnRyaW5zaWNTaXplVHlwZTo6QXV0b0FuZExlbmd0aCAmJiBl
bGVtZW50KCkpIHsKKyAgICAgICAgaWYgKGF1dG8gbGFzdFJlbWVtYmVyZWRTaXplID0gZWxlbWVu
dCgpLT5yZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVkU2l6ZSgpKQorICAgICAgICAgICAgcmV0
dXJuIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBMYXlvdXRVbml0KGxhc3RSZW1lbWJlcmVk
U2l6ZS0+YmxvY2tTaXplKCkpIDogTGF5b3V0VW5pdChsYXN0UmVtZW1iZXJlZFNpemUtPmlubGlu
ZVNpemUoKSk7CisgICAgfQorCiAgICAgYXV0byBoZWlnaHQgPSBzdHlsZSgpLmNvbnRhaW5JbnRy
aW5zaWNIZWlnaHQoKTsKICAgICBBU1NFUlQoaGVpZ2h0Lmhhc192YWx1ZSgpKTsKICAgICByZXR1
cm4gTGF5b3V0VW5pdChoZWlnaHQudmFsdWUoKS52YWx1ZSgpKTsKIH0KIAorYm9vbCBSZW5kZXJC
b3g6Omhhc0F1dG9Db250YWluSW50cmlzY1NpemUoKSBjb25zdAoreworICAgIHJldHVybiBzdHls
ZSgpLmNvbnRhaW5JbnRyaW5zaWNXaWR0aFR5cGUoKSA9PSBDb250YWluSW50cmluc2ljU2l6ZVR5
cGU6OkF1dG9BbmRMZW5ndGggfHwgc3R5bGUoKS5jb250YWluSW50cmluc2ljSGVpZ2h0VHlwZSgp
ID09IENvbnRhaW5JbnRyaW5zaWNTaXplVHlwZTo6QXV0b0FuZExlbmd0aDsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCmluZGV4IGRm
MjAzMjAxODgxLi5iYjA0Y2NjZmE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
aApAQCAtNjcyLDYgKzY3Miw3IEBAIG92ZXJyaWRlOwogICAgIGJvb2wgaGFzRXhwbGljaXRJbnRy
aW5zaWNJbm5lckhlaWdodCgpIGNvbnN0OwogICAgIExheW91dFVuaXQgZXhwbGljaXRJbnRyaW5z
aWNJbm5lcldpZHRoKCkgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBleHBsaWNpdEludHJpbnNpY0lu
bmVySGVpZ2h0KCkgY29uc3Q7CisgICAgYm9vbCBoYXNBdXRvQ29udGFpbkludHJpc2NTaXplKCkg
Y29uc3Q7CiAKICAgICBib29sIGhhc0V4cGxpY2l0SW50cmluc2ljSW5uZXJMb2dpY2FsV2lkdGgo
KSBjb25zdAogICAgIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458578</attachid>
            <date>2022-04-29 03:05:04 -0700</date>
            <delta_ts>2022-10-31 12:13:58 -0700</delta_ts>
            <desc>WIP-patch</desc>
            <filename>contain-intrinsic-size-with-auto-003.diff</filename>
            <type>text/plain</type>
            <size>9917</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1zaXppbmcvY29udGFpbi1pbnRyaW5zaWMtc2l6ZS9hdXRvLTAwMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2l6aW5nL2NvbnRhaW4taW50cmluc2ljLXNpemUvYXV0by0wMDMtZXhwZWN0ZWQudHh0CmluZGV4
IGI3MGFlNjIzYzg1Li45MzExODlhNzc5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNp
Yy1zaXplL2F1dG8tMDAzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL2NvbnRhaW4taW50cmluc2ljLXNp
emUvYXV0by0wMDMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIGNvbnRhaW4t
aW50cmluc2ljLXNpemU6IGF1dG8gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgNTAgYnV0IGdvdCAx
CitQQVNTIGNvbnRhaW4taW50cmluc2ljLXNpemU6IGF1dG8KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CmluZGV4IGRkNDM3ZTA5OTA2Li5jZjk3MTg1ZjI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApA
QCAtNDExMSw2ICs0MTExLDI1IEBAIFJlc2l6ZU9ic2VydmVyRGF0YSogRWxlbWVudDo6cmVzaXpl
T2JzZXJ2ZXJEYXRhKCkKICAgICByZXR1cm4gaGFzUmFyZURhdGEoKSA/IGVsZW1lbnRSYXJlRGF0
YSgpLT5yZXNpemVPYnNlcnZlckRhdGEoKSA6IG51bGxwdHI7CiB9CiAKK3ZvaWQgRWxlbWVudDo6
c2F2ZVJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRTaXplKFJlZjxSZXNpemVPYnNlcnZlclNp
emU+JiYgc2l6ZSkKK3sKKyAgICBhdXRvJiByYXJlRGF0YSA9IGVuc3VyZUVsZW1lbnRSYXJlRGF0
YSgpOworICAgIHJhcmVEYXRhLnNldFJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRTaXplKFdU
Rk1vdmUoc2l6ZSkpOworfQorCit2b2lkIEVsZW1lbnQ6OnJlbW92ZVJlc2l6ZU9ic2VydmVyTGFz
dFJlbWVtYmVyZWRTaXplKCkKK3sKKyAgICBpZiAoIWhhc1JhcmVEYXRhKCkpCisgICAgICAgIHJl
dHVybjsKKyAgICBpZiAoZWxlbWVudFJhcmVEYXRhKCktPnJlc2l6ZU9ic2VydmVyTGFzdFJlbWVt
YmVyZWRTaXplKCkpCisgICAgICAgIGVsZW1lbnRSYXJlRGF0YSgpLT5zZXRSZXNpemVPYnNlcnZl
ckxhc3RSZW1lbWJlcmVkU2l6ZShSZWZQdHI8UmVzaXplT2JzZXJ2ZXJTaXplPigpKTsKK30KKwor
UmVzaXplT2JzZXJ2ZXJTaXplKiBFbGVtZW50OjpyZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVk
U2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1JhcmVEYXRhKCkgPyBlbGVtZW50UmFyZURh
dGEoKS0+cmVzaXplT2JzZXJ2ZXJMYXN0UmVtZW1iZXJlZFNpemUoKSA6IG51bGxwdHI7Cit9CisK
IGJvb2wgRWxlbWVudDo6aXNTcGVsbENoZWNraW5nRW5hYmxlZCgpIGNvbnN0CiB7CiAgICAgZm9y
IChhdXRvKiBhbmNlc3RvciA9IHRoaXM7IGFuY2VzdG9yOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5w
YXJlbnRPclNoYWRvd0hvc3RFbGVtZW50KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDljYWJl
M2FkY2Q3Li5mNzNmZDY0ODhkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC03MSw2ICs3MSw3IEBA
IGNsYXNzIFBsYXRmb3JtV2hlZWxFdmVudDsKIGNsYXNzIFBzZXVkb0VsZW1lbnQ7CiBjbGFzcyBS
ZW5kZXJTdHlsZTsKIGNsYXNzIFJlbmRlclRyZWVQb3NpdGlvbjsKK2NsYXNzIFJlc2l6ZU9ic2Vy
dmVyU2l6ZTsKIGNsYXNzIFNwYWNlU3BsaXRTdHJpbmc7CiBjbGFzcyBTdHlsZVByb3BlcnR5TWFw
OwogY2xhc3MgU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5OwpAQCAtNjQ4LDYgKzY0OSw5IEBAIHB1
YmxpYzoKIAogICAgIFJlc2l6ZU9ic2VydmVyRGF0YSYgZW5zdXJlUmVzaXplT2JzZXJ2ZXJEYXRh
KCk7CiAgICAgUmVzaXplT2JzZXJ2ZXJEYXRhKiByZXNpemVPYnNlcnZlckRhdGEoKTsKKyAgICB2
b2lkIHNhdmVSZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVkU2l6ZShSZWY8UmVzaXplT2JzZXJ2
ZXJTaXplPiYmKTsKKyAgICB2b2lkIHJlbW92ZVJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRT
aXplKCk7CisgICAgUmVzaXplT2JzZXJ2ZXJTaXplKiByZXNpemVPYnNlcnZlckxhc3RSZW1lbWJl
cmVkU2l6ZSgpIGNvbnN0OwogCiAgICAgRWxlbWVudCogZmluZEFuY2hvckVsZW1lbnRGb3JMaW5r
KFN0cmluZyYgb3V0QW5jaG9yTmFtZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50UmFyZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0
YS5jcHAKaW5kZXggOTRiOGE1ODU5ZjcuLmVlZDJjNzE1OWNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudFJhcmVEYXRhLmNwcApAQCAtNDIsNiArNDIsNyBAQCBzdHJ1Y3QgU2FtZVNpemVBc0Vs
ZW1lbnRSYXJlRGF0YSA6IE5vZGVSYXJlRGF0YSB7CiAgICAgdm9pZCogdHlwZWRPTURhdGFbMl07
CiAjZW5kaWYKICAgICB2b2lkKiByZXNpemVPYnNlcnZlckRhdGE7CisgICAgdm9pZCogcmVzaXpl
T2JzZXJ2ZXJTaXplOwogfTsKIAogc3RhdGljX2Fzc2VydChzaXplb2YoRWxlbWVudFJhcmVEYXRh
KSA9PSBzaXplb2YoU2FtZVNpemVBc0VsZW1lbnRSYXJlRGF0YSksICJFbGVtZW50UmFyZURhdGEg
c2hvdWxkIHN0YXkgc21hbGwiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50UmFyZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAppbmRl
eCBkNzZiY2M0NDRjZS4uODA0YTdmNjY1YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50UmFyZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVE
YXRhLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJQc2V1ZG9FbGVtZW50LmgiCiAjaW5j
bHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlJlc2l6ZU9ic2VydmVyLmgiCisjaW5j
bHVkZSAiUmVzaXplT2JzZXJ2ZXJTaXplLmgiCiAjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgogI2lu
Y2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5TWFwLmgi
CkBAIC05Niw2ICs5Nyw5IEBAIHB1YmxpYzoKICAgICBSZXNpemVPYnNlcnZlckRhdGEqIHJlc2l6
ZU9ic2VydmVyRGF0YSgpIHsgcmV0dXJuIG1fcmVzaXplT2JzZXJ2ZXJEYXRhLmdldCgpOyB9CiAg
ICAgdm9pZCBzZXRSZXNpemVPYnNlcnZlckRhdGEoc3RkOjp1bmlxdWVfcHRyPFJlc2l6ZU9ic2Vy
dmVyRGF0YT4mJiBkYXRhKSB7IG1fcmVzaXplT2JzZXJ2ZXJEYXRhID0gV1RGTW92ZShkYXRhKTsg
fQogCisgICAgUmVzaXplT2JzZXJ2ZXJTaXplKiByZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVk
U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzaXplT2JzZXJ2ZXJMYXN0UmVtZW1iZXJlZFNpemUu
Z2V0KCk7IH0KKyAgICB2b2lkIHNldFJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRTaXplKFJl
ZlB0cjxSZXNpemVPYnNlcnZlclNpemU+JiYgc2l6ZSkgeyBtX3Jlc2l6ZU9ic2VydmVyTGFzdFJl
bWVtYmVyZWRTaXplID0gV1RGTW92ZShzaXplKTsgfQorCiAgICAgY29uc3QgQXRvbVN0cmluZyYg
bm9uY2UoKSBjb25zdCB7IHJldHVybiBtX25vbmNlOyB9CiAgICAgdm9pZCBzZXROb25jZShjb25z
dCBBdG9tU3RyaW5nJiB2YWx1ZSkgeyBtX25vbmNlID0gdmFsdWU7IH0KIApAQCAtMTI5LDcgKzEz
Myw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlwZTo6QXR0cmlidXRl
TWFwKTsKICAgICAgICAgaWYgKG1faW50ZXJzZWN0aW9uT2JzZXJ2ZXJEYXRhKQogICAgICAgICAg
ICAgcmVzdWx0LmFkZChVc2VUeXBlOjpJbnRlcmFjdGlvbk9ic2VydmVyKTsKLSAgICAgICAgaWYg
KG1fcmVzaXplT2JzZXJ2ZXJEYXRhKQorICAgICAgICBpZiAobV9yZXNpemVPYnNlcnZlckRhdGEg
fHwgbV9yZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVkU2l6ZSkKICAgICAgICAgICAgIHJlc3Vs
dC5hZGQoVXNlVHlwZTo6UmVzaXplT2JzZXJ2ZXIpOwogICAgICAgICBpZiAoIW1fYW5pbWF0aW9u
UmFyZURhdGEuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmVzdWx0LmFkZChVc2VUeXBlOjpBbmlt
YXRpb25zKTsKQEAgLTE2NCw2ICsxNjgsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0
cjxJbnRlcnNlY3Rpb25PYnNlcnZlckRhdGE+IG1faW50ZXJzZWN0aW9uT2JzZXJ2ZXJEYXRhOwog
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlc2l6ZU9ic2VydmVyRGF0YT4gbV9yZXNpemVPYnNlcnZl
ckRhdGE7CisgICAgUmVmUHRyPFJlc2l6ZU9ic2VydmVyU2l6ZT4gbV9yZXNpemVPYnNlcnZlckxh
c3RSZW1lbWJlcmVkU2l6ZTsKIAogICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8RWxlbWVudEFu
aW1hdGlvblJhcmVEYXRhPj4gbV9hbmltYXRpb25SYXJlRGF0YTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1Jlc2l6ZU9ic2VydmVyLmNwcAppbmRleCA0ZmZkNjlkMDM0NC4uZmZiYWU4NWNhNWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2ZXIuY3BwCkBAIC0xMjMsNiArMTIzLDI4IEBAIHNp
emVfdCBSZXNpemVPYnNlcnZlcjo6Z2F0aGVyT2JzZXJ2YXRpb25zKHNpemVfdCBkZWVwZXJUaGFu
KQogICAgIHJldHVybiBtaW5PYnNlcnZlZERlcHRoOwogfQogCit2b2lkIFJlc2l6ZU9ic2VydmVy
OjpoYW5kbGVMYXN0UmVtZW1iZXJlZFNpemUoY29uc3QgVmVjdG9yPFJlZjxSZXNpemVPYnNlcnZl
ckVudHJ5Pj4mIGVudHJpZXMpCit7CisgICAgZm9yIChhdXRvJiBlbnRyeSA6IGVudHJpZXMpIHsK
KyAgICAgICAgaWYgKGF1dG8qIHRhcmdldCA9IGVudHJ5LT50YXJnZXQoKSkgeworICAgICAgICAg
ICAgYXV0byogYm94ID0gdGFyZ2V0LT5yZW5kZXJCb3goKTsKKyAgICAgICAgICAgIGlmICghYm94
KQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBpZiAoIWJveC0+aGFz
QXV0b0NvbnRhaW5JbnRyaXNjU2l6ZSgpKSB7CisgICAgICAgICAgICAgICAgdGFyZ2V0LT5yZW1v
dmVSZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVkU2l6ZSgpOworICAgICAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoc2hvdWxkQXBwbHlTaXpl
Q29udGFpbm1lbnQoKmJveCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAg
ICAgIGF1dG8gY29udGVudEJveGVTaXplID0gZW50cnktPmNvbnRlbnRCb3hTaXplKCkuYXQoMCk7
CisgICAgICAgICAgICB0YXJnZXQtPnNhdmVSZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVkU2l6
ZShSZXNpemVPYnNlcnZlclNpemU6OmNyZWF0ZShjb250ZW50Qm94ZVNpemUtPmlubGluZVNpemUo
KSwgY29udGVudEJveGVTaXplLT5ibG9ja1NpemUoKSkpOworICAgICAgICB9CisgICAgfQorfQor
CiB2b2lkIFJlc2l6ZU9ic2VydmVyOjpkZWxpdmVyT2JzZXJ2YXRpb25zKCkKIHsKICAgICBhdXRv
IGVudHJpZXMgPSBtX2FjdGl2ZU9ic2VydmF0aW9ucy5tYXAoW10oYXV0byYgb2JzZXJ2YXRpb24p
IHsKQEAgLTE0NCw2ICsxNjYsOCBAQCB2b2lkIFJlc2l6ZU9ic2VydmVyOjpkZWxpdmVyT2JzZXJ2
YXRpb25zKCkKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxGaXJlT2JzZXJ2ZXJD
YWxsYmFjaygqY29udGV4dCwgIlJlc2l6ZU9ic2VydmVyIl9zKTsKICAgICBtX2NhbGxiYWNrLT5o
YW5kbGVFdmVudCgqdGhpcywgZW50cmllcywgKnRoaXMpOwogICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkRmlyZU9ic2VydmVyQ2FsbGJhY2soKmNvbnRleHQpOworCisgICAgaGFuZGxl
TGFzdFJlbWVtYmVyZWRTaXplKGVudHJpZXMpOwogfQogCiBib29sIFJlc2l6ZU9ic2VydmVyOjpp
c1JlYWNoYWJsZUZyb21PcGFxdWVSb290cyhKU0M6OkFic3RyYWN0U2xvdFZpc2l0b3ImIHZpc2l0
b3IpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmVyLmgKaW5kZXggYjVmYTI5MDc0
Y2UuLjg2NmYyZjE2NDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9i
c2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZlci5oCkBAIC02
NCw2ICs2NCw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBzaXplX3QgbWF4RWxlbWVudERlcHRo
KCkgeyByZXR1cm4gU0laRV9NQVg7IH0KICAgICBzaXplX3QgZ2F0aGVyT2JzZXJ2YXRpb25zKHNp
emVfdCBkZXB0aCk7CisgICAgdm9pZCBoYW5kbGVMYXN0UmVtZW1iZXJlZFNpemUoY29uc3QgVmVj
dG9yPFJlZjxSZXNpemVPYnNlcnZlckVudHJ5Pj4mKTsKICAgICB2b2lkIGRlbGl2ZXJPYnNlcnZh
dGlvbnMoKTsKICAgICBib29sIGhhc1NraXBwZWRPYnNlcnZhdGlvbnMoKSBjb25zdCB7IHJldHVy
biBtX2hhc1NraXBwZWRPYnNlcnZhdGlvbnM7IH0KICAgICB2b2lkIHNldEhhc1NraXBwZWRPYnNl
cnZhdGlvbnMoYm9vbCBza2lwcGVkKSB7IG1faGFzU2tpcHBlZE9ic2VydmF0aW9ucyA9IHNraXBw
ZWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggYzU1OTY3MjY5
ODEuLjJkNjhkOTAwNjk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApA
QCAtNzIsNiArNzIsNyBAQAogI2luY2x1ZGUgIlJlbmRlclRhYmxlQ2VsbC5oIgogI2luY2x1ZGUg
IlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgorI2luY2x1ZGUgIlJlc2l6
ZU9ic2VydmVyU2l6ZS5oIgogI2luY2x1ZGUgIlJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIgog
I2luY2x1ZGUgIlNWR0NsaXBQYXRoRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0VsZW1lbnRUeXBl
SGVscGVycy5oIgpAQCAtNTUzMCw2ICs1NTMxLDE0IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5p
dD4gUmVuZGVyQm94OjpleHBsaWNpdEludHJpbnNpY0lubmVyV2lkdGgoKSBjb25zdAogICAgIGlm
ICghaGFzRXhwbGljaXRJbnRyaW5zaWNJbm5lcldpZHRoKCkpCiAgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CiAKKyAgICAvLyBUT0RPOiBPbmx5IHVzZSBsYXN0IHJlbWVtYmVyZWQgc2l6ZSB3
aGVuIGNvbnRlbnQtdmlzaWJpbGl0eSBpcyBhdXRvPworICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNv
bS93M2MvY3Nzd2ctZHJhZnRzL2lzc3Vlcy82MzA4CisgICAgLy8gaHR0cHM6Ly9naXRodWIuY29t
L3czYy9jc3N3Zy1kcmFmdHMvY29tbWl0LzZlYjZmYWFjMDdmNDBhZTk0NGZkYTBhMGRhMjVlNGU1
ZTUxYjMxNWUKKyAgICBpZiAoZWxlbWVudCgpICYmIHN0eWxlKCkuY29udGFpbkludHJpbnNpY1dp
ZHRoVHlwZSgpID09IENvbnRhaW5JbnRyaW5zaWNTaXplVHlwZTo6QXV0b0FuZExlbmd0aCkgewor
ICAgICAgICBpZiAoYXV0byBsYXN0UmVtZW1iZXJlZFNpemUgPSBlbGVtZW50KCktPnJlc2l6ZU9i
c2VydmVyTGFzdFJlbWVtYmVyZWRTaXplKCkpCisgICAgICAgICAgICByZXR1cm4gaXNIb3Jpem9u
dGFsV3JpdGluZ01vZGUoKSA/IExheW91dFVuaXQobGFzdFJlbWVtYmVyZWRTaXplLT5pbmxpbmVT
aXplKCkpIDogTGF5b3V0VW5pdChsYXN0UmVtZW1iZXJlZFNpemUtPmJsb2NrU2l6ZSgpKTsKKyAg
ICB9CisKICAgICBhdXRvIHdpZHRoID0gc3R5bGUoKS5jb250YWluSW50cmluc2ljV2lkdGgoKTsK
ICAgICBBU1NFUlQod2lkdGguaGFzX3ZhbHVlKCkpOwogICAgIHJldHVybiBzdGQ6Om9wdGlvbmFs
PExheW91dFVuaXQ+KHdpZHRoLnZhbHVlKCkudmFsdWUoKSk7CkBAIC01NTQ2LDkgKzU1NTUsMTkg
QEAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBSZW5kZXJCb3g6OmV4cGxpY2l0SW50cmluc2lj
SW5uZXJIZWlnaHQoKSBjb25zdAogICAgIGlmICghaGFzRXhwbGljaXRJbnRyaW5zaWNJbm5lckhl
aWdodCgpKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCisgICAgaWYgKHN0eWxlKCku
Y29udGFpbkludHJpbnNpY1dpZHRoVHlwZSgpID09IENvbnRhaW5JbnRyaW5zaWNTaXplVHlwZTo6
QXV0b0FuZExlbmd0aCAmJiBlbGVtZW50KCkpIHsKKyAgICAgICAgaWYgKGF1dG8gbGFzdFJlbWVt
YmVyZWRTaXplID0gZWxlbWVudCgpLT5yZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVkU2l6ZSgp
KQorICAgICAgICAgICAgcmV0dXJuIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBMYXlvdXRV
bml0KGxhc3RSZW1lbWJlcmVkU2l6ZS0+YmxvY2tTaXplKCkpIDogTGF5b3V0VW5pdChsYXN0UmVt
ZW1iZXJlZFNpemUtPmlubGluZVNpemUoKSk7CisgICAgfQorCiAgICAgYXV0byBoZWlnaHQgPSBz
dHlsZSgpLmNvbnRhaW5JbnRyaW5zaWNIZWlnaHQoKTsKICAgICBBU1NFUlQoaGVpZ2h0Lmhhc192
YWx1ZSgpKTsKICAgICByZXR1cm4gc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PihoZWlnaHQudmFs
dWUoKS52YWx1ZSgpKTsKIH0KIAorYm9vbCBSZW5kZXJCb3g6Omhhc0F1dG9Db250YWluSW50cmlz
Y1NpemUoKSBjb25zdAoreworICAgIHJldHVybiBzdHlsZSgpLmNvbnRhaW5JbnRyaW5zaWNXaWR0
aFR5cGUoKSA9PSBDb250YWluSW50cmluc2ljU2l6ZVR5cGU6OkF1dG9BbmRMZW5ndGggfHwgc3R5
bGUoKS5jb250YWluSW50cmluc2ljSGVpZ2h0VHlwZSgpID09IENvbnRhaW5JbnRyaW5zaWNTaXpl
VHlwZTo6QXV0b0FuZExlbmd0aDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCmluZGV4IGI0YjdlZTc4MDg1Li5jZTBkNGUxYTJiMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaApAQCAtNjcwLDYgKzY3MCw3IEBAIG92
ZXJyaWRlOwogICAgIC8vIFRoZSBleHBsaWNpdCBpbnRyaW5zaWMgaW5uZXIgc2l6ZSBvZiBjb250
YWluLWludHJpbnNpYy1zaXplCiAgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBleHBsaWNp
dEludHJpbnNpY0lubmVyV2lkdGgoKSBjb25zdDsKICAgICBzdGQ6Om9wdGlvbmFsPExheW91dFVu
aXQ+IGV4cGxpY2l0SW50cmluc2ljSW5uZXJIZWlnaHQoKSBjb25zdDsKKyAgICBib29sIGhhc0F1
dG9Db250YWluSW50cmlzY1NpemUoKSBjb25zdDsKIAogICAgIHN0ZDo6b3B0aW9uYWw8TGF5b3V0
VW5pdD4gZXhwbGljaXRJbnRyaW5zaWNJbm5lckxvZ2ljYWxXaWR0aCgpIGNvbnN0CiAgICAgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463327</attachid>
            <date>2022-10-31 12:13:58 -0700</date>
            <delta_ts>2022-11-23 10:48:48 -0800</delta_ts>
            <desc>WIP-patch</desc>
            <filename>cis-auto-002.diff</filename>
            <type>text/plain</type>
            <size>10580</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1zaXppbmcvY29udGFpbi1pbnRyaW5zaWMtc2l6ZS9hdXRvLTAwMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2l6aW5nL2NvbnRhaW4taW50cmluc2ljLXNpemUvYXV0by0wMDMtZXhwZWN0ZWQudHh0CmluZGV4
IGI3MGFlNjIzYzg1NC4uOTMxMTg5YTc3OTQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL2NvbnRhaW4taW50cmlu
c2ljLXNpemUvYXV0by0wMDMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaXppbmcvY29udGFpbi1pbnRyaW5zaWMt
c2l6ZS9hdXRvLTAwMy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgY29udGFp
bi1pbnRyaW5zaWMtc2l6ZTogYXV0byBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCA1MCBidXQgZ290
IDEKK1BBU1MgY29udGFpbi1pbnRyaW5zaWMtc2l6ZTogYXV0bwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL2Nv
bnRhaW4taW50cmluc2ljLXNpemUvYXV0by0wMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWlu
dHJpbnNpYy1zaXplL2F1dG8tMDA1LWV4cGVjdGVkLnR4dAppbmRleCA3ZmM0ZjY1YWVkY2IuLjRj
MzI2MGFlMzhjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNpYy1zaXplL2F1dG8tMDA1
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL2NvbnRhaW4taW50cmluc2ljLXNpemUvYXV0by0wMDUtZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotMQorNTAKIAotRkFJTCBjb250YWluLWludHJpbnNp
Yy1zaXplOiBhdXRvIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDUwIGJ1dCBnb3QgMQorUEFTUyBj
b250YWluLWludHJpbnNpYy1zaXplOiBhdXRvCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA2
OWRlMmIyMmUzMTIuLjVhMjFiNGZlMmZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtNDMy
Nyw2ICs0MzI3LDI1IEBAIFJlc2l6ZU9ic2VydmVyRGF0YSogRWxlbWVudDo6cmVzaXplT2JzZXJ2
ZXJEYXRhKCkKICAgICByZXR1cm4gaGFzUmFyZURhdGEoKSA/IGVsZW1lbnRSYXJlRGF0YSgpLT5y
ZXNpemVPYnNlcnZlckRhdGEoKSA6IG51bGxwdHI7CiB9CiAKK3ZvaWQgRWxlbWVudDo6c2F2ZVJl
c2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRTaXplKFJlZjxSZXNpemVPYnNlcnZlclNpemU+JiYg
c2l6ZSkKK3sKKyAgICBhdXRvJiByYXJlRGF0YSA9IGVuc3VyZUVsZW1lbnRSYXJlRGF0YSgpOwor
ICAgIHJhcmVEYXRhLnNldFJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRTaXplKFdURk1vdmUo
c2l6ZSkpOworfQorCit2b2lkIEVsZW1lbnQ6OnJlbW92ZVJlc2l6ZU9ic2VydmVyTGFzdFJlbWVt
YmVyZWRTaXplKCkKK3sKKyAgICBpZiAoIWhhc1JhcmVEYXRhKCkpCisgICAgICAgIHJldHVybjsK
KyAgICBpZiAoZWxlbWVudFJhcmVEYXRhKCktPnJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRT
aXplKCkpCisgICAgICAgIGVsZW1lbnRSYXJlRGF0YSgpLT5zZXRSZXNpemVPYnNlcnZlckxhc3RS
ZW1lbWJlcmVkU2l6ZShSZWZQdHI8UmVzaXplT2JzZXJ2ZXJTaXplPigpKTsKK30KKworUmVzaXpl
T2JzZXJ2ZXJTaXplKiBFbGVtZW50OjpyZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVkU2l6ZSgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1JhcmVEYXRhKCkgPyBlbGVtZW50UmFyZURhdGEoKS0+
cmVzaXplT2JzZXJ2ZXJMYXN0UmVtZW1iZXJlZFNpemUoKSA6IG51bGxwdHI7Cit9CisKIGJvb2wg
RWxlbWVudDo6aXNTcGVsbENoZWNraW5nRW5hYmxlZCgpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRv
KiBhbmNlc3RvciA9IHRoaXM7IGFuY2VzdG9yOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnRP
clNoYWRvd0hvc3RFbGVtZW50KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDM1NGQwYzk4NDkz
Zi4uZTM4MmMwMTEyMGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTczLDYgKzczLDcgQEAgY2xh
c3MgUGxhdGZvcm1XaGVlbEV2ZW50OwogY2xhc3MgUHNldWRvRWxlbWVudDsKIGNsYXNzIFJlbmRl
clN0eWxlOwogY2xhc3MgUmVuZGVyVHJlZVBvc2l0aW9uOworY2xhc3MgUmVzaXplT2JzZXJ2ZXJT
aXplOwogY2xhc3MgU3BhY2VTcGxpdFN0cmluZzsKIGNsYXNzIFN0eWxlUHJvcGVydHlNYXA7CiBj
bGFzcyBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHk7CkBAIC02NzgsNiArNjc5LDkgQEAgcHVibGlj
OgogCiAgICAgUmVzaXplT2JzZXJ2ZXJEYXRhJiBlbnN1cmVSZXNpemVPYnNlcnZlckRhdGEoKTsK
ICAgICBSZXNpemVPYnNlcnZlckRhdGEqIHJlc2l6ZU9ic2VydmVyRGF0YSgpOworICAgIHZvaWQg
c2F2ZVJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRTaXplKFJlZjxSZXNpemVPYnNlcnZlclNp
emU+JiYpOworICAgIHZvaWQgcmVtb3ZlUmVzaXplT2JzZXJ2ZXJMYXN0UmVtZW1iZXJlZFNpemUo
KTsKKyAgICBSZXNpemVPYnNlcnZlclNpemUqIHJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRT
aXplKCkgY29uc3Q7CiAKICAgICBFbGVtZW50KiBmaW5kQW5jaG9yRWxlbWVudEZvckxpbmsoU3Ry
aW5nJiBvdXRBbmNob3JOYW1lKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnRSYXJlRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNw
cAppbmRleCA5OTk4ZmE5YTA4MmQuLjg2MWMzNTU0ZDRiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnRSYXJlRGF0YS5jcHAKQEAgLTQwLDYgKzQwLDcgQEAgc3RydWN0IFNhbWVTaXplQXNFbGVt
ZW50UmFyZURhdGEgOiBOb2RlUmFyZURhdGEgewogICAgIHZvaWQqIGludGVyc2VjdGlvbk9ic2Vy
dmVyRGF0YTsKICAgICB2b2lkKiB0eXBlZE9NRGF0YVsyXTsKICAgICB2b2lkKiByZXNpemVPYnNl
cnZlckRhdGE7CisgICAgdm9pZCogcmVzaXplT2JzZXJ2ZXJTaXplOwogICAgIEV4cGxpY2l0bHlT
ZXRBdHRyRWxlbWVudHNNYXAgZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcDsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAppbmRleCBkYzk2OWI2YTYwYmIuLjQ3ZTc3YTI5
NmY5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaApAQCAtMzMsNiArMzMsNyBA
QAogI2luY2x1ZGUgIlBzZXVkb0VsZW1lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiUmVzaXplT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJSZXNpemVPYnNlcnZlclNp
emUuaCIKICNpbmNsdWRlICJTaGFkb3dSb290LmgiCiAjaW5jbHVkZSAiU3BhY2VTcGxpdFN0cmlu
Zy5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlNYXAuaCIKQEAgLTEwMyw2ICsxMDQsOSBAQCBw
dWJsaWM6CiAgICAgUmVzaXplT2JzZXJ2ZXJEYXRhKiByZXNpemVPYnNlcnZlckRhdGEoKSB7IHJl
dHVybiBtX3Jlc2l6ZU9ic2VydmVyRGF0YS5nZXQoKTsgfQogICAgIHZvaWQgc2V0UmVzaXplT2Jz
ZXJ2ZXJEYXRhKHN0ZDo6dW5pcXVlX3B0cjxSZXNpemVPYnNlcnZlckRhdGE+JiYgZGF0YSkgeyBt
X3Jlc2l6ZU9ic2VydmVyRGF0YSA9IFdURk1vdmUoZGF0YSk7IH0KIAorICAgIFJlc2l6ZU9ic2Vy
dmVyU2l6ZSogcmVzaXplT2JzZXJ2ZXJMYXN0UmVtZW1iZXJlZFNpemUoKSBjb25zdCB7IHJldHVy
biBtX3Jlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRTaXplLmdldCgpOyB9CisgICAgdm9pZCBz
ZXRSZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVkU2l6ZShSZWZQdHI8UmVzaXplT2JzZXJ2ZXJT
aXplPiYmIHNpemUpIHsgbV9yZXNpemVPYnNlcnZlckxhc3RSZW1lbWJlcmVkU2l6ZSA9IFdURk1v
dmUoc2l6ZSk7IH0KKwogICAgIGNvbnN0IEF0b21TdHJpbmcmIG5vbmNlKCkgY29uc3QgeyByZXR1
cm4gbV9ub25jZTsgfQogICAgIHZvaWQgc2V0Tm9uY2UoY29uc3QgQXRvbVN0cmluZyYgdmFsdWUp
IHsgbV9ub25jZSA9IHZhbHVlOyB9CiAKQEAgLTE0MCw3ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICByZXN1bHQuYWRkKFVzZVR5cGU6OkF0dHJpYnV0ZU1hcCk7CiAgICAgICAgIGlmICht
X2ludGVyc2VjdGlvbk9ic2VydmVyRGF0YSkKICAgICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlw
ZTo6SW50ZXJhY3Rpb25PYnNlcnZlcik7Ci0gICAgICAgIGlmIChtX3Jlc2l6ZU9ic2VydmVyRGF0
YSkKKyAgICAgICAgaWYgKG1fcmVzaXplT2JzZXJ2ZXJEYXRhIHx8IG1fcmVzaXplT2JzZXJ2ZXJM
YXN0UmVtZW1iZXJlZFNpemUpCiAgICAgICAgICAgICByZXN1bHQuYWRkKFVzZVR5cGU6OlJlc2l6
ZU9ic2VydmVyKTsKICAgICAgICAgaWYgKCFtX2FuaW1hdGlvblJhcmVEYXRhLmlzRW1wdHkoKSkK
ICAgICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlwZTo6QW5pbWF0aW9ucyk7CkBAIC0xNzcsNiAr
MTgxLDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW50ZXJzZWN0aW9uT2JzZXJ2
ZXJEYXRhPiBtX2ludGVyc2VjdGlvbk9ic2VydmVyRGF0YTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0
cjxSZXNpemVPYnNlcnZlckRhdGE+IG1fcmVzaXplT2JzZXJ2ZXJEYXRhOworICAgIFJlZlB0cjxS
ZXNpemVPYnNlcnZlclNpemU+IG1fcmVzaXplT2JzZXJ2ZXJMYXN0UmVtZW1iZXJlZFNpemU7CiAK
ICAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEVsZW1lbnRBbmltYXRpb25SYXJlRGF0YT4+IG1f
YW5pbWF0aW9uUmFyZURhdGE7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVz
aXplT2JzZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZlci5jcHAK
aW5kZXggMTI1ODQ2YTViMzA1Li43MGViYTQyN2M0ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUmVzaXplT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVz
aXplT2JzZXJ2ZXIuY3BwCkBAIC0xMzAsNiArMTMwLDI4IEBAIHNpemVfdCBSZXNpemVPYnNlcnZl
cjo6Z2F0aGVyT2JzZXJ2YXRpb25zKHNpemVfdCBkZWVwZXJUaGFuKQogICAgIHJldHVybiBtaW5P
YnNlcnZlZERlcHRoOwogfQogCit2b2lkIFJlc2l6ZU9ic2VydmVyOjpoYW5kbGVMYXN0UmVtZW1i
ZXJlZFNpemUoY29uc3QgVmVjdG9yPFJlZjxSZXNpemVPYnNlcnZlckVudHJ5Pj4mIGVudHJpZXMp
Cit7CisgICAgZm9yIChhdXRvJiBlbnRyeSA6IGVudHJpZXMpIHsKKyAgICAgICAgaWYgKGF1dG8q
IHRhcmdldCA9IGVudHJ5LT50YXJnZXQoKSkgeworICAgICAgICAgICAgYXV0byogYm94ID0gdGFy
Z2V0LT5yZW5kZXJCb3goKTsKKyAgICAgICAgICAgIGlmICghYm94KQorICAgICAgICAgICAgICAg
IGNvbnRpbnVlOworCisgICAgICAgICAgICBpZiAoIWJveC0+aGFzQXV0b0NvbnRhaW5JbnRyaXNj
U2l6ZSgpKSB7CisgICAgICAgICAgICAgICAgdGFyZ2V0LT5yZW1vdmVSZXNpemVPYnNlcnZlckxh
c3RSZW1lbWJlcmVkU2l6ZSgpOworICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBpZiAoYm94LT5zaG91bGRBcHBseVNpemVDb250YWlubWVudCgp
KQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBhdXRvIGNvbnRlbnRC
b3hlU2l6ZSA9IGVudHJ5LT5jb250ZW50Qm94U2l6ZSgpLmF0KDApOworICAgICAgICAgICAgdGFy
Z2V0LT5zYXZlUmVzaXplT2JzZXJ2ZXJMYXN0UmVtZW1iZXJlZFNpemUoUmVzaXplT2JzZXJ2ZXJT
aXplOjpjcmVhdGUoY29udGVudEJveGVTaXplLT5pbmxpbmVTaXplKCksIGNvbnRlbnRCb3hlU2l6
ZS0+YmxvY2tTaXplKCkpKTsKKyAgICAgICAgfQorICAgIH0KK30KKwogdm9pZCBSZXNpemVPYnNl
cnZlcjo6ZGVsaXZlck9ic2VydmF0aW9ucygpCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFJlc2l6
ZU9ic2VydmVyLCBzdHJlYW0gPDwgIlJlc2l6ZU9ic2VydmVyICIgPDwgdGhpcyA8PCAiIGRlbGl2
ZXJPYnNlcnZhdGlvbnMiKTsKQEAgLTE1Myw2ICsxNzUsOCBAQCB2b2lkIFJlc2l6ZU9ic2VydmVy
OjpkZWxpdmVyT2JzZXJ2YXRpb25zKCkKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Ondp
bGxGaXJlT2JzZXJ2ZXJDYWxsYmFjaygqY29udGV4dCwgIlJlc2l6ZU9ic2VydmVyIl9zKTsKICAg
ICBtX2NhbGxiYWNrLT5oYW5kbGVFdmVudCgqdGhpcywgZW50cmllcywgKnRoaXMpOwogICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmlyZU9ic2VydmVyQ2FsbGJhY2soKmNvbnRleHQp
OworCisgICAgaGFuZGxlTGFzdFJlbWVtYmVyZWRTaXplKGVudHJpZXMpOwogfQogCiBib29sIFJl
c2l6ZU9ic2VydmVyOjppc1JlYWNoYWJsZUZyb21PcGFxdWVSb290cyhKU0M6OkFic3RyYWN0U2xv
dFZpc2l0b3ImIHZpc2l0b3IpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1Jlc2l6ZU9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmVyLmgK
aW5kZXggYzgyYjA5OGUzNjQ0Li43ZmQ4YWMzODU1NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUmVzaXplT2JzZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6
ZU9ic2VydmVyLmgKQEAgLTY0LDYgKzY0LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHNpemVf
dCBtYXhFbGVtZW50RGVwdGgoKSB7IHJldHVybiBTSVpFX01BWDsgfQogICAgIHNpemVfdCBnYXRo
ZXJPYnNlcnZhdGlvbnMoc2l6ZV90IGRlcHRoKTsKKyAgICB2b2lkIGhhbmRsZUxhc3RSZW1lbWJl
cmVkU2l6ZShjb25zdCBWZWN0b3I8UmVmPFJlc2l6ZU9ic2VydmVyRW50cnk+PiYpOwogICAgIHZv
aWQgZGVsaXZlck9ic2VydmF0aW9ucygpOwogICAgIGJvb2wgaGFzU2tpcHBlZE9ic2VydmF0aW9u
cygpIGNvbnN0IHsgcmV0dXJuIG1faGFzU2tpcHBlZE9ic2VydmF0aW9uczsgfQogICAgIHZvaWQg
c2V0SGFzU2tpcHBlZE9ic2VydmF0aW9ucyhib29sIHNraXBwZWQpIHsgbV9oYXNTa2lwcGVkT2Jz
ZXJ2YXRpb25zID0gc2tpcHBlZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cAppbmRleCA4NDlhM2ZiNDkyMTUuLjljNGE1YTdkZDRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAKQEAgLTc0LDYgKzc0LDcgQEAKICNpbmNsdWRlICJSZW5kZXJUYWJs
ZUNlbGwuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcu
aCIKKyNpbmNsdWRlICJSZXNpemVPYnNlcnZlclNpemUuaCIKICNpbmNsdWRlICJSdW50aW1lQXBw
bGljYXRpb25DaGVja3MuaCIKICNpbmNsdWRlICJTVkdDbGlwUGF0aEVsZW1lbnQuaCIKICNpbmNs
dWRlICJTVkdFbGVtZW50VHlwZUhlbHBlcnMuaCIKQEAgLTU1ODAsNiArNTU4MSwxMiBAQCBzdGQ6
Om9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlckJveDo6ZXhwbGljaXRJbnRyaW5zaWNJbm5lcldp
ZHRoKCkgY29uc3QKICAgICBpZiAoc3R5bGUoKS5jb250YWluSW50cmluc2ljV2lkdGhUeXBlKCkg
PT0gQ29udGFpbkludHJpbnNpY1NpemVUeXBlOjpOb25lKQogICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OwogCisgICAgLy8gVE9ETzogT25seSB1c2UgbGFzdCByZW1lbWJlcmVkIHNpemUgd2hl
biBpdCBpcyBjdXJyZW50bHkgc2tpcHBpbmcgaXRzIGNvbnRlbnRzLgorICAgIGlmIChlbGVtZW50
KCkgJiYgc3R5bGUoKS5jb250YWluSW50cmluc2ljV2lkdGhUeXBlKCkgPT0gQ29udGFpbkludHJp
bnNpY1NpemVUeXBlOjpBdXRvQW5kTGVuZ3RoKSB7CisgICAgICAgIGlmIChhdXRvIGxhc3RSZW1l
bWJlcmVkU2l6ZSA9IGVsZW1lbnQoKS0+cmVzaXplT2JzZXJ2ZXJMYXN0UmVtZW1iZXJlZFNpemUo
KSkKKyAgICAgICAgICAgIHJldHVybiBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gTGF5b3V0
VW5pdChsYXN0UmVtZW1iZXJlZFNpemUtPmlubGluZVNpemUoKSkgOiBMYXlvdXRVbml0KGxhc3RS
ZW1lbWJlcmVkU2l6ZS0+YmxvY2tTaXplKCkpOworICAgIH0KKwogICAgIGF1dG8gd2lkdGggPSBz
dHlsZSgpLmNvbnRhaW5JbnRyaW5zaWNXaWR0aCgpOwogICAgIEFTU0VSVCh3aWR0aC5oYXNfdmFs
dWUoKSk7CiAgICAgcmV0dXJuIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4geyB3aWR0aC0+dmFs
dWUoKSB9OwpAQCAtNTU5MSw5ICs1NTk4LDIwIEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4g
UmVuZGVyQm94OjpleHBsaWNpdEludHJpbnNpY0lubmVySGVpZ2h0KCkgY29uc3QKICAgICBpZiAo
c3R5bGUoKS5jb250YWluSW50cmluc2ljSGVpZ2h0VHlwZSgpID09IENvbnRhaW5JbnRyaW5zaWNT
aXplVHlwZTo6Tm9uZSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAorICAgIC8vIFRP
RE86IE9ubHkgdXNlIGxhc3QgcmVtZW1iZXJlZCBzaXplIHdoZW4gaXQgaXMgY3VycmVudGx5IHNr
aXBwaW5nIGl0cyBjb250ZW50cy4KKyAgICBpZiAoc3R5bGUoKS5jb250YWluSW50cmluc2ljV2lk
dGhUeXBlKCkgPT0gQ29udGFpbkludHJpbnNpY1NpemVUeXBlOjpBdXRvQW5kTGVuZ3RoICYmIGVs
ZW1lbnQoKSkgeworICAgICAgICBpZiAoYXV0byBsYXN0UmVtZW1iZXJlZFNpemUgPSBlbGVtZW50
KCktPnJlc2l6ZU9ic2VydmVyTGFzdFJlbWVtYmVyZWRTaXplKCkpCisgICAgICAgICAgICByZXR1
cm4gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IExheW91dFVuaXQobGFzdFJlbWVtYmVyZWRT
aXplLT5ibG9ja1NpemUoKSkgOiBMYXlvdXRVbml0KGxhc3RSZW1lbWJlcmVkU2l6ZS0+aW5saW5l
U2l6ZSgpKTsKKyAgICB9CisKICAgICBhdXRvIGhlaWdodCA9IHN0eWxlKCkuY29udGFpbkludHJp
bnNpY0hlaWdodCgpOwogICAgIEFTU0VSVChoZWlnaHQuaGFzX3ZhbHVlKCkpOwogICAgIHJldHVy
biBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IHsgaGVpZ2h0LT52YWx1ZSgpIH07CiB9CiAKK2Jv
b2wgUmVuZGVyQm94OjpoYXNBdXRvQ29udGFpbkludHJpc2NTaXplKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gc3R5bGUoKS5jb250YWluSW50cmluc2ljV2lkdGhUeXBlKCkgPT0gQ29udGFpbkludHJp
bnNpY1NpemVUeXBlOjpBdXRvQW5kTGVuZ3RoIHx8IHN0eWxlKCkuY29udGFpbkludHJpbnNpY0hl
aWdodFR5cGUoKSA9PSBDb250YWluSW50cmluc2ljU2l6ZVR5cGU6OkF1dG9BbmRMZW5ndGg7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
aAppbmRleCAzMzgzZWY4YmRjMTIuLmM2ZTAxYWIwMDAzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guaApAQCAtNjc4LDYgKzY3OCw3IEBAIG92ZXJyaWRlOwogICAgIC8vIFRoZSBl
eHBsaWNpdCBpbnRyaW5zaWMgaW5uZXIgc2l6ZSBvZiBjb250YWluLWludHJpbnNpYy1zaXplCiAg
ICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBleHBsaWNpdEludHJpbnNpY0lubmVyV2lkdGgo
KSBjb25zdDsKICAgICBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IGV4cGxpY2l0SW50cmluc2lj
SW5uZXJIZWlnaHQoKSBjb25zdDsKKyAgICBib29sIGhhc0F1dG9Db250YWluSW50cmlzY1NpemUo
KSBjb25zdDsKIAogICAgIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gZXhwbGljaXRJbnRyaW5z
aWNJbm5lckxvZ2ljYWxXaWR0aCgpIGNvbnN0CiAgICAgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463694</attachid>
            <date>2022-11-23 10:48:48 -0800</date>
            <delta_ts>2022-11-23 10:48:48 -0800</delta_ts>
            <desc>WIP-patch</desc>
            <filename>CIS-001.diff</filename>
            <type>text/plain</type>
            <size>20345</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDllMDZjZGNlMmJhLi41ZDQ4OGI0NWUwYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCkBAIC00NDkzLDM0ICs0NDkzLDYgQEAgd2Via2l0Lm9yZy9iLzIxNDQ2MyBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL2FzcGVjdC1yYXRpby8K
IHdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXNpemluZy9hc3BlY3QtcmF0aW8vZmxleC1hc3BlY3QtcmF0aW8tMDI1Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9hc3BlY3QtcmF0aW8vZmxleC1hc3BlY3QtcmF0aW8t
MDI2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9hc3BlY3QtcmF0aW8vZmxl
eC1hc3BlY3QtcmF0aW8tMDMxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcv
Yi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9j
b250YWluLWludHJpbnNpYy1zaXplL2NvbnRhaW4taW50cmluc2ljLXNpemUtMDAxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNpYy1zaXplL2NvbnRh
aW4taW50cmluc2ljLXNpemUtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5v
cmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemlu
Zy9jb250YWluLWludHJpbnNpYy1zaXplL2NvbnRhaW4taW50cmluc2ljLXNpemUtMDAzLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNpYy1zaXplL2Nv
bnRhaW4taW50cmluc2ljLXNpemUtMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtp
dC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNp
emluZy9jb250YWluLWludHJpbnNpYy1zaXplL2NvbnRhaW4taW50cmluc2ljLXNpemUtMDA1Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNpYy1zaXpl
L2NvbnRhaW4taW50cmluc2ljLXNpemUtMDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdl
YmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNpemluZy9jb250YWluLWludHJpbnNpYy1zaXplL2NvbnRhaW4taW50cmluc2ljLXNpemUtMDA3
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNpYy1z
aXplL2NvbnRhaW4taW50cmluc2ljLXNpemUtMDA4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LXdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXNpemluZy9jb250YWluLWludHJpbnNpYy1zaXplL2NvbnRhaW4taW50cmluc2ljLXNpemUt
MDA5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNp
Yy1zaXplL2NvbnRhaW4taW50cmluc2ljLXNpemUtMDEwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLXdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNpYy1zaXplL2NvbnRhaW4taW50cmluc2ljLXNp
emUtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJp
bnNpYy1zaXplL2NvbnRhaW4taW50cmluc2ljLXNpemUtMDEyLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNpYy1zaXplL2NvbnRhaW4taW50cmluc2lj
LXNpemUtMDEzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NjMg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWlu
dHJpbnNpYy1zaXplL2NvbnRhaW4taW50cmluc2ljLXNpemUtMDE0Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNpYy1zaXplL2NvbnRhaW4taW50cmlu
c2ljLXNpemUtMDE1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0
NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWlu
LWludHJpbnNpYy1zaXplL2NvbnRhaW4taW50cmluc2ljLXNpemUtMDE2Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNpYy1zaXplL2NvbnRhaW4taW50
cmluc2ljLXNpemUtMDE3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8y
MTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250
YWluLWludHJpbnNpYy1zaXplL2NvbnRhaW4taW50cmluc2ljLXNpemUtMDE5Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNpYy1zaXplL2NvbnRhaW4t
aW50cmluc2ljLXNpemUtMDIwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcv
Yi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9j
b250YWluLWludHJpbnNpYy1zaXplL2NvbnRhaW4taW50cmluc2ljLXNpemUtMDIxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNpYy1zaXplL2NvbnRh
aW4taW50cmluc2ljLXNpemUtMDIyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5v
cmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemlu
Zy9jb250YWluLWludHJpbnNpYy1zaXplL2NvbnRhaW4taW50cmluc2ljLXNpemUtMDIzLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNpYy1zaXplL2Nv
bnRhaW4taW50cmluc2ljLXNpemUtMDI0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtp
dC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNp
emluZy9jb250YWluLWludHJpbnNpYy1zaXplL2NvbnRhaW4taW50cmluc2ljLXNpemUtMDI1Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNpYy1zaXpl
L2NvbnRhaW4taW50cmluc2ljLXNpemUtMDI2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdl
YmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNpemluZy9jb250YWluLWludHJpbnNpYy1zaXplL2NvbnRhaW4taW50cmluc2ljLXNpemUtMDI3
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9jb250YWluLWludHJpbnNpYy1z
aXplL2NvbnRhaW4taW50cmluc2ljLXNpemUtbG9naWNhbC0wMDEuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzIxNDQ2MyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3Mtc2l6aW5nL2NvbnRhaW4taW50cmluc2ljLXNpemUvY29udGFpbi1pbnRyaW5z
aWMtc2l6ZS1sb2dpY2FsLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3Jn
L2IvMjE0NDYzIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaXppbmcv
aW1hZ2UtZnJhY3Rpb25hbC1oZWlnaHQtd2l0aC13aWRlLWFzcGVjdC1yYXRpby5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0NDYzIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1zaXppbmcvaW50cmluc2ljLXBlcmNlbnQtcmVwbGFjZWQtMDA4
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NjMgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9pbnRyaW5zaWMtcGVyY2VudC1y
ZXBsYWNlZC1keW5hbWljLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCmlu
ZGV4IDBmY2JhN2VhZGE3Li42NTJlZDljOWFkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKQEAgLTc3OSw2ICs3Nzks
MTEgQEAgZG91YmxlIEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6ZmluZEZyVW5pdFNpemUoY29u
c3QgR3JpZFNwYW4mIHRyYWNrc1NwYW4sIExheW8KIAogdm9pZCBHcmlkVHJhY2tTaXppbmdBbGdv
cml0aG06OmNvbXB1dGVHcmlkQ29udGFpbmVySW50cmluc2ljU2l6ZXMoKQogeworICAgIGlmICht
X2RpcmVjdGlvbiA9PSBGb3JDb2x1bW5zICYmIG1fcmVuZGVyR3JpZC0+aGFzRXhwbGljaXRJbnRy
aW5zaWNJbm5lckxvZ2ljYWxXaWR0aCgpKSB7CisgICAgICAgIG1fbWluQ29udGVudFNpemUgPSBt
X21heENvbnRlbnRTaXplID0gbV9yZW5kZXJHcmlkLT5leHBsaWNpdEludHJpbnNpY0lubmVyTG9n
aWNhbFdpZHRoKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBtX21pbkNvbnRlbnRT
aXplID0gbV9tYXhDb250ZW50U2l6ZSA9IDBfbHU7CiAKICAgICBWZWN0b3I8R3JpZFRyYWNrPiYg
YWxsVHJhY2tzID0gdHJhY2tzKG1fZGlyZWN0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suY3BwCmluZGV4IDdkYzI2YTA0ZDQyLi5iODExZWRlZjcyNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC0yMjQ0LDYgKzIyNDQsOCBAQCB2
b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0
JiBtaW5Mb2dpY2FsV2lkdGgsIExheQogICAgIEFTU0VSVCghY2hpbGRyZW5JbmxpbmUoKSk7CiAg
ICAgaWYgKCFzaG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpCiAgICAgICAgIGNvbXB1
dGVCbG9ja1ByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2Fs
V2lkdGgpOworICAgIGVsc2UgaWYgKGhhc0V4cGxpY2l0SW50cmluc2ljSW5uZXJMb2dpY2FsV2lk
dGgoKSkKKyAgICAgICAgbWF4TG9naWNhbFdpZHRoID0gbWluTG9naWNhbFdpZHRoID0gZXhwbGlj
aXRJbnRyaW5zaWNJbm5lckxvZ2ljYWxXaWR0aCgpOwogCiAgICAgbWF4TG9naWNhbFdpZHRoID0g
c3RkOjptYXgobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCmluZGV4IDk1YWRjODZkY2U5Li4z
Njg0YzRjN2E0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5jcHAKQEAgLTM1MCw2ICszNTAsMTAgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmNvbXB1dGVJ
bnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwKICAgICAg
ICAgICAgIGNvbXB1dGVJbmxpbmVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKG1pbkxvZ2ljYWxXaWR0
aCwgbWF4TG9naWNhbFdpZHRoKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgY29tcHV0ZUJs
b2NrUHJlZmVycmVkTG9naWNhbFdpZHRocyhtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0
aCk7CisgICAgfSBlbHNlIGlmIChoYXNFeHBsaWNpdEludHJpbnNpY0lubmVyTG9naWNhbFdpZHRo
KCkpIHsKKyAgICAgICAgYXV0byBleHBsaWNpdEludHJpbnNpY1dpZHRoID0gZXhwbGljaXRJbnRy
aW5zaWNJbm5lckxvZ2ljYWxXaWR0aCgpOworICAgICAgICBtYXhMb2dpY2FsV2lkdGggKz0gZXhw
bGljaXRJbnRyaW5zaWNXaWR0aDsKKyAgICAgICAgbWluTG9naWNhbFdpZHRoICs9IGV4cGxpY2l0
SW50cmluc2ljV2lkdGg7CiAgICAgfQogCiAgICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgo
bWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAppbmRleCAyODU1ZDAzNzgyOC4uNzEyN2NlNGRhMjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC0zMDk3LDggKzMwOTcsOSBAQCB2b2lkIFJl
bmRlckJveDo6dXBkYXRlTG9naWNhbEhlaWdodCgpCiAgICAgICAgIC8vIFdlIG5lZWQgdGhlIGV4
YWN0IHdpZHRoIG9mIGJvcmRlciBhbmQgcGFkZGluZyBoZXJlLCB5ZXQgd2UgY2FuJ3QgdXNlIGJv
cmRlckFuZFBhZGRpbmcqIGludGVyZmFjZXMuCiAgICAgICAgIC8vIEJlY2F1c2UgdGhlc2UgaW50
ZXJmYWNlcyBldmV0dWFsbHkgY2FsbCBib3JkZXJBZnRlci9CZWZvcmUsIGFuZCBSZW5kZXJCbG9j
azo6Ym9yZGVyQmVmb3JlCiAgICAgICAgIC8vIGFkZHMgZXh0cmEgYm9yZGVyIHRvIGZpZWxkc2V0
IGJ5IGFkZGluZyBpbnRyaW5zaWNCb3JkZXJGb3JGaWVsZHNldCB3aGljaCBpcyBub3QgbmVlZGVk
IGhlcmUuCisgICAgICAgIExheW91dFVuaXQgZXhwbGljaXRJbnRyaW5zaWNIZWlnaHQgPSBoYXNF
eHBsaWNpdEludHJpbnNpY0lubmVyTG9naWNhbFdpZHRoKCkgPyBleHBsaWNpdEludHJpbnNpY0lu
bmVyTG9naWNhbEhlaWdodCgpIDogTGF5b3V0VW5pdCgwKTsKICAgICAgICAgYXV0byBib3JkZXJB
bmRQYWRkaW5nID0gUmVuZGVyQm94Ojpib3JkZXJCZWZvcmUoKSArIFJlbmRlckJveDo6cGFkZGlu
Z0JlZm9yZSgpICsgUmVuZGVyQm94Ojpib3JkZXJBZnRlcigpICsgUmVuZGVyQm94OjpwYWRkaW5n
QWZ0ZXIoKTsKLSAgICAgICAgc2V0TG9naWNhbEhlaWdodChib3JkZXJBbmRQYWRkaW5nICsgc2Ny
b2xsYmFyTG9naWNhbEhlaWdodCgpKTsKKyAgICAgICAgc2V0TG9naWNhbEhlaWdodChleHBsaWNp
dEludHJpbnNpY0hlaWdodCArIGJvcmRlckFuZFBhZGRpbmcgKyBzY3JvbGxiYXJMb2dpY2FsSGVp
Z2h0KCkpOwogICAgIH0KIAogICAgIGNhY2hlSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHRG
b3JGbGV4SXRlbShjb250ZW50TG9naWNhbEhlaWdodCgpKTsKQEAgLTU1MTgsNCArNTUxOSwzNCBA
QCBMYXlvdXRVbml0IHN5bnRoZXNpemVkQmFzZWxpbmVGcm9tQm9yZGVyQm94KGNvbnN0IFJlbmRl
ckJveCYgYm94LCBMaW5lRGlyZWN0aW9uTQogICAgIHJldHVybiBkaXJlY3Rpb24gPT0gSG9yaXpv
bnRhbExpbmUgPyBib3guaGVpZ2h0KCkgOiBib3gud2lkdGgoKTsKIH0KIAorYm9vbCBSZW5kZXJC
b3g6Omhhc0V4cGxpY2l0SW50cmluc2ljSW5uZXJXaWR0aCgpIGNvbnN0Cit7CisgICAgaWYgKCFz
aG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIHJldHVybiBzdHlsZSgpLmNvbnRhaW5JbnRyaW5zaWNXaWR0aFR5cGUoKSAhPSBDb250
YWluSW50cmluc2ljU2l6ZVR5cGU6Ok5vbmU7Cit9CisKK0xheW91dFVuaXQgUmVuZGVyQm94Ojpl
eHBsaWNpdEludHJpbnNpY0lubmVyV2lkdGgoKSBjb25zdAoreworICAgIGF1dG8gd2lkdGggPSBz
dHlsZSgpLmNvbnRhaW5JbnRyaW5zaWNXaWR0aCgpOworICAgIEFTU0VSVCh3aWR0aC5oYXNfdmFs
dWUoKSk7CisgICAgcmV0dXJuIExheW91dFVuaXQod2lkdGgudmFsdWUoKS52YWx1ZSgpKTsKK30K
KworYm9vbCBSZW5kZXJCb3g6Omhhc0V4cGxpY2l0SW50cmluc2ljSW5uZXJIZWlnaHQoKSBjb25z
dAoreworICAgIGlmICghc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gc3R5bGUoKS5jb250YWluSW50cmluc2ljSGVp
Z2h0VHlwZSgpICE9IENvbnRhaW5JbnRyaW5zaWNTaXplVHlwZTo6Tm9uZTsKK30KKworTGF5b3V0
VW5pdCBSZW5kZXJCb3g6OmV4cGxpY2l0SW50cmluc2ljSW5uZXJIZWlnaHQoKSBjb25zdAorewor
ICAgIGF1dG8gaGVpZ2h0ID0gc3R5bGUoKS5jb250YWluSW50cmluc2ljSGVpZ2h0KCk7CisgICAg
QVNTRVJUKGhlaWdodC5oYXNfdmFsdWUoKSk7CisgICAgcmV0dXJuIExheW91dFVuaXQoaGVpZ2h0
LnZhbHVlKCkudmFsdWUoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guaAppbmRleCBlZDc3NzcwZTdlNC4uMWUxN2FkN2EyYTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTY3Myw2ICs2NzMsMjggQEAgb3Zl
cnJpZGU7CiAKICAgICBib29sIHNob3VsZENvbXB1dGVMb2dpY2FsSGVpZ2h0RnJvbUFzcGVjdFJh
dGlvKCkgY29uc3Q7CiAKKyAgICAvLyBUaGUgZXhwbGljaXQgaW50cmluc2ljIGlubmVyIHNpemUg
b2YgY29udGFpbi1pbnRyaW5zaWMtc2l6ZQorICAgIGJvb2wgaGFzRXhwbGljaXRJbnRyaW5zaWNJ
bm5lcldpZHRoKCkgY29uc3Q7CisgICAgYm9vbCBoYXNFeHBsaWNpdEludHJpbnNpY0lubmVySGVp
Z2h0KCkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBleHBsaWNpdEludHJpbnNpY0lubmVyV2lkdGgo
KSBjb25zdDsKKyAgICBMYXlvdXRVbml0IGV4cGxpY2l0SW50cmluc2ljSW5uZXJIZWlnaHQoKSBj
b25zdDsKKworICAgIGJvb2wgaGFzRXhwbGljaXRJbnRyaW5zaWNJbm5lckxvZ2ljYWxXaWR0aCgp
IGNvbnN0IHsKKyAgICAgICAgcmV0dXJuIHN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSA/IGhhc0V4cGxpY2l0SW50cmluc2ljSW5uZXJXaWR0aCgpIDogaGFzRXhwbGljaXRJbnRyaW5z
aWNJbm5lckhlaWdodCgpOworICAgIH0KKworICAgIGJvb2wgaGFzRXhwbGljaXRJbnRyaW5zaWNJ
bm5lckxvZ2ljYWxIZWlnaHQoKSBjb25zdCB7CisgICAgICAgIHJldHVybiBzdHlsZSgpLmlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBoYXNFeHBsaWNpdEludHJpbnNpY0lubmVySGVpZ2h0KCkg
OiBoYXNFeHBsaWNpdEludHJpbnNpY0lubmVyV2lkdGgoKTsKKyAgICB9CisKKyAgICBMYXlvdXRV
bml0IGV4cGxpY2l0SW50cmluc2ljSW5uZXJMb2dpY2FsV2lkdGgoKSBjb25zdCB7CisgICAgICAg
IHJldHVybiBzdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBleHBsaWNpdEludHJp
bnNpY0lubmVyV2lkdGgoKSA6IGV4cGxpY2l0SW50cmluc2ljSW5uZXJIZWlnaHQoKTsKKyAgICB9
CisKKyAgICBMYXlvdXRVbml0IGV4cGxpY2l0SW50cmluc2ljSW5uZXJMb2dpY2FsSGVpZ2h0KCkg
Y29uc3QgeworICAgICAgICByZXR1cm4gc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
ID8gZXhwbGljaXRJbnRyaW5zaWNJbm5lckhlaWdodCgpIDogZXhwbGljaXRJbnRyaW5zaWNJbm5l
cldpZHRoKCk7CisgICAgfQorCiBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVyQm94KEVsZW1lbnQmLCBS
ZW5kZXJTdHlsZSYmLCBCYXNlVHlwZUZsYWdzKTsKICAgICBSZW5kZXJCb3goRG9jdW1lbnQmLCBS
ZW5kZXJTdHlsZSYmLCBCYXNlVHlwZUZsYWdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCmluZGV4IGVlM2I4YmRjYzE5Li41
NDE4MDUzNjQ3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZp
bGVVcGxvYWRDb250cm9sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RmlsZVVwbG9hZENvbnRyb2wuY3BwCkBAIC0xOTcsOCArMTk3LDEyIEBAIHZvaWQgUmVuZGVyRmls
ZVVwbG9hZENvbnRyb2w6OnBhaW50T2JqZWN0KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBM
YXlvdXRQb2luCiAKIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNvbXB1dGVJbnRyaW5z
aWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYg
bWF4TG9naWNhbFdpZHRoKSBjb25zdAogewotICAgIGlmIChzaG91bGRBcHBseVNpemVDb250YWlu
bWVudCgqdGhpcykpCisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkg
eworICAgICAgICBpZiAoaGFzRXhwbGljaXRJbnRyaW5zaWNJbm5lckxvZ2ljYWxXaWR0aCgpKQor
ICAgICAgICAgICAgbWF4TG9naWNhbFdpZHRoID0gbWluTG9naWNhbFdpZHRoID0gZXhwbGljaXRJ
bnRyaW5zaWNJbm5lckxvZ2ljYWxXaWR0aCgpOworCiAgICAgICAgIHJldHVybjsKKyAgICB9CiAg
ICAgLy8gRmlndXJlIG91dCBob3cgYmlnIHRoZSBmaWxlbmFtZSBzcGFjZSBuZWVkcyB0byBiZSBm
b3IgYSBnaXZlbiBudW1iZXIgb2YgY2hhcmFjdGVycwogICAgIC8vICh1c2luZyAiMCIgYXMgdGhl
IG5vbWluYWwgY2hhcmFjdGVyKS4KICAgICBjb25zdCBVQ2hhciBjaGFyYWN0ZXIgPSAnMCc7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKaW5kZXggMTJhOTI3NGFkM2IuLjIw
MDJiYWJlMTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3Jp
ZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC0y
OTcsMTIgKzI5NywxNCBAQCB2b2lkIFJlbmRlckdyaWQ6OmxheW91dEJsb2NrKGJvb2wgcmVsYXlv
dXRDaGlsZHJlbiwgTGF5b3V0VW5pdCkKICAgICAgICAgLy8gdXNpbmcgdGhlIGdyaWQgY29sdW1u
IHNpemVzIGNhbGN1bGF0ZWQgaW4gdGhlIHByZXZpb3VzIHN0ZXAuCiAgICAgICAgIGJvb2wgc2hv
dWxkUmVjb21wdXRlSGVpZ2h0ID0gZmFsc2U7CiAgICAgICAgIGlmICghaGFzRGVmaW5pdGVMb2dp
Y2FsSGVpZ2h0KSB7Ci0gICAgICAgICAgICBjb21wdXRlVHJhY2tTaXplc0ZvckluZGVmaW5pdGVT
aXplKG1fdHJhY2tTaXppbmdBbGdvcml0aG0sIEZvclJvd3MpOworICAgICAgICAgICAgaWYgKCFo
YXNFeHBsaWNpdEludHJpbnNpY0lubmVyTG9naWNhbEhlaWdodCgpKQorICAgICAgICAgICAgICAg
IGNvbXB1dGVUcmFja1NpemVzRm9ySW5kZWZpbml0ZVNpemUobV90cmFja1NpemluZ0FsZ29yaXRo
bSwgRm9yUm93cyk7CiAgICAgICAgICAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQo
KnRoaXMpKQogICAgICAgICAgICAgICAgIHNob3VsZFJlY29tcHV0ZUhlaWdodCA9IHRydWU7CiAg
ICAgICAgIH0gZWxzZQogICAgICAgICAgICAgY29tcHV0ZVRyYWNrU2l6ZXNGb3JEZWZpbml0ZVNp
emUoRm9yUm93cywgYXZhaWxhYmxlTG9naWNhbEhlaWdodChFeGNsdWRlTWFyZ2luQm9yZGVyUGFk
ZGluZykpOwotICAgICAgICBMYXlvdXRVbml0IHRyYWNrQmFzZWRMb2dpY2FsSGVpZ2h0ID0gbV90
cmFja1NpemluZ0FsZ29yaXRobS5jb21wdXRlVHJhY2tCYXNlZFNpemUoKSArIGJvcmRlckFuZFBh
ZGRpbmdMb2dpY2FsSGVpZ2h0KCkgKyBzY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCk7CisgICAgICAg
IExheW91dFVuaXQgdHJhY2tCYXNlZExvZ2ljYWxIZWlnaHQgPSBib3JkZXJBbmRQYWRkaW5nTG9n
aWNhbEhlaWdodCgpICsgc2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpOworICAgICAgICB0cmFja0Jh
c2VkTG9naWNhbEhlaWdodCArPSBoYXNFeHBsaWNpdEludHJpbnNpY0lubmVyTG9naWNhbEhlaWdo
dCgpID8gZXhwbGljaXRJbnRyaW5zaWNJbm5lckxvZ2ljYWxIZWlnaHQoKSA6IG1fdHJhY2tTaXpp
bmdBbGdvcml0aG0uY29tcHV0ZVRyYWNrQmFzZWRTaXplKCk7CiAgICAgICAgIGlmIChzaG91bGRS
ZWNvbXB1dGVIZWlnaHQpCiAgICAgICAgICAgICBjb21wdXRlVHJhY2tTaXplc0ZvckRlZmluaXRl
U2l6ZShGb3JSb3dzLCB0cmFja0Jhc2VkTG9naWNhbEhlaWdodCk7CiAKQEAgLTQ4Niw3ICs0ODgs
MTEgQEAgdm9pZCBSZW5kZXJHcmlkOjpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlv
dXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW8KIAogICAgICAgICBjb21wdXRlVHJhY2tTaXpl
c0ZvckluZGVmaW5pdGVTaXplKGFsZ29yaXRobSwgRm9yQ29sdW1ucywgJm1pbkxvZ2ljYWxXaWR0
aCwgJm1heExvZ2ljYWxXaWR0aCk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgTGF5b3V0VW5pdCB0
b3RhbEd1dHRlcnNTaXplID0gZ3V0dGVyc1NpemUobV9ncmlkLCBGb3JDb2x1bW5zLCAwLCBudW1U
cmFja3MoRm9yQ29sdW1ucyksIHN0ZDo6bnVsbG9wdCk7CisgICAgICAgIExheW91dFVuaXQgdG90
YWxHdXR0ZXJzU2l6ZTsKKyAgICAgICAgaWYgKGhhc0V4cGxpY2l0SW50cmluc2ljSW5uZXJMb2dp
Y2FsV2lkdGgoKSkKKyAgICAgICAgICAgIHRvdGFsR3V0dGVyc1NpemUgPSAwX2x1OworICAgICAg
ICBlbHNlCisgICAgICAgICAgICB0b3RhbEd1dHRlcnNTaXplID0gZ3V0dGVyc1NpemUobV9ncmlk
LCBGb3JDb2x1bW5zLCAwLCBudW1UcmFja3MoRm9yQ29sdW1ucyksIHN0ZDo6bnVsbG9wdCk7CiAg
ICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9ICptX21pbkNvbnRlbnRTaXplICsgdG90YWxHdXR0ZXJz
U2l6ZTsKICAgICAgICAgbWF4TG9naWNhbFdpZHRoID0gKm1fbWF4Q29udGVudFNpemUgKyB0b3Rh
bEd1dHRlcnNTaXplOwogICAgIH0KQEAgLTUwOCw3ICs1MTQsMTEgQEAgdm9pZCBSZW5kZXJHcmlk
Ojpjb21wdXRlVHJhY2tTaXplc0ZvckluZGVmaW5pdGVTaXplKEdyaWRUcmFja1NpemluZ0FsZ29y
aXRobSYgYWwKICAgICBhbGdvcml0aG0ucnVuKCk7CiAKICAgICBzaXplX3QgbnVtYmVyT2ZUcmFj
a3MgPSBhbGdvcml0aG0udHJhY2tzKGRpcmVjdGlvbikuc2l6ZSgpOwotICAgIExheW91dFVuaXQg
dG90YWxHdXR0ZXJzU2l6ZSA9IGd1dHRlcnNTaXplKGdyaWQsIGRpcmVjdGlvbiwgMCwgbnVtYmVy
T2ZUcmFja3MsIHN0ZDo6bnVsbG9wdCk7CisgICAgTGF5b3V0VW5pdCB0b3RhbEd1dHRlcnNTaXpl
OworICAgIGlmIChoYXNFeHBsaWNpdEludHJpbnNpY0lubmVyTG9naWNhbFdpZHRoKCkpCisgICAg
ICAgIHRvdGFsR3V0dGVyc1NpemUgPSAwX2x1OworICAgIGVsc2UKKyAgICAgICAgdG90YWxHdXR0
ZXJzU2l6ZSA9IGd1dHRlcnNTaXplKGdyaWQsIGRpcmVjdGlvbiwgMCwgbnVtYmVyT2ZUcmFja3Ms
IHN0ZDo6bnVsbG9wdCk7CiAKICAgICBpZiAobWluSW50cmluc2ljU2l6ZSkKICAgICAgICAgKm1p
bkludHJpbnNpY1NpemUgPSBhbGdvcml0aG0ubWluQ29udGVudFNpemUoKSArIHRvdGFsR3V0dGVy
c1NpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJv
eC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKaW5kZXgg
ZDBkNTAxNzk2ZjkuLmIzNzllNGNlN2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxpc3RCb3guY3BwCkBAIC0yMDYsNyArMjA2LDEzIEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6
c2Nyb2xsVG9SZXZlYWxTZWxlY3Rpb24oKQogCiB2b2lkIFJlbmRlckxpc3RCb3g6OmNvbXB1dGVJ
bnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0
VW5pdCYgbWF4TG9naWNhbFdpZHRoKSBjb25zdAogewotICAgIG1heExvZ2ljYWxXaWR0aCA9IHNo
b3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSA/IDIgKiBvcHRpb25zU3BhY2luZ0hvcml6
b250YWwgOiBtX29wdGlvbnNXaWR0aCArIDIgKiBvcHRpb25zU3BhY2luZ0hvcml6b250YWw7Cisg
ICAgbWF4TG9naWNhbFdpZHRoID0gIDIgKiBvcHRpb25zU3BhY2luZ0hvcml6b250YWw7CisgICAg
aWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkgeworICAgICAgICBpZiAoaGFz
RXhwbGljaXRJbnRyaW5zaWNJbm5lckxvZ2ljYWxXaWR0aCgpKQorICAgICAgICAgICAgbWF4TG9n
aWNhbFdpZHRoICs9IGV4cGxpY2l0SW50cmluc2ljSW5uZXJMb2dpY2FsV2lkdGgoKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgbWF4TG9naWNhbFdpZHRoICs9IG1fb3B0aW9uc1dpZHRoOworCiAgICAg
aWYgKG1fdkJhcikKICAgICAgICAgbWF4TG9naWNhbFdpZHRoICs9IG1fdkJhci0+d2lkdGgoKTsK
ICAgICBpZiAoIXN0eWxlKCkud2lkdGgoKS5pc1BlcmNlbnRPckNhbGN1bGF0ZWQoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCmluZGV4IDAxYzU5NjYxNmZk
Li43MzZmM2IyZGIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck1lbnVMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxp
c3QuY3BwCkBAIC0zMTcsNyArMzE3LDEyIEBAIExheW91dFJlY3QgUmVuZGVyTWVudUxpc3Q6OmNv
bnRyb2xDbGlwUmVjdChjb25zdCBMYXlvdXRQb2ludCYgYWRkaXRpb25hbE9mZnNldCkKIAogdm9p
ZCBSZW5kZXJNZW51TGlzdDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5p
dCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7
Ci0gICAgbWF4TG9naWNhbFdpZHRoID0gc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMp
ID8gdGhlbWUoKS5taW5pbXVtTWVudUxpc3RTaXplKHN0eWxlKCkpIDogc3RkOjptYXgobV9vcHRp
b25zV2lkdGgsIHRoZW1lKCkubWluaW11bU1lbnVMaXN0U2l6ZShzdHlsZSgpKSk7CisgICAgbWF4
TG9naWNhbFdpZHRoID0gdGhlbWUoKS5taW5pbXVtTWVudUxpc3RTaXplKHN0eWxlKCkpOworICAg
IGlmIChzaG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpIHsKKyAgICAgICAgaWYgKGhh
c0V4cGxpY2l0SW50cmluc2ljSW5uZXJMb2dpY2FsV2lkdGgoKSkKKyAgICAgICAgICAgIG1heExv
Z2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1heExvZ2ljYWxXaWR0aCwgZXhwbGljaXRJbnRyaW5zaWNJ
bm5lckxvZ2ljYWxXaWR0aCgpKTsKKyAgICB9IGVsc2UKKyAgICAgICAgbWF4TG9naWNhbFdpZHRo
ID0gc3RkOjptYXgoTGF5b3V0VW5pdChtX29wdGlvbnNXaWR0aCksIG1heExvZ2ljYWxXaWR0aCk7
CiAgICAgbWF4TG9naWNhbFdpZHRoICs9IG1faW5uZXJCbG9jay0+cGFkZGluZ0xlZnQoKSArIG1f
aW5uZXJCbG9jay0+cGFkZGluZ1JpZ2h0KCk7CiAgICAgaWYgKCFzdHlsZSgpLndpZHRoKCkuaXNQ
ZXJjZW50T3JDYWxjdWxhdGVkKCkpCiAgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9IG1heExvZ2lj
YWxXaWR0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBs
YWNlZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKaW5kZXgg
NDQzYTEyY2ZjMDQuLjJlYjdlNmU5OGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyUmVwbGFjZWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUmVwbGFjZWQuaApAQCAtNDIsOCArNDIsMTQgQEAgcHVibGljOgogCiAgICAgTGF5b3V0U2l6
ZSBpbnRyaW5zaWNTaXplKCkgY29uc3QgZmluYWwKICAgICB7Ci0gICAgICAgIGlmIChzaG91bGRB
cHBseVNpemVDb250YWlubWVudCgqdGhpcykpCi0gICAgICAgICAgICByZXR1cm4gTGF5b3V0U2l6
ZSgpOworICAgICAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKSB7Cisg
ICAgICAgICAgICBMYXlvdXRTaXplIHNpemUgPSBMYXlvdXRTaXplKCk7CisgICAgICAgICAgICBp
ZiAoaGFzRXhwbGljaXRJbnRyaW5zaWNJbm5lcldpZHRoKCkpCisgICAgICAgICAgICAgICAgc2l6
ZS5zZXRXaWR0aChleHBsaWNpdEludHJpbnNpY0lubmVyV2lkdGgoKSk7CisgICAgICAgICAgICBp
ZiAoaGFzRXhwbGljaXRJbnRyaW5zaWNJbm5lckhlaWdodCgpKQorICAgICAgICAgICAgICAgIHNp
emUuc2V0SGVpZ2h0KGV4cGxpY2l0SW50cmluc2ljSW5uZXJIZWlnaHQoKSk7CisgICAgICAgICAg
ICByZXR1cm4gc2l6ZTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gbV9pbnRyaW5zaWNTaXpl
OwogICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTbGlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAK
aW5kZXggOWU5NDRiZTAwYmIuLmRjOWI1NzdmOGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU2xpZGVyLmNwcApAQCAtNjksOCArNjksMTEgQEAgTGF5b3V0VW5pdCBSZW5kZXJT
bGlkZXI6OmJhc2VsaW5lUG9zaXRpb24oRm9udEJhc2VsaW5lLCBib29sIC8qZmlyc3RMaW5lKi8s
IExpbmUKIAogdm9pZCBSZW5kZXJTbGlkZXI6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhz
KExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4TG9naWNhbFdpZHRo
KSBjb25zdAogewotICAgIGlmIChzaG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpCisg
ICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkgeworICAgICAgICBpZiAo
aGFzRXhwbGljaXRJbnRyaW5zaWNJbm5lckxvZ2ljYWxXaWR0aCgpKQorICAgICAgICAgICAgbWlu
TG9naWNhbFdpZHRoID0gbWF4TG9naWNhbFdpZHRoID0gZXhwbGljaXRJbnRyaW5zaWNJbm5lckxv
Z2ljYWxXaWR0aCgpOwogICAgICAgICByZXR1cm47CisgICAgfQogICAgIG1heExvZ2ljYWxXaWR0
aCA9IGRlZmF1bHRUcmFja0xlbmd0aCAqIHN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpOwogICAgIGlm
ICghc3R5bGUoKS53aWR0aCgpLmlzUGVyY2VudE9yQ2FsY3VsYXRlZCgpKQogICAgICAgICBtaW5M
b2dpY2FsV2lkdGggPSBtYXhMb2dpY2FsV2lkdGg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHRDb250cm9sLmNwcAppbmRleCA4YTFkYWE2N2M3Ny4uN2RlM2ZhZGM1NTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcApA
QCAtMTYxLDggKzE2MSwxMSBAQCBmbG9hdCBSZW5kZXJUZXh0Q29udHJvbDo6c2NhbGVFbVRvVW5p
dHMoaW50IHgpIGNvbnN0CiAKIHZvaWQgUmVuZGVyVGV4dENvbnRyb2w6OmNvbXB1dGVJbnRyaW5z
aWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYg
bWF4TG9naWNhbFdpZHRoKSBjb25zdAogewotICAgIGlmIChzaG91bGRBcHBseVNpemVDb250YWlu
bWVudCgqdGhpcykpCisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkg
eworICAgICAgICBpZiAoaGFzRXhwbGljaXRJbnRyaW5zaWNJbm5lckxvZ2ljYWxXaWR0aCgpKQor
ICAgICAgICAgICAgbWF4TG9naWNhbFdpZHRoID0gbWluTG9naWNhbFdpZHRoID0gZXhwbGljaXRJ
bnRyaW5zaWNJbm5lckxvZ2ljYWxXaWR0aCgpOwogICAgICAgICByZXR1cm47CisgICAgfQogICAg
IC8vIFVzZSBhdmVyYWdlIGNoYXJhY3RlciB3aWR0aC4gTWF0Y2hlcyBJRS4KICAgICBtYXhMb2dp
Y2FsV2lkdGggPSBwcmVmZXJyZWRDb250ZW50TG9naWNhbFdpZHRoKGNvbnN0X2Nhc3Q8UmVuZGVy
VGV4dENvbnRyb2wqPih0aGlzKS0+Z2V0QXZlcmFnZUNoYXJXaWR0aCgpKTsKICAgICBpZiAoUmVu
ZGVyQm94KiBpbm5lclRleHRSZW5kZXJCb3ggPSBpbm5lclRleHRFbGVtZW50KCktPnJlbmRlckJv
eCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKaW5kZXggYmIxNTll
OGU2MjkuLjdiN2Q5OTg5MDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVmlkZW8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRl
by5jcHAKQEAgLTEyMyw4ICsxMjMsMTQgQEAgYm9vbCBSZW5kZXJWaWRlbzo6dXBkYXRlSW50cmlu
c2ljU2l6ZSgpCiAKIExheW91dFNpemUgUmVuZGVyVmlkZW86OmNhbGN1bGF0ZUludHJpbnNpY1Np
emUoKQogewotICAgIGlmIChzaG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpCi0gICAg
ICAgIHJldHVybiBMYXlvdXRTaXplKCk7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5t
ZW50KCp0aGlzKSkgeworICAgICAgICBMYXlvdXRTaXplIHNpemUgPSBMYXlvdXRTaXplKCk7Cisg
ICAgICAgIGlmIChoYXNFeHBsaWNpdEludHJpbnNpY0lubmVyV2lkdGgoKSkKKyAgICAgICAgICAg
IHNpemUuc2V0V2lkdGgoZXhwbGljaXRJbnRyaW5zaWNJbm5lcldpZHRoKCkpOworICAgICAgICBp
ZiAoaGFzRXhwbGljaXRJbnRyaW5zaWNJbm5lckhlaWdodCgpKQorICAgICAgICAgICAgc2l6ZS5z
ZXRIZWlnaHQoZXhwbGljaXRJbnRyaW5zaWNJbm5lckhlaWdodCgpKTsKKyAgICAgICAgcmV0dXJu
IHNpemU7CisgICAgfQogCiAgICAgLy8gU3BlYyB0ZXh0IGZyb20gNC44LjYKICAgICAvLwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>