<?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>66823</bug_id>
          
          <creation_ts>2011-08-23 16:58:51 -0700</creation_ts>
          <short_desc>Add the request info to the WebPageProxy::CreateNewPage message</short_desc>
          <delta_ts>2011-08-26 12:36:40 -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>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alice Liu">alice.barraclough</reporter>
          <assigned_to name="Alice Liu">alice.barraclough</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>455823</commentid>
    <comment_count>0</comment_count>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2011-08-23 16:58:51 -0700</bug_when>
    <thetext>Add the request info to the WebPageProxy::CreateNewPage message.  WebKit clients will then have more information, such as the request url, to help them decide on how to handle a CreateNewPage message.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455842</commentid>
    <comment_count>1</comment_count>
      <attachid>104937</attachid>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2011-08-23 17:12:09 -0700</bug_when>
    <thetext>Created attachment 104937
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455845</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-23 17:14:35 -0700</bug_when>
    <thetext>Attachment 104937 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp:53:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 12 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>455859</commentid>
    <comment_count>3</comment_count>
      <attachid>104942</attachid>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2011-08-23 17:25:05 -0700</bug_when>
    <thetext>Created attachment 104942
patch w/ fixed style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455877</commentid>
    <comment_count>4</comment_count>
      <attachid>104946</attachid>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2011-08-23 17:40:14 -0700</bug_when>
    <thetext>Created attachment 104946
patch with fixes for MiniBrowser on gtk and windows</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456193</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-24 10:46:15 -0700</bug_when>
    <thetext>Sending initial request to the client seems quite surprising. What is the client going to do with this information? The request can result in a redirect, so a completely different resource will be used in the end.

Also, it seems like this patch would break nightly builds due to changing API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456208</commentid>
    <comment_count>6</comment_count>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2011-08-24 11:03:38 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Sending initial request to the client seems quite surprising. What is the client going to do with this information? The request can result in a redirect, so a completely different resource will be used in the end.

I&apos;m not sure I see why you consider the redirect issue to be a problem.  A client can definitely make use of initial request info. your comment seems to assume that the client will be using the resource as specified and that no updates to it will be made.  that&apos;s not necessarily the case.  The request info is merely being provided so that the client can act on the createNewPage message as it sees fit.  

&gt; Also, it seems like this patch would break nightly builds due to changing API.

i did try to address the API change where I was able to find it, namely the mini browser implementations for mac, win and gtk.  Did i miss something, and could you be more specific about where to find what i missed? 

thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456242</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-24 11:24:17 -0700</bug_when>
    <thetext>&gt; I&apos;m not sure I see why you consider the redirect issue to be a problem.  A client can definitely make use of initial request info.

Due to my weak imagination, I cannot fathom any valid use for this info in the client, which makes me wonder about it.

&gt; Did i miss something, and could you be more specific about where to find what i missed? 

Quoting myself, &quot;it seems like this patch would break nightly builds&quot;. Those need to work with Safari 5.1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457227</commentid>
    <comment_count>8</comment_count>
      <attachid>105272</attachid>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2011-08-25 16:18:58 -0700</bug_when>
    <thetext>Created attachment 105272
patch - keeps nightlies working</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457234</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-25 16:21:22 -0700</bug_when>
    <thetext>Attachment 105272 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/UIProcess/WebUIClient.cpp:48:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Source/WebKit2/UIProcess/WebUIClient.cpp:72:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Source/WebKit2/Shared/APIClientTraits.h:46:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 3 in 16 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>457251</commentid>
    <comment_count>10</comment_count>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2011-08-25 16:31:34 -0700</bug_when>
    <thetext>I won&apos;t be uploading a new patch just to to fix the style.  I&apos;ll just say that that I have fixed the null-comparison style, but i&apos;m not going to fix the brace style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457393</commentid>
    <comment_count>11</comment_count>
      <attachid>105312</attachid>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2011-08-25 22:21:41 -0700</bug_when>
    <thetext>Created attachment 105312
patch - with fix for minibrowser win</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457394</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-25 22:25:48 -0700</bug_when>
    <thetext>Attachment 105312 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/Shared/APIClientTraits.h:46:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 1 in 16 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>457706</commentid>
    <comment_count>13</comment_count>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2011-08-26 12:36:40 -0700</bug_when>
    <thetext>http://trac.webkit.org/projects/webkit/changeset/93902</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104937</attachid>
            <date>2011-08-23 17:12:09 -0700</date>
            <delta_ts>2011-08-23 17:25:05 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug66823.txt</filename>
            <type>text/plain</type>
            <size>12640</size>
            <attacher name="Alice Liu">alice.barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNjU2KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDgtMjMgIEFsaWNlIExp
dSAgPGFsaWNlLmxpdUBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY2ODIzCisgICAgICAgIEFkZCB0aGUgcmVxdWVzdCBpbmZvIHRv
IHRoZSBXZWJQYWdlUHJveHk6OkNyZWF0ZU5ld1BhZ2UgbWVzc2FnZQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBmdW5jdGlvbiBkZWNsYXJh
dGlvbnMgd2l0aCBhZGRpdGlvbmFsIFJlc291cmNlUmVxdWVzdCBwYXJhbWV0ZXI6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNyZWF0ZU5ld1BhZ2Up
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJVSUNs
aWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlVJQ2xpZW50OjpjcmVhdGVOZXdQYWdlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViVUlDbGllbnQuaDoKKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVXaW5kb3cpOiAKKyAgICAgICAgUGFzcyB0aGUgUmVzb3Vy
Y2VSZXF1ZXN0IHdpdGhpbiB0aGUgRnJhbWVMb2FkUmVxdWVzdC4KKwogMjAxMS0wOC0yMyAgR29w
YWwgUmFnaGF2YW4gIDxnb3BhbC4xLnJhZ2hhdmFuQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRd
IFVubmVjZXNzYXJ5IGZvbGRlcnMgaW4gV2ViS2l0Mi4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiA5MzM3NCkKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDAyLDkg
KzIwMDIsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmFpbExvYWRGb3JSZXNvdXJjCiAKIC8v
IFVJQ2xpZW50CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpjcmVhdGVOZXdQYWdlKGNvbnN0IFdpbmRv
d0ZlYXR1cmVzJiB3aW5kb3dGZWF0dXJlcywgdWludDMyX3Qgb3BhcXVlTW9kaWZpZXJzLCBpbnQz
Ml90IG9wYXF1ZU1vdXNlQnV0dG9uLCB1aW50NjRfdCYgbmV3UGFnZUlELCBXZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzJiBuZXdQYWdlUGFyYW1ldGVycykKK3ZvaWQgV2ViUGFnZVByb3h5OjpjcmVh
dGVOZXdQYWdlKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgV2luZG93RmVh
dHVyZXMmIHdpbmRvd0ZlYXR1cmVzLCB1aW50MzJfdCBvcGFxdWVNb2RpZmllcnMsIGludDMyX3Qg
b3BhcXVlTW91c2VCdXR0b24sIHVpbnQ2NF90JiBuZXdQYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMmIG5ld1BhZ2VQYXJhbWV0ZXJzKQogewotICAgIFJlZlB0cjxXZWJQYWdlUHJveHk+
IG5ld1BhZ2UgPSBtX3VpQ2xpZW50LmNyZWF0ZU5ld1BhZ2UodGhpcywgd2luZG93RmVhdHVyZXMs
IHN0YXRpY19jYXN0PFdlYkV2ZW50OjpNb2RpZmllcnM+KG9wYXF1ZU1vZGlmaWVycyksIHN0YXRp
Y19jYXN0PFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbj4ob3BhcXVlTW91c2VCdXR0b24pKTsKKyAgICBS
ZWZQdHI8V2ViUGFnZVByb3h5PiBuZXdQYWdlID0gbV91aUNsaWVudC5jcmVhdGVOZXdQYWdlKHRo
aXMsIHJlcXVlc3QsIHdpbmRvd0ZlYXR1cmVzLCBzdGF0aWNfY2FzdDxXZWJFdmVudDo6TW9kaWZp
ZXJzPihvcGFxdWVNb2RpZmllcnMpLCBzdGF0aWNfY2FzdDxXZWJNb3VzZUV2ZW50OjpCdXR0b24+
KG9wYXF1ZU1vdXNlQnV0dG9uKSk7CiAgICAgaWYgKG5ld1BhZ2UpIHsKICAgICAgICAgbmV3UGFn
ZUlEID0gbmV3UGFnZS0+cGFnZUlEKCk7CiAgICAgICAgIG5ld1BhZ2VQYXJhbWV0ZXJzID0gbmV3
UGFnZS0+Y3JlYXRpb25QYXJhbWV0ZXJzKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiA5MzM3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtNjE4LDcgKzYxOCw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBkaWRGYWlsTG9hZEZvclJlc291cmNlKHVpbnQ2NF90IGZyYW1lSUQs
IHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJv
ciYpOwogCiAgICAgLy8gVUkgY2xpZW50Ci0gICAgdm9pZCBjcmVhdGVOZXdQYWdlKGNvbnN0IFdl
YkNvcmU6OldpbmRvd0ZlYXR1cmVzJiwgdWludDMyX3QgbW9kaWZpZXJzLCBpbnQzMl90IG1vdXNl
QnV0dG9uLCB1aW50NjRfdCYgbmV3UGFnZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJik7
CisgICAgdm9pZCBjcmVhdGVOZXdQYWdlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYs
IGNvbnN0IFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVzJiwgdWludDMyX3QgbW9kaWZpZXJzLCBpbnQz
Ml90IG1vdXNlQnV0dG9uLCB1aW50NjRfdCYgbmV3UGFnZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJh
bWV0ZXJzJik7CiAgICAgdm9pZCBzaG93UGFnZSgpOwogICAgIHZvaWQgY2xvc2VQYWdlKGJvb2wg
c3RvcFJlc3BvbnNpdmVuZXNzVGltZXIpOwogICAgIHZvaWQgcnVuSmF2YVNjcmlwdEFsZXJ0KHVp
bnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCShyZXZpc2lvbiA5MzM3NCkK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4JKHdv
cmtpbmcgY29weSkKQEAgLTIyLDcgKzIyLDcgQEAKIAogbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5
IHsKICAgICAjIFVJIG1lc3NhZ2VzCi0gICAgQ3JlYXRlTmV3UGFnZShXZWJDb3JlOjpXaW5kb3dG
ZWF0dXJlcyB3aW5kb3dGZWF0dXJlcywgdWludDMyX3QgbW9kaWZpZXJzLCBpbnQzMl90IG1vdXNl
QnV0dG9uKSAtPiAodWludDY0X3QgbmV3UGFnZUlELCBXZWJLaXQ6OldlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMgbmV3UGFnZVBhcmFtZXRlcnMpCisgICAgQ3JlYXRlTmV3UGFnZShXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgV2ViQ29yZTo6V2luZG93RmVhdHVyZXMgd2luZG93RmVh
dHVyZXMsIHVpbnQzMl90IG1vZGlmaWVycywgaW50MzJfdCBtb3VzZUJ1dHRvbikgLT4gKHVpbnQ2
NF90IG5ld1BhZ2VJRCwgV2ViS2l0OjpXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIG5ld1BhZ2VQ
YXJhbWV0ZXJzKQogICAgIFNob3dQYWdlKCkKICAgICBDbG9zZVBhZ2UoYm9vbCBzdG9wUmVzcG9u
c2l2ZW5lc3NUaW1lcikKICAgICBSdW5KYXZhU2NyaXB0QWxlcnQodWludDY0X3QgZnJhbWVJRCwg
V1RGOjpTdHJpbmcgbWVzc2FnZSkgLT4gKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJVSUNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlVJQ2xpZW50LmNwcAkocmV2aXNpb24gOTMzNzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViVUlDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0Myw3IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotUGFzc1JlZlB0
cjxXZWJQYWdlUHJveHk+IFdlYlVJQ2xpZW50OjpjcmVhdGVOZXdQYWdlKFdlYlBhZ2VQcm94eSog
cGFnZSwgY29uc3QgV2luZG93RmVhdHVyZXMmIHdpbmRvd0ZlYXR1cmVzLCBXZWJFdmVudDo6TW9k
aWZpZXJzIG1vZGlmaWVycywgV2ViTW91c2VFdmVudDo6QnV0dG9uIGJ1dHRvbikKK1Bhc3NSZWZQ
dHI8V2ViUGFnZVByb3h5PiBXZWJVSUNsaWVudDo6Y3JlYXRlTmV3UGFnZShXZWJQYWdlUHJveHkq
IHBhZ2UsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0LCBjb25zdCBXaW5k
b3dGZWF0dXJlcyYgd2luZG93RmVhdHVyZXMsIFdlYkV2ZW50OjpNb2RpZmllcnMgbW9kaWZpZXJz
LCBXZWJNb3VzZUV2ZW50OjpCdXR0b24gYnV0dG9uKQogewogICAgIGlmICghbV9jbGllbnQuY3Jl
YXRlTmV3UGFnZSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC02Niw3ICs2Niw5IEBAIFBhc3NSZWZQ
dHI8V2ViUGFnZVByb3h5PiBXZWJVSUNsaWVudDo6Y3IKICAgICBtYXAuc2V0KCJkaWFsb2ciLCBX
ZWJCb29sZWFuOjpjcmVhdGUod2luZG93RmVhdHVyZXMuZGlhbG9nKSk7CiAgICAgUmVmUHRyPElt
bXV0YWJsZURpY3Rpb25hcnk+IGZlYXR1cmVzTWFwID0gSW1tdXRhYmxlRGljdGlvbmFyeTo6YWRv
cHQobWFwKTsKIAotICAgIHJldHVybiBhZG9wdFJlZih0b0ltcGwobV9jbGllbnQuY3JlYXRlTmV3
UGFnZSh0b0FQSShwYWdlKSwgdG9BUEkoZmVhdHVyZXNNYXAuZ2V0KCkpLCB0b0FQSShtb2RpZmll
cnMpLCB0b0FQSShidXR0b24pLCBtX2NsaWVudC5jbGllbnRJbmZvKSkpOworICAgIFJlZlB0cjxX
ZWJVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gV2ViVVJMUmVxdWVzdDo6Y3JlYXRlKHJlc291cmNlUmVx
dWVzdCk7CisgICAgCisgICAgcmV0dXJuIGFkb3B0UmVmKHRvSW1wbChtX2NsaWVudC5jcmVhdGVO
ZXdQYWdlKHRvQVBJKHBhZ2UpLCB0b0FQSShyZXF1ZXN0LmdldCgpKSwgdG9BUEkoZmVhdHVyZXNN
YXAuZ2V0KCkpLCB0b0FQSShtb2RpZmllcnMpLCB0b0FQSShidXR0b24pLCBtX2NsaWVudC5jbGll
bnRJbmZvKSkpOwogfSAKIAogdm9pZCBXZWJVSUNsaWVudDo6c2hvd1BhZ2UoV2ViUGFnZVByb3h5
KiBwYWdlKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmgJKHJldmlz
aW9uIDkzMzc0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBGbG9hdFJlY3Q7CiAgICAgY2xhc3MgSW50U2l6ZTsKKyAgICBjbGFzcyBSZXNvdXJjZVJl
cXVlc3Q7CiAgICAgc3RydWN0IFdpbmRvd0ZlYXR1cmVzOwogfQogCkBAIC01Myw3ICs1NCw3IEBA
IGNsYXNzIFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHk7CiAKIGNsYXNzIFdlYlVJQ2xp
ZW50IDogcHVibGljIEFQSUNsaWVudDxXS1BhZ2VVSUNsaWVudCwga1dLUGFnZVVJQ2xpZW50Q3Vy
cmVudFZlcnNpb24+IHsKIHB1YmxpYzoKLSAgICBQYXNzUmVmUHRyPFdlYlBhZ2VQcm94eT4gY3Jl
YXRlTmV3UGFnZShXZWJQYWdlUHJveHkqLCBjb25zdCBXZWJDb3JlOjpXaW5kb3dGZWF0dXJlcyYs
IFdlYkV2ZW50OjpNb2RpZmllcnMsIFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbik7CisgICAgUGFzc1Jl
ZlB0cjxXZWJQYWdlUHJveHk+IGNyZWF0ZU5ld1BhZ2UoV2ViUGFnZVByb3h5KiwgY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6V2luZG93RmVhdHVyZXMmLCBX
ZWJFdmVudDo6TW9kaWZpZXJzLCBXZWJNb3VzZUV2ZW50OjpCdXR0b24pOwogICAgIHZvaWQgc2hv
d1BhZ2UoV2ViUGFnZVByb3h5Kik7CiAgICAgdm9pZCBjbG9zZShXZWJQYWdlUHJveHkqKTsKIApJ
bmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaAkocmV2aXNpb24gOTMz
NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE2MCw3ICsxNjAsNyBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VSZXNvdXJjZUxv
YWRDbGllbnQgCiBlbnVtIHsga1dLUGFnZVJlc291cmNlTG9hZENsaWVudEN1cnJlbnRWZXJzaW9u
ID0gMCB9OwogCiAvLyBVSSBDbGllbnQKLXR5cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdlQ3JlYXRl
TmV3UGFnZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tEaWN0aW9uYXJ5UmVmIGZlYXR1cmVz
LCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0
dG9uLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdl
Q3JlYXRlTmV3UGFnZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tVUkxSZXF1ZXN0UmVmIHVy
bFJlcXVlc3QsIFdLRGljdGlvbmFyeVJlZiBmZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2Rp
ZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCAqY2xpZW50
SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFjayko
V0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIGFsZXJ0VGV4dCwgV0tGcmFtZVJlZiBmcmFtZSwg
Y29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIGJvb2wgKCpXS1BhZ2VSdW5KYXZhU2Ny
aXB0Q29uZmlybUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwg
V0tGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIFdLU3Ry
aW5nUmVmICgqV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNrKShXS1BhZ2VSZWYgcGFn
ZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tTdHJpbmdSZWYgZGVmYXVsdFZhbHVlLCBXS0ZyYW1l
UmVmIGZyYW1lLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAJKHJldmlzaW9uIDkzMzc0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2
ICs1MCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9GaWxlSWNvbkxvYWRlci5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvRnJhbWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lTG9hZGVyLmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9GcmFtZUxvYWRSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFt
ZVZpZXcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUTUxOYW1lcy5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oPgpAQCAtMTU2LDE0ICsxNTcsMTQgQEAgdm9pZCBX
ZWJDaHJvbWVDbGllbnQ6OmZvY3VzZWRGcmFtZUNoYW5nZQogICAgIFdlYlByb2Nlc3M6OnNoYXJl
ZCgpLmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpGb2N1c2VkRnJh
bWVDaGFuZ2VkKHdlYkZyYW1lID8gd2ViRnJhbWUtPmZyYW1lSUQoKSA6IDApLCBtX3BhZ2UtPnBh
Z2VJRCgpKTsKIH0KIAotUGFnZSogV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVXaW5kb3coRnJhbWUq
LCBjb25zdCBGcmFtZUxvYWRSZXF1ZXN0JiwgY29uc3QgV2luZG93RmVhdHVyZXMmIHdpbmRvd0Zl
YXR1cmVzLCBjb25zdCBOYXZpZ2F0aW9uQWN0aW9uJiBuYXZpZ2F0aW9uQWN0aW9uKQorUGFnZSog
V2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVXaW5kb3coRnJhbWUqLCBjb25zdCBGcmFtZUxvYWRSZXF1
ZXN0JiByZXF1ZXN0LCBjb25zdCBXaW5kb3dGZWF0dXJlcyYgd2luZG93RmVhdHVyZXMsIGNvbnN0
IE5hdmlnYXRpb25BY3Rpb24mIG5hdmlnYXRpb25BY3Rpb24pCiB7CiAgICAgdWludDMyX3QgbW9k
aWZpZXJzID0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KEluamVjdGVkQnVuZGxlTmF2aWdhdGlvbkFj
dGlvbjo6bW9kaWZpZXJzRm9yTmF2aWdhdGlvbkFjdGlvbihuYXZpZ2F0aW9uQWN0aW9uKSk7CiAg
ICAgaW50MzJfdCBtb3VzZUJ1dHRvbiA9IHN0YXRpY19jYXN0PGludDMyX3Q+KEluamVjdGVkQnVu
ZGxlTmF2aWdhdGlvbkFjdGlvbjo6bW91c2VCdXR0b25Gb3JOYXZpZ2F0aW9uQWN0aW9uKG5hdmln
YXRpb25BY3Rpb24pKTsKIAogICAgIHVpbnQ2NF90IG5ld1BhZ2VJRCA9IDA7CiAgICAgV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVycyBwYXJhbWV0ZXJzOwotICAgIGlmICghV2ViUHJvY2Vzczo6c2hh
cmVkKCkuY29ubmVjdGlvbigpLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpDcmVh
dGVOZXdQYWdlKHdpbmRvd0ZlYXR1cmVzLCBtb2RpZmllcnMsIG1vdXNlQnV0dG9uKSwgTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6Q3JlYXRlTmV3UGFnZTo6UmVwbHkobmV3UGFnZUlELCBwYXJhbWV0
ZXJzKSwgbV9wYWdlLT5wYWdlSUQoKSkpCisgICAgaWYgKCFXZWJQcm9jZXNzOjpzaGFyZWQoKS5j
b25uZWN0aW9uKCktPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkNyZWF0ZU5ld1Bh
Z2UocmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKSwgd2luZG93RmVhdHVyZXMsIG1vZGlmaWVycywg
bW91c2VCdXR0b24pLCBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpDcmVhdGVOZXdQYWdlOjpSZXBs
eShuZXdQYWdlSUQsIHBhcmFtZXRlcnMpLCBtX3BhZ2UtPnBhZ2VJRCgpKSkKICAgICAgICAgcmV0
dXJuIDA7CiAKICAgICBpZiAoIW5ld1BhZ2VJRCkKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNjU2KQorKysgVG9vbHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDgtMjMgIEFsaWNl
IExpdSAgPGFsaWNlLmxpdUBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODIzCisgICAgICAgIEFkZCB0aGUgcmVxdWVzdCBpbmZv
IHRvIHRoZSBXZWJQYWdlUHJveHk6OkNyZWF0ZU5ld1BhZ2UgbWVzc2FnZQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBmdW5jdGlvbiBkZWNs
YXJhdGlvbnMgd2l0aCBhZGRpdGlvbmFsIHBhcmFtZXRlcjoKKyAgICAgICAgKiBNaW5pQnJvd3Nl
ci9tYWMvQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubToKKyAgICAgICAgKGNyZWF0ZU5ld1BhZ2Up
OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQYWdlKToKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6CisKIDIwMTEtMDgtMjMgIENhcnkgQ2xhcmsg
IDxjYXJ5Y2xhcmtAZ29vZ2xlLmNvbT4KIAogICAgICAgICBUdXJuIFdlYkNhbnZhcyBpbnRvIENH
Q29udGV4dCBiZWZvcmUgZHJhd2luZyBzY3JvbGxiYXIgKERSVCB1c2luZyBTa2lhIG9uIE1hYykK
SW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxl
ci5tCShyZXZpc2lvbiA5MzM3NCkKKysrIFRvb2xzL01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2lu
ZG93Q29udHJvbGxlci5tCSh3b3JraW5nIGNvcHkpCkBAIC0zNzcsNyArMzc3LDcgQEAgc3RhdGlj
IHZvaWQgZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UoV0tQYQogCiAvLyBNQVJLOiBVSSBDbGllbnQg
Q2FsbGJhY2tzCiAKLXN0YXRpYyBXS1BhZ2VSZWYgY3JlYXRlTmV3UGFnZShXS1BhZ2VSZWYgcGFn
ZSwgV0tEaWN0aW9uYXJ5UmVmIGZlYXR1cmVzLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywg
V0tFdmVudE1vdXNlQnV0dG9uIGJ1dHRvbiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3N0YXRp
YyBXS1BhZ2VSZWYgY3JlYXRlTmV3UGFnZShXS1BhZ2VSZWYgcGFnZSwgV0tVUkxSZXF1ZXN0UmVm
IHJlcXVlc3QsIFdLRGljdGlvbmFyeVJlZiBmZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2Rp
ZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBidXR0b24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
CiB7CiAgICAgTE9HKEAiY3JlYXRlTmV3UGFnZSIpOwogICAgIEJyb3dzZXJXaW5kb3dDb250cm9s
bGVyICpjb250cm9sbGVyID0gW1tCcm93c2VyV2luZG93Q29udHJvbGxlciBhbGxvY10gaW5pdFdp
dGhDb250ZXh0OldLUGFnZUdldENvbnRleHQocGFnZSldOwpJbmRleDogVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDkzMzc0KQorKysgVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMCw3
ICsxMzAsNyBAQCBzdGF0aWMgdm9pZCBjbG9zZU90aGVyUGFnZShXS1BhZ2VSZWYgcGFnCiAgICAg
ZGVsZXRlIHZpZXc7CiB9CiAKLVdLUGFnZVJlZiBUZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQ
YWdlKFdLUGFnZVJlZiBvbGRQYWdlLCBXS0RpY3Rpb25hcnlSZWYsIFdLRXZlbnRNb2RpZmllcnMs
IFdLRXZlbnRNb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCopCitXS1BhZ2VSZWYgVGVzdENvbnRyb2xs
ZXI6OmNyZWF0ZU90aGVyUGFnZShXS1BhZ2VSZWYgb2xkUGFnZSwgV0tVUkxSZXF1ZXN0UmVmLCBX
S0RpY3Rpb25hcnlSZWYsIFdLRXZlbnRNb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiwgY29u
c3Qgdm9pZCopCiB7CiAgICAgUGxhdGZvcm1XZWJWaWV3KiB2aWV3ID0gbmV3IFBsYXRmb3JtV2Vi
VmlldyhXS1BhZ2VHZXRDb250ZXh0KG9sZFBhZ2UpLCBXS1BhZ2VHZXRQYWdlR3JvdXAob2xkUGFn
ZSkpOwogICAgIFdLUGFnZVJlZiBuZXdQYWdlID0gdmlldy0+cGFnZSgpOwpJbmRleDogVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAkocmV2aXNpb24gOTMzNzQpCisrKyBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTg4
LDcgKzg4LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBwcm9jZXNzRGlkQ3Jhc2goV0tQ
YWdlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKICAgICB2b2lkIHByb2Nlc3NEaWRDcmFz
aCgpOwogCi0gICAgc3RhdGljIFdLUGFnZVJlZiBjcmVhdGVPdGhlclBhZ2UoV0tQYWdlUmVmIG9s
ZFBhZ2UsIFdLRGljdGlvbmFyeVJlZiwgV0tFdmVudE1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0
dG9uLCBjb25zdCB2b2lkKik7CisgICAgc3RhdGljIFdLUGFnZVJlZiBjcmVhdGVPdGhlclBhZ2Uo
V0tQYWdlUmVmIG9sZFBhZ2UsIFdLVVJMUmVxdWVzdFJlZiwgV0tEaWN0aW9uYXJ5UmVmLCBXS0V2
ZW50TW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24sIGNvbnN0IHZvaWQqKTsKIAogICAgIHN0
YXRpYyB2b2lkIHJ1bk1vZGFsKFdLUGFnZVJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAg
ICAgc3RhdGljIHZvaWQgcnVuTW9kYWwoUGxhdGZvcm1XZWJWaWV3Kik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104942</attachid>
            <date>2011-08-23 17:25:05 -0700</date>
            <delta_ts>2011-08-23 17:40:14 -0700</delta_ts>
            <desc>patch w/ fixed style</desc>
            <filename>bug66823.txt</filename>
            <type>text/plain</type>
            <size>12629</size>
            <attacher name="Alice Liu">alice.barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNjU2KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDgtMjMgIEFsaWNlIExp
dSAgPGFsaWNlLmxpdUBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY2ODIzCisgICAgICAgIEFkZCB0aGUgcmVxdWVzdCBpbmZvIHRv
IHRoZSBXZWJQYWdlUHJveHk6OkNyZWF0ZU5ld1BhZ2UgbWVzc2FnZQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBmdW5jdGlvbiBkZWNsYXJh
dGlvbnMgd2l0aCBhZGRpdGlvbmFsIFJlc291cmNlUmVxdWVzdCBwYXJhbWV0ZXI6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNyZWF0ZU5ld1BhZ2Up
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJVSUNs
aWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlVJQ2xpZW50OjpjcmVhdGVOZXdQYWdlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViVUlDbGllbnQuaDoKKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVXaW5kb3cpOiAKKyAgICAgICAgUGFzcyB0aGUgUmVzb3Vy
Y2VSZXF1ZXN0IHdpdGhpbiB0aGUgRnJhbWVMb2FkUmVxdWVzdC4KKwogMjAxMS0wOC0yMyAgR29w
YWwgUmFnaGF2YW4gIDxnb3BhbC4xLnJhZ2hhdmFuQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRd
IFVubmVjZXNzYXJ5IGZvbGRlcnMgaW4gV2ViS2l0Mi4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiA5MzM3NCkKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDAyLDkg
KzIwMDIsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmFpbExvYWRGb3JSZXNvdXJjCiAKIC8v
IFVJQ2xpZW50CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpjcmVhdGVOZXdQYWdlKGNvbnN0IFdpbmRv
d0ZlYXR1cmVzJiB3aW5kb3dGZWF0dXJlcywgdWludDMyX3Qgb3BhcXVlTW9kaWZpZXJzLCBpbnQz
Ml90IG9wYXF1ZU1vdXNlQnV0dG9uLCB1aW50NjRfdCYgbmV3UGFnZUlELCBXZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzJiBuZXdQYWdlUGFyYW1ldGVycykKK3ZvaWQgV2ViUGFnZVByb3h5OjpjcmVh
dGVOZXdQYWdlKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgV2luZG93RmVh
dHVyZXMmIHdpbmRvd0ZlYXR1cmVzLCB1aW50MzJfdCBvcGFxdWVNb2RpZmllcnMsIGludDMyX3Qg
b3BhcXVlTW91c2VCdXR0b24sIHVpbnQ2NF90JiBuZXdQYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMmIG5ld1BhZ2VQYXJhbWV0ZXJzKQogewotICAgIFJlZlB0cjxXZWJQYWdlUHJveHk+
IG5ld1BhZ2UgPSBtX3VpQ2xpZW50LmNyZWF0ZU5ld1BhZ2UodGhpcywgd2luZG93RmVhdHVyZXMs
IHN0YXRpY19jYXN0PFdlYkV2ZW50OjpNb2RpZmllcnM+KG9wYXF1ZU1vZGlmaWVycyksIHN0YXRp
Y19jYXN0PFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbj4ob3BhcXVlTW91c2VCdXR0b24pKTsKKyAgICBS
ZWZQdHI8V2ViUGFnZVByb3h5PiBuZXdQYWdlID0gbV91aUNsaWVudC5jcmVhdGVOZXdQYWdlKHRo
aXMsIHJlcXVlc3QsIHdpbmRvd0ZlYXR1cmVzLCBzdGF0aWNfY2FzdDxXZWJFdmVudDo6TW9kaWZp
ZXJzPihvcGFxdWVNb2RpZmllcnMpLCBzdGF0aWNfY2FzdDxXZWJNb3VzZUV2ZW50OjpCdXR0b24+
KG9wYXF1ZU1vdXNlQnV0dG9uKSk7CiAgICAgaWYgKG5ld1BhZ2UpIHsKICAgICAgICAgbmV3UGFn
ZUlEID0gbmV3UGFnZS0+cGFnZUlEKCk7CiAgICAgICAgIG5ld1BhZ2VQYXJhbWV0ZXJzID0gbmV3
UGFnZS0+Y3JlYXRpb25QYXJhbWV0ZXJzKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiA5MzM3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtNjE4LDcgKzYxOCw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBkaWRGYWlsTG9hZEZvclJlc291cmNlKHVpbnQ2NF90IGZyYW1lSUQs
IHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJv
ciYpOwogCiAgICAgLy8gVUkgY2xpZW50Ci0gICAgdm9pZCBjcmVhdGVOZXdQYWdlKGNvbnN0IFdl
YkNvcmU6OldpbmRvd0ZlYXR1cmVzJiwgdWludDMyX3QgbW9kaWZpZXJzLCBpbnQzMl90IG1vdXNl
QnV0dG9uLCB1aW50NjRfdCYgbmV3UGFnZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJik7
CisgICAgdm9pZCBjcmVhdGVOZXdQYWdlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYs
IGNvbnN0IFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVzJiwgdWludDMyX3QgbW9kaWZpZXJzLCBpbnQz
Ml90IG1vdXNlQnV0dG9uLCB1aW50NjRfdCYgbmV3UGFnZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJh
bWV0ZXJzJik7CiAgICAgdm9pZCBzaG93UGFnZSgpOwogICAgIHZvaWQgY2xvc2VQYWdlKGJvb2wg
c3RvcFJlc3BvbnNpdmVuZXNzVGltZXIpOwogICAgIHZvaWQgcnVuSmF2YVNjcmlwdEFsZXJ0KHVp
bnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCShyZXZpc2lvbiA5MzM3NCkK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4JKHdv
cmtpbmcgY29weSkKQEAgLTIyLDcgKzIyLDcgQEAKIAogbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5
IHsKICAgICAjIFVJIG1lc3NhZ2VzCi0gICAgQ3JlYXRlTmV3UGFnZShXZWJDb3JlOjpXaW5kb3dG
ZWF0dXJlcyB3aW5kb3dGZWF0dXJlcywgdWludDMyX3QgbW9kaWZpZXJzLCBpbnQzMl90IG1vdXNl
QnV0dG9uKSAtPiAodWludDY0X3QgbmV3UGFnZUlELCBXZWJLaXQ6OldlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMgbmV3UGFnZVBhcmFtZXRlcnMpCisgICAgQ3JlYXRlTmV3UGFnZShXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgV2ViQ29yZTo6V2luZG93RmVhdHVyZXMgd2luZG93RmVh
dHVyZXMsIHVpbnQzMl90IG1vZGlmaWVycywgaW50MzJfdCBtb3VzZUJ1dHRvbikgLT4gKHVpbnQ2
NF90IG5ld1BhZ2VJRCwgV2ViS2l0OjpXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIG5ld1BhZ2VQ
YXJhbWV0ZXJzKQogICAgIFNob3dQYWdlKCkKICAgICBDbG9zZVBhZ2UoYm9vbCBzdG9wUmVzcG9u
c2l2ZW5lc3NUaW1lcikKICAgICBSdW5KYXZhU2NyaXB0QWxlcnQodWludDY0X3QgZnJhbWVJRCwg
V1RGOjpTdHJpbmcgbWVzc2FnZSkgLT4gKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJVSUNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlVJQ2xpZW50LmNwcAkocmV2aXNpb24gOTMzNzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViVUlDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0Myw3IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotUGFzc1JlZlB0
cjxXZWJQYWdlUHJveHk+IFdlYlVJQ2xpZW50OjpjcmVhdGVOZXdQYWdlKFdlYlBhZ2VQcm94eSog
cGFnZSwgY29uc3QgV2luZG93RmVhdHVyZXMmIHdpbmRvd0ZlYXR1cmVzLCBXZWJFdmVudDo6TW9k
aWZpZXJzIG1vZGlmaWVycywgV2ViTW91c2VFdmVudDo6QnV0dG9uIGJ1dHRvbikKK1Bhc3NSZWZQ
dHI8V2ViUGFnZVByb3h5PiBXZWJVSUNsaWVudDo6Y3JlYXRlTmV3UGFnZShXZWJQYWdlUHJveHkq
IHBhZ2UsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0LCBjb25zdCBXaW5k
b3dGZWF0dXJlcyYgd2luZG93RmVhdHVyZXMsIFdlYkV2ZW50OjpNb2RpZmllcnMgbW9kaWZpZXJz
LCBXZWJNb3VzZUV2ZW50OjpCdXR0b24gYnV0dG9uKQogewogICAgIGlmICghbV9jbGllbnQuY3Jl
YXRlTmV3UGFnZSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC02Niw3ICs2Niw5IEBAIFBhc3NSZWZQ
dHI8V2ViUGFnZVByb3h5PiBXZWJVSUNsaWVudDo6Y3IKICAgICBtYXAuc2V0KCJkaWFsb2ciLCBX
ZWJCb29sZWFuOjpjcmVhdGUod2luZG93RmVhdHVyZXMuZGlhbG9nKSk7CiAgICAgUmVmUHRyPElt
bXV0YWJsZURpY3Rpb25hcnk+IGZlYXR1cmVzTWFwID0gSW1tdXRhYmxlRGljdGlvbmFyeTo6YWRv
cHQobWFwKTsKIAotICAgIHJldHVybiBhZG9wdFJlZih0b0ltcGwobV9jbGllbnQuY3JlYXRlTmV3
UGFnZSh0b0FQSShwYWdlKSwgdG9BUEkoZmVhdHVyZXNNYXAuZ2V0KCkpLCB0b0FQSShtb2RpZmll
cnMpLCB0b0FQSShidXR0b24pLCBtX2NsaWVudC5jbGllbnRJbmZvKSkpOworICAgIFJlZlB0cjxX
ZWJVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gV2ViVVJMUmVxdWVzdDo6Y3JlYXRlKHJlc291cmNlUmVx
dWVzdCk7CisgICAgCisgICAgcmV0dXJuIGFkb3B0UmVmKHRvSW1wbChtX2NsaWVudC5jcmVhdGVO
ZXdQYWdlKHRvQVBJKHBhZ2UpLCB0b0FQSShyZXF1ZXN0LmdldCgpKSwgdG9BUEkoZmVhdHVyZXNN
YXAuZ2V0KCkpLCB0b0FQSShtb2RpZmllcnMpLCB0b0FQSShidXR0b24pLCBtX2NsaWVudC5jbGll
bnRJbmZvKSkpOwogfSAKIAogdm9pZCBXZWJVSUNsaWVudDo6c2hvd1BhZ2UoV2ViUGFnZVByb3h5
KiBwYWdlKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmgJKHJldmlz
aW9uIDkzMzc0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBGbG9hdFJlY3Q7CiAgICAgY2xhc3MgSW50U2l6ZTsKKyAgICBjbGFzcyBSZXNvdXJjZVJl
cXVlc3Q7CiAgICAgc3RydWN0IFdpbmRvd0ZlYXR1cmVzOwogfQogCkBAIC01Myw3ICs1NCw3IEBA
IGNsYXNzIFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHk7CiAKIGNsYXNzIFdlYlVJQ2xp
ZW50IDogcHVibGljIEFQSUNsaWVudDxXS1BhZ2VVSUNsaWVudCwga1dLUGFnZVVJQ2xpZW50Q3Vy
cmVudFZlcnNpb24+IHsKIHB1YmxpYzoKLSAgICBQYXNzUmVmUHRyPFdlYlBhZ2VQcm94eT4gY3Jl
YXRlTmV3UGFnZShXZWJQYWdlUHJveHkqLCBjb25zdCBXZWJDb3JlOjpXaW5kb3dGZWF0dXJlcyYs
IFdlYkV2ZW50OjpNb2RpZmllcnMsIFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbik7CisgICAgUGFzc1Jl
ZlB0cjxXZWJQYWdlUHJveHk+IGNyZWF0ZU5ld1BhZ2UoV2ViUGFnZVByb3h5KiwgY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6V2luZG93RmVhdHVyZXMmLCBX
ZWJFdmVudDo6TW9kaWZpZXJzLCBXZWJNb3VzZUV2ZW50OjpCdXR0b24pOwogICAgIHZvaWQgc2hv
d1BhZ2UoV2ViUGFnZVByb3h5Kik7CiAgICAgdm9pZCBjbG9zZShXZWJQYWdlUHJveHkqKTsKIApJ
bmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaAkocmV2aXNpb24gOTMz
NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE2MCw3ICsxNjAsNyBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VSZXNvdXJjZUxv
YWRDbGllbnQgCiBlbnVtIHsga1dLUGFnZVJlc291cmNlTG9hZENsaWVudEN1cnJlbnRWZXJzaW9u
ID0gMCB9OwogCiAvLyBVSSBDbGllbnQKLXR5cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdlQ3JlYXRl
TmV3UGFnZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tEaWN0aW9uYXJ5UmVmIGZlYXR1cmVz
LCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0
dG9uLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdl
Q3JlYXRlTmV3UGFnZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tVUkxSZXF1ZXN0UmVmIHVy
bFJlcXVlc3QsIFdLRGljdGlvbmFyeVJlZiBmZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2Rp
ZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCAqY2xpZW50
SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFjayko
V0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIGFsZXJ0VGV4dCwgV0tGcmFtZVJlZiBmcmFtZSwg
Y29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIGJvb2wgKCpXS1BhZ2VSdW5KYXZhU2Ny
aXB0Q29uZmlybUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwg
V0tGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIFdLU3Ry
aW5nUmVmICgqV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNrKShXS1BhZ2VSZWYgcGFn
ZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tTdHJpbmdSZWYgZGVmYXVsdFZhbHVlLCBXS0ZyYW1l
UmVmIGZyYW1lLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAJKHJldmlzaW9uIDkzMzc0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2
ICs0OSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9GaWxlQ2hvb3Nlci5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvRmlsZUljb25Mb2FkZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lLmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9GcmFtZUxvYWRSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFt
ZUxvYWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9IVE1MTmFtZXMuaD4KQEAgLTE1NiwxNCArMTU3LDE0IEBAIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50Ojpmb2N1c2VkRnJhbWVDaGFuZ2UKICAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5jb25uZWN0
aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6Rm9jdXNlZEZyYW1lQ2hhbmdlZCh3
ZWJGcmFtZSA/IHdlYkZyYW1lLT5mcmFtZUlEKCkgOiAwKSwgbV9wYWdlLT5wYWdlSUQoKSk7CiB9
CiAKLVBhZ2UqIFdlYkNocm9tZUNsaWVudDo6Y3JlYXRlV2luZG93KEZyYW1lKiwgY29uc3QgRnJh
bWVMb2FkUmVxdWVzdCYsIGNvbnN0IFdpbmRvd0ZlYXR1cmVzJiB3aW5kb3dGZWF0dXJlcywgY29u
c3QgTmF2aWdhdGlvbkFjdGlvbiYgbmF2aWdhdGlvbkFjdGlvbikKK1BhZ2UqIFdlYkNocm9tZUNs
aWVudDo6Y3JlYXRlV2luZG93KEZyYW1lKiwgY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgcmVxdWVz
dCwgY29uc3QgV2luZG93RmVhdHVyZXMmIHdpbmRvd0ZlYXR1cmVzLCBjb25zdCBOYXZpZ2F0aW9u
QWN0aW9uJiBuYXZpZ2F0aW9uQWN0aW9uKQogewogICAgIHVpbnQzMl90IG1vZGlmaWVycyA9IHN0
YXRpY19jYXN0PHVpbnQzMl90PihJbmplY3RlZEJ1bmRsZU5hdmlnYXRpb25BY3Rpb246Om1vZGlm
aWVyc0Zvck5hdmlnYXRpb25BY3Rpb24obmF2aWdhdGlvbkFjdGlvbikpOwogICAgIGludDMyX3Qg
bW91c2VCdXR0b24gPSBzdGF0aWNfY2FzdDxpbnQzMl90PihJbmplY3RlZEJ1bmRsZU5hdmlnYXRp
b25BY3Rpb246Om1vdXNlQnV0dG9uRm9yTmF2aWdhdGlvbkFjdGlvbihuYXZpZ2F0aW9uQWN0aW9u
KSk7CiAKICAgICB1aW50NjRfdCBuZXdQYWdlSUQgPSAwOwogICAgIFdlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMgcGFyYW1ldGVyczsKLSAgICBpZiAoIVdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5l
Y3Rpb24oKS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6Q3JlYXRlTmV3UGFnZSh3
aW5kb3dGZWF0dXJlcywgbW9kaWZpZXJzLCBtb3VzZUJ1dHRvbiksIE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OkNyZWF0ZU5ld1BhZ2U6OlJlcGx5KG5ld1BhZ2VJRCwgcGFyYW1ldGVycyksIG1fcGFn
ZS0+cGFnZUlEKCkpKQorICAgIGlmICghV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29ubmVjdGlvbigp
LT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpDcmVhdGVOZXdQYWdlKHJlcXVlc3Qu
cmVzb3VyY2VSZXF1ZXN0KCksIHdpbmRvd0ZlYXR1cmVzLCBtb2RpZmllcnMsIG1vdXNlQnV0dG9u
KSwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6Q3JlYXRlTmV3UGFnZTo6UmVwbHkobmV3UGFnZUlE
LCBwYXJhbWV0ZXJzKSwgbV9wYWdlLT5wYWdlSUQoKSkpCiAgICAgICAgIHJldHVybiAwOwogCiAg
ICAgaWYgKCFuZXdQYWdlSUQpCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5MzY1NikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDExLTA4LTIzICBBbGljZSBMaXUgIDxhbGlj
ZS5saXVAYXBwbGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NjgyMworICAgICAgICBBZGQgdGhlIHJlcXVlc3QgaW5mbyB0byB0aGUgV2Vi
UGFnZVByb3h5OjpDcmVhdGVOZXdQYWdlIG1lc3NhZ2UKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgZnVuY3Rpb24gZGVjbGFyYXRpb25zIHdp
dGggYWRkaXRpb25hbCBwYXJhbWV0ZXI6CisgICAgICAgICogTWluaUJyb3dzZXIvbWFjL0Jyb3dz
ZXJXaW5kb3dDb250cm9sbGVyLm06CisgICAgICAgIChjcmVhdGVOZXdQYWdlKToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVz
dENvbnRyb2xsZXI6OmNyZWF0ZU90aGVyUGFnZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5oOgorCiAyMDExLTA4LTIzICBDYXJ5IENsYXJrICA8Y2FyeWNsYXJr
QGdvb2dsZS5jb20+CiAKICAgICAgICAgVHVybiBXZWJDYW52YXMgaW50byBDR0NvbnRleHQgYmVm
b3JlIGRyYXdpbmcgc2Nyb2xsYmFyIChEUlQgdXNpbmcgU2tpYSBvbiBNYWMpCkluZGV4OiBUb29s
cy9NaW5pQnJvd3Nlci9tYWMvQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9NaW5pQnJvd3Nlci9tYWMvQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubQkocmV2aXNp
b24gOTMzNzQpCisrKyBUb29scy9NaW5pQnJvd3Nlci9tYWMvQnJvd3NlcldpbmRvd0NvbnRyb2xs
ZXIubQkod29ya2luZyBjb3B5KQpAQCAtMzc3LDcgKzM3Nyw3IEBAIHN0YXRpYyB2b2lkIGRlY2lk
ZVBvbGljeUZvclJlc3BvbnNlKFdLUGEKIAogLy8gTUFSSzogVUkgQ2xpZW50IENhbGxiYWNrcwog
Ci1zdGF0aWMgV0tQYWdlUmVmIGNyZWF0ZU5ld1BhZ2UoV0tQYWdlUmVmIHBhZ2UsIFdLRGljdGlv
bmFyeVJlZiBmZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3Vz
ZUJ1dHRvbiBidXR0b24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCitzdGF0aWMgV0tQYWdlUmVm
IGNyZWF0ZU5ld1BhZ2UoV0tQYWdlUmVmIHBhZ2UsIFdLVVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBX
S0RpY3Rpb25hcnlSZWYgZmVhdHVyZXMsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS0V2
ZW50TW91c2VCdXR0b24gYnV0dG9uLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewogICAgIExP
RyhAImNyZWF0ZU5ld1BhZ2UiKTsKICAgICBCcm93c2VyV2luZG93Q29udHJvbGxlciAqY29udHJv
bGxlciA9IFtbQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIgYWxsb2NdIGluaXRXaXRoQ29udGV4dDpX
S1BhZ2VHZXRDb250ZXh0KHBhZ2UpXTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA5MzM3NCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAsNyArMTMwLDcgQEAg
c3RhdGljIHZvaWQgY2xvc2VPdGhlclBhZ2UoV0tQYWdlUmVmIHBhZwogICAgIGRlbGV0ZSB2aWV3
OwogfQogCi1XS1BhZ2VSZWYgVGVzdENvbnRyb2xsZXI6OmNyZWF0ZU90aGVyUGFnZShXS1BhZ2VS
ZWYgb2xkUGFnZSwgV0tEaWN0aW9uYXJ5UmVmLCBXS0V2ZW50TW9kaWZpZXJzLCBXS0V2ZW50TW91
c2VCdXR0b24sIGNvbnN0IHZvaWQqKQorV0tQYWdlUmVmIFRlc3RDb250cm9sbGVyOjpjcmVhdGVP
dGhlclBhZ2UoV0tQYWdlUmVmIG9sZFBhZ2UsIFdLVVJMUmVxdWVzdFJlZiwgV0tEaWN0aW9uYXJ5
UmVmLCBXS0V2ZW50TW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24sIGNvbnN0IHZvaWQqKQog
ewogICAgIFBsYXRmb3JtV2ViVmlldyogdmlldyA9IG5ldyBQbGF0Zm9ybVdlYlZpZXcoV0tQYWdl
R2V0Q29udGV4dChvbGRQYWdlKSwgV0tQYWdlR2V0UGFnZUdyb3VwKG9sZFBhZ2UpKTsKICAgICBX
S1BhZ2VSZWYgbmV3UGFnZSA9IHZpZXctPnBhZ2UoKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdENvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmgJKHJldmlzaW9uIDkzMzc0KQorKysgVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC04OCw3ICs4OCw3IEBA
IHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgcHJvY2Vzc0RpZENyYXNoKFdLUGFnZVJlZiwgY29u
c3Qgdm9pZCogY2xpZW50SW5mbyk7CiAgICAgdm9pZCBwcm9jZXNzRGlkQ3Jhc2goKTsKIAotICAg
IHN0YXRpYyBXS1BhZ2VSZWYgY3JlYXRlT3RoZXJQYWdlKFdLUGFnZVJlZiBvbGRQYWdlLCBXS0Rp
Y3Rpb25hcnlSZWYsIFdLRXZlbnRNb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiwgY29uc3Qg
dm9pZCopOworICAgIHN0YXRpYyBXS1BhZ2VSZWYgY3JlYXRlT3RoZXJQYWdlKFdLUGFnZVJlZiBv
bGRQYWdlLCBXS1VSTFJlcXVlc3RSZWYsIFdLRGljdGlvbmFyeVJlZiwgV0tFdmVudE1vZGlmaWVy
cywgV0tFdmVudE1vdXNlQnV0dG9uLCBjb25zdCB2b2lkKik7CiAKICAgICBzdGF0aWMgdm9pZCBy
dW5Nb2RhbChXS1BhZ2VSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogICAgIHN0YXRpYyB2
b2lkIHJ1bk1vZGFsKFBsYXRmb3JtV2ViVmlldyopOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104946</attachid>
            <date>2011-08-23 17:40:14 -0700</date>
            <delta_ts>2011-08-25 16:18:58 -0700</delta_ts>
            <desc>patch with fixes for MiniBrowser on gtk and windows</desc>
            <filename>bug66823.txt</filename>
            <type>text/plain</type>
            <size>14309</size>
            <attacher name="Alice Liu">alice.barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNjU2KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDgtMjMgIEFsaWNlIExp
dSAgPGFsaWNlLmxpdUBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY2ODIzCisgICAgICAgIEFkZCB0aGUgcmVxdWVzdCBpbmZvIHRv
IHRoZSBXZWJQYWdlUHJveHk6OkNyZWF0ZU5ld1BhZ2UgbWVzc2FnZQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBmdW5jdGlvbiBkZWNsYXJh
dGlvbnMgd2l0aCBhZGRpdGlvbmFsIFJlc291cmNlUmVxdWVzdCBwYXJhbWV0ZXI6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNyZWF0ZU5ld1BhZ2Up
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJVSUNs
aWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlVJQ2xpZW50OjpjcmVhdGVOZXdQYWdlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViVUlDbGllbnQuaDoKKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVXaW5kb3cpOiAKKyAgICAgICAgUGFzcyB0aGUgUmVzb3Vy
Y2VSZXF1ZXN0IHdpdGhpbiB0aGUgRnJhbWVMb2FkUmVxdWVzdC4KKwogMjAxMS0wOC0yMyAgR29w
YWwgUmFnaGF2YW4gIDxnb3BhbC4xLnJhZ2hhdmFuQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRd
IFVubmVjZXNzYXJ5IGZvbGRlcnMgaW4gV2ViS2l0Mi4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiA5MzM3NCkKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDAyLDkg
KzIwMDIsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmFpbExvYWRGb3JSZXNvdXJjCiAKIC8v
IFVJQ2xpZW50CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpjcmVhdGVOZXdQYWdlKGNvbnN0IFdpbmRv
d0ZlYXR1cmVzJiB3aW5kb3dGZWF0dXJlcywgdWludDMyX3Qgb3BhcXVlTW9kaWZpZXJzLCBpbnQz
Ml90IG9wYXF1ZU1vdXNlQnV0dG9uLCB1aW50NjRfdCYgbmV3UGFnZUlELCBXZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzJiBuZXdQYWdlUGFyYW1ldGVycykKK3ZvaWQgV2ViUGFnZVByb3h5OjpjcmVh
dGVOZXdQYWdlKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgV2luZG93RmVh
dHVyZXMmIHdpbmRvd0ZlYXR1cmVzLCB1aW50MzJfdCBvcGFxdWVNb2RpZmllcnMsIGludDMyX3Qg
b3BhcXVlTW91c2VCdXR0b24sIHVpbnQ2NF90JiBuZXdQYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMmIG5ld1BhZ2VQYXJhbWV0ZXJzKQogewotICAgIFJlZlB0cjxXZWJQYWdlUHJveHk+
IG5ld1BhZ2UgPSBtX3VpQ2xpZW50LmNyZWF0ZU5ld1BhZ2UodGhpcywgd2luZG93RmVhdHVyZXMs
IHN0YXRpY19jYXN0PFdlYkV2ZW50OjpNb2RpZmllcnM+KG9wYXF1ZU1vZGlmaWVycyksIHN0YXRp
Y19jYXN0PFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbj4ob3BhcXVlTW91c2VCdXR0b24pKTsKKyAgICBS
ZWZQdHI8V2ViUGFnZVByb3h5PiBuZXdQYWdlID0gbV91aUNsaWVudC5jcmVhdGVOZXdQYWdlKHRo
aXMsIHJlcXVlc3QsIHdpbmRvd0ZlYXR1cmVzLCBzdGF0aWNfY2FzdDxXZWJFdmVudDo6TW9kaWZp
ZXJzPihvcGFxdWVNb2RpZmllcnMpLCBzdGF0aWNfY2FzdDxXZWJNb3VzZUV2ZW50OjpCdXR0b24+
KG9wYXF1ZU1vdXNlQnV0dG9uKSk7CiAgICAgaWYgKG5ld1BhZ2UpIHsKICAgICAgICAgbmV3UGFn
ZUlEID0gbmV3UGFnZS0+cGFnZUlEKCk7CiAgICAgICAgIG5ld1BhZ2VQYXJhbWV0ZXJzID0gbmV3
UGFnZS0+Y3JlYXRpb25QYXJhbWV0ZXJzKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiA5MzM3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtNjE4LDcgKzYxOCw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBkaWRGYWlsTG9hZEZvclJlc291cmNlKHVpbnQ2NF90IGZyYW1lSUQs
IHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJv
ciYpOwogCiAgICAgLy8gVUkgY2xpZW50Ci0gICAgdm9pZCBjcmVhdGVOZXdQYWdlKGNvbnN0IFdl
YkNvcmU6OldpbmRvd0ZlYXR1cmVzJiwgdWludDMyX3QgbW9kaWZpZXJzLCBpbnQzMl90IG1vdXNl
QnV0dG9uLCB1aW50NjRfdCYgbmV3UGFnZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJik7
CisgICAgdm9pZCBjcmVhdGVOZXdQYWdlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYs
IGNvbnN0IFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVzJiwgdWludDMyX3QgbW9kaWZpZXJzLCBpbnQz
Ml90IG1vdXNlQnV0dG9uLCB1aW50NjRfdCYgbmV3UGFnZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJh
bWV0ZXJzJik7CiAgICAgdm9pZCBzaG93UGFnZSgpOwogICAgIHZvaWQgY2xvc2VQYWdlKGJvb2wg
c3RvcFJlc3BvbnNpdmVuZXNzVGltZXIpOwogICAgIHZvaWQgcnVuSmF2YVNjcmlwdEFsZXJ0KHVp
bnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCShyZXZpc2lvbiA5MzM3NCkK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4JKHdv
cmtpbmcgY29weSkKQEAgLTIyLDcgKzIyLDcgQEAKIAogbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5
IHsKICAgICAjIFVJIG1lc3NhZ2VzCi0gICAgQ3JlYXRlTmV3UGFnZShXZWJDb3JlOjpXaW5kb3dG
ZWF0dXJlcyB3aW5kb3dGZWF0dXJlcywgdWludDMyX3QgbW9kaWZpZXJzLCBpbnQzMl90IG1vdXNl
QnV0dG9uKSAtPiAodWludDY0X3QgbmV3UGFnZUlELCBXZWJLaXQ6OldlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMgbmV3UGFnZVBhcmFtZXRlcnMpCisgICAgQ3JlYXRlTmV3UGFnZShXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgV2ViQ29yZTo6V2luZG93RmVhdHVyZXMgd2luZG93RmVh
dHVyZXMsIHVpbnQzMl90IG1vZGlmaWVycywgaW50MzJfdCBtb3VzZUJ1dHRvbikgLT4gKHVpbnQ2
NF90IG5ld1BhZ2VJRCwgV2ViS2l0OjpXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIG5ld1BhZ2VQ
YXJhbWV0ZXJzKQogICAgIFNob3dQYWdlKCkKICAgICBDbG9zZVBhZ2UoYm9vbCBzdG9wUmVzcG9u
c2l2ZW5lc3NUaW1lcikKICAgICBSdW5KYXZhU2NyaXB0QWxlcnQodWludDY0X3QgZnJhbWVJRCwg
V1RGOjpTdHJpbmcgbWVzc2FnZSkgLT4gKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJVSUNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlVJQ2xpZW50LmNwcAkocmV2aXNpb24gOTMzNzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViVUlDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0Myw3IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotUGFzc1JlZlB0
cjxXZWJQYWdlUHJveHk+IFdlYlVJQ2xpZW50OjpjcmVhdGVOZXdQYWdlKFdlYlBhZ2VQcm94eSog
cGFnZSwgY29uc3QgV2luZG93RmVhdHVyZXMmIHdpbmRvd0ZlYXR1cmVzLCBXZWJFdmVudDo6TW9k
aWZpZXJzIG1vZGlmaWVycywgV2ViTW91c2VFdmVudDo6QnV0dG9uIGJ1dHRvbikKK1Bhc3NSZWZQ
dHI8V2ViUGFnZVByb3h5PiBXZWJVSUNsaWVudDo6Y3JlYXRlTmV3UGFnZShXZWJQYWdlUHJveHkq
IHBhZ2UsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0LCBjb25zdCBXaW5k
b3dGZWF0dXJlcyYgd2luZG93RmVhdHVyZXMsIFdlYkV2ZW50OjpNb2RpZmllcnMgbW9kaWZpZXJz
LCBXZWJNb3VzZUV2ZW50OjpCdXR0b24gYnV0dG9uKQogewogICAgIGlmICghbV9jbGllbnQuY3Jl
YXRlTmV3UGFnZSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC02Niw3ICs2Niw5IEBAIFBhc3NSZWZQ
dHI8V2ViUGFnZVByb3h5PiBXZWJVSUNsaWVudDo6Y3IKICAgICBtYXAuc2V0KCJkaWFsb2ciLCBX
ZWJCb29sZWFuOjpjcmVhdGUod2luZG93RmVhdHVyZXMuZGlhbG9nKSk7CiAgICAgUmVmUHRyPElt
bXV0YWJsZURpY3Rpb25hcnk+IGZlYXR1cmVzTWFwID0gSW1tdXRhYmxlRGljdGlvbmFyeTo6YWRv
cHQobWFwKTsKIAotICAgIHJldHVybiBhZG9wdFJlZih0b0ltcGwobV9jbGllbnQuY3JlYXRlTmV3
UGFnZSh0b0FQSShwYWdlKSwgdG9BUEkoZmVhdHVyZXNNYXAuZ2V0KCkpLCB0b0FQSShtb2RpZmll
cnMpLCB0b0FQSShidXR0b24pLCBtX2NsaWVudC5jbGllbnRJbmZvKSkpOworICAgIFJlZlB0cjxX
ZWJVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gV2ViVVJMUmVxdWVzdDo6Y3JlYXRlKHJlc291cmNlUmVx
dWVzdCk7CisgICAgCisgICAgcmV0dXJuIGFkb3B0UmVmKHRvSW1wbChtX2NsaWVudC5jcmVhdGVO
ZXdQYWdlKHRvQVBJKHBhZ2UpLCB0b0FQSShyZXF1ZXN0LmdldCgpKSwgdG9BUEkoZmVhdHVyZXNN
YXAuZ2V0KCkpLCB0b0FQSShtb2RpZmllcnMpLCB0b0FQSShidXR0b24pLCBtX2NsaWVudC5jbGll
bnRJbmZvKSkpOwogfSAKIAogdm9pZCBXZWJVSUNsaWVudDo6c2hvd1BhZ2UoV2ViUGFnZVByb3h5
KiBwYWdlKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmgJKHJldmlz
aW9uIDkzMzc0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBGbG9hdFJlY3Q7CiAgICAgY2xhc3MgSW50U2l6ZTsKKyAgICBjbGFzcyBSZXNvdXJjZVJl
cXVlc3Q7CiAgICAgc3RydWN0IFdpbmRvd0ZlYXR1cmVzOwogfQogCkBAIC01Myw3ICs1NCw3IEBA
IGNsYXNzIFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHk7CiAKIGNsYXNzIFdlYlVJQ2xp
ZW50IDogcHVibGljIEFQSUNsaWVudDxXS1BhZ2VVSUNsaWVudCwga1dLUGFnZVVJQ2xpZW50Q3Vy
cmVudFZlcnNpb24+IHsKIHB1YmxpYzoKLSAgICBQYXNzUmVmUHRyPFdlYlBhZ2VQcm94eT4gY3Jl
YXRlTmV3UGFnZShXZWJQYWdlUHJveHkqLCBjb25zdCBXZWJDb3JlOjpXaW5kb3dGZWF0dXJlcyYs
IFdlYkV2ZW50OjpNb2RpZmllcnMsIFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbik7CisgICAgUGFzc1Jl
ZlB0cjxXZWJQYWdlUHJveHk+IGNyZWF0ZU5ld1BhZ2UoV2ViUGFnZVByb3h5KiwgY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6V2luZG93RmVhdHVyZXMmLCBX
ZWJFdmVudDo6TW9kaWZpZXJzLCBXZWJNb3VzZUV2ZW50OjpCdXR0b24pOwogICAgIHZvaWQgc2hv
d1BhZ2UoV2ViUGFnZVByb3h5Kik7CiAgICAgdm9pZCBjbG9zZShXZWJQYWdlUHJveHkqKTsKIApJ
bmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaAkocmV2aXNpb24gOTMz
NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE2MCw3ICsxNjAsNyBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VSZXNvdXJjZUxv
YWRDbGllbnQgCiBlbnVtIHsga1dLUGFnZVJlc291cmNlTG9hZENsaWVudEN1cnJlbnRWZXJzaW9u
ID0gMCB9OwogCiAvLyBVSSBDbGllbnQKLXR5cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdlQ3JlYXRl
TmV3UGFnZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tEaWN0aW9uYXJ5UmVmIGZlYXR1cmVz
LCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0
dG9uLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdl
Q3JlYXRlTmV3UGFnZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tVUkxSZXF1ZXN0UmVmIHVy
bFJlcXVlc3QsIFdLRGljdGlvbmFyeVJlZiBmZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2Rp
ZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCAqY2xpZW50
SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFjayko
V0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIGFsZXJ0VGV4dCwgV0tGcmFtZVJlZiBmcmFtZSwg
Y29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIGJvb2wgKCpXS1BhZ2VSdW5KYXZhU2Ny
aXB0Q29uZmlybUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwg
V0tGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIFdLU3Ry
aW5nUmVmICgqV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNrKShXS1BhZ2VSZWYgcGFn
ZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tTdHJpbmdSZWYgZGVmYXVsdFZhbHVlLCBXS0ZyYW1l
UmVmIGZyYW1lLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAJKHJldmlzaW9uIDkzMzc0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2
ICs0OSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9GaWxlQ2hvb3Nlci5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvRmlsZUljb25Mb2FkZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lLmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9GcmFtZUxvYWRSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFt
ZUxvYWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9IVE1MTmFtZXMuaD4KQEAgLTE1NiwxNCArMTU3LDE0IEBAIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50Ojpmb2N1c2VkRnJhbWVDaGFuZ2UKICAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5jb25uZWN0
aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6Rm9jdXNlZEZyYW1lQ2hhbmdlZCh3
ZWJGcmFtZSA/IHdlYkZyYW1lLT5mcmFtZUlEKCkgOiAwKSwgbV9wYWdlLT5wYWdlSUQoKSk7CiB9
CiAKLVBhZ2UqIFdlYkNocm9tZUNsaWVudDo6Y3JlYXRlV2luZG93KEZyYW1lKiwgY29uc3QgRnJh
bWVMb2FkUmVxdWVzdCYsIGNvbnN0IFdpbmRvd0ZlYXR1cmVzJiB3aW5kb3dGZWF0dXJlcywgY29u
c3QgTmF2aWdhdGlvbkFjdGlvbiYgbmF2aWdhdGlvbkFjdGlvbikKK1BhZ2UqIFdlYkNocm9tZUNs
aWVudDo6Y3JlYXRlV2luZG93KEZyYW1lKiwgY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgcmVxdWVz
dCwgY29uc3QgV2luZG93RmVhdHVyZXMmIHdpbmRvd0ZlYXR1cmVzLCBjb25zdCBOYXZpZ2F0aW9u
QWN0aW9uJiBuYXZpZ2F0aW9uQWN0aW9uKQogewogICAgIHVpbnQzMl90IG1vZGlmaWVycyA9IHN0
YXRpY19jYXN0PHVpbnQzMl90PihJbmplY3RlZEJ1bmRsZU5hdmlnYXRpb25BY3Rpb246Om1vZGlm
aWVyc0Zvck5hdmlnYXRpb25BY3Rpb24obmF2aWdhdGlvbkFjdGlvbikpOwogICAgIGludDMyX3Qg
bW91c2VCdXR0b24gPSBzdGF0aWNfY2FzdDxpbnQzMl90PihJbmplY3RlZEJ1bmRsZU5hdmlnYXRp
b25BY3Rpb246Om1vdXNlQnV0dG9uRm9yTmF2aWdhdGlvbkFjdGlvbihuYXZpZ2F0aW9uQWN0aW9u
KSk7CiAKICAgICB1aW50NjRfdCBuZXdQYWdlSUQgPSAwOwogICAgIFdlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMgcGFyYW1ldGVyczsKLSAgICBpZiAoIVdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5l
Y3Rpb24oKS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6Q3JlYXRlTmV3UGFnZSh3
aW5kb3dGZWF0dXJlcywgbW9kaWZpZXJzLCBtb3VzZUJ1dHRvbiksIE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OkNyZWF0ZU5ld1BhZ2U6OlJlcGx5KG5ld1BhZ2VJRCwgcGFyYW1ldGVycyksIG1fcGFn
ZS0+cGFnZUlEKCkpKQorICAgIGlmICghV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29ubmVjdGlvbigp
LT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpDcmVhdGVOZXdQYWdlKHJlcXVlc3Qu
cmVzb3VyY2VSZXF1ZXN0KCksIHdpbmRvd0ZlYXR1cmVzLCBtb2RpZmllcnMsIG1vdXNlQnV0dG9u
KSwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6Q3JlYXRlTmV3UGFnZTo6UmVwbHkobmV3UGFnZUlE
LCBwYXJhbWV0ZXJzKSwgbV9wYWdlLT5wYWdlSUQoKSkpCiAgICAgICAgIHJldHVybiAwOwogCiAg
ICAgaWYgKCFuZXdQYWdlSUQpCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5MzY3MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDExLTA4LTIzICBBbGljZSBMaXUgIDxhbGlj
ZS5saXVAYXBwbGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NjgyMworICAgICAgICBBZGQgdGhlIHJlcXVlc3QgaW5mbyB0byB0aGUgV2Vi
UGFnZVByb3h5OjpDcmVhdGVOZXdQYWdlIG1lc3NhZ2UKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgZnVuY3Rpb24gZGVjbGFyYXRpb25zIHdp
dGggYWRkaXRpb25hbCBwYXJhbWV0ZXI6CisgICAgICAgICogTWluaUJyb3dzZXIvZ3RrL0Jyb3dz
ZXJXaW5kb3cuYzoKKyAgICAgICAgKGNyZWF0ZU5ld1BhZ2UpOgorICAgICAgICAqIE1pbmlCcm93
c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tOgorICAgICAgICAoY3JlYXRlTmV3UGFn
ZSk6CisgICAgICAgICogTWluaUJyb3dzZXIvd2luL0Jyb3dzZXJWaWV3LmNwcDoKKyAgICAgICAg
KGNyZWF0ZU5ld1BhZ2UpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQYWdlKToK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6CisKIDIwMTEtMDgt
MjMgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBD
aGFuZ2UgZ2FyZGVuLW8tbWF0aWMgZnJvbnRlbmQgYnVpbGRlciBhcnJheSB0byBiZSBhIGNvbmZp
Z3VyYXRpb24gbWFwLgpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5kb3cu
Ywo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlcldpbmRvdy5jCShy
ZXZpc2lvbiA5MzM3NCkKKysrIFRvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmMJ
KHdvcmtpbmcgY29weSkKQEAgLTUyMiw3ICs1MjIsNyBAQCBzdGF0aWMgdm9pZCBicm93c2VyV2lu
ZG93TG9hZGVyQ2xpZW50SW5pCiB9CiAKIC8vIFVJIENsaWVudC4KLXN0YXRpYyBXS1BhZ2VSZWYg
Y3JlYXRlTmV3UGFnZShXS1BhZ2VSZWYgcGFnZSwgV0tEaWN0aW9uYXJ5UmVmIGZlYXR1cmVzLCBX
S0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uIGJ1dHRvbiwgY29u
c3Qgdm9pZCAqY2xpZW50SW5mbykKK3N0YXRpYyBXS1BhZ2VSZWYgY3JlYXRlTmV3UGFnZShXS1Bh
Z2VSZWYgcGFnZSwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdLRGljdGlvbmFyeVJlZiBmZWF0
dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBidXR0
b24sIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pCiB7CiAgICAgV0tWaWV3UmVmIHdlYlZpZXcgPSBX
S1ZpZXdDcmVhdGUoV0tQYWdlR2V0Q29udGV4dChwYWdlKSwgMCk7CiAgICAgQnJvd3NlcldpbmRv
dyogd2luZG93ID0gQlJPV1NFUl9XSU5ET1coYnJvd3Nlcl93aW5kb3dfbmV3KHdlYlZpZXcpKTsK
SW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxl
ci5tCShyZXZpc2lvbiA5MzM3NCkKKysrIFRvb2xzL01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2lu
ZG93Q29udHJvbGxlci5tCSh3b3JraW5nIGNvcHkpCkBAIC0zNzcsNyArMzc3LDcgQEAgc3RhdGlj
IHZvaWQgZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UoV0tQYQogCiAvLyBNQVJLOiBVSSBDbGllbnQg
Q2FsbGJhY2tzCiAKLXN0YXRpYyBXS1BhZ2VSZWYgY3JlYXRlTmV3UGFnZShXS1BhZ2VSZWYgcGFn
ZSwgV0tEaWN0aW9uYXJ5UmVmIGZlYXR1cmVzLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywg
V0tFdmVudE1vdXNlQnV0dG9uIGJ1dHRvbiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3N0YXRp
YyBXS1BhZ2VSZWYgY3JlYXRlTmV3UGFnZShXS1BhZ2VSZWYgcGFnZSwgV0tVUkxSZXF1ZXN0UmVm
IHJlcXVlc3QsIFdLRGljdGlvbmFyeVJlZiBmZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2Rp
ZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBidXR0b24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
CiB7CiAgICAgTE9HKEAiY3JlYXRlTmV3UGFnZSIpOwogICAgIEJyb3dzZXJXaW5kb3dDb250cm9s
bGVyICpjb250cm9sbGVyID0gW1tCcm93c2VyV2luZG93Q29udHJvbGxlciBhbGxvY10gaW5pdFdp
dGhDb250ZXh0OldLUGFnZUdldENvbnRleHQocGFnZSldOwpJbmRleDogVG9vbHMvTWluaUJyb3dz
ZXIvd2luL0Jyb3dzZXJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci93
aW4vQnJvd3NlclZpZXcuY3BwCShyZXZpc2lvbiA5MzM3NCkKKysrIFRvb2xzL01pbmlCcm93c2Vy
L3dpbi9Ccm93c2VyVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgQnJv
d3NlclZpZXc6OkJyb3dzZXJWaWV3KCkKIAogLy8gVUkgQ2xpZW50IENhbGxiYWNrcwogCi1zdGF0
aWMgV0tQYWdlUmVmIGNyZWF0ZU5ld1BhZ2UoV0tQYWdlUmVmIHBhZ2UsIFdLRGljdGlvbmFyeVJl
ZiBmZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRv
biBtb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3N0YXRpYyBXS1BhZ2VSZWYg
Y3JlYXRlTmV3UGFnZShXS1BhZ2VSZWYgcGFnZSwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdL
RGljdGlvbmFyeVJlZiBmZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZl
bnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKICAg
ICBCcm93c2VyV2luZG93KiBicm93c2VyV2luZG93ID0gQnJvd3NlcldpbmRvdzo6Y3JlYXRlKCk7
CiAgICAgYnJvd3NlcldpbmRvdy0+Y3JlYXRlV2luZG93KDAsIDAsIDgwMCwgNjAwKTsKSW5kZXg6
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA5MzM3
NCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMzAsNyArMTMwLDcgQEAgc3RhdGljIHZvaWQgY2xvc2VPdGhlclBhZ2UoV0tQ
YWdlUmVmIHBhZwogICAgIGRlbGV0ZSB2aWV3OwogfQogCi1XS1BhZ2VSZWYgVGVzdENvbnRyb2xs
ZXI6OmNyZWF0ZU90aGVyUGFnZShXS1BhZ2VSZWYgb2xkUGFnZSwgV0tEaWN0aW9uYXJ5UmVmLCBX
S0V2ZW50TW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24sIGNvbnN0IHZvaWQqKQorV0tQYWdl
UmVmIFRlc3RDb250cm9sbGVyOjpjcmVhdGVPdGhlclBhZ2UoV0tQYWdlUmVmIG9sZFBhZ2UsIFdL
VVJMUmVxdWVzdFJlZiwgV0tEaWN0aW9uYXJ5UmVmLCBXS0V2ZW50TW9kaWZpZXJzLCBXS0V2ZW50
TW91c2VCdXR0b24sIGNvbnN0IHZvaWQqKQogewogICAgIFBsYXRmb3JtV2ViVmlldyogdmlldyA9
IG5ldyBQbGF0Zm9ybVdlYlZpZXcoV0tQYWdlR2V0Q29udGV4dChvbGRQYWdlKSwgV0tQYWdlR2V0
UGFnZUdyb3VwKG9sZFBhZ2UpKTsKICAgICBXS1BhZ2VSZWYgbmV3UGFnZSA9IHZpZXctPnBhZ2Uo
KTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgJKHJldmlzaW9u
IDkzMzc0KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC04OCw3ICs4OCw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgcHJv
Y2Vzc0RpZENyYXNoKFdLUGFnZVJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAgICAgdm9p
ZCBwcm9jZXNzRGlkQ3Jhc2goKTsKIAotICAgIHN0YXRpYyBXS1BhZ2VSZWYgY3JlYXRlT3RoZXJQ
YWdlKFdLUGFnZVJlZiBvbGRQYWdlLCBXS0RpY3Rpb25hcnlSZWYsIFdLRXZlbnRNb2RpZmllcnMs
IFdLRXZlbnRNb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCopOworICAgIHN0YXRpYyBXS1BhZ2VSZWYg
Y3JlYXRlT3RoZXJQYWdlKFdLUGFnZVJlZiBvbGRQYWdlLCBXS1VSTFJlcXVlc3RSZWYsIFdLRGlj
dGlvbmFyeVJlZiwgV0tFdmVudE1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uLCBjb25zdCB2
b2lkKik7CiAKICAgICBzdGF0aWMgdm9pZCBydW5Nb2RhbChXS1BhZ2VSZWYsIGNvbnN0IHZvaWQq
IGNsaWVudEluZm8pOwogICAgIHN0YXRpYyB2b2lkIHJ1bk1vZGFsKFBsYXRmb3JtV2ViVmlldyop
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105272</attachid>
            <date>2011-08-25 16:18:58 -0700</date>
            <delta_ts>2011-08-25 22:21:41 -0700</delta_ts>
            <desc>patch - keeps nightlies working</desc>
            <filename>bug66823_nightliesWork.txt</filename>
            <type>text/plain</type>
            <size>21290</size>
            <attacher name="Alice Liu">alice.barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNjU2KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDgtMjUgIEFsaWNlIExp
dSAgPGFsaWNlLmxpdUBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY2ODIzCisgICAgICAgIEFkZCB0aGUgcmVxdWVzdCBpbmZvIHRv
IHRoZSBXZWJQYWdlUHJveHk6OkNyZWF0ZU5ld1BhZ2UgbWVzc2FnZQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBmdW5jdGlvbiBkZWNsYXJh
dGlvbnMgd2l0aCBhZGRpdGlvbmFsIFJlc291cmNlUmVxdWVzdCBwYXJhbWV0ZXI6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNyZWF0ZU5ld1BhZ2Up
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJVSUNs
aWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlVJQ2xpZW50OjpjcmVhdGVOZXdQYWdlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViVUlDbGllbnQuaDoKKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVXaW5kb3cpOiAKKyAgICAgICAgUGFzcyB0aGUgUmVzb3Vy
Y2VSZXF1ZXN0IHdpdGhpbiB0aGUgRnJhbWVMb2FkUmVxdWVzdC4KKwogMjAxMS0wOC0yMyAgR29w
YWwgUmFnaGF2YW4gIDxnb3BhbC4xLnJhZ2hhdmFuQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRd
IFVubmVjZXNzYXJ5IGZvbGRlcnMgaW4gV2ViS2l0Mi4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCShyZXZpc2lvbiA5MzM3NCkKKysrIFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw0ICsz
NSw5IEBAIGNvbnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8V0tCdW5kbGVQYWcKICAgICBzaXpl
b2YoV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50KQogfTsKIAorY29uc3Qgc2l6ZV90IEFQSUNsaWVu
dFRyYWl0czxXS1BhZ2VVSUNsaWVudD46OmludGVyZmFjZVNpemVzQnlWZXJzaW9uW10gPSB7Cisg
ICAgb2Zmc2V0b2YoV0tQYWdlVUlDbGllbnQsIGNyZWF0ZU5ld1BhZ2UpLAorICAgIHNpemVvZihX
S1BhZ2VVSUNsaWVudCkKK307CisgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmgJKHJldmlzaW9uIDkzMzc0KQorKysg
U291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIEFQSUNsaWVudFRyYWl0c19oCiAKICNpbmNsdWRlICJX
S0J1bmRsZVBhZ2UuaCIKKyNpbmNsdWRlICJXS1BhZ2UuaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKQEAgLTQxLDYgKzQyLDExIEBAIHRlbXBsYXRlPD4gc3RydWN0IEFQSUNsaWVudFRyYWl0czxX
S0J1bmQKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGludGVyZmFjZVNpemVzQnlWZXJzaW9uWzJd
OwogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQVBJQ2xpZW50VHJhaXRzPFdLUGFnZVVJQ2xpZW50
PgoreworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgaW50ZXJmYWNlU2l6ZXNCeVZlcnNpb25bMl07
Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEFQSUNsaWVudFRyYWl0
c19oCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkocmV2
aXNpb24gOTMzNzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjAwMiw5ICsyMDAyLDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OmRpZEZhaWxMb2FkRm9yUmVzb3VyYwogCiAvLyBVSUNsaWVudAogCi12b2lkIFdlYlBhZ2VQcm94
eTo6Y3JlYXRlTmV3UGFnZShjb25zdCBXaW5kb3dGZWF0dXJlcyYgd2luZG93RmVhdHVyZXMsIHVp
bnQzMl90IG9wYXF1ZU1vZGlmaWVycywgaW50MzJfdCBvcGFxdWVNb3VzZUJ1dHRvbiwgdWludDY0
X3QmIG5ld1BhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgbmV3UGFnZVBhcmFtZXRl
cnMpCit2b2lkIFdlYlBhZ2VQcm94eTo6Y3JlYXRlTmV3UGFnZShjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIGNvbnN0IFdpbmRvd0ZlYXR1cmVzJiB3aW5kb3dGZWF0dXJlcywgdWludDMy
X3Qgb3BhcXVlTW9kaWZpZXJzLCBpbnQzMl90IG9wYXF1ZU1vdXNlQnV0dG9uLCB1aW50NjRfdCYg
bmV3UGFnZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiBuZXdQYWdlUGFyYW1ldGVycykK
IHsKLSAgICBSZWZQdHI8V2ViUGFnZVByb3h5PiBuZXdQYWdlID0gbV91aUNsaWVudC5jcmVhdGVO
ZXdQYWdlKHRoaXMsIHdpbmRvd0ZlYXR1cmVzLCBzdGF0aWNfY2FzdDxXZWJFdmVudDo6TW9kaWZp
ZXJzPihvcGFxdWVNb2RpZmllcnMpLCBzdGF0aWNfY2FzdDxXZWJNb3VzZUV2ZW50OjpCdXR0b24+
KG9wYXF1ZU1vdXNlQnV0dG9uKSk7CisgICAgUmVmUHRyPFdlYlBhZ2VQcm94eT4gbmV3UGFnZSA9
IG1fdWlDbGllbnQuY3JlYXRlTmV3UGFnZSh0aGlzLCByZXF1ZXN0LCB3aW5kb3dGZWF0dXJlcywg
c3RhdGljX2Nhc3Q8V2ViRXZlbnQ6Ok1vZGlmaWVycz4ob3BhcXVlTW9kaWZpZXJzKSwgc3RhdGlj
X2Nhc3Q8V2ViTW91c2VFdmVudDo6QnV0dG9uPihvcGFxdWVNb3VzZUJ1dHRvbikpOwogICAgIGlm
IChuZXdQYWdlKSB7CiAgICAgICAgIG5ld1BhZ2VJRCA9IG5ld1BhZ2UtPnBhZ2VJRCgpOwogICAg
ICAgICBuZXdQYWdlUGFyYW1ldGVycyA9IG5ld1BhZ2UtPmNyZWF0aW9uUGFyYW1ldGVycygpOwpJ
bmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkocmV2aXNpb24gOTMz
NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTYxOCw3ICs2MTgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkRmFpbExvYWRG
b3JSZXNvdXJjZSh1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIs
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKIAogICAgIC8vIFVJIGNsaWVudAotICAg
IHZvaWQgY3JlYXRlTmV3UGFnZShjb25zdCBXZWJDb3JlOjpXaW5kb3dGZWF0dXJlcyYsIHVpbnQz
Ml90IG1vZGlmaWVycywgaW50MzJfdCBtb3VzZUJ1dHRvbiwgdWludDY0X3QmIG5ld1BhZ2VJRCwg
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYpOworICAgIHZvaWQgY3JlYXRlTmV3UGFnZShjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpXaW5kb3dGZWF0dXJl
cyYsIHVpbnQzMl90IG1vZGlmaWVycywgaW50MzJfdCBtb3VzZUJ1dHRvbiwgdWludDY0X3QmIG5l
d1BhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYpOwogICAgIHZvaWQgc2hvd1BhZ2Uo
KTsKICAgICB2b2lkIGNsb3NlUGFnZShib29sIHN0b3BSZXNwb25zaXZlbmVzc1RpbWVyKTsKICAg
ICB2b2lkIHJ1bkphdmFTY3JpcHRBbGVydCh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcm
KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbgkocmV2aXNpb24gOTMzNzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw3ICsyMiw3IEBA
CiAKIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgIyBVSSBtZXNzYWdlcwotICAgIENy
ZWF0ZU5ld1BhZ2UoV2ViQ29yZTo6V2luZG93RmVhdHVyZXMgd2luZG93RmVhdHVyZXMsIHVpbnQz
Ml90IG1vZGlmaWVycywgaW50MzJfdCBtb3VzZUJ1dHRvbikgLT4gKHVpbnQ2NF90IG5ld1BhZ2VJ
RCwgV2ViS2l0OjpXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIG5ld1BhZ2VQYXJhbWV0ZXJzKQor
ICAgIENyZWF0ZU5ld1BhZ2UoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNv
cmU6OldpbmRvd0ZlYXR1cmVzIHdpbmRvd0ZlYXR1cmVzLCB1aW50MzJfdCBtb2RpZmllcnMsIGlu
dDMyX3QgbW91c2VCdXR0b24pIC0+ICh1aW50NjRfdCBuZXdQYWdlSUQsIFdlYktpdDo6V2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVycyBuZXdQYWdlUGFyYW1ldGVycykKICAgICBTaG93UGFnZSgpCiAg
ICAgQ2xvc2VQYWdlKGJvb2wgc3RvcFJlc3BvbnNpdmVuZXNzVGltZXIpCiAgICAgUnVuSmF2YVNj
cmlwdEFsZXJ0KHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1lc3NhZ2UpIC0+ICgpCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAJKHJldmlzaW9uIDkz
Mzc0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDMsOSArNDMsMTIgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCi1QYXNzUmVmUHRyPFdlYlBhZ2VQcm94eT4gV2ViVUlDbGllbnQ6
OmNyZWF0ZU5ld1BhZ2UoV2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBXaW5kb3dGZWF0dXJlcyYg
d2luZG93RmVhdHVyZXMsIFdlYkV2ZW50OjpNb2RpZmllcnMgbW9kaWZpZXJzLCBXZWJNb3VzZUV2
ZW50OjpCdXR0b24gYnV0dG9uKQorUGFzc1JlZlB0cjxXZWJQYWdlUHJveHk+IFdlYlVJQ2xpZW50
OjpjcmVhdGVOZXdQYWdlKFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiByZXNvdXJjZVJlcXVlc3QsIGNvbnN0IFdpbmRvd0ZlYXR1cmVzJiB3aW5kb3dGZWF0dXJlcywg
V2ViRXZlbnQ6Ok1vZGlmaWVycyBtb2RpZmllcnMsIFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbiBidXR0
b24pCiB7Ci0gICAgaWYgKCFtX2NsaWVudC5jcmVhdGVOZXdQYWdlKQorICAgIGlmIChtX2NsaWVu
dC52ZXJzaW9uID09IDAgJiYgIW1fY2xpZW50LmNyZWF0ZU5ld1BhZ2VfZGVwcmVjYXRlZEZvclVz
ZVdpdGhWMCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgCisgICAgaWYgKG1fY2xpZW50LnZlcnNp
b24gPT0ga1dLUGFnZVVJQ2xpZW50Q3VycmVudFZlcnNpb24gJiYgIW1fY2xpZW50LmNyZWF0ZU5l
d1BhZ2UpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgSW1tdXRhYmxlRGljdGlvbmFyeTo6TWFw
VHlwZSBtYXA7CkBAIC02Niw3ICs2OSwxMSBAQCBQYXNzUmVmUHRyPFdlYlBhZ2VQcm94eT4gV2Vi
VUlDbGllbnQ6OmNyCiAgICAgbWFwLnNldCgiZGlhbG9nIiwgV2ViQm9vbGVhbjo6Y3JlYXRlKHdp
bmRvd0ZlYXR1cmVzLmRpYWxvZykpOwogICAgIFJlZlB0cjxJbW11dGFibGVEaWN0aW9uYXJ5PiBm
ZWF0dXJlc01hcCA9IEltbXV0YWJsZURpY3Rpb25hcnk6OmFkb3B0KG1hcCk7CiAKLSAgICByZXR1
cm4gYWRvcHRSZWYodG9JbXBsKG1fY2xpZW50LmNyZWF0ZU5ld1BhZ2UodG9BUEkocGFnZSksIHRv
QVBJKGZlYXR1cmVzTWFwLmdldCgpKSwgdG9BUEkobW9kaWZpZXJzKSwgdG9BUEkoYnV0dG9uKSwg
bV9jbGllbnQuY2xpZW50SW5mbykpKTsKKyAgICBpZiAobV9jbGllbnQudmVyc2lvbiA9PSAwKQor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYodG9JbXBsKG1fY2xpZW50LmNyZWF0ZU5ld1BhZ2VfZGVw
cmVjYXRlZEZvclVzZVdpdGhWMCh0b0FQSShwYWdlKSwgdG9BUEkoZmVhdHVyZXNNYXAuZ2V0KCkp
LCB0b0FQSShtb2RpZmllcnMpLCB0b0FQSShidXR0b24pLCBtX2NsaWVudC5jbGllbnRJbmZvKSkp
OworCisgICAgUmVmUHRyPFdlYlVSTFJlcXVlc3Q+IHJlcXVlc3QgPSBXZWJVUkxSZXF1ZXN0Ojpj
cmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsgICAgCisgICAgcmV0dXJuIGFkb3B0UmVmKHRvSW1wbCht
X2NsaWVudC5jcmVhdGVOZXdQYWdlKHRvQVBJKHBhZ2UpLCB0b0FQSShyZXF1ZXN0LmdldCgpKSwg
dG9BUEkoZmVhdHVyZXNNYXAuZ2V0KCkpLCB0b0FQSShtb2RpZmllcnMpLCB0b0FQSShidXR0b24p
LCBtX2NsaWVudC5jbGllbnRJbmZvKSkpOwogfSAKIAogdm9pZCBXZWJVSUNsaWVudDo6c2hvd1Bh
Z2UoV2ViUGFnZVByb3h5KiBwYWdlKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlVJQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJ
Q2xpZW50LmgJKHJldmlzaW9uIDkzMzc0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlVJQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcgQEAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBGbG9hdFJlY3Q7CiAgICAgY2xhc3MgSW50U2l6ZTsKKyAgICBj
bGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAgICAgc3RydWN0IFdpbmRvd0ZlYXR1cmVzOwogfQogCkBA
IC01Myw3ICs1NCw3IEBAIGNsYXNzIFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHk7CiAK
IGNsYXNzIFdlYlVJQ2xpZW50IDogcHVibGljIEFQSUNsaWVudDxXS1BhZ2VVSUNsaWVudCwga1dL
UGFnZVVJQ2xpZW50Q3VycmVudFZlcnNpb24+IHsKIHB1YmxpYzoKLSAgICBQYXNzUmVmUHRyPFdl
YlBhZ2VQcm94eT4gY3JlYXRlTmV3UGFnZShXZWJQYWdlUHJveHkqLCBjb25zdCBXZWJDb3JlOjpX
aW5kb3dGZWF0dXJlcyYsIFdlYkV2ZW50OjpNb2RpZmllcnMsIFdlYk1vdXNlRXZlbnQ6OkJ1dHRv
bik7CisgICAgUGFzc1JlZlB0cjxXZWJQYWdlUHJveHk+IGNyZWF0ZU5ld1BhZ2UoV2ViUGFnZVBy
b3h5KiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6V2lu
ZG93RmVhdHVyZXMmLCBXZWJFdmVudDo6TW9kaWZpZXJzLCBXZWJNb3VzZUV2ZW50OjpCdXR0b24p
OwogICAgIHZvaWQgc2hvd1BhZ2UoV2ViUGFnZVByb3h5Kik7CiAgICAgdm9pZCBjbG9zZShXZWJQ
YWdlUHJveHkqKTsKIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2Uu
aAkocmV2aXNpb24gOTMzNzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
YWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2MCw3ICsxNjAsNyBAQCB0eXBlZGVmIHN0cnVjdCBX
S1BhZ2VSZXNvdXJjZUxvYWRDbGllbnQgCiBlbnVtIHsga1dLUGFnZVJlc291cmNlTG9hZENsaWVu
dEN1cnJlbnRWZXJzaW9uID0gMCB9OwogCiAvLyBVSSBDbGllbnQKLXR5cGVkZWYgV0tQYWdlUmVm
ICgqV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tEaWN0aW9u
YXJ5UmVmIGZlYXR1cmVzLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNl
QnV0dG9uIG1vdXNlQnV0dG9uLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgV0tQ
YWdlUmVmICgqV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tV
UkxSZXF1ZXN0UmVmIHVybFJlcXVlc3QsIFdLRGljdGlvbmFyeVJlZiBmZWF0dXJlcywgV0tFdmVu
dE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgY29u
c3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VSdW5KYXZhU2NyaXB0
QWxlcnRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIGFsZXJ0VGV4dCwgV0tG
cmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIGJvb2wgKCpX
S1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJp
bmdSZWYgbWVzc2FnZSwgV0tGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7
CiB0eXBlZGVmIFdLU3RyaW5nUmVmICgqV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNr
KShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tTdHJpbmdSZWYgZGVmYXVs
dFZhbHVlLCBXS0ZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKQEAgLTE5
NSwxMCArMTk1LDE1IEBAIHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZENvbXBsZXRlUnViYmVyQmEK
IHR5cGVkZWYgdm9pZCAoKldLUGFnZVNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXJDYWxs
YmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHN1Z2dlc3RlZEZpbGVuYW1lLCBXS1N0
cmluZ1JlZiBtaW1lVHlwZSwgV0tVUkxSZWYgb3JpZ2luYXRpbmdVUkwsIFdLRGF0YVJlZiBkYXRh
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgYm9vbCAoKldLUGFnZVNob3VsZElu
dGVycnVwdEphdmFTY3JpcHRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQgKmNs
aWVudEluZm8pOwogCisvLyBEZXByZWNhdGVkICAgIAordHlwZWRlZiBXS1BhZ2VSZWYgKCpXS1Bh
Z2VDcmVhdGVOZXdQYWdlQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCkoV0tQYWdlUmVm
IHBhZ2UsIFdLRGljdGlvbmFyeVJlZiBmZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2RpZmll
cnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCAqY2xpZW50SW5m
byk7CisgICAgCiBzdHJ1Y3QgV0tQYWdlVUlDbGllbnQgewogICAgIGludCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lv
bjsKICAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87Ci0gICAgV0tQYWdlQ3JlYXRlTmV3UGFnZUNh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVOZXdQ
YWdlOworCisgICAgLy8gVmVyc2lvbiAwCisgICAgV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNr
X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgICAgICAgICAgICBjcmVhdGVOZXdQYWdlX2Rl
cHJlY2F0ZWRGb3JVc2VXaXRoVjA7CiAgICAgV0tQYWdlQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93UGFnZTsKICAgICBXS1Bh
Z2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNsb3NlOwogICAgIFdLUGFnZVRha2VGb2N1c0NhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFrZUZvY3VzOwpAQCAtMjM2LDExICsyNDEs
MTQgQEAgc3RydWN0IFdLUGFnZVVJQ2xpZW50IHsKICAgICBXS1BhZ2VDYWxsYmFjayAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bk1vZGFsOwog
ICAgIFdLUGFnZURpZENvbXBsZXRlUnViYmVyQmFuZEZvck1haW5GcmFtZUNhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgZGlkQ29tcGxldGVSdWJiZXJCYW5kRm9yTWFpbkZyYW1lOwogICAgIFdL
UGFnZVNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXJDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgc2F2ZURhdGFUb0ZpbGVJbkRvd25sb2Fkc0ZvbGRlcjsKLSAgICBXS1BhZ2VTaG91
bGRJbnRlcnJ1cHRKYXZhU2NyaXB0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNob3VsZEludGVycnVwdEphdmFTY3JpcHQ7CisgICAgV0tQYWdlU2hvdWxkSW50ZXJydXB0SmF2
YVNjcmlwdENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRJbnRlcnJ1
cHRKYXZhU2NyaXB0OyAgICAKKworICAgIC8vIFZlcnNpb24gMQorICAgIFdLUGFnZUNyZWF0ZU5l
d1BhZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Jl
YXRlTmV3UGFnZTsKIH07CiB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudCBXS1BhZ2VVSUNs
aWVudDsKIAotZW51bSB7IGtXS1BhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9uID0gMCB9OworZW51
bSB7IGtXS1BhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9uID0gMSB9OwogCiAvLyBGaW5kIGNsaWVu
dC4KIHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZEZpbmRTdHJpbmdDYWxsYmFjaykoV0tQYWdlUmVm
IHBhZ2UsIFdLU3RyaW5nUmVmIHN0cmluZywgdW5zaWduZWQgbWF0Y2hDb3VudCwgY29uc3Qgdm9p
ZCogY2xpZW50SW5mbyk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCShyZXZpc2lvbiA5
MzM3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvRmlsZUNob29zZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVJY29uTG9hZGVy
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVM
b2FkUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVMb2FkZXIuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0ZyYW1lVmlldy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTE5hbWVzLmg+CkBA
IC0xNTYsMTQgKzE1NywxNCBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6Zm9jdXNlZEZyYW1lQ2hh
bmdlCiAgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OkZvY3VzZWRGcmFtZUNoYW5nZWQod2ViRnJhbWUgPyB3ZWJGcmFtZS0+
ZnJhbWVJRCgpIDogMCksIG1fcGFnZS0+cGFnZUlEKCkpOwogfQogCi1QYWdlKiBXZWJDaHJvbWVD
bGllbnQ6OmNyZWF0ZVdpbmRvdyhGcmFtZSosIGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmLCBjb25z
dCBXaW5kb3dGZWF0dXJlcyYgd2luZG93RmVhdHVyZXMsIGNvbnN0IE5hdmlnYXRpb25BY3Rpb24m
IG5hdmlnYXRpb25BY3Rpb24pCitQYWdlKiBXZWJDaHJvbWVDbGllbnQ6OmNyZWF0ZVdpbmRvdyhG
cmFtZSosIGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFdpbmRvd0ZlYXR1
cmVzJiB3aW5kb3dGZWF0dXJlcywgY29uc3QgTmF2aWdhdGlvbkFjdGlvbiYgbmF2aWdhdGlvbkFj
dGlvbikKIHsKICAgICB1aW50MzJfdCBtb2RpZmllcnMgPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4o
SW5qZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uOjptb2RpZmllcnNGb3JOYXZpZ2F0aW9uQWN0
aW9uKG5hdmlnYXRpb25BY3Rpb24pKTsKICAgICBpbnQzMl90IG1vdXNlQnV0dG9uID0gc3RhdGlj
X2Nhc3Q8aW50MzJfdD4oSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uOjptb3VzZUJ1dHRv
bkZvck5hdmlnYXRpb25BY3Rpb24obmF2aWdhdGlvbkFjdGlvbikpOwogCiAgICAgdWludDY0X3Qg
bmV3UGFnZUlEID0gMDsKICAgICBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIHBhcmFtZXRlcnM7
Ci0gICAgaWYgKCFXZWJQcm9jZXNzOjpzaGFyZWQoKS5jb25uZWN0aW9uKCktPnNlbmRTeW5jKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OkNyZWF0ZU5ld1BhZ2Uod2luZG93RmVhdHVyZXMsIG1vZGlm
aWVycywgbW91c2VCdXR0b24pLCBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpDcmVhdGVOZXdQYWdl
OjpSZXBseShuZXdQYWdlSUQsIHBhcmFtZXRlcnMpLCBtX3BhZ2UtPnBhZ2VJRCgpKSkKKyAgICBp
ZiAoIVdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZFN5bmMoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6Q3JlYXRlTmV3UGFnZShyZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLCB3
aW5kb3dGZWF0dXJlcywgbW9kaWZpZXJzLCBtb3VzZUJ1dHRvbiksIE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OkNyZWF0ZU5ld1BhZ2U6OlJlcGx5KG5ld1BhZ2VJRCwgcGFyYW1ldGVycyksIG1fcGFn
ZS0+cGFnZUlEKCkpKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIGlmICghbmV3UGFnZUlEKQpJ
bmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2
aXNpb24gOTM2NzEpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwyMSBAQAorMjAxMS0wOC0yNSAgQWxpY2UgTGl1ICA8YWxpY2UubGl1QGFwcGxlLmNvbT4KKwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4MjMKKyAg
ICAgICAgQWRkIHRoZSByZXF1ZXN0IGluZm8gdG8gdGhlIFdlYlBhZ2VQcm94eTo6Q3JlYXRlTmV3
UGFnZSBtZXNzYWdlCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVXBkYXRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyB3aXRoIGFkZGl0aW9uYWwgcGFyYW1l
dGVyOgorICAgICAgICAqIE1pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmM6CisgICAgICAg
IChjcmVhdGVOZXdQYWdlKToKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9tYWMvQnJvd3NlcldpbmRv
d0NvbnRyb2xsZXIubToKKyAgICAgICAgKGNyZWF0ZU5ld1BhZ2UpOgorICAgICAgICAqIE1pbmlC
cm93c2VyL3dpbi9Ccm93c2VyVmlldy5jcHA6CisgICAgICAgIChjcmVhdGVOZXdQYWdlKToKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdU
Ujo6VGVzdENvbnRyb2xsZXI6OmNyZWF0ZU90aGVyUGFnZSk6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5oOgorCiAyMDExLTA4LTIzICBEaW1pdHJpIEdsYXprb3Yg
IDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ2hhbmdlIGdhcmRlbi1vLW1hdGlj
IGZyb250ZW5kIGJ1aWxkZXIgYXJyYXkgdG8gYmUgYSBjb25maWd1cmF0aW9uIG1hcC4KSW5kZXg6
IFRvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5kb3cuYwkocmV2aXNpb24gOTMzNzQpCisrKyBU
b29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlcldpbmRvdy5jCSh3b3JraW5nIGNvcHkpCkBAIC01
MjIsNyArNTIyLDcgQEAgc3RhdGljIHZvaWQgYnJvd3NlcldpbmRvd0xvYWRlckNsaWVudEluaQog
fQogCiAvLyBVSSBDbGllbnQuCi1zdGF0aWMgV0tQYWdlUmVmIGNyZWF0ZU5ld1BhZ2UoV0tQYWdl
UmVmIHBhZ2UsIFdLRGljdGlvbmFyeVJlZiBmZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2Rp
ZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBidXR0b24sIGNvbnN0IHZvaWQgKmNsaWVudEluZm8p
CitzdGF0aWMgV0tQYWdlUmVmIGNyZWF0ZU5ld1BhZ2UoV0tQYWdlUmVmIHBhZ2UsIFdLVVJMUmVx
dWVzdFJlZiByZXF1ZXN0LCBXS0RpY3Rpb25hcnlSZWYgZmVhdHVyZXMsIFdLRXZlbnRNb2RpZmll
cnMgbW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24gYnV0dG9uLCBjb25zdCB2b2lkICpjbGll
bnRJbmZvKQogewogICAgIFdLVmlld1JlZiB3ZWJWaWV3ID0gV0tWaWV3Q3JlYXRlKFdLUGFnZUdl
dENvbnRleHQocGFnZSksIDApOwogICAgIEJyb3dzZXJXaW5kb3cqIHdpbmRvdyA9IEJST1dTRVJf
V0lORE9XKGJyb3dzZXJfd2luZG93X25ldyh3ZWJWaWV3KSk7CkBAIC02MTMsNyArNjEzLDcgQEAg
c3RhdGljIHZvaWQgYnJvd3NlcldpbmRvd1VJQ2xpZW50SW5pdChCcgogICAgIFdLUGFnZVVJQ2xp
ZW50IHVpQ2xpZW50ID0gewogICAgICAgICBrV0tQYWdlVUlDbGllbnRDdXJyZW50VmVyc2lvbiwK
ICAgICAgICAgd2luZG93LCAvKiBjbGllbnRJbmZvICovCi0gICAgICAgIGNyZWF0ZU5ld1BhZ2Us
CisgICAgICAgIDAsICAgICAgLyogY3JlYXRlTmV3UGFnZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYw
ICovCiAgICAgICAgIHNob3dQYWdlLAogICAgICAgICBjbG9zZVBhZ2UsCiAgICAgICAgIDAsICAg
ICAgLyogdGFrZUZvY3VzICovCkBAIC02NTEsNyArNjUxLDggQEAgc3RhdGljIHZvaWQgYnJvd3Nl
cldpbmRvd1VJQ2xpZW50SW5pdChCcgogICAgICAgICAwLCAgICAgIC8qIHJ1bk1vZGFsICovCiAg
ICAgICAgIDAsICAgICAgLyogZGlkQ29tcGxldGVSdWJiZXJCYW5kRm9yTWFpbkZyYW1lICovCiAg
ICAgICAgIDAsICAgICAgLyogc2F2ZURhdGFUb0ZpbGVJbkRvd25sb2Fkc0ZvbGRlciAqLwotICAg
ICAgICAwICAgICAgIC8qIHNob3VsZEludGVycnVwdEphdmFTY3JpcHQgKi8KKyAgICAgICAgMCwg
ICAgICAvKiBzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0ICovCisgICAgICAgIGNyZWF0ZU5ld1Bh
Z2UKICAgICB9OwogICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChXS1ZpZXdHZXRQYWdlKHdpbmRv
dy0+d2ViVmlldyksICZ1aUNsaWVudCk7CiB9CkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9tYWMv
QnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nl
ci9tYWMvQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubQkocmV2aXNpb24gOTMzNzQpCisrKyBUb29s
cy9NaW5pQnJvd3Nlci9tYWMvQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubQkod29ya2luZyBjb3B5
KQpAQCAtMzc3LDcgKzM3Nyw3IEBAIHN0YXRpYyB2b2lkIGRlY2lkZVBvbGljeUZvclJlc3BvbnNl
KFdLUGEKIAogLy8gTUFSSzogVUkgQ2xpZW50IENhbGxiYWNrcwogCi1zdGF0aWMgV0tQYWdlUmVm
IGNyZWF0ZU5ld1BhZ2UoV0tQYWdlUmVmIHBhZ2UsIFdLRGljdGlvbmFyeVJlZiBmZWF0dXJlcywg
V0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBidXR0b24sIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pCitzdGF0aWMgV0tQYWdlUmVmIGNyZWF0ZU5ld1BhZ2UoV0tQ
YWdlUmVmIHBhZ2UsIFdLVVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBXS0RpY3Rpb25hcnlSZWYgZmVh
dHVyZXMsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24gYnV0
dG9uLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewogICAgIExPRyhAImNyZWF0ZU5ld1BhZ2Ui
KTsKICAgICBCcm93c2VyV2luZG93Q29udHJvbGxlciAqY29udHJvbGxlciA9IFtbQnJvd3Nlcldp
bmRvd0NvbnRyb2xsZXIgYWxsb2NdIGluaXRXaXRoQ29udGV4dDpXS1BhZ2VHZXRDb250ZXh0KHBh
Z2UpXTsKQEAgLTYxNiw3ICs2MTYsNyBAQCAtICh2b2lkKWF3YWtlRnJvbU5pYgogICAgIFdLUGFn
ZVVJQ2xpZW50IHVpQ2xpZW50ID0gewogICAgICAgICBrV0tQYWdlVUlDbGllbnRDdXJyZW50VmVy
c2lvbiwKICAgICAgICAgc2VsZiwgICAgICAgLyogY2xpZW50SW5mbyAqLwotICAgICAgICBjcmVh
dGVOZXdQYWdlLAorICAgICAgICAwLCAgICAgICAgICAvKiBjcmVhdGVOZXdQYWdlX2RlcHJlY2F0
ZWRGb3JVc2VXaXRoVjAgKi8KICAgICAgICAgc2hvd1BhZ2UsCiAgICAgICAgIGNsb3NlUGFnZSwK
ICAgICAgICAgMCwgICAgICAgICAgLyogdGFrZUZvY3VzICovCkBAIC02NTUsNiArNjU1LDcgQEAg
LSAodm9pZClhd2FrZUZyb21OaWIKICAgICAgICAgMCwgLy8gZGlkQ29tcGxldGVSdWJiZXJCYW5k
Rm9yTWFpbkZyYW1lCiAgICAgICAgIDAsIC8vIHNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xk
ZXIKICAgICAgICAgMCwgLy8gc2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdAorICAgICAgICBjcmVh
dGVOZXdQYWdlLAogICAgIH07CiAgICAgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KF93ZWJWaWV3LnBh
Z2VSZWYsICZ1aUNsaWVudCk7CiB9CkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci93aW4vQnJvd3Nl
clZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmll
dy5jcHAJKHJldmlzaW9uIDkzMzc0KQorKysgVG9vbHMvTWluaUJyb3dzZXIvd2luL0Jyb3dzZXJW
aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksNyBAQCBCcm93c2VyVmlldzo6QnJv
d3NlclZpZXcoKQogCiAvLyBVSSBDbGllbnQgQ2FsbGJhY2tzCiAKLXN0YXRpYyBXS1BhZ2VSZWYg
Y3JlYXRlTmV3UGFnZShXS1BhZ2VSZWYgcGFnZSwgV0tEaWN0aW9uYXJ5UmVmIGZlYXR1cmVzLCBX
S0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0dG9u
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQorc3RhdGljIFdLUGFnZVJlZiBjcmVhdGVOZXdQYWdl
KFdLUGFnZVJlZiBwYWdlLCBXS1VSTFJlcXVlc3RSZWYgcmVxdWVzdCwgV0tEaWN0aW9uYXJ5UmVm
IGZlYXR1cmVzLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9u
IG1vdXNlQnV0dG9uLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewogICAgIEJyb3dzZXJXaW5k
b3cqIGJyb3dzZXJXaW5kb3cgPSBCcm93c2VyV2luZG93OjpjcmVhdGUoKTsKICAgICBicm93c2Vy
V2luZG93LT5jcmVhdGVXaW5kb3coMCwgMCwgODAwLCA2MDApOwpAQCAtOTUsNyArOTUsNyBAQCB2
b2lkIEJyb3dzZXJWaWV3OjpjcmVhdGUoUkVDVCB3ZWJWaWV3UmVjCiAgICAgV0tQYWdlVUlDbGll
bnQgdWlDbGllbnQgPSB7CiAgICAgICAgIGtXS1BhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9uLAog
ICAgICAgICBwYXJlbnRXaW5kb3csICAgLyogY2xpZW50SW5mbyAqLwotICAgICAgICBjcmVhdGVO
ZXdQYWdlLAorICAgICAgICAwLCAgICAgICAgICAvKiBjcmVhdGVOZXdQYWdlX2RlcHJlY2F0ZWRG
b3JVc2VXaXRoVjAgKi8KICAgICAgICAgc2hvd1BhZ2UsCiAgICAgICAgIGNsb3NlUGFnZSwKICAg
ICAgICAgMCwgICAgICAgICAgLyogdGFrZUZvY3VzICovCkBAIC0xMjUsNiArMTI1LDcgQEAgdm9p
ZCBCcm93c2VyVmlldzo6Y3JlYXRlKFJFQ1Qgd2ViVmlld1JlYwogICAgICAgICAwLCAgICAgICAg
ICAvKiBydW5PcGVuUGFuZWwgKi8KICAgICAgICAgMCwgICAgICAgICAgLyogZGVjaWRlUG9saWN5
Rm9yR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdCAqLwogICAgICAgICAwLCAgICAgICAgICAv
KiBzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0ICovCisgICAgICAgIGNyZWF0ZU5ld1BhZ2UsCiAg
ICAgfTsKIAogICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChXS1ZpZXdHZXRQYWdlKG1fd2ViVmll
dyksICZ1aUNsaWVudCk7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcAkocmV2aXNpb24gOTMzNzQpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMwLDcgKzEzMCw3IEBAIHN0YXRpYyB2
b2lkIGNsb3NlT3RoZXJQYWdlKFdLUGFnZVJlZiBwYWcKICAgICBkZWxldGUgdmlldzsKIH0KIAot
V0tQYWdlUmVmIFRlc3RDb250cm9sbGVyOjpjcmVhdGVPdGhlclBhZ2UoV0tQYWdlUmVmIG9sZFBh
Z2UsIFdLRGljdGlvbmFyeVJlZiwgV0tFdmVudE1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9u
LCBjb25zdCB2b2lkKikKK1dLUGFnZVJlZiBUZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQYWdl
KFdLUGFnZVJlZiBvbGRQYWdlLCBXS1VSTFJlcXVlc3RSZWYsIFdLRGljdGlvbmFyeVJlZiwgV0tF
dmVudE1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uLCBjb25zdCB2b2lkKikKIHsKICAgICBQ
bGF0Zm9ybVdlYlZpZXcqIHZpZXcgPSBuZXcgUGxhdGZvcm1XZWJWaWV3KFdLUGFnZUdldENvbnRl
eHQob2xkUGFnZSksIFdLUGFnZUdldFBhZ2VHcm91cChvbGRQYWdlKSk7CiAgICAgV0tQYWdlUmVm
IG5ld1BhZ2UgPSB2aWV3LT5wYWdlKCk7CkBAIC0xNDAsNyArMTQwLDcgQEAgV0tQYWdlUmVmIFRl
c3RDb250cm9sbGVyOjpjcmVhdGVPdGhlclBhZwogICAgIFdLUGFnZVVJQ2xpZW50IG90aGVyUGFn
ZVVJQ2xpZW50ID0gewogICAgICAgICBrV0tQYWdlVUlDbGllbnRDdXJyZW50VmVyc2lvbiwKICAg
ICAgICAgdmlldywKLSAgICAgICAgY3JlYXRlT3RoZXJQYWdlLAorICAgICAgICAwLCAvLyBjcmVh
dGVOZXdQYWdlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAKICAgICAgICAgMCwgLy8gc2hvd1BhZ2UK
ICAgICAgICAgY2xvc2VPdGhlclBhZ2UsCiAgICAgICAgIDAsIC8vIHRha2VGb2N1cwpAQCAtMTc5
LDYgKzE3OSw3IEBAIFdLUGFnZVJlZiBUZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQYWcKICAg
ICAgICAgMCwgLy8gZGlkQ29tcGxldGVSdWJiZXJCYW5kRm9yTWFpbkZyYW1lCiAgICAgICAgIDAs
IC8vIHNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXIKICAgICAgICAgMCwgLy8gc2hvdWxk
SW50ZXJydXB0SmF2YVNjcmlwdAorICAgICAgICBjcmVhdGVPdGhlclBhZ2UsCiAgICAgfTsKICAg
ICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQobmV3UGFnZSwgJm90aGVyUGFnZVVJQ2xpZW50KTsKIApA
QCAtMjgzLDcgKzI4NCw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUoaW50IGFy
Z2MKICAgICBXS1BhZ2VVSUNsaWVudCBwYWdlVUlDbGllbnQgPSB7CiAgICAgICAgIGtXS1BhZ2VV
SUNsaWVudEN1cnJlbnRWZXJzaW9uLAogICAgICAgICB0aGlzLAotICAgICAgICBjcmVhdGVPdGhl
clBhZ2UsCisgICAgICAgIDAsIC8vIGNyZWF0ZU5ld1BhZ2VfZGVwcmVjYXRlZEZvclVzZVdpdGhW
MAogICAgICAgICAwLCAvLyBzaG93UGFnZQogICAgICAgICAwLCAvLyBjbG9zZQogICAgICAgICAw
LCAvLyB0YWtlRm9jdXMKQEAgLTMyMiw2ICszMjMsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpp
bml0aWFsaXplKGludCBhcmdjCiAgICAgICAgIDAsIC8vIGRpZENvbXBsZXRlUnViYmVyQmFuZEZv
ck1haW5GcmFtZQogICAgICAgICAwLCAvLyBzYXZlRGF0YVRvRmlsZUluRG93bmxvYWRzRm9sZGVy
CiAgICAgICAgIDAsIC8vIHNob3VsZEludGVycnVwdEphdmFTY3JpcHQKKyAgICAgICAgY3JlYXRl
T3RoZXJQYWdlLAogICAgIH07CiAgICAgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KG1fbWFpbldlYlZp
ZXctPnBhZ2UoKSwgJnBhZ2VVSUNsaWVudCk7CiAKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVy
L1Rlc3RDb250cm9sbGVyLmgJKHJldmlzaW9uIDkzMzc0KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC04OCw3ICs4OCw3IEBAIHBy
aXZhdGU6CiAgICAgc3RhdGljIHZvaWQgcHJvY2Vzc0RpZENyYXNoKFdLUGFnZVJlZiwgY29uc3Qg
dm9pZCogY2xpZW50SW5mbyk7CiAgICAgdm9pZCBwcm9jZXNzRGlkQ3Jhc2goKTsKIAotICAgIHN0
YXRpYyBXS1BhZ2VSZWYgY3JlYXRlT3RoZXJQYWdlKFdLUGFnZVJlZiBvbGRQYWdlLCBXS0RpY3Rp
b25hcnlSZWYsIFdLRXZlbnRNb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiwgY29uc3Qgdm9p
ZCopOworICAgIHN0YXRpYyBXS1BhZ2VSZWYgY3JlYXRlT3RoZXJQYWdlKFdLUGFnZVJlZiBvbGRQ
YWdlLCBXS1VSTFJlcXVlc3RSZWYsIFdLRGljdGlvbmFyeVJlZiwgV0tFdmVudE1vZGlmaWVycywg
V0tFdmVudE1vdXNlQnV0dG9uLCBjb25zdCB2b2lkKik7CiAKICAgICBzdGF0aWMgdm9pZCBydW5N
b2RhbChXS1BhZ2VSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogICAgIHN0YXRpYyB2b2lk
IHJ1bk1vZGFsKFBsYXRmb3JtV2ViVmlldyopOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105312</attachid>
            <date>2011-08-25 22:21:41 -0700</date>
            <delta_ts>2011-08-26 12:07:22 -0700</delta_ts>
            <desc>patch - with fix for minibrowser win</desc>
            <filename>bug66823_minibrowserWinFix.txt</filename>
            <type>text/plain</type>
            <size>22089</size>
            <attacher name="Alice Liu">alice.barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzODM4KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDgtMjUgIEFsaWNlIExp
dSAgPGFsaWNlLmxpdUBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY2ODIzCisgICAgICAgIEFkZCB0aGUgcmVxdWVzdCBpbmZvIHRv
IHRoZSBXZWJQYWdlUHJveHk6OkNyZWF0ZU5ld1BhZ2UgbWVzc2FnZQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBmdW5jdGlvbiBkZWNsYXJh
dGlvbnMgd2l0aCBhZGRpdGlvbmFsIFJlc291cmNlUmVxdWVzdCBwYXJhbWV0ZXI6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNyZWF0ZU5ld1BhZ2Up
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJVSUNs
aWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlVJQ2xpZW50OjpjcmVhdGVOZXdQYWdlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViVUlDbGllbnQuaDoKKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVXaW5kb3cpOiAKKyAgICAgICAgUGFzcyB0aGUgUmVzb3Vy
Y2VSZXF1ZXN0IHdpdGhpbiB0aGUgRnJhbWVMb2FkUmVxdWVzdC4KKwogMjAxMS0wOC0yNSAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEZhY3RvciBjb2Rl
IHRvIHNlbmQgYSBrZXktZG93biBldmVudCB0byB0aGUgcGx1Zy1pbiBvdXQgaW50byBhIG5ldyBm
dW5jdGlvbgpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5jcHAJ
KHJldmlzaW9uIDkzODM4KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDQgKzM1LDkgQEAgY29uc3Qgc2l6ZV90IEFQSUNs
aWVudFRyYWl0czxXS0J1bmRsZVBhZwogICAgIHNpemVvZihXS0J1bmRsZVBhZ2VMb2FkZXJDbGll
bnQpCiB9OwogCitjb25zdCBzaXplX3QgQVBJQ2xpZW50VHJhaXRzPFdLUGFnZVVJQ2xpZW50Pjo6
aW50ZXJmYWNlU2l6ZXNCeVZlcnNpb25bXSA9IHsKKyAgICBvZmZzZXRvZihXS1BhZ2VVSUNsaWVu
dCwgY3JlYXRlTmV3UGFnZSksCisgICAgc2l6ZW9mKFdLUGFnZVVJQ2xpZW50KQorfTsKKyAgICAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNs
aWVudFRyYWl0cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGll
bnRUcmFpdHMuaAkocmV2aXNpb24gOTM4MzgpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
Q2xpZW50VHJhaXRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUg
QVBJQ2xpZW50VHJhaXRzX2gKIAogI2luY2x1ZGUgIldLQnVuZGxlUGFnZS5oIgorI2luY2x1ZGUg
IldLUGFnZS5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtNDEsNiArNDIsMTEgQEAgdGVt
cGxhdGU8PiBzdHJ1Y3QgQVBJQ2xpZW50VHJhaXRzPFdLQnVuZAogICAgIHN0YXRpYyBjb25zdCBz
aXplX3QgaW50ZXJmYWNlU2l6ZXNCeVZlcnNpb25bMl07CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVj
dCBBUElDbGllbnRUcmFpdHM8V0tQYWdlVUlDbGllbnQ+Cit7CisgICAgc3RhdGljIGNvbnN0IHNp
emVfdCBpbnRlcmZhY2VTaXplc0J5VmVyc2lvblsyXTsKK307CisKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdAogCiAjZW5kaWYgLy8gQVBJQ2xpZW50VHJhaXRzX2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiA5MzgzOCkKKysrIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDAy
LDkgKzIwMDIsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmFpbExvYWRGb3JSZXNvdXJjCiAK
IC8vIFVJQ2xpZW50CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpjcmVhdGVOZXdQYWdlKGNvbnN0IFdp
bmRvd0ZlYXR1cmVzJiB3aW5kb3dGZWF0dXJlcywgdWludDMyX3Qgb3BhcXVlTW9kaWZpZXJzLCBp
bnQzMl90IG9wYXF1ZU1vdXNlQnV0dG9uLCB1aW50NjRfdCYgbmV3UGFnZUlELCBXZWJQYWdlQ3Jl
YXRpb25QYXJhbWV0ZXJzJiBuZXdQYWdlUGFyYW1ldGVycykKK3ZvaWQgV2ViUGFnZVByb3h5Ojpj
cmVhdGVOZXdQYWdlKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgV2luZG93
RmVhdHVyZXMmIHdpbmRvd0ZlYXR1cmVzLCB1aW50MzJfdCBvcGFxdWVNb2RpZmllcnMsIGludDMy
X3Qgb3BhcXVlTW91c2VCdXR0b24sIHVpbnQ2NF90JiBuZXdQYWdlSUQsIFdlYlBhZ2VDcmVhdGlv
blBhcmFtZXRlcnMmIG5ld1BhZ2VQYXJhbWV0ZXJzKQogewotICAgIFJlZlB0cjxXZWJQYWdlUHJv
eHk+IG5ld1BhZ2UgPSBtX3VpQ2xpZW50LmNyZWF0ZU5ld1BhZ2UodGhpcywgd2luZG93RmVhdHVy
ZXMsIHN0YXRpY19jYXN0PFdlYkV2ZW50OjpNb2RpZmllcnM+KG9wYXF1ZU1vZGlmaWVycyksIHN0
YXRpY19jYXN0PFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbj4ob3BhcXVlTW91c2VCdXR0b24pKTsKKyAg
ICBSZWZQdHI8V2ViUGFnZVByb3h5PiBuZXdQYWdlID0gbV91aUNsaWVudC5jcmVhdGVOZXdQYWdl
KHRoaXMsIHJlcXVlc3QsIHdpbmRvd0ZlYXR1cmVzLCBzdGF0aWNfY2FzdDxXZWJFdmVudDo6TW9k
aWZpZXJzPihvcGFxdWVNb2RpZmllcnMpLCBzdGF0aWNfY2FzdDxXZWJNb3VzZUV2ZW50OjpCdXR0
b24+KG9wYXF1ZU1vdXNlQnV0dG9uKSk7CiAgICAgaWYgKG5ld1BhZ2UpIHsKICAgICAgICAgbmV3
UGFnZUlEID0gbmV3UGFnZS0+cGFnZUlEKCk7CiAgICAgICAgIG5ld1BhZ2VQYXJhbWV0ZXJzID0g
bmV3UGFnZS0+Y3JlYXRpb25QYXJhbWV0ZXJzKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiA5MzgzOCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtNjE4LDcgKzYxOCw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBkaWRGYWlsTG9hZEZvclJlc291cmNlKHVpbnQ2NF90IGZyYW1l
SUQsIHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvciYpOwogCiAgICAgLy8gVUkgY2xpZW50Ci0gICAgdm9pZCBjcmVhdGVOZXdQYWdlKGNvbnN0
IFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVzJiwgdWludDMyX3QgbW9kaWZpZXJzLCBpbnQzMl90IG1v
dXNlQnV0dG9uLCB1aW50NjRfdCYgbmV3UGFnZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
Jik7CisgICAgdm9pZCBjcmVhdGVOZXdQYWdlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dCYsIGNvbnN0IFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVzJiwgdWludDMyX3QgbW9kaWZpZXJzLCBp
bnQzMl90IG1vdXNlQnV0dG9uLCB1aW50NjRfdCYgbmV3UGFnZUlELCBXZWJQYWdlQ3JlYXRpb25Q
YXJhbWV0ZXJzJik7CiAgICAgdm9pZCBzaG93UGFnZSgpOwogICAgIHZvaWQgY2xvc2VQYWdlKGJv
b2wgc3RvcFJlc3BvbnNpdmVuZXNzVGltZXIpOwogICAgIHZvaWQgcnVuSmF2YVNjcmlwdEFsZXJ0
KHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYpOwpJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCShyZXZpc2lvbiA5Mzgz
OCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4J
KHdvcmtpbmcgY29weSkKQEAgLTIyLDcgKzIyLDcgQEAKIAogbWVzc2FnZXMgLT4gV2ViUGFnZVBy
b3h5IHsKICAgICAjIFVJIG1lc3NhZ2VzCi0gICAgQ3JlYXRlTmV3UGFnZShXZWJDb3JlOjpXaW5k
b3dGZWF0dXJlcyB3aW5kb3dGZWF0dXJlcywgdWludDMyX3QgbW9kaWZpZXJzLCBpbnQzMl90IG1v
dXNlQnV0dG9uKSAtPiAodWludDY0X3QgbmV3UGFnZUlELCBXZWJLaXQ6OldlYlBhZ2VDcmVhdGlv
blBhcmFtZXRlcnMgbmV3UGFnZVBhcmFtZXRlcnMpCisgICAgQ3JlYXRlTmV3UGFnZShXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgV2ViQ29yZTo6V2luZG93RmVhdHVyZXMgd2luZG93
RmVhdHVyZXMsIHVpbnQzMl90IG1vZGlmaWVycywgaW50MzJfdCBtb3VzZUJ1dHRvbikgLT4gKHVp
bnQ2NF90IG5ld1BhZ2VJRCwgV2ViS2l0OjpXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIG5ld1Bh
Z2VQYXJhbWV0ZXJzKQogICAgIFNob3dQYWdlKCkKICAgICBDbG9zZVBhZ2UoYm9vbCBzdG9wUmVz
cG9uc2l2ZW5lc3NUaW1lcikKICAgICBSdW5KYXZhU2NyaXB0QWxlcnQodWludDY0X3QgZnJhbWVJ
RCwgV1RGOjpTdHJpbmcgbWVzc2FnZSkgLT4gKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJVSUNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlVJQ2xpZW50LmNwcAkocmV2aXNpb24gOTM4MzgpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw5ICs0MywxMiBA
QCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVBhc3NS
ZWZQdHI8V2ViUGFnZVByb3h5PiBXZWJVSUNsaWVudDo6Y3JlYXRlTmV3UGFnZShXZWJQYWdlUHJv
eHkqIHBhZ2UsIGNvbnN0IFdpbmRvd0ZlYXR1cmVzJiB3aW5kb3dGZWF0dXJlcywgV2ViRXZlbnQ6
Ok1vZGlmaWVycyBtb2RpZmllcnMsIFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbiBidXR0b24pCitQYXNz
UmVmUHRyPFdlYlBhZ2VQcm94eT4gV2ViVUlDbGllbnQ6OmNyZWF0ZU5ld1BhZ2UoV2ViUGFnZVBy
b3h5KiBwYWdlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCwgY29uc3Qg
V2luZG93RmVhdHVyZXMmIHdpbmRvd0ZlYXR1cmVzLCBXZWJFdmVudDo6TW9kaWZpZXJzIG1vZGlm
aWVycywgV2ViTW91c2VFdmVudDo6QnV0dG9uIGJ1dHRvbikKIHsKLSAgICBpZiAoIW1fY2xpZW50
LmNyZWF0ZU5ld1BhZ2UpCisgICAgaWYgKCFtX2NsaWVudC52ZXJzaW9uICYmICFtX2NsaWVudC5j
cmVhdGVOZXdQYWdlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjApCisgICAgICAgIHJldHVybiAwOwor
ICAgIAorICAgIGlmIChtX2NsaWVudC52ZXJzaW9uID09IGtXS1BhZ2VVSUNsaWVudEN1cnJlbnRW
ZXJzaW9uICYmICFtX2NsaWVudC5jcmVhdGVOZXdQYWdlKQogICAgICAgICByZXR1cm4gMDsKIAog
ICAgIEltbXV0YWJsZURpY3Rpb25hcnk6Ok1hcFR5cGUgbWFwOwpAQCAtNjYsNyArNjksMTEgQEAg
UGFzc1JlZlB0cjxXZWJQYWdlUHJveHk+IFdlYlVJQ2xpZW50OjpjcgogICAgIG1hcC5zZXQoImRp
YWxvZyIsIFdlYkJvb2xlYW46OmNyZWF0ZSh3aW5kb3dGZWF0dXJlcy5kaWFsb2cpKTsKICAgICBS
ZWZQdHI8SW1tdXRhYmxlRGljdGlvbmFyeT4gZmVhdHVyZXNNYXAgPSBJbW11dGFibGVEaWN0aW9u
YXJ5OjphZG9wdChtYXApOwogCi0gICAgcmV0dXJuIGFkb3B0UmVmKHRvSW1wbChtX2NsaWVudC5j
cmVhdGVOZXdQYWdlKHRvQVBJKHBhZ2UpLCB0b0FQSShmZWF0dXJlc01hcC5nZXQoKSksIHRvQVBJ
KG1vZGlmaWVycyksIHRvQVBJKGJ1dHRvbiksIG1fY2xpZW50LmNsaWVudEluZm8pKSk7CisgICAg
aWYgKCFtX2NsaWVudC52ZXJzaW9uKQorICAgICAgICByZXR1cm4gYWRvcHRSZWYodG9JbXBsKG1f
Y2xpZW50LmNyZWF0ZU5ld1BhZ2VfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCh0b0FQSShwYWdlKSwg
dG9BUEkoZmVhdHVyZXNNYXAuZ2V0KCkpLCB0b0FQSShtb2RpZmllcnMpLCB0b0FQSShidXR0b24p
LCBtX2NsaWVudC5jbGllbnRJbmZvKSkpOworCisgICAgUmVmUHRyPFdlYlVSTFJlcXVlc3Q+IHJl
cXVlc3QgPSBXZWJVUkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsgICAgCisgICAg
cmV0dXJuIGFkb3B0UmVmKHRvSW1wbChtX2NsaWVudC5jcmVhdGVOZXdQYWdlKHRvQVBJKHBhZ2Up
LCB0b0FQSShyZXF1ZXN0LmdldCgpKSwgdG9BUEkoZmVhdHVyZXNNYXAuZ2V0KCkpLCB0b0FQSSht
b2RpZmllcnMpLCB0b0FQSShidXR0b24pLCBtX2NsaWVudC5jbGllbnRJbmZvKSkpOwogfSAKIAog
dm9pZCBXZWJVSUNsaWVudDo6c2hvd1BhZ2UoV2ViUGFnZVByb3h5KiBwYWdlKQpJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmgJKHJldmlzaW9uIDkzODM4KQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM2
LDYgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBGbG9hdFJlY3Q7CiAg
ICAgY2xhc3MgSW50U2l6ZTsKKyAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAgICAgc3RydWN0
IFdpbmRvd0ZlYXR1cmVzOwogfQogCkBAIC01Myw3ICs1NCw3IEBAIGNsYXNzIFdlYk9wZW5QYW5l
bFJlc3VsdExpc3RlbmVyUHJveHk7CiAKIGNsYXNzIFdlYlVJQ2xpZW50IDogcHVibGljIEFQSUNs
aWVudDxXS1BhZ2VVSUNsaWVudCwga1dLUGFnZVVJQ2xpZW50Q3VycmVudFZlcnNpb24+IHsKIHB1
YmxpYzoKLSAgICBQYXNzUmVmUHRyPFdlYlBhZ2VQcm94eT4gY3JlYXRlTmV3UGFnZShXZWJQYWdl
UHJveHkqLCBjb25zdCBXZWJDb3JlOjpXaW5kb3dGZWF0dXJlcyYsIFdlYkV2ZW50OjpNb2RpZmll
cnMsIFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbik7CisgICAgUGFzc1JlZlB0cjxXZWJQYWdlUHJveHk+
IGNyZWF0ZU5ld1BhZ2UoV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiwgY29uc3QgV2ViQ29yZTo6V2luZG93RmVhdHVyZXMmLCBXZWJFdmVudDo6TW9kaWZpZXJz
LCBXZWJNb3VzZUV2ZW50OjpCdXR0b24pOwogICAgIHZvaWQgc2hvd1BhZ2UoV2ViUGFnZVByb3h5
Kik7CiAgICAgdm9pZCBjbG9zZShXZWJQYWdlUHJveHkqKTsKIApJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaAkocmV2aXNpb24gOTM4MzgpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2MCw3ICsx
NjAsNyBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VSZXNvdXJjZUxvYWRDbGllbnQgCiBlbnVtIHsg
a1dLUGFnZVJlc291cmNlTG9hZENsaWVudEN1cnJlbnRWZXJzaW9uID0gMCB9OwogCiAvLyBVSSBD
bGllbnQKLXR5cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrKShX
S1BhZ2VSZWYgcGFnZSwgV0tEaWN0aW9uYXJ5UmVmIGZlYXR1cmVzLCBXS0V2ZW50TW9kaWZpZXJz
IG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBjb25zdCB2b2lkICpj
bGllbnRJbmZvKTsKK3R5cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxi
YWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tVUkxSZXF1ZXN0UmVmIHVybFJlcXVlc3QsIFdLRGljdGlv
bmFyeVJlZiBmZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3Vz
ZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZv
aWQgKCpXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdL
U3RyaW5nUmVmIGFsZXJ0VGV4dCwgV0tGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCAqY2xpZW50
SW5mbyk7CiB0eXBlZGVmIGJvb2wgKCpXS1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybUNhbGxiYWNr
KShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tGcmFtZVJlZiBmcmFtZSwg
Y29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIFdLU3RyaW5nUmVmICgqV0tQYWdlUnVu
SmF2YVNjcmlwdFByb21wdENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVz
c2FnZSwgV0tTdHJpbmdSZWYgZGVmYXVsdFZhbHVlLCBXS0ZyYW1lUmVmIGZyYW1lLCBjb25zdCB2
b2lkICpjbGllbnRJbmZvKTsKQEAgLTE5NSwxMCArMTk1LDE1IEBAIHR5cGVkZWYgdm9pZCAoKldL
UGFnZURpZENvbXBsZXRlUnViYmVyQmEKIHR5cGVkZWYgdm9pZCAoKldLUGFnZVNhdmVEYXRhVG9G
aWxlSW5Eb3dubG9hZHNGb2xkZXJDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVm
IHN1Z2dlc3RlZEZpbGVuYW1lLCBXS1N0cmluZ1JlZiBtaW1lVHlwZSwgV0tVUkxSZWYgb3JpZ2lu
YXRpbmdVUkwsIFdLRGF0YVJlZiBkYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVk
ZWYgYm9vbCAoKldLUGFnZVNob3VsZEludGVycnVwdEphdmFTY3JpcHRDYWxsYmFjaykoV0tQYWdl
UmVmIHBhZ2UsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogCisvLyBEZXByZWNhdGVkICAgIAor
dHlwZWRlZiBXS1BhZ2VSZWYgKCpXS1BhZ2VDcmVhdGVOZXdQYWdlQ2FsbGJhY2tfZGVwcmVjYXRl
ZEZvclVzZVdpdGhWMCkoV0tQYWdlUmVmIHBhZ2UsIFdLRGljdGlvbmFyeVJlZiBmZWF0dXJlcywg
V0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRv
biwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CisgICAgCiBzdHJ1Y3QgV0tQYWdlVUlDbGllbnQg
ewogICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKICAgICBjb25zdCB2b2lkICogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87Ci0g
ICAgV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjcmVhdGVOZXdQYWdlOworCisgICAgLy8gVmVyc2lvbiAwCisgICAgV0tQ
YWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgICAg
ICAgICAgICBjcmVhdGVOZXdQYWdlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CiAgICAgV0tQYWdl
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzaG93UGFnZTsKICAgICBXS1BhZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlOwogICAgIFdLUGFnZVRha2VGb2N1
c0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFr
ZUZvY3VzOwpAQCAtMjM2LDExICsyNDEsMTQgQEAgc3RydWN0IFdLUGFnZVVJQ2xpZW50IHsKICAg
ICBXS1BhZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJ1bk1vZGFsOwogICAgIFdLUGFnZURpZENvbXBsZXRlUnViYmVyQmFuZEZv
ck1haW5GcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgZGlkQ29tcGxldGVSdWJiZXJC
YW5kRm9yTWFpbkZyYW1lOwogICAgIFdLUGFnZVNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xk
ZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgc2F2ZURhdGFUb0ZpbGVJbkRvd25sb2Fk
c0ZvbGRlcjsKLSAgICBXS1BhZ2VTaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0Q2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZEludGVycnVwdEphdmFTY3JpcHQ7CisgICAg
V0tQYWdlU2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdENhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0OyAgICAKKworICAgIC8vIFZlcnNp
b24gMQorICAgIFdLUGFnZUNyZWF0ZU5ld1BhZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY3JlYXRlTmV3UGFnZTsKIH07CiB0eXBlZGVmIHN0cnVjdCBX
S1BhZ2VVSUNsaWVudCBXS1BhZ2VVSUNsaWVudDsKIAotZW51bSB7IGtXS1BhZ2VVSUNsaWVudEN1
cnJlbnRWZXJzaW9uID0gMCB9OworZW51bSB7IGtXS1BhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9u
ID0gMSB9OwogCiAvLyBGaW5kIGNsaWVudC4KIHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZEZpbmRT
dHJpbmdDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHN0cmluZywgdW5zaWdu
ZWQgbWF0Y2hDb3VudCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuY3BwCShyZXZpc2lvbiA5MzgzOCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDksNiArNDksNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRmlsZUNob29zZXIuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0ZpbGVJY29uTG9hZGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZS5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVMb2FkUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
RnJhbWVMb2FkZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lVmlldy5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvSFRNTE5hbWVzLmg+CkBAIC0xNTYsMTQgKzE1NywxNCBAQCB2b2lkIFdlYkNocm9t
ZUNsaWVudDo6Zm9jdXNlZEZyYW1lQ2hhbmdlCiAgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29u
bmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkZvY3VzZWRGcmFtZUNoYW5n
ZWQod2ViRnJhbWUgPyB3ZWJGcmFtZS0+ZnJhbWVJRCgpIDogMCksIG1fcGFnZS0+cGFnZUlEKCkp
OwogfQogCi1QYWdlKiBXZWJDaHJvbWVDbGllbnQ6OmNyZWF0ZVdpbmRvdyhGcmFtZSosIGNvbnN0
IEZyYW1lTG9hZFJlcXVlc3QmLCBjb25zdCBXaW5kb3dGZWF0dXJlcyYgd2luZG93RmVhdHVyZXMs
IGNvbnN0IE5hdmlnYXRpb25BY3Rpb24mIG5hdmlnYXRpb25BY3Rpb24pCitQYWdlKiBXZWJDaHJv
bWVDbGllbnQ6OmNyZWF0ZVdpbmRvdyhGcmFtZSosIGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIHJl
cXVlc3QsIGNvbnN0IFdpbmRvd0ZlYXR1cmVzJiB3aW5kb3dGZWF0dXJlcywgY29uc3QgTmF2aWdh
dGlvbkFjdGlvbiYgbmF2aWdhdGlvbkFjdGlvbikKIHsKICAgICB1aW50MzJfdCBtb2RpZmllcnMg
PSBzdGF0aWNfY2FzdDx1aW50MzJfdD4oSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uOjpt
b2RpZmllcnNGb3JOYXZpZ2F0aW9uQWN0aW9uKG5hdmlnYXRpb25BY3Rpb24pKTsKICAgICBpbnQz
Ml90IG1vdXNlQnV0dG9uID0gc3RhdGljX2Nhc3Q8aW50MzJfdD4oSW5qZWN0ZWRCdW5kbGVOYXZp
Z2F0aW9uQWN0aW9uOjptb3VzZUJ1dHRvbkZvck5hdmlnYXRpb25BY3Rpb24obmF2aWdhdGlvbkFj
dGlvbikpOwogCiAgICAgdWludDY0X3QgbmV3UGFnZUlEID0gMDsKICAgICBXZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzIHBhcmFtZXRlcnM7Ci0gICAgaWYgKCFXZWJQcm9jZXNzOjpzaGFyZWQoKS5j
b25uZWN0aW9uKCktPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkNyZWF0ZU5ld1Bh
Z2Uod2luZG93RmVhdHVyZXMsIG1vZGlmaWVycywgbW91c2VCdXR0b24pLCBNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpDcmVhdGVOZXdQYWdlOjpSZXBseShuZXdQYWdlSUQsIHBhcmFtZXRlcnMpLCBt
X3BhZ2UtPnBhZ2VJRCgpKSkKKyAgICBpZiAoIVdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rp
b24oKS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6Q3JlYXRlTmV3UGFnZShyZXF1
ZXN0LnJlc291cmNlUmVxdWVzdCgpLCB3aW5kb3dGZWF0dXJlcywgbW9kaWZpZXJzLCBtb3VzZUJ1
dHRvbiksIE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkNyZWF0ZU5ld1BhZ2U6OlJlcGx5KG5ld1Bh
Z2VJRCwgcGFyYW1ldGVycyksIG1fcGFnZS0+cGFnZUlEKCkpKQogICAgICAgICByZXR1cm4gMDsK
IAogICAgIGlmICghbmV3UGFnZUlEKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gOTM4MzgpCisrKyBUb29scy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0wOC0yNSAgQWxpY2UgTGl1ICA8
YWxpY2UubGl1QGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjY4MjMKKyAgICAgICAgQWRkIHRoZSByZXF1ZXN0IGluZm8gdG8gdGhl
IFdlYlBhZ2VQcm94eTo6Q3JlYXRlTmV3UGFnZSBtZXNzYWdlCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9u
cyB3aXRoIGFkZGl0aW9uYWwgcGFyYW1ldGVyOgorICAgICAgICAqIE1pbmlCcm93c2VyL2d0ay9C
cm93c2VyV2luZG93LmM6CisgICAgICAgIChjcmVhdGVOZXdQYWdlKToKKyAgICAgICAgKiBNaW5p
QnJvd3Nlci9tYWMvQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubToKKyAgICAgICAgKGNyZWF0ZU5l
d1BhZ2UpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmlldy5jcHA6CisgICAg
ICAgIChjcmVhdGVOZXdQYWdlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmNyZWF0ZU90aGVyUGFn
ZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oOgorCiAyMDEx
LTA4LTI1ICBWaWF0Y2hlc2xhdiBPc3RhcGVua28gIDxvc3RhcGVua28udmlhdGNoZXNsYXZAbm9r
aWEuY29tPgogCiAgICAgICAgIFtRdF0gW1dLMl0gQXNzZXJ0IGluIGNvbXB1dGVWaWV3cG9ydEF0
dHJpYnV0ZXMgd2hlbiBNaW5pQnJvd3NlciBzdGFydGVkIHdpdGggLXRvdWNoCkluZGV4OiBUb29s
cy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlcldpbmRvdy5jCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01p
bmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmMJKHJldmlzaW9uIDkzODM4KQorKysgVG9vbHMv
TWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5kb3cuYwkod29ya2luZyBjb3B5KQpAQCAtNTIyLDcg
KzUyMiw3IEBAIHN0YXRpYyB2b2lkIGJyb3dzZXJXaW5kb3dMb2FkZXJDbGllbnRJbmkKIH0KIAog
Ly8gVUkgQ2xpZW50Lgotc3RhdGljIFdLUGFnZVJlZiBjcmVhdGVOZXdQYWdlKFdLUGFnZVJlZiBw
YWdlLCBXS0RpY3Rpb25hcnlSZWYgZmVhdHVyZXMsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJz
LCBXS0V2ZW50TW91c2VCdXR0b24gYnV0dG9uLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQorc3Rh
dGljIFdLUGFnZVJlZiBjcmVhdGVOZXdQYWdlKFdLUGFnZVJlZiBwYWdlLCBXS1VSTFJlcXVlc3RS
ZWYgcmVxdWVzdCwgV0tEaWN0aW9uYXJ5UmVmIGZlYXR1cmVzLCBXS0V2ZW50TW9kaWZpZXJzIG1v
ZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uIGJ1dHRvbiwgY29uc3Qgdm9pZCAqY2xpZW50SW5m
bykKIHsKICAgICBXS1ZpZXdSZWYgd2ViVmlldyA9IFdLVmlld0NyZWF0ZShXS1BhZ2VHZXRDb250
ZXh0KHBhZ2UpLCAwKTsKICAgICBCcm93c2VyV2luZG93KiB3aW5kb3cgPSBCUk9XU0VSX1dJTkRP
Vyhicm93c2VyX3dpbmRvd19uZXcod2ViVmlldykpOwpAQCAtNjEzLDcgKzYxMyw3IEBAIHN0YXRp
YyB2b2lkIGJyb3dzZXJXaW5kb3dVSUNsaWVudEluaXQoQnIKICAgICBXS1BhZ2VVSUNsaWVudCB1
aUNsaWVudCA9IHsKICAgICAgICAga1dLUGFnZVVJQ2xpZW50Q3VycmVudFZlcnNpb24sCiAgICAg
ICAgIHdpbmRvdywgLyogY2xpZW50SW5mbyAqLwotICAgICAgICBjcmVhdGVOZXdQYWdlLAorICAg
ICAgICAwLCAgICAgIC8qIGNyZWF0ZU5ld1BhZ2VfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCAqLwog
ICAgICAgICBzaG93UGFnZSwKICAgICAgICAgY2xvc2VQYWdlLAogICAgICAgICAwLCAgICAgIC8q
IHRha2VGb2N1cyAqLwpAQCAtNjUxLDcgKzY1MSw4IEBAIHN0YXRpYyB2b2lkIGJyb3dzZXJXaW5k
b3dVSUNsaWVudEluaXQoQnIKICAgICAgICAgMCwgICAgICAvKiBydW5Nb2RhbCAqLwogICAgICAg
ICAwLCAgICAgIC8qIGRpZENvbXBsZXRlUnViYmVyQmFuZEZvck1haW5GcmFtZSAqLwogICAgICAg
ICAwLCAgICAgIC8qIHNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXIgKi8KLSAgICAgICAg
MCAgICAgICAvKiBzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0ICovCisgICAgICAgIDAsICAgICAg
Lyogc2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCAqLworICAgICAgICBjcmVhdGVOZXdQYWdlCiAg
ICAgfTsKICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoV0tWaWV3R2V0UGFnZSh3aW5kb3ctPndl
YlZpZXcpLCAmdWlDbGllbnQpOwogfQpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvbWFjL0Jyb3dz
ZXJXaW5kb3dDb250cm9sbGVyLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvbWFj
L0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0JKHJldmlzaW9uIDkzODM4KQorKysgVG9vbHMvTWlu
aUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0JKHdvcmtpbmcgY29weSkKQEAg
LTM3Nyw3ICszNzcsNyBAQCBzdGF0aWMgdm9pZCBkZWNpZGVQb2xpY3lGb3JSZXNwb25zZShXS1Bh
CiAKIC8vIE1BUks6IFVJIENsaWVudCBDYWxsYmFja3MKIAotc3RhdGljIFdLUGFnZVJlZiBjcmVh
dGVOZXdQYWdlKFdLUGFnZVJlZiBwYWdlLCBXS0RpY3Rpb25hcnlSZWYgZmVhdHVyZXMsIFdLRXZl
bnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24gYnV0dG9uLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKQorc3RhdGljIFdLUGFnZVJlZiBjcmVhdGVOZXdQYWdlKFdLUGFnZVJl
ZiBwYWdlLCBXS1VSTFJlcXVlc3RSZWYgcmVxdWVzdCwgV0tEaWN0aW9uYXJ5UmVmIGZlYXR1cmVz
LCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uIGJ1dHRvbiwg
Y29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKICAgICBMT0coQCJjcmVhdGVOZXdQYWdlIik7CiAg
ICAgQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIgKmNvbnRyb2xsZXIgPSBbW0Jyb3dzZXJXaW5kb3dD
b250cm9sbGVyIGFsbG9jXSBpbml0V2l0aENvbnRleHQ6V0tQYWdlR2V0Q29udGV4dChwYWdlKV07
CkBAIC02MTYsNyArNjE2LDcgQEAgLSAodm9pZClhd2FrZUZyb21OaWIKICAgICBXS1BhZ2VVSUNs
aWVudCB1aUNsaWVudCA9IHsKICAgICAgICAga1dLUGFnZVVJQ2xpZW50Q3VycmVudFZlcnNpb24s
CiAgICAgICAgIHNlbGYsICAgICAgIC8qIGNsaWVudEluZm8gKi8KLSAgICAgICAgY3JlYXRlTmV3
UGFnZSwKKyAgICAgICAgMCwgICAgICAgICAgLyogY3JlYXRlTmV3UGFnZV9kZXByZWNhdGVkRm9y
VXNlV2l0aFYwICovCiAgICAgICAgIHNob3dQYWdlLAogICAgICAgICBjbG9zZVBhZ2UsCiAgICAg
ICAgIDAsICAgICAgICAgIC8qIHRha2VGb2N1cyAqLwpAQCAtNjU1LDYgKzY1NSw3IEBAIC0gKHZv
aWQpYXdha2VGcm9tTmliCiAgICAgICAgIDAsIC8vIGRpZENvbXBsZXRlUnViYmVyQmFuZEZvck1h
aW5GcmFtZQogICAgICAgICAwLCAvLyBzYXZlRGF0YVRvRmlsZUluRG93bmxvYWRzRm9sZGVyCiAg
ICAgICAgIDAsIC8vIHNob3VsZEludGVycnVwdEphdmFTY3JpcHQKKyAgICAgICAgY3JlYXRlTmV3
UGFnZSwKICAgICB9OwogICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChfd2ViVmlldy5wYWdlUmVm
LCAmdWlDbGllbnQpOwogfQpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvd2luL0Jyb3dzZXJWaWV3
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci93aW4vQnJvd3NlclZpZXcuY3Bw
CShyZXZpc2lvbiA5MzgzOCkKKysrIFRvb2xzL01pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmlldy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgQnJvd3NlclZpZXc6OkJyb3dzZXJW
aWV3KCkKIAogLy8gVUkgQ2xpZW50IENhbGxiYWNrcwogCi1zdGF0aWMgV0tQYWdlUmVmIGNyZWF0
ZU5ld1BhZ2UoV0tQYWdlUmVmIHBhZ2UsIFdLRGljdGlvbmFyeVJlZiBmZWF0dXJlcywgV0tFdmVu
dE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgY29u
c3Qgdm9pZCogY2xpZW50SW5mbykKK3N0YXRpYyBXS1BhZ2VSZWYgY3JlYXRlTmV3UGFnZShXS1Bh
Z2VSZWYgcGFnZSwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdLRGljdGlvbmFyeVJlZiBmZWF0
dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3Vz
ZUJ1dHRvbiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKICAgICBCcm93c2VyV2luZG93KiBi
cm93c2VyV2luZG93ID0gQnJvd3NlcldpbmRvdzo6Y3JlYXRlKCk7CiAgICAgYnJvd3NlcldpbmRv
dy0+Y3JlYXRlV2luZG93KDAsIDAsIDgwMCwgNjAwKTsKQEAgLTk1LDcgKzk1LDcgQEAgdm9pZCBC
cm93c2VyVmlldzo6Y3JlYXRlKFJFQ1Qgd2ViVmlld1JlYwogICAgIFdLUGFnZVVJQ2xpZW50IHVp
Q2xpZW50ID0gewogICAgICAgICBrV0tQYWdlVUlDbGllbnRDdXJyZW50VmVyc2lvbiwKICAgICAg
ICAgcGFyZW50V2luZG93LCAgIC8qIGNsaWVudEluZm8gKi8KLSAgICAgICAgY3JlYXRlTmV3UGFn
ZSwKKyAgICAgICAgMCwgICAgICAgICAgLyogY3JlYXRlTmV3UGFnZV9kZXByZWNhdGVkRm9yVXNl
V2l0aFYwICovCiAgICAgICAgIHNob3dQYWdlLAogICAgICAgICBjbG9zZVBhZ2UsCiAgICAgICAg
IDAsICAgICAgICAgIC8qIHRha2VGb2N1cyAqLwpAQCAtMTA2LDYgKzEwNiw3IEBAIHZvaWQgQnJv
d3NlclZpZXc6OmNyZWF0ZShSRUNUIHdlYlZpZXdSZWMKICAgICAgICAgcnVuSmF2YVNjcmlwdFBy
b21wdCwKICAgICAgICAgc2V0U3RhdHVzVGV4dCwKICAgICAgICAgbW91c2VEaWRNb3ZlT3ZlckVs
ZW1lbnQsCisgICAgICAgIDAsICAgICAgICAgIC8qIG1pc3NpbmdQbHVnaW5CdXR0b25DbGlja2Vk
ICovCiAgICAgICAgIDAsICAgICAgICAgIC8qIGRpZE5vdEhhbmRsZUtleUV2ZW50ICovCiAgICAg
ICAgIDAsICAgICAgICAgIC8qIGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQgKi8KICAgICAgICAgMCwg
ICAgICAgICAgLyogdG9vbGJhcnNBcmVWaXNpYmxlICovCkBAIC0xMjQsNyArMTI1LDE2IEBAIHZv
aWQgQnJvd3NlclZpZXc6OmNyZWF0ZShSRUNUIHdlYlZpZXdSZWMKICAgICAgICAgMCwgICAgICAg
ICAgLyogZXhjZWVkZWREYXRhYmFzZVF1b3RhICovCiAgICAgICAgIDAsICAgICAgICAgIC8qIHJ1
bk9wZW5QYW5lbCAqLwogICAgICAgICAwLCAgICAgICAgICAvKiBkZWNpZGVQb2xpY3lGb3JHZW9s
b2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0ICovCisgICAgICAgIDAsICAgICAgICAgIC8qIGhlYWRl
ckhlaWdodCAqLworICAgICAgICAwLCAgICAgICAgICAvKiBmb290ZXJIZWlnaHQgKi8KKyAgICAg
ICAgMCwgICAgICAgICAgLyogZHJhd0hlYWRlciAqLworICAgICAgICAwLCAgICAgICAgICAvKiBk
cmF3Rm9vdGVyICovCisgICAgICAgIDAsICAgICAgICAgIC8qIHByaW50RnJhbWUgKi8KKyAgICAg
ICAgMCwgICAgICAgICAgLyogcnVuTW9kYWwgKi8KKyAgICAgICAgMCwgICAgICAgICAgLyogZGlk
Q29tcGxldGVSdWJiZXJCYW5kRm9yTWFpbkZyYW1lICovCisgICAgICAgIDAsICAgICAgICAgIC8q
IHNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXIgKi8KICAgICAgICAgMCwgICAgICAgICAg
Lyogc2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCAqLworICAgICAgICBjcmVhdGVOZXdQYWdlLAog
ICAgIH07CiAKICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoV0tWaWV3R2V0UGFnZShtX3dlYlZp
ZXcpLCAmdWlDbGllbnQpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAJKHJldmlzaW9uIDkzODM4KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMCw3ICsxMzAsNyBAQCBzdGF0aWMg
dm9pZCBjbG9zZU90aGVyUGFnZShXS1BhZ2VSZWYgcGFnCiAgICAgZGVsZXRlIHZpZXc7CiB9CiAK
LVdLUGFnZVJlZiBUZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQYWdlKFdLUGFnZVJlZiBvbGRQ
YWdlLCBXS0RpY3Rpb25hcnlSZWYsIFdLRXZlbnRNb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRv
biwgY29uc3Qgdm9pZCopCitXS1BhZ2VSZWYgVGVzdENvbnRyb2xsZXI6OmNyZWF0ZU90aGVyUGFn
ZShXS1BhZ2VSZWYgb2xkUGFnZSwgV0tVUkxSZXF1ZXN0UmVmLCBXS0RpY3Rpb25hcnlSZWYsIFdL
RXZlbnRNb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCopCiB7CiAgICAg
UGxhdGZvcm1XZWJWaWV3KiB2aWV3ID0gbmV3IFBsYXRmb3JtV2ViVmlldyhXS1BhZ2VHZXRDb250
ZXh0KG9sZFBhZ2UpLCBXS1BhZ2VHZXRQYWdlR3JvdXAob2xkUGFnZSkpOwogICAgIFdLUGFnZVJl
ZiBuZXdQYWdlID0gdmlldy0+cGFnZSgpOwpAQCAtMTQwLDcgKzE0MCw3IEBAIFdLUGFnZVJlZiBU
ZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQYWcKICAgICBXS1BhZ2VVSUNsaWVudCBvdGhlclBh
Z2VVSUNsaWVudCA9IHsKICAgICAgICAga1dLUGFnZVVJQ2xpZW50Q3VycmVudFZlcnNpb24sCiAg
ICAgICAgIHZpZXcsCi0gICAgICAgIGNyZWF0ZU90aGVyUGFnZSwKKyAgICAgICAgMCwgLy8gY3Jl
YXRlTmV3UGFnZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwCiAgICAgICAgIDAsIC8vIHNob3dQYWdl
CiAgICAgICAgIGNsb3NlT3RoZXJQYWdlLAogICAgICAgICAwLCAvLyB0YWtlRm9jdXMKQEAgLTE3
OSw2ICsxNzksNyBAQCBXS1BhZ2VSZWYgVGVzdENvbnRyb2xsZXI6OmNyZWF0ZU90aGVyUGFnCiAg
ICAgICAgIDAsIC8vIGRpZENvbXBsZXRlUnViYmVyQmFuZEZvck1haW5GcmFtZQogICAgICAgICAw
LCAvLyBzYXZlRGF0YVRvRmlsZUluRG93bmxvYWRzRm9sZGVyCiAgICAgICAgIDAsIC8vIHNob3Vs
ZEludGVycnVwdEphdmFTY3JpcHQKKyAgICAgICAgY3JlYXRlT3RoZXJQYWdlLAogICAgIH07CiAg
ICAgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KG5ld1BhZ2UsICZvdGhlclBhZ2VVSUNsaWVudCk7CiAK
QEAgLTI4Myw3ICsyODQsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjppbml0aWFsaXplKGludCBh
cmdjCiAgICAgV0tQYWdlVUlDbGllbnQgcGFnZVVJQ2xpZW50ID0gewogICAgICAgICBrV0tQYWdl
VUlDbGllbnRDdXJyZW50VmVyc2lvbiwKICAgICAgICAgdGhpcywKLSAgICAgICAgY3JlYXRlT3Ro
ZXJQYWdlLAorICAgICAgICAwLCAvLyBjcmVhdGVOZXdQYWdlX2RlcHJlY2F0ZWRGb3JVc2VXaXRo
VjAKICAgICAgICAgMCwgLy8gc2hvd1BhZ2UKICAgICAgICAgMCwgLy8gY2xvc2UKICAgICAgICAg
MCwgLy8gdGFrZUZvY3VzCkBAIC0zMjIsNiArMzIzLDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6
aW5pdGlhbGl6ZShpbnQgYXJnYwogICAgICAgICAwLCAvLyBkaWRDb21wbGV0ZVJ1YmJlckJhbmRG
b3JNYWluRnJhbWUKICAgICAgICAgMCwgLy8gc2F2ZURhdGFUb0ZpbGVJbkRvd25sb2Fkc0ZvbGRl
cgogICAgICAgICAwLCAvLyBzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0CisgICAgICAgIGNyZWF0
ZU90aGVyUGFnZSwKICAgICB9OwogICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChtX21haW5XZWJW
aWV3LT5wYWdlKCksICZwYWdlVUlDbGllbnQpOwogCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5oCShyZXZpc2lvbiA5MzgzOCkKKysrIFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdENvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtODgsNyArODgsNyBAQCBw
cml2YXRlOgogICAgIHN0YXRpYyB2b2lkIHByb2Nlc3NEaWRDcmFzaChXS1BhZ2VSZWYsIGNvbnN0
IHZvaWQqIGNsaWVudEluZm8pOwogICAgIHZvaWQgcHJvY2Vzc0RpZENyYXNoKCk7CiAKLSAgICBz
dGF0aWMgV0tQYWdlUmVmIGNyZWF0ZU90aGVyUGFnZShXS1BhZ2VSZWYgb2xkUGFnZSwgV0tEaWN0
aW9uYXJ5UmVmLCBXS0V2ZW50TW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24sIGNvbnN0IHZv
aWQqKTsKKyAgICBzdGF0aWMgV0tQYWdlUmVmIGNyZWF0ZU90aGVyUGFnZShXS1BhZ2VSZWYgb2xk
UGFnZSwgV0tVUkxSZXF1ZXN0UmVmLCBXS0RpY3Rpb25hcnlSZWYsIFdLRXZlbnRNb2RpZmllcnMs
IFdLRXZlbnRNb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCopOwogCiAgICAgc3RhdGljIHZvaWQgcnVu
TW9kYWwoV0tQYWdlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKICAgICBzdGF0aWMgdm9p
ZCBydW5Nb2RhbChQbGF0Zm9ybVdlYlZpZXcqKTsK
</data>
<flag name="review"
          id="101414"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>