<?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>219712</bug_id>
          
          <creation_ts>2020-12-09 15:00:03 -0800</creation_ts>
          <short_desc>[WebAuthn] Adopt new UI for the Client PIN and dismiss flow</short_desc>
          <delta_ts>2021-01-07 00:17:20 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>181943</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jiewen Tan">jiewen_tan</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1713321</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-12-09 15:00:03 -0800</bug_when>
    <thetext>Adopt new UI for the Client PIN flow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713324</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-09 15:02:42 -0800</bug_when>
    <thetext>&lt;rdar://problem/72154935&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716552</commentid>
    <comment_count>2</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-12-24 00:17:31 -0800</bug_when>
    <thetext>*** Bug 219716 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716553</commentid>
    <comment_count>3</comment_count>
      <attachid>416740</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-12-24 00:22:46 -0800</bug_when>
    <thetext>Created attachment 416740
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717513</commentid>
    <comment_count>4</comment_count>
      <attachid>417041</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-01-05 15:20:13 -0800</bug_when>
    <thetext>Created attachment 417041
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717521</commentid>
    <comment_count>5</comment_count>
      <attachid>417045</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-01-05 15:45:23 -0800</bug_when>
    <thetext>Created attachment 417045
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717531</commentid>
    <comment_count>6</comment_count>
      <attachid>417050</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-01-05 16:22:05 -0800</bug_when>
    <thetext>Created attachment 417050
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717814</commentid>
    <comment_count>7</comment_count>
      <attachid>417050</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-01-06 17:28:14 -0800</bug_when>
    <thetext>Comment on attachment 417050
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717824</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-06 17:50:38 -0800</bug_when>
    <thetext>Committed r271221: &lt;https://trac.webkit.org/changeset/271221&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417050.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717890</commentid>
    <comment_count>9</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-01-07 00:17:20 -0800</bug_when>
    <thetext>A build fix:
Committed r271228: &lt;https://trac.webkit.org/changeset/271228&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416740</attachid>
            <date>2020-12-24 00:22:46 -0800</date>
            <delta_ts>2021-01-05 15:20:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219712-20201224002245.patch</filename>
            <type>text/plain</type>
            <size>16809</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk1MDhjYTY4MWMyODg5Mjdk
NWFkZjBlM2E1NDg3NDQyODIzYmIxYzAuLjY0Njg0ZThjNjgxMzBiNTc1ZTNmMDJhMzIxN2VjZDAx
YWNkMzZjNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMjAtMTItMjQgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIEFkb3B0IG5l
dyBVSSBmb3IgdGhlIENsaWVudCBQSU4gYW5kIGRpc21pc3MgZmxvdworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5NzEyCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83MjE1NDkzNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBDb3ZlcmVkIGJ5IG1hbnVhbCB0ZXN0cy4KKworICAgICAgICBUaGlzIHBhdGNo
IGRvZXMgdGhlIGZvbGxvd2luZyBmZXcgdGhpbmdzOgorICAgICAgICAxLiBJdCB0d2Vha3MgdGhl
IFdlYkF1dGhuIHByb2Nlc3MgYXMgYSBVSSB2aWV3IHNlcnZpY2UgdG8gYmUgYWJsZSB0byBydW4g
TmVhckZpZWxkIGluIHRoZSBiYWNrZ3JvdW5kLgorICAgICAgICAyLiBJdCBhZG9wdHMgbmV3IFNQ
SSBmb3Igc2VjdXJpdHkga2V5cycgY2xpZW50IHBpbiBzdXBwb3J0LgorICAgICAgICAzLiBJdCBh
ZG9wdHMgbmV3IFNQSSB0byBkaXNtaXNzIHRoZSBVSSB3aGVuIG5lY2Vzc2FyeS4KKworICAgICAg
ICAqIFBsYXRmb3JtL3NwaS9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNQSS5oOgor
ICAgICAgICAoTlNfRVJST1JfRU5VTSk6CisgICAgICAgIEFkZHMgbmV3IFNQSS4KKworICAgICAg
ICAqIFNjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2g6CisgICAgICAgIFR3ZWFrcyBXZWJB
dXRobiBwcm9jZXNzIGZvciBORkMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVudGlj
YXRpb24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZp
Y2VzQ29yZVNvZnRMaW5rLm1tOgorICAgICAgICBQYXBlcndvcmsuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRvclByZXNlbnRlckNvb3Jk
aW5hdG9yLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1
dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvci5tbToKKyAgICAgICAgKFdlYktpdDo6QXV0
aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yOjp+QXV0aGVudGljYXRvclByZXNlbnRlckNv
b3JkaW5hdG9yKToKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRvclByZXNlbnRlckNvb3Jk
aW5hdG9yOjp1cGRhdGVQcmVzZW50ZXIpOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdG9y
UHJlc2VudGVyQ29vcmRpbmF0b3I6OnJlcXVlc3RQaW4pOgorICAgICAgICAoV2ViS2l0OjpBdXRo
ZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3I6OmRpbWlzc1ByZXNlbnRlcik6CisgICAgICAg
IChXZWJLaXQ6OkF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcjo6c2V0UGluKToKKyAg
ICAgICAgQWRvcHRzIG5ldyBTUElzLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL0NvY29hL05mY1NlcnZpY2UubW06CisgICAgICAgIChXZWJLaXQ6Ok5mY1NlcnZpY2U6
OnBsYXRmb3JtU3RhcnREaXNjb3ZlcnkpOgorICAgICAgICBUd2Vha3MgTkZDLgorCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL1dLQVNDQXV0aG9yaXphdGlvblBy
ZXNlbnRlckRlbGVnYXRlLm1tOgorICAgICAgICAoLVtXS0FTQ0F1dGhvcml6YXRpb25QcmVzZW50
ZXJEZWxlZ2F0ZSBhdXRob3JpemF0aW9uUHJlc2VudGVyOmNyZWRlbnRpYWxSZXF1ZXN0ZWRGb3JM
b2dpbkNob2ljZTphdXRoZW50aWNhdGVkQ29udGV4dDpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAg
ICAgICAgKC1bV0tBU0NBdXRob3JpemF0aW9uUHJlc2VudGVyRGVsZWdhdGUgYXV0aG9yaXphdGlv
blByZXNlbnRlcjp2YWxpZGF0ZVVzZXJFbnRlcmVkUElOOmNvbXBsZXRpb25IYW5kbGVyOl0pOgor
ICAgICAgICBBZG9wdHMgbmV3IFNQSXMuCisKIDIwMjAtMTItMjEgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAoaU9TIDE0KTogQmFk
IGFjY2VzcyBjcmFzaCBpbiBTaGFyZWFibGVCaXRtYXA6Om1ha2VDR0ltYWdlQ29weSgpIHVuZGVy
IGFzc2lnbkxlZ2FjeURhdGFGb3JDb250ZXh0TWVudUludGVyYWN0aW9uKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXND
b3JlU1BJLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9Db2NvYS9BdXRoZW50aWNhdGlv
blNlcnZpY2VzQ29yZVNQSS5oCmluZGV4IDFjNmNjNzhiZWViNTlmZWM0OGRkMTRlYzQ2NGMwZTM3
NjU2MjJmY2MuLjQxMjRiMjI4NWY3NThiODFkMjRhNzQxMzNjMGNjY2YxZmZjMDdiZmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0F1dGhlbnRpY2F0aW9uU2Vy
dmljZXNDb3JlU1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvQ29jb2EvQXV0
aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTUEkuaApAQCAtNzEsNiArNzEsOCBAQCBOU19BU1NVTUVf
Tk9OTlVMTF9CRUdJTgogCiAtICh2b2lkKXByZXNlbnRBdXRob3JpemF0aW9uV2l0aENvbnRleHQ6
KEFTQ0F1dGhvcml6YXRpb25QcmVzZW50YXRpb25Db250ZXh0ICopY29udGV4dCBjb21wbGV0aW9u
SGFuZGxlcjoodm9pZCAoXikoaWQ8QVNDQ3JlZGVudGlhbFByb3RvY29sPiBfTnVsbGFibGUsIE5T
RXJyb3IgKiBfTnVsbGFibGUpKWNvbXBsZXRpb25IYW5kbGVyOwogLSAodm9pZCl1cGRhdGVJbnRl
cmZhY2VXaXRoTG9naW5DaG9pY2VzOihOU0FycmF5PGlkIDxBU0NMb2dpbkNob2ljZVByb3RvY29s
Pj4gKilsb2dpbkNob2ljZXM7CistICh2b2lkKXByZXNlbnRQSU5FbnRyeUludGVyZmFjZTsKKy0g
KHZvaWQpZGlzbWlzc1dpdGhFcnJvcjoobnVsbGFibGUgTlNFcnJvciAqKWVycm9yOwogCiBAcHJv
cGVydHkgKG5vbmF0b21pYywgd2VhaykgaWQgPEFTQ0F1dGhvcml6YXRpb25QcmVzZW50ZXJEZWxl
Z2F0ZT4gZGVsZWdhdGU7CiAKQEAgLTE1OCw2ICsxNjAsMjMgQEAgdHlwZWRlZiBOU19FTlVNKE5T
SW50ZWdlciwgQVNDU2VjdXJpdHlLZXlQdWJsaWNLZXlDcmVkZW50aWFsTG9naW5DaG9pY2VLaW5k
KSB7CiAKIEBlbmQKIAorZXh0ZXJuIE5TRXJyb3JEb21haW4gY29uc3QgQVNDQXV0aG9yaXphdGlv
bkVycm9yRG9tYWluOworCit0eXBlZGVmIE5TX0VSUk9SX0VOVU0oQVNDQXV0aG9yaXphdGlvbkVy
cm9yRG9tYWluLCBBU0NBdXRob3JpemF0aW9uRXJyb3IpIHsKKyAgICBBU0NBdXRob3JpemF0aW9u
RXJyb3JVbmtub3duLAorICAgIEFTQ0F1dGhvcml6YXRpb25FcnJvckZhaWxlZCwKKyAgICBBU0NB
dXRob3JpemF0aW9uRXJyb3JVc2VyQ2FuY2VsZWQsCisgICAgQVNDQXV0aG9yaXphdGlvbkVycm9y
UElOUmVxdWlyZWQsCit9OworCitleHRlcm4gTlNTdHJpbmcgKiBjb25zdCBBU0NQSU5WYWxpZGF0
aW9uUmVzdWx0S2V5OworCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBBU0NQSU5WYWxpZGF0
aW9uUmVzdWx0KSB7CisgICAgQVNDUElOVmFsaWRhdGlvblJlc3VsdFBJTkJsb2NrZWQsCisgICAg
QVNDUElOVmFsaWRhdGlvblJlc3VsdFBJTkF1dGhCbG9ja2VkLAorICAgIEFTQ1BJTlZhbGlkYXRp
b25SZXN1bHRQSU5JbnZhbGlkLAorfTsKKwogTlNfQVNTVU1FX05PTk5VTExfRU5ECiAKIC8vI2Vu
ZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2ggYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
cHJvY2Vzcy1lbnRpdGxlbWVudHMuc2gKaW5kZXggYTUwN2E5YjZkMWQ0MGRkNDE4MTJjYzU4YzIy
MzMxZTMwYjk4MmMyYS4uZGQwYjc2NWQ2MGE4ZGVkMjJmNWY5NmY1MGFlYThiZjg4MTRiMDYwNiAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNo
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaApAQCAt
MjQzLDYgKzI0Myw5IEBAIGZ1bmN0aW9uIGlvc19mYW1pbHlfcHJvY2Vzc193ZWJhdXRobl9lbnRp
dGxlbWVudHMoKQogCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5uZmNkLmh3bWFuYWdl
ciBib29sIFlFUwogICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUubmZjZC5zZXNzaW9uLnJl
YWRlci5pbnRlcm5hbCBib29sIFlFUworICAgICMgRklYTUUocmRhcjovL3Byb2JsZW0vNzI2NDY2
NjQpOiBGaW5kIGEgYmV0dGVyIHdheSB0byBpbnZva2UgTmVhckZpZWxkIGluIHRoZSBiYWNrZ3Jv
dW5kLgorICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUuaW50ZXJuYWwubmZjLmFsbG93LmJh
Y2tncm91bmRlZC5zZXNzaW9uIGJvb2wgWUVTCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBs
ZS5VSUtpdC52ZW5kcy12aWV3LXNlcnZpY2VzIGJvb2wgWUVTCiAKICAgICBwbGlzdGJ1ZGR5IEFk
ZCA6a2V5Y2hhaW4tYWNjZXNzLWdyb3VwcyBhcnJheQogICAgIHBsaXN0YnVkZHkgQWRkIDprZXlj
aGFpbi1hY2Nlc3MtZ3JvdXBzOjAgc3RyaW5nIGNvbS5hcHBsZS53ZWJraXQud2ViYXV0aG4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29h
L0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3Jl
U29mdExpbmsuaAppbmRleCBiZTkyMTIwMWY1ODYyNmNjMDQ0MjQ4OTgyODNmYzQyOTk4NzUyM2E2
Li5jYzA3NDNjNGMyMTE0Yzg0MWUwZGEwMGFjMGYwNGJjMjgwMjVmMGViIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNh
dGlvblNlcnZpY2VzQ29yZVNvZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGlu
ay5oCkBAIC0zOCw0ICszOCwxMCBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihXZWJLaXQs
IEFTQ1BsYXRmb3JtUHVibGljS2V5Q3JlZGVudGlhbExvZ2luQ2hvaWNlKTsKIFNPRlRfTElOS19D
TEFTU19GT1JfSEVBREVSKFdlYktpdCwgQVNDU2VjdXJpdHlLZXlQdWJsaWNLZXlDcmVkZW50aWFs
TG9naW5DaG9pY2UpOwogU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoV2ViS2l0LCBBU0NBcHBs
ZUlEQ3JlZGVudGlhbCk7CiAKK1NPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdlYktpdCwg
QXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmUsIEFTQ0F1dGhvcml6YXRpb25FcnJvckRvbWFpbiwg
TlNFcnJvckRvbWFpbik7CisjZGVmaW5lIEFTQ0F1dGhvcml6YXRpb25FcnJvckRvbWFpbiBXZWJL
aXQ6OmdldF9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZV9BU0NBdXRob3JpemF0aW9uRXJyb3JE
b21haW4oKQorCitTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihXZWJLaXQsIEF1dGhlbnRp
Y2F0aW9uU2VydmljZXNDb3JlLCBBU0NQSU5WYWxpZGF0aW9uUmVzdWx0S2V5LCBOU1N0cmluZyop
OworI2RlZmluZSBBU0NQSU5WYWxpZGF0aW9uUmVzdWx0S2V5IFdlYktpdDo6Z2V0X0F1dGhlbnRp
Y2F0aW9uU2VydmljZXNDb3JlX0FTQ1BJTlZhbGlkYXRpb25SZXN1bHRLZXkoKQorCiAjZW5kaWYg
Ly8gSEFWRShBU0NfQVVUSF9VSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExp
bmsubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9B
dXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNvZnRMaW5rLm1tCmluZGV4IDg3ZTU0NjAyMjdmNDgx
OTE2NTc2YzA5Njg0ODM5MDBjZmRhN2M5ZGEuLjk3Y2U0YTYxMTNiNjcwN2EwOTEwMzJjZTBkZGVm
MjAxYWNkNTk1OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhl
bnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVu
dGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5tbQpAQCAtMzgsNCArMzgsNyBAQCBTT0ZUX0xJ
TktfQ0xBU1NfRk9SX1NPVVJDRShXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlLCBB
U0NQbGF0Zm9ybVB1YmxpYwogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0UoV2ViS2l0LCBBdXRo
ZW50aWNhdGlvblNlcnZpY2VzQ29yZSwgQVNDU2VjdXJpdHlLZXlQdWJsaWNLZXlDcmVkZW50aWFs
TG9naW5DaG9pY2UpOwogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0UoV2ViS2l0LCBBdXRoZW50
aWNhdGlvblNlcnZpY2VzQ29yZSwgQVNDQXBwbGVJRENyZWRlbnRpYWwpOwogCitTT0ZUX0xJTktf
Q09OU1RBTlRfRk9SX1NPVVJDRShXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlLCBB
U0NBdXRob3JpemF0aW9uRXJyb3JEb21haW4sIE5TRXJyb3JEb21haW4pOworU09GVF9MSU5LX0NP
TlNUQU5UX0ZPUl9TT1VSQ0UoV2ViS2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZSwgQVND
UElOVmFsaWRhdGlvblJlc3VsdEtleSwgTlNTdHJpbmcqKTsKKwogI2VuZGlmIC8vIEhBVkUoQVND
X0FVVEhfVUkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50
aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3IuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0b3JQ
cmVzZW50ZXJDb29yZGluYXRvci5oCmluZGV4IDYzZDA3MGMzZGU3ZDI4NzY2YjVjYTg2Y2U4YTM1
ZTQ5MGZlNmNkNDkuLmYxMzkzNTEyZmUwYjg1OWVjZTM4MjliZjIzOWY2YWU2YzE4NzQxNTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29h
L0F1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0b3JQcmVzZW50ZXJD
b29yZGluYXRvci5oCkBAIC0zNSwxMCArMzUsMTIgQEAKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAorT0JKQ19DTEFTUyBBU0NBcHBsZUlEQ3Jl
ZGVudGlhbDsKIE9CSkNfQ0xBU1MgQVNDQXV0aG9yaXphdGlvblByZXNlbnRhdGlvbkNvbnRleHQ7
CiBPQkpDX0NMQVNTIEFTQ0F1dGhvcml6YXRpb25QcmVzZW50ZXI7CiBPQkpDX0NMQVNTIEFTQ0xv
Z2luQ2hvaWNlUHJvdG9jb2w7CiBPQkpDX0NMQVNTIExBQ29udGV4dDsKK09CSkNfQ0xBU1MgTlNF
cnJvcjsKIE9CSkNfQ0xBU1MgV0tBU0NBdXRob3JpemF0aW9uUHJlc2VudGVyRGVsZWdhdGU7CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNTAsNyArNTIsNyBAQCBjbGFzcyBBdXRoZW50aWNhdG9y
UHJlc2VudGVyQ29vcmRpbmF0b3IgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8QXV0aGVudGljYXRv
clByZQogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29y
ZGluYXRvcik7CiBwdWJsaWM6CiAgICAgdXNpbmcgVHJhbnNwb3J0U2V0ID0gSGFzaFNldDxXZWJD
b3JlOjpBdXRoZW50aWNhdG9yVHJhbnNwb3J0LCBXVEY6OkludEhhc2g8V2ViQ29yZTo6QXV0aGVu
dGljYXRvclRyYW5zcG9ydD4sIFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8V2ViQ29yZTo6QXV0
aGVudGljYXRvclRyYW5zcG9ydD4+OwotICAgIHVzaW5nIENyZWRlbnRpYWxSZXF1ZXN0SGFuZGxl
ciA9IEZ1bmN0aW9uPHZvaWQoKT47CisgICAgdXNpbmcgQ3JlZGVudGlhbFJlcXVlc3RIYW5kbGVy
ID0gRnVuY3Rpb248dm9pZChBU0NBcHBsZUlEQ3JlZGVudGlhbCAqLCBOU0Vycm9yICopPjsKIAog
ICAgIEF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcihjb25zdCBBdXRoZW50aWNhdG9y
TWFuYWdlciYsIGNvbnN0IFN0cmluZyYgcnBJZCwgY29uc3QgVHJhbnNwb3J0U2V0JiwgV2ViQ29y
ZTo6Q2xpZW50RGF0YVR5cGUpOwogICAgIH5BdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0
b3IoKTsKQEAgLTYzLDggKzY1LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRDcmVkZW50aWFs
UmVxdWVzdEhhbmRsZXIoQ3JlZGVudGlhbFJlcXVlc3RIYW5kbGVyJiYgaGFuZGxlcikgeyBtX2Ny
ZWRlbnRpYWxSZXF1ZXN0SGFuZGxlciA9IFdURk1vdmUoaGFuZGxlcik7IH0KICAgICB2b2lkIHNl
dExBQ29udGV4dChMQUNvbnRleHQgKik7Ci0KICAgICB2b2lkIGRpZFNlbGVjdEFzc2VydGlvblJl
c3BvbnNlKEFTQ0xvZ2luQ2hvaWNlUHJvdG9jb2wgKiwgTEFDb250ZXh0ICopOworICAgIHZvaWQg
c2V0UGluKGNvbnN0IFN0cmluZyYpOwogCiBwcml2YXRlOgogICAgIFdlYWtQdHI8QXV0aGVudGlj
YXRvck1hbmFnZXI+IG1fbWFuYWdlcjsKQEAgLTc5LDYgKzgxLDggQEAgcHJpdmF0ZToKIAogICAg
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJl
c3BvbnNlKik+IG1fcmVzcG9uc2VIYW5kbGVyOwogICAgIEhhc2hNYXA8QVNDTG9naW5DaG9pY2VQ
cm90b2NvbCAqLCBSZWZQdHI8V2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNl
Pj4gbV9jcmVkZW50aWFsczsKKworICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgU3Ry
aW5nJik+IG1fcGluSGFuZGxlcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0
aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5h
dG9yLm1tCmluZGV4IDg5ODU2Zjg2MDhkMmI2Y2QzNWI0MTgyMmI5YjkyMGM1ZWU2NTUxZjguLjJk
MzJhYjZkMjMwNGI0N2EwOTdiZjAyYWQ0OWI2YTNkNTcxOTExYjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0b3JQ
cmVzZW50ZXJDb29yZGluYXRvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJB
dXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3IubW0K
QEAgLTg2LDE2ICs4NiwzOCBAQCBBdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3I6On5B
dXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3IoKQogICAgICAgICBtX2xhQ29udGV4dEhh
bmRsZXIobnVsbHB0cik7CiAgICAgaWYgKG1fcmVzcG9uc2VIYW5kbGVyKQogICAgICAgICBtX3Jl
c3BvbnNlSGFuZGxlcihudWxscHRyKTsKKyAgICBpZiAobV9waW5IYW5kbGVyKQorICAgICAgICBt
X3BpbkhhbmRsZXIoU3RyaW5nKCkpOwogfQogCi12b2lkIEF1dGhlbnRpY2F0b3JQcmVzZW50ZXJD
b29yZGluYXRvcjo6dXBkYXRlUHJlc2VudGVyKFdlYkF1dGhlbnRpY2F0aW9uU3RhdHVzKQordm9p
ZCBBdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3I6OnVwZGF0ZVByZXNlbnRlcihXZWJB
dXRoZW50aWNhdGlvblN0YXR1cyBzdGF0dXMpCiB7Ci0gICAgLy8gRklYTUUoMjE5NzEzKTogQWRv
cHQgbmV3IFVJIGZvciB0aGUgdXBkYXRlIGZsb3cuCisgICAgc3dpdGNoIChzdGF0dXMpIHsKKyAg
ICBjYXNlIFdlYkF1dGhlbnRpY2F0aW9uU3RhdHVzOjpQaW5CbG9ja2VkOiB7CisgICAgICAgIGF1
dG8gZXJyb3IgPSBhZG9wdE5TKFtbTlNFcnJvciBhbGxvY10gaW5pdFdpdGhEb21haW46QVNDQXV0
aG9yaXphdGlvbkVycm9yRG9tYWluIGNvZGU6QVNDQXV0aG9yaXphdGlvbkVycm9yUElOUmVxdWly
ZWQgdXNlckluZm86QHsgQVNDUElOVmFsaWRhdGlvblJlc3VsdEtleTogQChBU0NQSU5WYWxpZGF0
aW9uUmVzdWx0UElOQmxvY2tlZCkgfV0pOworICAgICAgICBtX2NyZWRlbnRpYWxSZXF1ZXN0SGFu
ZGxlcihuaWwsIGVycm9yLmdldCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2Ug
V2ViQXV0aGVudGljYXRpb25TdGF0dXM6OlBpbkF1dGhCbG9ja2VkOiB7CisgICAgICAgIGF1dG8g
ZXJyb3IgPSBhZG9wdE5TKFtbTlNFcnJvciBhbGxvY10gaW5pdFdpdGhEb21haW46QVNDQXV0aG9y
aXphdGlvbkVycm9yRG9tYWluIGNvZGU6QVNDQXV0aG9yaXphdGlvbkVycm9yUElOUmVxdWlyZWQg
dXNlckluZm86QHsgQVNDUElOVmFsaWRhdGlvblJlc3VsdEtleTogQChBU0NQSU5WYWxpZGF0aW9u
UmVzdWx0UElOQXV0aEJsb2NrZWQpIH1dKTsKKyAgICAgICAgbV9jcmVkZW50aWFsUmVxdWVzdEhh
bmRsZXIobmlsLCBlcnJvci5nZXQoKSk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNl
IFdlYkF1dGhlbnRpY2F0aW9uU3RhdHVzOjpQaW5JbnZhbGlkOiB7CisgICAgICAgIGF1dG8gZXJy
b3IgPSBhZG9wdE5TKFtbTlNFcnJvciBhbGxvY10gaW5pdFdpdGhEb21haW46QVNDQXV0aG9yaXph
dGlvbkVycm9yRG9tYWluIGNvZGU6QVNDQXV0aG9yaXphdGlvbkVycm9yUElOUmVxdWlyZWQgdXNl
ckluZm86QHsgQVNDUElOVmFsaWRhdGlvblJlc3VsdEtleTogQChBU0NQSU5WYWxpZGF0aW9uUmVz
dWx0UElOSW52YWxpZCkgfV0pOworICAgICAgICBtX2NyZWRlbnRpYWxSZXF1ZXN0SGFuZGxlcihu
aWwsIGVycm9yLmdldCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGRlZmF1bHQ6Cisg
ICAgICAgIC8vIEZJWE1FKDIxOTcxMyk6IEFkb3B0IG5ldyBVSSBmb3IgdGhlIHVwZGF0ZSBmbG93
LgorICAgICAgICBicmVhazsKKyAgICB9CiB9CiAKLXZvaWQgQXV0aGVudGljYXRvclByZXNlbnRl
ckNvb3JkaW5hdG9yOjpyZXF1ZXN0UGluKHVpbnQ2NF90LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGNvbnN0IFN0cmluZyYpPiYmKQordm9pZCBBdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0
b3I6OnJlcXVlc3RQaW4odWludDY0X3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgU3Ry
aW5nJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgLy8gRklYTUUoMjE5NzEyKTogQWRv
cHQgbmV3IFVJIGZvciB0aGUgQ2xpZW50IFBJTiBmbG93LgorICAgIG1fcGluSGFuZGxlciA9IFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpOworICAgIFttX3ByZXNlbnRlciBwcmVzZW50UElORW50
cnlJbnRlcmZhY2VdOwogfQogCiB2b2lkIEF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRv
cjo6c2VsZWN0QXNzZXJ0aW9uUmVzcG9uc2UoVmVjdG9yPFJlZjxBdXRoZW50aWNhdG9yQXNzZXJ0
aW9uUmVzcG9uc2U+PiYmIHJlc3BvbnNlcywgV2ViQXV0aGVudGljYXRpb25Tb3VyY2Ugc291cmNl
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZSop
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQpAQCAtMTU3LDEwICsxNzksMTMgQEAgdm9pZCBBdXRoZW50
aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3I6OnJlcXVlc3RMQUNvbnRleHRGb3JVc2VyVmVyaWZp
Y2F0aW9uKENvbXAKIHZvaWQgQXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yOjpkaW1p
c3NQcmVzZW50ZXIoV2ViQXV0aGVudGljYXRpb25SZXN1bHQgcmVzdWx0KQogewogICAgIGlmIChy
ZXN1bHQgPT0gV2ViQXV0aGVudGljYXRpb25SZXN1bHQ6OlN1Y2NlZWRlZCAmJiBtX2NyZWRlbnRp
YWxSZXF1ZXN0SGFuZGxlcikgewotICAgICAgICBtX2NyZWRlbnRpYWxSZXF1ZXN0SGFuZGxlcigp
OworICAgICAgICAvLyBGSVhNRSgyMTk3NjcpOiBSZXBsYWNlIHRoZSBBU0NBcHBsZUlEQ3JlZGVu
dGlhbCB3aXRoIHRoZSB1cGNvbWluZyBXZWJBdXRobiBjcmVkZW50aWFscyBvbmUuCisgICAgICAg
IC8vIFRoaXMgaXMganVzdCBhIHBsYWNlIGhvbGRlciB0byB0ZWxsIHRoZSBVSSB0aGF0IHRoZSBj
ZXJlbW9ueSBzdWNjZWVkcy4KKyAgICAgICAgbV9jcmVkZW50aWFsUmVxdWVzdEhhbmRsZXIoYWRv
cHROUyhbV2ViS2l0OjphbGxvY0FTQ0FwcGxlSURDcmVkZW50aWFsSW5zdGFuY2UoKSBpbml0V2l0
aFVzZXI6QCIiIGlkZW50aXR5VG9rZW46YWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdF0pLmdl
dCgpXSkuZ2V0KCksIG5pbCk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgLy8gRklYTUUo
MjE5NzE2KTogQWRvcHQgbmV3IFVJIGZvciB0aGUgZGlzbWlzcyBmbG93LgorCisgICAgW21fcHJl
c2VudGVyIGRpc21pc3NXaXRoRXJyb3I6bmlsXTsKIH0KIAogdm9pZCBBdXRoZW50aWNhdG9yUHJl
c2VudGVyQ29vcmRpbmF0b3I6OnNldExBQ29udGV4dChMQUNvbnRleHQgKmNvbnRleHQpCkBAIC0x
ODUsNiArMjEwLDExIEBAIHZvaWQgQXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yOjpk
aWRTZWxlY3RBc3NlcnRpb25SZXNwb25zZShBU0NMb2dpbkNob2ljCiAgICAgbV9yZXNwb25zZUhh
bmRsZXIocmVzcG9uc2UuZ2V0KCkpOwogfQogCit2b2lkIEF1dGhlbnRpY2F0b3JQcmVzZW50ZXJD
b29yZGluYXRvcjo6c2V0UGluKGNvbnN0IFN0cmluZyYgcGluKQoreworICAgIG1fcGluSGFuZGxl
cihwaW4pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShX
RUJfQVVUSE4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50
aWNhdGlvbi9Db2NvYS9OZmNTZXJ2aWNlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
QXV0aGVudGljYXRpb24vQ29jb2EvTmZjU2VydmljZS5tbQppbmRleCA2NTNhOTg0ZjNkYzcxMWYz
ZmQzNjhlOWQ0YTk4ZmE1YWY5YjNhMTliLi4xMzY4YzM5M2JiNThlNGUyMmQwZWRhNzNkOTBiYTk0
NGUzMzU4NWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50
aWNhdGlvbi9Db2NvYS9OZmNTZXJ2aWNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL05mY1NlcnZpY2UubW0KQEAgLTExOCw3ICsxMTgsNyBA
QCB2b2lkIE5mY1NlcnZpY2U6OnBsYXRmb3JtU3RhcnREaXNjb3ZlcnkoKQogICAgICAgICAgICAg
bV9jb25uZWN0aW9uID0gTmZjQ29ubmVjdGlvbjo6Y3JlYXRlKFdURk1vdmUoc2Vzc2lvbiksICp0
aGlzKTsKICAgICAgICAgfSk7CiAgICAgfSk7Ci0gICAgW1tnZXRORkhhcmR3YXJlTWFuYWdlckNs
YXNzKCkgc2hhcmVkSGFyZHdhcmVNYW5hZ2VyXSBzdGFydFJlYWRlclNlc3Npb246Y2FsbGJhY2su
Z2V0KCldOworICAgIFtbZ2V0TkZIYXJkd2FyZU1hbmFnZXJDbGFzcygpIHNoYXJlZEhhcmR3YXJl
TWFuYWdlcldpdGhOb1VJXSBzdGFydFJlYWRlclNlc3Npb246Y2FsbGJhY2suZ2V0KCldOwogI2Vu
ZGlmIC8vIEhBVkUoTkVBUl9GSUVMRCkKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvV0tBU0NBdXRob3JpemF0aW9uUHJlc2Vu
dGVyRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlv
bi9Db2NvYS9XS0FTQ0F1dGhvcml6YXRpb25QcmVzZW50ZXJEZWxlZ2F0ZS5tbQppbmRleCAwYWFh
YzY0M2M0NWNkOTBlMGM0MjZlZmNjODNiYjZmYTdiZjlhNjI2Li5jYzU2Zjk3NDYzYzYyNjgxMmNh
NjRjYzQ0M2IxZDIyYTZjMWZkYWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9XS0FTQ0F1dGhvcml6YXRpb25QcmVzZW50ZXJEZWxl
Z2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9D
b2NvYS9XS0FTQ0F1dGhvcml6YXRpb25QcmVzZW50ZXJEZWxlZ2F0ZS5tbQpAQCAtNDcsMTAgKzQ3
LDggQEAgLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoQ29vcmRpbmF0b3I6KFdlYktpdDo6QXV0aGVu
dGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yJikKIAogLSAodm9pZClhdXRob3JpemF0aW9uUHJl
c2VudGVyOihBU0NBdXRob3JpemF0aW9uUHJlc2VudGVyICopcHJlc2VudGVyIGNyZWRlbnRpYWxS
ZXF1ZXN0ZWRGb3JMb2dpbkNob2ljZTooaWQgPEFTQ0xvZ2luQ2hvaWNlUHJvdG9jb2w+KWxvZ2lu
Q2hvaWNlIGF1dGhlbnRpY2F0ZWRDb250ZXh0OihudWxsYWJsZSBMQUNvbnRleHQgKiljb250ZXh0
IGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShpZCA8QVNDQ3JlZGVudGlhbFByb3RvY29sPiBf
TnVsbGFibGUgY3JlZGVudGlhbCwgTlNFcnJvciAqIF9OdWxsYWJsZSBlcnJvcikpY29tcGxldGlv
bkhhbmRsZXIKIHsKLSAgICBhdXRvIHJlcXVlc3RIYW5kbGVyID0gW2NvbXBsZXRpb25IYW5kbGVy
ID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0gewotICAgICAgICAvLyBGSVhNRSgy
MTk3NjcpOiBSZXBsYWNlIHRoZSBBU0NBcHBsZUlEQ3JlZGVudGlhbCB3aXRoIHRoZSB1cGNvbWlu
ZyBXZWJBdXRobiBjcmVkZW50aWFscyBvbmUuCi0gICAgICAgIC8vIFRoaXMgaXMganVzdCBhIHBs
YWNlIGhvbGRlciB0byB0ZWxsIHRoZSBVSSB0aGF0IHRoZSBjZXJlbW9ueSBzdWNjZWVkcy4KLSAg
ICAgICAgY29tcGxldGlvbkhhbmRsZXIoYWRvcHROUyhbV2ViS2l0OjphbGxvY0FTQ0FwcGxlSURD
cmVkZW50aWFsSW5zdGFuY2UoKSBpbml0V2l0aFVzZXI6QCIiIGlkZW50aXR5VG9rZW46YWRvcHRO
UyhbW05TRGF0YSBhbGxvY10gaW5pdF0pLmdldCgpXSkuZ2V0KCksIG5pbCk7CisgICAgYXV0byBy
ZXF1ZXN0SGFuZGxlciA9IFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0
aW9uSGFuZGxlcildIChBU0NBcHBsZUlEQ3JlZGVudGlhbCAqY3JlZGVudGlhbCwgTlNFcnJvciAq
ZXJyb3IpIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoY3JlZGVudGlhbCwgZXJyb3IpOwog
ICAgIH07CiAgICAgW3NlbGYgZGlzcGF0Y2hDb29yZGluYXRvckNhbGxiYWNrOltyZXF1ZXN0SGFu
ZGxlciA9IFdURk1vdmUocmVxdWVzdEhhbmRsZXIpXSAoV2ViS2l0OjpBdXRoZW50aWNhdG9yUHJl
c2VudGVyQ29vcmRpbmF0b3ImIGNvb3JkaW5hdG9yKSBtdXRhYmxlIHsKICAgICAgICAgY29vcmRp
bmF0b3Iuc2V0Q3JlZGVudGlhbFJlcXVlc3RIYW5kbGVyKFdURk1vdmUocmVxdWVzdEhhbmRsZXIp
KTsKQEAgLTg3LDcgKzg1LDE3IEBAIC0gKHZvaWQpYXV0aG9yaXphdGlvblByZXNlbnRlcjooQVND
QXV0aG9yaXphdGlvblByZXNlbnRlciAqKXByZXNlbnRlciBjcmVkZW50aWFsCiAKIC0gKHZvaWQp
YXV0aG9yaXphdGlvblByZXNlbnRlcjooQVNDQXV0aG9yaXphdGlvblByZXNlbnRlciAqKXByZXNl
bnRlciB2YWxpZGF0ZVVzZXJFbnRlcmVkUElOOihOU1N0cmluZyAqKXBpbiBjb21wbGV0aW9uSGFu
ZGxlcjoodm9pZCAoXikoaWQgPEFTQ0NyZWRlbnRpYWxQcm90b2NvbD4gY3JlZGVudGlhbCwgTlNF
cnJvciAqZXJyb3IpKWNvbXBsZXRpb25IYW5kbGVyCiB7Ci0gICAgLy8gRklYTUUoMjE5NzEyKTog
QWRvcHQgbmV3IFVJIGZvciB0aGUgQ2xpZW50IFBJTiBmbG93LgorICAgIGF1dG8gcmVxdWVzdEhh
bmRsZXIgPSBbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRs
ZXIpXSAoQVNDQXBwbGVJRENyZWRlbnRpYWwgKmNyZWRlbnRpYWwsIE5TRXJyb3IgKmVycm9yKSB7
CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGNyZWRlbnRpYWwsIGVycm9yKTsKKyAgICB9Owor
ICAgIFtzZWxmIGRpc3BhdGNoQ29vcmRpbmF0b3JDYWxsYmFjazpbcmVxdWVzdEhhbmRsZXIgPSBX
VEZNb3ZlKHJlcXVlc3RIYW5kbGVyKV0gKFdlYktpdDo6QXV0aGVudGljYXRvclByZXNlbnRlckNv
b3JkaW5hdG9yJiBjb29yZGluYXRvcikgbXV0YWJsZSB7CisgICAgICAgIGNvb3JkaW5hdG9yLnNl
dENyZWRlbnRpYWxSZXF1ZXN0SGFuZGxlcihXVEZNb3ZlKHJlcXVlc3RIYW5kbGVyKSk7CisgICAg
fV07CisKKyAgICBTdHJpbmcgcGluU3RyaW5nID0gcGluOworICAgIFtzZWxmIGRpc3BhdGNoQ29v
cmRpbmF0b3JDYWxsYmFjazpbcGluU3RyaW5nID0gV1RGTW92ZShwaW5TdHJpbmcpXSAoV2ViS2l0
OjpBdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3ImIGNvb3JkaW5hdG9yKSBtdXRhYmxl
IHsKKyAgICAgICAgY29vcmRpbmF0b3Iuc2V0UGluKHBpblN0cmluZyk7CisgICAgfV07CiB9CiAK
IC0gKHZvaWQpZGlzcGF0Y2hDb29yZGluYXRvckNhbGxiYWNrOihGdW5jdGlvbjx2b2lkKFdlYktp
dDo6QXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yJik+JiYpY2FsbGJhY2sK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417041</attachid>
            <date>2021-01-05 15:20:13 -0800</date>
            <delta_ts>2021-01-05 15:48:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219712-20210105152012.patch</filename>
            <type>text/plain</type>
            <size>17532</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk1MDhjYTY4MWMyODg5Mjdk
NWFkZjBlM2E1NDg3NDQyODIzYmIxYzAuLjY0Njg0ZThjNjgxMzBiNTc1ZTNmMDJhMzIxN2VjZDAx
YWNkMzZjNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMjAtMTItMjQgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIEFkb3B0IG5l
dyBVSSBmb3IgdGhlIENsaWVudCBQSU4gYW5kIGRpc21pc3MgZmxvdworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5NzEyCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83MjE1NDkzNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBDb3ZlcmVkIGJ5IG1hbnVhbCB0ZXN0cy4KKworICAgICAgICBUaGlzIHBhdGNo
IGRvZXMgdGhlIGZvbGxvd2luZyBmZXcgdGhpbmdzOgorICAgICAgICAxLiBJdCB0d2Vha3MgdGhl
IFdlYkF1dGhuIHByb2Nlc3MgYXMgYSBVSSB2aWV3IHNlcnZpY2UgdG8gYmUgYWJsZSB0byBydW4g
TmVhckZpZWxkIGluIHRoZSBiYWNrZ3JvdW5kLgorICAgICAgICAyLiBJdCBhZG9wdHMgbmV3IFNQ
SSBmb3Igc2VjdXJpdHkga2V5cycgY2xpZW50IHBpbiBzdXBwb3J0LgorICAgICAgICAzLiBJdCBh
ZG9wdHMgbmV3IFNQSSB0byBkaXNtaXNzIHRoZSBVSSB3aGVuIG5lY2Vzc2FyeS4KKworICAgICAg
ICAqIFBsYXRmb3JtL3NwaS9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNQSS5oOgor
ICAgICAgICAoTlNfRVJST1JfRU5VTSk6CisgICAgICAgIEFkZHMgbmV3IFNQSS4KKworICAgICAg
ICAqIFNjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2g6CisgICAgICAgIFR3ZWFrcyBXZWJB
dXRobiBwcm9jZXNzIGZvciBORkMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVudGlj
YXRpb24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZp
Y2VzQ29yZVNvZnRMaW5rLm1tOgorICAgICAgICBQYXBlcndvcmsuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRvclByZXNlbnRlckNvb3Jk
aW5hdG9yLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1
dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvci5tbToKKyAgICAgICAgKFdlYktpdDo6QXV0
aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yOjp+QXV0aGVudGljYXRvclByZXNlbnRlckNv
b3JkaW5hdG9yKToKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRvclByZXNlbnRlckNvb3Jk
aW5hdG9yOjp1cGRhdGVQcmVzZW50ZXIpOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdG9y
UHJlc2VudGVyQ29vcmRpbmF0b3I6OnJlcXVlc3RQaW4pOgorICAgICAgICAoV2ViS2l0OjpBdXRo
ZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3I6OmRpbWlzc1ByZXNlbnRlcik6CisgICAgICAg
IChXZWJLaXQ6OkF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcjo6c2V0UGluKToKKyAg
ICAgICAgQWRvcHRzIG5ldyBTUElzLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL0NvY29hL05mY1NlcnZpY2UubW06CisgICAgICAgIChXZWJLaXQ6Ok5mY1NlcnZpY2U6
OnBsYXRmb3JtU3RhcnREaXNjb3ZlcnkpOgorICAgICAgICBUd2Vha3MgTkZDLgorCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL1dLQVNDQXV0aG9yaXphdGlvblBy
ZXNlbnRlckRlbGVnYXRlLm1tOgorICAgICAgICAoLVtXS0FTQ0F1dGhvcml6YXRpb25QcmVzZW50
ZXJEZWxlZ2F0ZSBhdXRob3JpemF0aW9uUHJlc2VudGVyOmNyZWRlbnRpYWxSZXF1ZXN0ZWRGb3JM
b2dpbkNob2ljZTphdXRoZW50aWNhdGVkQ29udGV4dDpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAg
ICAgICAgKC1bV0tBU0NBdXRob3JpemF0aW9uUHJlc2VudGVyRGVsZWdhdGUgYXV0aG9yaXphdGlv
blByZXNlbnRlcjp2YWxpZGF0ZVVzZXJFbnRlcmVkUElOOmNvbXBsZXRpb25IYW5kbGVyOl0pOgor
ICAgICAgICBBZG9wdHMgbmV3IFNQSXMuCisKIDIwMjAtMTItMjEgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAoaU9TIDE0KTogQmFk
IGFjY2VzcyBjcmFzaCBpbiBTaGFyZWFibGVCaXRtYXA6Om1ha2VDR0ltYWdlQ29weSgpIHVuZGVy
IGFzc2lnbkxlZ2FjeURhdGFGb3JDb250ZXh0TWVudUludGVyYWN0aW9uKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXND
b3JlU1BJLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9Db2NvYS9BdXRoZW50aWNhdGlv
blNlcnZpY2VzQ29yZVNQSS5oCmluZGV4IDFjNmNjNzhiZWViNTlmZWM0OGRkMTRlYzQ2NGMwZTM3
NjU2MjJmY2MuLjQxMjRiMjI4NWY3NThiODFkMjRhNzQxMzNjMGNjY2YxZmZjMDdiZmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0F1dGhlbnRpY2F0aW9uU2Vy
dmljZXNDb3JlU1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvQ29jb2EvQXV0
aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTUEkuaApAQCAtNzEsNiArNzEsOCBAQCBOU19BU1NVTUVf
Tk9OTlVMTF9CRUdJTgogCiAtICh2b2lkKXByZXNlbnRBdXRob3JpemF0aW9uV2l0aENvbnRleHQ6
KEFTQ0F1dGhvcml6YXRpb25QcmVzZW50YXRpb25Db250ZXh0ICopY29udGV4dCBjb21wbGV0aW9u
SGFuZGxlcjoodm9pZCAoXikoaWQ8QVNDQ3JlZGVudGlhbFByb3RvY29sPiBfTnVsbGFibGUsIE5T
RXJyb3IgKiBfTnVsbGFibGUpKWNvbXBsZXRpb25IYW5kbGVyOwogLSAodm9pZCl1cGRhdGVJbnRl
cmZhY2VXaXRoTG9naW5DaG9pY2VzOihOU0FycmF5PGlkIDxBU0NMb2dpbkNob2ljZVByb3RvY29s
Pj4gKilsb2dpbkNob2ljZXM7CistICh2b2lkKXByZXNlbnRQSU5FbnRyeUludGVyZmFjZTsKKy0g
KHZvaWQpZGlzbWlzc1dpdGhFcnJvcjoobnVsbGFibGUgTlNFcnJvciAqKWVycm9yOwogCiBAcHJv
cGVydHkgKG5vbmF0b21pYywgd2VhaykgaWQgPEFTQ0F1dGhvcml6YXRpb25QcmVzZW50ZXJEZWxl
Z2F0ZT4gZGVsZWdhdGU7CiAKQEAgLTE1OCw2ICsxNjAsMjMgQEAgdHlwZWRlZiBOU19FTlVNKE5T
SW50ZWdlciwgQVNDU2VjdXJpdHlLZXlQdWJsaWNLZXlDcmVkZW50aWFsTG9naW5DaG9pY2VLaW5k
KSB7CiAKIEBlbmQKIAorZXh0ZXJuIE5TRXJyb3JEb21haW4gY29uc3QgQVNDQXV0aG9yaXphdGlv
bkVycm9yRG9tYWluOworCit0eXBlZGVmIE5TX0VSUk9SX0VOVU0oQVNDQXV0aG9yaXphdGlvbkVy
cm9yRG9tYWluLCBBU0NBdXRob3JpemF0aW9uRXJyb3IpIHsKKyAgICBBU0NBdXRob3JpemF0aW9u
RXJyb3JVbmtub3duLAorICAgIEFTQ0F1dGhvcml6YXRpb25FcnJvckZhaWxlZCwKKyAgICBBU0NB
dXRob3JpemF0aW9uRXJyb3JVc2VyQ2FuY2VsZWQsCisgICAgQVNDQXV0aG9yaXphdGlvbkVycm9y
UElOUmVxdWlyZWQsCit9OworCitleHRlcm4gTlNTdHJpbmcgKiBjb25zdCBBU0NQSU5WYWxpZGF0
aW9uUmVzdWx0S2V5OworCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBBU0NQSU5WYWxpZGF0
aW9uUmVzdWx0KSB7CisgICAgQVNDUElOVmFsaWRhdGlvblJlc3VsdFBJTkJsb2NrZWQsCisgICAg
QVNDUElOVmFsaWRhdGlvblJlc3VsdFBJTkF1dGhCbG9ja2VkLAorICAgIEFTQ1BJTlZhbGlkYXRp
b25SZXN1bHRQSU5JbnZhbGlkLAorfTsKKwogTlNfQVNTVU1FX05PTk5VTExfRU5ECiAKIC8vI2Vu
ZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL3NwaS9Db2NvYS9OZWFyRmllbGRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vc3BpL0NvY29hL05lYXJGaWVsZFNQSS5oCmluZGV4IDc1M2U1Y2U3NmFkNWE0YmViYTNjOWVh
ZGI3ZDBiYmIyZjI0ZmRhZGMuLjJjZWU5MDY3OWJlMTZjMDk3YTVmMGQxNzhlMDczYjI4MTNkM2Rl
NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL05lYXJGaWVs
ZFNQSS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL05lYXJGaWVsZFNQ
SS5oCkBAIC0xMDQsNyArMTA0LDcgQEAgdHlwZWRlZiBOU19FTlVNKHVpbnQzMl90LCBORk5kZWZB
dmFpbGFiaWxpdHkpIHsKIEBlbmQKIAogQGludGVyZmFjZSBORkhhcmR3YXJlTWFuYWdlciA6IE5T
T2JqZWN0Ci0rIChpbnN0YW5jZXR5cGUpc2hhcmVkSGFyZHdhcmVNYW5hZ2VyOworKyAoaW5zdGFu
Y2V0eXBlKXNoYXJlZEhhcmR3YXJlTWFuYWdlcldpdGhOb1VJOwogLSAoTlNPYmplY3Q8TkZTZXNz
aW9uPiAqKXN0YXJ0UmVhZGVyU2Vzc2lvbjoodm9pZCheKShORlJlYWRlclNlc3Npb24gKnNlc3Np
b24sIE5TRXJyb3IgKmVycm9yKSl0aGVTdGFydENhbGxiYWNrOwogLSAoQk9PTClhcmVGZWF0dXJl
c1N1cHBvcnRlZDooTkZGZWF0dXJlKWZlYXR1cmVNYXNrIG91dEVycm9yOihOU0Vycm9yKiopb3V0
RXJyb3I7CiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1l
bnRpdGxlbWVudHMuc2ggYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVu
dHMuc2gKaW5kZXggYTUwN2E5YjZkMWQ0MGRkNDE4MTJjYzU4YzIyMzMxZTMwYjk4MmMyYS4uZGQw
Yjc2NWQ2MGE4ZGVkMjJmNWY5NmY1MGFlYThiZjg4MTRiMDYwNiAxMDA3NTUKLS0tIGEvU291cmNl
L1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaApAQCAtMjQzLDYgKzI0Myw5IEBAIGZ1
bmN0aW9uIGlvc19mYW1pbHlfcHJvY2Vzc193ZWJhdXRobl9lbnRpdGxlbWVudHMoKQogCiAgICAg
cGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5uZmNkLmh3bWFuYWdlciBib29sIFlFUwogICAgIHBs
aXN0YnVkZHkgQWRkIDpjb20uYXBwbGUubmZjZC5zZXNzaW9uLnJlYWRlci5pbnRlcm5hbCBib29s
IFlFUworICAgICMgRklYTUUocmRhcjovL3Byb2JsZW0vNzI2NDY2NjQpOiBGaW5kIGEgYmV0dGVy
IHdheSB0byBpbnZva2UgTmVhckZpZWxkIGluIHRoZSBiYWNrZ3JvdW5kLgorICAgIHBsaXN0YnVk
ZHkgQWRkIDpjb20uYXBwbGUuaW50ZXJuYWwubmZjLmFsbG93LmJhY2tncm91bmRlZC5zZXNzaW9u
IGJvb2wgWUVTCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5VSUtpdC52ZW5kcy12aWV3
LXNlcnZpY2VzIGJvb2wgWUVTCiAKICAgICBwbGlzdGJ1ZGR5IEFkZCA6a2V5Y2hhaW4tYWNjZXNz
LWdyb3VwcyBhcnJheQogICAgIHBsaXN0YnVkZHkgQWRkIDprZXljaGFpbi1hY2Nlc3MtZ3JvdXBz
OjAgc3RyaW5nIGNvbS5hcHBsZS53ZWJraXQud2ViYXV0aG4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2Vy
dmljZXNDb3JlU29mdExpbmsuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsuaAppbmRleCBi
ZTkyMTIwMWY1ODYyNmNjMDQ0MjQ4OTgyODNmYzQyOTk4NzUyM2E2Li5jYzA3NDNjNGMyMTE0Yzg0
MWUwZGEwMGFjMGYwNGJjMjgwMjVmMGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNv
ZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24v
Q29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oCkBAIC0zOCw0ICszOCwx
MCBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihXZWJLaXQsIEFTQ1BsYXRmb3JtUHVibGlj
S2V5Q3JlZGVudGlhbExvZ2luQ2hvaWNlKTsKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdl
YktpdCwgQVNDU2VjdXJpdHlLZXlQdWJsaWNLZXlDcmVkZW50aWFsTG9naW5DaG9pY2UpOwogU09G
VF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoV2ViS2l0LCBBU0NBcHBsZUlEQ3JlZGVudGlhbCk7CiAK
K1NPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdlYktpdCwgQXV0aGVudGljYXRpb25TZXJ2
aWNlc0NvcmUsIEFTQ0F1dGhvcml6YXRpb25FcnJvckRvbWFpbiwgTlNFcnJvckRvbWFpbik7Cisj
ZGVmaW5lIEFTQ0F1dGhvcml6YXRpb25FcnJvckRvbWFpbiBXZWJLaXQ6OmdldF9BdXRoZW50aWNh
dGlvblNlcnZpY2VzQ29yZV9BU0NBdXRob3JpemF0aW9uRXJyb3JEb21haW4oKQorCitTT0ZUX0xJ
TktfQ09OU1RBTlRfRk9SX0hFQURFUihXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3Jl
LCBBU0NQSU5WYWxpZGF0aW9uUmVzdWx0S2V5LCBOU1N0cmluZyopOworI2RlZmluZSBBU0NQSU5W
YWxpZGF0aW9uUmVzdWx0S2V5IFdlYktpdDo6Z2V0X0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3Jl
X0FTQ1BJTlZhbGlkYXRpb25SZXN1bHRLZXkoKQorCiAjZW5kaWYgLy8gSEFWRShBU0NfQVVUSF9V
SSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9u
L0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZp
Y2VzQ29yZVNvZnRMaW5rLm1tCmluZGV4IDg3ZTU0NjAyMjdmNDgxOTE2NTc2YzA5Njg0ODM5MDBj
ZmRhN2M5ZGEuLjk3Y2U0YTYxMTNiNjcwN2EwOTEwMzJjZTBkZGVmMjAxYWNkNTk1OGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1
dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0Nv
cmVTb2Z0TGluay5tbQpAQCAtMzgsNCArMzgsNyBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJD
RShXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlLCBBU0NQbGF0Zm9ybVB1YmxpYwog
U09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0UoV2ViS2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2Vz
Q29yZSwgQVNDU2VjdXJpdHlLZXlQdWJsaWNLZXlDcmVkZW50aWFsTG9naW5DaG9pY2UpOwogU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0UoV2ViS2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29y
ZSwgQVNDQXBwbGVJRENyZWRlbnRpYWwpOwogCitTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJD
RShXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlLCBBU0NBdXRob3JpemF0aW9uRXJy
b3JEb21haW4sIE5TRXJyb3JEb21haW4pOworU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0Uo
V2ViS2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZSwgQVNDUElOVmFsaWRhdGlvblJlc3Vs
dEtleSwgTlNTdHJpbmcqKTsKKwogI2VuZGlmIC8vIEhBVkUoQVNDX0FVVEhfVUkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRo
ZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRv
ci5oCmluZGV4IDYzZDA3MGMzZGU3ZDI4NzY2YjVjYTg2Y2U4YTM1ZTQ5MGZlNmNkNDkuLmYxMzkz
NTEyZmUwYjg1OWVjZTM4MjliZjIzOWY2YWU2YzE4NzQxNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0b3JQcmVz
ZW50ZXJDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhl
bnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvci5oCkBAIC0z
NSwxMCArMzUsMTIgQEAKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1dlYWtQdHIuaD4KIAorT0JKQ19DTEFTUyBBU0NBcHBsZUlEQ3JlZGVudGlhbDsKIE9CSkNfQ0xB
U1MgQVNDQXV0aG9yaXphdGlvblByZXNlbnRhdGlvbkNvbnRleHQ7CiBPQkpDX0NMQVNTIEFTQ0F1
dGhvcml6YXRpb25QcmVzZW50ZXI7CiBPQkpDX0NMQVNTIEFTQ0xvZ2luQ2hvaWNlUHJvdG9jb2w7
CiBPQkpDX0NMQVNTIExBQ29udGV4dDsKK09CSkNfQ0xBU1MgTlNFcnJvcjsKIE9CSkNfQ0xBU1Mg
V0tBU0NBdXRob3JpemF0aW9uUHJlc2VudGVyRGVsZWdhdGU7CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewpAQCAtNTAsNyArNTIsNyBAQCBjbGFzcyBBdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0
b3IgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8QXV0aGVudGljYXRvclByZQogICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcik7CiBwdWJsaWM6
CiAgICAgdXNpbmcgVHJhbnNwb3J0U2V0ID0gSGFzaFNldDxXZWJDb3JlOjpBdXRoZW50aWNhdG9y
VHJhbnNwb3J0LCBXVEY6OkludEhhc2g8V2ViQ29yZTo6QXV0aGVudGljYXRvclRyYW5zcG9ydD4s
IFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8V2ViQ29yZTo6QXV0aGVudGljYXRvclRyYW5zcG9y
dD4+OwotICAgIHVzaW5nIENyZWRlbnRpYWxSZXF1ZXN0SGFuZGxlciA9IEZ1bmN0aW9uPHZvaWQo
KT47CisgICAgdXNpbmcgQ3JlZGVudGlhbFJlcXVlc3RIYW5kbGVyID0gRnVuY3Rpb248dm9pZChB
U0NBcHBsZUlEQ3JlZGVudGlhbCAqLCBOU0Vycm9yICopPjsKIAogICAgIEF1dGhlbnRpY2F0b3JQ
cmVzZW50ZXJDb29yZGluYXRvcihjb25zdCBBdXRoZW50aWNhdG9yTWFuYWdlciYsIGNvbnN0IFN0
cmluZyYgcnBJZCwgY29uc3QgVHJhbnNwb3J0U2V0JiwgV2ViQ29yZTo6Q2xpZW50RGF0YVR5cGUp
OwogICAgIH5BdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3IoKTsKQEAgLTYzLDggKzY1
LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRDcmVkZW50aWFsUmVxdWVzdEhhbmRsZXIoQ3Jl
ZGVudGlhbFJlcXVlc3RIYW5kbGVyJiYgaGFuZGxlcikgeyBtX2NyZWRlbnRpYWxSZXF1ZXN0SGFu
ZGxlciA9IFdURk1vdmUoaGFuZGxlcik7IH0KICAgICB2b2lkIHNldExBQ29udGV4dChMQUNvbnRl
eHQgKik7Ci0KICAgICB2b2lkIGRpZFNlbGVjdEFzc2VydGlvblJlc3BvbnNlKEFTQ0xvZ2luQ2hv
aWNlUHJvdG9jb2wgKiwgTEFDb250ZXh0ICopOworICAgIHZvaWQgc2V0UGluKGNvbnN0IFN0cmlu
ZyYpOwogCiBwcml2YXRlOgogICAgIFdlYWtQdHI8QXV0aGVudGljYXRvck1hbmFnZXI+IG1fbWFu
YWdlcjsKQEAgLTc5LDYgKzgxLDggQEAgcHJpdmF0ZToKIAogICAgIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoV2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlKik+IG1fcmVzcG9u
c2VIYW5kbGVyOwogICAgIEhhc2hNYXA8QVNDTG9naW5DaG9pY2VQcm90b2NvbCAqLCBSZWZQdHI8
V2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlPj4gbV9jcmVkZW50aWFsczsK
KworICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgU3RyaW5nJik+IG1fcGluSGFuZGxl
cjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRvclByZXNlbnRl
ckNvb3JkaW5hdG9yLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRp
b24vQ29jb2EvQXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yLm1tCmluZGV4IDg5ODU2
Zjg2MDhkMmI2Y2QzNWI0MTgyMmI5YjkyMGM1ZWU2NTUxZjguLjJkMzJhYjZkMjMwNGI0N2EwOTdi
ZjAyYWQ0OWI2YTNkNTcxOTExYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRv
ci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2Nv
YS9BdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3IubW0KQEAgLTg2LDE2ICs4NiwzOCBA
QCBBdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3I6On5BdXRoZW50aWNhdG9yUHJlc2Vu
dGVyQ29vcmRpbmF0b3IoKQogICAgICAgICBtX2xhQ29udGV4dEhhbmRsZXIobnVsbHB0cik7CiAg
ICAgaWYgKG1fcmVzcG9uc2VIYW5kbGVyKQogICAgICAgICBtX3Jlc3BvbnNlSGFuZGxlcihudWxs
cHRyKTsKKyAgICBpZiAobV9waW5IYW5kbGVyKQorICAgICAgICBtX3BpbkhhbmRsZXIoU3RyaW5n
KCkpOwogfQogCi12b2lkIEF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcjo6dXBkYXRl
UHJlc2VudGVyKFdlYkF1dGhlbnRpY2F0aW9uU3RhdHVzKQordm9pZCBBdXRoZW50aWNhdG9yUHJl
c2VudGVyQ29vcmRpbmF0b3I6OnVwZGF0ZVByZXNlbnRlcihXZWJBdXRoZW50aWNhdGlvblN0YXR1
cyBzdGF0dXMpCiB7Ci0gICAgLy8gRklYTUUoMjE5NzEzKTogQWRvcHQgbmV3IFVJIGZvciB0aGUg
dXBkYXRlIGZsb3cuCisgICAgc3dpdGNoIChzdGF0dXMpIHsKKyAgICBjYXNlIFdlYkF1dGhlbnRp
Y2F0aW9uU3RhdHVzOjpQaW5CbG9ja2VkOiB7CisgICAgICAgIGF1dG8gZXJyb3IgPSBhZG9wdE5T
KFtbTlNFcnJvciBhbGxvY10gaW5pdFdpdGhEb21haW46QVNDQXV0aG9yaXphdGlvbkVycm9yRG9t
YWluIGNvZGU6QVNDQXV0aG9yaXphdGlvbkVycm9yUElOUmVxdWlyZWQgdXNlckluZm86QHsgQVND
UElOVmFsaWRhdGlvblJlc3VsdEtleTogQChBU0NQSU5WYWxpZGF0aW9uUmVzdWx0UElOQmxvY2tl
ZCkgfV0pOworICAgICAgICBtX2NyZWRlbnRpYWxSZXF1ZXN0SGFuZGxlcihuaWwsIGVycm9yLmdl
dCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgV2ViQXV0aGVudGljYXRpb25T
dGF0dXM6OlBpbkF1dGhCbG9ja2VkOiB7CisgICAgICAgIGF1dG8gZXJyb3IgPSBhZG9wdE5TKFtb
TlNFcnJvciBhbGxvY10gaW5pdFdpdGhEb21haW46QVNDQXV0aG9yaXphdGlvbkVycm9yRG9tYWlu
IGNvZGU6QVNDQXV0aG9yaXphdGlvbkVycm9yUElOUmVxdWlyZWQgdXNlckluZm86QHsgQVNDUElO
VmFsaWRhdGlvblJlc3VsdEtleTogQChBU0NQSU5WYWxpZGF0aW9uUmVzdWx0UElOQXV0aEJsb2Nr
ZWQpIH1dKTsKKyAgICAgICAgbV9jcmVkZW50aWFsUmVxdWVzdEhhbmRsZXIobmlsLCBlcnJvci5n
ZXQoKSk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIFdlYkF1dGhlbnRpY2F0aW9u
U3RhdHVzOjpQaW5JbnZhbGlkOiB7CisgICAgICAgIGF1dG8gZXJyb3IgPSBhZG9wdE5TKFtbTlNF
cnJvciBhbGxvY10gaW5pdFdpdGhEb21haW46QVNDQXV0aG9yaXphdGlvbkVycm9yRG9tYWluIGNv
ZGU6QVNDQXV0aG9yaXphdGlvbkVycm9yUElOUmVxdWlyZWQgdXNlckluZm86QHsgQVNDUElOVmFs
aWRhdGlvblJlc3VsdEtleTogQChBU0NQSU5WYWxpZGF0aW9uUmVzdWx0UElOSW52YWxpZCkgfV0p
OworICAgICAgICBtX2NyZWRlbnRpYWxSZXF1ZXN0SGFuZGxlcihuaWwsIGVycm9yLmdldCgpKTsK
KyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIC8vIEZJWE1FKDIx
OTcxMyk6IEFkb3B0IG5ldyBVSSBmb3IgdGhlIHVwZGF0ZSBmbG93LgorICAgICAgICBicmVhazsK
KyAgICB9CiB9CiAKLXZvaWQgQXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yOjpyZXF1
ZXN0UGluKHVpbnQ2NF90LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFN0cmluZyYpPiYm
KQordm9pZCBBdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3I6OnJlcXVlc3RQaW4odWlu
dDY0X3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgU3RyaW5nJik+JiYgY29tcGxldGlv
bkhhbmRsZXIpCiB7Ci0gICAgLy8gRklYTUUoMjE5NzEyKTogQWRvcHQgbmV3IFVJIGZvciB0aGUg
Q2xpZW50IFBJTiBmbG93LgorICAgIG1fcGluSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpOworICAgIFttX3ByZXNlbnRlciBwcmVzZW50UElORW50cnlJbnRlcmZhY2VdOwogfQog
CiB2b2lkIEF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcjo6c2VsZWN0QXNzZXJ0aW9u
UmVzcG9uc2UoVmVjdG9yPFJlZjxBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U+PiYmIHJl
c3BvbnNlcywgV2ViQXV0aGVudGljYXRpb25Tb3VyY2Ugc291cmNlLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZSopPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQpAQCAtMTU3LDEwICsxNzksMTMgQEAgdm9pZCBBdXRoZW50aWNhdG9yUHJlc2VudGVyQ29v
cmRpbmF0b3I6OnJlcXVlc3RMQUNvbnRleHRGb3JVc2VyVmVyaWZpY2F0aW9uKENvbXAKIHZvaWQg
QXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yOjpkaW1pc3NQcmVzZW50ZXIoV2ViQXV0
aGVudGljYXRpb25SZXN1bHQgcmVzdWx0KQogewogICAgIGlmIChyZXN1bHQgPT0gV2ViQXV0aGVu
dGljYXRpb25SZXN1bHQ6OlN1Y2NlZWRlZCAmJiBtX2NyZWRlbnRpYWxSZXF1ZXN0SGFuZGxlcikg
ewotICAgICAgICBtX2NyZWRlbnRpYWxSZXF1ZXN0SGFuZGxlcigpOworICAgICAgICAvLyBGSVhN
RSgyMTk3NjcpOiBSZXBsYWNlIHRoZSBBU0NBcHBsZUlEQ3JlZGVudGlhbCB3aXRoIHRoZSB1cGNv
bWluZyBXZWJBdXRobiBjcmVkZW50aWFscyBvbmUuCisgICAgICAgIC8vIFRoaXMgaXMganVzdCBh
IHBsYWNlIGhvbGRlciB0byB0ZWxsIHRoZSBVSSB0aGF0IHRoZSBjZXJlbW9ueSBzdWNjZWVkcy4K
KyAgICAgICAgbV9jcmVkZW50aWFsUmVxdWVzdEhhbmRsZXIoYWRvcHROUyhbV2ViS2l0OjphbGxv
Y0FTQ0FwcGxlSURDcmVkZW50aWFsSW5zdGFuY2UoKSBpbml0V2l0aFVzZXI6QCIiIGlkZW50aXR5
VG9rZW46YWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdF0pLmdldCgpXSkuZ2V0KCksIG5pbCk7
CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgLy8gRklYTUUoMjE5NzE2KTogQWRvcHQgbmV3
IFVJIGZvciB0aGUgZGlzbWlzcyBmbG93LgorCisgICAgW21fcHJlc2VudGVyIGRpc21pc3NXaXRo
RXJyb3I6bmlsXTsKIH0KIAogdm9pZCBBdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3I6
OnNldExBQ29udGV4dChMQUNvbnRleHQgKmNvbnRleHQpCkBAIC0xODUsNiArMjEwLDExIEBAIHZv
aWQgQXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yOjpkaWRTZWxlY3RBc3NlcnRpb25S
ZXNwb25zZShBU0NMb2dpbkNob2ljCiAgICAgbV9yZXNwb25zZUhhbmRsZXIocmVzcG9uc2UuZ2V0
KCkpOwogfQogCit2b2lkIEF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcjo6c2V0UGlu
KGNvbnN0IFN0cmluZyYgcGluKQoreworICAgIG1fcGluSGFuZGxlcihwaW4pOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9OZmNT
ZXJ2aWNlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29j
b2EvTmZjU2VydmljZS5tbQppbmRleCA2NTNhOTg0ZjNkYzcxMWYzZmQzNjhlOWQ0YTk4ZmE1YWY5
YjNhMTliLi4xMzY4YzM5M2JiNThlNGUyMmQwZWRhNzNkOTBiYTk0NGUzMzU4NWNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9OZmNT
ZXJ2aWNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9u
L0NvY29hL05mY1NlcnZpY2UubW0KQEAgLTExOCw3ICsxMTgsNyBAQCB2b2lkIE5mY1NlcnZpY2U6
OnBsYXRmb3JtU3RhcnREaXNjb3ZlcnkoKQogICAgICAgICAgICAgbV9jb25uZWN0aW9uID0gTmZj
Q29ubmVjdGlvbjo6Y3JlYXRlKFdURk1vdmUoc2Vzc2lvbiksICp0aGlzKTsKICAgICAgICAgfSk7
CiAgICAgfSk7Ci0gICAgW1tnZXRORkhhcmR3YXJlTWFuYWdlckNsYXNzKCkgc2hhcmVkSGFyZHdh
cmVNYW5hZ2VyXSBzdGFydFJlYWRlclNlc3Npb246Y2FsbGJhY2suZ2V0KCldOworICAgIFtbZ2V0
TkZIYXJkd2FyZU1hbmFnZXJDbGFzcygpIHNoYXJlZEhhcmR3YXJlTWFuYWdlcldpdGhOb1VJXSBz
dGFydFJlYWRlclNlc3Npb246Y2FsbGJhY2suZ2V0KCldOwogI2VuZGlmIC8vIEhBVkUoTkVBUl9G
SUVMRCkKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vQ29jb2EvV0tBU0NBdXRob3JpemF0aW9uUHJlc2VudGVyRGVsZWdhdGUubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9XS0FTQ0F1dGhv
cml6YXRpb25QcmVzZW50ZXJEZWxlZ2F0ZS5tbQppbmRleCAwYWFhYzY0M2M0NWNkOTBlMGM0MjZl
ZmNjODNiYjZmYTdiZjlhNjI2Li5jYzU2Zjk3NDYzYzYyNjgxMmNhNjRjYzQ0M2IxZDIyYTZjMWZk
YWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlv
bi9Db2NvYS9XS0FTQ0F1dGhvcml6YXRpb25QcmVzZW50ZXJEZWxlZ2F0ZS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9XS0FTQ0F1dGhvcml6
YXRpb25QcmVzZW50ZXJEZWxlZ2F0ZS5tbQpAQCAtNDcsMTAgKzQ3LDggQEAgLSAoaW5zdGFuY2V0
eXBlKWluaXRXaXRoQ29vcmRpbmF0b3I6KFdlYktpdDo6QXV0aGVudGljYXRvclByZXNlbnRlckNv
b3JkaW5hdG9yJikKIAogLSAodm9pZClhdXRob3JpemF0aW9uUHJlc2VudGVyOihBU0NBdXRob3Jp
emF0aW9uUHJlc2VudGVyICopcHJlc2VudGVyIGNyZWRlbnRpYWxSZXF1ZXN0ZWRGb3JMb2dpbkNo
b2ljZTooaWQgPEFTQ0xvZ2luQ2hvaWNlUHJvdG9jb2w+KWxvZ2luQ2hvaWNlIGF1dGhlbnRpY2F0
ZWRDb250ZXh0OihudWxsYWJsZSBMQUNvbnRleHQgKiljb250ZXh0IGNvbXBsZXRpb25IYW5kbGVy
Oih2b2lkICheKShpZCA8QVNDQ3JlZGVudGlhbFByb3RvY29sPiBfTnVsbGFibGUgY3JlZGVudGlh
bCwgTlNFcnJvciAqIF9OdWxsYWJsZSBlcnJvcikpY29tcGxldGlvbkhhbmRsZXIKIHsKLSAgICBh
dXRvIHJlcXVlc3RIYW5kbGVyID0gW2NvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNv
bXBsZXRpb25IYW5kbGVyKV0gewotICAgICAgICAvLyBGSVhNRSgyMTk3NjcpOiBSZXBsYWNlIHRo
ZSBBU0NBcHBsZUlEQ3JlZGVudGlhbCB3aXRoIHRoZSB1cGNvbWluZyBXZWJBdXRobiBjcmVkZW50
aWFscyBvbmUuCi0gICAgICAgIC8vIFRoaXMgaXMganVzdCBhIHBsYWNlIGhvbGRlciB0byB0ZWxs
IHRoZSBVSSB0aGF0IHRoZSBjZXJlbW9ueSBzdWNjZWVkcy4KLSAgICAgICAgY29tcGxldGlvbkhh
bmRsZXIoYWRvcHROUyhbV2ViS2l0OjphbGxvY0FTQ0FwcGxlSURDcmVkZW50aWFsSW5zdGFuY2Uo
KSBpbml0V2l0aFVzZXI6QCIiIGlkZW50aXR5VG9rZW46YWRvcHROUyhbW05TRGF0YSBhbGxvY10g
aW5pdF0pLmdldCgpXSkuZ2V0KCksIG5pbCk7CisgICAgYXV0byByZXF1ZXN0SGFuZGxlciA9IFtj
b21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIChBU0NB
cHBsZUlEQ3JlZGVudGlhbCAqY3JlZGVudGlhbCwgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIoY3JlZGVudGlhbCwgZXJyb3IpOwogICAgIH07CiAgICAgW3NlbGYg
ZGlzcGF0Y2hDb29yZGluYXRvckNhbGxiYWNrOltyZXF1ZXN0SGFuZGxlciA9IFdURk1vdmUocmVx
dWVzdEhhbmRsZXIpXSAoV2ViS2l0OjpBdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3Im
IGNvb3JkaW5hdG9yKSBtdXRhYmxlIHsKICAgICAgICAgY29vcmRpbmF0b3Iuc2V0Q3JlZGVudGlh
bFJlcXVlc3RIYW5kbGVyKFdURk1vdmUocmVxdWVzdEhhbmRsZXIpKTsKQEAgLTg3LDcgKzg1LDE3
IEBAIC0gKHZvaWQpYXV0aG9yaXphdGlvblByZXNlbnRlcjooQVNDQXV0aG9yaXphdGlvblByZXNl
bnRlciAqKXByZXNlbnRlciBjcmVkZW50aWFsCiAKIC0gKHZvaWQpYXV0aG9yaXphdGlvblByZXNl
bnRlcjooQVNDQXV0aG9yaXphdGlvblByZXNlbnRlciAqKXByZXNlbnRlciB2YWxpZGF0ZVVzZXJF
bnRlcmVkUElOOihOU1N0cmluZyAqKXBpbiBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoaWQg
PEFTQ0NyZWRlbnRpYWxQcm90b2NvbD4gY3JlZGVudGlhbCwgTlNFcnJvciAqZXJyb3IpKWNvbXBs
ZXRpb25IYW5kbGVyCiB7Ci0gICAgLy8gRklYTUUoMjE5NzEyKTogQWRvcHQgbmV3IFVJIGZvciB0
aGUgQ2xpZW50IFBJTiBmbG93LgorICAgIGF1dG8gcmVxdWVzdEhhbmRsZXIgPSBbY29tcGxldGlv
bkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpXSAoQVNDQXBwbGVJRENy
ZWRlbnRpYWwgKmNyZWRlbnRpYWwsIE5TRXJyb3IgKmVycm9yKSB7CisgICAgICAgIGNvbXBsZXRp
b25IYW5kbGVyKGNyZWRlbnRpYWwsIGVycm9yKTsKKyAgICB9OworICAgIFtzZWxmIGRpc3BhdGNo
Q29vcmRpbmF0b3JDYWxsYmFjazpbcmVxdWVzdEhhbmRsZXIgPSBXVEZNb3ZlKHJlcXVlc3RIYW5k
bGVyKV0gKFdlYktpdDo6QXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yJiBjb29yZGlu
YXRvcikgbXV0YWJsZSB7CisgICAgICAgIGNvb3JkaW5hdG9yLnNldENyZWRlbnRpYWxSZXF1ZXN0
SGFuZGxlcihXVEZNb3ZlKHJlcXVlc3RIYW5kbGVyKSk7CisgICAgfV07CisKKyAgICBTdHJpbmcg
cGluU3RyaW5nID0gcGluOworICAgIFtzZWxmIGRpc3BhdGNoQ29vcmRpbmF0b3JDYWxsYmFjazpb
cGluU3RyaW5nID0gV1RGTW92ZShwaW5TdHJpbmcpXSAoV2ViS2l0OjpBdXRoZW50aWNhdG9yUHJl
c2VudGVyQ29vcmRpbmF0b3ImIGNvb3JkaW5hdG9yKSBtdXRhYmxlIHsKKyAgICAgICAgY29vcmRp
bmF0b3Iuc2V0UGluKHBpblN0cmluZyk7CisgICAgfV07CiB9CiAKIC0gKHZvaWQpZGlzcGF0Y2hD
b29yZGluYXRvckNhbGxiYWNrOihGdW5jdGlvbjx2b2lkKFdlYktpdDo6QXV0aGVudGljYXRvclBy
ZXNlbnRlckNvb3JkaW5hdG9yJik+JiYpY2FsbGJhY2sK
</data>
<flag name="commit-queue"
          id="434674"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417045</attachid>
            <date>2021-01-05 15:45:23 -0800</date>
            <delta_ts>2021-01-05 16:34:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219712-20210105154522.patch</filename>
            <type>text/plain</type>
            <size>17917</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk1MDhjYTY4MWMyODg5Mjdk
NWFkZjBlM2E1NDg3NDQyODIzYmIxYzAuLjY0Njg0ZThjNjgxMzBiNTc1ZTNmMDJhMzIxN2VjZDAx
YWNkMzZjNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMjAtMTItMjQgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIEFkb3B0IG5l
dyBVSSBmb3IgdGhlIENsaWVudCBQSU4gYW5kIGRpc21pc3MgZmxvdworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5NzEyCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83MjE1NDkzNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBDb3ZlcmVkIGJ5IG1hbnVhbCB0ZXN0cy4KKworICAgICAgICBUaGlzIHBhdGNo
IGRvZXMgdGhlIGZvbGxvd2luZyBmZXcgdGhpbmdzOgorICAgICAgICAxLiBJdCB0d2Vha3MgdGhl
IFdlYkF1dGhuIHByb2Nlc3MgYXMgYSBVSSB2aWV3IHNlcnZpY2UgdG8gYmUgYWJsZSB0byBydW4g
TmVhckZpZWxkIGluIHRoZSBiYWNrZ3JvdW5kLgorICAgICAgICAyLiBJdCBhZG9wdHMgbmV3IFNQ
SSBmb3Igc2VjdXJpdHkga2V5cycgY2xpZW50IHBpbiBzdXBwb3J0LgorICAgICAgICAzLiBJdCBh
ZG9wdHMgbmV3IFNQSSB0byBkaXNtaXNzIHRoZSBVSSB3aGVuIG5lY2Vzc2FyeS4KKworICAgICAg
ICAqIFBsYXRmb3JtL3NwaS9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNQSS5oOgor
ICAgICAgICAoTlNfRVJST1JfRU5VTSk6CisgICAgICAgIEFkZHMgbmV3IFNQSS4KKworICAgICAg
ICAqIFNjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2g6CisgICAgICAgIFR3ZWFrcyBXZWJB
dXRobiBwcm9jZXNzIGZvciBORkMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVudGlj
YXRpb24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZp
Y2VzQ29yZVNvZnRMaW5rLm1tOgorICAgICAgICBQYXBlcndvcmsuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRvclByZXNlbnRlckNvb3Jk
aW5hdG9yLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1
dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvci5tbToKKyAgICAgICAgKFdlYktpdDo6QXV0
aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yOjp+QXV0aGVudGljYXRvclByZXNlbnRlckNv
b3JkaW5hdG9yKToKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRvclByZXNlbnRlckNvb3Jk
aW5hdG9yOjp1cGRhdGVQcmVzZW50ZXIpOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdG9y
UHJlc2VudGVyQ29vcmRpbmF0b3I6OnJlcXVlc3RQaW4pOgorICAgICAgICAoV2ViS2l0OjpBdXRo
ZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3I6OmRpbWlzc1ByZXNlbnRlcik6CisgICAgICAg
IChXZWJLaXQ6OkF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcjo6c2V0UGluKToKKyAg
ICAgICAgQWRvcHRzIG5ldyBTUElzLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL0NvY29hL05mY1NlcnZpY2UubW06CisgICAgICAgIChXZWJLaXQ6Ok5mY1NlcnZpY2U6
OnBsYXRmb3JtU3RhcnREaXNjb3ZlcnkpOgorICAgICAgICBUd2Vha3MgTkZDLgorCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL1dLQVNDQXV0aG9yaXphdGlvblBy
ZXNlbnRlckRlbGVnYXRlLm1tOgorICAgICAgICAoLVtXS0FTQ0F1dGhvcml6YXRpb25QcmVzZW50
ZXJEZWxlZ2F0ZSBhdXRob3JpemF0aW9uUHJlc2VudGVyOmNyZWRlbnRpYWxSZXF1ZXN0ZWRGb3JM
b2dpbkNob2ljZTphdXRoZW50aWNhdGVkQ29udGV4dDpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAg
ICAgICAgKC1bV0tBU0NBdXRob3JpemF0aW9uUHJlc2VudGVyRGVsZWdhdGUgYXV0aG9yaXphdGlv
blByZXNlbnRlcjp2YWxpZGF0ZVVzZXJFbnRlcmVkUElOOmNvbXBsZXRpb25IYW5kbGVyOl0pOgor
ICAgICAgICBBZG9wdHMgbmV3IFNQSXMuCisKIDIwMjAtMTItMjEgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAoaU9TIDE0KTogQmFk
IGFjY2VzcyBjcmFzaCBpbiBTaGFyZWFibGVCaXRtYXA6Om1ha2VDR0ltYWdlQ29weSgpIHVuZGVy
IGFzc2lnbkxlZ2FjeURhdGFGb3JDb250ZXh0TWVudUludGVyYWN0aW9uKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXND
b3JlU1BJLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9Db2NvYS9BdXRoZW50aWNhdGlv
blNlcnZpY2VzQ29yZVNQSS5oCmluZGV4IDFjNmNjNzhiZWViNTlmZWM0OGRkMTRlYzQ2NGMwZTM3
NjU2MjJmY2MuLjQxMjRiMjI4NWY3NThiODFkMjRhNzQxMzNjMGNjY2YxZmZjMDdiZmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0F1dGhlbnRpY2F0aW9uU2Vy
dmljZXNDb3JlU1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvQ29jb2EvQXV0
aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTUEkuaApAQCAtNzEsNiArNzEsOCBAQCBOU19BU1NVTUVf
Tk9OTlVMTF9CRUdJTgogCiAtICh2b2lkKXByZXNlbnRBdXRob3JpemF0aW9uV2l0aENvbnRleHQ6
KEFTQ0F1dGhvcml6YXRpb25QcmVzZW50YXRpb25Db250ZXh0ICopY29udGV4dCBjb21wbGV0aW9u
SGFuZGxlcjoodm9pZCAoXikoaWQ8QVNDQ3JlZGVudGlhbFByb3RvY29sPiBfTnVsbGFibGUsIE5T
RXJyb3IgKiBfTnVsbGFibGUpKWNvbXBsZXRpb25IYW5kbGVyOwogLSAodm9pZCl1cGRhdGVJbnRl
cmZhY2VXaXRoTG9naW5DaG9pY2VzOihOU0FycmF5PGlkIDxBU0NMb2dpbkNob2ljZVByb3RvY29s
Pj4gKilsb2dpbkNob2ljZXM7CistICh2b2lkKXByZXNlbnRQSU5FbnRyeUludGVyZmFjZTsKKy0g
KHZvaWQpZGlzbWlzc1dpdGhFcnJvcjoobnVsbGFibGUgTlNFcnJvciAqKWVycm9yOwogCiBAcHJv
cGVydHkgKG5vbmF0b21pYywgd2VhaykgaWQgPEFTQ0F1dGhvcml6YXRpb25QcmVzZW50ZXJEZWxl
Z2F0ZT4gZGVsZWdhdGU7CiAKQEAgLTE1OCw2ICsxNjAsMjMgQEAgdHlwZWRlZiBOU19FTlVNKE5T
SW50ZWdlciwgQVNDU2VjdXJpdHlLZXlQdWJsaWNLZXlDcmVkZW50aWFsTG9naW5DaG9pY2VLaW5k
KSB7CiAKIEBlbmQKIAorZXh0ZXJuIE5TRXJyb3JEb21haW4gY29uc3QgQVNDQXV0aG9yaXphdGlv
bkVycm9yRG9tYWluOworCit0eXBlZGVmIE5TX0VSUk9SX0VOVU0oQVNDQXV0aG9yaXphdGlvbkVy
cm9yRG9tYWluLCBBU0NBdXRob3JpemF0aW9uRXJyb3IpIHsKKyAgICBBU0NBdXRob3JpemF0aW9u
RXJyb3JVbmtub3duLAorICAgIEFTQ0F1dGhvcml6YXRpb25FcnJvckZhaWxlZCwKKyAgICBBU0NB
dXRob3JpemF0aW9uRXJyb3JVc2VyQ2FuY2VsZWQsCisgICAgQVNDQXV0aG9yaXphdGlvbkVycm9y
UElOUmVxdWlyZWQsCit9OworCitleHRlcm4gTlNTdHJpbmcgKiBjb25zdCBBU0NQSU5WYWxpZGF0
aW9uUmVzdWx0S2V5OworCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBBU0NQSU5WYWxpZGF0
aW9uUmVzdWx0KSB7CisgICAgQVNDUElOVmFsaWRhdGlvblJlc3VsdFBJTkJsb2NrZWQsCisgICAg
QVNDUElOVmFsaWRhdGlvblJlc3VsdFBJTkF1dGhCbG9ja2VkLAorICAgIEFTQ1BJTlZhbGlkYXRp
b25SZXN1bHRQSU5JbnZhbGlkLAorfTsKKwogTlNfQVNTVU1FX05PTk5VTExfRU5ECiAKIC8vI2Vu
ZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL3NwaS9Db2NvYS9OZWFyRmllbGRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vc3BpL0NvY29hL05lYXJGaWVsZFNQSS5oCmluZGV4IDc1M2U1Y2U3NmFkNWE0YmViYTNjOWVh
ZGI3ZDBiYmIyZjI0ZmRhZGMuLjJjZWU5MDY3OWJlMTZjMDk3YTVmMGQxNzhlMDczYjI4MTNkM2Rl
NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL05lYXJGaWVs
ZFNQSS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL05lYXJGaWVsZFNQ
SS5oCkBAIC0xMDQsNyArMTA0LDcgQEAgdHlwZWRlZiBOU19FTlVNKHVpbnQzMl90LCBORk5kZWZB
dmFpbGFiaWxpdHkpIHsKIEBlbmQKIAogQGludGVyZmFjZSBORkhhcmR3YXJlTWFuYWdlciA6IE5T
T2JqZWN0Ci0rIChpbnN0YW5jZXR5cGUpc2hhcmVkSGFyZHdhcmVNYW5hZ2VyOworKyAoaW5zdGFu
Y2V0eXBlKXNoYXJlZEhhcmR3YXJlTWFuYWdlcldpdGhOb1VJOwogLSAoTlNPYmplY3Q8TkZTZXNz
aW9uPiAqKXN0YXJ0UmVhZGVyU2Vzc2lvbjoodm9pZCheKShORlJlYWRlclNlc3Npb24gKnNlc3Np
b24sIE5TRXJyb3IgKmVycm9yKSl0aGVTdGFydENhbGxiYWNrOwogLSAoQk9PTClhcmVGZWF0dXJl
c1N1cHBvcnRlZDooTkZGZWF0dXJlKWZlYXR1cmVNYXNrIG91dEVycm9yOihOU0Vycm9yKiopb3V0
RXJyb3I7CiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1l
bnRpdGxlbWVudHMuc2ggYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVu
dHMuc2gKaW5kZXggYTUwN2E5YjZkMWQ0MGRkNDE4MTJjYzU4YzIyMzMxZTMwYjk4MmMyYS4uZGQw
Yjc2NWQ2MGE4ZGVkMjJmNWY5NmY1MGFlYThiZjg4MTRiMDYwNiAxMDA3NTUKLS0tIGEvU291cmNl
L1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaApAQCAtMjQzLDYgKzI0Myw5IEBAIGZ1
bmN0aW9uIGlvc19mYW1pbHlfcHJvY2Vzc193ZWJhdXRobl9lbnRpdGxlbWVudHMoKQogCiAgICAg
cGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5uZmNkLmh3bWFuYWdlciBib29sIFlFUwogICAgIHBs
aXN0YnVkZHkgQWRkIDpjb20uYXBwbGUubmZjZC5zZXNzaW9uLnJlYWRlci5pbnRlcm5hbCBib29s
IFlFUworICAgICMgRklYTUUocmRhcjovL3Byb2JsZW0vNzI2NDY2NjQpOiBGaW5kIGEgYmV0dGVy
IHdheSB0byBpbnZva2UgTmVhckZpZWxkIGluIHRoZSBiYWNrZ3JvdW5kLgorICAgIHBsaXN0YnVk
ZHkgQWRkIDpjb20uYXBwbGUuaW50ZXJuYWwubmZjLmFsbG93LmJhY2tncm91bmRlZC5zZXNzaW9u
IGJvb2wgWUVTCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5VSUtpdC52ZW5kcy12aWV3
LXNlcnZpY2VzIGJvb2wgWUVTCiAKICAgICBwbGlzdGJ1ZGR5IEFkZCA6a2V5Y2hhaW4tYWNjZXNz
LWdyb3VwcyBhcnJheQogICAgIHBsaXN0YnVkZHkgQWRkIDprZXljaGFpbi1hY2Nlc3MtZ3JvdXBz
OjAgc3RyaW5nIGNvbS5hcHBsZS53ZWJraXQud2ViYXV0aG4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2Vy
dmljZXNDb3JlU29mdExpbmsuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsuaAppbmRleCBi
ZTkyMTIwMWY1ODYyNmNjMDQ0MjQ4OTgyODNmYzQyOTk4NzUyM2E2Li5jYzA3NDNjNGMyMTE0Yzg0
MWUwZGEwMGFjMGYwNGJjMjgwMjVmMGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNv
ZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24v
Q29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oCkBAIC0zOCw0ICszOCwx
MCBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihXZWJLaXQsIEFTQ1BsYXRmb3JtUHVibGlj
S2V5Q3JlZGVudGlhbExvZ2luQ2hvaWNlKTsKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdl
YktpdCwgQVNDU2VjdXJpdHlLZXlQdWJsaWNLZXlDcmVkZW50aWFsTG9naW5DaG9pY2UpOwogU09G
VF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoV2ViS2l0LCBBU0NBcHBsZUlEQ3JlZGVudGlhbCk7CiAK
K1NPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdlYktpdCwgQXV0aGVudGljYXRpb25TZXJ2
aWNlc0NvcmUsIEFTQ0F1dGhvcml6YXRpb25FcnJvckRvbWFpbiwgTlNFcnJvckRvbWFpbik7Cisj
ZGVmaW5lIEFTQ0F1dGhvcml6YXRpb25FcnJvckRvbWFpbiBXZWJLaXQ6OmdldF9BdXRoZW50aWNh
dGlvblNlcnZpY2VzQ29yZV9BU0NBdXRob3JpemF0aW9uRXJyb3JEb21haW4oKQorCitTT0ZUX0xJ
TktfQ09OU1RBTlRfRk9SX0hFQURFUihXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3Jl
LCBBU0NQSU5WYWxpZGF0aW9uUmVzdWx0S2V5LCBOU1N0cmluZyopOworI2RlZmluZSBBU0NQSU5W
YWxpZGF0aW9uUmVzdWx0S2V5IFdlYktpdDo6Z2V0X0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3Jl
X0FTQ1BJTlZhbGlkYXRpb25SZXN1bHRLZXkoKQorCiAjZW5kaWYgLy8gSEFWRShBU0NfQVVUSF9V
SSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9u
L0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZp
Y2VzQ29yZVNvZnRMaW5rLm1tCmluZGV4IDg3ZTU0NjAyMjdmNDgxOTE2NTc2YzA5Njg0ODM5MDBj
ZmRhN2M5ZGEuLjk3Y2U0YTYxMTNiNjcwN2EwOTEwMzJjZTBkZGVmMjAxYWNkNTk1OGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1
dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0Nv
cmVTb2Z0TGluay5tbQpAQCAtMzgsNCArMzgsNyBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJD
RShXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlLCBBU0NQbGF0Zm9ybVB1YmxpYwog
U09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0UoV2ViS2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2Vz
Q29yZSwgQVNDU2VjdXJpdHlLZXlQdWJsaWNLZXlDcmVkZW50aWFsTG9naW5DaG9pY2UpOwogU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0UoV2ViS2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29y
ZSwgQVNDQXBwbGVJRENyZWRlbnRpYWwpOwogCitTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJD
RShXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlLCBBU0NBdXRob3JpemF0aW9uRXJy
b3JEb21haW4sIE5TRXJyb3JEb21haW4pOworU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0Uo
V2ViS2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZSwgQVNDUElOVmFsaWRhdGlvblJlc3Vs
dEtleSwgTlNTdHJpbmcqKTsKKwogI2VuZGlmIC8vIEhBVkUoQVNDX0FVVEhfVUkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRo
ZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRv
ci5oCmluZGV4IDYzZDA3MGMzZGU3ZDI4NzY2YjVjYTg2Y2U4YTM1ZTQ5MGZlNmNkNDkuLmYxMzkz
NTEyZmUwYjg1OWVjZTM4MjliZjIzOWY2YWU2YzE4NzQxNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0b3JQcmVz
ZW50ZXJDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhl
bnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvci5oCkBAIC0z
NSwxMCArMzUsMTIgQEAKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1dlYWtQdHIuaD4KIAorT0JKQ19DTEFTUyBBU0NBcHBsZUlEQ3JlZGVudGlhbDsKIE9CSkNfQ0xB
U1MgQVNDQXV0aG9yaXphdGlvblByZXNlbnRhdGlvbkNvbnRleHQ7CiBPQkpDX0NMQVNTIEFTQ0F1
dGhvcml6YXRpb25QcmVzZW50ZXI7CiBPQkpDX0NMQVNTIEFTQ0xvZ2luQ2hvaWNlUHJvdG9jb2w7
CiBPQkpDX0NMQVNTIExBQ29udGV4dDsKK09CSkNfQ0xBU1MgTlNFcnJvcjsKIE9CSkNfQ0xBU1Mg
V0tBU0NBdXRob3JpemF0aW9uUHJlc2VudGVyRGVsZWdhdGU7CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewpAQCAtNTAsNyArNTIsNyBAQCBjbGFzcyBBdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0
b3IgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8QXV0aGVudGljYXRvclByZQogICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcik7CiBwdWJsaWM6
CiAgICAgdXNpbmcgVHJhbnNwb3J0U2V0ID0gSGFzaFNldDxXZWJDb3JlOjpBdXRoZW50aWNhdG9y
VHJhbnNwb3J0LCBXVEY6OkludEhhc2g8V2ViQ29yZTo6QXV0aGVudGljYXRvclRyYW5zcG9ydD4s
IFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8V2ViQ29yZTo6QXV0aGVudGljYXRvclRyYW5zcG9y
dD4+OwotICAgIHVzaW5nIENyZWRlbnRpYWxSZXF1ZXN0SGFuZGxlciA9IEZ1bmN0aW9uPHZvaWQo
KT47CisgICAgdXNpbmcgQ3JlZGVudGlhbFJlcXVlc3RIYW5kbGVyID0gRnVuY3Rpb248dm9pZChB
U0NBcHBsZUlEQ3JlZGVudGlhbCAqLCBOU0Vycm9yICopPjsKIAogICAgIEF1dGhlbnRpY2F0b3JQ
cmVzZW50ZXJDb29yZGluYXRvcihjb25zdCBBdXRoZW50aWNhdG9yTWFuYWdlciYsIGNvbnN0IFN0
cmluZyYgcnBJZCwgY29uc3QgVHJhbnNwb3J0U2V0JiwgV2ViQ29yZTo6Q2xpZW50RGF0YVR5cGUp
OwogICAgIH5BdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3IoKTsKQEAgLTYzLDggKzY1
LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRDcmVkZW50aWFsUmVxdWVzdEhhbmRsZXIoQ3Jl
ZGVudGlhbFJlcXVlc3RIYW5kbGVyJiYgaGFuZGxlcikgeyBtX2NyZWRlbnRpYWxSZXF1ZXN0SGFu
ZGxlciA9IFdURk1vdmUoaGFuZGxlcik7IH0KICAgICB2b2lkIHNldExBQ29udGV4dChMQUNvbnRl
eHQgKik7Ci0KICAgICB2b2lkIGRpZFNlbGVjdEFzc2VydGlvblJlc3BvbnNlKEFTQ0xvZ2luQ2hv
aWNlUHJvdG9jb2wgKiwgTEFDb250ZXh0ICopOworICAgIHZvaWQgc2V0UGluKGNvbnN0IFN0cmlu
ZyYpOwogCiBwcml2YXRlOgogICAgIFdlYWtQdHI8QXV0aGVudGljYXRvck1hbmFnZXI+IG1fbWFu
YWdlcjsKQEAgLTc5LDYgKzgxLDggQEAgcHJpdmF0ZToKIAogICAgIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoV2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlKik+IG1fcmVzcG9u
c2VIYW5kbGVyOwogICAgIEhhc2hNYXA8QVNDTG9naW5DaG9pY2VQcm90b2NvbCAqLCBSZWZQdHI8
V2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlPj4gbV9jcmVkZW50aWFsczsK
KworICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgU3RyaW5nJik+IG1fcGluSGFuZGxl
cjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRvclByZXNlbnRl
ckNvb3JkaW5hdG9yLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRp
b24vQ29jb2EvQXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yLm1tCmluZGV4IDg5ODU2
Zjg2MDhkMmI2Y2QzNWI0MTgyMmI5YjkyMGM1ZWU2NTUxZjguLjJkMzJhYjZkMjMwNGI0N2EwOTdi
ZjAyYWQ0OWI2YTNkNTcxOTExYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRv
ci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2Nv
YS9BdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3IubW0KQEAgLTg2LDE2ICs4NiwzOCBA
QCBBdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3I6On5BdXRoZW50aWNhdG9yUHJlc2Vu
dGVyQ29vcmRpbmF0b3IoKQogICAgICAgICBtX2xhQ29udGV4dEhhbmRsZXIobnVsbHB0cik7CiAg
ICAgaWYgKG1fcmVzcG9uc2VIYW5kbGVyKQogICAgICAgICBtX3Jlc3BvbnNlSGFuZGxlcihudWxs
cHRyKTsKKyAgICBpZiAobV9waW5IYW5kbGVyKQorICAgICAgICBtX3BpbkhhbmRsZXIoU3RyaW5n
KCkpOwogfQogCi12b2lkIEF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcjo6dXBkYXRl
UHJlc2VudGVyKFdlYkF1dGhlbnRpY2F0aW9uU3RhdHVzKQordm9pZCBBdXRoZW50aWNhdG9yUHJl
c2VudGVyQ29vcmRpbmF0b3I6OnVwZGF0ZVByZXNlbnRlcihXZWJBdXRoZW50aWNhdGlvblN0YXR1
cyBzdGF0dXMpCiB7Ci0gICAgLy8gRklYTUUoMjE5NzEzKTogQWRvcHQgbmV3IFVJIGZvciB0aGUg
dXBkYXRlIGZsb3cuCisgICAgc3dpdGNoIChzdGF0dXMpIHsKKyAgICBjYXNlIFdlYkF1dGhlbnRp
Y2F0aW9uU3RhdHVzOjpQaW5CbG9ja2VkOiB7CisgICAgICAgIGF1dG8gZXJyb3IgPSBhZG9wdE5T
KFtbTlNFcnJvciBhbGxvY10gaW5pdFdpdGhEb21haW46QVNDQXV0aG9yaXphdGlvbkVycm9yRG9t
YWluIGNvZGU6QVNDQXV0aG9yaXphdGlvbkVycm9yUElOUmVxdWlyZWQgdXNlckluZm86QHsgQVND
UElOVmFsaWRhdGlvblJlc3VsdEtleTogQChBU0NQSU5WYWxpZGF0aW9uUmVzdWx0UElOQmxvY2tl
ZCkgfV0pOworICAgICAgICBtX2NyZWRlbnRpYWxSZXF1ZXN0SGFuZGxlcihuaWwsIGVycm9yLmdl
dCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgV2ViQXV0aGVudGljYXRpb25T
dGF0dXM6OlBpbkF1dGhCbG9ja2VkOiB7CisgICAgICAgIGF1dG8gZXJyb3IgPSBhZG9wdE5TKFtb
TlNFcnJvciBhbGxvY10gaW5pdFdpdGhEb21haW46QVNDQXV0aG9yaXphdGlvbkVycm9yRG9tYWlu
IGNvZGU6QVNDQXV0aG9yaXphdGlvbkVycm9yUElOUmVxdWlyZWQgdXNlckluZm86QHsgQVNDUElO
VmFsaWRhdGlvblJlc3VsdEtleTogQChBU0NQSU5WYWxpZGF0aW9uUmVzdWx0UElOQXV0aEJsb2Nr
ZWQpIH1dKTsKKyAgICAgICAgbV9jcmVkZW50aWFsUmVxdWVzdEhhbmRsZXIobmlsLCBlcnJvci5n
ZXQoKSk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIFdlYkF1dGhlbnRpY2F0aW9u
U3RhdHVzOjpQaW5JbnZhbGlkOiB7CisgICAgICAgIGF1dG8gZXJyb3IgPSBhZG9wdE5TKFtbTlNF
cnJvciBhbGxvY10gaW5pdFdpdGhEb21haW46QVNDQXV0aG9yaXphdGlvbkVycm9yRG9tYWluIGNv
ZGU6QVNDQXV0aG9yaXphdGlvbkVycm9yUElOUmVxdWlyZWQgdXNlckluZm86QHsgQVNDUElOVmFs
aWRhdGlvblJlc3VsdEtleTogQChBU0NQSU5WYWxpZGF0aW9uUmVzdWx0UElOSW52YWxpZCkgfV0p
OworICAgICAgICBtX2NyZWRlbnRpYWxSZXF1ZXN0SGFuZGxlcihuaWwsIGVycm9yLmdldCgpKTsK
KyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIC8vIEZJWE1FKDIx
OTcxMyk6IEFkb3B0IG5ldyBVSSBmb3IgdGhlIHVwZGF0ZSBmbG93LgorICAgICAgICBicmVhazsK
KyAgICB9CiB9CiAKLXZvaWQgQXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yOjpyZXF1
ZXN0UGluKHVpbnQ2NF90LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFN0cmluZyYpPiYm
KQordm9pZCBBdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3I6OnJlcXVlc3RQaW4odWlu
dDY0X3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgU3RyaW5nJik+JiYgY29tcGxldGlv
bkhhbmRsZXIpCiB7Ci0gICAgLy8gRklYTUUoMjE5NzEyKTogQWRvcHQgbmV3IFVJIGZvciB0aGUg
Q2xpZW50IFBJTiBmbG93LgorICAgIG1fcGluSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpOworICAgIFttX3ByZXNlbnRlciBwcmVzZW50UElORW50cnlJbnRlcmZhY2VdOwogfQog
CiB2b2lkIEF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcjo6c2VsZWN0QXNzZXJ0aW9u
UmVzcG9uc2UoVmVjdG9yPFJlZjxBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U+PiYmIHJl
c3BvbnNlcywgV2ViQXV0aGVudGljYXRpb25Tb3VyY2Ugc291cmNlLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZSopPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQpAQCAtMTU3LDEwICsxNzksMTMgQEAgdm9pZCBBdXRoZW50aWNhdG9yUHJlc2VudGVyQ29v
cmRpbmF0b3I6OnJlcXVlc3RMQUNvbnRleHRGb3JVc2VyVmVyaWZpY2F0aW9uKENvbXAKIHZvaWQg
QXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yOjpkaW1pc3NQcmVzZW50ZXIoV2ViQXV0
aGVudGljYXRpb25SZXN1bHQgcmVzdWx0KQogewogICAgIGlmIChyZXN1bHQgPT0gV2ViQXV0aGVu
dGljYXRpb25SZXN1bHQ6OlN1Y2NlZWRlZCAmJiBtX2NyZWRlbnRpYWxSZXF1ZXN0SGFuZGxlcikg
ewotICAgICAgICBtX2NyZWRlbnRpYWxSZXF1ZXN0SGFuZGxlcigpOworICAgICAgICAvLyBGSVhN
RSgyMTk3NjcpOiBSZXBsYWNlIHRoZSBBU0NBcHBsZUlEQ3JlZGVudGlhbCB3aXRoIHRoZSB1cGNv
bWluZyBXZWJBdXRobiBjcmVkZW50aWFscyBvbmUuCisgICAgICAgIC8vIFRoaXMgaXMganVzdCBh
IHBsYWNlIGhvbGRlciB0byB0ZWxsIHRoZSBVSSB0aGF0IHRoZSBjZXJlbW9ueSBzdWNjZWVkcy4K
KyAgICAgICAgbV9jcmVkZW50aWFsUmVxdWVzdEhhbmRsZXIoYWRvcHROUyhbV2ViS2l0OjphbGxv
Y0FTQ0FwcGxlSURDcmVkZW50aWFsSW5zdGFuY2UoKSBpbml0V2l0aFVzZXI6QCIiIGlkZW50aXR5
VG9rZW46YWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdF0pLmdldCgpXSkuZ2V0KCksIG5pbCk7
CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgLy8gRklYTUUoMjE5NzE2KTogQWRvcHQgbmV3
IFVJIGZvciB0aGUgZGlzbWlzcyBmbG93LgorCisgICAgW21fcHJlc2VudGVyIGRpc21pc3NXaXRo
RXJyb3I6bmlsXTsKIH0KIAogdm9pZCBBdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3I6
OnNldExBQ29udGV4dChMQUNvbnRleHQgKmNvbnRleHQpCkBAIC0xODUsNiArMjEwLDExIEBAIHZv
aWQgQXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yOjpkaWRTZWxlY3RBc3NlcnRpb25S
ZXNwb25zZShBU0NMb2dpbkNob2ljCiAgICAgbV9yZXNwb25zZUhhbmRsZXIocmVzcG9uc2UuZ2V0
KCkpOwogfQogCit2b2lkIEF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcjo6c2V0UGlu
KGNvbnN0IFN0cmluZyYgcGluKQoreworICAgIG1fcGluSGFuZGxlcihwaW4pOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9OZmNT
ZXJ2aWNlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29j
b2EvTmZjU2VydmljZS5tbQppbmRleCA2NTNhOTg0ZjNkYzcxMWYzZmQzNjhlOWQ0YTk4ZmE1YWY5
YjNhMTliLi44ZGE1YjhmYTYxZWQ0YWMxN2VhMTc1MzJlZWFiNmMxODYxM2I3NmYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9OZmNT
ZXJ2aWNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9u
L0NvY29hL05mY1NlcnZpY2UubW0KQEAgLTUyLDcgKzUyLDcgQEAgTmZjU2VydmljZTo6fk5mY1Nl
cnZpY2UoKQogYm9vbCBOZmNTZXJ2aWNlOjppc0F2YWlsYWJsZSgpCiB7CiAjaWYgSEFWRShORUFS
X0ZJRUxEKQotICAgIHJldHVybiBbW2dldE5GSGFyZHdhcmVNYW5hZ2VyQ2xhc3MoKSBzaGFyZWRI
YXJkd2FyZU1hbmFnZXJdIGFyZUZlYXR1cmVzU3VwcG9ydGVkOk5GRmVhdHVyZVJlYWRlck1vZGUg
b3V0RXJyb3I6bmlsXTsKKyAgICByZXR1cm4gW1tnZXRORkhhcmR3YXJlTWFuYWdlckNsYXNzKCkg
c2hhcmVkSGFyZHdhcmVNYW5hZ2VyV2l0aE5vVUldIGFyZUZlYXR1cmVzU3VwcG9ydGVkOk5GRmVh
dHVyZVJlYWRlck1vZGUgb3V0RXJyb3I6bmlsXTsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwog
I2VuZGlmCkBAIC0xMTgsNyArMTE4LDcgQEAgdm9pZCBOZmNTZXJ2aWNlOjpwbGF0Zm9ybVN0YXJ0
RGlzY292ZXJ5KCkKICAgICAgICAgICAgIG1fY29ubmVjdGlvbiA9IE5mY0Nvbm5lY3Rpb246OmNy
ZWF0ZShXVEZNb3ZlKHNlc3Npb24pLCAqdGhpcyk7CiAgICAgICAgIH0pOwogICAgIH0pOwotICAg
IFtbZ2V0TkZIYXJkd2FyZU1hbmFnZXJDbGFzcygpIHNoYXJlZEhhcmR3YXJlTWFuYWdlcl0gc3Rh
cnRSZWFkZXJTZXNzaW9uOmNhbGxiYWNrLmdldCgpXTsKKyAgICBbW2dldE5GSGFyZHdhcmVNYW5h
Z2VyQ2xhc3MoKSBzaGFyZWRIYXJkd2FyZU1hbmFnZXJXaXRoTm9VSV0gc3RhcnRSZWFkZXJTZXNz
aW9uOmNhbGxiYWNrLmdldCgpXTsKICNlbmRpZiAvLyBIQVZFKE5FQVJfRklFTEQpCiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29h
L1dLQVNDQXV0aG9yaXphdGlvblByZXNlbnRlckRlbGVnYXRlLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvV0tBU0NBdXRob3JpemF0aW9uUHJlc2Vu
dGVyRGVsZWdhdGUubW0KaW5kZXggMGFhYWM2NDNjNDVjZDkwZTBjNDI2ZWZjYzgzYmI2ZmE3YmY5
YTYyNi4uY2M1NmY5NzQ2M2M2MjY4MTJjYTY0Y2M0NDNiMWQyMmE2YzFmZGFjNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvV0tBU0NB
dXRob3JpemF0aW9uUHJlc2VudGVyRGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvV0tBU0NBdXRob3JpemF0aW9uUHJlc2VudGVy
RGVsZWdhdGUubW0KQEAgLTQ3LDEwICs0Nyw4IEBAIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aENv
b3JkaW5hdG9yOihXZWJLaXQ6OkF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvciYpCiAK
IC0gKHZvaWQpYXV0aG9yaXphdGlvblByZXNlbnRlcjooQVNDQXV0aG9yaXphdGlvblByZXNlbnRl
ciAqKXByZXNlbnRlciBjcmVkZW50aWFsUmVxdWVzdGVkRm9yTG9naW5DaG9pY2U6KGlkIDxBU0NM
b2dpbkNob2ljZVByb3RvY29sPilsb2dpbkNob2ljZSBhdXRoZW50aWNhdGVkQ29udGV4dDoobnVs
bGFibGUgTEFDb250ZXh0ICopY29udGV4dCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoaWQg
PEFTQ0NyZWRlbnRpYWxQcm90b2NvbD4gX051bGxhYmxlIGNyZWRlbnRpYWwsIE5TRXJyb3IgKiBf
TnVsbGFibGUgZXJyb3IpKWNvbXBsZXRpb25IYW5kbGVyCiB7Ci0gICAgYXV0byByZXF1ZXN0SGFu
ZGxlciA9IFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxl
cildIHsKLSAgICAgICAgLy8gRklYTUUoMjE5NzY3KTogUmVwbGFjZSB0aGUgQVNDQXBwbGVJRENy
ZWRlbnRpYWwgd2l0aCB0aGUgdXBjb21pbmcgV2ViQXV0aG4gY3JlZGVudGlhbHMgb25lLgotICAg
ICAgICAvLyBUaGlzIGlzIGp1c3QgYSBwbGFjZSBob2xkZXIgdG8gdGVsbCB0aGUgVUkgdGhhdCB0
aGUgY2VyZW1vbnkgc3VjY2VlZHMuCi0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGFkb3B0TlMo
W1dlYktpdDo6YWxsb2NBU0NBcHBsZUlEQ3JlZGVudGlhbEluc3RhbmNlKCkgaW5pdFdpdGhVc2Vy
OkAiIiBpZGVudGl0eVRva2VuOmFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRdKS5nZXQoKV0p
LmdldCgpLCBuaWwpOworICAgIGF1dG8gcmVxdWVzdEhhbmRsZXIgPSBbY29tcGxldGlvbkhhbmRs
ZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpXSAoQVNDQXBwbGVJRENyZWRlbnRp
YWwgKmNyZWRlbnRpYWwsIE5TRXJyb3IgKmVycm9yKSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKGNyZWRlbnRpYWwsIGVycm9yKTsKICAgICB9OwogICAgIFtzZWxmIGRpc3BhdGNoQ29vcmRp
bmF0b3JDYWxsYmFjazpbcmVxdWVzdEhhbmRsZXIgPSBXVEZNb3ZlKHJlcXVlc3RIYW5kbGVyKV0g
KFdlYktpdDo6QXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yJiBjb29yZGluYXRvcikg
bXV0YWJsZSB7CiAgICAgICAgIGNvb3JkaW5hdG9yLnNldENyZWRlbnRpYWxSZXF1ZXN0SGFuZGxl
cihXVEZNb3ZlKHJlcXVlc3RIYW5kbGVyKSk7CkBAIC04Nyw3ICs4NSwxNyBAQCAtICh2b2lkKWF1
dGhvcml6YXRpb25QcmVzZW50ZXI6KEFTQ0F1dGhvcml6YXRpb25QcmVzZW50ZXIgKilwcmVzZW50
ZXIgY3JlZGVudGlhbAogCiAtICh2b2lkKWF1dGhvcml6YXRpb25QcmVzZW50ZXI6KEFTQ0F1dGhv
cml6YXRpb25QcmVzZW50ZXIgKilwcmVzZW50ZXIgdmFsaWRhdGVVc2VyRW50ZXJlZFBJTjooTlNT
dHJpbmcgKilwaW4gY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKGlkIDxBU0NDcmVkZW50aWFs
UHJvdG9jb2w+IGNyZWRlbnRpYWwsIE5TRXJyb3IgKmVycm9yKSljb21wbGV0aW9uSGFuZGxlcgog
ewotICAgIC8vIEZJWE1FKDIxOTcxMik6IEFkb3B0IG5ldyBVSSBmb3IgdGhlIENsaWVudCBQSU4g
Zmxvdy4KKyAgICBhdXRvIHJlcXVlc3RIYW5kbGVyID0gW2NvbXBsZXRpb25IYW5kbGVyID0gbWFr
ZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0gKEFTQ0FwcGxlSURDcmVkZW50aWFsICpjcmVk
ZW50aWFsLCBOU0Vycm9yICplcnJvcikgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihjcmVk
ZW50aWFsLCBlcnJvcik7CisgICAgfTsKKyAgICBbc2VsZiBkaXNwYXRjaENvb3JkaW5hdG9yQ2Fs
bGJhY2s6W3JlcXVlc3RIYW5kbGVyID0gV1RGTW92ZShyZXF1ZXN0SGFuZGxlcildIChXZWJLaXQ6
OkF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvciYgY29vcmRpbmF0b3IpIG11dGFibGUg
eworICAgICAgICBjb29yZGluYXRvci5zZXRDcmVkZW50aWFsUmVxdWVzdEhhbmRsZXIoV1RGTW92
ZShyZXF1ZXN0SGFuZGxlcikpOworICAgIH1dOworCisgICAgU3RyaW5nIHBpblN0cmluZyA9IHBp
bjsKKyAgICBbc2VsZiBkaXNwYXRjaENvb3JkaW5hdG9yQ2FsbGJhY2s6W3BpblN0cmluZyA9IFdU
Rk1vdmUocGluU3RyaW5nKV0gKFdlYktpdDo6QXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5h
dG9yJiBjb29yZGluYXRvcikgbXV0YWJsZSB7CisgICAgICAgIGNvb3JkaW5hdG9yLnNldFBpbihw
aW5TdHJpbmcpOworICAgIH1dOwogfQogCiAtICh2b2lkKWRpc3BhdGNoQ29vcmRpbmF0b3JDYWxs
YmFjazooRnVuY3Rpb248dm9pZChXZWJLaXQ6OkF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGlu
YXRvciYpPiYmKWNhbGxiYWNrCg==
</data>
<flag name="commit-queue"
          id="434682"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417050</attachid>
            <date>2021-01-05 16:22:05 -0800</date>
            <delta_ts>2021-01-06 17:50:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219712-20210105162205.patch</filename>
            <type>text/plain</type>
            <size>18075</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk1MDhjYTY4MWMyODg5Mjdk
NWFkZjBlM2E1NDg3NDQyODIzYmIxYzAuLjY0Njg0ZThjNjgxMzBiNTc1ZTNmMDJhMzIxN2VjZDAx
YWNkMzZjNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMjAtMTItMjQgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIEFkb3B0IG5l
dyBVSSBmb3IgdGhlIENsaWVudCBQSU4gYW5kIGRpc21pc3MgZmxvdworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5NzEyCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83MjE1NDkzNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBDb3ZlcmVkIGJ5IG1hbnVhbCB0ZXN0cy4KKworICAgICAgICBUaGlzIHBhdGNo
IGRvZXMgdGhlIGZvbGxvd2luZyBmZXcgdGhpbmdzOgorICAgICAgICAxLiBJdCB0d2Vha3MgdGhl
IFdlYkF1dGhuIHByb2Nlc3MgYXMgYSBVSSB2aWV3IHNlcnZpY2UgdG8gYmUgYWJsZSB0byBydW4g
TmVhckZpZWxkIGluIHRoZSBiYWNrZ3JvdW5kLgorICAgICAgICAyLiBJdCBhZG9wdHMgbmV3IFNQ
SSBmb3Igc2VjdXJpdHkga2V5cycgY2xpZW50IHBpbiBzdXBwb3J0LgorICAgICAgICAzLiBJdCBh
ZG9wdHMgbmV3IFNQSSB0byBkaXNtaXNzIHRoZSBVSSB3aGVuIG5lY2Vzc2FyeS4KKworICAgICAg
ICAqIFBsYXRmb3JtL3NwaS9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNQSS5oOgor
ICAgICAgICAoTlNfRVJST1JfRU5VTSk6CisgICAgICAgIEFkZHMgbmV3IFNQSS4KKworICAgICAg
ICAqIFNjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2g6CisgICAgICAgIFR3ZWFrcyBXZWJB
dXRobiBwcm9jZXNzIGZvciBORkMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVudGlj
YXRpb24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZp
Y2VzQ29yZVNvZnRMaW5rLm1tOgorICAgICAgICBQYXBlcndvcmsuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRvclByZXNlbnRlckNvb3Jk
aW5hdG9yLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1
dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvci5tbToKKyAgICAgICAgKFdlYktpdDo6QXV0
aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yOjp+QXV0aGVudGljYXRvclByZXNlbnRlckNv
b3JkaW5hdG9yKToKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRvclByZXNlbnRlckNvb3Jk
aW5hdG9yOjp1cGRhdGVQcmVzZW50ZXIpOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdG9y
UHJlc2VudGVyQ29vcmRpbmF0b3I6OnJlcXVlc3RQaW4pOgorICAgICAgICAoV2ViS2l0OjpBdXRo
ZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3I6OmRpbWlzc1ByZXNlbnRlcik6CisgICAgICAg
IChXZWJLaXQ6OkF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcjo6c2V0UGluKToKKyAg
ICAgICAgQWRvcHRzIG5ldyBTUElzLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL0NvY29hL05mY1NlcnZpY2UubW06CisgICAgICAgIChXZWJLaXQ6Ok5mY1NlcnZpY2U6
OnBsYXRmb3JtU3RhcnREaXNjb3ZlcnkpOgorICAgICAgICBUd2Vha3MgTkZDLgorCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL1dLQVNDQXV0aG9yaXphdGlvblBy
ZXNlbnRlckRlbGVnYXRlLm1tOgorICAgICAgICAoLVtXS0FTQ0F1dGhvcml6YXRpb25QcmVzZW50
ZXJEZWxlZ2F0ZSBhdXRob3JpemF0aW9uUHJlc2VudGVyOmNyZWRlbnRpYWxSZXF1ZXN0ZWRGb3JM
b2dpbkNob2ljZTphdXRoZW50aWNhdGVkQ29udGV4dDpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAg
ICAgICAgKC1bV0tBU0NBdXRob3JpemF0aW9uUHJlc2VudGVyRGVsZWdhdGUgYXV0aG9yaXphdGlv
blByZXNlbnRlcjp2YWxpZGF0ZVVzZXJFbnRlcmVkUElOOmNvbXBsZXRpb25IYW5kbGVyOl0pOgor
ICAgICAgICBBZG9wdHMgbmV3IFNQSXMuCisKIDIwMjAtMTItMjEgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAoaU9TIDE0KTogQmFk
IGFjY2VzcyBjcmFzaCBpbiBTaGFyZWFibGVCaXRtYXA6Om1ha2VDR0ltYWdlQ29weSgpIHVuZGVy
IGFzc2lnbkxlZ2FjeURhdGFGb3JDb250ZXh0TWVudUludGVyYWN0aW9uKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXND
b3JlU1BJLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9Db2NvYS9BdXRoZW50aWNhdGlv
blNlcnZpY2VzQ29yZVNQSS5oCmluZGV4IDFjNmNjNzhiZWViNTlmZWM0OGRkMTRlYzQ2NGMwZTM3
NjU2MjJmY2MuLjQxMjRiMjI4NWY3NThiODFkMjRhNzQxMzNjMGNjY2YxZmZjMDdiZmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0F1dGhlbnRpY2F0aW9uU2Vy
dmljZXNDb3JlU1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvQ29jb2EvQXV0
aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTUEkuaApAQCAtNzEsNiArNzEsOCBAQCBOU19BU1NVTUVf
Tk9OTlVMTF9CRUdJTgogCiAtICh2b2lkKXByZXNlbnRBdXRob3JpemF0aW9uV2l0aENvbnRleHQ6
KEFTQ0F1dGhvcml6YXRpb25QcmVzZW50YXRpb25Db250ZXh0ICopY29udGV4dCBjb21wbGV0aW9u
SGFuZGxlcjoodm9pZCAoXikoaWQ8QVNDQ3JlZGVudGlhbFByb3RvY29sPiBfTnVsbGFibGUsIE5T
RXJyb3IgKiBfTnVsbGFibGUpKWNvbXBsZXRpb25IYW5kbGVyOwogLSAodm9pZCl1cGRhdGVJbnRl
cmZhY2VXaXRoTG9naW5DaG9pY2VzOihOU0FycmF5PGlkIDxBU0NMb2dpbkNob2ljZVByb3RvY29s
Pj4gKilsb2dpbkNob2ljZXM7CistICh2b2lkKXByZXNlbnRQSU5FbnRyeUludGVyZmFjZTsKKy0g
KHZvaWQpZGlzbWlzc1dpdGhFcnJvcjoobnVsbGFibGUgTlNFcnJvciAqKWVycm9yOwogCiBAcHJv
cGVydHkgKG5vbmF0b21pYywgd2VhaykgaWQgPEFTQ0F1dGhvcml6YXRpb25QcmVzZW50ZXJEZWxl
Z2F0ZT4gZGVsZWdhdGU7CiAKQEAgLTE1OCw2ICsxNjAsMjMgQEAgdHlwZWRlZiBOU19FTlVNKE5T
SW50ZWdlciwgQVNDU2VjdXJpdHlLZXlQdWJsaWNLZXlDcmVkZW50aWFsTG9naW5DaG9pY2VLaW5k
KSB7CiAKIEBlbmQKIAorZXh0ZXJuIE5TRXJyb3JEb21haW4gY29uc3QgQVNDQXV0aG9yaXphdGlv
bkVycm9yRG9tYWluOworCit0eXBlZGVmIE5TX0VSUk9SX0VOVU0oQVNDQXV0aG9yaXphdGlvbkVy
cm9yRG9tYWluLCBBU0NBdXRob3JpemF0aW9uRXJyb3IpIHsKKyAgICBBU0NBdXRob3JpemF0aW9u
RXJyb3JVbmtub3duLAorICAgIEFTQ0F1dGhvcml6YXRpb25FcnJvckZhaWxlZCwKKyAgICBBU0NB
dXRob3JpemF0aW9uRXJyb3JVc2VyQ2FuY2VsZWQsCisgICAgQVNDQXV0aG9yaXphdGlvbkVycm9y
UElOUmVxdWlyZWQsCit9OworCitleHRlcm4gTlNTdHJpbmcgKiBjb25zdCBBU0NQSU5WYWxpZGF0
aW9uUmVzdWx0S2V5OworCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBBU0NQSU5WYWxpZGF0
aW9uUmVzdWx0KSB7CisgICAgQVNDUElOVmFsaWRhdGlvblJlc3VsdFBJTkJsb2NrZWQsCisgICAg
QVNDUElOVmFsaWRhdGlvblJlc3VsdFBJTkF1dGhCbG9ja2VkLAorICAgIEFTQ1BJTlZhbGlkYXRp
b25SZXN1bHRQSU5JbnZhbGlkLAorfTsKKwogTlNfQVNTVU1FX05PTk5VTExfRU5ECiAKIC8vI2Vu
ZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL3NwaS9Db2NvYS9OZWFyRmllbGRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vc3BpL0NvY29hL05lYXJGaWVsZFNQSS5oCmluZGV4IDc1M2U1Y2U3NmFkNWE0YmViYTNjOWVh
ZGI3ZDBiYmIyZjI0ZmRhZGMuLjJjZWU5MDY3OWJlMTZjMDk3YTVmMGQxNzhlMDczYjI4MTNkM2Rl
NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL05lYXJGaWVs
ZFNQSS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL05lYXJGaWVsZFNQ
SS5oCkBAIC0xMDQsNyArMTA0LDcgQEAgdHlwZWRlZiBOU19FTlVNKHVpbnQzMl90LCBORk5kZWZB
dmFpbGFiaWxpdHkpIHsKIEBlbmQKIAogQGludGVyZmFjZSBORkhhcmR3YXJlTWFuYWdlciA6IE5T
T2JqZWN0Ci0rIChpbnN0YW5jZXR5cGUpc2hhcmVkSGFyZHdhcmVNYW5hZ2VyOworKyAoaW5zdGFu
Y2V0eXBlKXNoYXJlZEhhcmR3YXJlTWFuYWdlcldpdGhOb1VJOwogLSAoTlNPYmplY3Q8TkZTZXNz
aW9uPiAqKXN0YXJ0UmVhZGVyU2Vzc2lvbjoodm9pZCheKShORlJlYWRlclNlc3Npb24gKnNlc3Np
b24sIE5TRXJyb3IgKmVycm9yKSl0aGVTdGFydENhbGxiYWNrOwogLSAoQk9PTClhcmVGZWF0dXJl
c1N1cHBvcnRlZDooTkZGZWF0dXJlKWZlYXR1cmVNYXNrIG91dEVycm9yOihOU0Vycm9yKiopb3V0
RXJyb3I7CiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1l
bnRpdGxlbWVudHMuc2ggYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVu
dHMuc2gKaW5kZXggYTUwN2E5YjZkMWQ0MGRkNDE4MTJjYzU4YzIyMzMxZTMwYjk4MmMyYS4uZGQw
Yjc2NWQ2MGE4ZGVkMjJmNWY5NmY1MGFlYThiZjg4MTRiMDYwNiAxMDA3NTUKLS0tIGEvU291cmNl
L1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaApAQCAtMjQzLDYgKzI0Myw5IEBAIGZ1
bmN0aW9uIGlvc19mYW1pbHlfcHJvY2Vzc193ZWJhdXRobl9lbnRpdGxlbWVudHMoKQogCiAgICAg
cGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5uZmNkLmh3bWFuYWdlciBib29sIFlFUwogICAgIHBs
aXN0YnVkZHkgQWRkIDpjb20uYXBwbGUubmZjZC5zZXNzaW9uLnJlYWRlci5pbnRlcm5hbCBib29s
IFlFUworICAgICMgRklYTUUocmRhcjovL3Byb2JsZW0vNzI2NDY2NjQpOiBGaW5kIGEgYmV0dGVy
IHdheSB0byBpbnZva2UgTmVhckZpZWxkIGluIHRoZSBiYWNrZ3JvdW5kLgorICAgIHBsaXN0YnVk
ZHkgQWRkIDpjb20uYXBwbGUuaW50ZXJuYWwubmZjLmFsbG93LmJhY2tncm91bmRlZC5zZXNzaW9u
IGJvb2wgWUVTCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5VSUtpdC52ZW5kcy12aWV3
LXNlcnZpY2VzIGJvb2wgWUVTCiAKICAgICBwbGlzdGJ1ZGR5IEFkZCA6a2V5Y2hhaW4tYWNjZXNz
LWdyb3VwcyBhcnJheQogICAgIHBsaXN0YnVkZHkgQWRkIDprZXljaGFpbi1hY2Nlc3MtZ3JvdXBz
OjAgc3RyaW5nIGNvbS5hcHBsZS53ZWJraXQud2ViYXV0aG4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2Vy
dmljZXNDb3JlU29mdExpbmsuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsuaAppbmRleCBi
ZTkyMTIwMWY1ODYyNmNjMDQ0MjQ4OTgyODNmYzQyOTk4NzUyM2E2Li5jYzA3NDNjNGMyMTE0Yzg0
MWUwZGEwMGFjMGYwNGJjMjgwMjVmMGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZVNv
ZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24v
Q29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0NvcmVTb2Z0TGluay5oCkBAIC0zOCw0ICszOCwx
MCBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihXZWJLaXQsIEFTQ1BsYXRmb3JtUHVibGlj
S2V5Q3JlZGVudGlhbExvZ2luQ2hvaWNlKTsKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdl
YktpdCwgQVNDU2VjdXJpdHlLZXlQdWJsaWNLZXlDcmVkZW50aWFsTG9naW5DaG9pY2UpOwogU09G
VF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoV2ViS2l0LCBBU0NBcHBsZUlEQ3JlZGVudGlhbCk7CiAK
K1NPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdlYktpdCwgQXV0aGVudGljYXRpb25TZXJ2
aWNlc0NvcmUsIEFTQ0F1dGhvcml6YXRpb25FcnJvckRvbWFpbiwgTlNFcnJvckRvbWFpbik7Cisj
ZGVmaW5lIEFTQ0F1dGhvcml6YXRpb25FcnJvckRvbWFpbiBXZWJLaXQ6OmdldF9BdXRoZW50aWNh
dGlvblNlcnZpY2VzQ29yZV9BU0NBdXRob3JpemF0aW9uRXJyb3JEb21haW4oKQorCitTT0ZUX0xJ
TktfQ09OU1RBTlRfRk9SX0hFQURFUihXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3Jl
LCBBU0NQSU5WYWxpZGF0aW9uUmVzdWx0S2V5LCBOU1N0cmluZyopOworI2RlZmluZSBBU0NQSU5W
YWxpZGF0aW9uUmVzdWx0S2V5IFdlYktpdDo6Z2V0X0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3Jl
X0FTQ1BJTlZhbGlkYXRpb25SZXN1bHRLZXkoKQorCiAjZW5kaWYgLy8gSEFWRShBU0NfQVVUSF9V
SSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9u
L0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNlcnZp
Y2VzQ29yZVNvZnRMaW5rLm1tCmluZGV4IDg3ZTU0NjAyMjdmNDgxOTE2NTc2YzA5Njg0ODM5MDBj
ZmRhN2M5ZGEuLjk3Y2U0YTYxMTNiNjcwN2EwOTEwMzJjZTBkZGVmMjAxYWNkNTk1OGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1
dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlU29mdExpbmsubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0Nv
cmVTb2Z0TGluay5tbQpAQCAtMzgsNCArMzgsNyBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJD
RShXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlLCBBU0NQbGF0Zm9ybVB1YmxpYwog
U09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0UoV2ViS2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2Vz
Q29yZSwgQVNDU2VjdXJpdHlLZXlQdWJsaWNLZXlDcmVkZW50aWFsTG9naW5DaG9pY2UpOwogU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0UoV2ViS2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29y
ZSwgQVNDQXBwbGVJRENyZWRlbnRpYWwpOwogCitTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJD
RShXZWJLaXQsIEF1dGhlbnRpY2F0aW9uU2VydmljZXNDb3JlLCBBU0NBdXRob3JpemF0aW9uRXJy
b3JEb21haW4sIE5TRXJyb3JEb21haW4pOworU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0Uo
V2ViS2l0LCBBdXRoZW50aWNhdGlvblNlcnZpY2VzQ29yZSwgQVNDUElOVmFsaWRhdGlvblJlc3Vs
dEtleSwgTlNTdHJpbmcqKTsKKwogI2VuZGlmIC8vIEhBVkUoQVNDX0FVVEhfVUkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRo
ZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRv
ci5oCmluZGV4IDYzZDA3MGMzZGU3ZDI4NzY2YjVjYTg2Y2U4YTM1ZTQ5MGZlNmNkNDkuLmYxMzkz
NTEyZmUwYjg1OWVjZTM4MjliZjIzOWY2YWU2YzE4NzQxNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0b3JQcmVz
ZW50ZXJDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhl
bnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvci5oCkBAIC0z
NSwxMCArMzUsMTIgQEAKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1dlYWtQdHIuaD4KIAorT0JKQ19DTEFTUyBBU0NBcHBsZUlEQ3JlZGVudGlhbDsKIE9CSkNfQ0xB
U1MgQVNDQXV0aG9yaXphdGlvblByZXNlbnRhdGlvbkNvbnRleHQ7CiBPQkpDX0NMQVNTIEFTQ0F1
dGhvcml6YXRpb25QcmVzZW50ZXI7CiBPQkpDX0NMQVNTIEFTQ0xvZ2luQ2hvaWNlUHJvdG9jb2w7
CiBPQkpDX0NMQVNTIExBQ29udGV4dDsKK09CSkNfQ0xBU1MgTlNFcnJvcjsKIE9CSkNfQ0xBU1Mg
V0tBU0NBdXRob3JpemF0aW9uUHJlc2VudGVyRGVsZWdhdGU7CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewpAQCAtNTAsNyArNTIsNyBAQCBjbGFzcyBBdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0
b3IgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8QXV0aGVudGljYXRvclByZQogICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcik7CiBwdWJsaWM6
CiAgICAgdXNpbmcgVHJhbnNwb3J0U2V0ID0gSGFzaFNldDxXZWJDb3JlOjpBdXRoZW50aWNhdG9y
VHJhbnNwb3J0LCBXVEY6OkludEhhc2g8V2ViQ29yZTo6QXV0aGVudGljYXRvclRyYW5zcG9ydD4s
IFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8V2ViQ29yZTo6QXV0aGVudGljYXRvclRyYW5zcG9y
dD4+OwotICAgIHVzaW5nIENyZWRlbnRpYWxSZXF1ZXN0SGFuZGxlciA9IEZ1bmN0aW9uPHZvaWQo
KT47CisgICAgdXNpbmcgQ3JlZGVudGlhbFJlcXVlc3RIYW5kbGVyID0gRnVuY3Rpb248dm9pZChB
U0NBcHBsZUlEQ3JlZGVudGlhbCAqLCBOU0Vycm9yICopPjsKIAogICAgIEF1dGhlbnRpY2F0b3JQ
cmVzZW50ZXJDb29yZGluYXRvcihjb25zdCBBdXRoZW50aWNhdG9yTWFuYWdlciYsIGNvbnN0IFN0
cmluZyYgcnBJZCwgY29uc3QgVHJhbnNwb3J0U2V0JiwgV2ViQ29yZTo6Q2xpZW50RGF0YVR5cGUp
OwogICAgIH5BdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3IoKTsKQEAgLTYzLDggKzY1
LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRDcmVkZW50aWFsUmVxdWVzdEhhbmRsZXIoQ3Jl
ZGVudGlhbFJlcXVlc3RIYW5kbGVyJiYgaGFuZGxlcikgeyBtX2NyZWRlbnRpYWxSZXF1ZXN0SGFu
ZGxlciA9IFdURk1vdmUoaGFuZGxlcik7IH0KICAgICB2b2lkIHNldExBQ29udGV4dChMQUNvbnRl
eHQgKik7Ci0KICAgICB2b2lkIGRpZFNlbGVjdEFzc2VydGlvblJlc3BvbnNlKEFTQ0xvZ2luQ2hv
aWNlUHJvdG9jb2wgKiwgTEFDb250ZXh0ICopOworICAgIHZvaWQgc2V0UGluKGNvbnN0IFN0cmlu
ZyYpOwogCiBwcml2YXRlOgogICAgIFdlYWtQdHI8QXV0aGVudGljYXRvck1hbmFnZXI+IG1fbWFu
YWdlcjsKQEAgLTc5LDYgKzgxLDggQEAgcHJpdmF0ZToKIAogICAgIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoV2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlKik+IG1fcmVzcG9u
c2VIYW5kbGVyOwogICAgIEhhc2hNYXA8QVNDTG9naW5DaG9pY2VQcm90b2NvbCAqLCBSZWZQdHI8
V2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlPj4gbV9jcmVkZW50aWFsczsK
KworICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgU3RyaW5nJik+IG1fcGluSGFuZGxl
cjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRvclByZXNlbnRl
ckNvb3JkaW5hdG9yLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRp
b24vQ29jb2EvQXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yLm1tCmluZGV4IDg5ODU2
Zjg2MDhkMmI2Y2QzNWI0MTgyMmI5YjkyMGM1ZWU2NTUxZjguLjg1YWVhYTM4N2E1NDZjOTM1NWZh
ZWUxOWQ2YTc5OThmZjYxOWQ4N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRv
ci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2Nv
YS9BdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3IubW0KQEAgLTg2LDE2ICs4Niw0MiBA
QCBBdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3I6On5BdXRoZW50aWNhdG9yUHJlc2Vu
dGVyQ29vcmRpbmF0b3IoKQogICAgICAgICBtX2xhQ29udGV4dEhhbmRsZXIobnVsbHB0cik7CiAg
ICAgaWYgKG1fcmVzcG9uc2VIYW5kbGVyKQogICAgICAgICBtX3Jlc3BvbnNlSGFuZGxlcihudWxs
cHRyKTsKKyAgICBpZiAobV9waW5IYW5kbGVyKQorICAgICAgICBtX3BpbkhhbmRsZXIoU3RyaW5n
KCkpOwogfQogCi12b2lkIEF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcjo6dXBkYXRl
UHJlc2VudGVyKFdlYkF1dGhlbnRpY2F0aW9uU3RhdHVzKQordm9pZCBBdXRoZW50aWNhdG9yUHJl
c2VudGVyQ29vcmRpbmF0b3I6OnVwZGF0ZVByZXNlbnRlcihXZWJBdXRoZW50aWNhdGlvblN0YXR1
cyBzdGF0dXMpCiB7Ci0gICAgLy8gRklYTUUoMjE5NzEzKTogQWRvcHQgbmV3IFVJIGZvciB0aGUg
dXBkYXRlIGZsb3cuCisjaWYgSEFWRShBU0NfQVVUSF9VSSkKKyAgICBzd2l0Y2ggKHN0YXR1cykg
eworICAgIGNhc2UgV2ViQXV0aGVudGljYXRpb25TdGF0dXM6OlBpbkJsb2NrZWQ6IHsKKyAgICAg
ICAgYXV0byBlcnJvciA9IGFkb3B0TlMoW1tOU0Vycm9yIGFsbG9jXSBpbml0V2l0aERvbWFpbjpB
U0NBdXRob3JpemF0aW9uRXJyb3JEb21haW4gY29kZTpBU0NBdXRob3JpemF0aW9uRXJyb3JQSU5S
ZXF1aXJlZCB1c2VySW5mbzpAeyBBU0NQSU5WYWxpZGF0aW9uUmVzdWx0S2V5OiBAKEFTQ1BJTlZh
bGlkYXRpb25SZXN1bHRQSU5CbG9ja2VkKSB9XSk7CisgICAgICAgIG1fY3JlZGVudGlhbFJlcXVl
c3RIYW5kbGVyKG5pbCwgZXJyb3IuZ2V0KCkpOworICAgICAgICBicmVhazsKKyAgICB9CisgICAg
Y2FzZSBXZWJBdXRoZW50aWNhdGlvblN0YXR1czo6UGluQXV0aEJsb2NrZWQ6IHsKKyAgICAgICAg
YXV0byBlcnJvciA9IGFkb3B0TlMoW1tOU0Vycm9yIGFsbG9jXSBpbml0V2l0aERvbWFpbjpBU0NB
dXRob3JpemF0aW9uRXJyb3JEb21haW4gY29kZTpBU0NBdXRob3JpemF0aW9uRXJyb3JQSU5SZXF1
aXJlZCB1c2VySW5mbzpAeyBBU0NQSU5WYWxpZGF0aW9uUmVzdWx0S2V5OiBAKEFTQ1BJTlZhbGlk
YXRpb25SZXN1bHRQSU5BdXRoQmxvY2tlZCkgfV0pOworICAgICAgICBtX2NyZWRlbnRpYWxSZXF1
ZXN0SGFuZGxlcihuaWwsIGVycm9yLmdldCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAg
IGNhc2UgV2ViQXV0aGVudGljYXRpb25TdGF0dXM6OlBpbkludmFsaWQ6IHsKKyAgICAgICAgYXV0
byBlcnJvciA9IGFkb3B0TlMoW1tOU0Vycm9yIGFsbG9jXSBpbml0V2l0aERvbWFpbjpBU0NBdXRo
b3JpemF0aW9uRXJyb3JEb21haW4gY29kZTpBU0NBdXRob3JpemF0aW9uRXJyb3JQSU5SZXF1aXJl
ZCB1c2VySW5mbzpAeyBBU0NQSU5WYWxpZGF0aW9uUmVzdWx0S2V5OiBAKEFTQ1BJTlZhbGlkYXRp
b25SZXN1bHRQSU5JbnZhbGlkKSB9XSk7CisgICAgICAgIG1fY3JlZGVudGlhbFJlcXVlc3RIYW5k
bGVyKG5pbCwgZXJyb3IuZ2V0KCkpOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgZGVmYXVs
dDoKKyAgICAgICAgLy8gRklYTUUoMjE5NzEzKTogQWRvcHQgbmV3IFVJIGZvciB0aGUgdXBkYXRl
IGZsb3cuCisgICAgICAgIGJyZWFrOworICAgIH0KKyNlbmRpZiAvLyBIQVZFKEFTQ19BVVRIX1VJ
KQogfQogCi12b2lkIEF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcjo6cmVxdWVzdFBp
bih1aW50NjRfdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBTdHJpbmcmKT4mJikKK3Zv
aWQgQXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yOjpyZXF1ZXN0UGluKHVpbnQ2NF90
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFN0cmluZyYpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQogewotICAgIC8vIEZJWE1FKDIxOTcxMik6IEFkb3B0IG5ldyBVSSBmb3IgdGhlIENsaWVu
dCBQSU4gZmxvdy4KKyNpZiBIQVZFKEFTQ19BVVRIX1VJKQorICAgIG1fcGluSGFuZGxlciA9IFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpOworICAgIFttX3ByZXNlbnRlciBwcmVzZW50UElORW50
cnlJbnRlcmZhY2VdOworI2VuZGlmIC8vIEhBVkUoQVNDX0FVVEhfVUkpCiB9CiAKIHZvaWQgQXV0
aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yOjpzZWxlY3RBc3NlcnRpb25SZXNwb25zZShW
ZWN0b3I8UmVmPEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZT4+JiYgcmVzcG9uc2VzLCBX
ZWJBdXRoZW50aWNhdGlvblNvdXJjZSBzb3VyY2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoQXV0
aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlKik+JiYgY29tcGxldGlvbkhhbmRsZXIpCkBAIC0x
NTYsMTEgKzE4MiwxNiBAQCB2b2lkIEF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcjo6
cmVxdWVzdExBQ29udGV4dEZvclVzZXJWZXJpZmljYXRpb24oQ29tcAogCiB2b2lkIEF1dGhlbnRp
Y2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcjo6ZGltaXNzUHJlc2VudGVyKFdlYkF1dGhlbnRpY2F0
aW9uUmVzdWx0IHJlc3VsdCkKIHsKKyNpZiBIQVZFKEFTQ19BVVRIX1VJKQogICAgIGlmIChyZXN1
bHQgPT0gV2ViQXV0aGVudGljYXRpb25SZXN1bHQ6OlN1Y2NlZWRlZCAmJiBtX2NyZWRlbnRpYWxS
ZXF1ZXN0SGFuZGxlcikgewotICAgICAgICBtX2NyZWRlbnRpYWxSZXF1ZXN0SGFuZGxlcigpOwor
ICAgICAgICAvLyBGSVhNRSgyMTk3NjcpOiBSZXBsYWNlIHRoZSBBU0NBcHBsZUlEQ3JlZGVudGlh
bCB3aXRoIHRoZSB1cGNvbWluZyBXZWJBdXRobiBjcmVkZW50aWFscyBvbmUuCisgICAgICAgIC8v
IFRoaXMgaXMganVzdCBhIHBsYWNlIGhvbGRlciB0byB0ZWxsIHRoZSBVSSB0aGF0IHRoZSBjZXJl
bW9ueSBzdWNjZWVkcy4KKyAgICAgICAgbV9jcmVkZW50aWFsUmVxdWVzdEhhbmRsZXIoYWRvcHRO
UyhbV2ViS2l0OjphbGxvY0FTQ0FwcGxlSURDcmVkZW50aWFsSW5zdGFuY2UoKSBpbml0V2l0aFVz
ZXI6QCIiIGlkZW50aXR5VG9rZW46YWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdF0pLmdldCgp
XSkuZ2V0KCksIG5pbCk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgLy8gRklYTUUoMjE5
NzE2KTogQWRvcHQgbmV3IFVJIGZvciB0aGUgZGlzbWlzcyBmbG93LgorCisgICAgW21fcHJlc2Vu
dGVyIGRpc21pc3NXaXRoRXJyb3I6bmlsXTsKKyNlbmRpZiAvLyBIQVZFKEFTQ19BVVRIX1VJKQog
fQogCiB2b2lkIEF1dGhlbnRpY2F0b3JQcmVzZW50ZXJDb29yZGluYXRvcjo6c2V0TEFDb250ZXh0
KExBQ29udGV4dCAqY29udGV4dCkKQEAgLTE4NSw2ICsyMTYsMTEgQEAgdm9pZCBBdXRoZW50aWNh
dG9yUHJlc2VudGVyQ29vcmRpbmF0b3I6OmRpZFNlbGVjdEFzc2VydGlvblJlc3BvbnNlKEFTQ0xv
Z2luQ2hvaWMKICAgICBtX3Jlc3BvbnNlSGFuZGxlcihyZXNwb25zZS5nZXQoKSk7CiB9CiAKK3Zv
aWQgQXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yOjpzZXRQaW4oY29uc3QgU3RyaW5n
JiBwaW4pCit7CisgICAgbV9waW5IYW5kbGVyKHBpbik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL05mY1NlcnZpY2UubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9OZmNTZXJ2aWNl
Lm1tCmluZGV4IDY1M2E5ODRmM2RjNzExZjNmZDM2OGU5ZDRhOThmYTVhZjliM2ExOWIuLjhkYTVi
OGZhNjFlZDRhYzE3ZWExNzUzMmVlYWI2YzE4NjEzYjc2ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL05mY1NlcnZpY2UubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvTmZjU2Vy
dmljZS5tbQpAQCAtNTIsNyArNTIsNyBAQCBOZmNTZXJ2aWNlOjp+TmZjU2VydmljZSgpCiBib29s
IE5mY1NlcnZpY2U6OmlzQXZhaWxhYmxlKCkKIHsKICNpZiBIQVZFKE5FQVJfRklFTEQpCi0gICAg
cmV0dXJuIFtbZ2V0TkZIYXJkd2FyZU1hbmFnZXJDbGFzcygpIHNoYXJlZEhhcmR3YXJlTWFuYWdl
cl0gYXJlRmVhdHVyZXNTdXBwb3J0ZWQ6TkZGZWF0dXJlUmVhZGVyTW9kZSBvdXRFcnJvcjpuaWxd
OworICAgIHJldHVybiBbW2dldE5GSGFyZHdhcmVNYW5hZ2VyQ2xhc3MoKSBzaGFyZWRIYXJkd2Fy
ZU1hbmFnZXJXaXRoTm9VSV0gYXJlRmVhdHVyZXNTdXBwb3J0ZWQ6TkZGZWF0dXJlUmVhZGVyTW9k
ZSBvdXRFcnJvcjpuaWxdOwogI2Vsc2UKICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKQEAgLTEx
OCw3ICsxMTgsNyBAQCB2b2lkIE5mY1NlcnZpY2U6OnBsYXRmb3JtU3RhcnREaXNjb3ZlcnkoKQog
ICAgICAgICAgICAgbV9jb25uZWN0aW9uID0gTmZjQ29ubmVjdGlvbjo6Y3JlYXRlKFdURk1vdmUo
c2Vzc2lvbiksICp0aGlzKTsKICAgICAgICAgfSk7CiAgICAgfSk7Ci0gICAgW1tnZXRORkhhcmR3
YXJlTWFuYWdlckNsYXNzKCkgc2hhcmVkSGFyZHdhcmVNYW5hZ2VyXSBzdGFydFJlYWRlclNlc3Np
b246Y2FsbGJhY2suZ2V0KCldOworICAgIFtbZ2V0TkZIYXJkd2FyZU1hbmFnZXJDbGFzcygpIHNo
YXJlZEhhcmR3YXJlTWFuYWdlcldpdGhOb1VJXSBzdGFydFJlYWRlclNlc3Npb246Y2FsbGJhY2su
Z2V0KCldOwogI2VuZGlmIC8vIEhBVkUoTkVBUl9GSUVMRCkKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvV0tBU0NBdXRob3Jp
emF0aW9uUHJlc2VudGVyRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJB
dXRoZW50aWNhdGlvbi9Db2NvYS9XS0FTQ0F1dGhvcml6YXRpb25QcmVzZW50ZXJEZWxlZ2F0ZS5t
bQppbmRleCAwYWFhYzY0M2M0NWNkOTBlMGM0MjZlZmNjODNiYjZmYTdiZjlhNjI2Li5jYzU2Zjk3
NDYzYzYyNjgxMmNhNjRjYzQ0M2IxZDIyYTZjMWZkYWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9XS0FTQ0F1dGhvcml6YXRpb25Q
cmVzZW50ZXJEZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRo
ZW50aWNhdGlvbi9Db2NvYS9XS0FTQ0F1dGhvcml6YXRpb25QcmVzZW50ZXJEZWxlZ2F0ZS5tbQpA
QCAtNDcsMTAgKzQ3LDggQEAgLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoQ29vcmRpbmF0b3I6KFdl
YktpdDo6QXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yJikKIAogLSAodm9pZClhdXRo
b3JpemF0aW9uUHJlc2VudGVyOihBU0NBdXRob3JpemF0aW9uUHJlc2VudGVyICopcHJlc2VudGVy
IGNyZWRlbnRpYWxSZXF1ZXN0ZWRGb3JMb2dpbkNob2ljZTooaWQgPEFTQ0xvZ2luQ2hvaWNlUHJv
dG9jb2w+KWxvZ2luQ2hvaWNlIGF1dGhlbnRpY2F0ZWRDb250ZXh0OihudWxsYWJsZSBMQUNvbnRl
eHQgKiljb250ZXh0IGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShpZCA8QVNDQ3JlZGVudGlh
bFByb3RvY29sPiBfTnVsbGFibGUgY3JlZGVudGlhbCwgTlNFcnJvciAqIF9OdWxsYWJsZSBlcnJv
cikpY29tcGxldGlvbkhhbmRsZXIKIHsKLSAgICBhdXRvIHJlcXVlc3RIYW5kbGVyID0gW2NvbXBs
ZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0gewotICAgICAg
ICAvLyBGSVhNRSgyMTk3NjcpOiBSZXBsYWNlIHRoZSBBU0NBcHBsZUlEQ3JlZGVudGlhbCB3aXRo
IHRoZSB1cGNvbWluZyBXZWJBdXRobiBjcmVkZW50aWFscyBvbmUuCi0gICAgICAgIC8vIFRoaXMg
aXMganVzdCBhIHBsYWNlIGhvbGRlciB0byB0ZWxsIHRoZSBVSSB0aGF0IHRoZSBjZXJlbW9ueSBz
dWNjZWVkcy4KLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoYWRvcHROUyhbV2ViS2l0OjphbGxv
Y0FTQ0FwcGxlSURDcmVkZW50aWFsSW5zdGFuY2UoKSBpbml0V2l0aFVzZXI6QCIiIGlkZW50aXR5
VG9rZW46YWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdF0pLmdldCgpXSkuZ2V0KCksIG5pbCk7
CisgICAgYXV0byByZXF1ZXN0SGFuZGxlciA9IFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9j
a1B0cihjb21wbGV0aW9uSGFuZGxlcildIChBU0NBcHBsZUlEQ3JlZGVudGlhbCAqY3JlZGVudGlh
bCwgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoY3JlZGVudGlh
bCwgZXJyb3IpOwogICAgIH07CiAgICAgW3NlbGYgZGlzcGF0Y2hDb29yZGluYXRvckNhbGxiYWNr
OltyZXF1ZXN0SGFuZGxlciA9IFdURk1vdmUocmVxdWVzdEhhbmRsZXIpXSAoV2ViS2l0OjpBdXRo
ZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3ImIGNvb3JkaW5hdG9yKSBtdXRhYmxlIHsKICAg
ICAgICAgY29vcmRpbmF0b3Iuc2V0Q3JlZGVudGlhbFJlcXVlc3RIYW5kbGVyKFdURk1vdmUocmVx
dWVzdEhhbmRsZXIpKTsKQEAgLTg3LDcgKzg1LDE3IEBAIC0gKHZvaWQpYXV0aG9yaXphdGlvblBy
ZXNlbnRlcjooQVNDQXV0aG9yaXphdGlvblByZXNlbnRlciAqKXByZXNlbnRlciBjcmVkZW50aWFs
CiAKIC0gKHZvaWQpYXV0aG9yaXphdGlvblByZXNlbnRlcjooQVNDQXV0aG9yaXphdGlvblByZXNl
bnRlciAqKXByZXNlbnRlciB2YWxpZGF0ZVVzZXJFbnRlcmVkUElOOihOU1N0cmluZyAqKXBpbiBj
b21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoaWQgPEFTQ0NyZWRlbnRpYWxQcm90b2NvbD4gY3Jl
ZGVudGlhbCwgTlNFcnJvciAqZXJyb3IpKWNvbXBsZXRpb25IYW5kbGVyCiB7Ci0gICAgLy8gRklY
TUUoMjE5NzEyKTogQWRvcHQgbmV3IFVJIGZvciB0aGUgQ2xpZW50IFBJTiBmbG93LgorICAgIGF1
dG8gcmVxdWVzdEhhbmRsZXIgPSBbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29t
cGxldGlvbkhhbmRsZXIpXSAoQVNDQXBwbGVJRENyZWRlbnRpYWwgKmNyZWRlbnRpYWwsIE5TRXJy
b3IgKmVycm9yKSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGNyZWRlbnRpYWwsIGVycm9y
KTsKKyAgICB9OworICAgIFtzZWxmIGRpc3BhdGNoQ29vcmRpbmF0b3JDYWxsYmFjazpbcmVxdWVz
dEhhbmRsZXIgPSBXVEZNb3ZlKHJlcXVlc3RIYW5kbGVyKV0gKFdlYktpdDo6QXV0aGVudGljYXRv
clByZXNlbnRlckNvb3JkaW5hdG9yJiBjb29yZGluYXRvcikgbXV0YWJsZSB7CisgICAgICAgIGNv
b3JkaW5hdG9yLnNldENyZWRlbnRpYWxSZXF1ZXN0SGFuZGxlcihXVEZNb3ZlKHJlcXVlc3RIYW5k
bGVyKSk7CisgICAgfV07CisKKyAgICBTdHJpbmcgcGluU3RyaW5nID0gcGluOworICAgIFtzZWxm
IGRpc3BhdGNoQ29vcmRpbmF0b3JDYWxsYmFjazpbcGluU3RyaW5nID0gV1RGTW92ZShwaW5TdHJp
bmcpXSAoV2ViS2l0OjpBdXRoZW50aWNhdG9yUHJlc2VudGVyQ29vcmRpbmF0b3ImIGNvb3JkaW5h
dG9yKSBtdXRhYmxlIHsKKyAgICAgICAgY29vcmRpbmF0b3Iuc2V0UGluKHBpblN0cmluZyk7Cisg
ICAgfV07CiB9CiAKIC0gKHZvaWQpZGlzcGF0Y2hDb29yZGluYXRvckNhbGxiYWNrOihGdW5jdGlv
bjx2b2lkKFdlYktpdDo6QXV0aGVudGljYXRvclByZXNlbnRlckNvb3JkaW5hdG9yJik+JiYpY2Fs
bGJhY2sK
</data>

          </attachment>
      

    </bug>

</bugzilla>