<?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>217217</bug_id>
          
          <creation_ts>2020-10-02 04:37:32 -0700</creation_ts>
          <short_desc>WebDriver: several issues when switching to new browser context</short_desc>
          <delta_ts>2020-10-02 23:27:17 -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>WebDriver</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>166679</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aperez</cc>
    
    <cc>bburg</cc>
    
    <cc>clopez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1694037</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-10-02 04:37:32 -0700</bug_when>
    <thetext>There are several issues to fix when switching to a browser context:

 1- The spec has changed and now we should always keep the current parent browsing context.
 2- The spec says we should focus the new frame after switching to a frame or parent frame, but we are just resolving the frame and updating the handle internally.
 3- We are keeping stale frame handles and ids in the automation session, they should be removed when frames are destroyed.
 4- We are clearing all frame references in the automation session when a navigation happens in any main frame. We should only clear the frames of the page that completed the navigation.

All theses cases are covered by new tests added to imported/w3c/webdriver/tests/switch_to_parent_frame/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694049</commentid>
    <comment_count>1</comment_count>
      <attachid>410315</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-10-02 04:56:11 -0700</bug_when>
    <thetext>Created attachment 410315
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694122</commentid>
    <comment_count>2</comment_count>
      <attachid>410315</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-10-02 10:03:35 -0700</bug_when>
    <thetext>Comment on attachment 410315
Patch

r=me, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694370</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-10-02 23:26:18 -0700</bug_when>
    <thetext>Committed r267918: &lt;https://trac.webkit.org/changeset/267918&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694371</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-02 23:27:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/69908860&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410315</attachid>
            <date>2020-10-02 04:56:11 -0700</date>
            <delta_ts>2020-10-02 10:03:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wd-current-parent-browsing-context.diff</filename>
            <type>text/plain</type>
            <size>21416</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJEcml2ZXIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkRyaXZl
ci9DaGFuZ2VMb2cKaW5kZXggNWYzY2JmN2JjN2Y1Li4wNzdjMjY3ZjlhNmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJEcml2ZXIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJEcml2ZXIvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMjAtMTAtMDIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8
Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFdlYkRyaXZlcjogc2V2ZXJhbCBpc3N1ZXMg
d2hlbiBzd2l0Y2hpbmcgdG8gbmV3IGJyb3dzZXIgY29udGV4dAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3MjE3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgYXJlIHNldmVyYWwgaXNzdWVzIHRv
IGZpeCB3aGVuIHN3aXRjaGluZyB0byBhIGJyb3dzZXIgY29udGV4dDoKKworICAgICAgICAgIDEt
IFRoZSBzcGVjIGhhcyBjaGFuZ2VkIGFuZCBub3cgd2Ugc2hvdWxkIGFsd2F5cyBrZWVwIHRoZSBj
dXJyZW50IHBhcmVudCBicm93c2luZyBjb250ZXh0LgorICAgICAgICAgIDItIFRoZSBzcGVjIHNh
eXMgd2Ugc2hvdWxkIGZvY3VzIHRoZSBuZXcgZnJhbWUgYWZ0ZXIgc3dpdGNoaW5nIHRvIGEgZnJh
bWUgb3IgcGFyZW50IGZyYW1lLCBidXQgd2UgYXJlIGp1c3QKKyAgICAgICAgICAgICByZXNvbHZp
bmcgdGhlIGZyYW1lIGFuZCB1cGRhdGluZyB0aGUgaGFuZGxlIGludGVybmFsbHkuCisgICAgICAg
ICAgMy0gV2UgYXJlIGtlZXBpbmcgc3RhbGUgZnJhbWUgaGFuZGxlcyBhbmQgaWRzIGluIHRoZSBh
dXRvbWF0aW9uIHNlc3Npb24sIHRoZXkgc2hvdWxkIGJlIHJlbW92ZWQgd2hlbiBmcmFtZXMKKyAg
ICAgICAgICAgICBhcmUgZGVzdHJveWVkLgorICAgICAgICAgIDQtIFdlIGFyZSBjbGVhcmluZyBh
bGwgZnJhbWUgcmVmZXJlbmNlcyBpbiB0aGUgYXV0b21hdGlvbiBzZXNzaW9uIHdoZW4gYSBuYXZp
Z2F0aW9uIGhhcHBlbnMgaW4gYW55IG1haW4KKyAgICAgICAgICAgICBmcmFtZS4gV2Ugc2hvdWxk
IG9ubHkgY2xlYXIgdGhlIGZyYW1lcyBvZiB0aGUgcGFnZSB0aGF0IGNvbXBsZXRlZCB0aGUgbmF2
aWdhdGlvbi4KKworICAgICAgICBBbGwgdGhlc2VzIGNhc2VzIGFyZSBjb3ZlcmVkIGJ5IG5ldyB0
ZXN0cyBhZGRlZCB0byBpbXBvcnRlZC93M2Mvd2ViZHJpdmVyL3Rlc3RzL3N3aXRjaF90b19wYXJl
bnRfZnJhbWUvCisKKyAgICAgICAgKiBTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkRyaXZlcjo6
U2Vzc2lvbjo6Y2xvc2UpOiBDbG9zZSB0aGUgY3VycmVudCBwYXJlbnQgYnJvd3NpbmcgY29udGV4
dCB0b28uCisgICAgICAgIChXZWJEcml2ZXI6OlNlc3Npb246OnN3aXRjaFRvVG9wTGV2ZWxCcm93
c2luZ0NvbnRleHQpOiBJbml0aWFsaXplIHRoZSBjdXJyZW50IHBhcmVudCBicm93c2luZyBjb250
ZXh0IHRvby4KKyAgICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lvbjo6c3dpdGNoVG9Ccm93c2luZ0Nv
bnRleHQpOiBSZXNvbHZlIHRoZSBwYXJlbnQgZnJhbWUgaGFuZGxlIGFuZCBzZXQgdGhlIGN1cnJl
bnQgcGFyZW50IGJyb3dzaW5nIGNvbnRleHQuCisgICAgICAgIChXZWJEcml2ZXI6OlNlc3Npb246
OmdvKTogUGFzcyBjb21wbGV0aW9uIGhhbmRsZXIgdG8gc3dpdGNoVG9Ccm93c2luZ0NvbnRleHQo
KS4KKyAgICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lvbjo6YmFjayk6IERpdHRvLgorICAgICAgICAo
V2ViRHJpdmVyOjpTZXNzaW9uOjpmb3J3YXJkKTogRGl0dG8uCisgICAgICAgIChXZWJEcml2ZXI6
OlNlc3Npb246OnJlZnJlc2gpOiBEaXR0by4KKyAgICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lvbjo6
Y2xvc2VXaW5kb3cpOiBDbG9zZSB0aGUgY3VycmVudCBwYXJlbnQgYnJvd3NpbmcgY29udGV4dCB0
b28uCisgICAgICAgIChXZWJEcml2ZXI6OlNlc3Npb246OnN3aXRjaFRvQnJvd3NpbmdDb250ZXh0
KTogU2VuZCBzd2l0Y2hUb0Jyb3dzaW5nQ29udGV4dCBtZXNzYWdlIHRvIHRoZSBicm93c2VyLgor
ICAgICAgICAoV2ViRHJpdmVyOjpTZXNzaW9uOjpzd2l0Y2hUb1dpbmRvdyk6IFVzZSBzd2l0Y2hU
b0Jyb3dzaW5nQ29udGV4dCgpIHRvIHNlbmQgdGhlIG1lc3NhZ2UgdG8gdGhlIGJyb3dzZXIuCisg
ICAgICAgIChXZWJEcml2ZXI6OlNlc3Npb246OnN3aXRjaFRvRnJhbWUpOiBDYWxsIHN3aXRjaFRv
QnJvd3NpbmdDb250ZXh0KCkgYWZ0ZXIgdGhlIGNoaWxkIGZyYW1lIGhhbmRsZSBpcyByZXNvbHZl
ZC4KKyAgICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lvbjo6c3dpdGNoVG9QYXJlbnRGcmFtZSk6IENo
ZWNrIGN1cnJlbnQgcGFyZW50IGJyb3dzaW5nIGNvbnRleHQgaXMgc3RpbGwgb3BlbiBhbmQgY2Fs
bAorICAgICAgICBzd2l0Y2hUb0Jyb3dzaW5nQ29udGV4dCgpIHRvIHN3aXRjaCB0byB0aGUgY3Vy
cmVudCBwYXJlbnQgYnJvd3NpbmcgY29udGV4dC4KKyAgICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lv
bjo6d2FpdEZvck5hdmlnYXRpb25Ub0NvbXBsZXRlKTogQ2xvc2UgdGhlIGN1cnJlbnQgcGFyZW50
IGJyb3dzaW5nIGNvbnRleHQgdG9vIHdoZW4gdGhlIHdpbmRvdworICAgICAgICBpcyBjbG9zZWQg
ZHVlIHRvIHRoZSBuYXZpZ2F0aW9uLgorICAgICAgICAqIFNlc3Npb24uaDogQWRkIG1fY3VycmVu
dFBhcmVudEJyb3dzaW5nQ29udGV4dC4KKwogMjAyMC0xMC0wMSAgQ2FybG9zIEdhcmNpYSBDYW1w
b3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgV2ViRHJpdmVyOiBjaGVjayB0aGUg
cmlnaHQgYnJvd3NlciBjb250ZXh0IGlzIG9wZW4gaW4gYWxsIGNvbW1hbmRzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViRHJpdmVyL1Nlc3Npb24uY3BwIGIvU291cmNlL1dlYkRyaXZlci9TZXNzaW9u
LmNwcAppbmRleCBmMmM2MjMyMTkzMGMuLjI5M2I5MjJhYTRmMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkRyaXZlci9TZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViRHJpdmVyL1Nlc3Npb24uY3Bw
CkBAIC0xMTEsNiArMTExLDcgQEAgdm9pZCBTZXNzaW9uOjpjbG9zZShGdW5jdGlvbjx2b2lkIChD
b21tYW5kUmVzdWx0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIG1fdG9wbGV2ZWxC
cm93c2luZ0NvbnRleHQgPSBXVEY6Om51bGxvcHQ7CiAgICAgbV9jdXJyZW50QnJvd3NpbmdDb250
ZXh0ID0gV1RGOjpudWxsb3B0OworICAgIG1fY3VycmVudFBhcmVudEJyb3dzaW5nQ29udGV4dCA9
IFdURjo6bnVsbG9wdDsKICAgICBnZXRXaW5kb3dIYW5kbGVzKFt0aGlzLCBjb21wbGV0aW9uSGFu
ZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShDb21tYW5kUmVzdWx0JiYgcmVzdWx0
KSBtdXRhYmxlIHsKICAgICAgICAgaWYgKHJlc3VsdC5pc0Vycm9yKCkpIHsKICAgICAgICAgICAg
IGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUocmVzdWx0KSk7CkBAIC0xNTEsMTEgKzE1MiwyNiBA
QCB2b2lkIFNlc3Npb246OnN3aXRjaFRvVG9wTGV2ZWxCcm93c2luZ0NvbnRleHQoY29uc3QgU3Ry
aW5nJiB0b3BsZXZlbEJyb3dzaW5nQ29udAogewogICAgIG1fdG9wbGV2ZWxCcm93c2luZ0NvbnRl
eHQgPSB0b3BsZXZlbEJyb3dzaW5nQ29udGV4dDsKICAgICBtX2N1cnJlbnRCcm93c2luZ0NvbnRl
eHQgPSBTdHJpbmcoKTsKKyAgICBtX2N1cnJlbnRQYXJlbnRCcm93c2luZ0NvbnRleHQgPSBTdHJp
bmcoKTsKIH0KIAotdm9pZCBTZXNzaW9uOjpzd2l0Y2hUb0Jyb3dzaW5nQ29udGV4dChjb25zdCBT
dHJpbmcmIGJyb3dzaW5nQ29udGV4dCkKK3ZvaWQgU2Vzc2lvbjo6c3dpdGNoVG9Ccm93c2luZ0Nv
bnRleHQoY29uc3QgU3RyaW5nJiBicm93c2luZ0NvbnRleHQsIEZ1bmN0aW9uPHZvaWQoQ29tbWFu
ZFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBtX2N1cnJlbnRCcm93c2lu
Z0NvbnRleHQgPSBicm93c2luZ0NvbnRleHQ7CisgICAgaWYgKGJyb3dzaW5nQ29udGV4dC5pc0Vt
cHR5KCkpIHsKKyAgICAgICAgbV9jdXJyZW50UGFyZW50QnJvd3NpbmdDb250ZXh0ID0gU3RyaW5n
KCk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKENvbW1hbmRSZXN1bHQ6OnN1Y2Nlc3MoKSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIHBhcmFtZXRlcnMgPSBKU09OOjpP
YmplY3Q6OmNyZWF0ZSgpOworICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiYnJvd3NpbmdDb250
ZXh0SGFuZGxlIl9zLCBtX3RvcGxldmVsQnJvd3NpbmdDb250ZXh0LnZhbHVlKCkpOworICAgIHBh
cmFtZXRlcnMtPnNldFN0cmluZygiZnJhbWVIYW5kbGUiX3MsIG1fY3VycmVudEJyb3dzaW5nQ29u
dGV4dC52YWx1ZSgpKTsKKyAgICBtX2hvc3QtPnNlbmRDb21tYW5kVG9CYWNrZW5kKCJyZXNvbHZl
UGFyZW50RnJhbWVIYW5kbGUiX3MsIFdURk1vdmUocGFyYW1ldGVycyksIFt0aGlzLCBjb21wbGV0
aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShTZXNzaW9uSG9zdDo6Q29t
bWFuZFJlc3BvbnNlJiYgcmVzcG9uc2UpIHsKKyAgICAgICAgaWYgKCFyZXNwb25zZS5pc0Vycm9y
ICYmIHJlc3BvbnNlLnJlc3BvbnNlT2JqZWN0KQorICAgICAgICAgICAgbV9jdXJyZW50UGFyZW50
QnJvd3NpbmdDb250ZXh0ID0gcmVzcG9uc2UucmVzcG9uc2VPYmplY3QtPmdldFN0cmluZygicmVz
dWx0Il9zKTsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoQ29tbWFuZFJlc3VsdDo6c3VjY2Vz
cygpKTsKKyAgICB9KTsKIH0KIAogT3B0aW9uYWw8U3RyaW5nPiBTZXNzaW9uOjpwYWdlTG9hZFN0
cmF0ZWd5U3RyaW5nKCkgY29uc3QKQEAgLTMwNSwxMyArMzIxLDEyIEBAIHZvaWQgU2Vzc2lvbjo6
Z28oY29uc3QgU3RyaW5nJiB1cmwsIEZ1bmN0aW9uPHZvaWQgKENvbW1hbmRSZXN1bHQmJik+JiYg
Y29tcGxldGlvCiAgICAgICAgIHBhcmFtZXRlcnMtPnNldERvdWJsZSgicGFnZUxvYWRUaW1lb3V0
Il9zLCBtX3BhZ2VMb2FkVGltZW91dCk7CiAgICAgICAgIGlmIChhdXRvIHBhZ2VMb2FkU3RyYXRl
Z3kgPSBwYWdlTG9hZFN0cmF0ZWd5U3RyaW5nKCkpCiAgICAgICAgICAgICBwYXJhbWV0ZXJzLT5z
ZXRTdHJpbmcoInBhZ2VMb2FkU3RyYXRlZ3kiX3MsIHBhZ2VMb2FkU3RyYXRlZ3kudmFsdWUoKSk7
Ci0gICAgICAgIG1faG9zdC0+c2VuZENvbW1hbmRUb0JhY2tlbmQoIm5hdmlnYXRlQnJvd3NpbmdD
b250ZXh0Il9zLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbdGhpcywgcHJvdGVjdGVkVGhpcywgY29t
cGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oU2Vzc2lvbkhvc3Q6
OkNvbW1hbmRSZXNwb25zZSYmIHJlc3BvbnNlKSB7CisgICAgICAgIG1faG9zdC0+c2VuZENvbW1h
bmRUb0JhY2tlbmQoIm5hdmlnYXRlQnJvd3NpbmdDb250ZXh0Il9zLCBXVEZNb3ZlKHBhcmFtZXRl
cnMpLCBbdGhpcywgcHJvdGVjdGVkVGhpcywgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKV0oU2Vzc2lvbkhvc3Q6OkNvbW1hbmRSZXNwb25zZSYmIHJlc3BvbnNl
KSBtdXRhYmxlIHsKICAgICAgICAgICAgIGlmIChyZXNwb25zZS5pc0Vycm9yKSB7CiAgICAgICAg
ICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoQ29tbWFuZFJlc3VsdDo6ZmFpbChXVEZNb3ZlKHJl
c3BvbnNlLnJlc3BvbnNlT2JqZWN0KSkpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIHN3aXRjaFRvQnJvd3NpbmdDb250ZXh0KHsgfSk7Ci0gICAg
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihDb21tYW5kUmVzdWx0OjpzdWNjZXNzKCkpOworICAg
ICAgICAgICAgc3dpdGNoVG9Ccm93c2luZ0NvbnRleHQoeyB9LCBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKSk7CiAgICAgICAgIH0pOwogICAgIH0pOwogfQpAQCAtMzcxLDEzICszODYsMTIgQEAg
dm9pZCBTZXNzaW9uOjpiYWNrKEZ1bmN0aW9uPHZvaWQgKENvbW1hbmRSZXN1bHQmJik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCiAgICAgICAgIHBhcmFtZXRlcnMtPnNldERvdWJsZSgicGFnZUxvYWRU
aW1lb3V0Il9zLCBtX3BhZ2VMb2FkVGltZW91dCk7CiAgICAgICAgIGlmIChhdXRvIHBhZ2VMb2Fk
U3RyYXRlZ3kgPSBwYWdlTG9hZFN0cmF0ZWd5U3RyaW5nKCkpCiAgICAgICAgICAgICBwYXJhbWV0
ZXJzLT5zZXRTdHJpbmcoInBhZ2VMb2FkU3RyYXRlZ3kiX3MsIHBhZ2VMb2FkU3RyYXRlZ3kudmFs
dWUoKSk7Ci0gICAgICAgIG1faG9zdC0+c2VuZENvbW1hbmRUb0JhY2tlbmQoImdvQmFja0luQnJv
d3NpbmdDb250ZXh0Il9zLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbdGhpcywgcHJvdGVjdGVkVGhp
cywgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oU2Vzc2lv
bkhvc3Q6OkNvbW1hbmRSZXNwb25zZSYmIHJlc3BvbnNlKSB7CisgICAgICAgIG1faG9zdC0+c2Vu
ZENvbW1hbmRUb0JhY2tlbmQoImdvQmFja0luQnJvd3NpbmdDb250ZXh0Il9zLCBXVEZNb3ZlKHBh
cmFtZXRlcnMpLCBbdGhpcywgcHJvdGVjdGVkVGhpcywgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZN
b3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oU2Vzc2lvbkhvc3Q6OkNvbW1hbmRSZXNwb25zZSYmIHJl
c3BvbnNlKSBtdXRhYmxlIHsKICAgICAgICAgICAgIGlmIChyZXNwb25zZS5pc0Vycm9yKSB7CiAg
ICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoQ29tbWFuZFJlc3VsdDo6ZmFpbChXVEZN
b3ZlKHJlc3BvbnNlLnJlc3BvbnNlT2JqZWN0KSkpOwogICAgICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN3aXRjaFRvQnJvd3NpbmdDb250ZXh0KHsgfSk7
Ci0gICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihDb21tYW5kUmVzdWx0OjpzdWNjZXNzKCkp
OworICAgICAgICAgICAgc3dpdGNoVG9Ccm93c2luZ0NvbnRleHQoeyB9LCBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSk7CiAgICAgICAgIH0pOwogICAgIH0pOwogfQpAQCAtMzk5LDEzICs0MTMs
MTIgQEAgdm9pZCBTZXNzaW9uOjpmb3J3YXJkKEZ1bmN0aW9uPHZvaWQgKENvbW1hbmRSZXN1bHQm
Jik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiAgICAgICAgIHBhcmFtZXRlcnMtPnNldERvdWJsZSgi
cGFnZUxvYWRUaW1lb3V0Il9zLCBtX3BhZ2VMb2FkVGltZW91dCk7CiAgICAgICAgIGlmIChhdXRv
IHBhZ2VMb2FkU3RyYXRlZ3kgPSBwYWdlTG9hZFN0cmF0ZWd5U3RyaW5nKCkpCiAgICAgICAgICAg
ICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoInBhZ2VMb2FkU3RyYXRlZ3kiX3MsIHBhZ2VMb2FkU3Ry
YXRlZ3kudmFsdWUoKSk7Ci0gICAgICAgIG1faG9zdC0+c2VuZENvbW1hbmRUb0JhY2tlbmQoImdv
Rm9yd2FyZEluQnJvd3NpbmdDb250ZXh0Il9zLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbdGhpcywg
cHJvdGVjdGVkVGhpcywgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKV0oU2Vzc2lvbkhvc3Q6OkNvbW1hbmRSZXNwb25zZSYmIHJlc3BvbnNlKSB7CisgICAgICAg
IG1faG9zdC0+c2VuZENvbW1hbmRUb0JhY2tlbmQoImdvRm9yd2FyZEluQnJvd3NpbmdDb250ZXh0
Il9zLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbdGhpcywgcHJvdGVjdGVkVGhpcywgY29tcGxldGlv
bkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oU2Vzc2lvbkhvc3Q6OkNvbW1h
bmRSZXNwb25zZSYmIHJlc3BvbnNlKSBtdXRhYmxlIHsKICAgICAgICAgICAgIGlmIChyZXNwb25z
ZS5pc0Vycm9yKSB7CiAgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoQ29tbWFuZFJl
c3VsdDo6ZmFpbChXVEZNb3ZlKHJlc3BvbnNlLnJlc3BvbnNlT2JqZWN0KSkpOwogICAgICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN3aXRjaFRvQnJvd3Np
bmdDb250ZXh0KHsgfSk7Ci0gICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihDb21tYW5kUmVz
dWx0OjpzdWNjZXNzKCkpOworICAgICAgICAgICAgc3dpdGNoVG9Ccm93c2luZ0NvbnRleHQoeyB9
LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAgICAgIH0pOwogICAgIH0pOwogfQpA
QCAtNDI3LDEzICs0NDAsMTIgQEAgdm9pZCBTZXNzaW9uOjpyZWZyZXNoKEZ1bmN0aW9uPHZvaWQg
KENvbW1hbmRSZXN1bHQmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiAgICAgICAgIHBhcmFtZXRl
cnMtPnNldERvdWJsZSgicGFnZUxvYWRUaW1lb3V0Il9zLCBtX3BhZ2VMb2FkVGltZW91dCk7CiAg
ICAgICAgIGlmIChhdXRvIHBhZ2VMb2FkU3RyYXRlZ3kgPSBwYWdlTG9hZFN0cmF0ZWd5U3RyaW5n
KCkpCiAgICAgICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoInBhZ2VMb2FkU3RyYXRlZ3ki
X3MsIHBhZ2VMb2FkU3RyYXRlZ3kudmFsdWUoKSk7Ci0gICAgICAgIG1faG9zdC0+c2VuZENvbW1h
bmRUb0JhY2tlbmQoInJlbG9hZEJyb3dzaW5nQ29udGV4dCJfcywgV1RGTW92ZShwYXJhbWV0ZXJz
KSwgW3RoaXMsIHByb3RlY3RlZFRoaXMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcildKFNlc3Npb25Ib3N0OjpDb21tYW5kUmVzcG9uc2UmJiByZXNwb25zZSkg
eworICAgICAgICBtX2hvc3QtPnNlbmRDb21tYW5kVG9CYWNrZW5kKCJyZWxvYWRCcm93c2luZ0Nv
bnRleHQiX3MsIFdURk1vdmUocGFyYW1ldGVycyksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzLCBjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShTZXNzaW9uSG9zdDo6
Q29tbWFuZFJlc3BvbnNlJiYgcmVzcG9uc2UpIG11dGFibGUgewogICAgICAgICAgICAgaWYgKHJl
c3BvbnNlLmlzRXJyb3IpIHsKICAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihDb21t
YW5kUmVzdWx0OjpmYWlsKFdURk1vdmUocmVzcG9uc2UucmVzcG9uc2VPYmplY3QpKSk7CiAgICAg
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgc3dpdGNoVG9C
cm93c2luZ0NvbnRleHQoeyB9KTsKLSAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKENvbW1h
bmRSZXN1bHQ6OnN1Y2Nlc3MoKSk7CisgICAgICAgICAgICBzd2l0Y2hUb0Jyb3dzaW5nQ29udGV4
dCh7IH0sIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICAgICAgfSk7CiAgICAgfSk7
CiB9CkBAIC01NDgsMTkgKzU2MCwzMiBAQCB2b2lkIFNlc3Npb246OmNsb3NlV2luZG93KEZ1bmN0
aW9uPHZvaWQgKENvbW1hbmRSZXN1bHQmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiAgICAgICAg
IH0KICAgICAgICAgYXV0byB0b3BsZXZlbEJyb3dzaW5nQ29udGV4dCA9IHN0ZDo6ZXhjaGFuZ2Uo
bV90b3BsZXZlbEJyb3dzaW5nQ29udGV4dCwgV1RGOjpudWxsb3B0KTsKICAgICAgICAgbV9jdXJy
ZW50QnJvd3NpbmdDb250ZXh0ID0gV1RGOjpudWxsb3B0OworICAgICAgICBtX2N1cnJlbnRQYXJl
bnRCcm93c2luZ0NvbnRleHQgPSBXVEY6Om51bGxvcHQ7CiAgICAgICAgIGNsb3NlVG9wTGV2ZWxC
cm93c2luZ0NvbnRleHQodG9wbGV2ZWxCcm93c2luZ0NvbnRleHQudmFsdWUoKSwgV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcikpOwogICAgIH0pOwogfQogCi12b2lkIFNlc3Npb246OnN3aXRjaFRv
V2luZG93KGNvbnN0IFN0cmluZyYgd2luZG93SGFuZGxlLCBGdW5jdGlvbjx2b2lkIChDb21tYW5k
UmVzdWx0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBTZXNzaW9uOjpzd2l0Y2hUb0Jy
b3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIHRvcGxldmVsQnJvd3NpbmdDb250ZXh0LCBjb25z
dCBTdHJpbmcmIGJyb3dzaW5nQ29udGV4dCwgRnVuY3Rpb248dm9pZChDb21tYW5kUmVzdWx0JiYp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGF1dG8gcGFyYW1ldGVycyA9IEpTT046Ok9i
amVjdDo6Y3JlYXRlKCk7Ci0gICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJicm93c2luZ0NvbnRl
eHRIYW5kbGUiX3MsIHdpbmRvd0hhbmRsZSk7Ci0gICAgbV9ob3N0LT5zZW5kQ29tbWFuZFRvQmFj
a2VuZCgic3dpdGNoVG9Ccm93c2luZ0NvbnRleHQiX3MsIFdURk1vdmUocGFyYW1ldGVycyksIFt0
aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIHdpbmRvd0hhbmRsZSwgY29tcGxl
dGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oU2Vzc2lvbkhvc3Q6OkNv
bW1hbmRSZXNwb25zZSYmIHJlc3BvbnNlKSB7CisgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJi
cm93c2luZ0NvbnRleHRIYW5kbGUiX3MsIHRvcGxldmVsQnJvd3NpbmdDb250ZXh0KTsKKyAgICBw
YXJhbWV0ZXJzLT5zZXRTdHJpbmcoImZyYW1lSGFuZGxlIl9zLCBicm93c2luZ0NvbnRleHQpOwor
ICAgIG1faG9zdC0+c2VuZENvbW1hbmRUb0JhY2tlbmQoInN3aXRjaFRvQnJvd3NpbmdDb250ZXh0
Il9zLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbdGhpcywgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZN
b3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oU2Vzc2lvbkhvc3Q6OkNvbW1hbmRSZXNwb25zZSYmIHJl
c3BvbnNlKSB7CiAgICAgICAgIGlmIChyZXNwb25zZS5pc0Vycm9yKSB7CiAgICAgICAgICAgICBj
b21wbGV0aW9uSGFuZGxlcihDb21tYW5kUmVzdWx0OjpmYWlsKFdURk1vdmUocmVzcG9uc2UucmVz
cG9uc2VPYmplY3QpKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KKyAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIoQ29tbWFuZFJlc3VsdDo6c3VjY2VzcygpKTsKKyAgICB9KTsKK30K
Kwordm9pZCBTZXNzaW9uOjpzd2l0Y2hUb1dpbmRvdyhjb25zdCBTdHJpbmcmIHdpbmRvd0hhbmRs
ZSwgRnVuY3Rpb248dm9pZChDb21tYW5kUmVzdWx0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQor
eworICAgIHN3aXRjaFRvQnJvd3NpbmdDb250ZXh0KHdpbmRvd0hhbmRsZSwgeyB9LCBbdGhpcywg
cHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCB3aW5kb3dIYW5kbGUsIGNvbXBsZXRpb25I
YW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKENvbW1hbmRSZXN1bHQmJiByZXN1
bHQpIG11dGFibGUgeworICAgICAgICBpZiAocmVzdWx0LmlzRXJyb3IoKSkgeworICAgICAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShyZXN1bHQpKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQogICAgICAgICBzd2l0Y2hUb1RvcExldmVsQnJvd3NpbmdDb250ZXh0KHdp
bmRvd0hhbmRsZSk7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKENvbW1hbmRSZXN1bHQ6OnN1
Y2Nlc3MoKSk7CiAgICAgfSk7CkBAIC02NTEsOCArNjc2LDcgQEAgdm9pZCBTZXNzaW9uOjpzd2l0
Y2hUb0ZyYW1lKFJlZlB0cjxKU09OOjpWYWx1ZT4mJiBmcmFtZUlELCBGdW5jdGlvbjx2b2lkIChD
b21tYW4KICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKENvbW1hbmRSZXN1bHQ6OmZhaWwo
Q29tbWFuZFJlc3VsdDo6RXJyb3JDb2RlOjpOb1N1Y2hXaW5kb3cpKTsKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQotICAgICAgICBzd2l0Y2hUb0Jyb3dzaW5nQ29udGV4dCh7IH0pOwot
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihDb21tYW5kUmVzdWx0OjpzdWNjZXNzKCkpOworICAg
ICAgICBzd2l0Y2hUb0Jyb3dzaW5nQ29udGV4dCh7IH0sIFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNjgwLDcgKzcwNCw3IEBAIHZvaWQg
U2Vzc2lvbjo6c3dpdGNoVG9GcmFtZShSZWZQdHI8SlNPTjo6VmFsdWU+JiYgZnJhbWVJRCwgRnVu
Y3Rpb248dm9pZCAoQ29tbWFuCiAgICAgICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoIm5v
ZGVIYW5kbGUiX3MsIGZyYW1lRWxlbWVudElEKTsKICAgICAgICAgfQogCi0gICAgICAgIG1faG9z
dC0+c2VuZENvbW1hbmRUb0JhY2tlbmQoInJlc29sdmVDaGlsZEZyYW1lSGFuZGxlIl9zLCBXVEZN
b3ZlKHBhcmFtZXRlcnMpLCBbdGhpcywgcHJvdGVjdGVkVGhpcywgY29tcGxldGlvbkhhbmRsZXIg
PSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oU2Vzc2lvbkhvc3Q6OkNvbW1hbmRSZXNwb25z
ZSYmIHJlc3BvbnNlKSB7CisgICAgICAgIG1faG9zdC0+c2VuZENvbW1hbmRUb0JhY2tlbmQoInJl
c29sdmVDaGlsZEZyYW1lSGFuZGxlIl9zLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbdGhpcywgcHJv
dGVjdGVkVGhpcywgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0oU2Vzc2lvbkhvc3Q6OkNvbW1hbmRSZXNwb25zZSYmIHJlc3BvbnNlKSBtdXRhYmxlIHsKICAg
ICAgICAgICAgIGlmIChyZXNwb25zZS5pc0Vycm9yIHx8ICFyZXNwb25zZS5yZXNwb25zZU9iamVj
dCkgewogICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKENvbW1hbmRSZXN1bHQ6OmZh
aWwoV1RGTW92ZShyZXNwb25zZS5yZXNwb25zZU9iamVjdCkpKTsKICAgICAgICAgICAgICAgICBy
ZXR1cm47CkBAIC02OTIsNDYgKzcxNiw0MCBAQCB2b2lkIFNlc3Npb246OnN3aXRjaFRvRnJhbWUo
UmVmUHRyPEpTT046OlZhbHVlPiYmIGZyYW1lSUQsIEZ1bmN0aW9uPHZvaWQgKENvbW1hbgogICAg
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgc3dpdGNo
VG9Ccm93c2luZ0NvbnRleHQoZnJhbWVIYW5kbGUpOwotICAgICAgICAgICAgY29tcGxldGlvbkhh
bmRsZXIoQ29tbWFuZFJlc3VsdDo6c3VjY2VzcygpKTsKKyAgICAgICAgICAgIHN3aXRjaFRvQnJv
d3NpbmdDb250ZXh0KG1fdG9wbGV2ZWxCcm93c2luZ0NvbnRleHQudmFsdWUoKSwgZnJhbWVIYW5k
bGUsIFt0aGlzLCBwcm90ZWN0ZWRUaGlzLCBmcmFtZUhhbmRsZSwgY29tcGxldGlvbkhhbmRsZXIg
PSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oQ29tbWFuZFJlc3VsdCYmIHJlc3VsdCkgbXV0
YWJsZSB7CisgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5pc0Vycm9yKCkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShyZXN1bHQpKTsKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBz
d2l0Y2hUb0Jyb3dzaW5nQ29udGV4dChmcmFtZUhhbmRsZSwgV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcikpOworICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwogICAgIH0pOwogfQogCiB2b2lk
IFNlc3Npb246OnN3aXRjaFRvUGFyZW50RnJhbWUoRnVuY3Rpb248dm9pZCAoQ29tbWFuZFJlc3Vs
dCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBpZiAoIW1fdG9wbGV2ZWxCcm93c2lu
Z0NvbnRleHQpIHsKKyAgICBpZiAoIW1fY3VycmVudFBhcmVudEJyb3dzaW5nQ29udGV4dCkgewog
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihDb21tYW5kUmVzdWx0OjpmYWlsKENvbW1hbmRSZXN1
bHQ6OkVycm9yQ29kZTo6Tm9TdWNoV2luZG93KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
LSAgICBpZiAoIW1fY3VycmVudEJyb3dzaW5nQ29udGV4dCkgewotICAgICAgICBjb21wbGV0aW9u
SGFuZGxlcihDb21tYW5kUmVzdWx0OjpzdWNjZXNzKCkpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCiAgICAgaGFuZGxlVXNlclByb21wdHMoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVm
KCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0o
Q29tbWFuZFJlc3VsdCYmIHJlc3VsdCkgbXV0YWJsZSB7CiAgICAgICAgIGlmIChyZXN1bHQuaXNF
cnJvcigpKSB7CiAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKHJlc3VsdCkp
OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIGF1dG8gcGFyYW1ldGVy
cyA9IEpTT046Ok9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmlu
ZygiYnJvd3NpbmdDb250ZXh0SGFuZGxlIl9zLCBtX3RvcGxldmVsQnJvd3NpbmdDb250ZXh0LnZh
bHVlKCkpOwotICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImZyYW1lSGFuZGxlIl9zLCBt
X2N1cnJlbnRCcm93c2luZ0NvbnRleHQudmFsdWUoKSk7Ci0gICAgICAgIG1faG9zdC0+c2VuZENv
bW1hbmRUb0JhY2tlbmQoInJlc29sdmVQYXJlbnRGcmFtZUhhbmRsZSJfcywgV1RGTW92ZShwYXJh
bWV0ZXJzKSwgW3RoaXMsIHByb3RlY3RlZFRoaXMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildKFNlc3Npb25Ib3N0OjpDb21tYW5kUmVzcG9uc2UmJiByZXNw
b25zZSkgewotICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmlzRXJyb3IgfHwgIXJlc3BvbnNlLnJl
c3BvbnNlT2JqZWN0KSB7Ci0gICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoQ29tbWFu
ZFJlc3VsdDo6ZmFpbChXVEZNb3ZlKHJlc3BvbnNlLnJlc3BvbnNlT2JqZWN0KSkpOwotICAgICAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgYXV0byBmcmFt
ZUhhbmRsZSA9IHJlc3BvbnNlLnJlc3BvbnNlT2JqZWN0LT5nZXRTdHJpbmcoInJlc3VsdCJfcyk7
Ci0gICAgICAgICAgICBpZiAoIWZyYW1lSGFuZGxlKSB7Ci0gICAgICAgICAgICAgICAgY29tcGxl
dGlvbkhhbmRsZXIoQ29tbWFuZFJlc3VsdDo6ZmFpbChDb21tYW5kUmVzdWx0OjpFcnJvckNvZGU6
OlVua25vd25FcnJvcikpOworICAgICAgICBzd2l0Y2hUb0Jyb3dzaW5nQ29udGV4dChtX3RvcGxl
dmVsQnJvd3NpbmdDb250ZXh0LnZhbHVlKCksIG1fY3VycmVudFBhcmVudEJyb3dzaW5nQ29udGV4
dC52YWx1ZSgpLCBbdGhpcywgcHJvdGVjdGVkVGhpcywgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZN
b3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oQ29tbWFuZFJlc3VsdCYmIHJlc3VsdCkgbXV0YWJsZSB7
CisgICAgICAgICAgICBpZiAocmVzdWx0LmlzRXJyb3IoKSkgeworICAgICAgICAgICAgICAgIGlm
IChyZXN1bHQuZXJyb3JDb2RlKCkgPT0gQ29tbWFuZFJlc3VsdDo6RXJyb3JDb2RlOjpOb1N1Y2hG
cmFtZSkKKyAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoQ29tbWFuZFJlc3Vs
dDo6ZmFpbChDb21tYW5kUmVzdWx0OjpFcnJvckNvZGU6Ok5vU3VjaFdpbmRvdykpOworICAgICAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RG
TW92ZShyZXN1bHQpKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAK
LSAgICAgICAgICAgIHN3aXRjaFRvQnJvd3NpbmdDb250ZXh0KGZyYW1lSGFuZGxlKTsKLSAgICAg
ICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKENvbW1hbmRSZXN1bHQ6OnN1Y2Nlc3MoKSk7CisgICAg
ICAgICAgICBzd2l0Y2hUb0Jyb3dzaW5nQ29udGV4dChtX2N1cnJlbnRQYXJlbnRCcm93c2luZ0Nv
bnRleHQudmFsdWUoKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogICAgICAgICB9KTsK
ICAgICB9KTsKIH0KQEAgLTE1OTksNiArMTYxNyw3IEBAIHZvaWQgU2Vzc2lvbjo6d2FpdEZvck5h
dmlnYXRpb25Ub0NvbXBsZXRlKEZ1bmN0aW9uPHZvaWQgKENvbW1hbmRSZXN1bHQmJik+JiYgY29t
CiAgICAgICAgICAgICAgICAgLy8gV2luZG93IHdhcyBjbG9zZWQsIHJlc2V0IHRoZSB0b3AgbGV2
ZWwgYnJvd3NpbmcgY29udGV4dCBhbmQgaWdub3JlIHRoZSBlcnJvci4KICAgICAgICAgICAgICAg
ICBtX3RvcGxldmVsQnJvd3NpbmdDb250ZXh0ID0gV1RGOjpudWxsb3B0OwogICAgICAgICAgICAg
ICAgIG1fY3VycmVudEJyb3dzaW5nQ29udGV4dCA9IFdURjo6bnVsbG9wdDsKKyAgICAgICAgICAg
ICAgICBtX2N1cnJlbnRQYXJlbnRCcm93c2luZ0NvbnRleHQgPSBXVEY6Om51bGxvcHQ7CiAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIENvbW1hbmRSZXN1bHQ6OkVycm9y
Q29kZTo6Tm9TdWNoRnJhbWU6CiAgICAgICAgICAgICAgICAgLy8gTmF2aWdhdGlvbiBkZXN0cm95
ZWQgdGhlIGN1cnJlbnQgZnJhbWUsIHJlc2V0IHRoZSBjdXJyZW50IGJyb3dzaW5nIGNvbnRleHQg
YW5kIGlnbm9yZSB0aGUgZXJyb3IuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViRHJpdmVyL1Nlc3Np
b24uaCBiL1NvdXJjZS9XZWJEcml2ZXIvU2Vzc2lvbi5oCmluZGV4IDZiNzA3YzQ5N2VkNC4uY2Jj
MzJiYzU3NjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViRHJpdmVyL1Nlc3Npb24uaAorKysgYi9T
b3VyY2UvV2ViRHJpdmVyL1Nlc3Npb24uaApAQCAtMTI4LDcgKzEyOCw4IEBAIHByaXZhdGU6CiAg
ICAgU2Vzc2lvbihzdGQ6OnVuaXF1ZV9wdHI8U2Vzc2lvbkhvc3Q+JiYpOwogCiAgICAgdm9pZCBz
d2l0Y2hUb1RvcExldmVsQnJvd3NpbmdDb250ZXh0KGNvbnN0IFN0cmluZyYpOwotICAgIHZvaWQg
c3dpdGNoVG9Ccm93c2luZ0NvbnRleHQoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzd2l0Y2hU
b0Jyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmLCBGdW5jdGlvbjx2b2lkKENvbW1hbmRSZXN1
bHQmJik+JiYpOworICAgIHZvaWQgc3dpdGNoVG9Ccm93c2luZ0NvbnRleHQoY29uc3QgU3RyaW5n
JiB0b3BsZXZlbEJyb3dzaW5nQ29udGV4dCwgY29uc3QgU3RyaW5nJiBicm93c2luZ0NvbnRleHQs
IEZ1bmN0aW9uPHZvaWQoQ29tbWFuZFJlc3VsdCYmKT4mJik7CiAgICAgdm9pZCBjbG9zZVRvcExl
dmVsQnJvd3NpbmdDb250ZXh0KGNvbnN0IFN0cmluZyYgdG9wbGV2ZWxCcm93c2luZ0NvbnRleHQs
IEZ1bmN0aW9uPHZvaWQgKENvbW1hbmRSZXN1bHQmJik+JiYpOwogICAgIHZvaWQgY2xvc2VBbGxU
b3BsZXZlbEJyb3dzaW5nQ29udGV4dHMoY29uc3QgU3RyaW5nJiB0b3BsZXZlbEJyb3dzaW5nQ29u
dGV4dCwgRnVuY3Rpb248dm9pZCAoQ29tbWFuZFJlc3VsdCYmKT4mJik7CiAKQEAgLTIxMyw2ICsy
MTQsNyBAQCBwcml2YXRlOgogICAgIGRvdWJsZSBtX2ltcGxpY2l0V2FpdFRpbWVvdXQ7CiAgICAg
T3B0aW9uYWw8U3RyaW5nPiBtX3RvcGxldmVsQnJvd3NpbmdDb250ZXh0OwogICAgIE9wdGlvbmFs
PFN0cmluZz4gbV9jdXJyZW50QnJvd3NpbmdDb250ZXh0OworICAgIE9wdGlvbmFsPFN0cmluZz4g
bV9jdXJyZW50UGFyZW50QnJvd3NpbmdDb250ZXh0OwogICAgIEhhc2hNYXA8U3RyaW5nLCBJbnB1
dFNvdXJjZT4gbV9hY3RpdmVJbnB1dFNvdXJjZXM7CiAgICAgSGFzaE1hcDxTdHJpbmcsIElucHV0
U291cmNlU3RhdGU+IG1faW5wdXRTdGF0ZVRhYmxlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNTdkNGQ1YTVj
NjRlLi4xNjFlNzU1NGEwODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMTAtMDIg
IENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFdl
YkRyaXZlcjogc2V2ZXJhbCBpc3N1ZXMgd2hlbiBzd2l0Y2hpbmcgdG8gbmV3IGJyb3dzZXIgY29u
dGV4dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3
MjE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpkaWREZXN0cm95RnJhbWUpOiBSZW1vdmUgdGhl
IGZyYW1lIHJlZmVyZW5jZXMgZnJvbSBtYXBzLgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0
aW9uU2Vzc2lvbjo6bmF2aWdhdGlvbk9jY3VycmVkRm9yRnJhbWUpOiBPbmx5IGNsZWFyIHRoZSBm
cmFtZSByZWZlcmVuY2VzIGZyb20gdGhlIG1hcHMgZm9yCisgICAgICAgIHRoZSBmcmFtZXMgaW4g
dGhlIGdpdmVuIGZyYW1lJ3MgcGFnZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9X
ZWJBdXRvbWF0aW9uU2Vzc2lvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmRpZERlc3Ryb3lGcmFt
ZSk6IE5vdGlmeSBhdXRvbWF0aW9uIHNlc3Npb24gYWJvdXQgZnJhbWUgYmVpbmcgZGVzdHJveWVk
LgorCiAyMDIwLTEwLTAxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNZWRpYVJlY29yZGVyIHNob3VsZCBzdXBwb3J0IGlzVHlwZVN1cHBvcnRlZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vz
c2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRp
b25TZXNzaW9uLmNwcAppbmRleCAyY2Q4OGM1MjA4MTcuLmY0ODIzOWY5ODdlMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lv
bi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0
aW9uU2Vzc2lvbi5jcHAKQEAgLTIwMyw2ICsyMDMsMTMgQEAgU3RyaW5nIFdlYkF1dG9tYXRpb25T
ZXNzaW9uOjpoYW5kbGVGb3JXZWJQYWdlUHJveHkoY29uc3QgV2ViUGFnZVByb3h5JiB3ZWJQYWdl
UHIKICAgICByZXR1cm4gaGFuZGxlOwogfQogCit2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpk
aWREZXN0cm95RnJhbWUoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQpCit7CisgICAgYXV0byBoYW5k
bGUgPSBtX3dlYkZyYW1lSGFuZGxlTWFwLnRha2UoZnJhbWVJRCk7CisgICAgaWYgKCFoYW5kbGUu
aXNFbXB0eSgpKQorICAgICAgICBtX2hhbmRsZVdlYkZyYW1lTWFwLnJlbW92ZShoYW5kbGUpOwor
fQorCiBPcHRpb25hbDxGcmFtZUlkZW50aWZpZXI+IFdlYkF1dG9tYXRpb25TZXNzaW9uOjp3ZWJG
cmFtZUlERm9ySGFuZGxlKGNvbnN0IFN0cmluZyYgaGFuZGxlLCBib29sJiBmcmFtZU5vdEZvdW5k
KQogewogICAgIGlmIChoYW5kbGUuaXNFbXB0eSgpKQpAQCAtNzM4LDkgKzc0NSwxOSBAQCB2b2lk
IFdlYkF1dG9tYXRpb25TZXNzaW9uOjpyZWxvYWRCcm93c2luZ0NvbnRleHQoY29uc3QgSW5zcGVj
dG9yOjpQcm90b2NvbDo6QXV0bwogdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6bmF2aWdhdGlv
bk9jY3VycmVkRm9yRnJhbWUoY29uc3QgV2ViRnJhbWVQcm94eSYgZnJhbWUpCiB7CiAgICAgaWYg
KGZyYW1lLmlzTWFpbkZyYW1lKCkpIHsKLSAgICAgICAgLy8gTmV3IHBhZ2UgbG9hZGVkLCBjbGVh
ciBmcmFtZSBoYW5kbGVzIHByZXZpb3VzbHkgY2FjaGVkLgotICAgICAgICBtX2hhbmRsZVdlYkZy
YW1lTWFwLmNsZWFyKCk7Ci0gICAgICAgIG1fd2ViRnJhbWVIYW5kbGVNYXAuY2xlYXIoKTsKKyAg
ICAgICAgLy8gTmV3IHBhZ2UgbG9hZGVkLCBjbGVhciBmcmFtZSBoYW5kbGVzIHByZXZpb3VzbHkg
Y2FjaGVkIGZvciBmcmFtZSdzIHBhZ2UuCisgICAgICAgIEhhc2hTZXQ8U3RyaW5nPiBoYW5kbGVz
VG9SZW1vdmU7CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgaXRlciA6IG1faGFuZGxlV2ViRnJh
bWVNYXApIHsKKyAgICAgICAgICAgIGF1dG8qIHdlYkZyYW1lID0gZnJhbWUucGFnZSgpLT5wcm9j
ZXNzKCkud2ViRnJhbWUoaXRlci52YWx1ZSk7CisgICAgICAgICAgICBpZiAod2ViRnJhbWUgJiYg
d2ViRnJhbWUtPnBhZ2UoKSA9PSBmcmFtZS5wYWdlKCkpIHsKKyAgICAgICAgICAgICAgICBoYW5k
bGVzVG9SZW1vdmUuYWRkKGl0ZXIua2V5KTsKKyAgICAgICAgICAgICAgICBtX3dlYkZyYW1lSGFu
ZGxlTWFwLnJlbW92ZShpdGVyLnZhbHVlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
ICAgICBtX2hhbmRsZVdlYkZyYW1lTWFwLnJlbW92ZUlmKFsmXShhdXRvJiBpdGVyKSB7CisgICAg
ICAgICAgICByZXR1cm4gaGFuZGxlc1RvUmVtb3ZlLmNvbnRhaW5zKGl0ZXIua2V5KTsKKyAgICAg
ICAgfSk7CisKICAgICAgICAgaWYgKGF1dG8gY2FsbGJhY2sgPSBtX3BlbmRpbmdOb3JtYWxOYXZp
Z2F0aW9uSW5Ccm93c2luZ0NvbnRleHRDYWxsYmFja3NQZXJQYWdlLnRha2UoZnJhbWUucGFnZSgp
LT5pZGVudGlmaWVyKCkpKSB7CiAgICAgICAgICAgICBtX2xvYWRUaW1lci5zdG9wKCk7CiAgICAg
ICAgICAgICBjYWxsYmFjay0+c2VuZFN1Y2Nlc3MoSlNPTjo6T2JqZWN0OjpjcmVhdGUoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRp
b25TZXNzaW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9t
YXRpb25TZXNzaW9uLmgKaW5kZXggOGQ5MDg5MmE0YjEzLi5hMzk4OWFkZTU5ZGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Np
b24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRp
b25TZXNzaW9uLmgKQEAgLTIxNiw2ICsyMTYsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBtYXJrRXZl
bnRBc1N5bnRoZXNpemVkRm9yQXV0b21hdGlvbihOU0V2ZW50ICopOwogI2VuZGlmCiAKKyAgICB2
b2lkIGRpZERlc3Ryb3lGcmFtZShXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIpOworCiBwcml2YXRl
OgogICAgIFdlYlBhZ2VQcm94eSogd2ViUGFnZVByb3h5Rm9ySGFuZGxlKGNvbnN0IFN0cmluZyYp
OwogICAgIFN0cmluZyBoYW5kbGVGb3JXZWJQYWdlUHJveHkoY29uc3QgV2ViUGFnZVByb3h5Jik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA1ZTJj
NzA4ZjIyZjkuLmJlYjZhNjFlNjRiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuY3BwCkBAIC0xMDE4LDYgKzEwMTgsOCBAQCB2b2lkIFdlYlByb2Nlc3NQcm94
eTo6ZGlkRGVzdHJveUZyYW1lKEZyYW1lSWRlbnRpZmllciBmcmFtZUlEKQogICAgICAgICAgICAg
cGFnZS0+d2Vic2l0ZURhdGFTdG9yZSgpLmF1dGhlbnRpY2F0b3JNYW5hZ2VyKCkuY2FuY2VsUmVx
dWVzdChwYWdlLT53ZWJQYWdlSUQoKSwgZnJhbWVJRCk7CiAgICAgfQogI2VuZGlmCisgICAgaWYg
KGF1dG8qIGF1dG9tYXRpb25TZXNzaW9uID0gbV9wcm9jZXNzUG9vbC0+YXV0b21hdGlvblNlc3Np
b24oKSkKKyAgICAgICAgYXV0b21hdGlvblNlc3Npb24tPmRpZERlc3Ryb3lGcmFtZShmcmFtZUlE
KTsKICAgICBtX2ZyYW1lTWFwLnJlbW92ZShmcmFtZUlEKTsKIH0KIAo=
</data>
<flag name="review"
          id="426218"
          type_id="1"
          status="+"
          setter="bburg"
    />
          </attachment>
      

    </bug>

</bugzilla>