<?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>189464</bug_id>
          
          <creation_ts>2018-09-09 10:52:00 -0700</creation_ts>
          <short_desc>REGRESSION(r235832): Broke WebKit2 tests (Requested by ap on #webkit).</short_desc>
          <delta_ts>2020-04-17 02:32:00 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=210643</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>189228</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>darin</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1458027</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-09 10:52:00 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/235832 broke the build:
Broke WebKit2 tests (Requested by ap on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458029</commentid>
    <comment_count>1</comment_count>
      <attachid>349287</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-09 10:52:16 -0700</bug_when>
    <thetext>Created attachment 349287
ROLLOUT of r235832

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458030</commentid>
    <comment_count>2</comment_count>
      <attachid>349287</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-09 10:55:07 -0700</bug_when>
    <thetext>Comment on attachment 349287
ROLLOUT of r235832

Clearing flags on attachment: 349287

Committed r235837: &lt;https://trac.webkit.org/changeset/235837&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458031</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-09 10:55:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458032</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-09 10:56:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/44280024&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349287</attachid>
            <date>2018-09-09 10:52:16 -0700</date>
            <delta_ts>2018-09-09 10:55:07 -0700</delta_ts>
            <desc>ROLLOUT of r235832</desc>
            <filename>bug-189464-20180909135216.patch</filename>
            <type>text/plain</type>
            <size>37514</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODM2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjE3NzY2ODllZGNmYTVmMTRlNDMyM2FjNDUzMTEyM2Mw
ZWVmMjM5My4uODBlNWI4ZTQ4MmMxOWM5ZTVkNWIxZWM2OTU1ZDcxYzI4OTIyZWM0MCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDE4LTA5LTA5ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4K
KworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjM1ODMyLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5NDY0CisKKyAgICAgICAgQnJv
a2UgV2ViS2l0MiB0ZXN0cyAoUmVxdWVzdGVkIGJ5IGFwIG9uICN3ZWJraXQpLgorCisgICAgICAg
IFJldmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAiW0NvY29hXSBUdXJuIG9uIEFSQyBmb3Ig
V2ViS2l0VGVzdFJ1bm5lciIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4OTIyOAorICAgICAgICBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2Vz
ZXQvMjM1ODMyCisKIDIwMTgtMDktMDggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CiAKICAgICAgICAgYWNjZXNzaWJpbGl0eS9ub3RpZmljYXRpb24tbGlzdGVuZXJzLmh0
bWwgYWJhbmRvbnMgYSBkb2N1bWVudApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJl
ZC9FdmVudFNlcmlhbGl6YXRpb24vbWFjL0V2ZW50U2VyaWFsaXplck1hYy5tbSBiL1Rvb2xzL1Rl
c3RSdW5uZXJTaGFyZWQvRXZlbnRTZXJpYWxpemF0aW9uL21hYy9FdmVudFNlcmlhbGl6ZXJNYWMu
bW0KaW5kZXggN2JiNjJiNGQ2ZmRhYTY2MTRjNTMxZjhiYjEwZjBkZTRmNmMzZmMzMS4uMjNhZWIx
NWI0ZDZkOWU0Yjk4MWNjNDY1ZTgzNWVhYTQzYjgwNTcyMCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFJ1bm5lclNoYXJlZC9FdmVudFNlcmlhbGl6YXRpb24vbWFjL0V2ZW50U2VyaWFsaXplck1hYy5t
bQorKysgYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL0V2ZW50U2VyaWFsaXphdGlvbi9tYWMvRXZl
bnRTZXJpYWxpemVyTWFjLm1tCkBAIC0xOTgsNyArMTk4LDcgQEAgYm9vbCBldmVudElzT2ZHZXN0
dXJlVHlwZXMoQ0dFdmVudFJlZiBldmVudCwgSU9ISURFdmVudFR5cGUgZmlyc3QsIFR5cGVzIC4u
LiByZXMKICAgICBSZXRhaW5QdHI8Q0dFdmVudFJlZj4gcGxhaW5FdmVudCA9IGFkb3B0Q0YoQ0dF
dmVudENyZWF0ZShOVUxMKSk7CiAgICAgQ0dFdmVudFJlZiByYXdQbGFpbkV2ZW50ID0gcGxhaW5F
dmVudC5nZXQoKTsKIAotICAgIE5TTXV0YWJsZURpY3Rpb25hcnkgKmRpY3QgPSBbW05TTXV0YWJs
ZURpY3Rpb25hcnkgYWxsb2NdIGluaXRdOworICAgIE5TTXV0YWJsZURpY3Rpb25hcnkgKmRpY3Qg
PSBbW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0XSBhdXRvcmVsZWFzZV07CiAKICAg
ICBGT1JfRUFDSF9DR0VWRU5UX0lOVEVHRVJfRklFTEQoTE9BRF9JTlRFR0VSX0ZJRUxEX0ZST01f
RVZFTlQpOwogICAgIEZPUl9FQUNIX0NHRVZFTlRfRE9VQkxFX0ZJRUxEKExPQURfRE9VQkxFX0ZJ
RUxEX0ZST01fRVZFTlQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9jb2Nv
YS9MYXlvdXRUZXN0U3BlbGxDaGVja2VyLm1tIGIvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9jb2Nv
YS9MYXlvdXRUZXN0U3BlbGxDaGVja2VyLm1tCmluZGV4IGY5MTMxYWYyMTI4OThiNTM4YjE3Yjlm
ZmMwNzExYTdkNTRlYzhjY2EuLjIzMWFiNTUyOGU0ZDk1NTI2ZjcxYWNiYWM2ZTg5MmUxYzdhYjdl
NDMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvY29jb2EvTGF5b3V0VGVzdFNw
ZWxsQ2hlY2tlci5tbQorKysgYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL2NvY29hL0xheW91dFRl
c3RTcGVsbENoZWNrZXIubW0KQEAgLTI1MSw3ICsyNTEsNyBAQCBzdGF0aWMgTlNUZXh0Q2hlY2tp
bmdUeXBlIG5zVGV4dENoZWNraW5nVHlwZShKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4mJiBqc1R5
cGUpCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIEpTUHJvcGVydHlOYW1lQXJy
YXlSZWxlYXNlKGRldGFpbHNPYmplY3RQcm9wZXJ0aWVzKTsKICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIFtyZXN1bHRzRm9yV29yZCBhZGRPYmplY3Q6W1tMYXlvdXRUZXN0VGV4dENoZWNraW5n
UmVzdWx0IGFsbG9jXSBpbml0V2l0aFR5cGU6bnNUZXh0Q2hlY2tpbmdUeXBlKFdURk1vdmUodHlw
ZVZhbHVlKSkgcmFuZ2U6TlNNYWtlUmFuZ2UoZnJvbVZhbHVlLCB0b1ZhbHVlIC0gZnJvbVZhbHVl
KSByZXBsYWNlbWVudDooX19icmlkZ2UgTlNTdHJpbmcgKilyZXBsYWNlbWVudFRleHQuZ2V0KCkg
ZGV0YWlsczpkZXRhaWxzLmdldCgpXV07CisgICAgICAgICAgICBbcmVzdWx0c0ZvcldvcmQgYWRk
T2JqZWN0OltbW0xheW91dFRlc3RUZXh0Q2hlY2tpbmdSZXN1bHQgYWxsb2NdIGluaXRXaXRoVHlw
ZTpuc1RleHRDaGVja2luZ1R5cGUoV1RGTW92ZSh0eXBlVmFsdWUpKSByYW5nZTpOU01ha2VSYW5n
ZShmcm9tVmFsdWUsIHRvVmFsdWUgLSBmcm9tVmFsdWUpIHJlcGxhY2VtZW50OihfX2JyaWRnZSBO
U1N0cmluZyAqKXJlcGxhY2VtZW50VGV4dC5nZXQoKSBkZXRhaWxzOmRldGFpbHMuZ2V0KCldIGF1
dG9yZWxlYXNlXV07CiAgICAgICAgIH0KICAgICAgICAgYXV0byBjZlRleHRUb0NoZWNrID0gYWRv
cHRDRihKU1N0cmluZ0NvcHlDRlN0cmluZyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCB0ZXh0VG9DaGVj
aykpOwogICAgICAgICBbcmVzdWx0cyBzZXRPYmplY3Q6cmVzdWx0c0ZvcldvcmQuZ2V0KCkgZm9y
S2V5OihfX2JyaWRnZSBOU1N0cmluZyAqKWNmVGV4dFRvQ2hlY2suZ2V0KCldOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4
IGYxODk2ZDhlZTQxZDJiZjU3Nzk1OTBmYzlkNGM5OTkyMDY3NDY1ZDguLjZlZmVkYTc1MmRhMzgy
NGJjMWU3N2NiOWZmOTBmOTYzYTQ5MmRiNTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZworKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTMwLDcgKzMwLDYgQEAgVVNF
X0lOVEVSTkFMX1NES19SZWxlYXNlID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiAKIENMQU5HX0NY
WF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMTQ7CiBDTEFOR19DWFhfTElCUkFSWSA9IGxpYmMr
KzsKLUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKIENMQU5HX0VOQUJMRV9PQkpDX1dFQUsg
PSBZRVM7CiBDTEFOR19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKIENM
QU5HX1dBUk5fQ1hYMFhfRVhURU5TSU9OUyA9IE5POwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJJT1Mu
bW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmls
aXR5Q29udHJvbGxlcklPUy5tbQppbmRleCBmMTc5NmYyYTUwNzUxYzczNDUzZTE1Yzc5OWUxNzA2
YmE5ZTI4YjYyLi4wOWZhMmJjZWI5YWM0YWJjMTdjM2RmNTVmYmY2OTY5NDVjYmE4MjFhIDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3Np
YmlsaXR5Q29udHJvbGxlcklPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcklPUy5tbQpAQCAtOTMsNyArOTMs
NyBAQCBzdGF0aWMgaWQgZmluZEFjY2Vzc2libGVPYmplY3RCeUlkKGlkIG9iaiwgTlNTdHJpbmcg
KmlkQXR0cmlidXRlKQogUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxp
dHlDb250cm9sbGVyOjphY2Nlc3NpYmxlRWxlbWVudEJ5SWQoSlNTdHJpbmdSZWYgaWRBdHRyaWJ1
dGUpCiB7CiAgICAgV0tCdW5kbGVQYWdlUmVmIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xl
dG9uKCkucGFnZSgpLT5wYWdlKCk7Ci0gICAgaWQgcm9vdCA9IChfX2JyaWRnZSBQbGF0Zm9ybVVJ
RWxlbWVudClXS0FjY2Vzc2liaWxpdHlSb290T2JqZWN0KHBhZ2UpOworICAgIGlkIHJvb3QgPSBz
dGF0aWNfY2FzdDxQbGF0Zm9ybVVJRWxlbWVudD4oV0tBY2Nlc3NpYmlsaXR5Um9vdE9iamVjdChw
YWdlKSk7CiAKICAgICBpZCByZXN1bHQgPSBmaW5kQWNjZXNzaWJsZU9iamVjdEJ5SWQocm9vdCwg
W05TU3RyaW5nIHN0cmluZ1dpdGhKU1N0cmluZ1JlZjppZEF0dHJpYnV0ZV0pOwogICAgIGlmIChy
ZXN1bHQpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L2lvcy9BY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcklPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlUZXh0TWFya2VySU9TLm1tCmluZGV4
IGY3NTgxZTUzZTlkNTQ2MDViMDMwYTQzM2I3YjRlNjU4NTFjNTdlNmEuLjFmMTA3Y2U3OWQ3ZTQz
YjhkODMwODA4ZDMxMWRmYzdhYjY4YTQwMTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlUZXh0TWFya2VySU9TLm1tCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxp
dHlUZXh0TWFya2VySU9TLm1tCkBAIC0yOSw3ICsyOSw3IEBAIG5hbWVzcGFjZSBXVFIgewogCiBi
b29sIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyOjppc0VxdWFsKEFjY2Vzc2liaWxpdHlUZXh0TWFy
a2VyKiBvdGhlcikKIHsKLSAgICByZXR1cm4gWyhfX2JyaWRnZSBpZClwbGF0Zm9ybVRleHRNYXJr
ZXIoKSBpc0VxdWFsOihfX2JyaWRnZSBpZClvdGhlci0+cGxhdGZvcm1UZXh0TWFya2VyKCldOwor
ICAgIHJldHVybiBbKGlkKXBsYXRmb3JtVGV4dE1hcmtlcigpIGlzRXF1YWw6KGlkKW90aGVyLT5w
bGF0Zm9ybVRleHRNYXJrZXIoKV07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdUUgpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudElPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
aW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KaW5kZXggYjZhZmM4NTRjZGJmODBiYTZj
MmQxYzc3Y2JjYmQxMTAwNDIxOTM3ZC4uYzVlNWU2YzAzMmUyOWM0Y2YxYzQyODJkNGU0OTY5ODIw
YTFkMmNlNyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCkBA
IC0xNDYsNiArMTQ2LDggQEAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudChQbGF0Zm9ybVVJRWxlbWVudCBlbGVtZW50KQogICAgIDogbV9lbGVtZW50KGVsZW1l
bnQpCiAgICAgLCBtX25vdGlmaWNhdGlvbkhhbmRsZXIoMCkKIHsKKyAgICAvLyBGSVhNRTogYXBA
d2Via2l0Lm9yZyBzYXlzIE9iakMgb2JqZWN0cyBuZWVkIHRvIGJlIENGUmV0YWluZWQvQ0ZSZWxl
YXNlIHRvIGJlIEdDLWNvbXBsaWFudCBvbiB0aGUgbWFjLgorICAgIFttX2VsZW1lbnQgcmV0YWlu
XTsKIH0KIAogQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudChj
b25zdCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50JiBvdGhlcikKQEAgLTE1MywxMCArMTU1LDEyIEBA
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQoY29uc3QgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudCYgb3RoCiAgICAgLCBtX2VsZW1lbnQob3RoZXIubV9lbGVtZW50
KQogICAgICwgbV9ub3RpZmljYXRpb25IYW5kbGVyKDApCiB7CisgICAgW21fZWxlbWVudCByZXRh
aW5dOwogfQogCiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp+QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dCgpCiB7CisgICAgW21fZWxlbWVudCByZWxlYXNlXTsKIH0KIAogYm9vbCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojppc0VxdWFsKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQqIG90aGVyRWxlbWVudCkK
QEAgLTk3Miw2ICs5NzYsNyBAQCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlbW92ZU5v
dGlmaWNhdGlvbkxpc3RlbmVyKCkKICAgICBBU1NFUlQobV9ub3RpZmljYXRpb25IYW5kbGVyKTsK
ICAgICAKICAgICBbbV9ub3RpZmljYXRpb25IYW5kbGVyIHN0b3BPYnNlcnZpbmddOworICAgIFtt
X25vdGlmaWNhdGlvbkhhbmRsZXIgcmVsZWFzZV07CiAgICAgbV9ub3RpZmljYXRpb25IYW5kbGVy
ID0gbmlsOwogICAgIAogICAgIHJldHVybiB0cnVlOwpAQCAtMTA1OCw0MSArMTA2Myw0MSBAQCB2
b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlbW92ZVNlbGVjdGlvbigpCiAvLyBUZXh0IG1h
cmtlcnMKIFJlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlPiBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpsaW5lVGV4dE1hcmtlclJhbmdlRm9yVGV4dE1hcmtlcihBY2Nlc3NpYmlsaXR5
VGV4dE1hcmtlciogdGV4dE1hcmtlcikKIHsKLSAgICBpZCBzdGFydFRleHRNYXJrZXIgPSBbbV9l
bGVtZW50IGxpbmVTdGFydE1hcmtlckZvck1hcmtlcjooX19icmlkZ2UgaWQpdGV4dE1hcmtlci0+
cGxhdGZvcm1UZXh0TWFya2VyKCldOwotICAgIGlkIGVuZFRleHRNYXJrZXIgPSBbbV9lbGVtZW50
IGxpbmVFbmRNYXJrZXJGb3JNYXJrZXI6KF9fYnJpZGdlIGlkKXRleHRNYXJrZXItPnBsYXRmb3Jt
VGV4dE1hcmtlcigpXTsKKyAgICBpZCBzdGFydFRleHRNYXJrZXIgPSBbbV9lbGVtZW50IGxpbmVT
dGFydE1hcmtlckZvck1hcmtlcjooaWQpdGV4dE1hcmtlci0+cGxhdGZvcm1UZXh0TWFya2VyKCld
OworICAgIGlkIGVuZFRleHRNYXJrZXIgPSBbbV9lbGVtZW50IGxpbmVFbmRNYXJrZXJGb3JNYXJr
ZXI6KGlkKXRleHRNYXJrZXItPnBsYXRmb3JtVGV4dE1hcmtlcigpXTsKICAgICBOU0FycmF5ICp0
ZXh0TWFya2VycyA9IFtOU0FycmF5IGFycmF5V2l0aE9iamVjdHM6c3RhcnRUZXh0TWFya2VyLCBl
bmRUZXh0TWFya2VyLCBuaWxdOwogICAgIAogICAgIGlkIHRleHRNYXJrZXJSYW5nZSA9IFttX2Vs
ZW1lbnQgdGV4dE1hcmtlclJhbmdlRm9yTWFya2Vyczp0ZXh0TWFya2Vyc107Ci0gICAgcmV0dXJu
IEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2U6OmNyZWF0ZSgoX19icmlkZ2UgUGxhdGZvcm1U
ZXh0TWFya2VyUmFuZ2UpdGV4dE1hcmtlclJhbmdlKTsKKyAgICByZXR1cm4gQWNjZXNzaWJpbGl0
eVRleHRNYXJrZXJSYW5nZTo6Y3JlYXRlKHRleHRNYXJrZXJSYW5nZSk7CiB9CiAKIFJlZlB0cjxB
Y2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0ZXh0
TWFya2VyUmFuZ2VGb3JFbGVtZW50KEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQqIGVsZW1lbnQpCiB7
CiAgICAgaWQgdGV4dE1hcmtlclJhbmdlID0gW2VsZW1lbnQtPnBsYXRmb3JtVUlFbGVtZW50KCkg
dGV4dE1hcmtlclJhbmdlXTsKLSAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5n
ZTo6Y3JlYXRlKChfX2JyaWRnZSBQbGF0Zm9ybVRleHRNYXJrZXJSYW5nZSl0ZXh0TWFya2VyUmFu
Z2UpOworICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlOjpjcmVhdGUodGV4
dE1hcmtlclJhbmdlKTsKIH0KIAogaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJr
ZXJSYW5nZUxlbmd0aChBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiByYW5nZSkKIHsKLSAg
ICBpZCB0ZXh0TWFya2VycyA9IChfX2JyaWRnZSBpZClyYW5nZS0+cGxhdGZvcm1UZXh0TWFya2Vy
UmFuZ2UoKTsKKyAgICBpZCB0ZXh0TWFya2VycyA9IChpZClyYW5nZS0+cGxhdGZvcm1UZXh0TWFy
a2VyUmFuZ2UoKTsgICAgCiAgICAgcmV0dXJuIFttX2VsZW1lbnQgbGVuZ3RoRm9yVGV4dE1hcmtl
cnM6dGV4dE1hcmtlcnNdOwogfQogCiBSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnByZXZpb3VzVGV4dE1hcmtlcihBY2Nlc3NpYmlsaXR5VGV4
dE1hcmtlciogdGV4dE1hcmtlcikKIHsKLSAgICBpZCBwcmV2aW91c01hcmtlciA9IFttX2VsZW1l
bnQgcHJldmlvdXNNYXJrZXJGb3JNYXJrZXI6KF9fYnJpZGdlIGlkKXRleHRNYXJrZXItPnBsYXRm
b3JtVGV4dE1hcmtlcigpXTsKLSAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRleHRNYXJrZXI6OmNy
ZWF0ZSgoX19icmlkZ2UgUGxhdGZvcm1UZXh0TWFya2VyKXByZXZpb3VzTWFya2VyKTsKKyAgICBp
ZCBwcmV2aW91c01hcmtlciA9IFttX2VsZW1lbnQgcHJldmlvdXNNYXJrZXJGb3JNYXJrZXI6KGlk
KXRleHRNYXJrZXItPnBsYXRmb3JtVGV4dE1hcmtlcigpXTsKKyAgICByZXR1cm4gQWNjZXNzaWJp
bGl0eVRleHRNYXJrZXI6OmNyZWF0ZShwcmV2aW91c01hcmtlcik7CiB9CiAKIFJlZlB0cjxBY2Nl
c3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bmV4dFRleHRNYXJr
ZXIoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIHRleHRNYXJrZXIpCiB7Ci0gICAgaWQgbmV4dE1h
cmtlciA9IFttX2VsZW1lbnQgbmV4dE1hcmtlckZvck1hcmtlcjooX19icmlkZ2UgaWQpdGV4dE1h
cmtlci0+cGxhdGZvcm1UZXh0TWFya2VyKCldOwotICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VGV4
dE1hcmtlcjo6Y3JlYXRlKChfX2JyaWRnZSBQbGF0Zm9ybVRleHRNYXJrZXIpbmV4dE1hcmtlcik7
CisgICAgaWQgbmV4dE1hcmtlciA9IFttX2VsZW1lbnQgbmV4dE1hcmtlckZvck1hcmtlcjooaWQp
dGV4dE1hcmtlci0+cGxhdGZvcm1UZXh0TWFya2VyKCldOworICAgIHJldHVybiBBY2Nlc3NpYmls
aXR5VGV4dE1hcmtlcjo6Y3JlYXRlKG5leHRNYXJrZXIpOwogfQogCiBKU1JldGFpblB0cjxKU1N0
cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nRm9yVGV4dE1hcmtlclJhbmdl
KEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIG1hcmtlclJhbmdlKQogewotICAgIGlkIHRl
eHRNYXJrZXJzID0gKF9fYnJpZGdlIGlkKW1hcmtlclJhbmdlLT5wbGF0Zm9ybVRleHRNYXJrZXJS
YW5nZSgpOworICAgIGlkIHRleHRNYXJrZXJzID0gKGlkKW1hcmtlclJhbmdlLT5wbGF0Zm9ybVRl
eHRNYXJrZXJSYW5nZSgpOwogICAgIGlmICghdGV4dE1hcmtlcnMgfHwgIVt0ZXh0TWFya2VycyBp
c0tpbmRPZkNsYXNzOltOU0FycmF5IGNsYXNzXV0pCiAgICAgICAgIHJldHVybiBKU1N0cmluZ0Ny
ZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOwogICAgIHJldHVybiBbW21fZWxlbWVudCBzdHJpbmdG
b3JUZXh0TWFya2Vyczp0ZXh0TWFya2Vyc10gY3JlYXRlSlNTdHJpbmdSZWZdOwpAQCAtMTEwMCwy
MyArMTEwNSwyMyBAQCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6c3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKEFjY2VzcwogCiBSZWZQdHI8QWNjZXNzaWJp
bGl0eVRleHRNYXJrZXJSYW5nZT4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJh
bmdlRm9yTWFya2VycyhBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogc3RhcnRNYXJrZXIsIEFjY2Vz
c2liaWxpdHlUZXh0TWFya2VyKiBlbmRNYXJrZXIpCiB7Ci0gICAgTlNBcnJheSAqdGV4dE1hcmtl
cnMgPSBbTlNBcnJheSBhcnJheVdpdGhPYmplY3RzOihfX2JyaWRnZSBpZClzdGFydE1hcmtlci0+
cGxhdGZvcm1UZXh0TWFya2VyKCksIChfX2JyaWRnZSBpZCllbmRNYXJrZXItPnBsYXRmb3JtVGV4
dE1hcmtlcigpLCBuaWxdOworICAgIE5TQXJyYXkgKnRleHRNYXJrZXJzID0gW05TQXJyYXkgYXJy
YXlXaXRoT2JqZWN0czooaWQpc3RhcnRNYXJrZXItPnBsYXRmb3JtVGV4dE1hcmtlcigpLCAoaWQp
ZW5kTWFya2VyLT5wbGF0Zm9ybVRleHRNYXJrZXIoKSwgbmlsXTsKICAgICBpZCB0ZXh0TWFya2Vy
UmFuZ2UgPSBbbV9lbGVtZW50IHRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnM6dGV4dE1hcmtlcnNd
OwotICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlOjpjcmVhdGUoKF9fYnJp
ZGdlIFBsYXRmb3JtVGV4dE1hcmtlclJhbmdlKXRleHRNYXJrZXJSYW5nZSk7CisgICAgcmV0dXJu
IEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2U6OmNyZWF0ZSh0ZXh0TWFya2VyUmFuZ2UpOwog
fQogCiBSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnN0YXJ0VGV4dE1hcmtlckZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1h
cmtlclJhbmdlKiByYW5nZSkKIHsKLSAgICBpZCB0ZXh0TWFya2VycyA9IChfX2JyaWRnZSBpZCly
YW5nZS0+cGxhdGZvcm1UZXh0TWFya2VyUmFuZ2UoKTsKKyAgICBpZCB0ZXh0TWFya2VycyA9IChp
ZClyYW5nZS0+cGxhdGZvcm1UZXh0TWFya2VyUmFuZ2UoKTsKICAgICBpZCB0ZXh0TWFya2VyID0g
W21fZWxlbWVudCBzdGFydE9yRW5kVGV4dE1hcmtlckZvclRleHRNYXJrZXJzOnRleHRNYXJrZXJz
IGlzU3RhcnQ6WUVTXTsKLSAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRleHRNYXJrZXI6OmNyZWF0
ZSgoX19icmlkZ2UgUGxhdGZvcm1UZXh0TWFya2VyKXRleHRNYXJrZXIpOworICAgIHJldHVybiBB
Y2Nlc3NpYmlsaXR5VGV4dE1hcmtlcjo6Y3JlYXRlKHRleHRNYXJrZXIpOwogfQogCiBSZWZQdHI8
QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVuZFRleHRN
YXJrZXJGb3JUZXh0TWFya2VyUmFuZ2UoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSogcmFu
Z2UpCiB7Ci0gICAgaWQgdGV4dE1hcmtlcnMgPSAoX19icmlkZ2UgaWQpcmFuZ2UtPnBsYXRmb3Jt
VGV4dE1hcmtlclJhbmdlKCk7CisgICAgaWQgdGV4dE1hcmtlcnMgPSAoaWQpcmFuZ2UtPnBsYXRm
b3JtVGV4dE1hcmtlclJhbmdlKCk7CiAgICAgaWQgdGV4dE1hcmtlciA9IFttX2VsZW1lbnQgc3Rh
cnRPckVuZFRleHRNYXJrZXJGb3JUZXh0TWFya2Vyczp0ZXh0TWFya2VycyBpc1N0YXJ0Ok5PXTsK
LSAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRleHRNYXJrZXI6OmNyZWF0ZSgoX19icmlkZ2UgUGxh
dGZvcm1UZXh0TWFya2VyKXRleHRNYXJrZXIpOworICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VGV4
dE1hcmtlcjo6Y3JlYXRlKHRleHRNYXJrZXIpOwogfQogCiBSZWZQdHI8QWNjZXNzaWJpbGl0eVRl
eHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJrZXJGb3JCb3VuZHMo
aW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCkBAIC0xMTM2LDcgKzExNDEsNyBA
QCBSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnRleHRNYXJrZXJGb3JQb2ludChpbnQgeAogCiBSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWNjZXNzaWJpbGl0eUVsZW1lbnRGb3JUZXh0TWFy
a2VyKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiBtYXJrZXIpCiB7Ci0gICAgaWQgb2JqID0gW21f
ZWxlbWVudCBhY2Nlc3NpYmlsaXR5T2JqZWN0Rm9yVGV4dE1hcmtlcjooX19icmlkZ2UgaWQpbWFy
a2VyLT5wbGF0Zm9ybVRleHRNYXJrZXIoKV07CisgICAgaWQgb2JqID0gW21fZWxlbWVudCBhY2Nl
c3NpYmlsaXR5T2JqZWN0Rm9yVGV4dE1hcmtlcjooaWQpbWFya2VyLT5wbGF0Zm9ybVRleHRNYXJr
ZXIoKV07CiAgICAgaWYgKG9iaikKICAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmNyZWF0ZShvYmopOwogICAgIHJldHVybiBudWxscHRyOwpAQCAtMTIzNiw5ICsxMjQxLDkg
QEAgUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2U+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnRleHRNYXJrZXJSYW5nZU1hdGMKIHsKICAgICBOU0FycmF5ICp0ZXh0TWFya2VycyA9
IG5pbDsKICAgICBpZiAoc3RhcnRNYXJrZXItPnBsYXRmb3JtVGV4dE1hcmtlcigpICYmIGVuZE1h
cmtlci0+cGxhdGZvcm1UZXh0TWFya2VyKCkpCi0gICAgICAgIHRleHRNYXJrZXJzID0gW05TQXJy
YXkgYXJyYXlXaXRoT2JqZWN0czooX19icmlkZ2UgaWQpc3RhcnRNYXJrZXItPnBsYXRmb3JtVGV4
dE1hcmtlcigpLCAoX19icmlkZ2UgaWQpZW5kTWFya2VyLT5wbGF0Zm9ybVRleHRNYXJrZXIoKSwg
bmlsXTsKKyAgICAgICAgdGV4dE1hcmtlcnMgPSBbTlNBcnJheSBhcnJheVdpdGhPYmplY3RzOihp
ZClzdGFydE1hcmtlci0+cGxhdGZvcm1UZXh0TWFya2VyKCksIChpZCllbmRNYXJrZXItPnBsYXRm
b3JtVGV4dE1hcmtlcigpLCBuaWxdOwogICAgIGlkIHRleHRNYXJrZXJSYW5nZSA9IFttX2VsZW1l
bnQgdGV4dE1hcmtlclJhbmdlRnJvbU1hcmtlcnM6dGV4dE1hcmtlcnMgd2l0aFRleHQ6W05TU3Ry
aW5nIHN0cmluZ1dpdGhKU1N0cmluZ1JlZjp0ZXh0XV07Ci0gICAgcmV0dXJuIEFjY2Vzc2liaWxp
dHlUZXh0TWFya2VyUmFuZ2U6OmNyZWF0ZSgoX19icmlkZ2UgUGxhdGZvcm1UZXh0TWFya2VyUmFu
Z2UpdGV4dE1hcmtlclJhbmdlKTsKKyAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJS
YW5nZTo6Y3JlYXRlKHRleHRNYXJrZXJSYW5nZSk7CiB9CiAKIEpTUmV0YWluUHRyPEpTU3RyaW5n
UmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptYXRoUG9zdHNjcmlwdHNEZXNjcmlwdGlvbigp
IGNvbnN0CkBAIC0xMjUzLDcgKzEyNTgsNyBAQCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF0aFByZXNjcmlwdHNEZXNjcmlwdGlvbigpIGNvbgogCiBz
dGF0aWMgdm9pZCBfQ0dQYXRoRW51bWVyYXRpb25JdGVyYXRpb24odm9pZCAqaW5mbywgY29uc3Qg
Q0dQYXRoRWxlbWVudCAqZWxlbWVudCkKIHsKLSAgICBOU011dGFibGVTdHJpbmcgKnJlc3VsdCA9
IChfX2JyaWRnZSBOU011dGFibGVTdHJpbmcgKilpbmZvOworICAgIE5TTXV0YWJsZVN0cmluZyAq
cmVzdWx0ID0gKE5TTXV0YWJsZVN0cmluZyAqKWluZm87CiAgICAgc3dpdGNoIChlbGVtZW50LT50
eXBlKSB7CiAgICAgY2FzZSBrQ0dQYXRoRWxlbWVudE1vdmVUb1BvaW50OgogICAgICAgICBbcmVz
dWx0IGFwcGVuZFN0cmluZzpAIlx0TW92ZSB0byBwb2ludFxuIl07CkBAIC0xMjc3LDcgKzEyODIs
OSBAQCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGF0
aERlc2NyaXB0aW9uKCkgY29uc3QKIHsKICAgICBOU011dGFibGVTdHJpbmcgKnJlc3VsdCA9IFtO
U011dGFibGVTdHJpbmcgc3RyaW5nV2l0aFN0cmluZzpAIlxuU3RhcnQgUGF0aFxuIl07CiAgICAg
Q0dQYXRoUmVmIHBhdGhSZWYgPSBbbV9lbGVtZW50IF9hY2Nlc3NpYmlsaXR5UGF0aF07Ci0gICAg
Q0dQYXRoQXBwbHkocGF0aFJlZiwgKF9fYnJpZGdlIHZvaWQqKXJlc3VsdCwgX0NHUGF0aEVudW1l
cmF0aW9uSXRlcmF0aW9uKTsKKyAgICAKKyAgICBDR1BhdGhBcHBseShwYXRoUmVmLCByZXN1bHQs
IF9DR1BhdGhFbnVtZXJhdGlvbkl0ZXJhdGlvbik7CisgICAgCiAgICAgcmV0dXJuIFtyZXN1bHQg
Y3JlYXRlSlNTdHJpbmdSZWZdOwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlci5t
bSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb25IYW5kbGVyLm1tCmluZGV4IDVkZDAyZjdmNDA5YmM4ZDI2NTg5MDRiOGU4
ZWZjOWRkZmVhYjk1YjYuLmYzZWNiM2I0NjBkZTY3OTQwYjM2OTZiZWRkNGQ1OTVjMGJmNWUyZGIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0Fj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVy
Lm1tCkBAIC04Myw2ICs4Myw4IEBACiAKICAgICBKU1ZhbHVlVW5wcm90ZWN0KGNvbnRleHQsIG1f
bm90aWZpY2F0aW9uRnVuY3Rpb25DYWxsYmFjayk7CiAgICAgbV9ub3RpZmljYXRpb25GdW5jdGlv
bkNhbGxiYWNrID0gMDsKKworICAgIFtzdXBlciBkZWFsbG9jXTsKIH0KIAogLSAodm9pZClzZXRD
YWxsYmFjazooSlNWYWx1ZVJlZiljYWxsYmFjawpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbSBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRNYWMubW0KaW5kZXggNmNmNGU5ZjhjZDhhMGIxMjI2ZTk2NzIyYjVhMTU4N2Y1ZDVi
YmZhOS4uNzdkZmZiMzA2YTQ4MTNlZWE2OThjYTA5ZmExYzEzYjcxYjNhYTRkMCAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudE1hYy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCkBAIC05MSw2ICs5MSw4IEBAIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQoUGxhdGZvcm1VSUVs
ZW1lbnQgZWxlbWVudCkKICAgICA6IG1fZWxlbWVudChlbGVtZW50KQogICAgICwgbV9ub3RpZmlj
YXRpb25IYW5kbGVyKDApCiB7CisgICAgLy8gRklYTUU6IGFwQHdlYmtpdC5vcmcgc2F5cyBPYmpD
IG9iamVjdHMgbmVlZCB0byBiZSBDRlJldGFpbmVkL0NGUmVsZWFzZSB0byBiZSBHQy1jb21wbGlh
bnQgb24gdGhlIG1hYy4KKyAgICBbbV9lbGVtZW50IHJldGFpbl07CiB9CiAKIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQoY29uc3QgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudCYgb3RoZXIpCkBAIC05OCwxMiArMTAwLDE0IEBAIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQoY29uc3QgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCYg
b3RoCiAgICAgLCBtX2VsZW1lbnQob3RoZXIubV9lbGVtZW50KQogICAgICwgbV9ub3RpZmljYXRp
b25IYW5kbGVyKDApCiB7CisgICAgW21fZWxlbWVudCByZXRhaW5dOwogfQogCiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojp+QWNjZXNzaWJpbGl0eVVJRWxlbWVudCgpCiB7CiAgICAgLy8gVGhlIG5v
dGlmaWNhdGlvbiBoYW5kbGVyIHNob3VsZCBiZSBuaWwgYmVjYXVzZSByZW1vdmVOb3RpZmljYXRp
b25MaXN0ZW5lcigpIHNob3VsZCBoYXZlIGJlZW4gY2FsbGVkIGluIHRoZSB0ZXN0LgogICAgIEFT
U0VSVCghbV9ub3RpZmljYXRpb25IYW5kbGVyKTsKKyAgICBbbV9lbGVtZW50IHJlbGVhc2VdOwog
fQogCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRXF1YWwoQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudCogb3RoZXJFbGVtZW50KQpAQCAtMTU1NCw2ICsxNTU4LDcgQEAgYm9vbCBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpyZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcigpCiAgICAgQVNTRVJU
KG1fbm90aWZpY2F0aW9uSGFuZGxlcik7CiAKICAgICBbbV9ub3RpZmljYXRpb25IYW5kbGVyIHN0
b3BPYnNlcnZpbmddOworICAgIFttX25vdGlmaWNhdGlvbkhhbmRsZXIgcmVsZWFzZV07CiAgICAg
bV9ub3RpZmljYXRpb25IYW5kbGVyID0gbmlsOwogICAgIAogICAgIHJldHVybiB0cnVlOwpAQCAt
MTgyMiwxNSArMTgyNywxNiBAQCBSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6YWNjZXNzaWJpbGl0eUVsZW1lbnRGb3JUZQogCiBzdGF0aWMgSlNT
dHJpbmdSZWYgY3JlYXRlSlNTdHJpbmdSZWYoaWQgc3RyaW5nKQogewotICAgIGF1dG8gbXV0YWJs
ZVN0cmluZyA9IFtbTlNNdXRhYmxlU3RyaW5nIGFsbG9jXSBpbml0XTsKLSAgICBhdXRvIGF0dHJp
YnV0ZXMgPSBbc3RyaW5nIGF0dHJpYnV0ZXNBdEluZGV4OjAgZWZmZWN0aXZlUmFuZ2U6bmlsXTsK
LSAgICBhdXRvIGF0dHJpYnV0ZUVudW1lcmF0aW9uQmxvY2sgPSBeKE5TRGljdGlvbmFyeTxOU1N0
cmluZyAqLCBpZD4gKmF0dHJzLCBOU1JhbmdlIHJhbmdlLCBCT09MICpzdG9wKSB7CisgICAgaWQg
bXV0YWJsZVN0cmluZyA9IFtbW05TTXV0YWJsZVN0cmluZyBhbGxvY10gaW5pdF0gYXV0b3JlbGVh
c2VdOworICAgIGlkIGF0dHJpYnV0ZXMgPSBbc3RyaW5nIGF0dHJpYnV0ZXNBdEluZGV4OjAgZWZm
ZWN0aXZlUmFuZ2U6bmlsXTsKKyAgICBpZCBhdHRyaWJ1dGVFbnVtZXJhdGlvbkJsb2NrID0gXihO
U0RpY3Rpb25hcnk8TlNTdHJpbmcgKiwgaWQ+ICphdHRycywgTlNSYW5nZSByYW5nZSwgQk9PTCAq
c3RvcCkgewogICAgICAgICBCT09MIG1pc3NwZWxsZWQgPSBbW2F0dHJzIG9iamVjdEZvcktleTpO
U0FjY2Vzc2liaWxpdHlNaXNzcGVsbGVkVGV4dEF0dHJpYnV0ZV0gYm9vbFZhbHVlXTsKICAgICAg
ICAgaWYgKG1pc3NwZWxsZWQpCiAgICAgICAgICAgICBtaXNzcGVsbGVkID0gW1thdHRycyBvYmpl
Y3RGb3JLZXk6TlNBY2Nlc3NpYmlsaXR5TWFya2VkTWlzc3BlbGxlZFRleHRBdHRyaWJ1dGVdIGJv
b2xWYWx1ZV07CiAgICAgICAgIGlmIChtaXNzcGVsbGVkKQogICAgICAgICAgICAgW211dGFibGVT
dHJpbmcgYXBwZW5kU3RyaW5nOkAiTWlzc3BlbGxlZCwgIl07Ci0gICAgICAgIGlmIChpZCBmb250
ID0gW2F0dHJpYnV0ZXMgb2JqZWN0Rm9yS2V5OihfX2JyaWRnZSBpZClrQVhGb250VGV4dEF0dHJp
YnV0ZV0pCisgICAgICAgIGlkIGZvbnQgPSBbYXR0cmlidXRlcyBvYmplY3RGb3JLZXk6KF9fYnJp
ZGdlIGlkKWtBWEZvbnRUZXh0QXR0cmlidXRlXTsKKyAgICAgICAgaWYgKGZvbnQpCiAgICAgICAg
ICAgICBbbXV0YWJsZVN0cmluZyBhcHBlbmRGb3JtYXQ6QCIlQCAtICVALCAiLCAoX19icmlkZ2Ug
aWQpa0FYRm9udFRleHRBdHRyaWJ1dGUsIGZvbnRdOwogICAgIH07CiAgICAgW3N0cmluZyBlbnVt
ZXJhdGVBdHRyaWJ1dGVzSW5SYW5nZTpOU01ha2VSYW5nZSgwLCBbc3RyaW5nIGxlbmd0aF0pIG9w
dGlvbnM6KE5TQXR0cmlidXRlZFN0cmluZ0VudW1lcmF0aW9uT3B0aW9ucykwIHVzaW5nQmxvY2s6
YXR0cmlidXRlRW51bWVyYXRpb25CbG9ja107CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0KaW5kZXggYmNmMGM2MzdiYjAxNjAyZTcz
MjlhOTY2ODRmMzA2ODQzOWJhYTFkZS4uMjQwZWViNTJmMzA2Nzg0MTE3Y2E1YjhhOTZkOGUzZmM5
MzA3MTc5ZSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29u
dHJvbGxlckNvY29hLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENv
bnRyb2xsZXJDb2NvYS5tbQpAQCAtNTcsNiArNTcsNyBAQCBzdGF0aWMgV0tXZWJWaWV3Q29uZmln
dXJhdGlvbiAqZ2xvYmFsV2ViVmlld0NvbmZpZ3VyYXRpb247CiB2b2lkIGluaXRpYWxpemVXZWJW
aWV3Q29uZmlndXJhdGlvbihjb25zdCBjaGFyKiBsaWJyYXJ5UGF0aCwgV0tTdHJpbmdSZWYgaW5q
ZWN0ZWRCdW5kbGVQYXRoLCBXS0NvbnRleHRSZWYgY29udGV4dCwgV0tDb250ZXh0Q29uZmlndXJh
dGlvblJlZiBjb250ZXh0Q29uZmlndXJhdGlvbikKIHsKICNpZiBXS19BUElfRU5BQkxFRAorICAg
IFtnbG9iYWxXZWJWaWV3Q29uZmlndXJhdGlvbiByZWxlYXNlXTsKICAgICBnbG9iYWxXZWJWaWV3
Q29uZmlndXJhdGlvbiA9IFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF07CiAK
ICAgICBnbG9iYWxXZWJWaWV3Q29uZmlndXJhdGlvbi5wcm9jZXNzUG9vbCA9IChfX2JyaWRnZSBX
S1Byb2Nlc3NQb29sICopY29udGV4dDsKQEAgLTEwOCw2ICsxMDksNyBAQCB2b2lkIFRlc3RDb250
cm9sbGVyOjpjb2NvYVBsYXRmb3JtSW5pdGlhbGl6ZSgpCiAgICAgTlNEaWN0aW9uYXJ5ICpyZXNv
dXJjZUxvZ1BsaXN0ID0gW1tOU0RpY3Rpb25hcnkgYWxsb2NdIGluaXRXaXRoT2JqZWN0c0FuZEtl
eXM6IFtOU051bWJlciBudW1iZXJXaXRoSW50OjFdLCBAInZlcnNpb24iLCBuaWxdOwogICAgIGlm
ICghW3Jlc291cmNlTG9nUGxpc3Qgd3JpdGVUb0ZpbGU6ZnVsbEJyb3dzaW5nU2Vzc2lvblJlc291
cmNlTG9nIGF0b21pY2FsbHk6WUVTXSkKICAgICAgICAgV1RGQ3Jhc2goKTsKKyAgICBbcmVzb3Vy
Y2VMb2dQbGlzdCByZWxlYXNlXTsKIH0KIAogV0tDb250ZXh0UmVmIFRlc3RDb250cm9sbGVyOjpw
bGF0Zm9ybUNvbnRleHQoKQpAQCAtMTc2LDcgKzE3OCw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6
OnBsYXRmb3JtQ3JlYXRlV2ViVmlldyhXS1BhZ2VDb25maWd1cmF0aW9uUmVmLCBjb25zdCBUZXN0
T3B0CiBQbGF0Zm9ybVdlYlZpZXcqIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNyZWF0ZU90aGVy
UGFnZShQbGF0Zm9ybVdlYlZpZXcqIHBhcmVudFZpZXcsIFdLUGFnZUNvbmZpZ3VyYXRpb25SZWYs
IGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpb25zKQogewogI2lmIFdLX0FQSV9FTkFCTEVECi0gICAg
V0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqbmV3Q29uZmlndXJhdGlvbiA9IFtnbG9iYWxXZWJWaWV3
Q29uZmlndXJhdGlvbiBjb3B5XTsKKyAgICBXS1dlYlZpZXdDb25maWd1cmF0aW9uICpuZXdDb25m
aWd1cmF0aW9uID0gW1tnbG9iYWxXZWJWaWV3Q29uZmlndXJhdGlvbiBjb3B5XSBhdXRvcmVsZWFz
ZV07CiAgICAgbmV3Q29uZmlndXJhdGlvbi5fcmVsYXRlZFdlYlZpZXcgPSBzdGF0aWNfY2FzdDxX
S1dlYlZpZXcqPihwYXJlbnRWaWV3LT5wbGF0Zm9ybVZpZXcoKSk7CiAgICAgcmV0dXJuIG5ldyBQ
bGF0Zm9ybVdlYlZpZXcobmV3Q29uZmlndXJhdGlvbiwgb3B0aW9ucyk7CiAjZWxzZQpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3Lm1t
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3Lm1tCmlu
ZGV4IDg2YTYyODI2ODZjMjdmNjk5N2E3ZTRkZTI0ODAxODY5MTcyMDk2NjAuLjliYjUzY2Q5Y2Y4
NTNmY2VmNTcwYTE3ZjlhMmI4YWFhYTZhYzQ1OTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvY29jb2EvVGVzdFJ1bm5lcldLV2ViVmlldy5tbQorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcubW0KQEAgLTg0LDYgKzg0LDIyIEBA
CiAtICh2b2lkKWRlYWxsb2MKIHsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRD
ZW50ZXJdIHJlbW92ZU9ic2VydmVyOnNlbGZdOworCisgICAgc2VsZi5kaWRTdGFydEZvcm1Db250
cm9sSW50ZXJhY3Rpb25DYWxsYmFjayA9IG5pbDsKKyAgICBzZWxmLmRpZEVuZEZvcm1Db250cm9s
SW50ZXJhY3Rpb25DYWxsYmFjayA9IG5pbDsKKyAgICBzZWxmLmRpZFNob3dGb3JjZVByZXNzUHJl
dmlld0NhbGxiYWNrID0gbmlsOworICAgIHNlbGYuZGlkRGlzbWlzc0ZvcmNlUHJlc3NQcmV2aWV3
Q2FsbGJhY2sgPSBuaWw7CisgICAgc2VsZi53aWxsQmVnaW5ab29taW5nQ2FsbGJhY2sgPSBuaWw7
CisgICAgc2VsZi5kaWRFbmRab29taW5nQ2FsbGJhY2sgPSBuaWw7CisgICAgc2VsZi5kaWRTaG93
S2V5Ym9hcmRDYWxsYmFjayA9IG5pbDsKKyAgICBzZWxmLmRpZEhpZGVLZXlib2FyZENhbGxiYWNr
ID0gbmlsOworICAgIHNlbGYuZGlkRW5kU2Nyb2xsaW5nQ2FsbGJhY2sgPSBuaWw7CisgICAgc2Vs
Zi5yb3RhdGlvbkRpZEVuZENhbGxiYWNrID0gbmlsOworCisgICAgc2VsZi56b29tVG9TY2FsZUNv
bXBsZXRpb25IYW5kbGVyID0gbmlsOworICAgIHNlbGYucmV0cmlldmVTcGVha1NlbGVjdGlvbkNv
bnRlbnRDb21wbGV0aW9uSGFuZGxlciA9IG5pbDsKKworICAgIFtzdXBlciBkZWFsbG9jXTsKIH0K
IAogLSAodm9pZClkaWRTdGFydEZvcm1Db250cm9sSW50ZXJhY3Rpb24KZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL0dlbmVyYXRlZFRvdWNoZXNEZWJ1Z1dpbmRvdy5tbSBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL0dlbmVyYXRlZFRvdWNoZXNEZWJ1Z1dpbmRvdy5t
bQppbmRleCA0YjdiMmU2ZDFjMTk5ZTUzMjI2ZDIxYzNmMjU3MmYxODc3NDQxNmNkLi5mZDQzZjgw
YzhiZDA3YmRmMWM0NDQwNGUwMGJmMzVhZTRmYThhYTIzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL2lvcy9HZW5lcmF0ZWRUb3VjaGVzRGVidWdXaW5kb3cubW0KKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvR2VuZXJhdGVkVG91Y2hlc0RlYnVnV2luZG93Lm1tCkBA
IC01Myw2ICs1MywxMCBAQCBzdGF0aWMgY29uc3QgQ0dGbG9hdCBkZWJ1Z1RvdWNoRG90U2l6ZSA9
IGRlYnVnVG91Y2hEb3RSYWRpdXMgKiAyOwogLSAodm9pZClkZWFsbG9jCiB7CiAgICAgX2RlYnVn
VG91Y2hXaW5kb3cuaGlkZGVuID0gWUVTOworICAgIFtfZGVidWdUb3VjaFdpbmRvdyByZWxlYXNl
XTsKKyAgICBbX2RlYnVnVG91Y2hWaWV3cyByZWxlYXNlXTsKKyAgICAKKyAgICBbc3VwZXIgZGVh
bGxvY107CiB9CiAKIC0gKHZvaWQpdXBkYXRlRGVidWdJbmRpY2F0b3JGb3JUb3VjaDooTlNVSW50
ZWdlcilpbmRleCB3aXRoUG9pbnRJbldpbmRvd0Nvb3JkaW5hdGVzOihDR1BvaW50KXBvaW50IGlz
VG91Y2hpbmc6KEJPT0wpaXNUb3VjaGluZwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9pb3MvSElERXZlbnRHZW5lcmF0b3IubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lv
cy9ISURFdmVudEdlbmVyYXRvci5tbQppbmRleCBkMzk3MGM3YTk3OTY3YzU1ZWU5NDg0ZTFhMGRh
Njk1MzZmZmRlNTJkLi4yM2VlMzcwODJhZjBkOTNhMzAzMGU2YzRlYjVjMDU0MTk1ZmExY2Y5IDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9ISURFdmVudEdlbmVyYXRvci5t
bQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9ISURFdmVudEdlbmVyYXRvci5tbQpA
QCAtMTkxLDYgKzE5MSwxNSBAQCBzdGF0aWMgdm9pZCBkZWxheUJldHdlZW5Nb3ZlKGludCBldmVu
dEluZGV4LCBkb3VibGUgZWxhcHNlZCkKICAgICByZXR1cm4gc2VsZjsKIH0KIAorLSAodm9pZClk
ZWFsbG9jCit7CisgICAgW19ldmVudENhbGxiYWNrcyByZWxlYXNlXTsKKyAgICBbX2RlYnVnVG91
Y2hWaWV3cyByZWxlYXNlXTsKKyAgICBbc3VwZXIgZGVhbGxvY107Cit9CisKKworCiAtICh2b2lk
KV9zZW5kSU9ISURLZXlib2FyZEV2ZW50Oih1aW50NjRfdCl0aW1lc3RhbXAgdXNhZ2U6KHVpbnQz
Ml90KXVzYWdlIGlzS2V5RG93bjooYm9vbClpc0tleURvd24KIHsKICAgICBSZXRhaW5QdHI8SU9I
SURFdmVudFJlZj4gZXZlbnRSZWYgPSBhZG9wdENGKElPSElERXZlbnRDcmVhdGVLZXlib2FyZEV2
ZW50KGtDRkFsbG9jYXRvckRlZmF1bHQsCkBAIC00NzEsNyArNDgwLDcgQEAgc3RhdGljIEludGVy
cG9sYXRpb25UeXBlIGludGVycG9sYXRpb25Gcm9tU3RyaW5nKE5TU3RyaW5nICpzdHJpbmcpCiAt
IChCT09MKV9zZW5kTWFya2VySElERXZlbnRXaXRoQ29tcGxldGlvbkJsb2NrOih2b2lkICheKSh2
b2lkKSljb21wbGV0aW9uQmxvY2sKIHsKICAgICBhdXRvIGNhbGxiYWNrSUQgPSBbSElERXZlbnRH
ZW5lcmF0b3IgbmV4dEV2ZW50Q2FsbGJhY2tJRF07Ci0gICAgW19ldmVudENhbGxiYWNrcyBzZXRP
YmplY3Q6Y29tcGxldGlvbkJsb2NrIGZvcktleTpAKGNhbGxiYWNrSUQpXTsKKyAgICBbX2V2ZW50
Q2FsbGJhY2tzIHNldE9iamVjdDpCbG9ja19jb3B5KGNvbXBsZXRpb25CbG9jaykgZm9yS2V5OkAo
Y2FsbGJhY2tJRCldOwogCiAgICAgYXV0byBtYXJrZXJFdmVudCA9IGFkb3B0Q0YoSU9ISURFdmVu
dENyZWF0ZVZlbmRvckRlZmluZWRFdmVudChrQ0ZBbGxvY2F0b3JEZWZhdWx0LAogICAgICAgICBt
YWNoX2Fic29sdXRlX3RpbWUoKSwKQEAgLTc3Myw2ICs3ODIsNyBAQCBzdGF0aWMgSW50ZXJwb2xh
dGlvblR5cGUgaW50ZXJwb2xhdGlvbkZyb21TdHJpbmcoTlNTdHJpbmcgKnN0cmluZykKICAgICBp
ZiAoY29tcGxldGlvbkJsb2NrKSB7CiAgICAgICAgIFtfZXZlbnRDYWxsYmFja3MgcmVtb3ZlT2Jq
ZWN0Rm9yS2V5OkAoY2FsbGJhY2tJRCldOwogICAgICAgICBjb21wbGV0aW9uQmxvY2soKTsKKyAg
ICAgICAgQmxvY2tfcmVsZWFzZShjb21wbGV0aW9uQmxvY2spOwogICAgIH0KIH0KIApAQCAtMTAy
Niw2ICsxMDM2LDcgQEAgc3RhdGljIGlubGluZSB1aW50MzJfdCBoaWRVc2FnZUNvZGVGb3JDaGFy
YWN0ZXIoTlNTdHJpbmcgKmtleSkKICAgICAgICAgICAgICAgICAgICAgbmV3VG91Y2hbSElERXZl
bnRQcmVzc3VyZUtleV0gPSBAKGludGVycG9sYXRpb25zW2ludGVycG9sYXRpb25UeXBlXShbc3Rh
cnRUb3VjaFtISURFdmVudFByZXNzdXJlS2V5XSBkb3VibGVWYWx1ZV0sIFtlbmRUb3VjaFtISURF
dmVudFByZXNzdXJlS2V5XSBkb3VibGVWYWx1ZV0sIHRpbWVSYXRpbykpOwogICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgIFtuZXdUb3VjaGVzIGFkZE9iamVjdDpuZXdUb3VjaF07Cisg
ICAgICAgICAgICAgICAgW25ld1RvdWNoIHJlbGVhc2VdOwogICAgICAgICAgICAgfSBlbHNlCiAg
ICAgICAgICAgICAgICAgTlNMb2coQCJNaXNzaW5nIEVuZCBUb3VjaCB3aXRoIElEOiAlbGQiLCAo
bG9uZylzdGFydFRvdWNoSUQpOwogICAgICAgICB9CkBAIC0xMDMzLDYgKzEwNDQsNyBAQCBzdGF0
aWMgaW5saW5lIHVpbnQzMl90IGhpZFVzYWdlQ29kZUZvckNoYXJhY3RlcihOU1N0cmluZyAqa2V5
KQogICAgICAgICBuZXdFdmVudFtISURFdmVudFRvdWNoZXNLZXldID0gbmV3VG91Y2hlczsKICAg
ICAgICAgCiAgICAgICAgIFtpbnRlcnBvbGF0ZWRFdmVudHMgYWRkT2JqZWN0Om5ld0V2ZW50XTsK
KyAgICAgICAgW25ld0V2ZW50IHJlbGVhc2VdOwogICAgICAgICB0aW1lICs9IHRpbWVTdGVwOwog
ICAgIH0KICAgICAKQEAgLTExMDAsMTAgKzExMTIsMTAgQEAgc3RhdGljIGlubGluZSB1aW50MzJf
dCBoaWRVc2FnZUNvZGVGb3JDaGFyYWN0ZXIoTlNTdHJpbmcgKmtleSkKICAgICAKICAgICBOU0Rp
Y3Rpb25hcnkqIHRocmVhZERhdGEgPSBAewogICAgICAgICBAImV2ZW50SW5mbyI6IFtldmVudElu
Zm8gY29weV0sCi0gICAgICAgIEAiY29tcGxldGlvbkJsb2NrIjogW2NvbXBsZXRpb25CbG9jayBj
b3B5XQorICAgICAgICBAImNvbXBsZXRpb25CbG9jayI6IFtbY29tcGxldGlvbkJsb2NrIGNvcHld
IGF1dG9yZWxlYXNlXQogICAgIH07CiAgICAgCi0gICAgTlNUaHJlYWQgKmV2ZW50RGlzcGF0Y2hU
aHJlYWQgPSBbW05TVGhyZWFkIGFsbG9jXSBpbml0V2l0aFRhcmdldDpzZWxmIHNlbGVjdG9yOkBz
ZWxlY3RvcihldmVudERpc3BhdGNoVGhyZWFkRW50cnk6KSBvYmplY3Q6dGhyZWFkRGF0YV07Cisg
ICAgTlNUaHJlYWQgKmV2ZW50RGlzcGF0Y2hUaHJlYWQgPSBbW1tOU1RocmVhZCBhbGxvY10gaW5p
dFdpdGhUYXJnZXQ6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoZXZlbnREaXNwYXRjaFRocmVhZEVu
dHJ5Oikgb2JqZWN0OnRocmVhZERhdGFdIGF1dG9yZWxlYXNlXTsKICAgICBldmVudERpc3BhdGNo
VGhyZWFkLnF1YWxpdHlPZlNlcnZpY2UgPSBOU1F1YWxpdHlPZlNlcnZpY2VVc2VySW50ZXJhY3Rp
dmU7CiAgICAgW2V2ZW50RGlzcGF0Y2hUaHJlYWQgc3RhcnRdOwogfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvUGxhdGZvcm1XZWJWaWV3SU9TLm1tIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvUGxhdGZvcm1XZWJWaWV3SU9TLm1tCmluZGV4IDZkY2E4YjY5YjY4
YmExNzg1ZTU2NWZkNDlhY2VjMDg3N2Q4MzViNzkuLmUyMTk0ODU5ODUyNWI5YmRkMjc3YTBmMGJk
Y2Q4ZGIzNjcxNDk3NzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1Bs
YXRmb3JtV2ViVmlld0lPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9QbGF0
Zm9ybVdlYlZpZXdJT1MubW0KQEAgLTY5LDYgKzY5LDcgQEAgc3RhdGljIFZlY3RvcjxXZWJLaXRU
ZXN0UnVubmVyV2luZG93ICo+IGFsbFdpbmRvd3M7CiB7CiAgICAgYWxsV2luZG93cy5yZW1vdmVG
aXJzdChzZWxmKTsKICAgICBBU1NFUlQoIWFsbFdpbmRvd3MuY29udGFpbnMoc2VsZikpOworICAg
IFtzdXBlciBkZWFsbG9jXTsKIH0KIAogLSAoQk9PTClpc0tleVdpbmRvdwpAQCAtMTc1LDYgKzE3
Niw3IEBAIFBsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3KFdLV2ViVmlld0NvbmZpZ3Vy
YXRpb24qIGNvbmZpZ3VyYXRpb24sIGNvbnN0IFRlCiAKICAgICBVSVZpZXdDb250cm9sbGVyICp2
aWV3Q29udHJvbGxlciA9IFtbUGxhdGZvcm1XZWJWaWV3Q29udHJvbGxlciBhbGxvY10gaW5pdF07
CiAgICAgW21fd2luZG93IHNldFJvb3RWaWV3Q29udHJvbGxlcjp2aWV3Q29udHJvbGxlcl07Cisg
ICAgW3ZpZXdDb250cm9sbGVyIHJlbGVhc2VdOwogCiAgICAgbV92aWV3ID0gW1tUZXN0UnVubmVy
V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOnZpZXdSZWN0Rm9yV2luZG93UmVjdChyZWN0
LCBXZWJWaWV3U2l6aW5nTW9kZTo6RGVmYXVsdCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9u
XTsKIApAQCAtMTg1LDYgKzE4Nyw4IEBAIFBsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3
KFdLV2ViVmlld0NvbmZpZ3VyYXRpb24qIGNvbmZpZ3VyYXRpb24sIGNvbnN0IFRlCiBQbGF0Zm9y
bVdlYlZpZXc6On5QbGF0Zm9ybVdlYlZpZXcoKQogewogICAgIG1fd2luZG93LnBsYXRmb3JtV2Vi
VmlldyA9IG5pbDsKKyAgICBbbV92aWV3IHJlbGVhc2VdOworICAgIFttX3dpbmRvdyByZWxlYXNl
XTsKIH0KIAogUGxhdGZvcm1XaW5kb3cgUGxhdGZvcm1XZWJWaWV3OjprZXlXaW5kb3coKQpAQCAt
MjY2LDYgKzI3MCw3IEBAIHZvaWQgUGxhdGZvcm1XZWJWaWV3OjphZGRDaHJvbWVJbnB1dEZpZWxk
KCkKICAgICBVSVRleHRGaWVsZCogdGV4dEZpZWxkID0gW1tVSVRleHRGaWVsZCBhbGxvY10gaW5p
dFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDEwMCwgMjApXTsKICAgICB0ZXh0RmllbGQudGFn
ID0gMTsKICAgICBbbV93aW5kb3cgYWRkU3Vidmlldzp0ZXh0RmllbGRdOworICAgIFt0ZXh0Rmll
bGQgcmVsZWFzZV07CiB9CiAKIHZvaWQgUGxhdGZvcm1XZWJWaWV3OjpyZW1vdmVDaHJvbWVJbnB1
dEZpZWxkKCkKQEAgLTI3NCw2ICsyNzksNyBAQCB2b2lkIFBsYXRmb3JtV2ViVmlldzo6cmVtb3Zl
Q2hyb21lSW5wdXRGaWVsZCgpCiAgICAgaWYgKHRleHRGaWVsZCkgewogICAgICAgICBbdGV4dEZp
ZWxkIHJlbW92ZUZyb21TdXBlcnZpZXddOwogICAgICAgICBtYWtlV2ViVmlld0ZpcnN0UmVzcG9u
ZGVyKCk7CisgICAgICAgIFt0ZXh0RmllbGQgcmVsZWFzZV07CiAgICAgfQogfQogCmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbSBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1tCmluZGV4IDhkMmYw
ZTVlMzZiMjc4Mzc3MjY5OWIyOGQ1ZjRjMGZkNjYxN2Y4MmQuLmYyOGE5NDI5MGYzYWI5MmQzODBm
ZGZjMmU0MDVjNjg2N2Y2YjY3MDQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
aW9zL1Rlc3RDb250cm9sbGVySU9TLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9z
L1Rlc3RDb250cm9sbGVySU9TLm1tCkBAIC04NiwxMiArODYsMTIgQEAgdm9pZCBUZXN0Q29udHJv
bGxlcjo6cGxhdGZvcm1EZXN0cm95KCkKIHZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemVJ
bmplY3RlZEJ1bmRsZVBhdGgoKQogewogICAgIE5TU3RyaW5nICpuc0J1bmRsZVBhdGggPSBbW05T
QnVuZGxlIG1haW5CdW5kbGVdLmJ1aWx0SW5QbHVnSW5zUGF0aCBzdHJpbmdCeUFwcGVuZGluZ1Bh
dGhDb21wb25lbnQ6QCJXZWJLaXRUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGUuYnVuZGxlIl07Ci0g
ICAgbV9pbmplY3RlZEJ1bmRsZVBhdGguYWRvcHQoV0tTdHJpbmdDcmVhdGVXaXRoQ0ZTdHJpbmco
KF9fYnJpZGdlIENGU3RyaW5nUmVmKW5zQnVuZGxlUGF0aCkpOworICAgIG1faW5qZWN0ZWRCdW5k
bGVQYXRoLmFkb3B0KFdLU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5nKChDRlN0cmluZ1JlZiluc0J1
bmRsZVBhdGgpKTsKIH0KIAogdm9pZCBUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZVRlc3RQbHVn
aW5EaXJlY3RvcnkoKQogewotICAgIG1fdGVzdFBsdWdpbkRpcmVjdG9yeS5hZG9wdChXS1N0cmlu
Z0NyZWF0ZVdpdGhDRlN0cmluZygoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpW1tOU0J1bmRsZSBtYWlu
QnVuZGxlXSBidW5kbGVQYXRoXSkpOworICAgIG1fdGVzdFBsdWdpbkRpcmVjdG9yeS5hZG9wdChX
S1N0cmluZ0NyZWF0ZVdpdGhDRlN0cmluZygoQ0ZTdHJpbmdSZWYpW1tOU0J1bmRsZSBtYWluQnVu
ZGxlXSBidW5kbGVQYXRoXSkpOwogfQogCiB2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJl
c2V0UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCmluZGV4IGNjNDUxYWQ4NzJj
Y2M3NTU4M2I0YTg3ZjkyMTBhYmVmNDk5MTVmN2IuLjU5M2FmYzAzNWEzY2NjMjRiZTcwZTg4YWZm
MTA3YTdkMWEyMjY3YTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJ
U2NyaXB0Q29udHJvbGxlcklPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9V
SVNjcmlwdENvbnRyb2xsZXJJT1MubW0KQEAgLTEzNSw3ICsxMzUsNyBAQCB2b2lkIFVJU2NyaXB0
Q29udHJvbGxlcjo6cmV0cmlldmVTcGVha1NlbGVjdGlvbkNvbnRlbnQoSlNWYWx1ZVJlZiBjYWxs
YmFjaykKIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBVSVNjcmlwdENvbnRyb2xsZXI6OmFjY2Vz
c2liaWxpdHlTcGVha1NlbGVjdGlvbkNvbnRlbnQoKSBjb25zdAogewogICAgIFRlc3RSdW5uZXJX
S1dlYlZpZXcgKndlYlZpZXcgPSBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkubWFpbldlYlZp
ZXcoKS0+cGxhdGZvcm1WaWV3KCk7Ci0gICAgcmV0dXJuIGFkb3B0KEpTU3RyaW5nQ3JlYXRlV2l0
aENGU3RyaW5nKChfX2JyaWRnZSBDRlN0cmluZ1JlZil3ZWJWaWV3LmFjY2Vzc2liaWxpdHlTcGVh
a1NlbGVjdGlvbkNvbnRlbnQpKTsKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ0ZTdHJp
bmcoKENGU3RyaW5nUmVmKXdlYlZpZXcuYWNjZXNzaWJpbGl0eVNwZWFrU2VsZWN0aW9uQ29udGVu
dCk7CiB9CiAKIHZvaWQgVUlTY3JpcHRDb250cm9sbGVyOjpzaW11bGF0ZUFjY2Vzc2liaWxpdHlT
ZXR0aW5nc0NoYW5nZU5vdGlmaWNhdGlvbihKU1ZhbHVlUmVmIGNhbGxiYWNrKQpAQCAtMzM1LDcg
KzMzNSw3IEBAIHZvaWQgVUlTY3JpcHRDb250cm9sbGVyOjplbnRlclRleHQoSlNTdHJpbmdSZWYg
dGV4dCkKIHsKICAgICBUZXN0UnVubmVyV0tXZWJWaWV3ICp3ZWJWaWV3ID0gVGVzdENvbnRyb2xs
ZXI6OnNpbmdsZXRvbigpLm1haW5XZWJWaWV3KCktPnBsYXRmb3JtVmlldygpOwogICAgIGF1dG8g
dGV4dEFzQ0ZTdHJpbmcgPSBhZG9wdENGKEpTU3RyaW5nQ29weUNGU3RyaW5nKGtDRkFsbG9jYXRv
ckRlZmF1bHQsIHRleHQpKTsKLSAgICBbd2ViVmlldyBfc2ltdWxhdGVUZXh0RW50ZXJlZDooX19i
cmlkZ2UgTlNTdHJpbmcgKil0ZXh0QXNDRlN0cmluZy5nZXQoKV07CisgICAgW3dlYlZpZXcgX3Np
bXVsYXRlVGV4dEVudGVyZWQ6KE5TU3RyaW5nICopdGV4dEFzQ0ZTdHJpbmcuZ2V0KCldOwogfQog
CiB2b2lkIFVJU2NyaXB0Q29udHJvbGxlcjo6dHlwZUNoYXJhY3RlclVzaW5nSGFyZHdhcmVLZXli
b2FyZChKU1N0cmluZ1JlZiBjaGFyYWN0ZXIsIEpTVmFsdWVSZWYgY2FsbGJhY2spCkBAIC0zODMs
MTkgKzM4MywxOSBAQCB2b2lkIFVJU2NyaXB0Q29udHJvbGxlcjo6ZGlzbWlzc0Zvcm1BY2Nlc3Nv
cnlWaWV3KCkKIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBVSVNjcmlwdENvbnRyb2xsZXI6OnNl
bGVjdEZvcm1Qb3BvdmVyVGl0bGUoKSBjb25zdAogewogICAgIFRlc3RSdW5uZXJXS1dlYlZpZXcg
KndlYlZpZXcgPSBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkubWFpbldlYlZpZXcoKS0+cGxh
dGZvcm1WaWV3KCk7Ci0gICAgcmV0dXJuIGFkb3B0KEpTU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5n
KChfX2JyaWRnZSBDRlN0cmluZ1JlZil3ZWJWaWV3LnNlbGVjdEZvcm1Qb3BvdmVyVGl0bGUpKTsK
KyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ0ZTdHJpbmcoKENGU3RyaW5nUmVmKXdlYlZp
ZXcuc2VsZWN0Rm9ybVBvcG92ZXJUaXRsZSk7CiB9CiAKIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVm
PiBVSVNjcmlwdENvbnRyb2xsZXI6OnRleHRDb250ZW50VHlwZSgpIGNvbnN0CiB7CiAgICAgVGVz
dFJ1bm5lcldLV2ViVmlldyAqd2ViVmlldyA9IFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5t
YWluV2ViVmlldygpLT5wbGF0Zm9ybVZpZXcoKTsKLSAgICByZXR1cm4gYWRvcHQoSlNTdHJpbmdD
cmVhdGVXaXRoQ0ZTdHJpbmcoKF9fYnJpZGdlIENGU3RyaW5nUmVmKSh3ZWJWaWV3LnRleHRDb250
ZW50VHlwZUZvclRlc3RpbmcgPzogQCIiKSkpOworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdp
dGhDRlN0cmluZygoQ0ZTdHJpbmdSZWYpKHdlYlZpZXcudGV4dENvbnRlbnRUeXBlRm9yVGVzdGlu
ZyA/OiBAIiIpKTsKIH0KIAogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IFVJU2NyaXB0Q29udHJv
bGxlcjo6Zm9ybUlucHV0TGFiZWwoKSBjb25zdAogewogICAgIFRlc3RSdW5uZXJXS1dlYlZpZXcg
KndlYlZpZXcgPSBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkubWFpbldlYlZpZXcoKS0+cGxh
dGZvcm1WaWV3KCk7Ci0gICAgcmV0dXJuIGFkb3B0KEpTU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5n
KChfX2JyaWRnZSBDRlN0cmluZ1JlZil3ZWJWaWV3LmZvcm1JbnB1dExhYmVsKSk7CisgICAgcmV0
dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5nKChDRlN0cmluZ1JlZil3ZWJWaWV3LmZvcm1J
bnB1dExhYmVsKTsKIH0KIAogdm9pZCBVSVNjcmlwdENvbnRyb2xsZXI6OnNlbGVjdEZvcm1BY2Nl
c3NvcnlQaWNrZXJSb3cobG9uZyByb3dJbmRleCkKQEAgLTU3Myw3ICs1NzMsNyBAQCB2b2lkIFVJ
U2NyaXB0Q29udHJvbGxlcjo6cmVtb3ZlQWxsRHluYW1pY0RpY3Rpb25hcmllcygpCiBKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gVUlTY3JpcHRDb250cm9sbGVyOjpzY3JvbGxpbmdUcmVlQXNUZXh0
KCkgY29uc3QKIHsKICAgICBUZXN0UnVubmVyV0tXZWJWaWV3ICp3ZWJWaWV3ID0gVGVzdENvbnRy
b2xsZXI6OnNpbmdsZXRvbigpLm1haW5XZWJWaWV3KCktPnBsYXRmb3JtVmlldygpOwotICAgIHJl
dHVybiBhZG9wdChKU1N0cmluZ0NyZWF0ZVdpdGhDRlN0cmluZygoX19icmlkZ2UgQ0ZTdHJpbmdS
ZWYpW3dlYlZpZXcgX3Njcm9sbGluZ1RyZWVBc1RleHRdKSk7CisgICAgcmV0dXJuIEpTU3RyaW5n
Q3JlYXRlV2l0aENGU3RyaW5nKChDRlN0cmluZ1JlZilbd2ViVmlldyBfc2Nyb2xsaW5nVHJlZUFz
VGV4dF0pOwogfQogCiBKU09iamVjdFJlZiBVSVNjcmlwdENvbnRyb2xsZXI6OnByb3BlcnRpZXNP
ZkxheWVyV2l0aElEKHVpbnQ2NF90IGxheWVySUQpIGNvbnN0CmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMubW0gYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMubW0KaW5kZXggZGExM2U1MzRhMzQ3YzAz
YjlkNzBmYzhlZGRkMGRjYzQxNTk4NGZmZS4uZjZjYjJhMDhkNjQ1NzljZDQ0NGY4MjBhMzBhNjE0
OWYzODBkZmE2NSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvUGxhdGZv
cm1XZWJWaWV3TWFjLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3Jt
V2ViVmlld01hYy5tbQpAQCAtMTEwLDYgKzExMCw4IEBAIFBsYXRmb3JtV2ViVmlldzo6flBsYXRm
b3JtV2ViVmlldygpCiB7CiAgICAgbV93aW5kb3cucGxhdGZvcm1XZWJWaWV3ID0gbnVsbHB0cjsK
ICAgICBbbV93aW5kb3cgY2xvc2VdOworICAgIFttX3dpbmRvdyByZWxlYXNlXTsKKyAgICBbbV92
aWV3IHJlbGVhc2VdOwogfQogCiBQbGF0Zm9ybVdpbmRvdyBQbGF0Zm9ybVdlYlZpZXc6OmtleVdp
bmRvdygpCkBAIC0xNjEsNiArMTYzLDcgQEAgdm9pZCBQbGF0Zm9ybVdlYlZpZXc6OmFkZENocm9t
ZUlucHV0RmllbGQoKQogICAgIE5TVGV4dEZpZWxkICp0ZXh0RmllbGQgPSBbW05TVGV4dEZpZWxk
IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMTAwLCAyMCldOwogICAgIHRl
eHRGaWVsZC50YWcgPSAxOwogICAgIFtbbV93aW5kb3cgY29udGVudFZpZXddIGFkZFN1YnZpZXc6
dGV4dEZpZWxkXTsKKyAgICBbdGV4dEZpZWxkIHJlbGVhc2VdOwogCiAgICAgTlNWaWV3ICp2aWV3
ID0gcGxhdGZvcm1WaWV3KCk7CiAgICAgW3RleHRGaWVsZCBzZXROZXh0S2V5Vmlldzp2aWV3XTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9sbGVyTWFj
Lm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvVGVzdENvbnRyb2xsZXJNYWMubW0KaW5k
ZXggODNjNGM4MTkzOWNkMmY1N2E1ZThmNThmMThlNjkyOGQzYWQ4NTIwOS4uZjlkZDM5ZDliNzVi
ODI0MDg3ODFmNTk0NWEwYjc5ZjQzYjI2MmVlNyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9tYWMvVGVzdENvbnRyb2xsZXJNYWMubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9tYWMvVGVzdENvbnRyb2xsZXJNYWMubW0KQEAgLTE1NSw3ICsxNTUsNyBAQCB2b2lkIFRl
c3RDb250cm9sbGVyOjpwbGF0Zm9ybUNvbmZpZ3VyZVZpZXdGb3JUZXN0KGNvbnN0IFRlc3RJbnZv
Y2F0aW9uJiB0ZXN0KQogCiBzdGF0aWMgTlNTZXQgKmFsbG93ZWRGb250RmFtaWx5U2V0KCkKIHsK
LSAgICBzdGF0aWMgTlNTZXQgKmZvbnRGYW1pbHlTZXQgPSBbTlNTZXQgc2V0V2l0aE9iamVjdHM6
CisgICAgc3RhdGljIE5TU2V0ICpmb250RmFtaWx5U2V0ID0gW1tOU1NldCBzZXRXaXRoT2JqZWN0
czoKICAgICAgICAgQCJBaGVtIiwKICAgICAgICAgQCJBbCBCYXlhbiIsCiAgICAgICAgIEAiQW1l
cmljYW4gVHlwZXdyaXRlciIsCkBAIC0yNzcsMTYgKzI3NywxNiBAQCBzdGF0aWMgTlNTZXQgKmFs
bG93ZWRGb250RmFtaWx5U2V0KCkKICAgICAgICAgQCJXaW5nZGluZ3MiLAogICAgICAgICBAIlph
cGYgRGluZ2JhdHMiLAogICAgICAgICBAIlphcGZpbm8iLAotICAgICAgICBuaWxdOworICAgICAg
ICBuaWxdIHJldGFpbl07CiAKICAgICByZXR1cm4gZm9udEZhbWlseVNldDsKIH0KIAogc3RhdGlj
IE5TU2V0ICpzeXN0ZW1IaWRkZW5Gb250RmFtaWx5U2V0KCkKIHsKLSAgICBzdGF0aWMgTlNTZXQg
KmZvbnRGYW1pbHlTZXQgPSBbTlNTZXQgc2V0V2l0aE9iamVjdHM6CisgICAgc3RhdGljIE5TU2V0
ICpmb250RmFtaWx5U2V0ID0gW1tOU1NldCBzZXRXaXRoT2JqZWN0czoKICAgICAgICAgQCIuTHVj
aWRhR3JhbmRlVUkiLAotICAgICAgICBuaWxdOworICAgICAgICBuaWxdIHJldGFpbl07CiAKICAg
ICByZXR1cm4gZm9udEZhbWlseVNldDsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvbWFjL1dlYktpdFRlc3RSdW5uZXJEcmFnZ2luZ0luZm8ubW0gYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL21hYy9XZWJLaXRUZXN0UnVubmVyRHJhZ2dpbmdJbmZvLm1tCmluZGV4IGJjZWVi
ZWNlMWJmNDY3ODA1YWI3M2FjMWU1NTY2ZTQyMjRiNDAwMmUuLjU2NWRiMmYxMjRmOGYyYzMyNDhl
OWMzMjFiY2M4ZTljOGRkY2I4ZTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
bWFjL1dlYktpdFRlc3RSdW5uZXJEcmFnZ2luZ0luZm8ubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9tYWMvV2ViS2l0VGVzdFJ1bm5lckRyYWdnaW5nSW5mby5tbQpAQCAtNDEsMTUgKzQx
LDIzIEBAIHVzaW5nIG5hbWVzcGFjZSBXVFI7CiAgICAgaWYgKCFzZWxmKQogICAgICAgICByZXR1
cm4gbmlsOwogCi0gICAgX2RyYWdnZWRJbWFnZSA9IGltYWdlOwotICAgIF9kcmFnZ2luZ1Bhc3Rl
Ym9hcmQgPSBwYXN0ZWJvYXJkOwotICAgIF9kcmFnZ2luZ1NvdXJjZSA9IHNvdXJjZTsKKyAgICBf
ZHJhZ2dlZEltYWdlID0gW2ltYWdlIHJldGFpbl07CisgICAgX2RyYWdnaW5nUGFzdGVib2FyZCA9
IFtwYXN0ZWJvYXJkIHJldGFpbl07CisgICAgX2RyYWdnaW5nU291cmNlID0gW3NvdXJjZSByZXRh
aW5dOwogICAgIF9vZmZzZXQgPSBvZmZzZXQ7CiAgICAgCiAgICAgcmV0dXJuIHNlbGY7CiB9CiAK
LS0gKE5TV2luZG93ICopZHJhZ2dpbmdEZXN0aW5hdGlvbldpbmRvdworLSAodm9pZClkZWFsbG9j
Cit7CisgICAgW19kcmFnZ2VkSW1hZ2UgcmVsZWFzZV07CisgICAgW19kcmFnZ2luZ1Bhc3RlYm9h
cmQgcmVsZWFzZV07CisgICAgW19kcmFnZ2luZ1NvdXJjZSByZWxlYXNlXTsKKyAgICBbc3VwZXIg
ZGVhbGxvY107Cit9CisKKy0gKE5TV2luZG93ICopZHJhZ2dpbmdEZXN0aW5hdGlvbldpbmRvdyAK
IHsKICAgICByZXR1cm4gW1Rlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5tYWluV2ViVmlldygp
LT5wbGF0Zm9ybVZpZXcoKSB3aW5kb3ddOwogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9tYWMvV2ViS2l0VGVzdFJ1bm5lclBhc3RlYm9hcmQubW0gYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL21hYy9XZWJLaXRUZXN0UnVubmVyUGFzdGVib2FyZC5tbQppbmRleCAxZDYzOTI5
MWEyN2I1NDAzNjA0M2FjOTEzOTVjYmJiYmQ1ZTg4YzYyLi41ZTVjYWM0ZTdjZmIxMTkwZjgwMzhl
NmU4YTcyOTBlOTJjMWFhZmE3IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21h
Yy9XZWJLaXRUZXN0UnVubmVyUGFzdGVib2FyZC5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL21hYy9XZWJLaXRUZXN0UnVubmVyUGFzdGVib2FyZC5tbQpAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAxOCBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA1LTIwMTggQXBwbGUsIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgR3JhaGFtIERlbm5pcyAoZ3JhaGFtLmRl
bm5pc0BnbWFpbC5jb20pCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgRXJpYyBTZWlkZWwgPGVyaWNA
d2Via2l0Lm9yZz4KICAqCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiV2ViS2l0VGVzdFJ1bm5lclBhc3RlYm9hcmQuaCIKIAorI2luY2x1ZGUgPG9iamMv
cnVudGltZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogQGludGVyZmFjZSBMb2Nh
bFBhc3RlYm9hcmQgOiBOU1Bhc3RlYm9hcmQKQEAgLTQyLDExICs0Myw2IEBACiAtKGlkKWluaXRX
aXRoTmFtZTooTlNTdHJpbmcgKiluYW1lOwogQGVuZAogCi1AaW50ZXJmYWNlIE5TUGFzdGVib2Fy
ZCAoU3VwZXJIZWxwZXJzKQotKyAoaW5zdGFuY2V0eXBlKXN1cGVyQWxsb2M7Ci0rIChpbnN0YW5j
ZXR5cGUpc3VwZXJBbGxvY1dpdGhab25lOihOU1pvbmUgKil6b25lOwotQGVuZAotCiBzdGF0aWMg
TlNNdXRhYmxlRGljdGlvbmFyeSAqbG9jYWxQYXN0ZWJvYXJkczsKIAogQGltcGxlbWVudGF0aW9u
IFdlYktpdFRlc3RSdW5uZXJQYXN0ZWJvYXJkCkBAIC02NCw2ICs2MCw3IEBAIHN0YXRpYyBOU011
dGFibGVEaWN0aW9uYXJ5ICpsb2NhbFBhc3RlYm9hcmRzOwogICAgICAgICByZXR1cm4gcGFzdGVi
b2FyZDsKICAgICBwYXN0ZWJvYXJkID0gW1tMb2NhbFBhc3RlYm9hcmQgYWxsb2NdIGluaXRXaXRo
TmFtZTpuYW1lXTsKICAgICBbbG9jYWxQYXN0ZWJvYXJkcyBzZXRPYmplY3Q6cGFzdGVib2FyZCBm
b3JLZXk6bmFtZV07CisgICAgW3Bhc3RlYm9hcmQgcmVsZWFzZV07CiAgICAgcmV0dXJuIHBhc3Rl
Ym9hcmQ7CiB9CiAKQEAgLTc1LDYgKzcyLDcgQEAgc3RhdGljIE5TTXV0YWJsZURpY3Rpb25hcnkg
KmxvY2FsUGFzdGVib2FyZHM7CiAKICsgKHZvaWQpcmVsZWFzZUxvY2FsUGFzdGVib2FyZHMKIHsK
KyAgICBbbG9jYWxQYXN0ZWJvYXJkcyByZWxlYXNlXTsKICAgICBsb2NhbFBhc3RlYm9hcmRzID0g
bmlsOwogfQogCkBAIC04NywzMiArODUsMTIgQEAgc3RhdGljIE5TTXV0YWJsZURpY3Rpb25hcnkg
KmxvY2FsUGFzdGVib2FyZHM7CiAKIEBlbmQKIAotQGltcGxlbWVudGF0aW9uIE5TUGFzdGVib2Fy
ZCAoU3VwZXJIZWxwZXJzKQotCi0rIChpbnN0YW5jZXR5cGUpc3VwZXJBbGxvYwotewotICAgIHJl
dHVybiBbc3VwZXIgYWxsb2NdOwotfQotCi0rIChpbnN0YW5jZXR5cGUpc3VwZXJBbGxvY1dpdGha
b25lOihOU1pvbmUgKil6b25lCi17Ci0gICAgcmV0dXJuIFtzdXBlciBhbGxvY1dpdGhab25lOnpv
bmVdOwotfQotCi1AZW5kCi0KIEBpbXBsZW1lbnRhdGlvbiBMb2NhbFBhc3RlYm9hcmQKIAogKyAo
aWQpYWxsb2MKIHsKICAgICAvLyBOZWVkIHRvIHNraXAgb3ZlciBbTlNQYXN0ZWJvYXJkIGFsbG9j
XSwgd2hpY2ggd29uJ3QgYWxsb2NhdGUgYSBuZXcgb2JqZWN0LgotICAgIHJldHVybiBbc2VsZiBz
dXBlckFsbG9jXTsKLX0KLQotKyAoaWQpYWxsb2NXaXRoWm9uZTooTlNab25lICopem9uZQotewot
ICAgIC8vIE5lZWQgdG8gc2tpcCBvdmVyIFtOU1Bhc3RlYm9hcmQgYWxsb2NXaXRoWm9uZTpdLCB3
aGljaCB3b24ndCBhbGxvY2F0ZSBhIG5ldyBvYmplY3QuCi0gICAgcmV0dXJuIFtzZWxmIHN1cGVy
QWxsb2NXaXRoWm9uZTp6b25lXTsKKyAgICByZXR1cm4gY2xhc3NfY3JlYXRlSW5zdGFuY2Uoc2Vs
ZiwgMCk7CiB9CiAKIC0gKGlkKWluaXRXaXRoTmFtZTooTlNTdHJpbmcgKiluYW1lCkBAIC0xMjcs
NiArMTA1LDE1IEBAIHN0YXRpYyBOU011dGFibGVEaWN0aW9uYXJ5ICpsb2NhbFBhc3RlYm9hcmRz
OwogICAgIHJldHVybiBzZWxmOwogfQogCistICh2b2lkKWRlYWxsb2MKK3sKKyAgICBbdHlwZXNB
cnJheSByZWxlYXNlXTsKKyAgICBbdHlwZXNTZXQgcmVsZWFzZV07CisgICAgW2RhdGFCeVR5cGUg
cmVsZWFzZV07CisgICAgW3Bhc3RlYm9hcmROYW1lIHJlbGVhc2VdOworICAgIFtzdXBlciBkZWFs
bG9jXTsKK30KKwogLSAoTlNTdHJpbmcgKiluYW1lCiB7CiAgICAgcmV0dXJuIHBhc3RlYm9hcmRO
YW1lOwpAQCAtMTU1LDYgKzE0Miw3IEBAIHN0YXRpYyBOU011dGFibGVEaWN0aW9uYXJ5ICpsb2Nh
bFBhc3RlYm9hcmRzOwogICAgICAgICAgICAgc2V0VHlwZSA9IFt0eXBlIGNvcHldOwogICAgICAg
ICAgICAgW3R5cGVzQXJyYXkgYWRkT2JqZWN0OnNldFR5cGVdOwogICAgICAgICAgICAgW3R5cGVz
U2V0IGFkZE9iamVjdDpzZXRUeXBlXTsKKyAgICAgICAgICAgIFtzZXRUeXBlIHJlbGVhc2VdOwog
ICAgICAgICB9CiAgICAgICAgIGlmIChuZXdPd25lciAmJiBbbmV3T3duZXIgcmVzcG9uZHNUb1Nl
bGVjdG9yOkBzZWxlY3RvcihwYXN0ZWJvYXJkOnByb3ZpZGVEYXRhRm9yVHlwZTopXSkKICAgICAg
ICAgICAgIFtuZXdPd25lciBwYXN0ZWJvYXJkOnNlbGYgcHJvdmlkZURhdGFGb3JUeXBlOnNldFR5
cGVdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvV2ViS2l0VGVzdFJ1
bm5lcldpbmRvdy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1dlYktpdFRlc3RSdW5u
ZXJXaW5kb3cubW0KaW5kZXggYTVhMTg0MzM2ZTY5ZmFlNjdiNGI1ZWY1ZjI2ZTdiYWFlNmQ1YTUx
Yi4uYjQ1OTk1YTFhZWMyNjEyNjVkNWZjOGY5M2FiMzM0MzMwNDFhNDE3MSAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvV2ViS2l0VGVzdFJ1bm5lcldpbmRvdy5tbQorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9XZWJLaXRUZXN0UnVubmVyV2luZG93Lm1tCkBA
IC01NCw2ICs1NCw3IEBAIHN0YXRpYyBWZWN0b3I8V2ViS2l0VGVzdFJ1bm5lcldpbmRvdyAqPiBh
bGxXaW5kb3dzOwogewogICAgIGFsbFdpbmRvd3MucmVtb3ZlRmlyc3Qoc2VsZik7CiAgICAgQVNT
RVJUKCFhbGxXaW5kb3dzLmNvbnRhaW5zKHNlbGYpKTsKKyAgICBbc3VwZXIgZGVhbGxvY107CiB9
CiAKIC0gKEJPT0wpaXNLZXlXaW5kb3cKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvbWFjL21haW4ubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9tYWluLm1tCmluZGV4
IDliNWE5ZjkzYWM3M2Q4ZGRjM2NjNDFhMGU4YWI1ZjdhODU2ZGE2NWMuLmMxMTJjYjExYzAzNTk0
MTk1YjhlZmY1ZTc5ZTM1NWEwZWU2MzJmYWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvbWFjL21haW4ubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvbWFpbi5t
bQpAQCAtNTMsNyArNTMsNyBAQCBzdGF0aWMgdm9pZCBzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZh
bHVlc0ZvclRlc3RpbmcoKQogc3RhdGljIHZvaWQgZGlzYWJsZUFwcE5hcEluVUlQcm9jZXNzKCkK
IHsKICAgICBOU0FjdGl2aXR5T3B0aW9ucyBvcHRpb25zID0gKE5TQWN0aXZpdHlVc2VySW5pdGlh
dGVkQWxsb3dpbmdJZGxlU3lzdGVtU2xlZXAgfCBOU0FjdGl2aXR5TGF0ZW5jeUNyaXRpY2FsKSAm
IH4oTlNBY3Rpdml0eVN1ZGRlblRlcm1pbmF0aW9uRGlzYWJsZWQgfCBOU0FjdGl2aXR5QXV0b21h
dGljVGVybWluYXRpb25EaXNhYmxlZCk7Ci0gICAgc3RhdGljIGlkIGFzc2VydGlvbiA9IFtbTlNQ
cm9jZXNzSW5mbyBwcm9jZXNzSW5mb10gYmVnaW5BY3Rpdml0eVdpdGhPcHRpb25zOm9wdGlvbnMg
cmVhc29uOkAiV2ViS2l0VGVzdFJ1bm5lciBzaG91bGQgbm90IGJlIHN1YmplY3QgdG8gcHJvY2Vz
cyBzdXBwcmVzc2lvbiJdOworICAgIHN0YXRpYyBpZCBhc3NlcnRpb24gPSBbW1tOU1Byb2Nlc3NJ
bmZvIHByb2Nlc3NJbmZvXSBiZWdpbkFjdGl2aXR5V2l0aE9wdGlvbnM6b3B0aW9ucyByZWFzb246
QCJXZWJLaXRUZXN0UnVubmVyIHNob3VsZCBub3QgYmUgc3ViamVjdCB0byBwcm9jZXNzIHN1cHBy
ZXNzaW9uIl0gcmV0YWluXTsKICAgICBBU1NFUlRfVU5VU0VEKGFzc2VydGlvbiwgYXNzZXJ0aW9u
KTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>