<?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>185020</bug_id>
          
          <creation_ts>2018-04-25 18:02:36 -0700</creation_ts>
          <short_desc>Add a setting for keeping around all processes and always reusing them per-origin</short_desc>
          <delta_ts>2018-04-26 09:39:29 -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>WebKit Misc.</component>
          <version>Other</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="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>aestes</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>msaboff</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1417926</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2018-04-25 18:02:36 -0700</bug_when>
    <thetext>Add a setting for keeping around all processes and always reusing them per-origin

&lt;rdar://problem/39695798&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417927</commentid>
    <comment_count>1</comment_count>
      <attachid>338838</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2018-04-25 18:05:27 -0700</bug_when>
    <thetext>Created attachment 338838
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418052</commentid>
    <comment_count>2</comment_count>
      <attachid>338838</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-26 09:07:01 -0700</bug_when>
    <thetext>Comment on attachment 338838
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=338838&amp;action=review

&gt; Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.h:75
&gt; +WK_EXPORT bool WKContextConfigurationAlwaysKeepAndReuseSwappedProcesses(WKContextConfigurationRef configuration);
&gt; +WK_EXPORT void WKContextConfigurationSetAlwaysKeepAndReuseSwappedProcesses(WKContextConfigurationRef configuration, bool keepAndReuse);

Naming the WKContextConfigurationRef parameter seems redundant, but I guess it&apos;s consistent with the rest of this file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418074</commentid>
    <comment_count>3</comment_count>
      <attachid>338838</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-26 09:39:27 -0700</bug_when>
    <thetext>Comment on attachment 338838
Patch

Clearing flags on attachment: 338838

Committed r231048: &lt;https://trac.webkit.org/changeset/231048&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418075</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-26 09:39:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338838</attachid>
            <date>2018-04-25 18:05:27 -0700</date>
            <delta_ts>2018-04-26 09:39:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>21102</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMGI2MzNlMjQ2ZTAuLjAxMjZjYjUxMzU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQ3IEBACisyMDE4LTA0LTI1ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBBZGQgYSBzZXR0aW5nIGZvciBrZWVwaW5nIGFyb3VuZCBhbGwgcHJvY2Vzc2VzIGFu
ZCBhbHdheXMgcmV1c2luZyB0aGVtIHBlci1vcmlnaW4uCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8zOTY5NTc5OD4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODUwMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcDoKKyAgICAgICAg
KEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uOjpjb3B5KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oOgorCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9DL1dLQ29udGV4dENvbmZpZ3VyYXRpb25SZWYuY3BwOgorICAgICAgICAoV0tDb250
ZXh0Q29uZmlndXJhdGlvbkFsd2F5c0tlZXBBbmRSZXVzZVN3YXBwZWRQcm9jZXNzZXMpOgorICAg
ICAgICAoV0tDb250ZXh0Q29uZmlndXJhdGlvblNldEFsd2F5c0tlZXBBbmRSZXVzZVN3YXBwZWRQ
cm9jZXNzZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRDb25maWd1cmF0
aW9uUmVmLmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29s
Q29uZmlndXJhdGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHJvY2Vz
c1Bvb2xDb25maWd1cmF0aW9uLm1tOgorICAgICAgICAoLVtfV0tQcm9jZXNzUG9vbENvbmZpZ3Vy
YXRpb24gc2V0QWx3YXlzS2VlcEFuZFJldXNlU3dhcHBlZFByb2Nlc3NlczpdKToKKyAgICAgICAg
KC1bX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIGFsd2F5c0tlZXBBbmRSZXVzZVN3YXBwZWRQ
cm9jZXNzZXNdKToKKworICAgICAgICAqIFVJUHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpTdXNwZW5kZWRQYWdlUHJveHk6OndlYlByb2Nlc3NEaWRDbG9z
ZSk6CisgICAgICAgIChXZWJLaXQ6OlN1c3BlbmRlZFBhZ2VQcm94eTo6ZGVzdHJveVdlYlBhZ2VJ
bldlYlByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuaDoK
KworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OnN1c3BlbmRlZFBhZ2VDbG9zZWQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OnN1c3BlbmRlZFBhZ2VQcm9jZXNzQ2xvc2VkKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6c3VzcGVuZGVkUGFnZSBjb25zdCk6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6c2hvdWxkVGVy
bWluYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmRpc2Nvbm5lY3RQcm9j
ZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmFkZFByb2Nlc3NUb09yaWdp
bkNhY2hlU2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnJlbW92ZVByb2Nl
c3NGcm9tT3JpZ2luQ2FjaGVTZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6
cHJvY2Vzc0Zvck5hdmlnYXRpb24pOiBJZiBhIHN3YXAgd2lsbCBvY2N1ciwgY2FjaGUgdGhlIG9s
ZCBwcm9jZXNzLgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cHJvY2Vzc0Zvck5h
dmlnYXRpb25JbnRlcm5hbCk6IENvbnNpZGVyIHJlLXVzaW5nIGEgcHJldmlvdXNseSBjYWNoZWQg
cHJvY2Vzcy4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKworICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bV9j
cmVkZW50aWFsc01lc3Nlbmdlcik6CisKIDIwMTgtMDQtMjUgIERlYW4gSmFja3NvbiAgPGRpbm9A
YXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgYSBiZXR0ZXIgZmxhZyBmb3Igc3lzdGVtIHByZXZp
ZXcsIGFuZCBkaXNhYmxlIGl0IHdoZXJlIG5lY2Vzc2FyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcApp
bmRleCBiYWNmZmE3YWQxNi4uZmUxZTljOWY3YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uY3BwCkBA
IC0xMjgsNiArMTI4LDcgQEAgUmVmPFByb2Nlc3NQb29sQ29uZmlndXJhdGlvbj4gUHJvY2Vzc1Bv
b2xDb25maWd1cmF0aW9uOjpjb3B5KCkKICNlbmRpZgogICAgIGNvcHktPm1fcHJlc2VudGluZ0Fw
cGxpY2F0aW9uUElEID0gdGhpcy0+bV9wcmVzZW50aW5nQXBwbGljYXRpb25QSUQ7CiAgICAgY29w
eS0+bV9wcm9jZXNzU3dhcHNPbk5hdmlnYXRpb24gPSB0aGlzLT5tX3Byb2Nlc3NTd2Fwc09uTmF2
aWdhdGlvbjsKKyAgICBjb3B5LT5tX2Fsd2F5c0tlZXBBbmRSZXVzZVN3YXBwZWRQcm9jZXNzZXMg
PSB0aGlzLT5tX2Fsd2F5c0tlZXBBbmRSZXVzZVN3YXBwZWRQcm9jZXNzZXM7CiAgICAgY29weS0+
bV9wcm9jZXNzU3dhcHNPbldpbmRvd09wZW5XaXRoT3BlbmVyID0gdGhpcy0+bV9wcm9jZXNzU3dh
cHNPbldpbmRvd09wZW5XaXRoT3BlbmVyOwogCiAgICAgcmV0dXJuIGNvcHk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9u
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0
aW9uLmgKaW5kZXggM2RjMmIxODJiZmIuLmUzYjdkNDlhYmJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5o
CkBAIC0xMzgsNiArMTM4LDkgQEAgcHVibGljOgogICAgIGJvb2wgcHJvY2Vzc1N3YXBzT25OYXZp
Z2F0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9wcm9jZXNzU3dhcHNPbk5hdmlnYXRpb247IH0KICAg
ICB2b2lkIHNldFByb2Nlc3NTd2Fwc09uTmF2aWdhdGlvbihib29sIHN3YXBzKSB7IG1fcHJvY2Vz
c1N3YXBzT25OYXZpZ2F0aW9uID0gc3dhcHM7IH0KIAorICAgIGJvb2wgYWx3YXlzS2VlcEFuZFJl
dXNlU3dhcHBlZFByb2Nlc3NlcygpIGNvbnN0IHsgcmV0dXJuIG1fYWx3YXlzS2VlcEFuZFJldXNl
U3dhcHBlZFByb2Nlc3NlczsgfQorICAgIHZvaWQgc2V0QWx3YXlzS2VlcEFuZFJldXNlU3dhcHBl
ZFByb2Nlc3Nlcyhib29sIGtlZXBBbmRSZXVzZSkgeyBtX2Fsd2F5c0tlZXBBbmRSZXVzZVN3YXBw
ZWRQcm9jZXNzZXMgPSBrZWVwQW5kUmV1c2U7IH0KKwogICAgIGJvb2wgcHJvY2Vzc1N3YXBzT25X
aW5kb3dPcGVuV2l0aE9wZW5lcigpIGNvbnN0IHsgcmV0dXJuIG1fcHJvY2Vzc1N3YXBzT25XaW5k
b3dPcGVuV2l0aE9wZW5lcjsgfQogICAgIHZvaWQgc2V0UHJvY2Vzc1N3YXBzT25XaW5kb3dPcGVu
V2l0aE9wZW5lcihib29sIHN3YXBzKSB7IG1fcHJvY2Vzc1N3YXBzT25XaW5kb3dPcGVuV2l0aE9w
ZW5lciA9IHN3YXBzOyB9CiAKQEAgLTE3Myw2ICsxNzYsNyBAQCBwcml2YXRlOgogICAgIGJvb2wg
bV9zaG91bGRDYXB0dXJlQXVkaW9JblVJUHJvY2VzcyB7IGZhbHNlIH07CiAgICAgUHJvY2Vzc0lE
IG1fcHJlc2VudGluZ0FwcGxpY2F0aW9uUElEIHsgZ2V0Q3VycmVudFByb2Nlc3NJRCgpIH07CiAg
ICAgYm9vbCBtX3Byb2Nlc3NTd2Fwc09uTmF2aWdhdGlvbiB7IGZhbHNlIH07CisgICAgYm9vbCBt
X2Fsd2F5c0tlZXBBbmRSZXVzZVN3YXBwZWRQcm9jZXNzZXMgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9wcm9jZXNzU3dhcHNPbldpbmRvd09wZW5XaXRoT3BlbmVyIHsgZmFsc2UgfTsKIAogI2lmIFBM
QVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dL
Q29udGV4dENvbmZpZ3VyYXRpb25SZWYuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvV0tDb250ZXh0Q29uZmlndXJhdGlvblJlZi5jcHAKaW5kZXggZjc4OTZjZTUxNWUuLmEzZDRh
NTg2MWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRl
eHRDb25maWd1cmF0aW9uUmVmLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS0NvbnRleHRDb25maWd1cmF0aW9uUmVmLmNwcApAQCAtMTY4LDYgKzE2OCwxNiBAQCB2b2lk
IFdLQ29udGV4dENvbmZpZ3VyYXRpb25TZXRQcm9jZXNzU3dhcHNPbk5hdmlnYXRpb24oV0tDb250
ZXh0Q29uZmlndXJhdGlvblJlZgogICAgIHRvSW1wbChjb25maWd1cmF0aW9uKS0+c2V0UHJvY2Vz
c1N3YXBzT25OYXZpZ2F0aW9uKHN3YXBzKTsKIH0KIAorYm9vbCBXS0NvbnRleHRDb25maWd1cmF0
aW9uQWx3YXlzS2VlcEFuZFJldXNlU3dhcHBlZFByb2Nlc3NlcyhXS0NvbnRleHRDb25maWd1cmF0
aW9uUmVmIGNvbmZpZ3VyYXRpb24pCit7CisgICAgcmV0dXJuIHRvSW1wbChjb25maWd1cmF0aW9u
KS0+YWx3YXlzS2VlcEFuZFJldXNlU3dhcHBlZFByb2Nlc3NlcygpOworfQorCit2b2lkIFdLQ29u
dGV4dENvbmZpZ3VyYXRpb25TZXRBbHdheXNLZWVwQW5kUmV1c2VTd2FwcGVkUHJvY2Vzc2VzKFdL
Q29udGV4dENvbmZpZ3VyYXRpb25SZWYgY29uZmlndXJhdGlvbiwgYm9vbCBrZWVwQW5kUmV1c2Up
Cit7CisgICAgdG9JbXBsKGNvbmZpZ3VyYXRpb24pLT5zZXRBbHdheXNLZWVwQW5kUmV1c2VTd2Fw
cGVkUHJvY2Vzc2VzKGtlZXBBbmRSZXVzZSk7Cit9CisKIGJvb2wgV0tDb250ZXh0Q29uZmlndXJh
dGlvblByb2Nlc3NTd2Fwc09uV2luZG93T3BlbldpdGhPcGVuZXIoV0tDb250ZXh0Q29uZmlndXJh
dGlvblJlZiBjb25maWd1cmF0aW9uKQogewogICAgIHJldHVybiB0b0ltcGwoY29uZmlndXJhdGlv
biktPnByb2Nlc3NTd2Fwc09uV2luZG93T3BlbldpdGhPcGVuZXIoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dENvbmZpZ3VyYXRpb25SZWYuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dENvbmZpZ3VyYXRpb25SZWYu
aAppbmRleCA3N2FlMTcxMzdlNS4uYTc1OTM0MjFkNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dENvbmZpZ3VyYXRpb25SZWYuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRDb25maWd1cmF0aW9uUmVmLmgKQEAg
LTcxLDYgKzcxLDkgQEAgV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0Q29uZmlndXJhdGlvblNldFNo
b3VsZENhcHR1cmVBdWRpb0luVUlQcm9jZXNzKFdLQ29udGV4dEMKIFdLX0VYUE9SVCBib29sIFdL
Q29udGV4dENvbmZpZ3VyYXRpb25Qcm9jZXNzU3dhcHNPbk5hdmlnYXRpb24oV0tDb250ZXh0Q29u
ZmlndXJhdGlvblJlZiBjb25maWd1cmF0aW9uKTsKIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dENv
bmZpZ3VyYXRpb25TZXRQcm9jZXNzU3dhcHNPbk5hdmlnYXRpb24oV0tDb250ZXh0Q29uZmlndXJh
dGlvblJlZiBjb25maWd1cmF0aW9uLCBib29sIHN3YXBzKTsKIAorV0tfRVhQT1JUIGJvb2wgV0tD
b250ZXh0Q29uZmlndXJhdGlvbkFsd2F5c0tlZXBBbmRSZXVzZVN3YXBwZWRQcm9jZXNzZXMoV0tD
b250ZXh0Q29uZmlndXJhdGlvblJlZiBjb25maWd1cmF0aW9uKTsKK1dLX0VYUE9SVCB2b2lkIFdL
Q29udGV4dENvbmZpZ3VyYXRpb25TZXRBbHdheXNLZWVwQW5kUmV1c2VTd2FwcGVkUHJvY2Vzc2Vz
KFdLQ29udGV4dENvbmZpZ3VyYXRpb25SZWYgY29uZmlndXJhdGlvbiwgYm9vbCBrZWVwQW5kUmV1
c2UpOworCiBXS19FWFBPUlQgYm9vbCBXS0NvbnRleHRDb25maWd1cmF0aW9uUHJvY2Vzc1N3YXBz
T25XaW5kb3dPcGVuV2l0aE9wZW5lcihXS0NvbnRleHRDb25maWd1cmF0aW9uUmVmIGNvbmZpZ3Vy
YXRpb24pOwogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0Q29uZmlndXJhdGlvblNldFByb2Nlc3NT
d2Fwc09uV2luZG93T3BlbldpdGhPcGVuZXIoV0tDb250ZXh0Q29uZmlndXJhdGlvblJlZiBjb25m
aWd1cmF0aW9uLCBib29sIHN3YXBzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oCmlu
ZGV4IDJhMTM3MjhiYjljLi42MDI5NWZlYTc2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24uaApAQCAtNTgsNiArNTgsNyBAQCBXS19DTEFTU19BVkFJTEFCTEUobWFjb3N4KDEwLjEwKSwg
aW9zKDguMCkpCiAjZW5kaWYKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBwaWRfdCBwcmVzZW50aW5n
QXBwbGljYXRpb25QSUQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkp
OwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcHJvY2Vzc1N3YXBzT25OYXZpZ2F0aW9uIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHBy
b3BlcnR5IChub25hdG9taWMpIEJPT0wgYWx3YXlzS2VlcEFuZFJldXNlU3dhcHBlZFByb2Nlc3Nl
cyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsK
IEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHByb2Nlc3NTd2Fwc09uV2luZG93T3BlbldpdGhP
cGVuZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJB
KSk7CiAKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tCmluZGV4IGNkMjlkYTg2
MzAyLi41NDdlYzg5NzhkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tCkBAIC0y
MzcsNiArMjM3LDE2IEBAIC0gKEJPT0wpcHJvY2Vzc1N3YXBzT25OYXZpZ2F0aW9uCiAgICAgcmV0
dXJuIF9wcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24tPnByb2Nlc3NTd2Fwc09uTmF2aWdhdGlvbigp
OwogfQogCistICh2b2lkKXNldEFsd2F5c0tlZXBBbmRSZXVzZVN3YXBwZWRQcm9jZXNzZXM6KEJP
T0wpc3dhcHMKK3sKKyAgICBfcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLT5zZXRBbHdheXNLZWVw
QW5kUmV1c2VTd2FwcGVkUHJvY2Vzc2VzKHN3YXBzKTsKK30KKworLSAoQk9PTClhbHdheXNLZWVw
QW5kUmV1c2VTd2FwcGVkUHJvY2Vzc2VzCit7CisgICAgcmV0dXJuIF9wcm9jZXNzUG9vbENvbmZp
Z3VyYXRpb24tPmFsd2F5c0tlZXBBbmRSZXVzZVN3YXBwZWRQcm9jZXNzZXMoKTsKK30KKwogLSAo
dm9pZClzZXRQcm9jZXNzU3dhcHNPbldpbmRvd09wZW5XaXRoT3BlbmVyOihCT09MKXN3YXBzCiB7
CiAgICAgX3Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi0+c2V0UHJvY2Vzc1N3YXBzT25XaW5kb3dP
cGVuV2l0aE9wZW5lcihzd2Fwcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9TdXNwZW5kZWRQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3VzcGVu
ZGVkUGFnZVByb3h5LmNwcAppbmRleCA2ZTA2NTNmZmUwMC4uMjY2NGQ5ZmYxZTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5LmNwcApAQCAtMTAyLDEw
ICsxMDIsMTYgQEAgdm9pZCBTdXNwZW5kZWRQYWdlUHJveHk6OndlYlByb2Nlc3NEaWRDbG9zZShX
ZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MpCiAgICAgbV9wcm9jZXNzLT5wcm9jZXNzUG9vbCgpLnVu
cmVnaXN0ZXJTdXNwZW5kZWRQYWdlUHJveHkoKnRoaXMpOwogICAgIG1fcHJvY2VzcyA9IG51bGxw
dHI7CiAKLSAgICBtX3BhZ2Uuc3VzcGVuZGVkUGFnZVByb2Nlc3NDbG9zZWQoKnRoaXMpOworICAg
IG1fcGFnZS5zdXNwZW5kZWRQYWdlQ2xvc2VkKCp0aGlzKTsKICAgICBtX2JhY2tGb3J3YXJkTGlz
dEl0ZW0tPnNldFN1c3BlbmRlZFBhZ2UobnVsbHB0cik7CiB9CiAKK3ZvaWQgU3VzcGVuZGVkUGFn
ZVByb3h5OjpkZXN0cm95V2ViUGFnZUluV2ViUHJvY2VzcygpCit7CisgICAgbV9wcm9jZXNzLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDbG9zZSgpLCBtX3BhZ2UucGFnZUlEKCkpOworICAgIG1f
cGFnZS5zdXNwZW5kZWRQYWdlQ2xvc2VkKCp0aGlzKTsKK30KKwogdm9pZCBTdXNwZW5kZWRQYWdl
UHJveHk6OmRpZEZpbmlzaExvYWQoKQogewogICAgIEFTU0VSVChtX3Byb2Nlc3MpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuaAppbmRleCA5OWQ5YjBjNjVl
Ni4uNWM4NGIyMjgyNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3Bl
bmRlZFBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBh
Z2VQcm94eS5oCkBAIC01NCw2ICs1NCw3IEBAIHB1YmxpYzoKICAgICBib29sIGZpbmlzaGVkU3Vz
cGVuZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fZmluaXNoZWRTdXNwZW5kaW5nOyB9CiAKICAgICB2
b2lkIHdlYlByb2Nlc3NEaWRDbG9zZShXZWJQcm9jZXNzUHJveHkmKTsKKyAgICB2b2lkIGRlc3Ry
b3lXZWJQYWdlSW5XZWJQcm9jZXNzKCk7CiAKICNpZiAhTE9HX0RJU0FCTEVECiAgICAgY29uc3Qg
Y2hhciogbG9nZ2luZ1N0cmluZygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKaW5kZXggMTRkZTVjNWNkMmQuLmYzNTE5MzFiNTk1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTY4Niw3ICs2ODYsNyBAQCBTdXNwZW5k
ZWRQYWdlUHJveHkqIFdlYlBhZ2VQcm94eTo6bWF5YmVDcmVhdGVTdXNwZW5kZWRQYWdlKFdlYlBy
b2Nlc3NQcm94eSYgcHJvYwogICAgIHJldHVybiBtX3N1c3BlbmRlZFBhZ2UuZ2V0KCk7CiB9CiAK
LXZvaWQgV2ViUGFnZVByb3h5OjpzdXNwZW5kZWRQYWdlUHJvY2Vzc0Nsb3NlZChTdXNwZW5kZWRQ
YWdlUHJveHkmIHBhZ2UpCit2b2lkIFdlYlBhZ2VQcm94eTo6c3VzcGVuZGVkUGFnZUNsb3NlZChT
dXNwZW5kZWRQYWdlUHJveHkmIHBhZ2UpCiB7CiAgICAgQVNTRVJUX1VOVVNFRChwYWdlLCAmcGFn
ZSA9PSBtX3N1c3BlbmRlZFBhZ2UuZ2V0KCkpOwogICAgIG1fc3VzcGVuZGVkUGFnZSA9IG51bGxw
dHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGYxMjMyNWE2NmFm
Li5hZjNkYzA0M2E0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAg
LTEyOTYsNyArMTI5Niw4IEBAIHB1YmxpYzoKICAgICBXZWJQcmVmZXJlbmNlc1N0b3JlIHByZWZl
cmVuY2VzU3RvcmUoKSBjb25zdDsKIAogICAgIFN1c3BlbmRlZFBhZ2VQcm94eSogbWF5YmVDcmVh
dGVTdXNwZW5kZWRQYWdlKFdlYlByb2Nlc3NQcm94eSYsIEFQSTo6TmF2aWdhdGlvbiYpOwotICAg
IHZvaWQgc3VzcGVuZGVkUGFnZVByb2Nlc3NDbG9zZWQoU3VzcGVuZGVkUGFnZVByb3h5Jik7Cisg
ICAgU3VzcGVuZGVkUGFnZVByb3h5KiBzdXNwZW5kZWRQYWdlKCkgY29uc3QgeyByZXR1cm4gbV9z
dXNwZW5kZWRQYWdlLmdldCgpOyB9CisgICAgdm9pZCBzdXNwZW5kZWRQYWdlQ2xvc2VkKFN1c3Bl
bmRlZFBhZ2VQcm94eSYpOwogCiBwcml2YXRlOgogICAgIFdlYlBhZ2VQcm94eShQYWdlQ2xpZW50
JiwgV2ViUHJvY2Vzc1Byb3h5JiwgdWludDY0X3QgcGFnZUlELCBSZWY8QVBJOjpQYWdlQ29uZmln
dXJhdGlvbj4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAK
aW5kZXggMmJhNDQwYTkzMjEuLmZiZGJmNDdiYzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC05NzUsNyArOTc1LDcgQEAgYm9vbCBXZWJQcm9jZXNz
UG9vbDo6c2hvdWxkVGVybWluYXRlKFdlYlByb2Nlc3NQcm94eSogcHJvY2VzcykKIHsKICAgICBB
U1NFUlQobV9wcm9jZXNzZXMuY29udGFpbnMocHJvY2VzcykpOwogCi0gICAgaWYgKCFtX3Byb2Nl
c3NUZXJtaW5hdGlvbkVuYWJsZWQpCisgICAgaWYgKCFtX3Byb2Nlc3NUZXJtaW5hdGlvbkVuYWJs
ZWQgfHwgbV9jb25maWd1cmF0aW9uLT5hbHdheXNLZWVwQW5kUmV1c2VTd2FwcGVkUHJvY2Vzc2Vz
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHJldHVybiB0cnVlOwpAQCAtMTA0MCw2
ICsxMDQwLDggQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6ZGlzY29ubmVjdFByb2Nlc3MoV2ViUHJv
Y2Vzc1Byb3h5KiBwcm9jZXNzKQogICAgICAgICBwcm9jZXNzU3RvcHBlZFVzaW5nR2FtZXBhZHMo
KnByb2Nlc3MpOwogI2VuZGlmCiAKKyAgICByZW1vdmVQcm9jZXNzRnJvbU9yaWdpbkNhY2hlU2V0
KCpwcm9jZXNzKTsKKwogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICAvLyBGSVhNRTog
V2Ugc2hvdWxkIGRvIGJldHRlciB0aGFuIHRoaXMuIEZvciBub3csIHdlIGp1c3QgZGVzdHJveSB0
aGUgU2VydmljZVdvcmtlciBwcm9jZXNzCiAgICAgLy8gd2hlbmV2ZXIgdGhlcmUgaXMgbm8gcmVn
dWxhciBXZWJDb250ZW50IHByb2Nlc3MgcmVtYWluaW5nLgpAQCAtMjAxNiw3ICsyMDE4LDUyIEBA
IFNlcnZpY2VXb3JrZXJQcm9jZXNzUHJveHkqIFdlYlByb2Nlc3NQb29sOjpzZXJ2aWNlV29ya2Vy
UHJvY2Vzc1Byb3h5RnJvbVBhZ2VJRCh1CiB9CiAjZW5kaWYKIAordm9pZCBXZWJQcm9jZXNzUG9v
bDo6YWRkUHJvY2Vzc1RvT3JpZ2luQ2FjaGVTZXQoV2ViUGFnZVByb3h5JiBwYWdlKQoreworICAg
IGF1dG8gb3JpZ2luID0gU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tVVJMKHsgUGFyc2VkVVJMU3Ry
aW5nLCBwYWdlLnBhZ2VMb2FkU3RhdGUoKS51cmwoKSB9KTsKKyAgICBhdXRvIHJlc3VsdCA9IG1f
c3dhcHBlZFByb2Nlc3Nlcy5hZGQob3JpZ2luLCAmcGFnZS5wcm9jZXNzKCkpOworICAgIGlmICgh
cmVzdWx0LmlzTmV3RW50cnkpCisgICAgICAgIHJlc3VsdC5pdGVyYXRvci0+dmFsdWUgPSAmcGFn
ZS5wcm9jZXNzKCk7CisKKyAgICBMT0coUHJvY2Vzc1N3YXBwaW5nLCAiKFByb2Nlc3NTd2FwcGlu
ZykgU2VjdXJpdHkgb3JpZ2luICVzIGp1c3Qgc2F2ZWQgYSBjYWNoZWQgcHJvY2VzcyB3aXRoIHBp
ZCAlaSIsIG9yaWdpbi5kZWJ1Z1N0cmluZygpLnV0ZjgoKS5kYXRhKCksIHBhZ2UucHJvY2Vzcygp
LnByb2Nlc3NJZGVudGlmaWVyKCkpOworICAgIGlmICghcmVzdWx0LmlzTmV3RW50cnkpCisgICAg
ICAgIExPRyhQcm9jZXNzU3dhcHBpbmcsICIoUHJvY2Vzc1N3YXBwaW5nKSBOb3RlOiBJdCBhbHJl
YWR5IGhhZCBvbmUgc2F2ZWQiKTsKK30KKwordm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVtb3ZlUHJv
Y2Vzc0Zyb21PcmlnaW5DYWNoZVNldChXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MpCit7CisgICAg
TE9HKFByb2Nlc3NTd2FwcGluZywgIihQcm9jZXNzU3dhcHBpbmcpIFJlbW92aW5nIHByb2Nlc3Mg
d2l0aCBwaWQgJWkgZnJvbSB0aGUgb3JpZ2luIGNhY2hlIHNldCIsIHByb2Nlc3MucHJvY2Vzc0lk
ZW50aWZpZXIoKSk7CisKKyAgICAvLyBGSVhNRTogVGhpcyBjYW4gYmUgdmVyeSBpbmVmZmljaWVu
dCBhcyB0aGUgbnVtYmVyIG9mIHJlbWVtYmVyZWQgb3JpZ2lucyBhbmQgcHJvY2Vzc2VzIGdyb3dz
CisgICAgVmVjdG9yPFNlY3VyaXR5T3JpZ2luRGF0YT4gb3JpZ2luc1RvUmVtb3ZlOworICAgIGZv
ciAoYXV0byBlbnRyeSA6IG1fc3dhcHBlZFByb2Nlc3NlcykgeworICAgICAgICBpZiAoZW50cnku
dmFsdWUgPT0gJnByb2Nlc3MpCisgICAgICAgICAgICBvcmlnaW5zVG9SZW1vdmUuYXBwZW5kKGVu
dHJ5LmtleSk7CisgICAgfQorCisgICAgZm9yIChhdXRvJiBvcmlnaW4gOiBvcmlnaW5zVG9SZW1v
dmUpCisgICAgICAgIG1fc3dhcHBlZFByb2Nlc3Nlcy5yZW1vdmUob3JpZ2luKTsKK30KKwogUmVm
PFdlYlByb2Nlc3NQcm94eT4gV2ViUHJvY2Vzc1Bvb2w6OnByb2Nlc3NGb3JOYXZpZ2F0aW9uKFdl
YlBhZ2VQcm94eSYgcGFnZSwgY29uc3QgQVBJOjpOYXZpZ2F0aW9uJiBuYXZpZ2F0aW9uLCBQb2xp
Y3lBY3Rpb24mIGFjdGlvbikKK3sKKyAgICBhdXRvIHByb2Nlc3MgPSBwcm9jZXNzRm9yTmF2aWdh
dGlvbkludGVybmFsKHBhZ2UsIG5hdmlnYXRpb24sIGFjdGlvbik7CisKKyAgICBpZiAobV9jb25m
aWd1cmF0aW9uLT5hbHdheXNLZWVwQW5kUmV1c2VTd2FwcGVkUHJvY2Vzc2VzKCkgJiYgcHJvY2Vz
cy5wdHIoKSAhPSAmcGFnZS5wcm9jZXNzKCkpIHsKKyAgICAgICAgc3RhdGljIHN0ZDo6b25jZV9m
bGFnIG9uY2VGbGFnOworICAgICAgICBzdGQ6OmNhbGxfb25jZShvbmNlRmxhZywgW10geworICAg
ICAgICAgICAgV1RGTG9nQWx3YXlzKCJXQVJOSU5HOiBUaGUgb3B0aW9uIHRvIGFsd2F5cyBrZWVw
IHN3YXBwZWQgd2ViIHByb2Nlc3NlcyBhbGl2ZSBpcyBhY3RpdmUuIFRoaXMgaXMgbWVhbnQgZm9y
IGRlYnVnZ2luZyBhbmQgdGVzdGluZyBvbmx5LiIpOworICAgICAgICB9KTsKKworICAgICAgICBh
ZGRQcm9jZXNzVG9PcmlnaW5DYWNoZVNldChwYWdlKTsKKworICAgICAgICBMT0coUHJvY2Vzc1N3
YXBwaW5nLCAiKFByb2Nlc3NTd2FwcGluZykgTmF2aWdhdGluZyBmcm9tICVzIHRvICVzLCBrZWVw
aW5nIGFyb3VuZCBvbGQgcHJvY2Vzcy4gTm93IGhvbGRpbmcgb24gdG8gb2xkIHByb2Nlc3NlcyBm
b3IgJXUgb3JpZ2lucy4iLCBwYWdlLmN1cnJlbnRVUkwoKS51dGY4KCkuZGF0YSgpLCBuYXZpZ2F0
aW9uLmN1cnJlbnRSZXF1ZXN0KCkudXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgbV9zd2Fw
cGVkUHJvY2Vzc2VzLnNpemUoKSk7CisgICAgfQorCisgICAgcmV0dXJuIHByb2Nlc3M7Cit9CisK
K1JlZjxXZWJQcm9jZXNzUHJveHk+IFdlYlByb2Nlc3NQb29sOjpwcm9jZXNzRm9yTmF2aWdhdGlv
bkludGVybmFsKFdlYlBhZ2VQcm94eSYgcGFnZSwgY29uc3QgQVBJOjpOYXZpZ2F0aW9uJiBuYXZp
Z2F0aW9uLCBQb2xpY3lBY3Rpb24mIGFjdGlvbikKIHsKICAgICBpZiAoIW1fY29uZmlndXJhdGlv
bi0+cHJvY2Vzc1N3YXBzT25OYXZpZ2F0aW9uKCkpCiAgICAgICAgIHJldHVybiBwYWdlLnByb2Nl
c3MoKTsKQEAgLTIwNDksNiArMjA5NiwyOCBAQCBSZWY8V2ViUHJvY2Vzc1Byb3h5PiBXZWJQcm9j
ZXNzUG9vbDo6cHJvY2Vzc0Zvck5hdmlnYXRpb24oV2ViUGFnZVByb3h5JiBwYWdlLCBjbwogICAg
IGlmICghdXJsLmlzVmFsaWQoKSB8fCB1cmwuaXNFbXB0eSgpIHx8IHVybC5pc0JsYW5rVVJMKCkg
fHwgcHJvdG9jb2xIb3N0QW5kUG9ydEFyZUVxdWFsKHVybCwgdGFyZ2V0VVJMKSkKICAgICAgICAg
cmV0dXJuIHBhZ2UucHJvY2VzcygpOwogCisgICAgaWYgKG1fY29uZmlndXJhdGlvbi0+YWx3YXlz
S2VlcEFuZFJldXNlU3dhcHBlZFByb2Nlc3NlcygpKSB7CisgICAgICAgIGF1dG8gb3JpZ2luID0g
U2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tVVJMKHRhcmdldFVSTCk7CisgICAgICAgIExPRyhQcm9j
ZXNzU3dhcHBpbmcsICIoUHJvY2Vzc1N3YXBwaW5nKSBDb25zaWRlcmluZyByZS11c2Ugb2YgYSBw
cmV2aW91c2x5IGNhY2hlZCBwcm9jZXNzIHRvIFVSTCAlcyIsIG9yaWdpbi5kZWJ1Z1N0cmluZygp
LnV0ZjgoKS5kYXRhKCkpOworCisgICAgICAgIGlmIChhdXRvKiBwcm9jZXNzID0gbV9zd2FwcGVk
UHJvY2Vzc2VzLmdldChvcmlnaW4pKSB7CisgICAgICAgICAgICBpZiAoJnByb2Nlc3MtPndlYnNp
dGVEYXRhU3RvcmUoKSA9PSAmcGFnZS53ZWJzaXRlRGF0YVN0b3JlKCkpIHsKKyAgICAgICAgICAg
ICAgICBMT0coUHJvY2Vzc1N3YXBwaW5nLCAiKFByb2Nlc3NTd2FwcGluZykgUmV1c2luZyBhIHBy
ZXZpb3VzbHkgY2FjaGVkIHByb2Nlc3Mgd2l0aCBwaWQgJWkgdG8gY29udGludWUgbmF2aWdhdGlv
biB0byBVUkwgJXMiLCBwcm9jZXNzLT5wcm9jZXNzSWRlbnRpZmllcigpLCB0YXJnZXRVUkwuc3Ry
aW5nKCkudXRmOCgpLmRhdGEoKSk7CisKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogQXJjaGl0
ZWN0dXJhbGx5IHdlIGRvIG5vdCBjdXJyZW50bHkgc3VwcG9ydCBtdWx0aXBsZSBXZWJQYWdlJ3Mg
d2l0aCB0aGUgc2FtZSBJRCBpbiBhIGdpdmVuIFdlYlByb2Nlc3MuCisgICAgICAgICAgICAgICAg
Ly8gSW4gdGhlIGNhc2Ugd2hlcmUgdGhpcyBXZWJQcm9jZXNzIGhhcyBhIFN1c3BlbmRlZFBhZ2VQ
cm94eSBmb3IgdGhpcyBXZWJQYWdlLCB3ZSBjYW4gdGhyb3cgaXQgYXdheSB0byBzdXBwb3J0Cisg
ICAgICAgICAgICAgICAgLy8gV2ViUHJvY2VzcyByZS11c2UuCisgICAgICAgICAgICAgICAgLy8g
SW4gdGhlIGZ1dHVyZSBpdCB3b3VsZCBiZSBncmVhdCB0byByZWZhY3Rvci1vdXQgdGhpcyBsaW1p
dGF0aW9uLgorICAgICAgICAgICAgICAgIGlmIChhdXRvKiBzdXNwZW5kZWRQYWdlID0gcGFnZS5z
dXNwZW5kZWRQYWdlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgTE9HKFByb2Nlc3NTd2FwcGlu
ZywgIihQcm9jZXNzU3dhcHBpbmcpIERlc3Ryb3lpbmcgc3VzcGVuZGVkIHBhZ2UgZm9yIHRoYXQg
c3dhcCIpOworICAgICAgICAgICAgICAgICAgICBzdXNwZW5kZWRQYWdlLT5kZXN0cm95V2ViUGFn
ZUluV2ViUHJvY2VzcygpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHJl
dHVybiBtYWtlUmVmKCpwcm9jZXNzKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0K
KwogICAgIGFjdGlvbiA9IFBvbGljeUFjdGlvbjo6U3VzcGVuZDsKICAgICBpZiAoUmVmUHRyPFdl
YlByb2Nlc3NQcm94eT4gcHJvY2VzcyA9IHRyeVRha2VQcmV3YXJtZWRQcm9jZXNzKHBhZ2Uud2Vi
c2l0ZURhdGFTdG9yZSgpKSkKICAgICAgICAgcmV0dXJuIHByb2Nlc3MucmVsZWFzZU5vbk51bGwo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IDk0M2VlYzQx
ZDQyLi44YzZhNTdjZDEwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5oCkBAIC00NTYsNiArNDU2LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlh
bGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpOwogICAgIHZvaWQg
cGxhdGZvcm1JbnZhbGlkYXRlQ29udGV4dCgpOwogCisgICAgUmVmPFdlYlByb2Nlc3NQcm94eT4g
cHJvY2Vzc0Zvck5hdmlnYXRpb25JbnRlcm5hbChXZWJQYWdlUHJveHkmLCBjb25zdCBBUEk6Ok5h
dmlnYXRpb24mLCBXZWJDb3JlOjpQb2xpY3lBY3Rpb24mKTsKKwogICAgIFJlZlB0cjxXZWJQcm9j
ZXNzUHJveHk+IHRyeVRha2VQcmV3YXJtZWRQcm9jZXNzKFdlYnNpdGVEYXRhU3RvcmUmKTsKIAog
ICAgIFdlYlByb2Nlc3NQcm94eSYgY3JlYXRlTmV3V2ViUHJvY2VzcyhXZWJzaXRlRGF0YVN0b3Jl
JiwgV2ViUHJvY2Vzc1Byb3h5OjpJc0luUHJld2FybWVkUG9vbCA9IFdlYlByb2Nlc3NQcm94eTo6
SXNJblByZXdhcm1lZFBvb2w6Ok5vKTsKQEAgLTUxMyw2ICs1MTUsOSBAQCBwcml2YXRlOgogICAg
IHZvaWQgcmVzb2x2ZVBhdGhzRm9yU2FuZGJveEV4dGVuc2lvbnMoKTsKICAgICB2b2lkIHBsYXRm
b3JtUmVzb2x2ZVBhdGhzRm9yU2FuZGJveEV4dGVuc2lvbnMoKTsKIAorICAgIHZvaWQgYWRkUHJv
Y2Vzc1RvT3JpZ2luQ2FjaGVTZXQoV2ViUGFnZVByb3h5Jik7CisgICAgdm9pZCByZW1vdmVQcm9j
ZXNzRnJvbU9yaWdpbkNhY2hlU2V0KFdlYlByb2Nlc3NQcm94eSYpOworCiAgICAgUmVmPEFQSTo6
UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uPiBtX2NvbmZpZ3VyYXRpb247CiAKICAgICBJUEM6Ok1l
c3NhZ2VSZWNlaXZlck1hcCBtX21lc3NhZ2VSZWNlaXZlck1hcDsKQEAgLTY4OCw2ICs2OTMsNyBA
QCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBIYXNoTWFwPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
RGF0YSwgVmVjdG9yPFN1c3BlbmRlZFBhZ2VQcm94eSo+PiBtX3N1c3BlbmRlZFBhZ2VzOworICAg
IEhhc2hNYXA8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhLCBSZWZQdHI8V2ViUHJvY2Vzc1By
b3h5Pj4gbV9zd2FwcGVkUHJvY2Vzc2VzOwogfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggYTBkYTcx
MmI1NGQuLmNjMWM2MDExMWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcApAQCAtNTI3LDcgKzUyNyw3IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0
X3QgcGFnZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICBt
X3VzZXJBZ2VudCA9IHBhcmFtZXRlcnMudXNlckFnZW50OwogICAgIAogICAgIGlmICghcGFyYW1l
dGVycy5pdGVtU3RhdGVzLmlzRW1wdHkoKSkKLSAgICAgICAgcmVzdG9yZVNlc3Npb25JbnRlcm5h
bChwYXJhbWV0ZXJzLml0ZW1TdGF0ZXMsIFdhc1Jlc3RvcmVkQnlBUElSZXF1ZXN0OjpObywgV2Vi
QmFja0ZvcndhcmRMaXN0UHJveHk6Ok92ZXJ3cml0ZUV4aXN0aW5nSXRlbTo6Tm8pOworICAgICAg
ICByZXN0b3JlU2Vzc2lvbkludGVybmFsKHBhcmFtZXRlcnMuaXRlbVN0YXRlcywgV2FzUmVzdG9y
ZWRCeUFQSVJlcXVlc3Q6Ok5vLCBXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6T3ZlcndyaXRlRXhp
c3RpbmdJdGVtOjpZZXMpOwogCiAgICAgaWYgKHBhcmFtZXRlcnMuc2Vzc2lvbklELmlzVmFsaWQo
KSkKICAgICAgICAgc2V0U2Vzc2lvbklEKHBhcmFtZXRlcnMuc2Vzc2lvbklEKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyZWYyODc0ZjQ5Ni4u
ZmE4YzRkZTBiYjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxOC0wNC0yNSAgQnJhZHkgRWlkc29uICA8YmVpZHNv
bkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgc2V0dGluZyBmb3Iga2VlcGluZyBhcm91bmQg
YWxsIHByb2Nlc3NlcyBhbmQgYWx3YXlzIHJldXNpbmcgdGhlbSBwZXItb3JpZ2luLgorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMzk2OTU3OTg+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTg1MDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NT
d2FwT25OYXZpZ2F0aW9uLm1tOgorCiAyMDE4LTA0LTI1ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAg
PGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBJbmNvcnJlY3QgbnVtYmVyIG9mIFdlYkRy
aXZlciB0ZXN0IGZhaWx1cmVzIHNob3duIGluIHRoZSBib3RzCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1t
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2
aWdhdGlvbi5tbQppbmRleCA3MmQ4OGViNjMzZi4uMzhhNzJlOWM2NWYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRp
b24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNz
U3dhcE9uTmF2aWdhdGlvbi5tbQpAQCAtMTA1NCw0ICsxMDU0LDUxIEBAIFRFU1QoUHJvY2Vzc1N3
YXAsIExvYWRVbmxvYWQpCiB9CiAjZW5kaWYgLy8gIVRBUkdFVF9PU19JUEhPTkUKIAorVEVTVChQ
cm9jZXNzU3dhcCwgUHJvY2Vzc1JldXNlKQoreworICAgIGF1dG8gcHJvY2Vzc1Bvb2xDb25maWd1
cmF0aW9uID0gYWRvcHROUyhbW19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbiBhbGxvY10gaW5p
dF0pOworICAgIFtwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gc2V0UHJvY2Vzc1N3YXBzT25OYXZp
Z2F0aW9uOllFU107CisgICAgW3Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbiBzZXRBbHdheXNLZWVw
QW5kUmV1c2VTd2FwcGVkUHJvY2Vzc2VzOllFU107CisgICAgYXV0byBwcm9jZXNzUG9vbCA9IGFk
b3B0TlMoW1tXS1Byb2Nlc3NQb29sIGFsbG9jXSBfaW5pdFdpdGhDb25maWd1cmF0aW9uOnByb2Nl
c3NQb29sQ29uZmlndXJhdGlvbi5nZXQoKV0pOworCisgICAgYXV0byB3ZWJWaWV3Q29uZmlndXJh
dGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7Cisg
ICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFByb2Nlc3NQb29sOnByb2Nlc3NQb29sLmdldCgp
XTsKKyAgICBhdXRvIGhhbmRsZXIgPSBhZG9wdE5TKFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdF0p
OworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIu
Z2V0KCkgZm9yVVJMU2NoZW1lOkAiUFNPTiJdOworCisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHRO
UyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwg
NjAwKSBjb25maWd1cmF0aW9uOndlYlZpZXdDb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAgYXV0
byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tQU09OTmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0
XSk7CisgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsK
KworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhV
Ukw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vaG9zdDEvbWFpbi5odG1sIl1dOworICAg
IFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICBhdXRvIHBpZDEgPSBbd2Vi
VmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOworCisgICAgcmVxdWVzdCA9IFtOU1VSTFJlcXVl
c3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vaG9zdDIvbWFp
bi5odG1sIl1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworCisgICAgVGVz
dFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICBh
dXRvIHBpZDIgPSBbd2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOworCisgICAgcmVxdWVz
dCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJw
c29uOi8vaG9zdDEvbWFpbjIuaHRtbCJdXTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1
ZXN0XTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9
IGZhbHNlOworCisgICAgYXV0byBwaWQzID0gW3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVy
XTsKKworICAgIC8vIFR3byBwcm9jZXNzIHN3YXBzIGhhdmUgb2NjdXJyZWQsIGJ1dCB3ZSBzaG91
bGQgb25seSBoYXZlIGV2ZXIgc2VlbiAyIHBpZHMuCisgICAgRVhQRUNUX0VRKDJ1LCBzZWVuUElE
cy5zaXplKCkpOworICAgIEVYUEVDVF9ORShwaWQxLCBwaWQyKTsKKyAgICBFWFBFQ1RfTkUocGlk
MiwgcGlkMyk7CisgICAgRVhQRUNUX0VRKHBpZDEsIHBpZDMpOworfQorCiAjZW5kaWYgLy8gV0tf
QVBJX0VOQUJMRUQK
</data>

          </attachment>
      

    </bug>

</bugzilla>