<?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>190721</bug_id>
          
          <creation_ts>2018-10-18 09:40:02 -0700</creation_ts>
          <short_desc>[PSON] SuspendedPages do not report meaningful domains in Activity Monitor</short_desc>
          <delta_ts>2018-10-18 14:41:50 -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>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1470560</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-18 09:40:02 -0700</bug_when>
    <thetext>SuspendedPages do not report meaningful domains in Activity Monitor, which makes debugging harder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470561</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-18 09:40:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/45059699&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470563</commentid>
    <comment_count>2</comment_count>
      <attachid>352701</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-18 09:41:46 -0700</bug_when>
    <thetext>Created attachment 352701
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470619</commentid>
    <comment_count>3</comment_count>
      <attachid>352701</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-10-18 12:24:41 -0700</bug_when>
    <thetext>Comment on attachment 352701
Patch

r=me.  Can&apos;t this be tested?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470622</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-18 12:36:52 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #3)
&gt; Comment on attachment 352701 [details]
&gt; Patch
&gt; 
&gt; r=me.  Can&apos;t this be tested?

It will need some infrastructure to ask a WebProcess what origins it reports but I think it is doable. Will look into it now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470638</commentid>
    <comment_count>5</comment_count>
      <attachid>352723</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-18 13:30:33 -0700</bug_when>
    <thetext>Created attachment 352723
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470639</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-18 13:30:59 -0700</bug_when>
    <thetext>Requesting review again now that I added API testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470653</commentid>
    <comment_count>7</comment_count>
      <attachid>352723</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-10-18 13:54:42 -0700</bug_when>
    <thetext>Comment on attachment 352723
Patch

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

&gt; Source/WebKit/UIProcess/WebProcessProxy.cpp:1410
&gt; +    sendSync(Messages::WebProcess::GetActivePagesOriginsForTesting(), Messages::WebProcess::GetActivePagesOriginsForTesting::Reply(activeDomains), 0);

tsk tsk tsk, this is what completion handlers are for.

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:530
&gt; +    [handler addMappingFromURLString:@&quot;pson://www.google.com/main.html&quot; toData:testBytes];

Is this a URL we can use for testing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470654</commentid>
    <comment_count>8</comment_count>
      <attachid>352723</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-18 13:56:34 -0700</bug_when>
    <thetext>Comment on attachment 352723
Patch

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

&gt;&gt; Source/WebKit/UIProcess/WebProcessProxy.cpp:1410
&gt;&gt; +    sendSync(Messages::WebProcess::GetActivePagesOriginsForTesting(), Messages::WebProcess::GetActivePagesOriginsForTesting::Reply(activeDomains), 0);
&gt; 
&gt; tsk tsk tsk, this is what completion handlers are for.

This is only used for testing. If I make this async, then I need to IPC messages right? (one in each direction).

&gt;&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:530
&gt;&gt; +    [handler addMappingFromURLString:@&quot;pson://www.google.com/main.html&quot; toData:testBytes];
&gt; 
&gt; Is this a URL we can use for testing?

This is using PSON protocol. We use proper domains names in PSON tests so that process-swap on cross-site navigation actually triggers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470655</commentid>
    <comment_count>9</comment_count>
      <attachid>352723</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-18 13:57:57 -0700</bug_when>
    <thetext>Comment on attachment 352723
Patch

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

&gt;&gt;&gt; Source/WebKit/UIProcess/WebProcessProxy.cpp:1410
&gt;&gt;&gt; +    sendSync(Messages::WebProcess::GetActivePagesOriginsForTesting(), Messages::WebProcess::GetActivePagesOriginsForTesting::Reply(activeDomains), 0);
&gt;&gt; 
&gt;&gt; tsk tsk tsk, this is what completion handlers are for.
&gt; 
&gt; This is only used for testing. If I make this async, then I need to IPC messages right? (one in each direction).

s/to/two/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470690</commentid>
    <comment_count>10</comment_count>
      <attachid>352723</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-18 14:41:48 -0700</bug_when>
    <thetext>Comment on attachment 352723
Patch

Clearing flags on attachment: 352723

Committed r237267: &lt;https://trac.webkit.org/changeset/237267&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470691</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-18 14:41:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352701</attachid>
            <date>2018-10-18 09:41:46 -0700</date>
            <delta_ts>2018-10-18 13:30:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190721-20181018094145.patch</filename>
            <type>text/plain</type>
            <size>2642</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGMxODhlYWQ3MjUwOWU4OGRk
YzU0NWUzYzhkOGYwYjQwODZiNmRkMjEuLmFlYzNmMTRmYTgyMDlmM2M4ZDNhZmNhNGI4NTdhMDg4
ZTU1MDAwMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTgtMTAtMTggIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbUFNPTl0gU3VzcGVuZGVkUGFnZXMg
ZG8gbm90IHJlcG9ydCBtZWFuaW5nZnVsIGRvbWFpbnMgaW4gQWN0aXZpdHkgTW9uaXRvcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNzIxCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS80NTA1OTY5OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTdXNwZW5kZWRQYWdlcyBkbyBub3QgcmVwb3J0IG1lYW5p
bmdmdWwgZG9tYWlucyBpbiBBY3Rpdml0eSBNb25pdG9yLCB3aGljaCBtYWtlcworICAgICAgICBk
ZWJ1Z2dpbmcgaGFyZGVyLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNz
Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Om9yaWdpbik6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3M6OnVwZGF0ZUFjdGl2ZVBhZ2VzKToKKwogMjAxOC0xMC0xOCAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtQU09OXSBDYXAgbnVtYmVyIG9mIFN1c3Bl
bmRlZFBhZ2VQcm94eSBvYmplY3RzIGFuZCBhbGxvdyBhIFdlYlBhZ2VQcm94eSB0byBoYXZlIG1v
cmUgdGhhbiBvbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJv
Y2Vzc0NvY29hLm1tCmluZGV4IGRiYzU3OWI5OTVmMTliYzMyOTUxY2M4MDJlNjVhN2ZmODdhMjgx
NDIuLmRlNTE2NDVmYTI3OWZjZjA3ODRlYjcwY2U4NmI0NDZmNzE0ODE2ZjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtNTQs
NiArNTQsOCBAQAogI2ltcG9ydCA8V2ViQ29yZS9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0ZvbnRDYWNoZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Gb250Q2FzY2FkZS5oPgorI2ltcG9y
dCA8V2ViQ29yZS9IaXN0b3J5Q29udHJvbGxlci5oPgorI2ltcG9ydCA8V2ViQ29yZS9IaXN0b3J5
SXRlbS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0xvZ0luaXRpYWxpemF0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL01lbW9yeVJlbGVh
c2UuaD4KQEAgLTQwOSw3ICs0MTEsMTUgQEAgc3RhdGljIE5TVVJMICpvcmlnaW4oV2ViUGFnZSYg
cGFnZSkKICAgICBpZiAoIW1haW5GcmFtZSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIFVS
TCBtYWluRnJhbWVVUkwoVVJMKCksIG1haW5GcmFtZS0+dXJsKCkpOworICAgIFVSTCBtYWluRnJh
bWVVUkwgPSB7IFVSTCgpLCBtYWluRnJhbWUtPnVybCgpIH07CisgICAgaWYgKHBhZ2UuaXNTdXNw
ZW5kZWQoKSkgeworICAgICAgICAvLyBTdXNwZW5kZWQgcGFnZSBhcmUgbmF2aWdhdGVkIHRvIGFi
b3V0OmJsYW5rIHVwb24gc3VzcGVuc2lvbiBzbyB3ZSByZWFsbHkgd2FudCB0byByZXBvcnQgdGhl
IHByZXZpb3VzIFVSTC4KKyAgICAgICAgaWYgKGF1dG8qIGNvcmVGcmFtZSA9IG1haW5GcmFtZS0+
Y29yZUZyYW1lKCkpIHsKKyAgICAgICAgICAgIGlmIChhdXRvKiBiYWNrSGlzdG9yeUl0ZW0gPSBj
b3JlRnJhbWUtPmxvYWRlcigpLmhpc3RvcnkoKS5wcmV2aW91c0l0ZW0oKSkKKyAgICAgICAgICAg
ICAgICBtYWluRnJhbWVVUkwgPSB7IFVSTCgpLCBiYWNrSGlzdG9yeUl0ZW0tPnVybFN0cmluZygp
IH07CisgICAgICAgIH0KKyAgICB9CisKICAgICBSZWY8U2VjdXJpdHlPcmlnaW4+IG1haW5GcmFt
ZU9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUobWFpbkZyYW1lVVJMKTsKICAgICBTdHJp
bmcgbWFpbkZyYW1lT3JpZ2luU3RyaW5nOwogICAgIGlmICghbWFpbkZyYW1lT3JpZ2luLT5pc1Vu
aXF1ZSgpKQpAQCAtNDMyLDcgKzQ0Miw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6dXBkYXRlQWN0aXZl
UGFnZXMoKQogICAgIGF1dG8gYWN0aXZlUGFnZVVSTHMgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJy
YXkgYWxsb2NdIGluaXRdKTsKIAogICAgIGZvciAoYXV0byYgcGFnZSA6IG1fcGFnZU1hcC52YWx1
ZXMoKSkgewotICAgICAgICBpZiAocGFnZS0+dXNlc0VwaGVtZXJhbFNlc3Npb24oKSB8fCBwYWdl
LT5pc1N1c3BlbmRlZCgpKQorICAgICAgICBpZiAocGFnZS0+dXNlc0VwaGVtZXJhbFNlc3Npb24o
KSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGlmIChOU1VSTCAqb3JpZ2luQXNV
UkwgPSBvcmlnaW4oKnBhZ2UpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352723</attachid>
            <date>2018-10-18 13:30:33 -0700</date>
            <delta_ts>2018-10-18 14:41:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190721-20181018133033.patch</filename>
            <type>text/plain</type>
            <size>15818</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGMxODhlYWQ3MjUwOWU4OGRk
YzU0NWUzYzhkOGYwYjQwODZiNmRkMjEuLmFlYzNmMTRmYTgyMDlmM2M4ZDNhZmNhNGI4NTdhMDg4
ZTU1MDAwMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTgtMTAtMTggIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbUFNPTl0gU3VzcGVuZGVkUGFnZXMg
ZG8gbm90IHJlcG9ydCBtZWFuaW5nZnVsIGRvbWFpbnMgaW4gQWN0aXZpdHkgTW9uaXRvcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNzIxCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS80NTA1OTY5OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTdXNwZW5kZWRQYWdlcyBkbyBub3QgcmVwb3J0IG1lYW5p
bmdmdWwgZG9tYWlucyBpbiBBY3Rpdml0eSBNb25pdG9yLCB3aGljaCBtYWtlcworICAgICAgICBk
ZWJ1Z2dpbmcgaGFyZGVyLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNz
Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Om9yaWdpbik6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3M6OnVwZGF0ZUFjdGl2ZVBhZ2VzKToKKwogMjAxOC0xMC0xOCAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtQU09OXSBDYXAgbnVtYmVyIG9mIFN1c3Bl
bmRlZFBhZ2VQcm94eSBvYmplY3RzIGFuZCBhbGxvdyBhIFdlYlBhZ2VQcm94eSB0byBoYXZlIG1v
cmUgdGhhbiBvbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1Byb2Nlc3NQb29sLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
UHJvY2Vzc1Bvb2wubW0KaW5kZXggMjg3NjMxNjVjNjRhMjYyYTEzMWFkNDg1NzEyNjIyNTg4NmFi
MmQ1MC4uODllNWQxNTlmYzM5NjYwMWQ0ZGFjN2FmYzliMmViZmE5MTg4NzgxNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0KQEAg
LTU3NCw2ICs1NzQsMTYgQEAgLSAoX1dLRG93bmxvYWQgKilfcmVzdW1lRG93bmxvYWRGcm9tRGF0
YTooTlNEYXRhICopcmVzdW1lRGF0YSBwYXRoOihOU1N0cmluZyAqKXAKICAgICByZXR1cm4gd3Jh
cHBlcihfcHJvY2Vzc1Bvb2wtPnJlc3VtZURvd25sb2FkKEFQSTo6RGF0YTo6Y3JlYXRlV2l0aG91
dENvcHlpbmcocmVzdW1lRGF0YSkucHRyKCksIHBhdGgpKTsKIH0KIAorLSAoTlNBcnJheTxOU1N0
cmluZyAqPiAqKV9nZXRBY3RpdmVQYWdlc09yaWdpbnNJbldlYlByb2Nlc3NGb3JUZXN0aW5nOihw
aWRfdClwaWQKK3sKKyAgICBhdXRvIGFjdGl2ZVBhZ2VzT3JpZ2lucyA9IF9wcm9jZXNzUG9vbC0+
YWN0aXZlUGFnZXNPcmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVzdGluZyhwaWQpOworCisgICAgTlNN
dXRhYmxlQXJyYXk8TlNTdHJpbmcgKj4gKmFycmF5ID0gW1tOU011dGFibGVBcnJheSBhbGxvY10g
aW5pdFdpdGhDYXBhY2l0eTphY3RpdmVQYWdlc09yaWdpbnMuc2l6ZSgpXTsKKyAgICBmb3IgKGF1
dG8mIG9yaWdpbiA6IGFjdGl2ZVBhZ2VzT3JpZ2lucykKKyAgICAgICAgW2FycmF5IGFkZE9iamVj
dDooTlNTdHJpbmcgKilvcmlnaW5dOworICAgIHJldHVybiBbYXJyYXkgYXV0b3JlbGVhc2VdOwor
fQorCiBAZW5kCiAKICNlbmRpZiAvLyBXS19BUElfRU5BQkxFRApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2xQcml2YXRlLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaAppbmRl
eCA3ZDRiNjE1YWQ4MDI0ODQzOGFmYTFmYWViM2E4NDA0ZThmZGFmY2Y5Li4wNzJkYTU5MzQzZWNj
ZTA2MTI0N2Y1ODRiNzI0NTI2MDAxOTY3NTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaApAQCAtMTEzLDYg
KzExMyw3IEBACiAtICh2b2lkKV9zZXRBbGxvd3NBbnlTU0xDZXJ0aWZpY2F0ZUZvclNlcnZpY2VX
b3JrZXI6KEJPT0wpYWxsb3dzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3Mo
MTEuMykpOwogLSAodm9pZClfcmVnaXN0ZXJVUkxTY2hlbWVTZXJ2aWNlV29ya2Vyc0NhbkhhbmRs
ZTooTlNTdHJpbmcgKilzY2hlbWUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCksIGlv
cygxMS4zKSk7CiAtICh2b2lkKV9zZXRNYXhpbXVtTnVtYmVyT2ZQcm9jZXNzZXM6KE5TVUludGVn
ZXIpdmFsdWUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCksIGlvcygxMS4zKSk7Cist
IChOU0FycmF5PE5TU3RyaW5nICo+ICopX2dldEFjdGl2ZVBhZ2VzT3JpZ2luc0luV2ViUHJvY2Vz
c0ZvclRlc3Rpbmc6KHBpZF90KXBpZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJB
KSwgaW9zKFdLX0lPU19UQkEpKTsKIAogQHByb3BlcnR5IChub25hdG9taWMsIGdldHRlcj1faXND
b29raWVTdG9yYWdlUGFydGl0aW9uaW5nRW5hYmxlZCwgc2V0dGVyPV9zZXRDb29raWVTdG9yYWdl
UGFydGl0aW9uaW5nRW5hYmxlZDopIEJPT0wgX2Nvb2tpZVN0b3JhZ2VQYXJ0aXRpb25pbmdFbmFi
bGVkIFdLX0FQSV9ERVBSRUNBVEVEKCJQYXJ0aXRpb25lZCBjb29raWVzIGFyZSBubyBsb25nZXIg
c3VwcG9ydGVkIiwgbWFjb3N4KDEwLjEyLjMsIFdLX01BQ19UQkEpLCBpb3MoMTAuMywgV0tfSU9T
X1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIGdldHRlcj1faXNTdG9yYWdlQWNjZXNzQVBJ
RW5hYmxlZCwgc2V0dGVyPV9zZXRTdG9yYWdlQWNjZXNzQVBJRW5hYmxlZDopIEJPT0wgX3N0b3Jh
Z2VBY2Nlc3NBUElFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3Mo
MTEuMykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4
IDRhNDc5YWQ5ZTgzMjg3NDg5OWEzZWFlNDAzODM5YjQzZTk3ZGQ2NDEuLmI0ZjgzOTExMmM2NWNh
ZmU3OTQ1N2Y3MDkwNGQ3ZWY4NzgyNTQ4ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTEzMjUsNiArMTMyNSwxNSBAQCBQcm9jZXNzSUQgV2ViUHJv
Y2Vzc1Bvb2w6Om5ldHdvcmtQcm9jZXNzSWRlbnRpZmllcigpCiAgICAgcmV0dXJuIG1fbmV0d29y
a1Byb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVyKCk7CiB9CiAKK1ZlY3RvcjxTdHJpbmc+IFdlYlBy
b2Nlc3NQb29sOjphY3RpdmVQYWdlc09yaWdpbnNJbldlYlByb2Nlc3NGb3JUZXN0aW5nKFByb2Nl
c3NJRCBwaWQpCit7CisgICAgZm9yIChhdXRvJiBwcm9jZXNzIDogbV9wcm9jZXNzZXMpIHsKKyAg
ICAgICAgaWYgKHByb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVyKCkgPT0gcGlkKQorICAgICAgICAg
ICAgcmV0dXJuIHByb2Nlc3MtPmFjdGl2ZVBhZ2VzRG9tYWluc0ZvclRlc3RpbmcoKTsKKyAgICB9
CisgICAgcmV0dXJuIHsgfTsKK30KKwogdm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0QWx3YXlzVXNl
c0NvbXBsZXhUZXh0Q29kZVBhdGgoYm9vbCBhbHdheXNVc2VDb21wbGV4VGV4dCkKIHsKICAgICBt
X2Fsd2F5c1VzZXNDb21wbGV4VGV4dENvZGVQYXRoID0gYWx3YXlzVXNlQ29tcGxleFRleHQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAppbmRleCBmMmMxYTJhMTYwOGVi
YWIxZWNlODEwMjUyNjE1OWQ3ZDAzMDVlMjFlLi43NDk2OTcxNWQ3ZDYwODBlYTViN2RkNDZiNWY5
YmJiNjU0MjE2MWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgK
QEAgLTIxNSw2ICsyMTUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVhclN1cHBvcnRlZFBsdWdp
bnMoKTsKIAogICAgIFByb2Nlc3NJRCBuZXR3b3JrUHJvY2Vzc0lkZW50aWZpZXIoKTsKKyAgICBW
ZWN0b3I8U3RyaW5nPiBhY3RpdmVQYWdlc09yaWdpbnNJbldlYlByb2Nlc3NGb3JUZXN0aW5nKFBy
b2Nlc3NJRCk7CiAKICAgICBXZWJQYWdlR3JvdXAmIGRlZmF1bHRQYWdlR3JvdXAoKSB7IHJldHVy
biBtX2RlZmF1bHRQYWdlR3JvdXAuZ2V0KCk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHAKaW5kZXggOGI2ZTM2ZTc3NzZlMWI1Y2Y5YTU2YTYwMTQ4N2Rm
Mjc4NTIxNzlmOS4uMWUwNWM0OGJjZWQ4OWQyNGQ2YmJmYzI1YWQxZmIxYjY4MjU2NmZjNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCkBAIC0xNDA0LDYg
KzE0MDQsMTMgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZENvbGxlY3RQcmV3YXJtSW5mb3Jt
YXRpb24oY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFcKICAgICBwcm9jZXNzUG9vbCgpLmRp
ZENvbGxlY3RQcmV3YXJtSW5mb3JtYXRpb24oZG9tYWluLCBwcmV3YXJtSW5mb3JtYXRpb24pOwog
fQogCitWZWN0b3I8U3RyaW5nPiBXZWJQcm9jZXNzUHJveHk6OmFjdGl2ZVBhZ2VzRG9tYWluc0Zv
clRlc3RpbmcoKQoreworICAgIFZlY3RvcjxTdHJpbmc+IGFjdGl2ZURvbWFpbnM7CisgICAgc2Vu
ZFN5bmMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkdldEFjdGl2ZVBhZ2VzT3JpZ2luc0ZvclRlc3Rp
bmcoKSwgTWVzc2FnZXM6OldlYlByb2Nlc3M6OkdldEFjdGl2ZVBhZ2VzT3JpZ2luc0ZvclRlc3Rp
bmc6OlJlcGx5KGFjdGl2ZURvbWFpbnMpLCAwKTsKKyAgICByZXR1cm4gYWN0aXZlRG9tYWluczsK
K30KKwogI2lmIFBMQVRGT1JNKFdBVENIT1MpCiAKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojp0YWtl
QmFja2dyb3VuZEFjdGl2aXR5VG9rZW5Gb3JGdWxsc2NyZWVuSW5wdXQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAppbmRleCBhY2M1MWYxOGMzNTExNmViNGQ1MmU3
ZTk0M2I2ZWM3NmRhMzZhM2UwLi4wZDU5NDZjODBiODZkMmFlNTQ4ODZhNDU4MmYyZGYwOTlkNjMx
YzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaApAQCAtMTIx
LDYgKzEyMSw4IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBwYWdlQ291bnQoKSBjb25zdCB7IHJl
dHVybiBtX3BhZ2VNYXAuc2l6ZSgpOyB9CiAgICAgdW5zaWduZWQgdmlzaWJsZVBhZ2VDb3VudCgp
IGNvbnN0IHsgcmV0dXJuIG1fdmlzaWJsZVBhZ2VDb3VudGVyLnZhbHVlKCk7IH0KIAorICAgIFZl
Y3RvcjxTdHJpbmc+IGFjdGl2ZVBhZ2VzRG9tYWluc0ZvclRlc3RpbmcoKTsgLy8gVGhpcyBpcyB3
aGF0IGlzIHJlcG9ydGVkIHRvIEFjdGl2aXR5TW9uaXRvci4KKwogICAgIHZpcnR1YWwgYm9vbCBp
c1NlcnZpY2VXb3JrZXJQcm9jZXNzKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZv
aWQgYWRkVmlzaXRlZExpbmtTdG9yZShWaXNpdGVkTGlua1N0b3JlJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNjljMjMzNWY3OTFkMjg4Zjk1ZWMwMGFiOGYz
MTc3ZWEyNWI1MDQwYS4uZTZkNGQzNjk4ZDRiYTIwMTEwOTY0YWM4YzNjYzBjMDkyN2UyNDhjYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTMyOCw2ICsxMzI4
LDEwIEBAIHZvaWQgV2ViUHJvY2Vzczo6dXBkYXRlQWN0aXZlUGFnZXMoKQogewogfQogCit2b2lk
IFdlYlByb2Nlc3M6OmdldEFjdGl2ZVBhZ2VzT3JpZ2luc0ZvclRlc3RpbmcoVmVjdG9yPFN0cmlu
Zz4mKQoreworfQorCiB2b2lkIFdlYlByb2Nlc3M6OnVwZGF0ZUNQVUxpbWl0KCkKIHsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDNkMjFjYzg4M2E1MjY0MWE0MGFj
MTM5OWMxYTJmOTljZDQ3YmQ1N2QuLjFkYjAxZWM1YTA2YzMxYzUzZWI3N2U2ZGI0NDBmZjM0MjVk
NGY5NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtMTkyLDYgKzE5
Miw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgdm9pZCB1cGRhdGVBY3RpdmVQYWdlcygpOwor
ICAgIHZvaWQgZ2V0QWN0aXZlUGFnZXNPcmlnaW5zRm9yVGVzdGluZyhWZWN0b3I8U3RyaW5nPiYp
OwogICAgIHZvaWQgcGFnZUFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UodWludDY0X3QgcGFnZUlELCBP
cHRpb25TZXQ8V2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6RmxhZz4gY2hhbmdlZCk7CiAKICAgICB2
b2lkIHNldEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxs
aXNlY29uZHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNz
YWdlcy5pbgppbmRleCA2ODk4NjM0YzQ5ODNkMTlhYzk2ZTAzNzJmMDE5YzZiNmIxNGNhZDg4Li41
Njc2MDZhOTM1NzU5OWUwNjhjYmRiYmRkZDM4YjM1OGMzMWQ0YzA4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMTI5LDYgKzEyOSw3
IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIE1lc3NhZ2Vz
QXZhaWxhYmxlRm9yUG9ydChzdHJ1Y3QgV2ViQ29yZTo6TWVzc2FnZVBvcnRJZGVudGlmaWVyIHBv
cnQpCiAKICAgICBVcGRhdGVBY3RpdmVQYWdlcygpCisgICAgR2V0QWN0aXZlUGFnZXNPcmlnaW5z
Rm9yVGVzdGluZygpIC0+IChWZWN0b3I8U3RyaW5nPiBhY3RpdmVPcmlnaW5zKQogCiAjaWYgUExB
VEZPUk0oTUFDKQogICAgIFNldFNjcmVlblByb3BlcnRpZXMoc3RydWN0IFdlYkNvcmU6OlNjcmVl
blByb3BlcnRpZXMgc2NyZWVuUHJvcGVydGllcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4IGRiYzU3OWI5OTVmMTliYzMyOTUx
Y2M4MDJlNjVhN2ZmODdhMjgxNDIuLmZkMTI4NDIyY2ZjZTg4NGM5YjVkOGYzNTY0NDU5ZTJjZjJl
ZmFhYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nl
c3NDb2NvYS5tbQpAQCAtNTQsNiArNTQsOCBAQAogI2ltcG9ydCA8V2ViQ29yZS9GaWxlU3lzdGVt
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZvbnRDYWNoZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Gb250
Q2FzY2FkZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9IaXN0b3J5Q29udHJvbGxlci5oPgorI2ltcG9y
dCA8V2ViQ29yZS9IaXN0b3J5SXRlbS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJp
bmdzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvZ0luaXRpYWxpemF0aW9uLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL01lbW9yeVJlbGVhc2UuaD4KQEAgLTQwOSw3ICs0MTEsMTUgQEAgc3RhdGljIE5TVVJM
ICpvcmlnaW4oV2ViUGFnZSYgcGFnZSkKICAgICBpZiAoIW1haW5GcmFtZSkKICAgICAgICAgcmV0
dXJuIG5pbDsKIAotICAgIFVSTCBtYWluRnJhbWVVUkwoVVJMKCksIG1haW5GcmFtZS0+dXJsKCkp
OworICAgIFVSTCBtYWluRnJhbWVVUkwgPSB7IFVSTCgpLCBtYWluRnJhbWUtPnVybCgpIH07Cisg
ICAgaWYgKHBhZ2UuaXNTdXNwZW5kZWQoKSkgeworICAgICAgICAvLyBTdXNwZW5kZWQgcGFnZSBh
cmUgbmF2aWdhdGVkIHRvIGFib3V0OmJsYW5rIHVwb24gc3VzcGVuc2lvbiBzbyB3ZSByZWFsbHkg
d2FudCB0byByZXBvcnQgdGhlIHByZXZpb3VzIFVSTC4KKyAgICAgICAgaWYgKGF1dG8qIGNvcmVG
cmFtZSA9IG1haW5GcmFtZS0+Y29yZUZyYW1lKCkpIHsKKyAgICAgICAgICAgIGlmIChhdXRvKiBi
YWNrSGlzdG9yeUl0ZW0gPSBjb3JlRnJhbWUtPmxvYWRlcigpLmhpc3RvcnkoKS5wcmV2aW91c0l0
ZW0oKSkKKyAgICAgICAgICAgICAgICBtYWluRnJhbWVVUkwgPSB7IFVSTCgpLCBiYWNrSGlzdG9y
eUl0ZW0tPnVybFN0cmluZygpIH07CisgICAgICAgIH0KKyAgICB9CisKICAgICBSZWY8U2VjdXJp
dHlPcmlnaW4+IG1haW5GcmFtZU9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUobWFpbkZy
YW1lVVJMKTsKICAgICBTdHJpbmcgbWFpbkZyYW1lT3JpZ2luU3RyaW5nOwogICAgIGlmICghbWFp
bkZyYW1lT3JpZ2luLT5pc1VuaXF1ZSgpKQpAQCAtNDI2LDI1ICs0MzYsNDYgQEAgc3RhdGljIE5T
VVJMICpvcmlnaW4oV2ViUGFnZSYgcGFnZSkKIAogI2VuZGlmCiAKLXZvaWQgV2ViUHJvY2Vzczo6
dXBkYXRlQWN0aXZlUGFnZXMoKQotewogI2lmIFBMQVRGT1JNKE1BQykKLSAgICBhdXRvIGFjdGl2
ZVBhZ2VVUkxzID0gYWRvcHROUyhbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0XSk7CitzdGF0
aWMgUmV0YWluUHRyPE5TQXJyYXk8TlNTdHJpbmcgKj4+IGFjdGl2ZVBhZ2VzT3JpZ2lucyhjb25z
dCBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8V2ViUGFnZT4+JiBwYWdlTWFwKQoreworICAgIFJl
dGFpblB0cjxOU011dGFibGVBcnJheTxOU1N0cmluZyAqPj4gYWN0aXZlT3JpZ2lucyA9IGFkb3B0
TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwogCi0gICAgZm9yIChhdXRvJiBwYWdl
IDogbV9wYWdlTWFwLnZhbHVlcygpKSB7Ci0gICAgICAgIGlmIChwYWdlLT51c2VzRXBoZW1lcmFs
U2Vzc2lvbigpIHx8IHBhZ2UtPmlzU3VzcGVuZGVkKCkpCisgICAgZm9yIChhdXRvJiBwYWdlIDog
cGFnZU1hcC52YWx1ZXMoKSkgeworICAgICAgICBpZiAocGFnZS0+dXNlc0VwaGVtZXJhbFNlc3Np
b24oKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGlmIChOU1VSTCAqb3JpZ2lu
QXNVUkwgPSBvcmlnaW4oKnBhZ2UpKQotICAgICAgICAgICAgW2FjdGl2ZVBhZ2VVUkxzIGFkZE9i
amVjdDp1c2VyVmlzaWJsZVN0cmluZyhvcmlnaW5Bc1VSTCldOworICAgICAgICAgICAgW2FjdGl2
ZU9yaWdpbnMgYWRkT2JqZWN0OnVzZXJWaXNpYmxlU3RyaW5nKG9yaWdpbkFzVVJMKV07CiAgICAg
fQogCi0gICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X2dsb2JhbF9xdWV1ZShESVNQQVRD
SF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKSwgW2FjdGl2ZVBhZ2VVUkxzXSB7Ci0gICAgICAg
IF9MU1NldEFwcGxpY2F0aW9uSW5mb3JtYXRpb25JdGVtKGtMU0RlZmF1bHRTZXNzaW9uSUQsIF9M
U0dldEN1cnJlbnRBcHBsaWNhdGlvbkFTTigpLCBDRlNUUigiTFNBY3RpdmVQYWdlVXNlclZpc2li
bGVPcmlnaW5zS2V5IiksIChfX2JyaWRnZSBDRkFycmF5UmVmKWFjdGl2ZVBhZ2VVUkxzLmdldCgp
LCBudWxscHRyKTsKKyAgICByZXR1cm4gYWN0aXZlT3JpZ2luczsKK30KKyNlbmRpZgorCit2b2lk
IFdlYlByb2Nlc3M6OnVwZGF0ZUFjdGl2ZVBhZ2VzKCkKK3sKKyNpZiBQTEFURk9STShNQUMpCisg
ICAgYXV0byBhY3RpdmVPcmlnaW5zID0gYWN0aXZlUGFnZXNPcmlnaW5zKG1fcGFnZU1hcCk7CisK
KyAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfZ2xvYmFsX3F1ZXVlKERJU1BBVENIX1FV
RVVFX1BSSU9SSVRZX0RFRkFVTFQsIDApLCBbYWN0aXZlT3JpZ2lucyA9IFdURk1vdmUoYWN0aXZl
T3JpZ2lucyldIHsKKyAgICAgICAgX0xTU2V0QXBwbGljYXRpb25JbmZvcm1hdGlvbkl0ZW0oa0xT
RGVmYXVsdFNlc3Npb25JRCwgX0xTR2V0Q3VycmVudEFwcGxpY2F0aW9uQVNOKCksIENGU1RSKCJM
U0FjdGl2ZVBhZ2VVc2VyVmlzaWJsZU9yaWdpbnNLZXkiKSwgKF9fYnJpZGdlIENGQXJyYXlSZWYp
YWN0aXZlT3JpZ2lucy5nZXQoKSwgbnVsbHB0cik7CiAgICAgfSk7CiAjZW5kaWYKIH0KIAordm9p
ZCBXZWJQcm9jZXNzOjpnZXRBY3RpdmVQYWdlc09yaWdpbnNGb3JUZXN0aW5nKFZlY3RvcjxTdHJp
bmc+JiBhY3RpdmVPcmlnaW5zKQoreworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBhdXRvIGFjdGl2
ZU9yaWdpbnNBc05TU3RyaW5ncyA9IGFjdGl2ZVBhZ2VzT3JpZ2lucyhtX3BhZ2VNYXApOworICAg
IGFjdGl2ZU9yaWdpbnMucmVzZXJ2ZUNhcGFjaXR5KFthY3RpdmVPcmlnaW5zQXNOU1N0cmluZ3Mg
Y291bnRdKTsKKyAgICBmb3IgKE5TU3RyaW5nKiBhY3RpdmVPcmlnaW4gaW4gYWN0aXZlT3JpZ2lu
c0FzTlNTdHJpbmdzLmdldCgpKQorICAgICAgICBhY3RpdmVPcmlnaW5zLnVuY2hlY2tlZEFwcGVu
ZChhY3RpdmVPcmlnaW4pOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oYWN0aXZlT3JpZ2lucyk7
CisjZW5kaWYKK30KKwogdm9pZCBXZWJQcm9jZXNzOjp1cGRhdGVDUFVMaW1pdCgpCiB7CiAjaWYg
UExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IGM3ZmY4ZTBhYmI4MDU4ZTIyNjllNmRlOGYzMzA3MzY5ZWVkNzY2MDYuLjUzMTU1
NmRhYmViNGQ4N2FkOTFiNDI1ZDAzYzRiMGIxNDQwZWU0NGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOC0xMC0x
OCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFtQU09OXSBTdXNw
ZW5kZWRQYWdlcyBkbyBub3QgcmVwb3J0IG1lYW5pbmdmdWwgZG9tYWlucyBpbiBBY3Rpdml0eSBN
b25pdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTA3MjEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ1MDU5Njk5PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3ZlcmFnZS4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBP
bk5hdmlnYXRpb24ubW06CisKIDIwMTgtMTAtMTggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBbUFNPTl0gQ2FwIG51bWJlciBvZiBTdXNwZW5kZWRQYWdlUHJveHkg
b2JqZWN0cyBhbmQgYWxsb3cgYSBXZWJQYWdlUHJveHkgdG8gaGF2ZSBtb3JlIHRoYW4gb25lCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NT
d2FwT25OYXZpZ2F0aW9uLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQppbmRleCAwZWQwYTRiNmMzMzQ4NmYwMTZlMzQy
NDkxYjVhZGUwZmRkNDk1M2I4Li5iYzI5ZWY4YmY3MTEwNzA3NmRmODQ0OWFjZDMzZTZlZDU0NTFk
YWRlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1By
b2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0KQEAgLTUxNiw2ICs1MTYsNzUg
QEAgVEVTVChQcm9jZXNzU3dhcCwgQmFjaykKICAgICBFWFBFQ1RfRVEoNHUsIHNlZW5QSURzLnNp
emUoKSk7CiB9CiAKKyNpZiBQTEFURk9STShNQUMpCitURVNUKFByb2Nlc3NTd2FwLCBTdXNwZW5k
ZWRQYWdlc0luQWN0aXZpdHlNb25pdG9yKQoreworICAgIGF1dG8gcHJvY2Vzc1Bvb2xDb25maWd1
cmF0aW9uID0gYWRvcHROUyhbW19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbiBhbGxvY10gaW5p
dF0pOworICAgIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5nZXQoKS5wcm9jZXNzU3dhcHNPbk5h
dmlnYXRpb24gPSBZRVM7CisgICAgYXV0byBwcm9jZXNzUG9vbCA9IGFkb3B0TlMoW1tXS1Byb2Nl
c3NQb29sIGFsbG9jXSBfaW5pdFdpdGhDb25maWd1cmF0aW9uOnByb2Nlc3NQb29sQ29uZmlndXJh
dGlvbi5nZXQoKV0pOworCisgICAgYXV0byB3ZWJWaWV3Q29uZmlndXJhdGlvbiA9IGFkb3B0TlMo
W1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXdDb25m
aWd1cmF0aW9uIHNldFByb2Nlc3NQb29sOnByb2Nlc3NQb29sLmdldCgpXTsKKyAgICBhdXRvIGhh
bmRsZXIgPSBhZG9wdE5TKFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdF0pOworICAgIFtoYW5kbGVy
IGFkZE1hcHBpbmdGcm9tVVJMU3RyaW5nOkAicHNvbjovL3d3dy53ZWJraXQub3JnL21haW4uaHRt
bCIgdG9EYXRhOnRlc3RCeXRlc107CisgICAgW2hhbmRsZXIgYWRkTWFwcGluZ0Zyb21VUkxTdHJp
bmc6QCJwc29uOi8vd3d3Lmdvb2dsZS5jb20vbWFpbi5odG1sIiB0b0RhdGE6dGVzdEJ5dGVzXTsK
KyAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdl
dCgpIGZvclVSTFNjaGVtZTpAIlBTT04iXTsKKworICAgIFJldGFpblB0cjxQU09OTWVzc2FnZUhh
bmRsZXI+IG1lc3NhZ2VIYW5kbGVyID0gYWRvcHROUyhbW1BTT05NZXNzYWdlSGFuZGxlciBhbGxv
Y10gaW5pdF0pOworICAgIFtbd2ViVmlld0NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250cm9s
bGVyXSBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjptZXNzYWdlSGFuZGxlci5nZXQoKSBuYW1lOkAi
cHNvbiJdOworCisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10g
aW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOndl
YlZpZXdDb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMo
W1tQU09OTmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0
TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKworICAgIE5TVVJMUmVxdWVzdCAq
cmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJp
bmc6QCJwc29uOi8vd3d3LndlYmtpdC5vcmcvbWFpbi5odG1sIl1dOworICAgIFt3ZWJWaWV3IGxv
YWRSZXF1ZXN0OnJlcXVlc3RdOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25l
KTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICBhdXRvIHdlYmtpdFBJRCA9IFt3ZWJWaWV3IF93
ZWJQcm9jZXNzSWRlbnRpZmllcl07CisgICAgYXV0byogYWN0aXZlRG9tYWlucyA9IFtwcm9jZXNz
UG9vbCBfZ2V0QWN0aXZlUGFnZXNPcmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVzdGluZzp3ZWJraXRQ
SURdOworICAgIEVYUEVDVF9FUSgxdSwgYWN0aXZlRG9tYWlucy5jb3VudCk7CisgICAgRVhQRUNU
X1dLX1NUUkVRKEAicHNvbjovL3d3dy53ZWJraXQub3JnIiwgYWN0aXZlRG9tYWluc1swXSk7CisK
KyAgICByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0
aFN0cmluZzpAInBzb246Ly93d3cuZ29vZ2xlLmNvbS9tYWluLmh0bWwiXV07CisgICAgW3dlYlZp
ZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4o
JmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIGF1dG8gZ29vZ2xlUElEID0gW3dlYlZp
ZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVyXTsKKyAgICBFWFBFQ1RfTkUod2Via2l0UElELCBnb29n
bGVQSUQpOworCisgICAgYWN0aXZlRG9tYWlucyA9IFtwcm9jZXNzUG9vbCBfZ2V0QWN0aXZlUGFn
ZXNPcmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVzdGluZzpnb29nbGVQSURdOworICAgIEVYUEVDVF9F
USgxdSwgYWN0aXZlRG9tYWlucy5jb3VudCk7CisgICAgRVhQRUNUX1dLX1NUUkVRKEAicHNvbjov
L3d3dy5nb29nbGUuY29tIiwgYWN0aXZlRG9tYWluc1swXSk7CisKKyAgICBhY3RpdmVEb21haW5z
ID0gW3Byb2Nlc3NQb29sIF9nZXRBY3RpdmVQYWdlc09yaWdpbnNJbldlYlByb2Nlc3NGb3JUZXN0
aW5nOndlYmtpdFBJRF07CisgICAgRVhQRUNUX0VRKDF1LCBhY3RpdmVEb21haW5zLmNvdW50KTsK
KyAgICBFWFBFQ1RfV0tfU1RSRVEoQCJwc29uOi8vd3d3LndlYmtpdC5vcmciLCBhY3RpdmVEb21h
aW5zWzBdKTsKKworICAgIFt3ZWJWaWV3IGdvQmFja107IC8vIEJhY2sgdG8gd2Via2l0Lm9yZy4K
KworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVjZWl2ZWRNZXNzYWdlKTsKKyAgICBy
ZWNlaXZlZE1lc3NhZ2UgPSBmYWxzZTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRv
bmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIGF1dG8gcGlkQWZ0ZXJCYWNrTmF2aWdhdGlv
biA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07CisgICAgRVhQRUNUX0VRKHdlYmtp
dFBJRCwgcGlkQWZ0ZXJCYWNrTmF2aWdhdGlvbik7CisKKyAgICBhY3RpdmVEb21haW5zID0gW3By
b2Nlc3NQb29sIF9nZXRBY3RpdmVQYWdlc09yaWdpbnNJbldlYlByb2Nlc3NGb3JUZXN0aW5nOmdv
b2dsZVBJRF07CisgICAgRVhQRUNUX0VRKDF1LCBhY3RpdmVEb21haW5zLmNvdW50KTsKKyAgICBF
WFBFQ1RfV0tfU1RSRVEoQCJwc29uOi8vd3d3Lmdvb2dsZS5jb20iLCBhY3RpdmVEb21haW5zWzBd
KTsKKworICAgIGFjdGl2ZURvbWFpbnMgPSBbcHJvY2Vzc1Bvb2wgX2dldEFjdGl2ZVBhZ2VzT3Jp
Z2luc0luV2ViUHJvY2Vzc0ZvclRlc3Rpbmc6d2Via2l0UElEXTsKKyAgICBFWFBFQ1RfRVEoMXUs
IGFjdGl2ZURvbWFpbnMuY291bnQpOworICAgIEVYUEVDVF9XS19TVFJFUShAInBzb246Ly93d3cu
d2Via2l0Lm9yZyIsIGFjdGl2ZURvbWFpbnNbMF0pOworfQorI2VuZGlmIC8vIFBMQVRGT1JNKE1B
QykKKwogVEVTVChQcm9jZXNzU3dhcCwgQmFja1dpdGhvdXRTdXNwZW5kZWRQYWdlKQogewogICAg
IGF1dG8gcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW19XS1Byb2Nlc3NQb29s
Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>