<?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>227468</bug_id>
          
          <creation_ts>2021-06-28 15:54:50 -0700</creation_ts>
          <short_desc>NetworkProcessProxy::networkProcessDidTerminate() should copy process pools before iterating over them</short_desc>
          <delta_ts>2021-06-28 17:26:25 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ggaren</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1773245</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-28 15:54:50 -0700</bug_when>
    <thetext>NetworkProcessProxy::networkProcessDidTerminate() should copy process pools before iterating over them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773246</commentid>
    <comment_count>1</comment_count>
      <attachid>432437</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-28 15:55:58 -0700</bug_when>
    <thetext>Created attachment 432437
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773248</commentid>
    <comment_count>2</comment_count>
      <attachid>432437</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-06-28 15:57:36 -0700</bug_when>
    <thetext>Comment on attachment 432437
Patch

WebProcessPool::allProcessPools should probably return a Vector&lt;Ref&lt;WebProcessPool&gt;&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773249</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-28 15:59:24 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #2)
&gt; Comment on attachment 432437 [details]
&gt; Patch
&gt; 
&gt; WebProcessPool::allProcessPools should probably return a
&gt; Vector&lt;Ref&lt;WebProcessPool&gt;&gt;

Seems like this would be unnecessarily inefficient for call sites that do not need copying/ref&apos;ing (e.g. the ones that only do IPC).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773251</commentid>
    <comment_count>4</comment_count>
      <attachid>432437</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-06-28 15:59:51 -0700</bug_when>
    <thetext>Comment on attachment 432437
Patch

It would also be safer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773263</commentid>
    <comment_count>5</comment_count>
      <attachid>432440</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-28 16:27:34 -0700</bug_when>
    <thetext>Created attachment 432440
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773281</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-28 17:25:02 -0700</bug_when>
    <thetext>Committed r279354 (239222@main): &lt;https://commits.webkit.org/239222@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 432440.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773282</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-28 17:26:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/79890078&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432437</attachid>
            <date>2021-06-28 15:55:58 -0700</date>
            <delta_ts>2021-06-28 16:27:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227468-20210628155558.patch</filename>
            <type>text/plain</type>
            <size>1692</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU0Y2NjZTg4YTZlYmE0MmY1
OTRlYzdkY2JiZjY0MDg1YWY5NjU3NjYuLjg4MDk4ZGQwMjNhODFkZTQ5NDIxMjA2MDEwYWFmZTM2
NjllMTBiNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDYtMjggIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrUHJvY2Vzc1Byb3h5Ojpu
ZXR3b3JrUHJvY2Vzc0RpZFRlcm1pbmF0ZSgpIHNob3VsZCBjb3B5IHByb2Nlc3MgcG9vbHMgYmVm
b3JlIGl0ZXJhdGluZyBvdmVyIHRoZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNzQ2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6Om5ldHdvcmtQcm9jZXNz
RGlkVGVybWluYXRlKToKKwogMjAyMS0wNi0yOCAgUGVyIEFybmUgIDxwdm9sbGFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBQYXNzIGNvcnJlY3QgdmFsdWUgb2YgQVggcGVyIGFwcCBzZXR0aW5ncyB0
byB0aGUgV2ViQ29udGVudCBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA3MmM0YTlmOWE3ZTVk
MmRiNTlkMzg1NzMyYzkyNTZmOTk1NmJkNDQzLi4wNDM0OTU3MmE4NmFkMGMzMDJiMDQ5ODZiNDc5
ZDgxY2VjZjNiYjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3Jr
L05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05l
dHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKQEAgLTMyMyw3ICszMjMsNyBAQCB2b2lkIE5l
dHdvcmtQcm9jZXNzUHJveHk6Om5ldHdvcmtQcm9jZXNzRGlkVGVybWluYXRlKFRlcm1pbmF0aW9u
UmVhc29uIHJlYXNvbikKICAgICBpZiAoZGVmYXVsdE5ldHdvcmtQcm9jZXNzKCkgPT0gdGhpcykK
ICAgICAgICAgZGVmYXVsdE5ldHdvcmtQcm9jZXNzKCkgPSBudWxscHRyOwogCi0gICAgZm9yIChh
dXRvKiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQcm9jZXNzUG9vbHMoKSkKKyAg
ICBmb3IgKGF1dG8mIHByb2Nlc3NQb29sIDogY29weVRvVmVjdG9yT2Y8UmVmUHRyPFdlYlByb2Nl
c3NQb29sPj4oV2ViUHJvY2Vzc1Bvb2w6OmFsbFByb2Nlc3NQb29scygpKSkKICAgICAgICAgcHJv
Y2Vzc1Bvb2wtPm5ldHdvcmtQcm9jZXNzRGlkVGVybWluYXRlKCp0aGlzLCByZWFzb24pOwogICAg
IGZvciAoYXV0byYgd2Vic2l0ZURhdGFTdG9yZSA6IGNvcHlUb1ZlY3Rvck9mPFJlZjxXZWJzaXRl
RGF0YVN0b3JlPj4obV93ZWJzaXRlRGF0YVN0b3JlcykpCiAgICAgICAgIHdlYnNpdGVEYXRhU3Rv
cmUtPm5ldHdvcmtQcm9jZXNzRGlkVGVybWluYXRlKCp0aGlzKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432440</attachid>
            <date>2021-06-28 16:27:34 -0700</date>
            <delta_ts>2021-06-28 17:25:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227468-20210628162733.patch</filename>
            <type>text/plain</type>
            <size>17625</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU0Y2NjZTg4YTZlYmE0MmY1
OTRlYzdkY2JiZjY0MDg1YWY5NjU3NjYuLjBmZGIyNTk0ODhhNGI3ZGU3M2I4ZWRmZTc4ZmMyMTc1
YzMxYjlkN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDYtMjggIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrUHJvY2Vzc1Byb3h5Ojpu
ZXR3b3JrUHJvY2Vzc0RpZFRlcm1pbmF0ZSgpIHNob3VsZCBjb3B5IHByb2Nlc3MgcG9vbHMgYmVm
b3JlIGl0ZXJhdGluZyBvdmVyIHRoZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNzQ2OAorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0
ZW5zZW4uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6bmV0d29ya1Byb2Nl
c3NEaWRUZXJtaW5hdGUpOgorCiAyMDIxLTA2LTI4ICBQZXIgQXJuZSAgPHB2b2xsYW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFBhc3MgY29ycmVjdCB2YWx1ZSBvZiBBWCBwZXIgYXBwIHNldHRpbmdz
IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0FQSS9BUElVUkxSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElV
UkxSZXF1ZXN0LmNwcAppbmRleCA3M2QxZjc0ZjNmZjliZTkyMTNiNzRlZjdkYmYwMzBjYWRmOWYz
MjYzLi44MjhiZDVlMzE2NWFkZTFiYjZmNzAwMzg1ZmJiYTMyODVkYzM0ODAxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJVVJMUmVxdWVzdC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQVBJL0FQSVVSTFJlcXVlc3QuY3BwCkBAIC00OCw3ICs0OCw3IEBAIHZv
aWQgVVJMUmVxdWVzdDo6c2V0RGVmYXVsdFRpbWVvdXRJbnRlcnZhbChkb3VibGUgdGltZW91dElu
dGVydmFsKQogewogICAgIFJlc291cmNlUmVxdWVzdDo6c2V0RGVmYXVsdFRpbWVvdXRJbnRlcnZh
bCh0aW1lb3V0SW50ZXJ2YWwpOwogCi0gICAgZm9yIChhdXRvKiBwcm9jZXNzUG9vbCA6IFdlYlBy
b2Nlc3NQb29sOjphbGxQcm9jZXNzUG9vbHMoKSkKKyAgICBmb3IgKGF1dG8mIHByb2Nlc3NQb29s
IDogV2ViUHJvY2Vzc1Bvb2w6OmFsbFByb2Nlc3NQb29scygpKQogICAgICAgICBwcm9jZXNzUG9v
bC0+c2V0RGVmYXVsdFJlcXVlc3RUaW1lb3V0SW50ZXJ2YWwodGltZW91dEludGVydmFsKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vz
c1Bvb2wubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9v
bC5tbQppbmRleCAyYTVhNWQ3NDAwZmY2OTJhNzNlNzg1YzhjOWFmYTgxZTk0MWVjNmFlLi5lYjRj
Zjk0ZjY2NjY5N2ZkNTNkNTljMGRjZjQwNjFhMmQ1OWFjOWYyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5tbQpAQCAtMTc2LDcgKzE3
Niw3IEBAICsgKFdLUHJvY2Vzc1Bvb2wgKilfc2hhcmVkUHJvY2Vzc1Bvb2wKICsgKE5TQXJyYXk8
V0tQcm9jZXNzUG9vbCAqPiAqKV9hbGxQcm9jZXNzUG9vbHNGb3JUZXN0aW5nCiB7CiAgICAgcmV0
dXJuIGNyZWF0ZU5TQXJyYXkoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bvb2xz
KCksIFtdIChhdXRvJiBwb29sKSB7Ci0gICAgICAgIHJldHVybiB3cmFwcGVyKCpwb29sKTsKKyAg
ICAgICAgcmV0dXJuIHdyYXBwZXIocG9vbC5nZXQoKSk7CiAgICAgfSkuYXV0b3JlbGVhc2UoKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5j
ZU9ic2VydmVyLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9i
c2VydmVyLm1tCmluZGV4IGU0YTYyODVmYTA3MDBjNTE0MTg5NTI5NTFjOWU5YjVkMzkyZWY3OTYu
LjcyMWExNTQwNmNlMzlmMmFhNGMyMDNlYTNmNjdiNjJlMmU3MGY3NDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ByZWZlcmVuY2VPYnNlcnZlci5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QcmVmZXJlbmNlT2JzZXJ2ZXIubW0KQEAgLTE4
MCw3ICsxODAsNyBAQCAtICh2b2lkKXByZWZlcmVuY2VEaWRDaGFuZ2U6KE5TU3RyaW5nICopZG9t
YWluIGtleTooTlNTdHJpbmcgKilrZXkgZW5jb2RlZFZhbHVlOgogICAgICAgICBpZiAoZW5jb2Rl
ZFZhbHVlKQogICAgICAgICAgICAgZW5jb2RlZFN0cmluZyA9IFN0cmluZyhlbmNvZGVkVmFsdWUu
Z2V0KCkpOwogCi0gICAgICAgIGZvciAoYXV0byogcHJvY2Vzc1Bvb2wgOiBXZWJLaXQ6OldlYlBy
b2Nlc3NQb29sOjphbGxQcm9jZXNzUG9vbHMoKSkKKyAgICAgICAgZm9yIChhdXRvJiBwcm9jZXNz
UG9vbCA6IFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmFsbFByb2Nlc3NQb29scygpKQogICAgICAg
ICAgICAgcHJvY2Vzc1Bvb2wtPm5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZChkb21haW4uZ2V0KCks
IGtleS5nZXQoKSwgZW5jb2RlZFN0cmluZyk7CiAgICAgfSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hl
ci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLRnVsbEtleWJvYXJkQWNjZXNz
V2F0Y2hlci5tbQppbmRleCAwMzM5YTQ1ZTdkNmQ3MDU2NmFkMzQyZDZlYTRhOWZkMDFiMTkxMTRm
Li44YzhhNTExM2Q3NzVjNGQ4MmYxMDU5NWNjMTY0MzljZmZiZTM4NGY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tGdWxsS2V5Ym9hcmRBY2Nl
c3NXYXRjaGVyLm1tCkBAIC02NCw3ICs2NCw3IEBAIHN0YXRpYyBpbmxpbmUgQk9PTCBwbGF0Zm9y
bUlzRnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZCgpCiAKIC0gKHZvaWQpbm90aWZ5QWxsUHJvY2Vz
c1Bvb2xzCiB7Ci0gICAgZm9yIChhdXRvKiBwcm9jZXNzUG9vbCA6IFdlYktpdDo6V2ViUHJvY2Vz
c1Bvb2w6OmFsbFByb2Nlc3NQb29scygpKQorICAgIGZvciAoYXV0byYgcHJvY2Vzc1Bvb2wgOiBX
ZWJLaXQ6OldlYlByb2Nlc3NQb29sOjphbGxQcm9jZXNzUG9vbHMoKSkKICAgICAgICAgcHJvY2Vz
c1Bvb2wtPmZ1bGxLZXlib2FyZEFjY2Vzc01vZGVDaGFuZ2VkKGZ1bGxLZXlib2FyZEFjY2Vzc0Vu
YWJsZWQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJJbnNwZWN0b3JQcmVmZXJlbmNlT2JzZXJ2ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJJbnNwZWN0b3JQcmVmZXJlbmNlT2JzZXJ2ZXIubW0KaW5kZXggZGNkNzc0ZmE0
OTZkM2YzNzNkYzFkMzc5NTkyMjgyMTUxOGQ4YmUxMC4uOTIwNWMxNjE3OTQzY2E1YTA2ZTBhOGQz
NTU5ZTc1MDgzNmRjZmZiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2VydmVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYkluc3BlY3RvclByZWZlcmVuY2VPYnNlcnZlci5tbQpAQCAtNjQs
NyArNjQsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdAogLSAodm9pZClvYnNlcnZlVmFsdWVGb3JL
ZXlQYXRoOihOU1N0cmluZyAqKWtleVBhdGggb2ZPYmplY3Q6KGlkKW9iamVjdCBjaGFuZ2U6KE5T
RGljdGlvbmFyeTxOU0tleVZhbHVlQ2hhbmdlS2V5LCBpZD4gKiljaGFuZ2UgY29udGV4dDoodm9p
ZCAqKWNvbnRleHQKIHsKICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW10gewotICAgICAg
ICBmb3IgKGF1dG8qIHBvb2wgOiBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjphbGxQcm9jZXNzUG9v
bHMoKSkgeworICAgICAgICBmb3IgKGF1dG8mIHBvb2wgOiBXZWJLaXQ6OldlYlByb2Nlc3NQb29s
OjphbGxQcm9jZXNzUG9vbHMoKSkgewogICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBwb29sLT5wcm9jZXNzZXMoKS5zaXplKCk7ICsraSkgewogICAgICAgICAgICAgICAgIGF1dG8g
cHJvY2VzcyA9IHBvb2wtPnByb2Nlc3NlcygpW2ldOwogICAgICAgICAgICAgICAgIHByb2Nlc3Mt
PmVuYWJsZVJlbW90ZUluc3BlY3RvcklmTmVlZGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCBhMjFjN2FkNGJi
ZGM3YjQ0MWFiZGU2ZGIxOTExZWJlOGZjZTAzYzA0Li5mMTRmNjc3Mjc5MjBmMDAxMWM2YWFiOGZh
NzQwMTk3NzZjZjczNjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KQEAgLTkxMyw3ICs5MTMsNyBAQCB2b2lkIFdlYlBy
b2Nlc3NQb29sOjphcHBsaWNhdGlvbklzQWJvdXRUb1N1c3BlbmQoKQogCiB2b2lkIFdlYlByb2Nl
c3NQb29sOjpub3RpZnlQcm9jZXNzUG9vbHNBcHBsaWNhdGlvbklzQWJvdXRUb1N1c3BlbmQoKQog
ewotICAgIGZvciAoYXV0byogcHJvY2Vzc1Bvb2wgOiBhbGxQcm9jZXNzUG9vbHMoKSkKKyAgICBm
b3IgKGF1dG8mIHByb2Nlc3NQb29sIDogYWxsUHJvY2Vzc1Bvb2xzKCkpCiAgICAgICAgIHByb2Nl
c3NQb29sLT5hcHBsaWNhdGlvbklzQWJvdXRUb1N1c3BlbmQoKTsKIH0KICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGVnYWN5R2xvYmFsU2V0dGluZ3MuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGVnYWN5R2xvYmFsU2V0dGluZ3MuY3BwCmluZGV4IGU3
MjlhZWFkMTVlMDA0NzBhYTlmZjQ0NDU4YTNlNDE2NTE3ZGQzN2YuLjBkNjc4NmRiYjYyMzliNTUz
MTE5Y2FlYzE0MjI3Yzc2ZTVkNDNhNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0xlZ2FjeUdsb2JhbFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9MZWdhY3lHbG9iYWxTZXR0aW5ncy5jcHAKQEAgLTQyLDcgKzQyLDcgQEAgTGVnYWN5R2xvYmFs
U2V0dGluZ3MmIExlZ2FjeUdsb2JhbFNldHRpbmdzOjpzaW5nbGV0b24oKQogdm9pZCBMZWdhY3lH
bG9iYWxTZXR0aW5nczo6c2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCiB7CiAg
ICAgbV9jYWNoZU1vZGVsID0gY2FjaGVNb2RlbDsKLSAgICBmb3IgKGF1dG8gcHJvY2Vzc1Bvb2wg
OiBXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bvb2xzKCkpCisgICAgZm9yIChhdXRvJiBwcm9j
ZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQcm9jZXNzUG9vbHMoKSkKICAgICAgICAgcHJv
Y2Vzc1Bvb2wtPnNldENhY2hlTW9kZWwoY2FjaGVNb2RlbCk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCmlu
ZGV4IDcyYzRhOWY5YTdlNWQyZGI1OWQzODU3MzJjOTI1NmY5OTU2YmQ0NDMuLmU2MDZiOTFlMTZj
ZGU0YTM0YWNiOTViZDAyMWQzNjYxYzIxYjY5NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcApAQCAtMTcyLDcg
KzE3Miw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6c2VuZENyZWF0aW9uUGFyYW1ldGVy
c1RvTmV3UHJvY2VzcygpCiAKIHN0YXRpYyBib29sIGFueVByb2Nlc3NQb29sQWx3YXlzUnVuc0F0
QmFja2dyb3VuZFByaW9yaXR5KCkKIHsKLSAgICBmb3IgKGF1dG8qIHByb2Nlc3NQb29sIDogV2Vi
UHJvY2Vzc1Bvb2w6OmFsbFByb2Nlc3NQb29scygpKSB7CisgICAgZm9yIChhdXRvJiBwcm9jZXNz
UG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQcm9jZXNzUG9vbHMoKSkgewogICAgICAgICBpZiAo
cHJvY2Vzc1Bvb2wtPmFsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSgpKQogICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfQpAQCAtMTgxLDcgKzE4MSw3IEBAIHN0YXRpYyBib29sIGFu
eVByb2Nlc3NQb29sQWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KCkKIAogc3RhdGljIGJv
b2wgYW55UHJvY2Vzc1Bvb2xTaG91bGRUYWtlVUlCYWNrZ3JvdW5kQXNzZXJ0aW9uKCkKIHsKLSAg
ICBmb3IgKGF1dG8qIHByb2Nlc3NQb29sIDogV2ViUHJvY2Vzc1Bvb2w6OmFsbFByb2Nlc3NQb29s
cygpKSB7CisgICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQ
cm9jZXNzUG9vbHMoKSkgewogICAgICAgICBpZiAocHJvY2Vzc1Bvb2wtPnNob3VsZFRha2VVSUJh
Y2tncm91bmRBc3NlcnRpb24oKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KQEAg
LTMyMyw3ICszMjMsNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6Om5ldHdvcmtQcm9jZXNz
RGlkVGVybWluYXRlKFRlcm1pbmF0aW9uUmVhc29uIHJlYXNvbikKICAgICBpZiAoZGVmYXVsdE5l
dHdvcmtQcm9jZXNzKCkgPT0gdGhpcykKICAgICAgICAgZGVmYXVsdE5ldHdvcmtQcm9jZXNzKCkg
PSBudWxscHRyOwogCi0gICAgZm9yIChhdXRvKiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29s
OjphbGxQcm9jZXNzUG9vbHMoKSkKKyAgICBmb3IgKGF1dG8mIHByb2Nlc3NQb29sIDogV2ViUHJv
Y2Vzc1Bvb2w6OmFsbFByb2Nlc3NQb29scygpKQogICAgICAgICBwcm9jZXNzUG9vbC0+bmV0d29y
a1Byb2Nlc3NEaWRUZXJtaW5hdGUoKnRoaXMsIHJlYXNvbik7CiAgICAgZm9yIChhdXRvJiB3ZWJz
aXRlRGF0YVN0b3JlIDogY29weVRvVmVjdG9yT2Y8UmVmPFdlYnNpdGVEYXRhU3RvcmU+PihtX3dl
YnNpdGVEYXRhU3RvcmVzKSkKICAgICAgICAgd2Vic2l0ZURhdGFTdG9yZS0+bmV0d29ya1Byb2Nl
c3NEaWRUZXJtaW5hdGUoKnRoaXMpOwpAQCAtMTIxOCw3ICsxMjE4LDcgQEAgdm9pZCBOZXR3b3Jr
UHJvY2Vzc1Byb3h5OjpzZXRUaGlyZFBhcnR5Q05BTUVEb21haW5Gb3JUZXN0aW5nKFBBTDo6U2Vz
c2lvbklEIHNlc3MKIAogdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpzZXREb21haW5zV2l0aFVz
ZXJJbnRlcmFjdGlvbihIYXNoU2V0PFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluPiYmIGRvbWFp
bnMpCiB7Ci0gICAgZm9yIChhdXRvKiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQ
cm9jZXNzUG9vbHMoKSkKKyAgICBmb3IgKGF1dG8mIHByb2Nlc3NQb29sIDogV2ViUHJvY2Vzc1Bv
b2w6OmFsbFByb2Nlc3NQb29scygpKQogICAgICAgICBwcm9jZXNzUG9vbC0+c2V0RG9tYWluc1dp
dGhVc2VySW50ZXJhY3Rpb24oSGFzaFNldDxXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbj4geyBk
b21haW5zIH0pOwogfQogCkBAIC0xMjI2LDcgKzEyMjYsNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNz
UHJveHk6OnNldERvbWFpbnNXaXRoQ3Jvc3NQYWdlU3RvcmFnZUFjY2VzcyhIYXNoTWFwPFRvcEZy
YW1lRAogeyAgICAKICAgICBhdXRvIGNhbGxiYWNrQWdncmVnYXRvciA9IENhbGxiYWNrQWdncmVn
YXRvcjo6Y3JlYXRlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICAKLSAgICBmb3Ig
KGF1dG8qIHByb2Nlc3NQb29sIDogV2ViUHJvY2Vzc1Bvb2w6OmFsbFByb2Nlc3NQb29scygpKQor
ICAgIGZvciAoYXV0byYgcHJvY2Vzc1Bvb2wgOiBXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bv
b2xzKCkpCiAgICAgICAgIHByb2Nlc3NQb29sLT5zZXREb21haW5zV2l0aENyb3NzUGFnZVN0b3Jh
Z2VBY2Nlc3MoSGFzaE1hcDxUb3BGcmFtZURvbWFpbiwgU3ViUmVzb3VyY2VEb21haW4+IHsgZG9t
YWlucyB9LCBbY2FsbGJhY2tBZ2dyZWdhdG9yXSB7IH0pOwogfQogCkBAIC0xNTExLDcgKzE1MTEs
NyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnByZWNvbm5lY3RUbyhQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIFdlYlBhZ2VQcm94eUlkZQogCiBzdGF0aWMgYm9vbCBhbnlQcm9jZXNzUG9v
bEhhc0ZvcmVncm91bmRXZWJQcm9jZXNzZXMoKQogewotICAgIGZvciAoYXV0byogcHJvY2Vzc1Bv
b2wgOiBXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bvb2xzKCkpIHsKKyAgICBmb3IgKGF1dG8m
IHByb2Nlc3NQb29sIDogV2ViUHJvY2Vzc1Bvb2w6OmFsbFByb2Nlc3NQb29scygpKSB7CiAgICAg
ICAgIGlmIChwcm9jZXNzUG9vbC0+aGFzRm9yZWdyb3VuZFdlYlByb2Nlc3NlcygpKQogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpAQCAtMTUyMCw3ICsxNTIwLDcgQEAgc3RhdGljIGJv
b2wgYW55UHJvY2Vzc1Bvb2xIYXNGb3JlZ3JvdW5kV2ViUHJvY2Vzc2VzKCkKIAogc3RhdGljIGJv
b2wgYW55UHJvY2Vzc1Bvb2xIYXNCYWNrZ3JvdW5kV2ViUHJvY2Vzc2VzKCkKIHsKLSAgICBmb3Ig
KGF1dG8qIHByb2Nlc3NQb29sIDogV2ViUHJvY2Vzc1Bvb2w6OmFsbFByb2Nlc3NQb29scygpKSB7
CisgICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQcm9jZXNz
UG9vbHMoKSkgewogICAgICAgICBpZiAocHJvY2Vzc1Bvb2wtPmhhc0JhY2tncm91bmRXZWJQcm9j
ZXNzZXMoKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAppbmRl
eCAxYTcwZjYzMmFmYzNmNmQ1NGY1NTFhNDNiYjAwMzNlMTE4YTQyMzc4Li5jNDAzNTM4MWJiOGEx
NTNmZDAwYThlNGM2Y2YyMDdhNDgzMWJjMGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCkBAIC0yMDcsOSArMjA3
LDggQEAgdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYp
CiAgICAgICAgIGV4aXRGdWxsc2NyZWVuKCk7CiAjZW5kaWYKIAotICAgIGNvbnN0IFZlY3RvcjxX
ZWJQcm9jZXNzUG9vbCo+JiBwcm9jZXNzUG9vbHMgPSBXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vz
c1Bvb2xzKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9jZXNzUG9vbHMuc2l6ZSgp
OyArK2kpCi0gICAgICAgIHByb2Nlc3NQb29sc1tpXS0+c2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3Nh
Z2VzOjpQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXI6OlBsdWdpblByb2Nlc3NDcmFzaGVk
KG1fcGx1Z2luUHJvY2Vzc1Rva2VuKSk7CisgICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IFdl
YlByb2Nlc3NQb29sOjphbGxQcm9jZXNzUG9vbHMoKSkKKyAgICAgICAgcHJvY2Vzc1Bvb2wtPnNl
bmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2Vy
OjpQbHVnaW5Qcm9jZXNzQ3Jhc2hlZChtX3BsdWdpblByb2Nlc3NUb2tlbikpOwogCiAgICAgLy8g
VGhpcyB3aWxsIGNhdXNlIHVzIHRvIGJlIGRlbGV0ZWQuCiAgICAgcGx1Z2luUHJvY2Vzc0NyYXNo
ZWRPckZhaWxlZFRvTGF1bmNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJNZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcAppbmRleCBlNWNjNmVlYWI3NWFhZTliZmMyOTVi
ZjUxODMzMWU0MzY0NDJlYjkwLi44ZWE5YTI1Mzc1MzQ1ZTRlOTVlODcxZDExZGNmMjU5ZDZmMzU3
NGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJNZW1vcnlQcmVzc3Vy
ZUhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYk1lbW9yeVByZXNz
dXJlSGFuZGxlci5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgdm9pZCBpbnN0YWxsTWVtb3J5UHJlc3N1
cmVIYW5kbGVyKCkKICAgICAgICAgVmlld1NuYXBzaG90U3RvcmU6OnNpbmdsZXRvbigpLmRpc2Nh
cmRTbmFwc2hvdEltYWdlcygpOwogI2VuZGlmCiAKLSAgICAgICAgZm9yIChhdXRvKiBwcm9jZXNz
UG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQcm9jZXNzUG9vbHMoKSkKKyAgICAgICAgZm9yIChh
dXRvJiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQcm9jZXNzUG9vbHMoKSkKICAg
ICAgICAgICAgIHByb2Nlc3NQb29sLT5oYW5kbGVNZW1vcnlQcmVzc3VyZVdhcm5pbmcoY3JpdGlj
YWwpOwogICAgIH0pOwogICAgIG1lbW9yeVByZXNzdXJlSGFuZGxlci5pbnN0YWxsKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBiMWM2MjdlZjAzN2FkNDM4
ZGJlYWU2NDVhZmI3OGI5MDFkNDFiYzcwLi5hOGNkOWVmODBmM2JkYmE2ZDI3OTg2Y2Q5YzUyODgw
NDY4NmE2NWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAg
LTU0NDQsMTEgKzU0NDQsNyBAQCBXZWJQYWdlUHJveHkqIFdlYlBhZ2VQcm94eTo6bm9uRXBoZW1l
cmFsV2ViUGFnZVByb3h5KCkKICAgICBpZiAocHJvY2Vzc1Bvb2xzLmlzRW1wdHkoKSkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAgICAgCi0gICAgYXV0byBwcm9jZXNzUG9vbCA9IHByb2Nlc3NQ
b29sc1swXTsKLSAgICBpZiAoIXByb2Nlc3NQb29sKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsK
LSAgICAKLSAgICBmb3IgKGF1dG8mIHdlYlByb2Nlc3MgOiBwcm9jZXNzUG9vbC0+cHJvY2Vzc2Vz
KCkpIHsKKyAgICBmb3IgKGF1dG8mIHdlYlByb2Nlc3MgOiBwcm9jZXNzUG9vbHNbMF0tPnByb2Nl
c3NlcygpKSB7CiAgICAgICAgIGZvciAoYXV0byYgcGFnZSA6IHdlYlByb2Nlc3MtPnBhZ2VzKCkp
IHsKICAgICAgICAgICAgIGlmIChwYWdlLT5zZXNzaW9uSUQoKS5pc0VwaGVtZXJhbCgpKQogICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuY3BwCmluZGV4IDIzYjY5MjM3OGUxYjRkZWZjMjQ0OTAxZmI0N2JjNmZkOTEyNTg5NDku
LmJhOWU3Y2UzNDJkOWU2NjIxZGYzMDdiMTMwNjM2YmY2MGZjNWM1Y2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTE3NCw5ICsxNzQsMTEgQEAgc3Rh
dGljIFZlY3RvcjxXZWJQcm9jZXNzUG9vbCo+JiBwcm9jZXNzUG9vbHMoKQogICAgIHJldHVybiBw
cm9jZXNzUG9vbHM7CiB9CiAKLWNvbnN0IFZlY3RvcjxXZWJQcm9jZXNzUG9vbCo+JiBXZWJQcm9j
ZXNzUG9vbDo6YWxsUHJvY2Vzc1Bvb2xzKCkKK1ZlY3RvcjxSZWY8V2ViUHJvY2Vzc1Bvb2w+PiBX
ZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bvb2xzKCkKIHsKLSAgICByZXR1cm4gcHJvY2Vzc1Bv
b2xzKCk7CisgICAgcmV0dXJuIFdURjo6bWFwKHByb2Nlc3NQb29scygpLCBbXSAoYXV0byYmIHYp
IC0+IFJlZjxXZWJQcm9jZXNzUG9vbD4geworICAgICAgICByZXR1cm4gKnY7CisgICAgfSk7CiB9
CiAKIHN0YXRpYyBIYXNoU2V0PFN0cmluZywgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiYgZ2xv
YmFsVVJMU2NoZW1lc1dpdGhDdXN0b21Qcm90b2NvbEhhbmRsZXJzKCkKQEAgLTIwNDEsMTEgKzIw
NDMsOCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpzZXRVc2VTZXBhcmF0ZVNlcnZpY2VXb3JrZXJQ
cm9jZXNzKGJvb2wgdXNlU2VwYXJhdGVTZXJ2aWNlVwogICAgIFdFQlBST0NFU1NQT09MX1JFTEVB
U0VfTE9HX1NUQVRJQyhTZXJ2aWNlV29ya2VyLCAic2V0VXNlU2VwYXJhdGVTZXJ2aWNlV29ya2Vy
UHJvY2VzczogKHVzZVNlcGFyYXRlU2VydmljZVdvcmtlclByb2Nlc3M9JWQpIiwgdXNlU2VwYXJh
dGVTZXJ2aWNlV29ya2VyUHJvY2Vzcyk7CiAKICAgICBzX3VzZVNlcGFyYXRlU2VydmljZVdvcmtl
clByb2Nlc3MgPSB1c2VTZXBhcmF0ZVNlcnZpY2VXb3JrZXJQcm9jZXNzOwotICAgIGF1dG8gcHJv
Y2Vzc1Bvb2xzID0gV1RGOjptYXAoV2ViUHJvY2Vzc1Bvb2w6OmFsbFByb2Nlc3NQb29scygpLCBb
XShhdXRvKiBwb29sKSB7IHJldHVybiBtYWtlV2Vha1B0cihwb29sKTsgfSk7Ci0gICAgZm9yIChh
dXRvJiBwcm9jZXNzUG9vbCA6IHByb2Nlc3NQb29scykgewotICAgICAgICBpZiAocHJvY2Vzc1Bv
b2wpCi0gICAgICAgICAgICBwcm9jZXNzUG9vbC0+dGVybWluYXRlU2VydmljZVdvcmtlcnMoKTsK
LSAgICB9CisgICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IGFsbFByb2Nlc3NQb29scygpKQor
ICAgICAgICBwcm9jZXNzUG9vbC0+dGVybWluYXRlU2VydmljZVdvcmtlcnMoKTsKIH0KIAogI2lm
IEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UG9vbC5oCmluZGV4IGQ1M2U3YWI2MTkyYzBiM2Y1MGMwNmFmM2ZkZDFhNmFlMWI0Y2JkNDAuLjI5
MzYxYTA0ODUxYjRiZTZiMjRmZWIzNmMzNDUyNjYxYjg0Y2IyNjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAtMTM4LDcgKzEzOCw3IEBAIHB1YmxpYzoKIAog
ICAgIEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKCkgeyByZXR1
cm4gbV9jb25maWd1cmF0aW9uLmdldCgpOyB9CiAKLSAgICBzdGF0aWMgY29uc3QgVmVjdG9yPFdl
YlByb2Nlc3NQb29sKj4mIGFsbFByb2Nlc3NQb29scygpOworICAgIHN0YXRpYyBWZWN0b3I8UmVm
PFdlYlByb2Nlc3NQb29sPj4gYWxsUHJvY2Vzc1Bvb2xzKCk7CiAKICAgICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVD4KICAgICBUKiBzdXBwbGVtZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggNzkyZWU2
MDU0ZDIxYTNjODVmNTEzOGRhZmM0ZThhMTFlMDFmMjRkZS4uZjE0MjEyMjcwNDdlOTRkMmVhM2Fl
MGIwNmZjOGFiMzdmMzA2NmM3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKQEAgLTEyODgsNyArMTI4OCw3
IEBAIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6Z2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFT
dW1tYXJ5KENvbXBsZXRpb25IYW5kbGVyPHZvCiAgICAgICAgIH0pOwogICAgIH0pOwogICAgIAot
ICAgIGZvciAoYXV0byogcHJvY2Vzc1Bvb2wgOiBXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bv
b2xzKCkpCisgICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQ
cm9jZXNzUG9vbHMoKSkKICAgICAgICAgcHJvY2Vzc1Bvb2wtPnNlbmRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRGF0YUltbWVkaWF0ZWx5KFt3dGZDYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7CiB9CiAK
QEAgLTE2MjksNyArMTYyOSw3IEBAIEhhc2hTZXQ8UmVmUHRyPFdlYlByb2Nlc3NQb29sPj4gV2Vi
c2l0ZURhdGFTdG9yZTo6cHJvY2Vzc1Bvb2xzKHNpemVfdCBsaW1pdCkgY29uCiAgICAgaWYgKHBy
b2Nlc3NQb29scy5pc0VtcHR5KCkpIHsKICAgICAgICAgLy8gQ2hlY2sgaWYgd2UncmUgb25lIG9m
IHRoZSBsZWdhY3kgZGF0YSBzdG9yZXMuCiAgICAgICAgIGZvciAoYXV0byYgcHJvY2Vzc1Bvb2wg
OiBXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bvb2xzKCkpIHsKLSAgICAgICAgICAgIHByb2Nl
c3NQb29scy5hZGQocHJvY2Vzc1Bvb2wpOworICAgICAgICAgICAgcHJvY2Vzc1Bvb2xzLmFkZChw
cm9jZXNzUG9vbC5wdHIoKSk7CiAgICAgICAgICAgICBpZiAocHJvY2Vzc1Bvb2xzLnNpemUoKSA9
PSBsaW1pdCkKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMTkxMSw3ICsx
OTExLDcgQEAgdWludDY0X3QgV2Vic2l0ZURhdGFTdG9yZTo6cGVyVGhpcmRQYXJ0eU9yaWdpblN0
b3JhZ2VRdW90YSgpIGNvbnN0CiAKIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6c2V0Q2FjaGVNb2Rl
bFN5bmNocm9ub3VzbHlGb3JUZXN0aW5nKENhY2hlTW9kZWwgY2FjaGVNb2RlbCkKIHsKLSAgICBm
b3IgKGF1dG8gcHJvY2Vzc1Bvb2wgOiBXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bvb2xzKCkp
CisgICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQcm9jZXNz
UG9vbHMoKSkKICAgICAgICAgcHJvY2Vzc1Bvb2wtPnNldENhY2hlTW9kZWxTeW5jaHJvbm91c2x5
Rm9yVGVzdGluZyhjYWNoZU1vZGVsKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvZ3RrL1dlYlRleHRDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2d0ay9XZWJUZXh0Q2hlY2tlci5jcHAKaW5kZXggZmQ3ZGM2MjUyOTA3MThmMDEyNjllMDRhOGNh
MDM1MTljOGE4ZDNiMS4uZWE0MGFmYzI2OWIxMTUyYjFiZTNkZWIxZTBiNDVlMjkzMjVlMDFmMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYlRleHRDaGVja2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViVGV4dENoZWNrZXIuY3BwCkBA
IC01MSw5ICs1MSw4IEBAIHZvaWQgV2ViVGV4dENoZWNrZXI6OnNldENsaWVudChjb25zdCBXS1Rl
eHRDaGVja2VyQ2xpZW50QmFzZSogY2xpZW50KQogCiBzdGF0aWMgdm9pZCB1cGRhdGVTdGF0ZUZv
ckFsbENvbnRleHRzKCkKIHsKLSAgICBjb25zdCBWZWN0b3I8V2ViUHJvY2Vzc1Bvb2wqPiYgY29u
dGV4dHMgPSBXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bvb2xzKCk7Ci0gICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBjb250ZXh0cy5zaXplKCk7ICsraSkKLSAgICAgICAgY29udGV4dHNbaV0t
PnRleHRDaGVja2VyU3RhdGVDaGFuZ2VkKCk7CisgICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6
IFdlYlByb2Nlc3NQb29sOjphbGxQcm9jZXNzUG9vbHMoKSkKKyAgICAgICAgcHJvY2Vzc1Bvb2wt
PnRleHRDaGVja2VyU3RhdGVDaGFuZ2VkKCk7CiB9CiAKIHZvaWQgV2ViVGV4dENoZWNrZXI6OmNv
bnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZFN0YXRlQ2hhbmdlZChib29sIGVuYWJsZWQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9saW51eC9NZW1vcnlQcmVzc3VyZU1v
bml0b3IuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbGludXgvTWVtb3J5UHJlc3N1cmVN
b25pdG9yLmNwcAppbmRleCBlMDkyMjQ4NTFiMDI5YzNlOGFiNmNhMTQ2M2YzMDY0ZjhkMjI1Njlj
Li42ZTE2YWQyOTFkMTk3MzEzMWNkOGZkNzk1ZWVjNTlmZDE5MTExOWVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9saW51eC9NZW1vcnlQcmVzc3VyZU1vbml0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2xpbnV4L01lbW9yeVByZXNzdXJlTW9uaXRvci5j
cHAKQEAgLTM4MCw3ICszODAsNyBAQCB2b2lkIE1lbW9yeVByZXNzdXJlTW9uaXRvcjo6c3RhcnQo
KQogICAgICAgICAgICAgaWYgKHVzZWRQZXJjZW50YWdlID49IHNfbWVtb3J5UHJlc3VyZVBlcmNl
bnRhZ2VUaHJlc2hvbGQpIHsKICAgICAgICAgICAgICAgICBib29sIGlzQ3JpdGljYWwgPSAodXNl
ZFBlcmNlbnRhZ2UgPj0gc19tZW1vcnlQcmVzdXJlUGVyY2VudGFnZVRocmVzaG9sZENyaXRpY2Fs
KTsKICAgICAgICAgICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2lzQ3JpdGljYWxd
IHsKLSAgICAgICAgICAgICAgICAgICAgZm9yIChhdXRvKiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nl
c3NQb29sOjphbGxQcm9jZXNzUG9vbHMoKSkKKyAgICAgICAgICAgICAgICAgICAgZm9yIChhdXRv
JiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQcm9jZXNzUG9vbHMoKSkKICAgICAg
ICAgICAgICAgICAgICAgICAgIHByb2Nlc3NQb29sLT5zZW5kTWVtb3J5UHJlc3N1cmVFdmVudChp
c0NyaXRpY2FsKTsKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dpbmRvd1NlcnZlckNvbm5lY3Rpb24ubW0K
aW5kZXggMDg0Yzk3ODAzNGFkYTZiZjU4ZjMxOTFjMWU2ZjlkNTFjZDU2ZDRiMC4uMjA1M2MxNzQ1
ODcwY2MyNGJiYTkzNjVmNDY4NTgyMTM3MDkxNGZjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvbWFjL1dpbmRvd1NlcnZlckNvbm5lY3Rpb24ubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1dpbmRvd1NlcnZlckNvbm5lY3Rpb24ubW0KQEAgLTQzLDcgKzQz
LDcgQEAgdm9pZCBXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uOjphcHBsaWNhdGlvbldpbmRvd01vZGlm
aWNhdGlvbnNTdG9wcGVkKGJvb2wgc3RvcHBlZCkKIAogdm9pZCBXaW5kb3dTZXJ2ZXJDb25uZWN0
aW9uOjp3aW5kb3dTZXJ2ZXJDb25uZWN0aW9uU3RhdGVDaGFuZ2VkKCkKIHsKLSAgICBmb3IgKGF1
dG8qIHByb2Nlc3NQb29sIDogV2ViUHJvY2Vzc1Bvb2w6OmFsbFByb2Nlc3NQb29scygpKQorICAg
IGZvciAoYXV0byYgcHJvY2Vzc1Bvb2wgOiBXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bvb2xz
KCkpCiAgICAgICAgIHByb2Nlc3NQb29sLT53aW5kb3dTZXJ2ZXJDb25uZWN0aW9uU3RhdGVDaGFu
Z2VkKCk7CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>