<?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>173882</bug_id>
          
          <creation_ts>2017-06-27 12:14:54 -0700</creation_ts>
          <short_desc>Move WebsiteDataRecord processing off-thread in WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains()</short_desc>
          <delta_ts>2017-06-27 21:17:51 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=173904</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=173895</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1323196</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-27 12:14:54 -0700</bug_when>
    <thetext>Moved processing / filtering of data returned by WebsiteDataStore::fetchData() off the main thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323197</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-27 12:15:08 -0700</bug_when>
    <thetext>&lt;rdar://problem/32984366&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323215</commentid>
    <comment_count>2</comment_count>
      <attachid>313936</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-27 13:44:22 -0700</bug_when>
    <thetext>Created attachment 313936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323216</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-27 13:45:53 -0700</bug_when>
    <thetext>Attachment 313936 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp:186:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp:189:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp:287:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.h:96:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 4 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323270</commentid>
    <comment_count>4</comment_count>
      <attachid>313948</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-27 14:54:32 -0700</bug_when>
    <thetext>Created attachment 313948
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323271</commentid>
    <comment_count>5</comment_count>
      <attachid>313949</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-27 15:01:36 -0700</bug_when>
    <thetext>Created attachment 313949
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323368</commentid>
    <comment_count>6</comment_count>
      <attachid>313949</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-27 18:47:18 -0700</bug_when>
    <thetext>Comment on attachment 313949
Patch

Clearing flags on attachment: 313949

Committed r218860: &lt;http://trac.webkit.org/changeset/218860&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323369</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-27 18:47:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313936</attachid>
            <date>2017-06-27 13:44:22 -0700</date>
            <delta_ts>2017-06-27 14:51:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173882-20170627134421.patch</filename>
            <type>text/plain</type>
            <size>15435</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4ODM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOGZhMzc0ZDcwODkxNGZm
MzAwZWUyMzI4YTY5MmE2MWE2ZTQ1NmY3OS4uOWZjZGJhNjc5NWY1MzIzYzVkYjhmZTM5NjQ2Yzg4
YWY5MmQxNTA0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE3LTA2LTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZWQgcHJvY2Vzc2luZyAv
IGZpbHRlcmluZyBvZiBkYXRhIHJldHVybmVkIGJ5IFdlYnNpdGVEYXRhU3RvcmU6OmZldGNoRGF0
YSgpIG9mZiB0aGUgbWFpbiB0aHJlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3Mzg4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzI5ODQzNjY+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1l
IFdlYnNpdGVEYXRhU3RvcmU6OmZldGNoRGF0YSgpIHRvIGZldGNoRGF0YUFuZEFwcGx5KCkgYW5k
IGNhbGwgdGhlIHBhc3NlZCBpbgorICAgICAgICB8YXBwbHl8IGxhbWJkYSBvbiBhIGJhY2tncm91
bmQgdGhyZWFkLiBUaGlzIGFsbG93cyB0aGUgY2FsbGVyIG9mIGZldGNoRGF0YUFuZEFwcGx5KCkK
KyAgICAgICAgdG8gcHJvY2VzcyAvIGZpbHRlciB0aGUgZGF0YSBiZWluZyBmZXRjaGVkIG9mZiB0
aGUgbWFpbiB0aHJlYWQuIFRoaXMgaXMgbmVlZGVkIGFzCisgICAgICAgIHNvbWUgY2FsbCBzaXRl
cyBzdWNoIGFzIFdlYnNpdGVEYXRhU3RvcmU6OmZldGNoRGF0YUZvclRvcFByaXZhdGVseUNvbnRy
b2xsZWREb21haW5zKCkKKyAgICAgICAgZG8gcHJvY2Vzc2luZyBvbiB0aGUgZGF0YSB0aGF0IGlz
IGV4cGVuc2l2ZSBhbmQgY2F1c2VzIHRoZSBtYWluIHRocmVhZCB0byBiZSBidXN5CisgICAgICAg
IGFuZCB0aGUgVUkgdG8gaGFuZy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0FwcGxp
Y2F0aW9uQ2FjaGVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdLQXBwbGljYXRpb25DYWNoZU1hbmFn
ZXJHZXRBcHBsaWNhdGlvbkNhY2hlT3JpZ2lucyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L1dLUmVzb3VyY2VDYWNoZU1hbmFnZXIuY3BwOgorICAgICAgICAoV0tSZXNvdXJjZUNhY2hlTWFu
YWdlckdldENhY2hlT3JpZ2lucyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YnNpdGVEYXRhU3RvcmUubW06CisgICAgICAgICgtW1dLV2Vic2l0ZURhdGFTdG9yZSBfZmV0Y2hE
YXRhUmVjb3Jkc09mVHlwZXM6d2l0aE9wdGlvbnM6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpmZXRjaERhdGFBbmRBcHBseSk6CisgICAgICAg
IChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OmZldGNoRGF0YUZvclRvcFByaXZhdGVseUNvbnRy
b2xsZWREb21haW5zKToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6dG9wUHJp
dmF0ZWx5Q29udHJvbGxlZERvbWFpbnNXaXRoV2Vic2l0ZURhdGEpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmg6CisKIDIwMTctMDYtMjcgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPUyBEbkRdIFtX
SzJdIFdLV2ViVmlldyBkb2VzIG5vdCBoYW5kbGUgZHJhZyBzZXNzaW9ucyB0aGF0IGV4aXQgYW5k
IHJlLWVudGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tB
cHBsaWNhdGlvbkNhY2hlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tBcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5jcHAKaW5kZXggYjM3MTU2NjIwOWVhNmE5Y2Rm
M2IyYjNjMzdiNzQ4MDY4OWRkMWQzNy4uYTY0ZDAwNGM2OGRlNTRlMjRiZGNiMDllYzNlMmI3Y2Qz
MTI4NjNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQXBw
bGljYXRpb25DYWNoZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0FwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2lu
Y2x1ZGUgIkFQSVdlYnNpdGVEYXRhU3RvcmUuaCIKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKICNp
bmNsdWRlICJXZWJzaXRlRGF0YVJlY29yZC5oIgorI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAK
IHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKQEAgLTQxLDE0ICs0MiwxOCBAQCBXS1R5cGVJRCBX
S0FwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyR2V0VHlwZUlEKCkKIHZvaWQgV0tBcHBsaWNhdGlvbkNh
Y2hlTWFuYWdlckdldEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5zKFdLQXBwbGljYXRpb25DYWNoZU1h
bmFnZXJSZWYgYXBwbGljYXRpb25DYWNoZU1hbmFnZXIsIHZvaWQqIGNvbnRleHQsIFdLQXBwbGlj
YXRpb25DYWNoZU1hbmFnZXJHZXRBcHBsaWNhdGlvbkNhY2hlT3JpZ2luc0Z1bmN0aW9uIGNhbGxi
YWNrKQogewogICAgIGF1dG8mIHdlYnNpdGVEYXRhU3RvcmUgPSB0b0ltcGwocmVpbnRlcnByZXRf
Y2FzdDxXS1dlYnNpdGVEYXRhU3RvcmVSZWY+KGFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyKSktPndl
YnNpdGVEYXRhU3RvcmUoKTsKLSAgICB3ZWJzaXRlRGF0YVN0b3JlLmZldGNoRGF0YShXZWJzaXRl
RGF0YVR5cGU6Ok9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlLCB7IH0sIFtjb250ZXh0LCBjYWxs
YmFja10oYXV0byBkYXRhUmVjb3JkcykgeworICAgIHdlYnNpdGVEYXRhU3RvcmUuZmV0Y2hEYXRh
QW5kQXBwbHkoV2Vic2l0ZURhdGFUeXBlOjpPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZSwgeyB9
LCBbY29udGV4dCwgY2FsbGJhY2tdKFZlY3RvcjxXZWJzaXRlRGF0YVJlY29yZD4mJiAgZGF0YVJl
Y29yZHMpIHsKKyAgICAgICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7CisKICAgICAgICAg
VmVjdG9yPFJlZlB0cjxBUEk6Ok9iamVjdD4+IHNlY3VyaXR5T3JpZ2luczsKICAgICAgICAgZm9y
IChjb25zdCBhdXRvJiBkYXRhUmVjb3JkIDogZGF0YVJlY29yZHMpIHsKICAgICAgICAgICAgIGZv
ciAoY29uc3QgYXV0byYgb3JpZ2luIDogZGF0YVJlY29yZC5vcmlnaW5zKQogICAgICAgICAgICAg
ICAgIHNlY3VyaXR5T3JpZ2lucy5hcHBlbmQoQVBJOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKG9y
aWdpbi5zZWN1cml0eU9yaWdpbigpKSk7CiAgICAgICAgIH0KIAotICAgICAgICBjYWxsYmFjayh0
b0FQSShBUEk6OkFycmF5OjpjcmVhdGUoV1RGTW92ZShzZWN1cml0eU9yaWdpbnMpKS5wdHIoKSks
IG51bGxwdHIsIGNvbnRleHQpOworICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2Nv
bnRleHQsIGNhbGxiYWNrLCBzZWN1cml0eU9yaWdpbnMgPSBXVEZNb3ZlKHNlY3VyaXR5T3JpZ2lu
cyldICgpIG11dGFibGUgeworICAgICAgICAgICAgY2FsbGJhY2sodG9BUEkoQVBJOjpBcnJheTo6
Y3JlYXRlKFdURk1vdmUoc2VjdXJpdHlPcmlnaW5zKSkucHRyKCkpLCBudWxscHRyLCBjb250ZXh0
KTsKKyAgICAgICAgfSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlQ2FjaGVNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlQ2FjaGVNYW5hZ2VyLmNwcAppbmRleCBmNzdl
MjhmYjQyZGZlZWMyOTU1NGJjNmMzODU4NzY1YzY3NWUxMDcyLi5jZTQ0MGZlOWE1MDhlNjIyMDYw
Mzc1NjkxNTExZDFhY2ZlNTI0OGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tSZXNvdXJjZUNhY2hlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VDYWNoZU1hbmFnZXIuY3BwCkBAIC0zMCw2ICszMCw3
IEBACiAjaW5jbHVkZSAiQVBJV2Vic2l0ZURhdGFTdG9yZS5oIgogI2luY2x1ZGUgIldLQVBJQ2Fz
dC5oIgogI2luY2x1ZGUgIldlYnNpdGVEYXRhUmVjb3JkLmgiCisjaW5jbHVkZSA8d3RmL1J1bkxv
b3AuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIApAQCAtNTMsMTQgKzU0LDE3IEBAIHN0
YXRpYyBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiB0b1dlYnNpdGVEYXRhVHlwZXMoV0tSZXNv
dXJjZUNhY2hlc1RvQ2xlYXIgY2FjCiB2b2lkIFdLUmVzb3VyY2VDYWNoZU1hbmFnZXJHZXRDYWNo
ZU9yaWdpbnMoV0tSZXNvdXJjZUNhY2hlTWFuYWdlclJlZiBjYWNoZU1hbmFnZXIsIHZvaWQqIGNv
bnRleHQsIFdLUmVzb3VyY2VDYWNoZU1hbmFnZXJHZXRDYWNoZU9yaWdpbnNGdW5jdGlvbiBjYWxs
YmFjaykKIHsKICAgICBhdXRvJiB3ZWJzaXRlRGF0YVN0b3JlID0gdG9JbXBsKHJlaW50ZXJwcmV0
X2Nhc3Q8V0tXZWJzaXRlRGF0YVN0b3JlUmVmPihjYWNoZU1hbmFnZXIpKS0+d2Vic2l0ZURhdGFT
dG9yZSgpOwotICAgIHdlYnNpdGVEYXRhU3RvcmUuZmV0Y2hEYXRhKHRvV2Vic2l0ZURhdGFUeXBl
cyhXS1Jlc291cmNlQ2FjaGVzVG9DbGVhckFsbCksIHsgfSwgW2NvbnRleHQsIGNhbGxiYWNrXShh
dXRvIGRhdGFSZWNvcmRzKSB7CisgICAgd2Vic2l0ZURhdGFTdG9yZS5mZXRjaERhdGFBbmRBcHBs
eSh0b1dlYnNpdGVEYXRhVHlwZXMoV0tSZXNvdXJjZUNhY2hlc1RvQ2xlYXJBbGwpLCB7IH0sIFtj
b250ZXh0LCBjYWxsYmFja10oVmVjdG9yPFdlYnNpdGVEYXRhUmVjb3JkPiYmIGRhdGFSZWNvcmRz
KSB7CisgICAgICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOworCiAgICAgICAgIFZlY3Rv
cjxSZWZQdHI8QVBJOjpPYmplY3Q+PiBzZWN1cml0eU9yaWdpbnM7CiAgICAgICAgIGZvciAoY29u
c3QgYXV0byYgZGF0YVJlY29yZCA6IGRhdGFSZWNvcmRzKSB7CiAgICAgICAgICAgICBmb3IgKGNv
bnN0IGF1dG8mIG9yaWdpbiA6IGRhdGFSZWNvcmQub3JpZ2lucykKICAgICAgICAgICAgICAgICBz
ZWN1cml0eU9yaWdpbnMuYXBwZW5kKEFQSTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShvcmlnaW4u
c2VjdXJpdHlPcmlnaW4oKSkpOwogICAgICAgICB9Ci0KLSAgICAgICAgY2FsbGJhY2sodG9BUEko
QVBJOjpBcnJheTo6Y3JlYXRlKFdURk1vdmUoc2VjdXJpdHlPcmlnaW5zKSkucHRyKCkpLCBudWxs
cHRyLCBjb250ZXh0KTsKKyAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtjb250ZXh0
LCBjYWxsYmFjaywgc2VjdXJpdHlPcmlnaW5zID0gV1RGTW92ZShzZWN1cml0eU9yaWdpbnMpXSAo
KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGNhbGxiYWNrKHRvQVBJKEFQSTo6QXJyYXk6OmNyZWF0
ZShXVEZNb3ZlKHNlY3VyaXR5T3JpZ2lucykpLnB0cigpKSwgbnVsbHB0ciwgY29udGV4dCk7Cisg
ICAgICAgIH0pOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCmluZGV4IDk1NzEwNTk5YjMx
N2Y1MWJmZWU4Y2ExOTJiOWZkMmFiYjg0NzU4YTcuLjc0Y2Q0ZmZkMDA4ZDU2Y2QxNDZhYjVmYzM3
OWIzZGQzZTY4YzgzNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCkBAIC0zNCw2ICszNCw3IEBACiAjaW1w
b3J0ICJXZWJzaXRlRGF0YUZldGNoT3B0aW9uLmgiCiAjaW1wb3J0ICJfV0tXZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvbi5oIgogI2ltcG9ydCA8d3RmL0Jsb2NrUHRyLmg+CisjaW1wb3J0IDx3
dGYvUnVuTG9vcC5oPgogCiBAaW1wbGVtZW50YXRpb24gV0tXZWJzaXRlRGF0YVN0b3JlCiAKQEAg
LTE4MSwxNCArMTgyLDE1IEBAIHN0YXRpYyBWZWN0b3I8V2ViS2l0OjpXZWJzaXRlRGF0YVJlY29y
ZD4gdG9XZWJzaXRlRGF0YVJlY29yZHMoTlNBcnJheSAqZGF0YVJlY29yCiAgICAgaWYgKG9wdGlv
bnMgJiBfV0tXZWJzaXRlRGF0YVN0b3JlRmV0Y2hPcHRpb25Db21wdXRlU2l6ZXMpCiAgICAgICAg
IGZldGNoT3B0aW9ucyB8PSBXZWJLaXQ6OldlYnNpdGVEYXRhRmV0Y2hPcHRpb246OkNvbXB1dGVT
aXplczsKIAotICAgIF93ZWJzaXRlRGF0YVN0b3JlLT53ZWJzaXRlRGF0YVN0b3JlKCkuZmV0Y2hE
YXRhKFdlYktpdDo6dG9XZWJzaXRlRGF0YVR5cGVzKGRhdGFUeXBlcyksIGZldGNoT3B0aW9ucywg
W2NvbXBsZXRpb25IYW5kbGVyQ29weSA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXJDb3B5KV0o
YXV0byB3ZWJzaXRlRGF0YVJlY29yZHMpIHsKKyAgICBfd2Vic2l0ZURhdGFTdG9yZS0+d2Vic2l0
ZURhdGFTdG9yZSgpLmZldGNoRGF0YUFuZEFwcGx5KFdlYktpdDo6dG9XZWJzaXRlRGF0YVR5cGVz
KGRhdGFUeXBlcyksIGZldGNoT3B0aW9ucywgW2NvbXBsZXRpb25IYW5kbGVyQ29weSA9IFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXJDb3B5KV0oVmVjdG9yPFdlYktpdDo6V2Vic2l0ZURhdGFSZWNv
cmQ+JiYgd2Vic2l0ZURhdGFSZWNvcmRzKSBtdXRhYmxlIHsKICAgICAgICAgVmVjdG9yPFJlZlB0
cjxBUEk6Ok9iamVjdD4+IGVsZW1lbnRzOwogICAgICAgICBlbGVtZW50cy5yZXNlcnZlSW5pdGlh
bENhcGFjaXR5KHdlYnNpdGVEYXRhUmVjb3Jkcy5zaXplKCkpOwotCiAgICAgICAgIGZvciAoYXV0
byYgd2Vic2l0ZURhdGFSZWNvcmQgOiB3ZWJzaXRlRGF0YVJlY29yZHMpCiAgICAgICAgICAgICBl
bGVtZW50cy51bmNoZWNrZWRBcHBlbmQoQVBJOjpXZWJzaXRlRGF0YVJlY29yZDo6Y3JlYXRlKFdU
Rk1vdmUod2Vic2l0ZURhdGFSZWNvcmQpKSk7CiAKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXJD
b3B5KHdyYXBwZXIoQVBJOjpBcnJheTo6Y3JlYXRlKFdURk1vdmUoZWxlbWVudHMpKSkpOworICAg
ICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2NvbXBsZXRpb25IYW5kbGVyQ29weSA9IFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXJDb3B5KSwgZWxlbWVudHMgPSBXVEZNb3ZlKGVsZW1lbnRz
KV0gKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlckNvcHkod3JhcHBl
cihBUEk6OkFycmF5OjpjcmVhdGUoV1RGTW92ZShlbGVtZW50cykpKSk7CisgICAgICAgIH0pOwog
ICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vic2l0
ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggOTU3Njg5Mzg3MzQwMjNmZjYzMmRk
NmI1ODgxZmUyZDc4YzRkMmYyZi4uYzFjNGJmOTU2NTgwMjQwYjM2ZWVjZTNiMjUyZGNkNDIwMDYy
NDAyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dl
YnNpdGVEYXRhU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJzaXRl
RGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcApAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgPFdl
YkNvcmUvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5
T3JpZ2luLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbkRhdGEuaD4KKyNpbmNs
dWRlIDx3dGYvQ3Jvc3NUaHJlYWRDb3BpZXIuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgog
CiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCkBAIC0xODIsMTIgKzE4MywxMyBAQCBz
dGF0aWMgUHJvY2Vzc0FjY2Vzc1R5cGUgY29tcHV0ZVdlYlByb2Nlc3NBY2Nlc3NUeXBlRm9yRGF0
YUZldGNoKE9wdGlvblNldDxXZWJzaQogICAgIHJldHVybiBwcm9jZXNzQWNjZXNzVHlwZTsKIH0K
IAotdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpmZXRjaERhdGEoT3B0aW9uU2V0PFdlYnNpdGVEYXRh
VHlwZT4gZGF0YVR5cGVzLCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFGZXRjaE9wdGlvbj4gZmV0Y2hP
cHRpb25zLCBGdW5jdGlvbjx2b2lkKFZlY3RvcjxXZWJzaXRlRGF0YVJlY29yZD4pPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQordm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpmZXRjaERhdGFBbmRBcHBseShP
cHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIE9wdGlvblNldDxXZWJzaXRlRGF0
YUZldGNoT3B0aW9uPiBmZXRjaE9wdGlvbnMsIEZ1bmN0aW9uPHZvaWQgKFZlY3RvcjxXZWJzaXRl
RGF0YVJlY29yZD4mJik+JiYgYXBwbHkpCiB7CiAgICAgc3RydWN0IENhbGxiYWNrQWdncmVnYXRv
ciBmaW5hbCA6IFRocmVhZFNhZmVSZWZDb3VudGVkPENhbGxiYWNrQWdncmVnYXRvcj4gewotICAg
ICAgICBleHBsaWNpdCBDYWxsYmFja0FnZ3JlZ2F0b3IoT3B0aW9uU2V0PFdlYnNpdGVEYXRhRmV0
Y2hPcHRpb24+IGZldGNoT3B0aW9ucywgRnVuY3Rpb248dm9pZChWZWN0b3I8V2Vic2l0ZURhdGFS
ZWNvcmQ+KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKKyAgICAgICAgZXhwbGljaXQgQ2FsbGJhY2tB
Z2dyZWdhdG9yKE9wdGlvblNldDxXZWJzaXRlRGF0YUZldGNoT3B0aW9uPiBmZXRjaE9wdGlvbnMs
IFJlZjxXb3JrUXVldWU+JiYgcXVldWUsIEZ1bmN0aW9uPHZvaWQgKFZlY3RvcjxXZWJzaXRlRGF0
YVJlY29yZD4mJik+JiYgYXBwbHkpCiAgICAgICAgICAgICA6IGZldGNoT3B0aW9ucyhmZXRjaE9w
dGlvbnMpCi0gICAgICAgICAgICAsIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpKQorICAgICAgICAgICAgLCBxdWV1ZShXVEZNb3ZlKHF1ZXVlKSkKKyAgICAgICAg
ICAgICwgYXBwbHkoV1RGTW92ZShhcHBseSkpCiAgICAgICAgIHsKICAgICAgICAgfQogCkBAIC0y
NjYsMjcgKzI2OCwyOCBAQCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OmZldGNoRGF0YShPcHRpb25T
ZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIE9wdGlvblNldAogICAgICAgICAgICAgaWYg
KHBlbmRpbmdDYWxsYmFja3MpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAg
ICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2NhbGxiYWNrQWdncmVnYXRvciA9IG1ha2VSZWYo
KnRoaXMpXSgpIG11dGFibGUgeworICAgICAgICAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigp
KTsKIAotICAgICAgICAgICAgICAgIFdURjo6VmVjdG9yPFdlYnNpdGVEYXRhUmVjb3JkPiByZWNv
cmRzOwotICAgICAgICAgICAgICAgIHJlY29yZHMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShjYWxs
YmFja0FnZ3JlZ2F0b3ItPm1fd2Vic2l0ZURhdGFSZWNvcmRzLnNpemUoKSk7CisgICAgICAgICAg
ICBWZWN0b3I8V2Vic2l0ZURhdGFSZWNvcmQ+IHJlY29yZHM7CisgICAgICAgICAgICByZWNvcmRz
LnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobV93ZWJzaXRlRGF0YVJlY29yZHMuc2l6ZSgpKTsKKyAg
ICAgICAgICAgIGZvciAoYXV0byYgcmVjb3JkIDogbV93ZWJzaXRlRGF0YVJlY29yZHMudmFsdWVz
KCkpCisgICAgICAgICAgICAgICAgcmVjb3Jkcy51bmNoZWNrZWRBcHBlbmQoV1RGTW92ZShyZWNv
cmQpKTsKIAotICAgICAgICAgICAgICAgIGZvciAoYXV0byYgcmVjb3JkIDogY2FsbGJhY2tBZ2dy
ZWdhdG9yLT5tX3dlYnNpdGVEYXRhUmVjb3Jkcy52YWx1ZXMoKSkKLSAgICAgICAgICAgICAgICAg
ICAgcmVjb3Jkcy51bmNoZWNrZWRBcHBlbmQoV1RGTW92ZShyZWNvcmQpKTsKLQotICAgICAgICAg
ICAgICAgIGNhbGxiYWNrQWdncmVnYXRvci0+Y29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShyZWNv
cmRzKSk7CisgICAgICAgICAgICBxdWV1ZS0+ZGlzcGF0Y2goW2FwcGx5ID0gV1RGTW92ZShhcHBs
eSksIHJlY29yZHMgPSBXVEZNb3ZlKHJlY29yZHMpLCBwcm90ZWN0ZWRRdWV1ZSA9IHF1ZXVlLmNv
cHlSZWYoKV0gKCkgbXV0YWJsZSB7CisgICAgICAgICAgICAgICAgYXBwbHkoV1RGTW92ZShyZWNv
cmRzKSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogCiAgICAgICAgIGNvbnN0IE9wdGlv
blNldDxXZWJzaXRlRGF0YUZldGNoT3B0aW9uPiBmZXRjaE9wdGlvbnM7CiAKICAgICAgICAgdW5z
aWduZWQgcGVuZGluZ0NhbGxiYWNrcyA9IDA7Ci0gICAgICAgIEZ1bmN0aW9uPHZvaWQoVmVjdG9y
PFdlYnNpdGVEYXRhUmVjb3JkPik+IGNvbXBsZXRpb25IYW5kbGVyOworICAgICAgICBSZWY8V29y
a1F1ZXVlPiBxdWV1ZTsKKyAgICAgICAgRnVuY3Rpb248dm9pZCAoVmVjdG9yPFdlYnNpdGVEYXRh
UmVjb3JkPiYmKT4gYXBwbHk7CiAKICAgICAgICAgSGFzaE1hcDxTdHJpbmcsIFdlYnNpdGVEYXRh
UmVjb3JkPiBtX3dlYnNpdGVEYXRhUmVjb3JkczsKICAgICB9OwogCi0gICAgUmVmUHRyPENhbGxi
YWNrQWdncmVnYXRvcj4gY2FsbGJhY2tBZ2dyZWdhdG9yID0gYWRvcHRSZWYobmV3IENhbGxiYWNr
QWdncmVnYXRvcihmZXRjaE9wdGlvbnMsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKSk7Cisg
ICAgYXV0byBjYWxsYmFja0FnZ3JlZ2F0b3IgPSBhZG9wdFJlZihuZXcgQ2FsbGJhY2tBZ2dyZWdh
dG9yKGZldGNoT3B0aW9ucywgbV9xdWV1ZS5jb3B5UmVmKCksIFdURk1vdmUoYXBwbHkpKSk7CiAK
ICNpZiBFTkFCTEUoVklERU8pCiAgICAgaWYgKGRhdGFUeXBlcy5jb250YWlucyhXZWJzaXRlRGF0
YVR5cGU6OkRpc2tDYWNoZSkpIHsKQEAgLTUwOSwzMyArNTEyLDQyIEBAIHZvaWQgV2Vic2l0ZURh
dGFTdG9yZTo6ZmV0Y2hEYXRhKE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywg
T3B0aW9uU2V0CiAKIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6ZmV0Y2hEYXRhRm9yVG9wUHJpdmF0
ZWx5Q29udHJvbGxlZERvbWFpbnMoT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVz
LCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFGZXRjaE9wdGlvbj4gZmV0Y2hPcHRpb25zLCBjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgdG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbnMsIEZ1bmN0aW9uPHZv
aWQoVmVjdG9yPFdlYnNpdGVEYXRhUmVjb3JkPiYmLCBIYXNoU2V0PFN0cmluZz4mJik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgZmV0Y2hEYXRhKGRhdGFUeXBlcywgZmV0Y2hPcHRpb25z
LCBbdG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbnMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcildKGF1dG8mJiBleGlzdGluZ0RhdGFSZWNvcmRzKSB7Cisg
ICAgZmV0Y2hEYXRhQW5kQXBwbHkoZGF0YVR5cGVzLCBmZXRjaE9wdGlvbnMsIFt0b3BQcml2YXRl
bHlDb250cm9sbGVkRG9tYWlucyA9IENyb3NzVGhyZWFkQ29waWVyPFZlY3RvcjxTdHJpbmc+Pjo6
Y29weSh0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWlucyksIGNvbXBsZXRpb25IYW5kbGVyID0g
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKFZlY3RvcjxXZWJzaXRlRGF0YVJlY29yZD4mJiBl
eGlzdGluZ0RhdGFSZWNvcmRzKSBtdXRhYmxlIHsKKyAgICAgICAgQVNTRVJUKCFSdW5Mb29wOjpp
c01haW4oKSk7CisKICAgICAgICAgVmVjdG9yPFdlYnNpdGVEYXRhUmVjb3JkPiBtYXRjaGluZ0Rh
dGFSZWNvcmRzOwogICAgICAgICBIYXNoU2V0PFN0cmluZz4gZG9tYWluc1dpdGhNYXRjaGluZ0Rh
dGFSZWNvcmRzOwogICAgICAgICBmb3IgKGF1dG8mJiBkYXRhUmVjb3JkIDogZXhpc3RpbmdEYXRh
UmVjb3JkcykgewogICAgICAgICAgICAgZm9yIChhdXRvJiB0b3BQcml2YXRlbHlDb250cm9sbGVk
RG9tYWluIDogdG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbnMpIHsKICAgICAgICAgICAgICAg
ICBpZiAoZGF0YVJlY29yZC5tYXRjaGVzVG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbih0b3BQ
cml2YXRlbHlDb250cm9sbGVkRG9tYWluKSkgewogICAgICAgICAgICAgICAgICAgICBtYXRjaGlu
Z0RhdGFSZWNvcmRzLmFwcGVuZChXVEZNb3ZlKGRhdGFSZWNvcmQpKTsKLSAgICAgICAgICAgICAg
ICAgICAgZG9tYWluc1dpdGhNYXRjaGluZ0RhdGFSZWNvcmRzLmFkZCh0b3BQcml2YXRlbHlDb250
cm9sbGVkRG9tYWluKTsKKyAgICAgICAgICAgICAgICAgICAgZG9tYWluc1dpdGhNYXRjaGluZ0Rh
dGFSZWNvcmRzLmFkZCh0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWluLmlzb2xhdGVkQ29weSgp
KTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUobWF0
Y2hpbmdEYXRhUmVjb3JkcyksIFdURk1vdmUoZG9tYWluc1dpdGhNYXRjaGluZ0RhdGFSZWNvcmRz
KSk7CisKKyAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtjb21wbGV0aW9uSGFuZGxl
ciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBtYXRjaGluZ0RhdGFSZWNvcmRzID0gV1RG
TW92ZShtYXRjaGluZ0RhdGFSZWNvcmRzKSwgZG9tYWluc1dpdGhNYXRjaGluZ0RhdGFSZWNvcmRz
ID0gV1RGTW92ZShkb21haW5zV2l0aE1hdGNoaW5nRGF0YVJlY29yZHMpXSAoKSBtdXRhYmxlIHsK
KyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUobWF0Y2hpbmdEYXRhUmVjb3Jk
cyksIFdURk1vdmUoZG9tYWluc1dpdGhNYXRjaGluZ0RhdGFSZWNvcmRzKSk7CisgICAgICAgIH0p
OwogICAgIH0pOwogfQogICAgIAogdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjp0b3BQcml2YXRlbHlD
b250cm9sbGVkRG9tYWluc1dpdGhXZWJzaXRlRGF0YShPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBl
PiBkYXRhVHlwZXMsIE9wdGlvblNldDxXZWJzaXRlRGF0YUZldGNoT3B0aW9uPiBmZXRjaE9wdGlv
bnMsIEZ1bmN0aW9uPHZvaWQoSGFzaFNldDxTdHJpbmc+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQogewotICAgIGZldGNoRGF0YShkYXRhVHlwZXMsIGZldGNoT3B0aW9ucywgW2NvbXBsZXRpb25I
YW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIHRoaXMsIHByb3RlY3RlZFRoaXMg
PSBtYWtlUmVmKCp0aGlzKV0oYXV0byYmIGV4aXN0aW5nRGF0YVJlY29yZHMpIHsKKyAgICBmZXRj
aERhdGFBbmRBcHBseShkYXRhVHlwZXMsIGZldGNoT3B0aW9ucywgW2NvbXBsZXRpb25IYW5kbGVy
ID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKFZlY3RvcjxXZWJzaXRlRGF0YVJlY29yZD4m
JiBleGlzdGluZ0RhdGFSZWNvcmRzKSBtdXRhYmxlIHsKKyAgICAgICAgQVNTRVJUKCFSdW5Mb29w
Ojppc01haW4oKSk7CisKICAgICAgICAgSGFzaFNldDxTdHJpbmc+IGRvbWFpbnNXaXRoRGF0YVJl
Y29yZHM7CiAgICAgICAgIGZvciAoYXV0byYmIGRhdGFSZWNvcmQgOiBleGlzdGluZ0RhdGFSZWNv
cmRzKSB7CiAgICAgICAgICAgICBTdHJpbmcgZG9tYWluID0gZGF0YVJlY29yZC50b3BQcml2YXRl
bHlDb250cm9sbGVkRG9tYWluKCk7CiAgICAgICAgICAgICBpZiAoZG9tYWluLmlzRW1wdHkoKSkK
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIGRvbWFpbnNXaXRoRGF0YVJl
Y29yZHMuYWRkKFdURk1vdmUoZG9tYWluKSk7CisgICAgICAgICAgICBkb21haW5zV2l0aERhdGFS
ZWNvcmRzLmFkZChkb21haW4uaXNvbGF0ZWRDb3B5KCkpOwogICAgICAgICB9Ci0gICAgICAgIGNv
bXBsZXRpb25IYW5kbGVyKFdURk1vdmUoZG9tYWluc1dpdGhEYXRhUmVjb3JkcykpOworICAgICAg
ICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlciksIGRvbWFpbnNXaXRoRGF0YVJlY29yZHMgPSBXVEZNb3ZlKGRvbWFp
bnNXaXRoRGF0YVJlY29yZHMpXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25I
YW5kbGVyKFdURk1vdmUoZG9tYWluc1dpdGhEYXRhUmVjb3JkcykpOworICAgICAgICB9KTsKICAg
ICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYnNpdGVE
YXRhL1dlYnNpdGVEYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJzaXRl
RGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKaW5kZXggZWQwYzkzNGU0NWM3MGZkZDA2Njk4OWQzMjRi
MTUyOTc2MDgzMjhkMC4uNTA4MzBkM2Q5ZjNhMzE2NjRjMDViZjMyMjA5NzNjZDFmNjQxYzE5NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVE
YXRhU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZS5oCkBAIC05Myw3ICs5Myw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB2
b2lkIGNsb25lU2Vzc2lvbkRhdGEoV2ViUGFnZVByb3h5JiBzb3VyY2VQYWdlLCBXZWJQYWdlUHJv
eHkmIG5ld1BhZ2UpOwogCi0gICAgdm9pZCBmZXRjaERhdGEoT3B0aW9uU2V0PFdlYnNpdGVEYXRh
VHlwZT4sIE9wdGlvblNldDxXZWJzaXRlRGF0YUZldGNoT3B0aW9uPiwgRnVuY3Rpb248dm9pZChW
ZWN0b3I8V2Vic2l0ZURhdGFSZWNvcmQ+KT4mJiBjb21wbGV0aW9uSGFuZGxlcik7CisgICAgdm9p
ZCBmZXRjaERhdGFBbmRBcHBseShPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiwgT3B0aW9uU2V0
PFdlYnNpdGVEYXRhRmV0Y2hPcHRpb24+LCBGdW5jdGlvbjx2b2lkIChWZWN0b3I8V2Vic2l0ZURh
dGFSZWNvcmQ+JiYpPiYmIGFwcGx5KTsKICAgICB2b2lkIGZldGNoRGF0YUZvclRvcFByaXZhdGVs
eUNvbnRyb2xsZWREb21haW5zKE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+LCBPcHRpb25TZXQ8
V2Vic2l0ZURhdGFGZXRjaE9wdGlvbj4sIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB0b3BQcml2YXRl
bHlDb250cm9sbGVkRG9tYWlucywgRnVuY3Rpb248dm9pZChWZWN0b3I8V2Vic2l0ZURhdGFSZWNv
cmQ+JiYsIEhhc2hTZXQ8U3RyaW5nPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcik7CiAgICAgdm9p
ZCB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWluc1dpdGhXZWJzaXRlRGF0YShPcHRpb25TZXQ8
V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIE9wdGlvblNldDxXZWJzaXRlRGF0YUZldGNoT3B0
aW9uPiBmZXRjaE9wdGlvbnMsIEZ1bmN0aW9uPHZvaWQoSGFzaFNldDxTdHJpbmc+JiYpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKTsKICAgICB2b2lkIHJlbW92ZURhdGEoT3B0aW9uU2V0PFdlYnNpdGVE
YXRhVHlwZT4sIHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQgbW9kaWZpZWRT
aW5jZSwgRnVuY3Rpb248dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313948</attachid>
            <date>2017-06-27 14:54:32 -0700</date>
            <delta_ts>2017-06-27 15:01:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173882-20170627145431.patch</filename>
            <type>text/plain</type>
            <size>4272</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4ODQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODViOTVkMWQ3Y2VhY2Rm
OTU0NGY3ZGU2NGI2YWUwZTgyNjI5ZGZiYi4uYWU5YTc3ZGVkODYzNGFjNWU5YTMzN2U0YTZhZjc2
ODcxMzFhNzZiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3LTA2LTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBXZWJzaXRlRGF0YVJl
Y29yZCBwcm9jZXNzaW5nIG9mZi10aHJlYWQgaW4gV2Vic2l0ZURhdGFTdG9yZTo6ZmV0Y2hEYXRh
Rm9yVG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbnMoKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczODgyCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8zMjk4NDM2Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBNb3ZlIFdlYnNpdGVEYXRhUmVjb3JkIHByb2Nlc3Npbmcgb2ZmLXRocmVhZCBpbiBXZWJz
aXRlRGF0YVN0b3JlOjpmZXRjaERhdGFGb3JUb3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWlucygp
CisgICAgICAgIGFzIHdlIGhhdmUgZGF0YSBzaG93aW5nIGl0IGlzIHNsb3cgYW5kIGhhbmdzIHRo
ZSBVSVByb2Nlc3MnIG1haW4gdGhyZWFkLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVE
YXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0
b3JlOjpmZXRjaERhdGFGb3JUb3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWlucyk6CisKIDIwMTct
MDYtMjcgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVz
b3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBBZGQgdGVsZW1ldHJ5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5k
ZXggOTU3Njg5Mzg3MzQwMjNmZjYzMmRkNmI1ODgxZmUyZDc4YzRkMmYyZi4uYWMzMjMyNjZhZWQ0
NjhkNWIwYTk1ZGQ1YTk0MmEzMDYwYzA4N2NjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcApAQCAtNDYs
NiArNDYsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1
cml0eU9yaWdpbkRhdGEuaD4KKyNpbmNsdWRlIDx3dGYvQ3Jvc3NUaHJlYWRDb3BpZXIuaD4KICNp
bmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkp
CkBAIC01MDksMTkgKzUxMCwyMyBAQCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OmZldGNoRGF0YShP
cHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIE9wdGlvblNldAogCiB2b2lkIFdl
YnNpdGVEYXRhU3RvcmU6OmZldGNoRGF0YUZvclRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW5z
KE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgT3B0aW9uU2V0PFdlYnNpdGVE
YXRhRmV0Y2hPcHRpb24+IGZldGNoT3B0aW9ucywgY29uc3QgVmVjdG9yPFN0cmluZz4mIHRvcFBy
aXZhdGVseUNvbnRyb2xsZWREb21haW5zLCBGdW5jdGlvbjx2b2lkKFZlY3RvcjxXZWJzaXRlRGF0
YVJlY29yZD4mJiwgSGFzaFNldDxTdHJpbmc+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewot
ICAgIGZldGNoRGF0YShkYXRhVHlwZXMsIGZldGNoT3B0aW9ucywgW3RvcFByaXZhdGVseUNvbnRy
b2xsZWREb21haW5zLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpXShhdXRvJiYgZXhpc3RpbmdEYXRhUmVjb3JkcykgewotICAgICAgICBWZWN0b3I8V2Vic2l0
ZURhdGFSZWNvcmQ+IG1hdGNoaW5nRGF0YVJlY29yZHM7Ci0gICAgICAgIEhhc2hTZXQ8U3RyaW5n
PiBkb21haW5zV2l0aE1hdGNoaW5nRGF0YVJlY29yZHM7Ci0gICAgICAgIGZvciAoYXV0byYmIGRh
dGFSZWNvcmQgOiBleGlzdGluZ0RhdGFSZWNvcmRzKSB7Ci0gICAgICAgICAgICBmb3IgKGF1dG8m
IHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW4gOiB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9t
YWlucykgewotICAgICAgICAgICAgICAgIGlmIChkYXRhUmVjb3JkLm1hdGNoZXNUb3BQcml2YXRl
bHlDb250cm9sbGVkRG9tYWluKHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW4pKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIG1hdGNoaW5nRGF0YVJlY29yZHMuYXBwZW5kKFdURk1vdmUoZGF0YVJl
Y29yZCkpOwotICAgICAgICAgICAgICAgICAgICBkb21haW5zV2l0aE1hdGNoaW5nRGF0YVJlY29y
ZHMuYWRkKHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW4pOwotICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICBmZXRjaERhdGEoZGF0YVR5cGVzLCBmZXRjaE9wdGlvbnMsIFtxdWV1ZSA9
IG1fcXVldWUuY29weVJlZigpLCB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWlucyA9IENyb3Nz
VGhyZWFkQ29waWVyPFZlY3RvcjxTdHJpbmc+Pjo6Y29weSh0b3BQcml2YXRlbHlDb250cm9sbGVk
RG9tYWlucyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcild
IChhdXRvJiYgZXhpc3RpbmdEYXRhUmVjb3JkcykgbXV0YWJsZSB7CisgICAgICAgIHF1ZXVlLmRp
c3BhdGNoKFtxdWV1ZSA9IFdURk1vdmUocXVldWUpLCB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9t
YWlucyA9IFdURk1vdmUodG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbnMpLCBleGlzdGluZ0Rh
dGFSZWNvcmRzID0gV1RGTW92ZShleGlzdGluZ0RhdGFSZWNvcmRzKV0gKCkgbXV0YWJsZSB7Cisg
ICAgICAgICAgICBWZWN0b3I8V2Vic2l0ZURhdGFSZWNvcmQ+IG1hdGNoaW5nRGF0YVJlY29yZHM7
CisgICAgICAgICAgICBIYXNoU2V0PFN0cmluZz4gZG9tYWluc1dpdGhNYXRjaGluZ0RhdGFSZWNv
cmRzOworICAgICAgICAgICAgZm9yIChhdXRvJiYgZGF0YVJlY29yZCA6IGV4aXN0aW5nRGF0YVJl
Y29yZHMpIHsKKyAgICAgICAgICAgICAgICBmb3IgKGF1dG8mIHRvcFByaXZhdGVseUNvbnRyb2xs
ZWREb21haW4gOiB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWlucykgeworICAgICAgICAgICAg
ICAgICAgICBpZiAoZGF0YVJlY29yZC5tYXRjaGVzVG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFp
bih0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWluKSkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgbWF0Y2hpbmdEYXRhUmVjb3Jkcy5hcHBlbmQoV1RGTW92ZShkYXRhUmVjb3JkKSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBkb21haW5zV2l0aE1hdGNoaW5nRGF0YVJlY29yZHMuYWRkKHRv
cFByaXZhdGVseUNvbnRyb2xsZWREb21haW4uaXNvbGF0ZWRDb3B5KCkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIo
V1RGTW92ZShtYXRjaGluZ0RhdGFSZWNvcmRzKSwgV1RGTW92ZShkb21haW5zV2l0aE1hdGNoaW5n
RGF0YVJlY29yZHMpKTsKKyAgICAgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbY29t
cGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgbWF0Y2hpbmdEYXRh
UmVjb3JkcyA9IFdURk1vdmUobWF0Y2hpbmdEYXRhUmVjb3JkcyksIGRvbWFpbnNXaXRoTWF0Y2hp
bmdEYXRhUmVjb3JkcyA9IFdURk1vdmUoZG9tYWluc1dpdGhNYXRjaGluZ0RhdGFSZWNvcmRzKV0g
KCkgbXV0YWJsZSB7CisgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZSht
YXRjaGluZ0RhdGFSZWNvcmRzKSwgV1RGTW92ZShkb21haW5zV2l0aE1hdGNoaW5nRGF0YVJlY29y
ZHMpKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKICAgICB9KTsKIH0KICAgICAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313949</attachid>
            <date>2017-06-27 15:01:36 -0700</date>
            <delta_ts>2017-06-27 18:47:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173882-20170627150135.patch</filename>
            <type>text/plain</type>
            <size>4321</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4ODQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODViOTVkMWQ3Y2VhY2Rm
OTU0NGY3ZGU2NGI2YWUwZTgyNjI5ZGZiYi4uYWU5YTc3ZGVkODYzNGFjNWU5YTMzN2U0YTZhZjc2
ODcxMzFhNzZiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3LTA2LTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBXZWJzaXRlRGF0YVJl
Y29yZCBwcm9jZXNzaW5nIG9mZi10aHJlYWQgaW4gV2Vic2l0ZURhdGFTdG9yZTo6ZmV0Y2hEYXRh
Rm9yVG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbnMoKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczODgyCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8zMjk4NDM2Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBNb3ZlIFdlYnNpdGVEYXRhUmVjb3JkIHByb2Nlc3Npbmcgb2ZmLXRocmVhZCBpbiBXZWJz
aXRlRGF0YVN0b3JlOjpmZXRjaERhdGFGb3JUb3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWlucygp
CisgICAgICAgIGFzIHdlIGhhdmUgZGF0YSBzaG93aW5nIGl0IGlzIHNsb3cgYW5kIGhhbmdzIHRo
ZSBVSVByb2Nlc3MnIG1haW4gdGhyZWFkLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVE
YXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0
b3JlOjpmZXRjaERhdGFGb3JUb3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWlucyk6CisKIDIwMTct
MDYtMjcgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVz
b3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBBZGQgdGVsZW1ldHJ5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5k
ZXggOTU3Njg5Mzg3MzQwMjNmZjYzMmRkNmI1ODgxZmUyZDc4YzRkMmYyZi4uZmFkYWE5MzNmOGFi
YjBjN2E0ZWY2YTgwMWEwZDY5MDU0N2Q2NjI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcApAQCAtNDYs
NiArNDYsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1
cml0eU9yaWdpbkRhdGEuaD4KKyNpbmNsdWRlIDx3dGYvQ3Jvc3NUaHJlYWRDb3BpZXIuaD4KICNp
bmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkp
CkBAIC01MDksMTkgKzUxMCwyMyBAQCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OmZldGNoRGF0YShP
cHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIE9wdGlvblNldAogCiB2b2lkIFdl
YnNpdGVEYXRhU3RvcmU6OmZldGNoRGF0YUZvclRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW5z
KE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgT3B0aW9uU2V0PFdlYnNpdGVE
YXRhRmV0Y2hPcHRpb24+IGZldGNoT3B0aW9ucywgY29uc3QgVmVjdG9yPFN0cmluZz4mIHRvcFBy
aXZhdGVseUNvbnRyb2xsZWREb21haW5zLCBGdW5jdGlvbjx2b2lkKFZlY3RvcjxXZWJzaXRlRGF0
YVJlY29yZD4mJiwgSGFzaFNldDxTdHJpbmc+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewot
ICAgIGZldGNoRGF0YShkYXRhVHlwZXMsIGZldGNoT3B0aW9ucywgW3RvcFByaXZhdGVseUNvbnRy
b2xsZWREb21haW5zLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpXShhdXRvJiYgZXhpc3RpbmdEYXRhUmVjb3JkcykgewotICAgICAgICBWZWN0b3I8V2Vic2l0
ZURhdGFSZWNvcmQ+IG1hdGNoaW5nRGF0YVJlY29yZHM7Ci0gICAgICAgIEhhc2hTZXQ8U3RyaW5n
PiBkb21haW5zV2l0aE1hdGNoaW5nRGF0YVJlY29yZHM7Ci0gICAgICAgIGZvciAoYXV0byYmIGRh
dGFSZWNvcmQgOiBleGlzdGluZ0RhdGFSZWNvcmRzKSB7Ci0gICAgICAgICAgICBmb3IgKGF1dG8m
IHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW4gOiB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9t
YWlucykgewotICAgICAgICAgICAgICAgIGlmIChkYXRhUmVjb3JkLm1hdGNoZXNUb3BQcml2YXRl
bHlDb250cm9sbGVkRG9tYWluKHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW4pKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIG1hdGNoaW5nRGF0YVJlY29yZHMuYXBwZW5kKFdURk1vdmUoZGF0YVJl
Y29yZCkpOwotICAgICAgICAgICAgICAgICAgICBkb21haW5zV2l0aE1hdGNoaW5nRGF0YVJlY29y
ZHMuYWRkKHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW4pOwotICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICBmZXRjaERhdGEoZGF0YVR5cGVzLCBmZXRjaE9wdGlvbnMsIFtxdWV1ZSA9
IG1fcXVldWUuY29weVJlZigpLCB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWlucyA9IENyb3Nz
VGhyZWFkQ29waWVyPFZlY3RvcjxTdHJpbmc+Pjo6Y29weSh0b3BQcml2YXRlbHlDb250cm9sbGVk
RG9tYWlucyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcild
IChhdXRvJiYgZXhpc3RpbmdEYXRhUmVjb3JkcykgbXV0YWJsZSB7CisgICAgICAgIHF1ZXVlLT5k
aXNwYXRjaChbcXVldWUgPSBXVEZNb3ZlKHF1ZXVlKSwgdG9wUHJpdmF0ZWx5Q29udHJvbGxlZERv
bWFpbnMgPSBXVEZNb3ZlKHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW5zKSwgZXhpc3RpbmdE
YXRhUmVjb3JkcyA9IFdURk1vdmUoZXhpc3RpbmdEYXRhUmVjb3JkcyksIGNvbXBsZXRpb25IYW5k
bGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildICgpIG11dGFibGUgeworICAgICAgICAg
ICAgVmVjdG9yPFdlYnNpdGVEYXRhUmVjb3JkPiBtYXRjaGluZ0RhdGFSZWNvcmRzOworICAgICAg
ICAgICAgSGFzaFNldDxTdHJpbmc+IGRvbWFpbnNXaXRoTWF0Y2hpbmdEYXRhUmVjb3JkczsKKyAg
ICAgICAgICAgIGZvciAoYXV0byYmIGRhdGFSZWNvcmQgOiBleGlzdGluZ0RhdGFSZWNvcmRzKSB7
CisgICAgICAgICAgICAgICAgZm9yIChhdXRvJiB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWlu
IDogdG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbnMpIHsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKGRhdGFSZWNvcmQubWF0Y2hlc1RvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW4odG9wUHJp
dmF0ZWx5Q29udHJvbGxlZERvbWFpbikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNo
aW5nRGF0YVJlY29yZHMuYXBwZW5kKFdURk1vdmUoZGF0YVJlY29yZCkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgZG9tYWluc1dpdGhNYXRjaGluZ0RhdGFSZWNvcmRzLmFkZCh0b3BQcml2YXRl
bHlDb250cm9sbGVkRG9tYWluLmlzb2xhdGVkQ29weSgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUo
bWF0Y2hpbmdEYXRhUmVjb3JkcyksIFdURk1vdmUoZG9tYWluc1dpdGhNYXRjaGluZ0RhdGFSZWNv
cmRzKSk7CisgICAgICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2NvbXBsZXRpb25I
YW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIG1hdGNoaW5nRGF0YVJlY29yZHMg
PSBXVEZNb3ZlKG1hdGNoaW5nRGF0YVJlY29yZHMpLCBkb21haW5zV2l0aE1hdGNoaW5nRGF0YVJl
Y29yZHMgPSBXVEZNb3ZlKGRvbWFpbnNXaXRoTWF0Y2hpbmdEYXRhUmVjb3JkcyldICgpIG11dGFi
bGUgeworICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUobWF0Y2hpbmdE
YXRhUmVjb3JkcyksIFdURk1vdmUoZG9tYWluc1dpdGhNYXRjaGluZ0RhdGFSZWNvcmRzKSk7Cisg
ICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7CiAgICAgfSk7CiB9CiAgICAgCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>