<?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>227885</bug_id>
          
          <creation_ts>2021-07-12 14:00:12 -0700</creation_ts>
          <short_desc>Make WebKit&apos;s UserInterfaceIdiom operate in terms of the exceptions, not the rule</short_desc>
          <delta_ts>2021-07-12 19:06:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>dino</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1776437</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-07-12 14:00:12 -0700</bug_when>
    <thetext>Make WebKit&apos;s UserInterfaceIdiom operate in terms of the exceptions, not the rule</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776439</commentid>
    <comment_count>1</comment_count>
      <attachid>433356</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-07-12 14:02:00 -0700</bug_when>
    <thetext>Created attachment 433356
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776462</commentid>
    <comment_count>2</comment_count>
      <attachid>433363</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-07-12 14:49:34 -0700</bug_when>
    <thetext>Created attachment 433363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776529</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-12 19:05:48 -0700</bug_when>
    <thetext>Committed r279863 (239616@main): &lt;https://commits.webkit.org/239616@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433363.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776530</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-12 19:06:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/80494541&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433356</attachid>
            <date>2021-07-12 14:02:00 -0700</date>
            <delta_ts>2021-07-12 15:20:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227885-20210712140159.patch</filename>
            <type>text/plain</type>
            <size>26641</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFiNzhmNjhmNTIzODk0NjVh
NWIxYzMyNWU1N2RiNjI5YWI1NWUyYWQuLmQyZjMyZTcyN2M4ZTg3ZGE0NDA0MmVmYzI2YzUzNmNm
ZDhjYzQwMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjggQEAKKzIwMjEtMDctMTIgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBXZWJLaXQncyBV
c2VySW50ZXJmYWNlSWRpb20gb3BlcmF0ZSBpbiB0ZXJtcyBvZiB0aGUgZXhjZXB0aW9ucywgbm90
IHRoZSBydWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjc4ODUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5OTg3MTU4PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gY2hh
bmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgIEluIGdlbmVyYWwsIHdlIGNvbnNpZGVyIHRoZSBt
YWNPUy9pUGFkIGJlaGF2aW9yIHRoZSAibm9ybWFsIiBXZWJLaXQgYmVoYXZpb3IsCisgICAgICAg
IGFuZCBleGNlcHRpb25zIHRvIHRoYXQgZm9yIGlQaG9uZSBvciBXYXRjaCBhcmUganVzdCB0aGF0
OiBleGNlcHRpb25zLgorCisgICAgICAgIFRvIGJyaW5nIHRoZSBjb2RlIGluIGxpbmUgd2l0aCB0
aGlzIHVuZGVyc3RhbmRpbmcsIG1ha2UgcGxhY2VzIHRoYXQKKyAgICAgICAgd2UgbWFrZSBkZWNp
c2lvbnMgYmFzZWQgb24gVUlVc2VySW50ZXJmYWNlSWRpb20gdGFrZSBtYWNPUy9pUGFkIGJlaGF2
aW9yCisgICAgICAgIGFzIHRoZSBkZWZhdWx0LCBhbmQgbWFrZSBpUGhvbmUvV2F0Y2ggdGhlIHNw
ZWNpYWwgY2FzZXMuCisKKyAgICAgICAgKiBTaGFyZWQvVXNlckludGVyZmFjZUlkaW9tLmg6Cisg
ICAgICAgICogU2hhcmVkL1VzZXJJbnRlcmZhY2VJZGlvbS5tbToKKyAgICAgICAgKFdlYktpdDo6
Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKToKKyAgICAgICAgKFdlYktp
dDo6c2V0Q3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKToKKyAgICAgICAg
QWxzbywgbHVtcCBpUG9kIFRvdWNoIGluIHdpdGggaVBob25lIHdoZW4gY2hlY2tpbmcgYmFzZWQg
b24gZGV2aWNlIGNsYXNzLgorCisgICAgICAgIChXZWJLaXQ6OnVwZGF0ZUN1cnJlbnRVc2VySW50
ZXJmYWNlSWRpb20pOgorICAgICAgICAoV2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9t
SXNQYWRPck1hYyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OnNldEN1cnJlbnRVc2VySW50
ZXJmYWNlSWRpb21Jc1BhZE9yTWFjKTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvaW9zL1dlYlByZWZl
cmVuY2VzRGVmYXVsdFZhbHVlc0lPUy5tbToKKyAgICAgICAgKFdlYktpdDo6ZGVmYXVsdFRleHRB
dXRvc2l6aW5nVXNlc0lkZW1wb3RlbnRNb2RlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW06CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24gaW5pdF0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9v
bENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0
aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpyZWdp
c3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycyk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9TbWFy
dE1hZ25pZmljYXRpb25Db250cm9sbGVyLm1tOgorICAgICAgICAoV2ViS2l0OjpTbWFydE1hZ25p
ZmljYXRpb25Db250cm9sbGVyOjpkaWRDb2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRp
b25HZXN0dXJlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbToKKyAgICAgICAgKC1bV0tGb3JtSW5wdXRTZXNzaW9uIHNldEFjY2Vzc29yeVZpZXdD
dXN0b21CdXR0b25UaXRsZTpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBlbmRFZGl0aW5n
QW5kVXBkYXRlRm9jdXNBcHBlYXJhbmNlV2l0aFJlYXNvbjpdKToKKyAgICAgICAgKC1bV0tDb250
ZW50VmlldyBfc2hvdWxkU2hvd0F1dG9tYXRpY0tleWJvYXJkVUlJZ25vcmluZ0lucHV0TW9kZV0p
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF96b29tVG9SZXZlYWxGb2N1c2VkRWxlbWVudF0p
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9lbGVtZW50VHlwZVJlcXVpcmVzQWNjZXNzb3J5
VmlldzpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfdXBkYXRlQWNjZXNzb3J5XSk6Cisg
ICAgICAgICgtW1dLQ29udGVudFZpZXcgX3Nob3VsZFVzZUxlZ2FjeVNlbGVjdFBvcG92ZXJEaXNt
aXNzYWxCZWhhdmlvcl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViRGF0YUxpc3RTdWdn
ZXN0aW9uc0Ryb3Bkb3duSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJEYXRhTGlzdFN1Z2dl
c3Rpb25zRHJvcGRvd25JT1M6OnNob3cpOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViUGFn
ZVByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpkZXNrdG9wQ2xhc3NCcm93c2luZ1N1cHBv
cnRlZCk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tl
ci5tbToKKyAgICAgICAgKC1bV0tBaXJQbGF5Um91dGVQaWNrZXIgc2hvdzpmcm9tUmVjdDpdKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLm1tOgorICAg
ICAgICAoLVtXS0ZpbGVVcGxvYWRQYW5lbCBfc2hvd1Bob3RvUGlja2VyV2l0aFNvdXJjZVR5cGU6
XSk6CisgICAgICAgICgtW1dLRmlsZVVwbG9hZFBhbmVsIF9wcmVzZW50TWVudU9wdGlvbkZvckN1
cnJlbnRJbnRlcmZhY2VJZGlvbTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1zL1dL
Rm9ybVNlbGVjdENvbnRyb2wubW06CisgICAgICAgICgtW1dLRm9ybVNlbGVjdENvbnRyb2wgaW5p
dFdpdGhWaWV3Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0
UGlja2VyLm1tOgorICAgICAgICAoLVtXS1NlbGVjdE11bHRpcGxlUGlja2VyIGNvbmZpZ3VyZVBy
ZXNlbnRhdGlvbl0pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnVzZXJJbnRlcmZhY2VJZGlvbURpZENoYW5nZSk6
CisKIDIwMjEtMDctMTIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI3OTgzNS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1VzZXJJbnRlcmZhY2VJZGlvbS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvVXNl
ckludGVyZmFjZUlkaW9tLmgKaW5kZXggMjkxZTZhMjUwODg2MmQ2YTgxMjk5ZTYxNjIyZDNiOWJm
OGU5OTBjMS4uM2U3YWZmZDg5MWRmOGE0YTI4ODhiZTdmYzU4Nzk5NjUyMjMxODk3ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvVXNlckludGVyZmFjZUlkaW9tLmgKKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvVXNlckludGVyZmFjZUlkaW9tLmgKQEAgLTI5LDggKzI5LDggQEAK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWJvb2wgY3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlz
UGFkT3JNYWMoKTsKLXZvaWQgc2V0Q3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkT3JNYWMo
Ym9vbCk7Citib29sIGN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaCgpOwor
dm9pZCBzZXRDdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0Y2goYm9vbCk7CiBi
b29sIHVwZGF0ZUN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb20oKTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvVXNlckludGVyZmFjZUlkaW9tLm1tIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvVXNlckludGVyZmFjZUlkaW9tLm1tCmluZGV4IGJjZTcwNjA1MmRmMzBhZTRhM2Nj
Njk4YzQ1OGY5ODcyYmNkNTZjODYuLmU5NjhmYjRmMDNmNDFiMjJkMGY3OTI5OTk1NmI4MGZkZTYz
YWU0NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1VzZXJJbnRlcmZhY2VJZGlv
bS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Vc2VySW50ZXJmYWNlSWRpb20ubW0KQEAg
LTM0LDQ4ICszNCw0OCBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGVudW0gY2xhc3MgVXNlcklu
dGVyZmFjZUlkaW9tU3RhdGUgOiB1aW50OF90IHsKLSAgICBJc1BhZE9yTWFjLAotICAgIElzTm90
UGFkT3JNYWMsCisgICAgSXNQaG9uZU9yV2F0Y2gsCisgICAgSXNOb3RQaG9uZU9yV2F0Y2gsCiAg
ICAgVW5rbm93biwKIH07CiAKLXN0YXRpYyBVc2VySW50ZXJmYWNlSWRpb21TdGF0ZSB1c2VySW50
ZXJmYWNlSWRpb21Jc1BhZFN0YXRlID0gVXNlckludGVyZmFjZUlkaW9tU3RhdGU6OlVua25vd247
CitzdGF0aWMgVXNlckludGVyZmFjZUlkaW9tU3RhdGUgdXNlckludGVyZmFjZUlkaW9tU3RhdGUg
PSBVc2VySW50ZXJmYWNlSWRpb21TdGF0ZTo6VW5rbm93bjsKIAotYm9vbCBjdXJyZW50VXNlcklu
dGVyZmFjZUlkaW9tSXNQYWRPck1hYygpCitib29sIGN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21J
c1Bob25lT3JXYXRjaCgpCiB7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBnZXQgcmlkIG9mIHRo
aXMgZnVuY3Rpb24gYW5kIGhhdmUgY2FsbGVycyBtYWtlIGV4cGxpY2l0IGRlY2lzaW9ucyBmb3Ig
YWxsIG9mIGlQaG9uZS9pUGFkL21hY09TLgogCi0gICAgaWYgKHVzZXJJbnRlcmZhY2VJZGlvbUlz
UGFkU3RhdGUgPT0gVXNlckludGVyZmFjZUlkaW9tU3RhdGU6OlVua25vd24pCisgICAgaWYgKHVz
ZXJJbnRlcmZhY2VJZGlvbVN0YXRlID09IFVzZXJJbnRlcmZhY2VJZGlvbVN0YXRlOjpVbmtub3du
KQogICAgICAgICB1cGRhdGVDdXJyZW50VXNlckludGVyZmFjZUlkaW9tKCk7CiAKLSAgICByZXR1
cm4gdXNlckludGVyZmFjZUlkaW9tSXNQYWRTdGF0ZSA9PSBVc2VySW50ZXJmYWNlSWRpb21TdGF0
ZTo6SXNQYWRPck1hYzsKKyAgICByZXR1cm4gdXNlckludGVyZmFjZUlkaW9tU3RhdGUgPT0gVXNl
ckludGVyZmFjZUlkaW9tU3RhdGU6OklzUGhvbmVPcldhdGNoOwogfQogCi12b2lkIHNldEN1cnJl
bnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZE9yTWFjKGJvb2wgaXNQYWRPck1hYykKK3ZvaWQgc2V0
Q3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKGJvb2wgaXNQaG9uZU9yV2F0
Y2gpCiB7Ci0gICAgdXNlckludGVyZmFjZUlkaW9tSXNQYWRTdGF0ZSA9IGlzUGFkT3JNYWMgPyBV
c2VySW50ZXJmYWNlSWRpb21TdGF0ZTo6SXNQYWRPck1hYyA6IFVzZXJJbnRlcmZhY2VJZGlvbVN0
YXRlOjpJc05vdFBhZE9yTWFjOworICAgIHVzZXJJbnRlcmZhY2VJZGlvbVN0YXRlID0gaXNQaG9u
ZU9yV2F0Y2ggPyBVc2VySW50ZXJmYWNlSWRpb21TdGF0ZTo6SXNQaG9uZU9yV2F0Y2ggOiBVc2Vy
SW50ZXJmYWNlSWRpb21TdGF0ZTo6SXNOb3RQaG9uZU9yV2F0Y2g7CiB9CiAKIGJvb2wgdXBkYXRl
Q3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbSgpCiB7Ci0gICAgYm9vbCB3YXNQYWRPck1hYyA9IHVz
ZXJJbnRlcmZhY2VJZGlvbUlzUGFkU3RhdGUgPT0gVXNlckludGVyZmFjZUlkaW9tU3RhdGU6Oklz
UGFkT3JNYWM7Ci0gICAgYm9vbCBpc1BhZE9yTWFjID0gZmFsc2U7CisgICAgYm9vbCB3YXNQaG9u
ZU9yV2F0Y2ggPSB1c2VySW50ZXJmYWNlSWRpb21TdGF0ZSA9PSBVc2VySW50ZXJmYWNlSWRpb21T
dGF0ZTo6SXNQaG9uZU9yV2F0Y2g7CisgICAgYm9vbCBpc1Bob25lT3JXYXRjaCA9IGZhbHNlOwog
CiAgICAgLy8gSWYgd2UgYXJlIGluIGEgZGFlbW9uLCB3ZSBjYW5ub3QgdXNlIFVJRGV2aWNlLiBG
YWxsIGJhY2sgdG8gY2hlY2tpbmcgdGhlIGhhcmR3YXJlIGl0c2VsZi4KICAgICAvLyBTaW5jZSBk
YWVtb25zIGRvbid0IGV2ZXIgcnVuIGluIGFuIGlQaG9uZS1hcHAtb24taVBhZCBqYWlsLCB0aGlz
IHdpbGwgYmUgYWNjdXJhdGUgaW4gdGhlIGRhZW1vbiBjYXNlLAogICAgIC8vIGJ1dCBpcyBub3Qg
c3VmZmljaWVudCBpbiB0aGUgYXBwbGljYXRpb24gY2FzZS4KICAgICBpZiAoIVtVSUFwcGxpY2F0
aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSkgewogICAgICAgICBhdXRvIGRldmljZUNsYXNzID0gV2Vi
Q29yZTo6ZGV2aWNlQ2xhc3MoKTsKLSAgICAgICAgaXNQYWRPck1hYyA9IGRldmljZUNsYXNzID09
IE1HRGV2aWNlQ2xhc3NpUGFkIHx8IGRldmljZUNsYXNzID09IE1HRGV2aWNlQ2xhc3NNYWM7Cisg
ICAgICAgIGlzUGhvbmVPcldhdGNoID0gZGV2aWNlQ2xhc3MgPT0gTUdEZXZpY2VDbGFzc2lQaG9u
ZSB8fCBkZXZpY2VDbGFzcyA9PSBNR0RldmljZUNsYXNzaVBvZCB8fCBkZXZpY2VDbGFzcyA9PSBN
R0RldmljZUNsYXNzV2F0Y2g7CiAgICAgfSBlbHNlIHsKICAgICAgICAgYXV0byBpZGlvbSA9IFtb
VUlEZXZpY2UgY3VycmVudERldmljZV0gdXNlckludGVyZmFjZUlkaW9tXTsKLSAgICAgICAgaXNQ
YWRPck1hYyA9IGlkaW9tID09IFVJVXNlckludGVyZmFjZUlkaW9tUGFkIHx8IGlkaW9tID09IFVJ
VXNlckludGVyZmFjZUlkaW9tTWFjOworICAgICAgICBpc1Bob25lT3JXYXRjaCA9IGlkaW9tID09
IFVJVXNlckludGVyZmFjZUlkaW9tUGhvbmUgfHwgaWRpb20gPT0gVUlVc2VySW50ZXJmYWNlSWRp
b21XYXRjaDsKICAgICB9CiAKLSAgICBpZiAod2FzUGFkT3JNYWMgPT0gaXNQYWRPck1hYykKKyAg
ICBpZiAod2FzUGhvbmVPcldhdGNoID09IGlzUGhvbmVPcldhdGNoKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKLSAgICBzZXRDdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQYWRPck1hYyhpc1Bh
ZE9yTWFjKTsKKyAgICBzZXRDdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0Y2go
aXNQaG9uZU9yV2F0Y2gpOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IGVk
NmExMGQxZDQxMWMwMTExNThlM2VkYjkzMWE5ZDZkOTFjZDdmMWYuLjI3ODE0ZjdiMTU4MDQ1Yjkw
ODZjNDZjMjk0OTA4NTY2MTQ5YjYyNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCkBAIC0xODEsNyArMTgxLDcgQEAg
dm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGVu
Y29kZXIgPDwgY3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkOworICAgIGVuY29kZXIgPDwg
Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoOwogICAgIGVuY29kZXIgPDwg
c3VwcG9ydHNQaWN0dXJlSW5QaWN0dXJlOwogICAgIGVuY29kZXIgPDwgY3NzVmFsdWVUb1N5c3Rl
bUNvbG9yTWFwOwogICAgIGVuY29kZXIgPDwgZm9jdXNSaW5nQ29sb3I7CkBAIC01MDcsNyArNTA3
LDcgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNv
ZGVyJiBkZWNvZGVyLCBXZWJQcm9jZXNzQ3JlYXQKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMuY3VycmVudFVzZXJJ
bnRlcmZhY2VJZGlvbUlzUGFkKSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMu
Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLnN1cHBvcnRzUGlj
dHVyZUluUGljdHVyZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggN2NmOTkwNWM3YzRlY2Q2YmFhNDU3NGU0NmI0NWY2
Y2NiOTZmZjBkNy4uY2M4MzUyOGRjMWRhNDMyMWZlNDZmNzY3ZjJlYzQ3ZTc4YjI4YmY2MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaApAQCAtMjIyLDcgKzIyMiw3IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzIHsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBib29sIGN1cnJl
bnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZCB7IGZhbHNlIH07CisgICAgYm9vbCBjdXJyZW50VXNl
ckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0Y2ggeyBmYWxzZSB9OwogICAgIGJvb2wgc3VwcG9y
dHNQaWN0dXJlSW5QaWN0dXJlIHsgZmFsc2UgfTsKICAgICBXZWJDb3JlOjpSZW5kZXJUaGVtZUlP
Uzo6Q1NTVmFsdWVUb1N5c3RlbUNvbG9yTWFwIGNzc1ZhbHVlVG9TeXN0ZW1Db2xvck1hcDsKICAg
ICBXZWJDb3JlOjpDb2xvciBmb2N1c1JpbmdDb2xvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL2lvcy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXNJT1MubW0gYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9pb3MvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzSU9TLm1tCmluZGV4
IGFhZmNhNjVlNGNlZTIxMzhiYjAyZDgyZDJjYzIxN2VmNGUzNTA1MDUuLmRlMjVhNDIzZmVkNzUy
MmM1ZGVmNmE0NWYzNGM0ZGUxMGU0MDJlYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL2lvcy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXNJT1MubW0KKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvaW9zL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlc0lPUy5tbQpAQCAtMzgs
NyArMzgsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogYm9vbCBkZWZhdWx0VGV4dEF1dG9zaXpp
bmdVc2VzSWRlbXBvdGVudE1vZGUoKQogewotICAgIHJldHVybiBjdXJyZW50VXNlckludGVyZmFj
ZUlkaW9tSXNQYWRPck1hYygpOworICAgIHJldHVybiAhY3VycmVudFVzZXJJbnRlcmZhY2VJZGlv
bUlzUGhvbmVPcldhdGNoKCk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQppbmRl
eCA4MjQ0ZTEyNDIxMjU1NGIyZWM2NGY4NDQ0ZjU1MzJlZjJhMzU1Zjg3Li4xYTc4MGI1MjIwZWY0
YjBlYWI4YTYwNjQ3ZjFhYWRlYzYxMmRhNWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQpAQCAt
MTk4LDcgKzE5OCw3IEBAIC0gKGluc3RhbmNldHlwZSlpbml0CiAgICAgX2FsbG93c1BpY3R1cmVJ
blBpY3R1cmVNZWRpYVBsYXliYWNrID0gWUVTOwogI2VuZGlmCiAKLSAgICBfYWxsb3dzSW5saW5l
TWVkaWFQbGF5YmFjayA9IFdlYktpdDo6Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkT3JN
YWMoKTsKKyAgICBfYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayA9ICFXZWJLaXQ6OmN1cnJlbnRV
c2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaCgpOwogICAgIF9pbmxpbmVNZWRpYVBsYXli
YWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSA9ICFfYWxsb3dzSW5saW5lTWVkaWFQbGF5
YmFjazsKICAgICBfYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbiA9ICFf
YWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjazsKICAgICBfbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNh
bGx5ID0gX2FsbG93c0lubGluZU1lZGlhUGxheWJhY2s7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCBiMDVmYzgyYmQw
ZDcyMDE0MThkZDY5ZWE0NzE1ODk1NGNmMjVmMGY0Li4yZTZiNGMxMzc2MTkyYWE2MTA5YzRhOTE4
ZjM0M2Y0NDMzYTJiMWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KQEAgLTQzNyw3ICs0MzcsNyBAQCB2b2lkIFdlYlBy
b2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKGNvbnN0IFdlYlByb2Nlc3NQ
cm94eSYgcHJvY2VzcwogICAgIH0KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgcGFy
YW1ldGVycy5jdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQYWQgPSBjdXJyZW50VXNlckludGVy
ZmFjZUlkaW9tSXNQYWRPck1hYygpOworICAgIHBhcmFtZXRlcnMuY3VycmVudFVzZXJJbnRlcmZh
Y2VJZGlvbUlzUGhvbmVPcldhdGNoID0gY3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVP
cldhdGNoKCk7CiAgICAgcGFyYW1ldGVycy5zdXBwb3J0c1BpY3R1cmVJblBpY3R1cmUgPSBzdXBw
b3J0c1BpY3R1cmVJblBpY3R1cmUoKTsKICAgICBwYXJhbWV0ZXJzLmNzc1ZhbHVlVG9TeXN0ZW1D
b2xvck1hcCA9IFJlbmRlclRoZW1lSU9TOjpjc3NWYWx1ZVRvU3lzdGVtQ29sb3JNYXAoKTsKICAg
ICBwYXJhbWV0ZXJzLmZvY3VzUmluZ0NvbG9yID0gUmVuZGVyVGhlbWVJT1M6OnN5c3RlbUZvY3Vz
UmluZ0NvbG9yKCk7CkBAIC03MzYsOCArNzM2LDggQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVn
aXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKQogICAgIGlmICghW1VJQXBwbGljYXRpb24gc2hh
cmVkQXBwbGljYXRpb25dKSB7CiAgICAgICAgIG1fYXBwbGljYXRpb25MYXVuY2hPYnNlcnZlciA9
IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1l
OlVJQXBwbGljYXRpb25EaWRGaW5pc2hMYXVuY2hpbmdOb3RpZmljYXRpb24gb2JqZWN0Om5pbCBx
dWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50UXVldWVdIHVzaW5nQmxvY2s6XihOU05vdGlm
aWNhdGlvbiAqbm90aWZpY2F0aW9uKSB7CiAgICAgICAgICAgICBpZiAoV2ViS2l0Ojp1cGRhdGVD
dXJyZW50VXNlckludGVyZmFjZUlkaW9tKCkpIHsKLSAgICAgICAgICAgICAgICBhdXRvIGlzUGFk
T3JNYWMgPSBXZWJLaXQ6OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZE9yTWFjKCk7Ci0g
ICAgICAgICAgICAgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpV
c2VySW50ZXJmYWNlSWRpb21EaWRDaGFuZ2UoaXNQYWRPck1hYykpOworICAgICAgICAgICAgICAg
IGF1dG8gaXNQaG9uZU9yV2F0Y2ggPSBXZWJLaXQ6OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21J
c1Bob25lT3JXYXRjaCgpOworICAgICAgICAgICAgICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNz
YWdlczo6V2ViUHJvY2Vzczo6VXNlckludGVyZmFjZUlkaW9tRGlkQ2hhbmdlKGlzUGhvbmVPcldh
dGNoKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH1dOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xs
ZXIubW0KaW5kZXggNTMzNDA2NGEwYjg2ZWUyNzAwZjQ5MjJmMjRiNjUwZTk3ZWJlZWE3OS4uMjIx
MjMzMGY4ZTNmNjI5NTY4YmZjYmZjNmQxY2U5ZDc1M2I1NmU2YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xs
ZXIubW0KQEAgLTExOSwxMCArMTE5LDEwIEBAIHZvaWQgU21hcnRNYWduaWZpY2F0aW9uQ29udHJv
bGxlcjo6ZGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyCiAgICAg
ZmxvYXQgbWluaW11bVNjcm9sbERpc3RhbmNlOwogICAgIGlmIChbbV9jb250ZW50VmlldyBib3Vu
ZHNdLnNpemUud2lkdGggPD0gbV93ZWJQYWdlUHJveHkudW5vYnNjdXJlZENvbnRlbnRSZWN0KCku
d2lkdGgoKSkKICAgICAgICAgbWluaW11bVNjcm9sbERpc3RhbmNlID0gc21hcnRNYWduaWZpY2F0
aW9uUGFuU2Nyb2xsVGhyZXNob2xkWm9vbWVkT3V0OwotICAgIGVsc2UgaWYgKGN1cnJlbnRVc2Vy
SW50ZXJmYWNlSWRpb21Jc1BhZE9yTWFjKCkpCi0gICAgICAgIG1pbmltdW1TY3JvbGxEaXN0YW5j
ZSA9IHNtYXJ0TWFnbmlmaWNhdGlvblBhblNjcm9sbFRocmVzaG9sZElQYWQ7Ci0gICAgZWxzZQor
ICAgIGVsc2UgaWYgKGN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaCgpKQog
ICAgICAgICBtaW5pbXVtU2Nyb2xsRGlzdGFuY2UgPSBzbWFydE1hZ25pZmljYXRpb25QYW5TY3Jv
bGxUaHJlc2hvbGRJUGhvbmU7CisgICAgZWxzZQorICAgICAgICBtaW5pbXVtU2Nyb2xsRGlzdGFu
Y2UgPSBzbWFydE1hZ25pZmljYXRpb25QYW5TY3JvbGxUaHJlc2hvbGRJUGFkOwogCiAgICAgLy8g
Rm9yIHJlcGxhY2VkIGVsZW1lbnRzIGxpa2UgaW1hZ2VzLCB3ZSB3YW50IHRvIGZpdCB0aGUgd2hv
bGUgZWxlbWVudAogICAgIC8vIGluIHRoZSB2aWV3LCBzbyBzY2FsZSBpdCBkb3duIGVub3VnaCB0
byBtYWtlIGJvdGggZGltZW5zaW9ucyBmaXQgaWYgcG9zc2libGUuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRl
eCBkMmVjODFhZTM5NWNlNjMxOGY5NmEyNzY1ODE1M2IzODYwNDNhYmU5Li5hODQ0YTk5YWNkYjg1
YjlkNDdiNTAyNjBiMmViYmQ5MGJkYTg1MjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTQ3NSw3ICs0
NzUsNyBAQCAtICh2b2lkKXNldEFjY2Vzc29yeVZpZXdDdXN0b21CdXR0b25UaXRsZTooTlNTdHJp
bmcgKil0aXRsZQogICAgICAgICBbW19jb250ZW50VmlldyBmb3JtQWNjZXNzb3J5Vmlld10gc2hv
d0F1dG9GaWxsQnV0dG9uV2l0aFRpdGxlOnRpdGxlXTsKICAgICBlbHNlCiAgICAgICAgIFtbX2Nv
bnRlbnRWaWV3IGZvcm1BY2Nlc3NvcnlWaWV3XSBoaWRlQXV0b0ZpbGxCdXR0b25dOwotICAgIGlm
IChXZWJLaXQ6OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZE9yTWFjKCkpCisgICAgaWYg
KCFXZWJLaXQ6OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaCgpKQogICAg
ICAgICBbX2NvbnRlbnRWaWV3IHJlbG9hZElucHV0Vmlld3NdOwogfQogCkBAIC0xNTUwLDcgKzE1
NTAsNyBAQCAtICh2b2lkKWVuZEVkaXRpbmdBbmRVcGRhdGVGb2N1c0FwcGVhcmFuY2VXaXRoUmVh
c29uOihFbmRFZGl0aW5nUmVhc29uKXJlYXNvbgogICAgICAgICAgICAgICAgIGlmIChfZm9jdXNS
ZXF1aXJlc1N0cm9uZ1Bhc3N3b3JkQXNzaXN0YW5jZSkKICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIHRydWU7CiAKLSAgICAgICAgICAgICAgICBpZiAoIVdlYktpdDo6Y3VycmVudFVzZXJJbnRl
cmZhY2VJZGlvbUlzUGFkT3JNYWMoKSkKKyAgICAgICAgICAgICAgICBpZiAoV2ViS2l0OjpjdXJy
ZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0Y2goKSkKICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CiAKQEAgLTIyNDEsNyArMjI0MSw3IEBAIC0g
KEJPT0wpX3Nob3VsZFNob3dBdXRvbWF0aWNLZXlib2FyZFVJSWdub3JpbmdJbnB1dE1vZGUKICAg
ICAgICAgaWYgKHNlbGYuX3Nob3VsZFVzZUNvbnRleHRNZW51c0ZvckZvcm1Db250cm9scykKICAg
ICAgICAgICAgIHJldHVybiBOTzsKICNlbmRpZgotICAgICAgICByZXR1cm4gIVdlYktpdDo6Y3Vy
cmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkT3JNYWMoKTsKKyAgICAgICAgcmV0dXJuIFdlYktp
dDo6Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKCk7CiAgICAgfQogICAg
IGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBZRVM7CkBAIC0yMzAyLDcgKzIzMDIsNyBAQCAtICh2
b2lkKV96b29tVG9SZXZlYWxGb2N1c2VkRWxlbWVudAogICAgICAgICBmb250U2l6ZTpfZm9jdXNl
ZEVsZW1lbnRJbmZvcm1hdGlvbi5ub2RlRm9udFNpemUKICAgICAgICAgbWluaW11bVNjYWxlOl9m
b2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLm1pbmltdW1TY2FsZUZhY3RvcgogICAgICAgICBtYXhp
bXVtU2NhbGU6X2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24ubWF4aW11bVNjYWxlRmFjdG9ySWdu
b3JpbmdBbHdheXNTY2FsYWJsZQotICAgICAgICBhbGxvd1NjYWxpbmc6X2ZvY3VzZWRFbGVtZW50
SW5mb3JtYXRpb24uYWxsb3dzVXNlclNjYWxpbmdJZ25vcmluZ0Fsd2F5c1NjYWxhYmxlICYmICFX
ZWJLaXQ6OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZE9yTWFjKCkKKyAgICAgICAgYWxs
b3dTY2FsaW5nOl9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmFsbG93c1VzZXJTY2FsaW5nSWdu
b3JpbmdBbHdheXNTY2FsYWJsZSAmJiBXZWJLaXQ6OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21J
c1Bob25lT3JXYXRjaCgpCiAgICAgICAgIGZvcmNlU2Nyb2xsOltzZWxmIHJlcXVpcmVzQWNjZXNz
b3J5Vmlld11dOwogfQogCkBAIC0zMzE5LDcgKzMzMTksNyBAQCAtIChib29sKV9lbGVtZW50VHlw
ZVJlcXVpcmVzQWNjZXNzb3J5VmlldzooV2ViS2l0OjpJbnB1dFR5cGUpdHlwZQogICAgICAgICBp
ZiAoc2VsZi5fc2hvdWxkVXNlQ29udGV4dE1lbnVzRm9yRm9ybUNvbnRyb2xzKQogICAgICAgICAg
ICAgcmV0dXJuIE5POwogI2VuZGlmCi0gICAgICAgIHJldHVybiAhV2ViS2l0OjpjdXJyZW50VXNl
ckludGVyZmFjZUlkaW9tSXNQYWRPck1hYygpOworICAgICAgICByZXR1cm4gV2ViS2l0OjpjdXJy
ZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0Y2goKTsKICAgICB9CiAgICAgY2FzZSBX
ZWJLaXQ6OklucHV0VHlwZTo6VGV4dDoKICAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpQYXNz
d29yZDoKQEAgLTMzMzIsNyArMzMzMiw3IEBAIC0gKGJvb2wpX2VsZW1lbnRUeXBlUmVxdWlyZXNB
Y2Nlc3NvcnlWaWV3OihXZWJLaXQ6OklucHV0VHlwZSl0eXBlCiAgICAgY2FzZSBXZWJLaXQ6Oklu
cHV0VHlwZTo6Q29udGVudEVkaXRhYmxlOgogICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6OlRl
eHRBcmVhOgogICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6OldlZWs6Ci0gICAgICAgIHJldHVy
biAhV2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQYWRPck1hYygpOworICAgICAg
ICByZXR1cm4gV2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0Y2go
KTsKICAgICB9CiB9CiAKQEAgLTQ5MTAsNyArNDkxMCw3IEBAIC0gKHZvaWQpX3VwZGF0ZUFjY2Vz
c29yeQogICAgIFthY2Nlc3NvcnlWaWV3IHNldE5leHRFbmFibGVkOl9mb2N1c2VkRWxlbWVudElu
Zm9ybWF0aW9uLmhhc05leHROb2RlXTsKICAgICBbYWNjZXNzb3J5VmlldyBzZXRQcmV2aW91c0Vu
YWJsZWQ6X2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uaGFzUHJldmlvdXNOb2RlXTsKIAotICAg
IGlmIChXZWJLaXQ6OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZE9yTWFjKCkpIHsKKyAg
ICBpZiAoIVdlYktpdDo6Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKCkp
IHsKICAgICAgICAgW2FjY2Vzc29yeVZpZXcgc2V0Q2xlYXJWaXNpYmxlOk5PXTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KQEAgLTc3NzgsNyArNzc3OCw3IEBAIC0gKEJPT0wpX3Nob3VsZEF2b2lk
U2Nyb2xsaW5nV2hlbkZvY3VzZWRDb250ZW50SXNWaXNpYmxlCiAKIC0gKEJPT0wpX3Nob3VsZFVz
ZUxlZ2FjeVNlbGVjdFBvcG92ZXJEaXNtaXNzYWxCZWhhdmlvcgogewotICAgIGlmICghV2ViS2l0
OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQYWRPck1hYygpKQorICAgIGlmIChXZWJLaXQ6
OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaCgpKQogICAgICAgICByZXR1
cm4gTk87CiAKICAgICBpZiAoX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uZWxlbWVudFR5cGUg
IT0gV2ViS2l0OjpJbnB1dFR5cGU6OlNlbGVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XZWJEYXRhTGlzdFN1Z2dlc3Rpb25zRHJvcGRvd25JT1MubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViRGF0YUxpc3RTdWdnZXN0aW9uc0Ryb3Bkb3duSU9T
Lm1tCmluZGV4IDgyZGRhNDY3YzFmYjM0ZWIzODgxNDZmNTFiNDU0ZGI4NTlmMTAyNmYuLjExY2M1
YThkMjcyNjAzOTc0MTIyYjVhOGEwOTk4ZmYwYzg3ZTEzZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJEYXRhTGlzdFN1Z2dlc3Rpb25zRHJvcGRvd25JT1MubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYkRhdGFMaXN0U3VnZ2VzdGlvbnNE
cm9wZG93bklPUy5tbQpAQCAtMTE2LDEwICsxMTYsMTAgQEAgdm9pZCBXZWJEYXRhTGlzdFN1Z2dl
c3Rpb25zRHJvcGRvd25JT1M6OnNob3coV2ViQ29yZTo6RGF0YUxpc3RTdWdnZXN0aW9uSW5mb3Jt
YXQKICAgICB9CiAjZW5kaWYKIAotICAgIGlmIChjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQ
YWRPck1hYygpKQotICAgICAgICBtX3N1Z2dlc3Rpb25zQ29udHJvbCA9IGFkb3B0TlMoW1tXS0Rh
dGFMaXN0U3VnZ2VzdGlvbnNQb3BvdmVyIGFsbG9jXSBpbml0V2l0aEluZm9ybWF0aW9uOldURk1v
dmUoaW5mb3JtYXRpb24pIGluVmlldzptX2NvbnRlbnRWaWV3XSk7Ci0gICAgZWxzZQorICAgIGlm
IChjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0Y2goKSkKICAgICAgICAgbV9z
dWdnZXN0aW9uc0NvbnRyb2wgPSBhZG9wdE5TKFtbV0tEYXRhTGlzdFN1Z2dlc3Rpb25zUGlja2Vy
IGFsbG9jXSBpbml0V2l0aEluZm9ybWF0aW9uOldURk1vdmUoaW5mb3JtYXRpb24pIGluVmlldzpt
X2NvbnRlbnRWaWV3XSk7CisgICAgZWxzZQorICAgICAgICBtX3N1Z2dlc3Rpb25zQ29udHJvbCA9
IGFkb3B0TlMoW1tXS0RhdGFMaXN0U3VnZ2VzdGlvbnNQb3BvdmVyIGFsbG9jXSBpbml0V2l0aElu
Zm9ybWF0aW9uOldURk1vdmUoaW5mb3JtYXRpb24pIGluVmlldzptX2NvbnRlbnRWaWV3XSk7CiAK
ICAgICBbbV9zdWdnZXN0aW9uc0NvbnRyb2wgc2hvd1N1Z2dlc3Rpb25zRHJvcGRvd246KnRoaXMg
YWN0aXZhdGlvblR5cGU6dHlwZV07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCAwZTFmMjE4ZTdiOWNlMDY3NGU3Y2IyMTEzMWRlMTg1
ZDljYWQ1NmIxLi5jMmU0MGZlMzQ4YWUxY2YyMWNjMzZkZWFkM2E4YmJlNjZkODA4MDMxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KQEAgLTEy
NjcsNyArMTI2Nyw3IEBAIHN0YXRpYyBib29sIGRlc2t0b3BDbGFzc0Jyb3dzaW5nU3VwcG9ydGVk
KCkKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0Rlc2t0b3BDbGFzc0Jyb3dzaW5nID0gZmFsc2U7
CiAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9rZW47CiAgICAgZGlzcGF0Y2hfb25j
ZSgmb25jZVRva2VuLCBeewotICAgICAgICBzdXBwb3J0c0Rlc2t0b3BDbGFzc0Jyb3dzaW5nID0g
Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkT3JNYWMoKTsKKyAgICAgICAgc3VwcG9ydHNE
ZXNrdG9wQ2xhc3NCcm93c2luZyA9ICFjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9y
V2F0Y2goKTsKICAgICB9KTsKICAgICByZXR1cm4gc3VwcG9ydHNEZXNrdG9wQ2xhc3NCcm93c2lu
ZzsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Fp
clBsYXlSb3V0ZVBpY2tlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9X
S0FpclBsYXlSb3V0ZVBpY2tlci5tbQppbmRleCA3MDA4NTJmNWI5OThjNmM2YWQ3OWRlMDE2N2Qw
NGQ4YWEzMzQ4ZjhkLi45ZGViMDQ0NjQwNTQ2MzA4YmJkNThmMDk3ZjBiOTJkYzZjYzNiZTI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91
dGVQaWNrZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWly
UGxheVJvdXRlUGlja2VyLm1tCkBAIC0xNTIsMTAgKzE1MiwxMCBAQCAtICh2b2lkKXNob3c6KEJP
T0wpaGFzVmlkZW8gZnJvbVJlY3Q6KENHUmVjdCllbGVtZW50UmVjdAogICAgIFtfcm91dGluZ0Nv
bnRyb2xsZXIgc2V0RGlzY292ZXJ5TW9kZTpNUFJvdXRlRGlzY292ZXJ5TW9kZURldGFpbGVkXTsK
IAogICAgIE1QQVZJdGVtVHlwZSBpdGVtVHlwZSA9IGhhc1ZpZGVvID8gTVBBVkl0ZW1UeXBlVmlk
ZW8gOiBNUEFWSXRlbVR5cGVBdWRpbzsKLSAgICBpZiAoV2ViS2l0OjpjdXJyZW50VXNlckludGVy
ZmFjZUlkaW9tSXNQYWRPck1hYygpKQotICAgICAgICBbc2VsZiBzaG93QWlyUGxheVBpY2tlcklQ
YWQ6aXRlbVR5cGUgZnJvbVJlY3Q6ZWxlbWVudFJlY3RdOwotICAgIGVsc2UKKyAgICBpZiAoV2Vi
S2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0Y2goKSkKICAgICAgICAg
W3NlbGYgc2hvd0FpclBsYXlQaWNrZXJJUGhvbmU6aXRlbVR5cGVdOworICAgIGVsc2UKKyAgICAg
ICAgW3NlbGYgc2hvd0FpclBsYXlQaWNrZXJJUGFkOml0ZW1UeXBlIGZyb21SZWN0OmVsZW1lbnRS
ZWN0XTsKIH0KIAogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLm1tCmluZGV4IDRjNWM4NDZkYjc4NDU5MjVhODk1MWZm
MGQ5MzNhY2ExZDdhZjQ1MmUuLjcwYmI0YmM1MDk5MThkYjhkOWQ5NTMxYTdkYWEwZGQwYjE2Mzcw
OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0ZpbGVV
cGxvYWRQYW5lbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tG
aWxlVXBsb2FkUGFuZWwubW0KQEAgLTU4NCw3ICs1ODQsNyBAQCAtICh2b2lkKV9zaG93UGhvdG9Q
aWNrZXJXaXRoU291cmNlVHlwZTooVUlJbWFnZVBpY2tlckNvbnRyb2xsZXJTb3VyY2VUeXBlKXNv
dXJjZQogCiAgICAgLy8gVXNlIGEgcG9wb3ZlciBvbiB0aGUgaVBhZCBpZiB0aGUgc291cmNlIHR5
cGUgaXMgbm90IHRoZSBjYW1lcmEuCiAgICAgLy8gVGhlIGNhbWVyYSB3aWxsIHVzZSBhIGZ1bGxz
Y3JlZW4sIG1vZGFsIHZpZXcgY29udHJvbGxlci4KLSAgICBCT09MIHVzZVBvcG92ZXIgPSBjdXJy
ZW50VXNlckludGVyZmFjZUlkaW9tSXNQYWRPck1hYygpICYmIHNvdXJjZVR5cGUgIT0gVUlJbWFn
ZVBpY2tlckNvbnRyb2xsZXJTb3VyY2VUeXBlQ2FtZXJhOworICAgIEJPT0wgdXNlUG9wb3ZlciA9
ICFjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0Y2goKSAmJiBzb3VyY2VUeXBl
ICE9IFVJSW1hZ2VQaWNrZXJDb250cm9sbGVyU291cmNlVHlwZUNhbWVyYTsKICAgICBpZiAodXNl
UG9wb3ZlcikKICAgICAgICAgW3NlbGYgX3ByZXNlbnRQb3BvdmVyV2l0aENvbnRlbnRWaWV3Q29u
dHJvbGxlcjpfaW1hZ2VQaWNrZXIuZ2V0KCkgYW5pbWF0ZWQ6WUVTXTsKICAgICBlbHNlCkBAIC01
OTUsMTAgKzU5NSwxMCBAQCAtICh2b2lkKV9zaG93UGhvdG9QaWNrZXJXaXRoU291cmNlVHlwZToo
VUlJbWFnZVBpY2tlckNvbnRyb2xsZXJTb3VyY2VUeXBlKXNvdXJjZQogCiAtICh2b2lkKV9wcmVz
ZW50TWVudU9wdGlvbkZvckN1cnJlbnRJbnRlcmZhY2VJZGlvbTooVUlWaWV3Q29udHJvbGxlciAq
KXZpZXdDb250cm9sbGVyCiB7Ci0gICAgaWYgKGN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bh
ZE9yTWFjKCkpCi0gICAgICAgIFtzZWxmIF9wcmVzZW50UG9wb3ZlcldpdGhDb250ZW50Vmlld0Nv
bnRyb2xsZXI6dmlld0NvbnRyb2xsZXIgYW5pbWF0ZWQ6WUVTXTsKLSAgICBlbHNlCisgICAgaWYg
KGN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaCgpKQogICAgICAgICBbc2Vs
ZiBfcHJlc2VudEZ1bGxzY3JlZW5WaWV3Q29udHJvbGxlcjp2aWV3Q29udHJvbGxlciBhbmltYXRl
ZDpZRVNdOworICAgIGVsc2UKKyAgICAgICAgW3NlbGYgX3ByZXNlbnRQb3BvdmVyV2l0aENvbnRl
bnRWaWV3Q29udHJvbGxlcjp2aWV3Q29udHJvbGxlciBhbmltYXRlZDpZRVNdOwogfQogCiAtICh2
b2lkKV9wcmVzZW50UG9wb3ZlcldpdGhDb250ZW50Vmlld0NvbnRyb2xsZXI6KFVJVmlld0NvbnRy
b2xsZXIgKiljb250ZW50Vmlld0NvbnRyb2xsZXIgYW5pbWF0ZWQ6KEJPT0wpYW5pbWF0ZWQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RD
b250cm9sLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVj
dENvbnRyb2wubW0KaW5kZXggMDg1YzBmZDY2MWY1OWNjNjVhNjRlOWUxYzJiOWQ4YzIyNjE0MTI4
ZC4uN2FkN2VmNTk4N2M5NjEyYjU4OTIxNTRlYmI1NzJlZjk0OThmYjVlZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdENvbnRyb2wubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdENvbnRy
b2wubW0KQEAgLTg1LDcgKzg1LDcgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoVmlldzooV0tD
b250ZW50VmlldyAqKXZpZXcKICAgICB9CiAjZW5kaWYKIAotICAgIGlmIChjdXJyZW50VXNlcklu
dGVyZmFjZUlkaW9tSXNQYWRPck1hYygpKQorICAgIGlmICghY3VycmVudFVzZXJJbnRlcmZhY2VJ
ZGlvbUlzUGhvbmVPcldhdGNoKCkpCiAgICAgICAgIGNvbnRyb2wgPSBhZG9wdE5TKFtbV0tTZWxl
Y3RQb3BvdmVyIGFsbG9jXSBpbml0V2l0aFZpZXc6dmlldyBoYXNHcm91cHM6aGFzR3JvdXBzXSk7
CiAgICAgZWxzZSBpZiAodmlldy5mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmlzTXVsdGlTZWxl
Y3QgfHwgaGFzR3JvdXBzKQogICAgICAgICBjb250cm9sID0gYWRvcHROUyhbW1dLTXVsdGlwbGVT
ZWxlY3RQaWNrZXIgYWxsb2NdIGluaXRXaXRoVmlldzp2aWV3XSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0UGlja2VyLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdFBpY2tlci5tbQppbmRl
eCA5YTM3ZWFjZTg2NTEzZTIzYWZmMzMwNGQzYjEwNmMwMzMwNjkyOGM2Li5kM2E5NTljZWJhOTM1
ZWMwNWY2NDY1ZWM0YjEyNzk3YWFjMGM4MDQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0UGlja2VyLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RQaWNrZXIubW0KQEAgLTExNzYsMTYg
KzExNzYsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhWaWV3OihXS0NvbnRlbnRWaWV3ICop
dmlldwogCiAtICh2b2lkKWNvbmZpZ3VyZVByZXNlbnRhdGlvbgogewotICAgIGlmIChXZWJLaXQ6
OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZE9yTWFjKCkpIHsKLSAgICAgICAgW19uYXZp
Z2F0aW9uQ29udHJvbGxlciBzZXRNb2RhbFByZXNlbnRhdGlvblN0eWxlOlVJTW9kYWxQcmVzZW50
YXRpb25Qb3BvdmVyXTsKLSAgICAgICAgW19uYXZpZ2F0aW9uQ29udHJvbGxlciBzZXROYXZpZ2F0
aW9uQmFySGlkZGVuOllFU107Ci0gICAgICAgIFtfdGFibGVWaWV3Q29udHJvbGxlciBzZXRQcmVm
ZXJyZWRDb250ZW50U2l6ZTpDR1NpemVNYWtlKHNlbGVjdFBvcG92ZXJMZW5ndGgsIHNlbGVjdFBv
cG92ZXJMZW5ndGgpXTsKLQotICAgICAgICBVSVBvcG92ZXJQcmVzZW50YXRpb25Db250cm9sbGVy
ICpwcmVzZW50YXRpb25Db250cm9sbGVyID0gW19uYXZpZ2F0aW9uQ29udHJvbGxlciBwb3BvdmVy
UHJlc2VudGF0aW9uQ29udHJvbGxlcl07Ci0gICAgICAgIHByZXNlbnRhdGlvbkNvbnRyb2xsZXIu
ZGVsZWdhdGUgPSBzZWxmOwotICAgICAgICBwcmVzZW50YXRpb25Db250cm9sbGVyLnNvdXJjZVZp
ZXcgPSBfdmlldzsKLSAgICAgICAgcHJlc2VudGF0aW9uQ29udHJvbGxlci5zb3VyY2VSZWN0ID0g
Q0dSZWN0SW50ZWdyYWwoX3ZpZXcuZm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbi5pbnRlcmFjdGlv
blJlY3QpOwotICAgIH0gZWxzZSB7CisgICAgaWYgKFdlYktpdDo6Y3VycmVudFVzZXJJbnRlcmZh
Y2VJZGlvbUlzUGhvbmVPcldhdGNoKCkpIHsKICAgICAgICAgW1tfbmF2aWdhdGlvbkNvbnRyb2xs
ZXIgbmF2aWdhdGlvbkJhcl0gc2V0QmFyVGludENvbG9yOlVJQ29sb3Iuc3lzdGVtR3JvdXBlZEJh
Y2tncm91bmRDb2xvcl07CiAKICAgICAgICAgVUlQcmVzZW50YXRpb25Db250cm9sbGVyICpwcmVz
ZW50YXRpb25Db250cm9sbGVyID0gW19uYXZpZ2F0aW9uQ29udHJvbGxlciBwcmVzZW50YXRpb25D
b250cm9sbGVyXTsKQEAgLTExOTgsNiArMTE4OSwxNSBAQCAtICh2b2lkKWNvbmZpZ3VyZVByZXNl
bnRhdGlvbgogICAgICAgICAgICAgc2hlZXRQcmVzZW50YXRpb25Db250cm9sbGVyLl93aWR0aEZv
bGxvd3NQcmVmZXJyZWRDb250ZW50U2l6ZVdoZW5Cb3R0b21BdHRhY2hlZCA9IFlFUzsKICAgICAg
ICAgICAgIHNoZWV0UHJlc2VudGF0aW9uQ29udHJvbGxlci5fd2FudHNCb3R0b21BdHRhY2hlZElu
Q29tcGFjdEhlaWdodCA9IFlFUzsKICAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIFtf
bmF2aWdhdGlvbkNvbnRyb2xsZXIgc2V0TW9kYWxQcmVzZW50YXRpb25TdHlsZTpVSU1vZGFsUHJl
c2VudGF0aW9uUG9wb3Zlcl07CisgICAgICAgIFtfbmF2aWdhdGlvbkNvbnRyb2xsZXIgc2V0TmF2
aWdhdGlvbkJhckhpZGRlbjpZRVNdOworICAgICAgICBbX3RhYmxlVmlld0NvbnRyb2xsZXIgc2V0
UHJlZmVycmVkQ29udGVudFNpemU6Q0dTaXplTWFrZShzZWxlY3RQb3BvdmVyTGVuZ3RoLCBzZWxl
Y3RQb3BvdmVyTGVuZ3RoKV07CisKKyAgICAgICAgVUlQb3BvdmVyUHJlc2VudGF0aW9uQ29udHJv
bGxlciAqcHJlc2VudGF0aW9uQ29udHJvbGxlciA9IFtfbmF2aWdhdGlvbkNvbnRyb2xsZXIgcG9w
b3ZlclByZXNlbnRhdGlvbkNvbnRyb2xsZXJdOworICAgICAgICBwcmVzZW50YXRpb25Db250cm9s
bGVyLmRlbGVnYXRlID0gc2VsZjsKKyAgICAgICAgcHJlc2VudGF0aW9uQ29udHJvbGxlci5zb3Vy
Y2VWaWV3ID0gX3ZpZXc7CisgICAgICAgIHByZXNlbnRhdGlvbkNvbnRyb2xsZXIuc291cmNlUmVj
dCA9IENHUmVjdEludGVncmFsKF92aWV3LmZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uaW50ZXJh
Y3Rpb25SZWN0KTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggNjM3MTUzNTAyZmQ5NDRjYzlmYzY2YWEyYTYwYWE4
MmU3ZTQxNTViNS4uYjA1MjgwY2UwNjAwNzVhMTcwYmZlMzk2YjBmNDNkODJiZDVhYjBmMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAg
LTExOCw3ICsxMTgsNyBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIE5v
dFJlZkNvdW50ZWQgewogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIFVz
ZXJJbnRlcmZhY2VJZGlvbURpZENoYW5nZShib29sIGlzUGFkT3JNYWMpCisgICAgVXNlckludGVy
ZmFjZUlkaW9tRGlkQ2hhbmdlKGJvb2wgaXNQaG9uZU9yV2F0Y2gpCiAjZW5kaWYKIAogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4IGE2Njcy
MTA0YTJhMTM0ZDAzMDk1YzIyNmQ1ODM3NTk0ZGQ3ZTMwY2YuLmNhZDJkN2FkZGUxNWNiZWVjZTc0
NDhlOTJiOTUyNjM3MjNhNDRhMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtMzE0LDcgKzMxNCw3IEBAIHZvaWQgV2ViUHJv
Y2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzJiBwYXJhCiAgICAgc2V0RW5oYW5jZWRBY2Nlc3NpYmlsaXR5KHBhcmFtZXRlcnMuYWNj
ZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQpOwogCiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKLSAgICBzZXRDdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQYWRPck1hYyhw
YXJhbWV0ZXJzLmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZCk7CisgICAgc2V0Q3VycmVu
dFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKHBhcmFtZXRlcnMuY3VycmVudFVzZXJJ
bnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKTsKICAgICBzZXRMb2NhbGl6ZWREZXZpY2VNb2Rl
bChwYXJhbWV0ZXJzLmxvY2FsaXplZERldmljZU1vZGVsKTsKICAgICBSZW5kZXJUaGVtZUlPUzo6
c2V0Q29udGVudFNpemVDYXRlZ29yeShwYXJhbWV0ZXJzLmNvbnRlbnRTaXplQ2F0ZWdvcnkpOwog
I2lmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkKQEAgLTEwMTcsOSArMTAxNyw5IEBA
IHZvaWQgV2ViUHJvY2Vzczo6YWNjZXNzaWJpbGl0eVByb2Nlc3NTdXNwZW5kZWROb3RpZmljYXRp
b24oYm9vbCBzdXNwZW5kZWQpCiAgICAgVUlBY2Nlc3NpYmlsaXR5UG9zdE5vdGlmaWNhdGlvbihr
QVhQaWRTdGF0dXNDaGFuZ2VkTm90aWZpY2F0aW9uLCBAeyBAInBpZCIgOiBAKGdldHBpZCgpKSwg
QCJzdXNwZW5kZWQiIDogQChzdXNwZW5kZWQpIH0pOwogfQogCi12b2lkIFdlYlByb2Nlc3M6OnVz
ZXJJbnRlcmZhY2VJZGlvbURpZENoYW5nZShib29sIGlzUGFkT3JNYWMpCit2b2lkIFdlYlByb2Nl
c3M6OnVzZXJJbnRlcmZhY2VJZGlvbURpZENoYW5nZShib29sIGlzUGhvbmVPcldhdGNoKQogewot
ICAgIFdlYktpdDo6c2V0Q3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkT3JNYWMoaXNQYWRP
ck1hYyk7CisgICAgV2ViS2l0OjpzZXRDdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9y
V2F0Y2goaXNQaG9uZU9yV2F0Y2gpOwogfQogCiBib29sIFdlYlByb2Nlc3M6OnNob3VsZEZyZWV6
ZU9uU3VzcGVuc2lvbigpIGNvbnN0Cg==
</data>
<flag name="commit-queue"
          id="455579"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433363</attachid>
            <date>2021-07-12 14:49:34 -0700</date>
            <delta_ts>2021-07-12 19:05:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227885-20210712144933.patch</filename>
            <type>text/plain</type>
            <size>27287</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFiNzhmNjhmNTIzODk0NjVh
NWIxYzMyNWU1N2RiNjI5YWI1NWUyYWQuLmQyZjMyZTcyN2M4ZTg3ZGE0NDA0MmVmYzI2YzUzNmNm
ZDhjYzQwMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjggQEAKKzIwMjEtMDctMTIgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBXZWJLaXQncyBV
c2VySW50ZXJmYWNlSWRpb20gb3BlcmF0ZSBpbiB0ZXJtcyBvZiB0aGUgZXhjZXB0aW9ucywgbm90
IHRoZSBydWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjc4ODUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5OTg3MTU4PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gY2hh
bmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgIEluIGdlbmVyYWwsIHdlIGNvbnNpZGVyIHRoZSBt
YWNPUy9pUGFkIGJlaGF2aW9yIHRoZSAibm9ybWFsIiBXZWJLaXQgYmVoYXZpb3IsCisgICAgICAg
IGFuZCBleGNlcHRpb25zIHRvIHRoYXQgZm9yIGlQaG9uZSBvciBXYXRjaCBhcmUganVzdCB0aGF0
OiBleGNlcHRpb25zLgorCisgICAgICAgIFRvIGJyaW5nIHRoZSBjb2RlIGluIGxpbmUgd2l0aCB0
aGlzIHVuZGVyc3RhbmRpbmcsIG1ha2UgcGxhY2VzIHRoYXQKKyAgICAgICAgd2UgbWFrZSBkZWNp
c2lvbnMgYmFzZWQgb24gVUlVc2VySW50ZXJmYWNlSWRpb20gdGFrZSBtYWNPUy9pUGFkIGJlaGF2
aW9yCisgICAgICAgIGFzIHRoZSBkZWZhdWx0LCBhbmQgbWFrZSBpUGhvbmUvV2F0Y2ggdGhlIHNw
ZWNpYWwgY2FzZXMuCisKKyAgICAgICAgKiBTaGFyZWQvVXNlckludGVyZmFjZUlkaW9tLmg6Cisg
ICAgICAgICogU2hhcmVkL1VzZXJJbnRlcmZhY2VJZGlvbS5tbToKKyAgICAgICAgKFdlYktpdDo6
Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKToKKyAgICAgICAgKFdlYktp
dDo6c2V0Q3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKToKKyAgICAgICAg
QWxzbywgbHVtcCBpUG9kIFRvdWNoIGluIHdpdGggaVBob25lIHdoZW4gY2hlY2tpbmcgYmFzZWQg
b24gZGV2aWNlIGNsYXNzLgorCisgICAgICAgIChXZWJLaXQ6OnVwZGF0ZUN1cnJlbnRVc2VySW50
ZXJmYWNlSWRpb20pOgorICAgICAgICAoV2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9t
SXNQYWRPck1hYyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OnNldEN1cnJlbnRVc2VySW50
ZXJmYWNlSWRpb21Jc1BhZE9yTWFjKTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvaW9zL1dlYlByZWZl
cmVuY2VzRGVmYXVsdFZhbHVlc0lPUy5tbToKKyAgICAgICAgKFdlYktpdDo6ZGVmYXVsdFRleHRB
dXRvc2l6aW5nVXNlc0lkZW1wb3RlbnRNb2RlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW06CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24gaW5pdF0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9v
bENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0
aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpyZWdp
c3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycyk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9TbWFy
dE1hZ25pZmljYXRpb25Db250cm9sbGVyLm1tOgorICAgICAgICAoV2ViS2l0OjpTbWFydE1hZ25p
ZmljYXRpb25Db250cm9sbGVyOjpkaWRDb2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRp
b25HZXN0dXJlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbToKKyAgICAgICAgKC1bV0tGb3JtSW5wdXRTZXNzaW9uIHNldEFjY2Vzc29yeVZpZXdD
dXN0b21CdXR0b25UaXRsZTpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBlbmRFZGl0aW5n
QW5kVXBkYXRlRm9jdXNBcHBlYXJhbmNlV2l0aFJlYXNvbjpdKToKKyAgICAgICAgKC1bV0tDb250
ZW50VmlldyBfc2hvdWxkU2hvd0F1dG9tYXRpY0tleWJvYXJkVUlJZ25vcmluZ0lucHV0TW9kZV0p
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF96b29tVG9SZXZlYWxGb2N1c2VkRWxlbWVudF0p
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9lbGVtZW50VHlwZVJlcXVpcmVzQWNjZXNzb3J5
VmlldzpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfdXBkYXRlQWNjZXNzb3J5XSk6Cisg
ICAgICAgICgtW1dLQ29udGVudFZpZXcgX3Nob3VsZFVzZUxlZ2FjeVNlbGVjdFBvcG92ZXJEaXNt
aXNzYWxCZWhhdmlvcl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViRGF0YUxpc3RTdWdn
ZXN0aW9uc0Ryb3Bkb3duSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJEYXRhTGlzdFN1Z2dl
c3Rpb25zRHJvcGRvd25JT1M6OnNob3cpOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViUGFn
ZVByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpkZXNrdG9wQ2xhc3NCcm93c2luZ1N1cHBv
cnRlZCk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tl
ci5tbToKKyAgICAgICAgKC1bV0tBaXJQbGF5Um91dGVQaWNrZXIgc2hvdzpmcm9tUmVjdDpdKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLm1tOgorICAg
ICAgICAoLVtXS0ZpbGVVcGxvYWRQYW5lbCBfc2hvd1Bob3RvUGlja2VyV2l0aFNvdXJjZVR5cGU6
XSk6CisgICAgICAgICgtW1dLRmlsZVVwbG9hZFBhbmVsIF9wcmVzZW50TWVudU9wdGlvbkZvckN1
cnJlbnRJbnRlcmZhY2VJZGlvbTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1zL1dL
Rm9ybVNlbGVjdENvbnRyb2wubW06CisgICAgICAgICgtW1dLRm9ybVNlbGVjdENvbnRyb2wgaW5p
dFdpdGhWaWV3Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0
UGlja2VyLm1tOgorICAgICAgICAoLVtXS1NlbGVjdE11bHRpcGxlUGlja2VyIGNvbmZpZ3VyZVBy
ZXNlbnRhdGlvbl0pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnVzZXJJbnRlcmZhY2VJZGlvbURpZENoYW5nZSk6
CisKIDIwMjEtMDctMTIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI3OTgzNS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9z
cGkvaW9zL1VJS2l0U1BJLmgKaW5kZXggNGU1NjRiMjQ1MmE5YTNkN2JhMjM1MGIzZTI3NWVlZTFl
ZTk1M2IyOS4uZDczZjMyNWEyNWJjOGQzYmFlNjU0YzgzNjU3YjBkYzJkNDRhMzNhMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKKysrIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKQEAgLTIyNyw2ICsyMjcsOCBA
QCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBVSURhdGVQaWNrZXJTdHlsZSkgewogQHByb3Bl
cnR5IChub25hdG9taWMsIHJlYWRvbmx5LCByZXRhaW4pIE5TU3RyaW5nICpidWlsZFZlcnNpb247
CiBAZW5kCiAKK3N0YXRpYyBjb25zdCBVSVVzZXJJbnRlcmZhY2VJZGlvbSBVSVVzZXJJbnRlcmZh
Y2VJZGlvbVdhdGNoID0gKFVJVXNlckludGVyZmFjZUlkaW9tKTQ7CisKIHR5cGVkZWYgZW51bSB7
CiAgICAga1VJS2V5Ym9hcmRJbnB1dFJlcGVhdCAgICAgICAgICAgICAgICAgPSAxIDw8IDAsCiAg
ICAga1VJS2V5Ym9hcmRJbnB1dFBvcHVwVmFyaWFudCAgICAgICAgICAgPSAxIDw8IDEsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Vc2VySW50ZXJmYWNlSWRpb20uaCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1VzZXJJbnRlcmZhY2VJZGlvbS5oCmluZGV4IDI5MWU2YTI1MDg4NjJk
NmE4MTI5OWU2MTYyMmQzYjliZjhlOTkwYzEuLjNlN2FmZmQ4OTFkZjhhNGEyODg4YmU3ZmM1ODc5
OTY1MjIzMTg5N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1VzZXJJbnRlcmZh
Y2VJZGlvbS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1VzZXJJbnRlcmZhY2VJZGlvbS5o
CkBAIC0yOSw4ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1ib29sIGN1cnJlbnRV
c2VySW50ZXJmYWNlSWRpb21Jc1BhZE9yTWFjKCk7Ci12b2lkIHNldEN1cnJlbnRVc2VySW50ZXJm
YWNlSWRpb21Jc1BhZE9yTWFjKGJvb2wpOworYm9vbCBjdXJyZW50VXNlckludGVyZmFjZUlkaW9t
SXNQaG9uZU9yV2F0Y2goKTsKK3ZvaWQgc2V0Q3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhv
bmVPcldhdGNoKGJvb2wpOwogYm9vbCB1cGRhdGVDdXJyZW50VXNlckludGVyZmFjZUlkaW9tKCk7
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1VzZXJJbnRlcmZhY2VJZGlv
bS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1VzZXJJbnRlcmZhY2VJZGlvbS5tbQppbmRleCBi
Y2U3MDYwNTJkZjMwYWU0YTNjYzY5OGM0NThmOTg3MmJjZDU2Yzg2Li5lOTY4ZmI0ZjAzZjQxYjIy
ZDBmNzkyOTk5NTZiODBmZGU2M2FlNDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9Vc2VySW50ZXJmYWNlSWRpb20ubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvVXNlcklu
dGVyZmFjZUlkaW9tLm1tCkBAIC0zNCw0OCArMzQsNDggQEAKIG5hbWVzcGFjZSBXZWJLaXQgewog
CiBlbnVtIGNsYXNzIFVzZXJJbnRlcmZhY2VJZGlvbVN0YXRlIDogdWludDhfdCB7Ci0gICAgSXNQ
YWRPck1hYywKLSAgICBJc05vdFBhZE9yTWFjLAorICAgIElzUGhvbmVPcldhdGNoLAorICAgIElz
Tm90UGhvbmVPcldhdGNoLAogICAgIFVua25vd24sCiB9OwogCi1zdGF0aWMgVXNlckludGVyZmFj
ZUlkaW9tU3RhdGUgdXNlckludGVyZmFjZUlkaW9tSXNQYWRTdGF0ZSA9IFVzZXJJbnRlcmZhY2VJ
ZGlvbVN0YXRlOjpVbmtub3duOworc3RhdGljIFVzZXJJbnRlcmZhY2VJZGlvbVN0YXRlIHVzZXJJ
bnRlcmZhY2VJZGlvbVN0YXRlID0gVXNlckludGVyZmFjZUlkaW9tU3RhdGU6OlVua25vd247CiAK
LWJvb2wgY3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkT3JNYWMoKQorYm9vbCBjdXJyZW50
VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0Y2goKQogewogICAgIC8vIEZJWE1FOiBXZSBz
aG91bGQgZ2V0IHJpZCBvZiB0aGlzIGZ1bmN0aW9uIGFuZCBoYXZlIGNhbGxlcnMgbWFrZSBleHBs
aWNpdCBkZWNpc2lvbnMgZm9yIGFsbCBvZiBpUGhvbmUvaVBhZC9tYWNPUy4KIAotICAgIGlmICh1
c2VySW50ZXJmYWNlSWRpb21Jc1BhZFN0YXRlID09IFVzZXJJbnRlcmZhY2VJZGlvbVN0YXRlOjpV
bmtub3duKQorICAgIGlmICh1c2VySW50ZXJmYWNlSWRpb21TdGF0ZSA9PSBVc2VySW50ZXJmYWNl
SWRpb21TdGF0ZTo6VW5rbm93bikKICAgICAgICAgdXBkYXRlQ3VycmVudFVzZXJJbnRlcmZhY2VJ
ZGlvbSgpOwogCi0gICAgcmV0dXJuIHVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkU3RhdGUgPT0gVXNl
ckludGVyZmFjZUlkaW9tU3RhdGU6OklzUGFkT3JNYWM7CisgICAgcmV0dXJuIHVzZXJJbnRlcmZh
Y2VJZGlvbVN0YXRlID09IFVzZXJJbnRlcmZhY2VJZGlvbVN0YXRlOjpJc1Bob25lT3JXYXRjaDsK
IH0KIAotdm9pZCBzZXRDdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQYWRPck1hYyhib29sIGlz
UGFkT3JNYWMpCit2b2lkIHNldEN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRj
aChib29sIGlzUGhvbmVPcldhdGNoKQogewotICAgIHVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkU3Rh
dGUgPSBpc1BhZE9yTWFjID8gVXNlckludGVyZmFjZUlkaW9tU3RhdGU6OklzUGFkT3JNYWMgOiBV
c2VySW50ZXJmYWNlSWRpb21TdGF0ZTo6SXNOb3RQYWRPck1hYzsKKyAgICB1c2VySW50ZXJmYWNl
SWRpb21TdGF0ZSA9IGlzUGhvbmVPcldhdGNoID8gVXNlckludGVyZmFjZUlkaW9tU3RhdGU6Oklz
UGhvbmVPcldhdGNoIDogVXNlckludGVyZmFjZUlkaW9tU3RhdGU6OklzTm90UGhvbmVPcldhdGNo
OwogfQogCiBib29sIHVwZGF0ZUN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb20oKQogewotICAgIGJv
b2wgd2FzUGFkT3JNYWMgPSB1c2VySW50ZXJmYWNlSWRpb21Jc1BhZFN0YXRlID09IFVzZXJJbnRl
cmZhY2VJZGlvbVN0YXRlOjpJc1BhZE9yTWFjOwotICAgIGJvb2wgaXNQYWRPck1hYyA9IGZhbHNl
OworICAgIGJvb2wgd2FzUGhvbmVPcldhdGNoID0gdXNlckludGVyZmFjZUlkaW9tU3RhdGUgPT0g
VXNlckludGVyZmFjZUlkaW9tU3RhdGU6OklzUGhvbmVPcldhdGNoOworICAgIGJvb2wgaXNQaG9u
ZU9yV2F0Y2ggPSBmYWxzZTsKIAogICAgIC8vIElmIHdlIGFyZSBpbiBhIGRhZW1vbiwgd2UgY2Fu
bm90IHVzZSBVSURldmljZS4gRmFsbCBiYWNrIHRvIGNoZWNraW5nIHRoZSBoYXJkd2FyZSBpdHNl
bGYuCiAgICAgLy8gU2luY2UgZGFlbW9ucyBkb24ndCBldmVyIHJ1biBpbiBhbiBpUGhvbmUtYXBw
LW9uLWlQYWQgamFpbCwgdGhpcyB3aWxsIGJlIGFjY3VyYXRlIGluIHRoZSBkYWVtb24gY2FzZSwK
ICAgICAvLyBidXQgaXMgbm90IHN1ZmZpY2llbnQgaW4gdGhlIGFwcGxpY2F0aW9uIGNhc2UuCiAg
ICAgaWYgKCFbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0pIHsKICAgICAgICAgYXV0
byBkZXZpY2VDbGFzcyA9IFdlYkNvcmU6OmRldmljZUNsYXNzKCk7Ci0gICAgICAgIGlzUGFkT3JN
YWMgPSBkZXZpY2VDbGFzcyA9PSBNR0RldmljZUNsYXNzaVBhZCB8fCBkZXZpY2VDbGFzcyA9PSBN
R0RldmljZUNsYXNzTWFjOworICAgICAgICBpc1Bob25lT3JXYXRjaCA9IGRldmljZUNsYXNzID09
IE1HRGV2aWNlQ2xhc3NpUGhvbmUgfHwgZGV2aWNlQ2xhc3MgPT0gTUdEZXZpY2VDbGFzc2lQb2Qg
fHwgZGV2aWNlQ2xhc3MgPT0gTUdEZXZpY2VDbGFzc1dhdGNoOwogICAgIH0gZWxzZSB7CiAgICAg
ICAgIGF1dG8gaWRpb20gPSBbW1VJRGV2aWNlIGN1cnJlbnREZXZpY2VdIHVzZXJJbnRlcmZhY2VJ
ZGlvbV07Ci0gICAgICAgIGlzUGFkT3JNYWMgPSBpZGlvbSA9PSBVSVVzZXJJbnRlcmZhY2VJZGlv
bVBhZCB8fCBpZGlvbSA9PSBVSVVzZXJJbnRlcmZhY2VJZGlvbU1hYzsKKyAgICAgICAgaXNQaG9u
ZU9yV2F0Y2ggPSBpZGlvbSA9PSBVSVVzZXJJbnRlcmZhY2VJZGlvbVBob25lIHx8IGlkaW9tID09
IFVJVXNlckludGVyZmFjZUlkaW9tV2F0Y2g7CiAgICAgfQogCi0gICAgaWYgKHdhc1BhZE9yTWFj
ID09IGlzUGFkT3JNYWMpCisgICAgaWYgKHdhc1Bob25lT3JXYXRjaCA9PSBpc1Bob25lT3JXYXRj
aCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgc2V0Q3VycmVudFVzZXJJbnRlcmZhY2VJ
ZGlvbUlzUGFkT3JNYWMoaXNQYWRPck1hYyk7CisgICAgc2V0Q3VycmVudFVzZXJJbnRlcmZhY2VJ
ZGlvbUlzUGhvbmVPcldhdGNoKGlzUGhvbmVPcldhdGNoKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmNwcAppbmRleCBlZDZhMTBkMWQ0MTFjMDExMTU4ZTNlZGI5MzFhOWQ2ZDkxY2Q3ZjFm
Li4yNzgxNGY3YjE1ODA0NWI5MDg2YzQ2YzI5NDkwODU2NjE0OWI2MjVmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApA
QCAtMTgxLDcgKzE4MSw3IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5j
b2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICNlbmRpZgogCiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKLSAgICBlbmNvZGVyIDw8IGN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bh
ZDsKKyAgICBlbmNvZGVyIDw8IGN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRj
aDsKICAgICBlbmNvZGVyIDw8IHN1cHBvcnRzUGljdHVyZUluUGljdHVyZTsKICAgICBlbmNvZGVy
IDw8IGNzc1ZhbHVlVG9TeXN0ZW1Db2xvck1hcDsKICAgICBlbmNvZGVyIDw8IGZvY3VzUmluZ0Nv
bG9yOwpAQCAtNTA3LDcgKzUwNyw3IEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
czo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgV2ViUHJvY2Vzc0NyZWF0CiAjZW5kaWYK
IAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJh
bWV0ZXJzLmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZCkpCisgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShwYXJhbWV0ZXJzLmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRj
aCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFy
YW1ldGVycy5zdXBwb3J0c1BpY3R1cmVJblBpY3R1cmUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IDdjZjk5MDVjN2M0
ZWNkNmJhYTQ1NzRlNDZiNDVmNmNjYjk2ZmYwZDcuLmNjODM1MjhkYzFkYTQzMjFmZTQ2Zjc2N2Yy
ZWM0N2U3OGIyOGJmNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTIyMiw3ICsyMjIsNyBAQCBzdHJ1Y3QgV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCi0gICAgYm9vbCBjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQYWQgeyBmYWxzZSB9Owor
ICAgIGJvb2wgY3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoIHsgZmFsc2Ug
fTsKICAgICBib29sIHN1cHBvcnRzUGljdHVyZUluUGljdHVyZSB7IGZhbHNlIH07CiAgICAgV2Vi
Q29yZTo6UmVuZGVyVGhlbWVJT1M6OkNTU1ZhbHVlVG9TeXN0ZW1Db2xvck1hcCBjc3NWYWx1ZVRv
U3lzdGVtQ29sb3JNYXA7CiAgICAgV2ViQ29yZTo6Q29sb3IgZm9jdXNSaW5nQ29sb3I7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFs
dWVzSU9TLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL1dlYlByZWZlcmVuY2VzRGVmYXVs
dFZhbHVlc0lPUy5tbQppbmRleCBhYWZjYTY1ZTRjZWUyMTM4YmIwMmQ4MmQyY2MyMTdlZjRlMzUw
NTA1Li5kZTI1YTQyM2ZlZDc1MjJjNWRlZjZhNDVmMzRjNGRlMTBlNDAyZWIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzSU9T
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRW
YWx1ZXNJT1MubW0KQEAgLTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGJvb2wg
ZGVmYXVsdFRleHRBdXRvc2l6aW5nVXNlc0lkZW1wb3RlbnRNb2RlKCkKIHsKLSAgICByZXR1cm4g
Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkT3JNYWMoKTsKKyAgICByZXR1cm4gIWN1cnJl
bnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaCgpOwogfQogCiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1
cmF0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24ubW0KaW5kZXggODI0NGUxMjQyMTI1NTRiMmVjNjRmODQ0NGY1NTMyZWYyYTM1
NWY4Ny4uMWE3ODBiNTIyMGVmNGIwZWFiOGE2MDY0N2YxYWFkZWM2MTJkYTVkNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRp
b24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24ubW0KQEAgLTE5OCw3ICsxOTgsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdAog
ICAgIF9hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayA9IFlFUzsKICNlbmRpZgog
Ci0gICAgX2FsbG93c0lubGluZU1lZGlhUGxheWJhY2sgPSBXZWJLaXQ6OmN1cnJlbnRVc2VySW50
ZXJmYWNlSWRpb21Jc1BhZE9yTWFjKCk7CisgICAgX2FsbG93c0lubGluZU1lZGlhUGxheWJhY2sg
PSAhV2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0Y2goKTsKICAg
ICBfaW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUgPSAhX2Fs
bG93c0lubGluZU1lZGlhUGxheWJhY2s7CiAgICAgX2FsbG93c0lubGluZU1lZGlhUGxheWJhY2tB
ZnRlckZ1bGxzY3JlZW4gPSAhX2FsbG93c0lubGluZU1lZGlhUGxheWJhY2s7CiAgICAgX21lZGlh
RGF0YUxvYWRzQXV0b21hdGljYWxseSA9IF9hbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2Nv
YS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2Eu
bW0KaW5kZXggYjA1ZmM4MmJkMGQ3MjAxNDE4ZGQ2OWVhNDcxNTg5NTRjZjI1ZjBmNC4uMmU2YjRj
MTM3NjE5MmFhNjEwOWM0YTkxOGYzNDNmNDQzM2EyYjFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCkBAIC00MzcsNyAr
NDM3LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vz
cyhjb25zdCBXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MKICAgICB9CiAKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQotICAgIHBhcmFtZXRlcnMuY3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFk
ID0gY3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkT3JNYWMoKTsKKyAgICBwYXJhbWV0ZXJz
LmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaCA9IGN1cnJlbnRVc2VySW50
ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaCgpOwogICAgIHBhcmFtZXRlcnMuc3VwcG9ydHNQaWN0
dXJlSW5QaWN0dXJlID0gc3VwcG9ydHNQaWN0dXJlSW5QaWN0dXJlKCk7CiAgICAgcGFyYW1ldGVy
cy5jc3NWYWx1ZVRvU3lzdGVtQ29sb3JNYXAgPSBSZW5kZXJUaGVtZUlPUzo6Y3NzVmFsdWVUb1N5
c3RlbUNvbG9yTWFwKCk7CiAgICAgcGFyYW1ldGVycy5mb2N1c1JpbmdDb2xvciA9IFJlbmRlclRo
ZW1lSU9TOjpzeXN0ZW1Gb2N1c1JpbmdDb2xvcigpOwpAQCAtNzM2LDggKzczNiw4IEBAIHZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCkKICAgICBpZiAo
IVtVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSkgewogICAgICAgICBtX2FwcGxpY2F0
aW9uTGF1bmNoT2JzZXJ2ZXIgPSBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJd
IGFkZE9ic2VydmVyRm9yTmFtZTpVSUFwcGxpY2F0aW9uRGlkRmluaXNoTGF1bmNoaW5nTm90aWZp
Y2F0aW9uIG9iamVjdDpuaWwgcXVldWU6W05TT3BlcmF0aW9uUXVldWUgY3VycmVudFF1ZXVlXSB1
c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikgewogICAgICAgICAgICAg
aWYgKFdlYktpdDo6dXBkYXRlQ3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbSgpKSB7Ci0gICAgICAg
ICAgICAgICAgYXV0byBpc1BhZE9yTWFjID0gV2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlk
aW9tSXNQYWRPck1hYygpOwotICAgICAgICAgICAgICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNz
YWdlczo6V2ViUHJvY2Vzczo6VXNlckludGVyZmFjZUlkaW9tRGlkQ2hhbmdlKGlzUGFkT3JNYWMp
KTsKKyAgICAgICAgICAgICAgICBhdXRvIGlzUGhvbmVPcldhdGNoID0gV2ViS2l0OjpjdXJyZW50
VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0Y2goKTsKKyAgICAgICAgICAgICAgICBzZW5k
VG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlVzZXJJbnRlcmZhY2VJZGlvbURp
ZENoYW5nZShpc1Bob25lT3JXYXRjaCkpOwogICAgICAgICAgICAgfQogICAgICAgICB9XTsKICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvU21hcnRNYWduaWZp
Y2F0aW9uQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9TbWFydE1h
Z25pZmljYXRpb25Db250cm9sbGVyLm1tCmluZGV4IDUzMzQwNjRhMGI4NmVlMjcwMGY0OTIyZjI0
YjY1MGU5N2ViZWVhNzkuLjIyMTIzMzBmOGUzZjYyOTU2OGJmY2JmYzZkMWNlOWQ3NTNiNTZlNmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRp
b25Db250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9TbWFydE1h
Z25pZmljYXRpb25Db250cm9sbGVyLm1tCkBAIC0xMTksMTAgKzExOSwxMCBAQCB2b2lkIFNtYXJ0
TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXI6OmRpZENvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlm
aWNhdGlvbkdlc3R1cgogICAgIGZsb2F0IG1pbmltdW1TY3JvbGxEaXN0YW5jZTsKICAgICBpZiAo
W21fY29udGVudFZpZXcgYm91bmRzXS5zaXplLndpZHRoIDw9IG1fd2ViUGFnZVByb3h5LnVub2Jz
Y3VyZWRDb250ZW50UmVjdCgpLndpZHRoKCkpCiAgICAgICAgIG1pbmltdW1TY3JvbGxEaXN0YW5j
ZSA9IHNtYXJ0TWFnbmlmaWNhdGlvblBhblNjcm9sbFRocmVzaG9sZFpvb21lZE91dDsKLSAgICBl
bHNlIGlmIChjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQYWRPck1hYygpKQotICAgICAgICBt
aW5pbXVtU2Nyb2xsRGlzdGFuY2UgPSBzbWFydE1hZ25pZmljYXRpb25QYW5TY3JvbGxUaHJlc2hv
bGRJUGFkOwotICAgIGVsc2UKKyAgICBlbHNlIGlmIChjdXJyZW50VXNlckludGVyZmFjZUlkaW9t
SXNQaG9uZU9yV2F0Y2goKSkKICAgICAgICAgbWluaW11bVNjcm9sbERpc3RhbmNlID0gc21hcnRN
YWduaWZpY2F0aW9uUGFuU2Nyb2xsVGhyZXNob2xkSVBob25lOworICAgIGVsc2UKKyAgICAgICAg
bWluaW11bVNjcm9sbERpc3RhbmNlID0gc21hcnRNYWduaWZpY2F0aW9uUGFuU2Nyb2xsVGhyZXNo
b2xkSVBhZDsKIAogICAgIC8vIEZvciByZXBsYWNlZCBlbGVtZW50cyBsaWtlIGltYWdlcywgd2Ug
d2FudCB0byBmaXQgdGhlIHdob2xlIGVsZW1lbnQKICAgICAvLyBpbiB0aGUgdmlldywgc28gc2Nh
bGUgaXQgZG93biBlbm91Z2ggdG8gbWFrZSBib3RoIGRpbWVuc2lvbnMgZml0IGlmIHBvc3NpYmxl
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0KaW5kZXggZDJlYzgxYWUzOTVjZTYzMThmOTZhMjc2NTgxNTNiMzg2MDQz
YWJlOS4uYTg0NGE5OWFjZGI4NWI5ZDQ3YjUwMjYwYjJlYmJkOTBiZGE4NTI0OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tCkBAIC00NzUsNyArNDc1LDcgQEAgLSAodm9pZClzZXRBY2Nlc3NvcnlWaWV3Q3VzdG9t
QnV0dG9uVGl0bGU6KE5TU3RyaW5nICopdGl0bGUKICAgICAgICAgW1tfY29udGVudFZpZXcgZm9y
bUFjY2Vzc29yeVZpZXddIHNob3dBdXRvRmlsbEJ1dHRvbldpdGhUaXRsZTp0aXRsZV07CiAgICAg
ZWxzZQogICAgICAgICBbW19jb250ZW50VmlldyBmb3JtQWNjZXNzb3J5Vmlld10gaGlkZUF1dG9G
aWxsQnV0dG9uXTsKLSAgICBpZiAoV2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQ
YWRPck1hYygpKQorICAgIGlmICghV2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQ
aG9uZU9yV2F0Y2goKSkKICAgICAgICAgW19jb250ZW50VmlldyByZWxvYWRJbnB1dFZpZXdzXTsK
IH0KIApAQCAtMTU1MCw3ICsxNTUwLDcgQEAgLSAodm9pZCllbmRFZGl0aW5nQW5kVXBkYXRlRm9j
dXNBcHBlYXJhbmNlV2l0aFJlYXNvbjooRW5kRWRpdGluZ1JlYXNvbilyZWFzb24KICAgICAgICAg
ICAgICAgICBpZiAoX2ZvY3VzUmVxdWlyZXNTdHJvbmdQYXNzd29yZEFzc2lzdGFuY2UpCiAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgICAgICAgICAgICAgaWYgKCFXZWJL
aXQ6OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZE9yTWFjKCkpCisgICAgICAgICAgICAg
ICAgaWYgKFdlYktpdDo6Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKCkp
CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfQogCkBAIC0y
MjQxLDcgKzIyNDEsNyBAQCAtIChCT09MKV9zaG91bGRTaG93QXV0b21hdGljS2V5Ym9hcmRVSUln
bm9yaW5nSW5wdXRNb2RlCiAgICAgICAgIGlmIChzZWxmLl9zaG91bGRVc2VDb250ZXh0TWVudXNG
b3JGb3JtQ29udHJvbHMpCiAgICAgICAgICAgICByZXR1cm4gTk87CiAjZW5kaWYKLSAgICAgICAg
cmV0dXJuICFXZWJLaXQ6OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZE9yTWFjKCk7Cisg
ICAgICAgIHJldHVybiBXZWJLaXQ6OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JX
YXRjaCgpOwogICAgIH0KICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gWUVTOwpAQCAtMjMw
Miw3ICsyMzAyLDcgQEAgLSAodm9pZClfem9vbVRvUmV2ZWFsRm9jdXNlZEVsZW1lbnQKICAgICAg
ICAgZm9udFNpemU6X2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24ubm9kZUZvbnRTaXplCiAgICAg
ICAgIG1pbmltdW1TY2FsZTpfZm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbi5taW5pbXVtU2NhbGVG
YWN0b3IKICAgICAgICAgbWF4aW11bVNjYWxlOl9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLm1h
eGltdW1TY2FsZUZhY3Rvcklnbm9yaW5nQWx3YXlzU2NhbGFibGUKLSAgICAgICAgYWxsb3dTY2Fs
aW5nOl9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmFsbG93c1VzZXJTY2FsaW5nSWdub3JpbmdB
bHdheXNTY2FsYWJsZSAmJiAhV2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQYWRP
ck1hYygpCisgICAgICAgIGFsbG93U2NhbGluZzpfZm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbi5h
bGxvd3NVc2VyU2NhbGluZ0lnbm9yaW5nQWx3YXlzU2NhbGFibGUgJiYgV2ViS2l0OjpjdXJyZW50
VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0Y2goKQogICAgICAgICBmb3JjZVNjcm9sbDpb
c2VsZiByZXF1aXJlc0FjY2Vzc29yeVZpZXddXTsKIH0KIApAQCAtMzMxOSw3ICszMzE5LDcgQEAg
LSAoYm9vbClfZWxlbWVudFR5cGVSZXF1aXJlc0FjY2Vzc29yeVZpZXc6KFdlYktpdDo6SW5wdXRU
eXBlKXR5cGUKICAgICAgICAgaWYgKHNlbGYuX3Nob3VsZFVzZUNvbnRleHRNZW51c0ZvckZvcm1D
b250cm9scykKICAgICAgICAgICAgIHJldHVybiBOTzsKICNlbmRpZgotICAgICAgICByZXR1cm4g
IVdlYktpdDo6Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkT3JNYWMoKTsKKyAgICAgICAg
cmV0dXJuIFdlYktpdDo6Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKCk7
CiAgICAgfQogICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6OlRleHQ6CiAgICAgY2FzZSBXZWJL
aXQ6OklucHV0VHlwZTo6UGFzc3dvcmQ6CkBAIC0zMzMyLDcgKzMzMzIsNyBAQCAtIChib29sKV9l
bGVtZW50VHlwZVJlcXVpcmVzQWNjZXNzb3J5VmlldzooV2ViS2l0OjpJbnB1dFR5cGUpdHlwZQog
ICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6OkNvbnRlbnRFZGl0YWJsZToKICAgICBjYXNlIFdl
YktpdDo6SW5wdXRUeXBlOjpUZXh0QXJlYToKICAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpX
ZWVrOgotICAgICAgICByZXR1cm4gIVdlYktpdDo6Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlz
UGFkT3JNYWMoKTsKKyAgICAgICAgcmV0dXJuIFdlYktpdDo6Y3VycmVudFVzZXJJbnRlcmZhY2VJ
ZGlvbUlzUGhvbmVPcldhdGNoKCk7CiAgICAgfQogfQogCkBAIC00OTEwLDcgKzQ5MTAsNyBAQCAt
ICh2b2lkKV91cGRhdGVBY2Nlc3NvcnkKICAgICBbYWNjZXNzb3J5VmlldyBzZXROZXh0RW5hYmxl
ZDpfZm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbi5oYXNOZXh0Tm9kZV07CiAgICAgW2FjY2Vzc29y
eVZpZXcgc2V0UHJldmlvdXNFbmFibGVkOl9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmhhc1By
ZXZpb3VzTm9kZV07CiAKLSAgICBpZiAoV2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9t
SXNQYWRPck1hYygpKSB7CisgICAgaWYgKCFXZWJLaXQ6OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRp
b21Jc1Bob25lT3JXYXRjaCgpKSB7CiAgICAgICAgIFthY2Nlc3NvcnlWaWV3IHNldENsZWFyVmlz
aWJsZTpOT107CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03Nzc4LDcgKzc3NzgsNyBAQCAt
IChCT09MKV9zaG91bGRBdm9pZFNjcm9sbGluZ1doZW5Gb2N1c2VkQ29udGVudElzVmlzaWJsZQog
CiAtIChCT09MKV9zaG91bGRVc2VMZWdhY3lTZWxlY3RQb3BvdmVyRGlzbWlzc2FsQmVoYXZpb3IK
IHsKLSAgICBpZiAoIVdlYktpdDo6Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkT3JNYWMo
KSkKKyAgICBpZiAoV2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0
Y2goKSkKICAgICAgICAgcmV0dXJuIE5POwogCiAgICAgaWYgKF9mb2N1c2VkRWxlbWVudEluZm9y
bWF0aW9uLmVsZW1lbnRUeXBlICE9IFdlYktpdDo6SW5wdXRUeXBlOjpTZWxlY3QpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViRGF0YUxpc3RTdWdnZXN0aW9uc0Ry
b3Bkb3duSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYkRhdGFMaXN0U3Vn
Z2VzdGlvbnNEcm9wZG93bklPUy5tbQppbmRleCA4MmRkYTQ2N2MxZmIzNGViMzg4MTQ2ZjUxYjQ1
NGRiODU5ZjEwMjZmLi4xMWNjNWE4ZDI3MjYwMzk3NDEyMmI1YThhMDk5OGZmMGM4N2UxM2U1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViRGF0YUxpc3RTdWdnZXN0
aW9uc0Ryb3Bkb3duSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJE
YXRhTGlzdFN1Z2dlc3Rpb25zRHJvcGRvd25JT1MubW0KQEAgLTExNiwxMCArMTE2LDEwIEBAIHZv
aWQgV2ViRGF0YUxpc3RTdWdnZXN0aW9uc0Ryb3Bkb3duSU9TOjpzaG93KFdlYkNvcmU6OkRhdGFM
aXN0U3VnZ2VzdGlvbkluZm9ybWF0CiAgICAgfQogI2VuZGlmCiAKLSAgICBpZiAoY3VycmVudFVz
ZXJJbnRlcmZhY2VJZGlvbUlzUGFkT3JNYWMoKSkKLSAgICAgICAgbV9zdWdnZXN0aW9uc0NvbnRy
b2wgPSBhZG9wdE5TKFtbV0tEYXRhTGlzdFN1Z2dlc3Rpb25zUG9wb3ZlciBhbGxvY10gaW5pdFdp
dGhJbmZvcm1hdGlvbjpXVEZNb3ZlKGluZm9ybWF0aW9uKSBpblZpZXc6bV9jb250ZW50Vmlld10p
OwotICAgIGVsc2UKKyAgICBpZiAoY3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldh
dGNoKCkpCiAgICAgICAgIG1fc3VnZ2VzdGlvbnNDb250cm9sID0gYWRvcHROUyhbW1dLRGF0YUxp
c3RTdWdnZXN0aW9uc1BpY2tlciBhbGxvY10gaW5pdFdpdGhJbmZvcm1hdGlvbjpXVEZNb3ZlKGlu
Zm9ybWF0aW9uKSBpblZpZXc6bV9jb250ZW50Vmlld10pOworICAgIGVsc2UKKyAgICAgICAgbV9z
dWdnZXN0aW9uc0NvbnRyb2wgPSBhZG9wdE5TKFtbV0tEYXRhTGlzdFN1Z2dlc3Rpb25zUG9wb3Zl
ciBhbGxvY10gaW5pdFdpdGhJbmZvcm1hdGlvbjpXVEZNb3ZlKGluZm9ybWF0aW9uKSBpblZpZXc6
bV9jb250ZW50Vmlld10pOwogCiAgICAgW21fc3VnZ2VzdGlvbnNDb250cm9sIHNob3dTdWdnZXN0
aW9uc0Ryb3Bkb3duOip0aGlzIGFjdGl2YXRpb25UeXBlOnR5cGVdOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KaW5kZXggMGUxZjIxOGU3Yjlj
ZTA2NzRlN2NiMjExMzFkZTE4NWQ5Y2FkNTZiMS4uYzJlNDBmZTM0OGFlMWNmMjFjYzM2ZGVhZDNh
OGJiZTY2ZDgwODAzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dl
YlBhZ2VQcm94eUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFn
ZVByb3h5SU9TLm1tCkBAIC0xMjY3LDcgKzEyNjcsNyBAQCBzdGF0aWMgYm9vbCBkZXNrdG9wQ2xh
c3NCcm93c2luZ1N1cHBvcnRlZCgpCiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNEZXNrdG9wQ2xh
c3NCcm93c2luZyA9IGZhbHNlOwogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRva2Vu
OwogICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKLSAgICAgICAgc3VwcG9ydHNEZXNr
dG9wQ2xhc3NCcm93c2luZyA9IGN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZE9yTWFjKCk7
CisgICAgICAgIHN1cHBvcnRzRGVza3RvcENsYXNzQnJvd3NpbmcgPSAhY3VycmVudFVzZXJJbnRl
cmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKCk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHN1cHBvcnRz
RGVza3RvcENsYXNzQnJvd3Npbmc7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQaWNrZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQaWNrZXIubW0KaW5kZXggNzAwODUyZjVi
OTk4YzZjNmFkNzlkZTAxNjdkMDRkOGFhMzM0OGY4ZC4uOWRlYjA0NDY0MDU0NjMwOGJiZDU4ZjA5
N2YwYjkyZGM2Y2MzYmUyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5tbQpAQCAtMTUyLDEwICsxNTIsMTAg
QEAgLSAodm9pZClzaG93OihCT09MKWhhc1ZpZGVvIGZyb21SZWN0OihDR1JlY3QpZWxlbWVudFJl
Y3QKICAgICBbX3JvdXRpbmdDb250cm9sbGVyIHNldERpc2NvdmVyeU1vZGU6TVBSb3V0ZURpc2Nv
dmVyeU1vZGVEZXRhaWxlZF07CiAKICAgICBNUEFWSXRlbVR5cGUgaXRlbVR5cGUgPSBoYXNWaWRl
byA/IE1QQVZJdGVtVHlwZVZpZGVvIDogTVBBVkl0ZW1UeXBlQXVkaW87Ci0gICAgaWYgKFdlYktp
dDo6Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkT3JNYWMoKSkKLSAgICAgICAgW3NlbGYg
c2hvd0FpclBsYXlQaWNrZXJJUGFkOml0ZW1UeXBlIGZyb21SZWN0OmVsZW1lbnRSZWN0XTsKLSAg
ICBlbHNlCisgICAgaWYgKFdlYktpdDo6Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVP
cldhdGNoKCkpCiAgICAgICAgIFtzZWxmIHNob3dBaXJQbGF5UGlja2VySVBob25lOml0ZW1UeXBl
XTsKKyAgICBlbHNlCisgICAgICAgIFtzZWxmIHNob3dBaXJQbGF5UGlja2VySVBhZDppdGVtVHlw
ZSBmcm9tUmVjdDplbGVtZW50UmVjdF07CiB9CiAKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5tbQppbmRleCA0YzVj
ODQ2ZGI3ODQ1OTI1YTg5NTFmZjBkOTMzYWNhMWQ3YWY0NTJlLi43MGJiNGJjNTA5OTE4ZGI4ZDlk
OTUzMWE3ZGFhMGRkMGIxNjM3MDhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvZm9ybXMvV0tGaWxlVXBsb2FkUGFuZWwubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLm1tCkBAIC01ODQsNyArNTg0LDcgQEAg
LSAodm9pZClfc2hvd1Bob3RvUGlja2VyV2l0aFNvdXJjZVR5cGU6KFVJSW1hZ2VQaWNrZXJDb250
cm9sbGVyU291cmNlVHlwZSlzb3VyY2UKIAogICAgIC8vIFVzZSBhIHBvcG92ZXIgb24gdGhlIGlQ
YWQgaWYgdGhlIHNvdXJjZSB0eXBlIGlzIG5vdCB0aGUgY2FtZXJhLgogICAgIC8vIFRoZSBjYW1l
cmEgd2lsbCB1c2UgYSBmdWxsc2NyZWVuLCBtb2RhbCB2aWV3IGNvbnRyb2xsZXIuCi0gICAgQk9P
TCB1c2VQb3BvdmVyID0gY3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkT3JNYWMoKSAmJiBz
b3VyY2VUeXBlICE9IFVJSW1hZ2VQaWNrZXJDb250cm9sbGVyU291cmNlVHlwZUNhbWVyYTsKKyAg
ICBCT09MIHVzZVBvcG92ZXIgPSAhY3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldh
dGNoKCkgJiYgc291cmNlVHlwZSAhPSBVSUltYWdlUGlja2VyQ29udHJvbGxlclNvdXJjZVR5cGVD
YW1lcmE7CiAgICAgaWYgKHVzZVBvcG92ZXIpCiAgICAgICAgIFtzZWxmIF9wcmVzZW50UG9wb3Zl
cldpdGhDb250ZW50Vmlld0NvbnRyb2xsZXI6X2ltYWdlUGlja2VyLmdldCgpIGFuaW1hdGVkOllF
U107CiAgICAgZWxzZQpAQCAtNTk1LDEwICs1OTUsMTAgQEAgLSAodm9pZClfc2hvd1Bob3RvUGlj
a2VyV2l0aFNvdXJjZVR5cGU6KFVJSW1hZ2VQaWNrZXJDb250cm9sbGVyU291cmNlVHlwZSlzb3Vy
Y2UKIAogLSAodm9pZClfcHJlc2VudE1lbnVPcHRpb25Gb3JDdXJyZW50SW50ZXJmYWNlSWRpb206
KFVJVmlld0NvbnRyb2xsZXIgKil2aWV3Q29udHJvbGxlcgogewotICAgIGlmIChjdXJyZW50VXNl
ckludGVyZmFjZUlkaW9tSXNQYWRPck1hYygpKQotICAgICAgICBbc2VsZiBfcHJlc2VudFBvcG92
ZXJXaXRoQ29udGVudFZpZXdDb250cm9sbGVyOnZpZXdDb250cm9sbGVyIGFuaW1hdGVkOllFU107
Ci0gICAgZWxzZQorICAgIGlmIChjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0
Y2goKSkKICAgICAgICAgW3NlbGYgX3ByZXNlbnRGdWxsc2NyZWVuVmlld0NvbnRyb2xsZXI6dmll
d0NvbnRyb2xsZXIgYW5pbWF0ZWQ6WUVTXTsKKyAgICBlbHNlCisgICAgICAgIFtzZWxmIF9wcmVz
ZW50UG9wb3ZlcldpdGhDb250ZW50Vmlld0NvbnRyb2xsZXI6dmlld0NvbnRyb2xsZXIgYW5pbWF0
ZWQ6WUVTXTsKIH0KIAogLSAodm9pZClfcHJlc2VudFBvcG92ZXJXaXRoQ29udGVudFZpZXdDb250
cm9sbGVyOihVSVZpZXdDb250cm9sbGVyICopY29udGVudFZpZXdDb250cm9sbGVyIGFuaW1hdGVk
OihCT09MKWFuaW1hdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
Zm9ybXMvV0tGb3JtU2VsZWN0Q29udHJvbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9mb3Jtcy9XS0Zvcm1TZWxlY3RDb250cm9sLm1tCmluZGV4IDA4NWMwZmQ2NjFmNTljYzY1YTY0
ZTllMWMyYjlkOGMyMjYxNDEyOGQuLjdhZDdlZjU5ODdjOTYxMmI1ODkyMTU0ZWJiNTcyZWY5NDk4
ZmI1ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zv
cm1TZWxlY3RDb250cm9sLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jt
cy9XS0Zvcm1TZWxlY3RDb250cm9sLm1tCkBAIC04NSw3ICs4NSw3IEBAIC0gKGluc3RhbmNldHlw
ZSlpbml0V2l0aFZpZXc6KFdLQ29udGVudFZpZXcgKil2aWV3CiAgICAgfQogI2VuZGlmCiAKLSAg
ICBpZiAoY3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkT3JNYWMoKSkKKyAgICBpZiAoIWN1
cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaCgpKQogICAgICAgICBjb250cm9s
ID0gYWRvcHROUyhbW1dLU2VsZWN0UG9wb3ZlciBhbGxvY10gaW5pdFdpdGhWaWV3OnZpZXcgaGFz
R3JvdXBzOmhhc0dyb3Vwc10pOwogICAgIGVsc2UgaWYgKHZpZXcuZm9jdXNlZEVsZW1lbnRJbmZv
cm1hdGlvbi5pc011bHRpU2VsZWN0IHx8IGhhc0dyb3VwcykKICAgICAgICAgY29udHJvbCA9IGFk
b3B0TlMoW1tXS011bHRpcGxlU2VsZWN0UGlja2VyIGFsbG9jXSBpbml0V2l0aFZpZXc6dmlld10p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNl
bGVjdFBpY2tlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1T
ZWxlY3RQaWNrZXIubW0KaW5kZXggOWEzN2VhY2U4NjUxM2UyM2FmZjMzMDRkM2IxMDZjMDMzMDY5
MjhjNi4uZDNhOTU5Y2ViYTkzNWVjMDVmNjQ2NWVjNGIxMjc5N2FhYzBjODA0OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdFBpY2tlci5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0UGlj
a2VyLm1tCkBAIC0xMTc2LDE2ICsxMTc2LDcgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoVmll
dzooV0tDb250ZW50VmlldyAqKXZpZXcKIAogLSAodm9pZCljb25maWd1cmVQcmVzZW50YXRpb24K
IHsKLSAgICBpZiAoV2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQYWRPck1hYygp
KSB7Ci0gICAgICAgIFtfbmF2aWdhdGlvbkNvbnRyb2xsZXIgc2V0TW9kYWxQcmVzZW50YXRpb25T
dHlsZTpVSU1vZGFsUHJlc2VudGF0aW9uUG9wb3Zlcl07Ci0gICAgICAgIFtfbmF2aWdhdGlvbkNv
bnRyb2xsZXIgc2V0TmF2aWdhdGlvbkJhckhpZGRlbjpZRVNdOwotICAgICAgICBbX3RhYmxlVmll
d0NvbnRyb2xsZXIgc2V0UHJlZmVycmVkQ29udGVudFNpemU6Q0dTaXplTWFrZShzZWxlY3RQb3Bv
dmVyTGVuZ3RoLCBzZWxlY3RQb3BvdmVyTGVuZ3RoKV07Ci0KLSAgICAgICAgVUlQb3BvdmVyUHJl
c2VudGF0aW9uQ29udHJvbGxlciAqcHJlc2VudGF0aW9uQ29udHJvbGxlciA9IFtfbmF2aWdhdGlv
bkNvbnRyb2xsZXIgcG9wb3ZlclByZXNlbnRhdGlvbkNvbnRyb2xsZXJdOwotICAgICAgICBwcmVz
ZW50YXRpb25Db250cm9sbGVyLmRlbGVnYXRlID0gc2VsZjsKLSAgICAgICAgcHJlc2VudGF0aW9u
Q29udHJvbGxlci5zb3VyY2VWaWV3ID0gX3ZpZXc7Ci0gICAgICAgIHByZXNlbnRhdGlvbkNvbnRy
b2xsZXIuc291cmNlUmVjdCA9IENHUmVjdEludGVncmFsKF92aWV3LmZvY3VzZWRFbGVtZW50SW5m
b3JtYXRpb24uaW50ZXJhY3Rpb25SZWN0KTsKLSAgICB9IGVsc2UgeworICAgIGlmIChXZWJLaXQ6
OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaCgpKSB7CiAgICAgICAgIFtb
X25hdmlnYXRpb25Db250cm9sbGVyIG5hdmlnYXRpb25CYXJdIHNldEJhclRpbnRDb2xvcjpVSUNv
bG9yLnN5c3RlbUdyb3VwZWRCYWNrZ3JvdW5kQ29sb3JdOwogCiAgICAgICAgIFVJUHJlc2VudGF0
aW9uQ29udHJvbGxlciAqcHJlc2VudGF0aW9uQ29udHJvbGxlciA9IFtfbmF2aWdhdGlvbkNvbnRy
b2xsZXIgcHJlc2VudGF0aW9uQ29udHJvbGxlcl07CkBAIC0xMTk4LDYgKzExODksMTUgQEAgLSAo
dm9pZCljb25maWd1cmVQcmVzZW50YXRpb24KICAgICAgICAgICAgIHNoZWV0UHJlc2VudGF0aW9u
Q29udHJvbGxlci5fd2lkdGhGb2xsb3dzUHJlZmVycmVkQ29udGVudFNpemVXaGVuQm90dG9tQXR0
YWNoZWQgPSBZRVM7CiAgICAgICAgICAgICBzaGVldFByZXNlbnRhdGlvbkNvbnRyb2xsZXIuX3dh
bnRzQm90dG9tQXR0YWNoZWRJbkNvbXBhY3RIZWlnaHQgPSBZRVM7CiAgICAgICAgIH0KKyAgICB9
IGVsc2UgeworICAgICAgICBbX25hdmlnYXRpb25Db250cm9sbGVyIHNldE1vZGFsUHJlc2VudGF0
aW9uU3R5bGU6VUlNb2RhbFByZXNlbnRhdGlvblBvcG92ZXJdOworICAgICAgICBbX25hdmlnYXRp
b25Db250cm9sbGVyIHNldE5hdmlnYXRpb25CYXJIaWRkZW46WUVTXTsKKyAgICAgICAgW190YWJs
ZVZpZXdDb250cm9sbGVyIHNldFByZWZlcnJlZENvbnRlbnRTaXplOkNHU2l6ZU1ha2Uoc2VsZWN0
UG9wb3Zlckxlbmd0aCwgc2VsZWN0UG9wb3Zlckxlbmd0aCldOworCisgICAgICAgIFVJUG9wb3Zl
clByZXNlbnRhdGlvbkNvbnRyb2xsZXIgKnByZXNlbnRhdGlvbkNvbnRyb2xsZXIgPSBbX25hdmln
YXRpb25Db250cm9sbGVyIHBvcG92ZXJQcmVzZW50YXRpb25Db250cm9sbGVyXTsKKyAgICAgICAg
cHJlc2VudGF0aW9uQ29udHJvbGxlci5kZWxlZ2F0ZSA9IHNlbGY7CisgICAgICAgIHByZXNlbnRh
dGlvbkNvbnRyb2xsZXIuc291cmNlVmlldyA9IF92aWV3OworICAgICAgICBwcmVzZW50YXRpb25D
b250cm9sbGVyLnNvdXJjZVJlY3QgPSBDR1JlY3RJbnRlZ3JhbChfdmlldy5mb2N1c2VkRWxlbWVu
dEluZm9ybWF0aW9uLmludGVyYWN0aW9uUmVjdCk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDYzNzE1MzUwMmZk
OTQ0Y2M5ZmM2NmFhMmE2MGFhODJlN2U0MTU1YjUuLmIwNTI4MGNlMDYwMDc1YTE3MGJmZTM5NmIw
ZjQzZDgyYmQ1YWIwZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLm1lc3NhZ2VzLmluCkBAIC0xMTgsNyArMTE4LDcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vz
cyBMZWdhY3lSZWNlaXZlciBOb3RSZWZDb3VudGVkIHsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKLSAgICBVc2VySW50ZXJmYWNlSWRpb21EaWRDaGFuZ2UoYm9vbCBpc1BhZE9y
TWFjKQorICAgIFVzZXJJbnRlcmZhY2VJZGlvbURpZENoYW5nZShib29sIGlzUGhvbmVPcldhdGNo
KQogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oTUFDQ0FU
QUxZU1QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJv
Y2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3ND
b2NvYS5tbQppbmRleCBhNjY3MjEwNGEyYTEzNGQwMzA5NWMyMjZkNTgzNzU5NGRkN2UzMGNmLi5j
YWQyZDdhZGRlMTVjYmVlY2U3NDQ4ZTkyYjk1MjYzNzIzYTQ0YTE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KQEAgLTMxNCw3ICsz
MTQsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYQogICAgIHNldEVuaGFuY2VkQWNjZXNzaWJp
bGl0eShwYXJhbWV0ZXJzLmFjY2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VFbmFibGVk
KTsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgc2V0Q3VycmVudFVzZXJJbnRlcmZh
Y2VJZGlvbUlzUGFkT3JNYWMocGFyYW1ldGVycy5jdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQ
YWQpOworICAgIHNldEN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaChwYXJh
bWV0ZXJzLmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaCk7CiAgICAgc2V0
TG9jYWxpemVkRGV2aWNlTW9kZWwocGFyYW1ldGVycy5sb2NhbGl6ZWREZXZpY2VNb2RlbCk7CiAg
ICAgUmVuZGVyVGhlbWVJT1M6OnNldENvbnRlbnRTaXplQ2F0ZWdvcnkocGFyYW1ldGVycy5jb250
ZW50U2l6ZUNhdGVnb3J5KTsKICNpZiBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUpCkBA
IC0xMDE3LDkgKzEwMTcsOSBAQCB2b2lkIFdlYlByb2Nlc3M6OmFjY2Vzc2liaWxpdHlQcm9jZXNz
U3VzcGVuZGVkTm90aWZpY2F0aW9uKGJvb2wgc3VzcGVuZGVkKQogICAgIFVJQWNjZXNzaWJpbGl0
eVBvc3ROb3RpZmljYXRpb24oa0FYUGlkU3RhdHVzQ2hhbmdlZE5vdGlmaWNhdGlvbiwgQHsgQCJw
aWQiIDogQChnZXRwaWQoKSksIEAic3VzcGVuZGVkIiA6IEAoc3VzcGVuZGVkKSB9KTsKIH0KIAot
dm9pZCBXZWJQcm9jZXNzOjp1c2VySW50ZXJmYWNlSWRpb21EaWRDaGFuZ2UoYm9vbCBpc1BhZE9y
TWFjKQordm9pZCBXZWJQcm9jZXNzOjp1c2VySW50ZXJmYWNlSWRpb21EaWRDaGFuZ2UoYm9vbCBp
c1Bob25lT3JXYXRjaCkKIHsKLSAgICBXZWJLaXQ6OnNldEN1cnJlbnRVc2VySW50ZXJmYWNlSWRp
b21Jc1BhZE9yTWFjKGlzUGFkT3JNYWMpOworICAgIFdlYktpdDo6c2V0Q3VycmVudFVzZXJJbnRl
cmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKGlzUGhvbmVPcldhdGNoKTsKIH0KIAogYm9vbCBXZWJQ
cm9jZXNzOjpzaG91bGRGcmVlemVPblN1c3BlbnNpb24oKSBjb25zdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>