<?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>45479</bug_id>
          
          <creation_ts>2010-09-09 11:09:45 -0700</creation_ts>
          <short_desc>Implement layoutTestController.dumpResourceResponseMIMETypes in Chromium DRT</short_desc>
          <delta_ts>2010-09-11 02:49:23 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</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>
          <dependson>45505</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mihai Parparita">mihaip</reporter>
          <assigned_to name="Mihai Parparita">mihaip</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dpranke</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>276598</commentid>
    <comment_count>0</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-09 11:09:45 -0700</bug_when>
    <thetext>Implement layoutTestController.dumpResourceResponseMIMETypes in Chromium DRT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276601</commentid>
    <comment_count>1</comment_count>
      <attachid>67065</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-09 11:13:12 -0700</bug_when>
    <thetext>Created attachment 67065
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276611</commentid>
    <comment_count>2</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-09 11:18:02 -0700</bug_when>
    <thetext>Tony, can you review this?

test_shell changes are in http://codereview.chromium.org/3317016. As long as those land before this, we should be OK (tests will pass unexpectedly till a WebKit roll picks this up).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276631</commentid>
    <comment_count>3</comment_count>
      <attachid>67065</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-09-09 11:40:30 -0700</bug_when>
    <thetext>Comment on attachment 67065
Patch

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

&gt; WebKitTools/DumpRenderTree/chromium/LayoutTestController.h:108
&gt; +    // This function sets a flag that tells the test_shell to dump the MIME type
&gt; +    // for each resource that was loaded. It takes no arguments, and ignores any
&gt; +    // that may be present.
&gt; +    void dumpResourceResponseMIMETypes(const CppArgumentList&amp;, CppVariant* result);
Nit: remove |result|

&gt; WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp:922
&gt; +        fputs(&quot; - didReceiveResponse &quot;, stdout);
&gt; +        printResponseDescription(response);
&gt; +        fputs(&quot;\n&quot;, stdout);
Nit: Can we use puts instead of fputs?

&gt; WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp:930
&gt; +            // Simulate NSURLResponse&apos;s mapping of empty/unknown MIME types to application/octet-stream
&gt; +            mimeType.isEmpty() ? &quot;application/octet-stream&quot; : mimeType.utf8().data());
Same question about mimeType.utf().data(), do we need to null terminate it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276672</commentid>
    <comment_count>4</comment_count>
      <attachid>67081</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-09 12:35:01 -0700</bug_when>
    <thetext>Created attachment 67081
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276675</commentid>
    <comment_count>5</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-09 12:36:16 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Nit: remove |result|

Done.

&gt; Nit: Can we use puts instead of fputs?

Sure, switched the whole file over.
 
&gt; Same question about mimeType.utf().data(), do we need to null terminate it?

CString::init null-terminates, so it should be OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276777</commentid>
    <comment_count>6</comment_count>
      <attachid>67081</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-09-09 14:48:23 -0700</bug_when>
    <thetext>Comment on attachment 67081
Patch

Clearing flags on attachment: 67081

Committed r67119: &lt;http://trac.webkit.org/changeset/67119&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276778</commentid>
    <comment_count>7</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-09-09 14:48:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276885</commentid>
    <comment_count>8</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-09-09 17:47:32 -0700</bug_when>
    <thetext>Rolled out.  I&apos;m dumb.  puts adds a newline and fputs doesn&apos;t, so we can&apos;t just replace them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276920</commentid>
    <comment_count>9</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-09 18:30:42 -0700</bug_when>
    <thetext>*** Bug 45506 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276922</commentid>
    <comment_count>10</comment_count>
      <attachid>67132</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-09 18:33:40 -0700</bug_when>
    <thetext>Created attachment 67132
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276923</commentid>
    <comment_count>11</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-09 18:34:50 -0700</bug_when>
    <thetext>New version of the patch leaves the fputs calls alone and adds a Linux expectation for fast/preloader/script.html, since we get a different MIME type for script files in file:/// URLs there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276926</commentid>
    <comment_count>12</comment_count>
      <attachid>67132</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-09 18:40:34 -0700</bug_when>
    <thetext>Comment on attachment 67132
Patch

Looks ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277505</commentid>
    <comment_count>13</comment_count>
      <attachid>67132</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-10 16:09:23 -0700</bug_when>
    <thetext>Comment on attachment 67132
Patch

Rejecting patch 67132 from commit-queue.

Failed to run &quot;[u&apos;/Users/eseidel/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Kent Tamura&apos;, u&apos;--force&apos;]&quot; exit_code: 1
Last 500 characters of output:
nk #2 succeeded at 292 (offset 6 lines).
Hunk #3 succeeded at 493 (offset 6 lines).
patching file WebKitTools/DumpRenderTree/chromium/LayoutTestController.h
Hunk #1 succeeded at 100 (offset 4 lines).
Hunk #2 succeeded at 240 (offset 4 lines).
Hunk #3 succeeded at 337 (offset 5 lines).
Hunk #4 succeeded at 458 (offset 5 lines).
patching file WebKitTools/DumpRenderTree/chromium/TestShell.h
patching file WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp
Hunk #1 succeeded at 920 (offset 5 lines).

Full output: http://queues.webkit.org/results/3941446</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277562</commentid>
    <comment_count>14</comment_count>
      <attachid>67272</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-10 17:33:30 -0700</bug_when>
    <thetext>Created attachment 67272
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277563</commentid>
    <comment_count>15</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-10 17:34:55 -0700</bug_when>
    <thetext>Hopefully the latest version of the patch will merge cleanly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277696</commentid>
    <comment_count>16</comment_count>
      <attachid>67272</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-11 02:49:17 -0700</bug_when>
    <thetext>Comment on attachment 67272
Patch

Clearing flags on attachment: 67272

Committed r67294: &lt;http://trac.webkit.org/changeset/67294&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277697</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-11 02:49:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67065</attachid>
            <date>2010-09-09 11:13:12 -0700</date>
            <delta_ts>2010-09-09 12:34:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45479-20100909111310.patch</filename>
            <type>text/plain</type>
            <size>12049</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3YTU0NTkzMjY2ZjUyOTdlZDZkNGQxY2ZkMmE3ZWJjZjY3YmU3ZTI2Li4zMDU4OTY1
NjcwYTE3YmY5Zjk3OGRmMmM5ZGZiM2U4MjI4ZjAzZGY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTAtMDktMDkgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzIGluIENocm9t
aXVtIERSVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDU0NzkKKworICAgICAgICBSZW1vdmUgdGVzdHMgZnJvbSBDaHJvbWl1bSBleHBlY3RhdGlvbnMg
dGhhdCBub3cgcGFzcy4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3Qv
ZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVm
ZXRjaC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0OgorCiAyMDEwLTA5LTA5ICBBbmRyZXkgS29zeWFrb3YgIDxj
YXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCB0ZXN0IGZpeC4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL0hUTUxM
aW5rRWxlbWVudC9wcmVmZXRjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS1saW51eC9mYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0Y2gtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMzQ2OGYxODIxMDk3YTI2ZDcxNGIy
MTI4ODFhM2Y2ZWMxY2YwM2QzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL0hU
TUxMaW5rRWxlbWVudC9wcmVmZXRjaC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwz
ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBVbmNhdWdodCBUeXBlRXJyb3I6IE9i
amVjdCBbb2JqZWN0IE9iamVjdF0gaGFzIG5vIG1ldGhvZCAnZHVtcFJlc291cmNlUmVzcG9uc2VN
SU1FVHlwZXMnCi0KLVRoaXMgdGVzdCByZXF1aXJlcyBEdW1wUmVuZGVyVHJlZSB0byBzZWUgdGhl
IGxvZyBvZiB3aGF0IHJlc291cmNlcyBhcmUgbG9hZGVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRj
aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvZmFzdC9k
b20vSFRNTExpbmtFbGVtZW50L3ByZWZldGNoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYTM0NjhmMTgyMTA5N2EyNmQ3MTRiMjEyODgxYTNmNmVjMWNmMDNkMy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3ByZWZldGNo
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDY6IFVuY2F1Z2h0IFR5cGVFcnJvcjogT2JqZWN0IFtvYmplY3QgT2JqZWN0XSBo
YXMgbm8gbWV0aG9kICdkdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcycKLQotVGhpcyB0ZXN0
IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlIHRvIHNlZSB0aGUgbG9nIG9mIHdoYXQgcmVzb3VyY2Vz
IGFyZSBsb2FkZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90
ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0
X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggNmUxMTg3ZmUzYTBmMTNmNTVjY2E0NTA5OTAzMzhhMjJh
Y2M5ZjI3ZC4uZmVkYTc3MzI5ZWI2ZDU2OWNjZmQ3MTBhODA1M2UxMjQxNmM4YmM3ZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4
dApAQCAtMjY5MiwxMSArMjY5Miw2IEBAIEJVRzQ2NjAzIDogZmFzdC9mcmFtZXMvbG90cy1vZi1v
YmplY3RzLmh0bWwgPSBQQVNTIFRJTUVPVVQKIC8vIExheW91dFRlc3RDb250cm9sbGVyOjpwYWdl
UHJvcGVydHkgaXMgbm90IGltcGxlbWVudGVkIGZvciBDaHJvbWl1bSB5ZXQuCiBCVUdXSzM1OTYx
IDogcHJpbnRpbmcvcGFnZS1ydWxlLXNlbGVjdGlvbi5odG1sID0gVEVYVAogCi0vLyBOZWVkcyB0
byBpbXBsZW1lbnQgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcFJlc291cmNlUmVzcG9uc2VNSU1F
VHlwZXMoKQotQlVHNDY4NzIgOiBmYXN0L3ByZWxvYWRlciA9IFRFWFQKLUJVRzQ2ODcyIDogZmFz
dC9kb20vSFRNTExpbmtFbGVtZW50L3ByZWZldGNoLmh0bWwgPSBUSU1FT1VUCi1CVUc0Njg3MiA6
IGh0dHAvdGVzdHMvbG9hZGluZy9wcmVsb2FkLXNsb3ctbG9hZGluZy5waHAgPSBURVhUCi0KIEJV
RzQ3MDM1IFdJTiBERUJVRyA6IGZhc3QvbG9hZGVyL3N0YXRlb2JqZWN0cy9kb2N1bWVudC1kZXN0
cm95ZWQtbmF2aWdhdGUtYmFjay13aXRoLWZyYWdtZW50LXNjcm9sbC5odG1sID0gUEFTUyBURVhU
CiAKIC8vIENTUzMgSHlwaGVuYXRpb24gbGFuZGVkIGluIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcv
Y2hhbmdlc2V0LzYxNTQ4CkBAIC0yODE4LDggKzI4MTMsNiBAQCBCVUc0ODg1OSBXSU4gOiBmYXN0
L2lubGluZS9jb250aW51YXRpb24tb3V0bGluZXMtd2l0aC1sYXllcnMtMi5odG1sID0gSU1BR0Ur
VEVYVAogLy8gTmVlZCBpbnZlc3RpZ2F0aW9uLgogQlVHV0szODAxNiBXSU4gOiBzdmcvY3VzdG9t
L2ZvcmVpZ24tb2JqZWN0LXNrZXcuc3ZnID0gRkFJTAogCi1CVUc0OTAzMSBXSU4gTElOVVggTUFD
IDogaHR0cC90ZXN0cy9taW1lL3VwcGVyY2FzZS1taW1lLXR5cGUuaHRtbCA9IE1JU1NJTkcKLQog
QlVHNDkwMjEgOiB1c2Vyc2NyaXB0cy9taXhlZC1jYXNlLXN0eWxlc2hlZXQuaHRtbCA9IFRFWFQK
IEJVRzQ5MDIxIDogdXNlcnNjcmlwdHMvc2ltcGxlLXN0eWxlc2hlZXQuaHRtbCA9IFRFWFQKIEJV
RzQ5MDIxIDogdXNlcnNjcmlwdHMvdXNlci1zdHlsZS1hbGwtZnJhbWVzLmh0bWwgPSBURVhUCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cK
aW5kZXggYTQ2YjcyMzc0YTFiMmFmY2EwNjI2ZTA2MjIyNWRhMDhlM2MzZDM4Ny4uNmFiMDQ3YzFl
YTVkYmFmZDY5MTc5MGRmNTI3NWFjMDNmMWVmNGY0YiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisy
MDEwLTA5LTA5ICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyBpbiBDaHJvbWl1
bSBEUlQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1
NDc5CisKKyAgICAgICAgSW1wbGVtZW50IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBSZXNvdXJj
ZVJlc3BvbnNlTUlNRVR5cGVzIChtb2RlbGxlZCBhZnRlcgorICAgICAgICBpbXBsZW1lbnRhdGlv
biBpbiBSZXNvdXJjZUxvYWREZWxlZ2F0ZSBpbiB0aGUgTWFjIHBvcnQpLgorCisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAg
KExheW91dFRlc3RDb250cm9sbGVyOjpkdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyk6Cisg
ICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6cmVzZXQpOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmg6CisgICAgICAgIChMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c2V0U2hvdWxkRHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMpOgor
ICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNl
TUlNRVR5cGVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwu
aDoKKyAgICAgICAgKFRlc3RTaGVsbDo6c2hvdWxkRHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlw
ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcDoK
KyAgICAgICAgKFdlYlZpZXdIb3N0OjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorCiAyMDEwLTA5LTA5
ICBCYWxhenMgS2VsZW1lbiAgPGtiQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBBbmRyZWFzIEtsaW5nLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDhlMDhjNGNm
OWU1NGNhNWRjMjgwNjIwOTk3NDQwY2I5Zjc2NzNlYmYuLmY4OTYyNDFmYjRmMjcyMDY0ZjBlNmI3
Zjc4N2Y5OTIyZGVkODU3ZWEgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKQEAgLTgzLDYgKzgz
LDcgQEAgTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKFRlc3RTaGVs
bCogc2hlbGwpCiAgICAgYmluZE1ldGhvZCgiZHVtcEJhY2tGb3J3YXJkTGlzdCIsICZMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6ZHVtcEJhY2tGb3J3YXJkTGlzdCk7CiAgICAgYmluZE1ldGhvZCgiZHVt
cEZyYW1lTG9hZENhbGxiYWNrcyIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcEZyYW1lTG9h
ZENhbGxiYWNrcyk7CiAgICAgYmluZE1ldGhvZCgiZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyIs
ICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyk7CisgICAg
YmluZE1ldGhvZCgiZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMiLCAmTGF5b3V0VGVzdENv
bnRyb2xsZXI6OmR1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKTsKICAgICBiaW5kTWV0aG9k
KCJkdW1wU3RhdHVzQ2FsbGJhY2tzIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpkdW1wV2luZG93
U3RhdHVzQ2hhbmdlcyk7CiAgICAgYmluZE1ldGhvZCgiZHVtcFRpdGxlQ2hhbmdlcyIsICZMYXlv
dXRUZXN0Q29udHJvbGxlcjo6ZHVtcFRpdGxlQ2hhbmdlcyk7CiAgICAgYmluZE1ldGhvZCgic2V0
QWNjZXB0c0VkaXRpbmciLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFjY2VwdHNFZGl0aW5n
KTsKQEAgLTI4NSw2ICsyODYsMTIgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcFJl
c291cmNlTG9hZENhbGxiYWNrcyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHAKICAgICByZXN1
bHQtPnNldE51bGwoKTsKIH0KIAordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcFJlc291
cmNlUmVzcG9uc2VNSU1FVHlwZXMoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCog
cmVzdWx0KQoreworICAgIG1fZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMgPSB0cnVlOwor
ICAgIHJlc3VsdC0+c2V0TnVsbCgpOworfQorCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpk
dW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9ucyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBW
YXJpYW50KiByZXN1bHQpCiB7CiAgICAgbV9kdW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9ucyA9
IHRydWU7CkBAIC00ODAsNiArNDg3LDcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6cmVz
ZXQoKQogICAgIG1fZHVtcEVkaXRpbmdDYWxsYmFja3MgPSBmYWxzZTsKICAgICBtX2R1bXBGcmFt
ZUxvYWRDYWxsYmFja3MgPSBmYWxzZTsKICAgICBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3Mg
PSBmYWxzZTsKKyAgICBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzID0gZmFsc2U7CiAg
ICAgbV9kdW1wQmFja0ZvcndhcmRMaXN0ID0gZmFsc2U7CiAgICAgbV9kdW1wQ2hpbGRGcmFtZVNj
cm9sbFBvc2l0aW9ucyA9IGZhbHNlOwogICAgIG1fZHVtcENoaWxkRnJhbWVzQXNUZXh0ID0gZmFs
c2U7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlv
dXRUZXN0Q29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
TGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRleCA1NWM4YzhiYjIzODI2NGMwMjNlZDY5MmI0NGQ0
YWI5OWU0ZjVjNjBlLi44NWJiOWQ4MjY4NmFhYTU2OGIxMjFkN2MxNDcyZGM2MmE4NmJmZDIyIDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0
Q29udHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xh
eW91dFRlc3RDb250cm9sbGVyLmgKQEAgLTk2LDYgKzk2LDE2IEBAIHB1YmxpYzoKICAgICAvLyBk
dW1wIGFsbCBmcmFtZXMgYXMgcGxhaW4gdGV4dCBpZiB0aGUgZHVtcEFzVGV4dCBmbGFnIGlzIHNl
dC4KICAgICAvLyBJdCB0YWtlcyBubyBhcmd1bWVudHMsIGFuZCBpZ25vcmVzIGFueSB0aGF0IG1h
eSBiZSBwcmVzZW50LgogICAgIHZvaWQgZHVtcENoaWxkRnJhbWVzQXNUZXh0KGNvbnN0IENwcEFy
Z3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKKyAgICAKKyAgICAvLyBUaGlzIGZ1bmN0aW9uIHNl
dHMgYSBmbGFnIHRoYXQgdGVsbHMgdGhlIHRlc3Rfc2hlbGwgdG8gZHVtcCBhIGRlc2NyaXB0aXZl
CisgICAgLy8gbGluZSBmb3IgZWFjaCByZXNvdXJjZSBsb2FkIGNhbGxiYWNrLiBJdCB0YWtlcyBu
byBhcmd1bWVudHMsIGFuZCBpZ25vcmVzCisgICAgLy8gYW55IHRoYXQgbWF5IGJlIHByZXNlbnQu
CisgICAgdm9pZCBkdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKGNvbnN0IENwcEFyZ3VtZW50TGlz
dCYsIENwcFZhcmlhbnQqKTsgICAgCisgICAgCisgICAgLy8gVGhpcyBmdW5jdGlvbiBzZXRzIGEg
ZmxhZyB0aGF0IHRlbGxzIHRoZSB0ZXN0X3NoZWxsIHRvIGR1bXAgdGhlIE1JTUUgdHlwZQorICAg
IC8vIGZvciBlYWNoIHJlc291cmNlIHRoYXQgd2FzIGxvYWRlZC4gSXQgdGFrZXMgbm8gYXJndW1l
bnRzLCBhbmQgaWdub3JlcyBhbnkKKyAgICAvLyB0aGF0IG1heSBiZSBwcmVzZW50LgorICAgIHZv
aWQgZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoY29uc3QgQ3BwQXJndW1lbnRMaXN0Jiwg
Q3BwVmFyaWFudCogcmVzdWx0KTsKIAogICAgIC8vIFRoaXMgZnVuY3Rpb24gc2V0cyBhIGZsYWcg
dGhhdCB0ZWxscyB0aGUgdGVzdF9zaGVsbCB0byBkdW1wIGFsbCBjYWxscwogICAgIC8vIHRvIHdp
bmRvdy5zdGF0dXMoKS4KQEAgLTIyNiw3ICsyMzYsNiBAQCBwdWJsaWM6CiAgICAgLy8gYXJlIG5l
ZWRlZCB0byBwYXNzIHRoZSBsYXlvdXQgdGVzdHMuCiAgICAgdm9pZCBkdW1wQXNXZWJBcmNoaXZl
KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKICAgICB2b2lkIGR1bXBUaXRs
ZUNoYW5nZXMoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwotICAgIHZvaWQg
ZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJp
YW50Kik7CiAgICAgdm9pZCBzZXRNYWluRnJhbWVJc0ZpcnN0UmVzcG9uZGVyKGNvbnN0IENwcEFy
Z3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKICAgICB2b2lkIGRpc3BsYXkoY29uc3QgQ3BwQXJn
dW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQgdGVzdFJlcGFpbnQoY29uc3QgQ3Bw
QXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwpAQCAtMzIzLDYgKzMzMiw4IEBAIHB1YmxpYzoK
ICAgICBib29sIHNob3VsZER1bXBGcmFtZUxvYWRDYWxsYmFja3MoKSB7IHJldHVybiBtX2R1bXBG
cmFtZUxvYWRDYWxsYmFja3M7IH0KICAgICB2b2lkIHNldFNob3VsZER1bXBGcmFtZUxvYWRDYWxs
YmFja3MoYm9vbCB2YWx1ZSkgeyBtX2R1bXBGcmFtZUxvYWRDYWxsYmFja3MgPSB2YWx1ZTsgfQog
ICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlTG9hZENhbGxiYWNrcygpIHtyZXR1cm4gbV9kdW1w
UmVzb3VyY2VMb2FkQ2FsbGJhY2tzOyB9CisgICAgdm9pZCBzZXRTaG91bGREdW1wUmVzb3VyY2VS
ZXNwb25zZU1JTUVUeXBlcyhib29sIHZhbHVlKSB7IG1fZHVtcFJlc291cmNlUmVzcG9uc2VNSU1F
VHlwZXMgPSB2YWx1ZTsgfQorICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlUmVzcG9uc2VNSU1F
VHlwZXMoKSB7cmV0dXJuIG1fZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXM7IH0KICAgICBi
b29sIHNob3VsZER1bXBTdGF0dXNDYWxsYmFja3MoKSB7IHJldHVybiBtX2R1bXBXaW5kb3dTdGF0
dXNDaGFuZ2VzOyB9CiAgICAgYm9vbCBzaG91bGREdW1wU2VsZWN0aW9uUmVjdCgpIHsgcmV0dXJu
IG1fZHVtcFNlbGVjdGlvblJlY3Q7IH0KICAgICBib29sIHNob3VsZER1bXBCYWNrRm9yd2FyZExp
c3QoKSB7IHJldHVybiBtX2R1bXBCYWNrRm9yd2FyZExpc3Q7IH0KQEAgLTQ0Miw2ICs0NTMsMTAg
QEAgcHJpdmF0ZToKICAgICAvLyBJZiB0cnVlLCB0aGUgdGVzdF9zaGVsbCB3aWxsIG91dHB1dCBh
IGRlc2NyaXB0aXZlIGxpbmUgZm9yIGVhY2ggcmVzb3VyY2UKICAgICAvLyBsb2FkIGNhbGxiYWNr
LgogICAgIGJvb2wgbV9kdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzOworICAgIAorICAgIC8vIElm
IHRydWUsIHRoZSB0ZXN0X3NoZWxsIHdpbGwgb3V0cHV0IHRoZSBNSU1FIHR5cGUgZm9yIGVhY2gg
cmVzb3VyY2UgdGhhdCAKKyAgICAvLyB3YXMgbG9hZGVkLgorICAgIGJvb2wgbV9kdW1wUmVzb3Vy
Y2VSZXNwb25zZU1JTUVUeXBlczsKIAogICAgIC8vIElmIHRydWUsIHRoZSB0ZXN0X3NoZWxsIHdp
bGwgcHJvZHVjZSBhIGR1bXAgb2YgdGhlIGJhY2sgZm9yd2FyZCBsaXN0IGFzCiAgICAgLy8gd2Vs
bC4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RT
aGVsbC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgK
aW5kZXggY2I1Zjg2MmY5MDZjODA0Zjc0NmI1YjRhYjA1MDRiMTRkYzhlNGFmMy4uZDNlZDVmYTZh
YWU1N2VhOTVmMDRiYzA5ZjA2M2NlYTA1NzJiNTU3MyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgKQEAgLTEwNyw2ICsxMDcsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRGb2N1cyhXZWJLaXQ6OldlYldpZGdldCosIGJvb2wgZW5hYmxlKTsK
ICAgICBib29sIHNob3VsZER1bXBGcmFtZUxvYWRDYWxsYmFja3MoKSBjb25zdCB7IHJldHVybiAo
bV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5nKSAmJiBsYXlvdXRUZXN0Q29udHJv
bGxlcigpLT5zaG91bGREdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCk7IH0KICAgICBib29sIHNob3Vs
ZER1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoKSBjb25zdCAgeyByZXR1cm4gKG1fdGVzdElzUHJl
cGFyaW5nIHx8IG1fdGVzdElzUGVuZGluZykgJiYgbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2hv
dWxkRHVtcFJlc291cmNlTG9hZENhbGxiYWNrcygpOyB9CisgICAgYm9vbCBzaG91bGREdW1wUmVz
b3VyY2VSZXNwb25zZU1JTUVUeXBlcygpIGNvbnN0ICB7IHJldHVybiAobV90ZXN0SXNQcmVwYXJp
bmcgfHwgbV90ZXN0SXNQZW5kaW5nKSAmJiBsYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zaG91bGRE
dW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcygpOyB9CiAgICAgdm9pZCBzZXRJc0xvYWRpbmco
Ym9vbCBmbGFnKSB7IG1faXNMb2FkaW5nID0gZmxhZzsgfQogCiAgICAgLy8gQ2FsbGVkIGJ5IHRo
ZSBMYXlvdXRUZXN0Q29udHJvbGxlciB0byBzaWduYWwgdGVzdCBjb21wbGV0aW9uLgpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3Bw
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCmlu
ZGV4IGZhZTNmNTYyMjAzNDIyNTI1MTdlNWZjZWZjNjVmOWExNzNjMjhmOWUuLjkyZGFhMjU3MDBi
ZDkwMmQzYmE2NjM2Nzc1MThhYjJiYjRhOWU4ZDQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAorKysgYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKQEAgLTkxNSwxMiArOTE1LDIw
IEBAIHZvaWQgV2ViVmlld0hvc3Q6OndpbGxTZW5kUmVxdWVzdChXZWJGcmFtZSosIHVuc2lnbmVk
IGlkZW50aWZpZXIsIFdlYlVSTFJlcXVlc3QmCiAKIHZvaWQgV2ViVmlld0hvc3Q6OmRpZFJlY2Vp
dmVSZXNwb25zZShXZWJGcmFtZSosIHVuc2lnbmVkIGlkZW50aWZpZXIsIGNvbnN0IFdlYlVSTFJl
c3BvbnNlJiByZXNwb25zZSkKIHsKLSAgICBpZiAoIW1fc2hlbGwtPnNob3VsZER1bXBSZXNvdXJj
ZUxvYWRDYWxsYmFja3MoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIHByaW50UmVzb3VyY2VEZXNj
cmlwdGlvbihpZGVudGlmaWVyKTsKLSAgICBmcHV0cygiIC0gZGlkUmVjZWl2ZVJlc3BvbnNlICIs
IHN0ZG91dCk7Ci0gICAgcHJpbnRSZXNwb25zZURlc2NyaXB0aW9uKHJlc3BvbnNlKTsKLSAgICBm
cHV0cygiXG4iLCBzdGRvdXQpOworICAgIGlmIChtX3NoZWxsLT5zaG91bGREdW1wUmVzb3VyY2VM
b2FkQ2FsbGJhY2tzKCkpIHsKKyAgICAgICAgcHJpbnRSZXNvdXJjZURlc2NyaXB0aW9uKGlkZW50
aWZpZXIpOworICAgICAgICBmcHV0cygiIC0gZGlkUmVjZWl2ZVJlc3BvbnNlICIsIHN0ZG91dCk7
CisgICAgICAgIHByaW50UmVzcG9uc2VEZXNjcmlwdGlvbihyZXNwb25zZSk7CisgICAgICAgIGZw
dXRzKCJcbiIsIHN0ZG91dCk7CisgICAgfQorICAgIGlmIChtX3NoZWxsLT5zaG91bGREdW1wUmVz
b3VyY2VSZXNwb25zZU1JTUVUeXBlcygpKSB7CisgICAgICAgIEdVUkwgdXJsID0gcmVzcG9uc2Uu
dXJsKCk7CisgICAgICAgIFdlYlN0cmluZyBtaW1lVHlwZSA9IHJlc3BvbnNlLm1pbWVUeXBlKCk7
CisgICAgICAgIHByaW50ZigiJXMgaGFzIE1JTUUgdHlwZSAlc1xuIiwKKyAgICAgICAgICAgIHVy
bC5FeHRyYWN0RmlsZU5hbWUoKS5jX3N0cigpLAorICAgICAgICAgICAgLy8gU2ltdWxhdGUgTlNV
UkxSZXNwb25zZSdzIG1hcHBpbmcgb2YgZW1wdHkvdW5rbm93biBNSU1FIHR5cGVzIHRvIGFwcGxp
Y2F0aW9uL29jdGV0LXN0cmVhbQorICAgICAgICAgICAgbWltZVR5cGUuaXNFbXB0eSgpID8gImFw
cGxpY2F0aW9uL29jdGV0LXN0cmVhbSIgOiBtaW1lVHlwZS51dGY4KCkuZGF0YSgpKTsKKyAgICB9
CiB9CiAKIHZvaWQgV2ViVmlld0hvc3Q6OmRpZEZpbmlzaFJlc291cmNlTG9hZChXZWJGcmFtZSos
IHVuc2lnbmVkIGlkZW50aWZpZXIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67081</attachid>
            <date>2010-09-09 12:35:01 -0700</date>
            <delta_ts>2010-09-09 18:33:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45479-20100909123459.patch</filename>
            <type>text/plain</type>
            <size>24965</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3YTU0NTkzMjY2ZjUyOTdlZDZkNGQxY2ZkMmE3ZWJjZjY3YmU3ZTI2Li4zMDU4OTY1
NjcwYTE3YmY5Zjk3OGRmMmM5ZGZiM2U4MjI4ZjAzZGY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTAtMDktMDkgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzIGluIENocm9t
aXVtIERSVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDU0NzkKKworICAgICAgICBSZW1vdmUgdGVzdHMgZnJvbSBDaHJvbWl1bSBleHBlY3RhdGlvbnMg
dGhhdCBub3cgcGFzcy4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3Qv
ZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVm
ZXRjaC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0OgorCiAyMDEwLTA5LTA5ICBBbmRyZXkgS29zeWFrb3YgIDxj
YXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCB0ZXN0IGZpeC4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL0hUTUxM
aW5rRWxlbWVudC9wcmVmZXRjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS1saW51eC9mYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0Y2gtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMzQ2OGYxODIxMDk3YTI2ZDcxNGIy
MTI4ODFhM2Y2ZWMxY2YwM2QzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL0hU
TUxMaW5rRWxlbWVudC9wcmVmZXRjaC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwz
ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBVbmNhdWdodCBUeXBlRXJyb3I6IE9i
amVjdCBbb2JqZWN0IE9iamVjdF0gaGFzIG5vIG1ldGhvZCAnZHVtcFJlc291cmNlUmVzcG9uc2VN
SU1FVHlwZXMnCi0KLVRoaXMgdGVzdCByZXF1aXJlcyBEdW1wUmVuZGVyVHJlZSB0byBzZWUgdGhl
IGxvZyBvZiB3aGF0IHJlc291cmNlcyBhcmUgbG9hZGVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRj
aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvZmFzdC9k
b20vSFRNTExpbmtFbGVtZW50L3ByZWZldGNoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYTM0NjhmMTgyMTA5N2EyNmQ3MTRiMjEyODgxYTNmNmVjMWNmMDNkMy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3ByZWZldGNo
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDY6IFVuY2F1Z2h0IFR5cGVFcnJvcjogT2JqZWN0IFtvYmplY3QgT2JqZWN0XSBo
YXMgbm8gbWV0aG9kICdkdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcycKLQotVGhpcyB0ZXN0
IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlIHRvIHNlZSB0aGUgbG9nIG9mIHdoYXQgcmVzb3VyY2Vz
IGFyZSBsb2FkZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90
ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0
X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggNmUxMTg3ZmUzYTBmMTNmNTVjY2E0NTA5OTAzMzhhMjJh
Y2M5ZjI3ZC4uZmVkYTc3MzI5ZWI2ZDU2OWNjZmQ3MTBhODA1M2UxMjQxNmM4YmM3ZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4
dApAQCAtMjY5MiwxMSArMjY5Miw2IEBAIEJVRzQ2NjAzIDogZmFzdC9mcmFtZXMvbG90cy1vZi1v
YmplY3RzLmh0bWwgPSBQQVNTIFRJTUVPVVQKIC8vIExheW91dFRlc3RDb250cm9sbGVyOjpwYWdl
UHJvcGVydHkgaXMgbm90IGltcGxlbWVudGVkIGZvciBDaHJvbWl1bSB5ZXQuCiBCVUdXSzM1OTYx
IDogcHJpbnRpbmcvcGFnZS1ydWxlLXNlbGVjdGlvbi5odG1sID0gVEVYVAogCi0vLyBOZWVkcyB0
byBpbXBsZW1lbnQgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcFJlc291cmNlUmVzcG9uc2VNSU1F
VHlwZXMoKQotQlVHNDY4NzIgOiBmYXN0L3ByZWxvYWRlciA9IFRFWFQKLUJVRzQ2ODcyIDogZmFz
dC9kb20vSFRNTExpbmtFbGVtZW50L3ByZWZldGNoLmh0bWwgPSBUSU1FT1VUCi1CVUc0Njg3MiA6
IGh0dHAvdGVzdHMvbG9hZGluZy9wcmVsb2FkLXNsb3ctbG9hZGluZy5waHAgPSBURVhUCi0KIEJV
RzQ3MDM1IFdJTiBERUJVRyA6IGZhc3QvbG9hZGVyL3N0YXRlb2JqZWN0cy9kb2N1bWVudC1kZXN0
cm95ZWQtbmF2aWdhdGUtYmFjay13aXRoLWZyYWdtZW50LXNjcm9sbC5odG1sID0gUEFTUyBURVhU
CiAKIC8vIENTUzMgSHlwaGVuYXRpb24gbGFuZGVkIGluIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcv
Y2hhbmdlc2V0LzYxNTQ4CkBAIC0yODE4LDggKzI4MTMsNiBAQCBCVUc0ODg1OSBXSU4gOiBmYXN0
L2lubGluZS9jb250aW51YXRpb24tb3V0bGluZXMtd2l0aC1sYXllcnMtMi5odG1sID0gSU1BR0Ur
VEVYVAogLy8gTmVlZCBpbnZlc3RpZ2F0aW9uLgogQlVHV0szODAxNiBXSU4gOiBzdmcvY3VzdG9t
L2ZvcmVpZ24tb2JqZWN0LXNrZXcuc3ZnID0gRkFJTAogCi1CVUc0OTAzMSBXSU4gTElOVVggTUFD
IDogaHR0cC90ZXN0cy9taW1lL3VwcGVyY2FzZS1taW1lLXR5cGUuaHRtbCA9IE1JU1NJTkcKLQog
QlVHNDkwMjEgOiB1c2Vyc2NyaXB0cy9taXhlZC1jYXNlLXN0eWxlc2hlZXQuaHRtbCA9IFRFWFQK
IEJVRzQ5MDIxIDogdXNlcnNjcmlwdHMvc2ltcGxlLXN0eWxlc2hlZXQuaHRtbCA9IFRFWFQKIEJV
RzQ5MDIxIDogdXNlcnNjcmlwdHMvdXNlci1zdHlsZS1hbGwtZnJhbWVzLmh0bWwgPSBURVhUCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cK
aW5kZXggYTQ2YjcyMzc0YTFiMmFmY2EwNjI2ZTA2MjIyNWRhMDhlM2MzZDM4Ny4uNmFiMDQ3YzFl
YTVkYmFmZDY5MTc5MGRmNTI3NWFjMDNmMWVmNGY0YiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisy
MDEwLTA5LTA5ICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyBpbiBDaHJvbWl1
bSBEUlQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1
NDc5CisKKyAgICAgICAgSW1wbGVtZW50IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBSZXNvdXJj
ZVJlc3BvbnNlTUlNRVR5cGVzIChtb2RlbGxlZCBhZnRlcgorICAgICAgICBpbXBsZW1lbnRhdGlv
biBpbiBSZXNvdXJjZUxvYWREZWxlZ2F0ZSBpbiB0aGUgTWFjIHBvcnQpLgorCisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAg
KExheW91dFRlc3RDb250cm9sbGVyOjpkdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyk6Cisg
ICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6cmVzZXQpOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmg6CisgICAgICAgIChMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c2V0U2hvdWxkRHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMpOgor
ICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNl
TUlNRVR5cGVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwu
aDoKKyAgICAgICAgKFRlc3RTaGVsbDo6c2hvdWxkRHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlw
ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcDoK
KyAgICAgICAgKFdlYlZpZXdIb3N0OjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorCiAyMDEwLTA5LTA5
ICBCYWxhenMgS2VsZW1lbiAgPGtiQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBBbmRyZWFzIEtsaW5nLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDhlMDhjNGNm
OWU1NGNhNWRjMjgwNjIwOTk3NDQwY2I5Zjc2NzNlYmYuLmY4OTYyNDFmYjRmMjcyMDY0ZjBlNmI3
Zjc4N2Y5OTIyZGVkODU3ZWEgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKQEAgLTgzLDYgKzgz
LDcgQEAgTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKFRlc3RTaGVs
bCogc2hlbGwpCiAgICAgYmluZE1ldGhvZCgiZHVtcEJhY2tGb3J3YXJkTGlzdCIsICZMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6ZHVtcEJhY2tGb3J3YXJkTGlzdCk7CiAgICAgYmluZE1ldGhvZCgiZHVt
cEZyYW1lTG9hZENhbGxiYWNrcyIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcEZyYW1lTG9h
ZENhbGxiYWNrcyk7CiAgICAgYmluZE1ldGhvZCgiZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyIs
ICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyk7CisgICAg
YmluZE1ldGhvZCgiZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMiLCAmTGF5b3V0VGVzdENv
bnRyb2xsZXI6OmR1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKTsKICAgICBiaW5kTWV0aG9k
KCJkdW1wU3RhdHVzQ2FsbGJhY2tzIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpkdW1wV2luZG93
U3RhdHVzQ2hhbmdlcyk7CiAgICAgYmluZE1ldGhvZCgiZHVtcFRpdGxlQ2hhbmdlcyIsICZMYXlv
dXRUZXN0Q29udHJvbGxlcjo6ZHVtcFRpdGxlQ2hhbmdlcyk7CiAgICAgYmluZE1ldGhvZCgic2V0
QWNjZXB0c0VkaXRpbmciLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFjY2VwdHNFZGl0aW5n
KTsKQEAgLTI4NSw2ICsyODYsMTIgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcFJl
c291cmNlTG9hZENhbGxiYWNrcyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHAKICAgICByZXN1
bHQtPnNldE51bGwoKTsKIH0KIAordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcFJlc291
cmNlUmVzcG9uc2VNSU1FVHlwZXMoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCog
cmVzdWx0KQoreworICAgIG1fZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMgPSB0cnVlOwor
ICAgIHJlc3VsdC0+c2V0TnVsbCgpOworfQorCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpk
dW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9ucyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBW
YXJpYW50KiByZXN1bHQpCiB7CiAgICAgbV9kdW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9ucyA9
IHRydWU7CkBAIC00ODAsNiArNDg3LDcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6cmVz
ZXQoKQogICAgIG1fZHVtcEVkaXRpbmdDYWxsYmFja3MgPSBmYWxzZTsKICAgICBtX2R1bXBGcmFt
ZUxvYWRDYWxsYmFja3MgPSBmYWxzZTsKICAgICBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3Mg
PSBmYWxzZTsKKyAgICBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzID0gZmFsc2U7CiAg
ICAgbV9kdW1wQmFja0ZvcndhcmRMaXN0ID0gZmFsc2U7CiAgICAgbV9kdW1wQ2hpbGRGcmFtZVNj
cm9sbFBvc2l0aW9ucyA9IGZhbHNlOwogICAgIG1fZHVtcENoaWxkRnJhbWVzQXNUZXh0ID0gZmFs
c2U7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlv
dXRUZXN0Q29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
TGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRleCA1NWM4YzhiYjIzODI2NGMwMjNlZDY5MmI0NGQ0
YWI5OWU0ZjVjNjBlLi4yNjhiZWQ1NTE1NDdjZjIwOTZhYzM0NmUxNDZhZDU2ODUyMzBlOGMzIDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0
Q29udHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xh
eW91dFRlc3RDb250cm9sbGVyLmgKQEAgLTk2LDYgKzk2LDE2IEBAIHB1YmxpYzoKICAgICAvLyBk
dW1wIGFsbCBmcmFtZXMgYXMgcGxhaW4gdGV4dCBpZiB0aGUgZHVtcEFzVGV4dCBmbGFnIGlzIHNl
dC4KICAgICAvLyBJdCB0YWtlcyBubyBhcmd1bWVudHMsIGFuZCBpZ25vcmVzIGFueSB0aGF0IG1h
eSBiZSBwcmVzZW50LgogICAgIHZvaWQgZHVtcENoaWxkRnJhbWVzQXNUZXh0KGNvbnN0IENwcEFy
Z3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKKyAgICAKKyAgICAvLyBUaGlzIGZ1bmN0aW9uIHNl
dHMgYSBmbGFnIHRoYXQgdGVsbHMgdGhlIHRlc3Rfc2hlbGwgdG8gZHVtcCBhIGRlc2NyaXB0aXZl
CisgICAgLy8gbGluZSBmb3IgZWFjaCByZXNvdXJjZSBsb2FkIGNhbGxiYWNrLiBJdCB0YWtlcyBu
byBhcmd1bWVudHMsIGFuZCBpZ25vcmVzCisgICAgLy8gYW55IHRoYXQgbWF5IGJlIHByZXNlbnQu
CisgICAgdm9pZCBkdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKGNvbnN0IENwcEFyZ3VtZW50TGlz
dCYsIENwcFZhcmlhbnQqKTsgICAgCisgICAgCisgICAgLy8gVGhpcyBmdW5jdGlvbiBzZXRzIGEg
ZmxhZyB0aGF0IHRlbGxzIHRoZSB0ZXN0X3NoZWxsIHRvIGR1bXAgdGhlIE1JTUUgdHlwZQorICAg
IC8vIGZvciBlYWNoIHJlc291cmNlIHRoYXQgd2FzIGxvYWRlZC4gSXQgdGFrZXMgbm8gYXJndW1l
bnRzLCBhbmQgaWdub3JlcyBhbnkKKyAgICAvLyB0aGF0IG1heSBiZSBwcmVzZW50LgorICAgIHZv
aWQgZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoY29uc3QgQ3BwQXJndW1lbnRMaXN0Jiwg
Q3BwVmFyaWFudCopOwogCiAgICAgLy8gVGhpcyBmdW5jdGlvbiBzZXRzIGEgZmxhZyB0aGF0IHRl
bGxzIHRoZSB0ZXN0X3NoZWxsIHRvIGR1bXAgYWxsIGNhbGxzCiAgICAgLy8gdG8gd2luZG93LnN0
YXR1cygpLgpAQCAtMjI2LDcgKzIzNiw2IEBAIHB1YmxpYzoKICAgICAvLyBhcmUgbmVlZGVkIHRv
IHBhc3MgdGhlIGxheW91dCB0ZXN0cy4KICAgICB2b2lkIGR1bXBBc1dlYkFyY2hpdmUoY29uc3Qg
Q3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQgZHVtcFRpdGxlQ2hhbmdl
cyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7Ci0gICAgdm9pZCBkdW1wUmVz
b3VyY2VMb2FkQ2FsbGJhY2tzKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsK
ICAgICB2b2lkIHNldE1haW5GcmFtZUlzRmlyc3RSZXNwb25kZXIoY29uc3QgQ3BwQXJndW1lbnRM
aXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQgZGlzcGxheShjb25zdCBDcHBBcmd1bWVudExp
c3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9pZCB0ZXN0UmVwYWludChjb25zdCBDcHBBcmd1bWVu
dExpc3QmLCBDcHBWYXJpYW50Kik7CkBAIC0zMjMsNiArMzMyLDggQEAgcHVibGljOgogICAgIGJv
b2wgc2hvdWxkRHVtcEZyYW1lTG9hZENhbGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcEZyYW1lTG9h
ZENhbGxiYWNrczsgfQogICAgIHZvaWQgc2V0U2hvdWxkRHVtcEZyYW1lTG9hZENhbGxiYWNrcyhi
b29sIHZhbHVlKSB7IG1fZHVtcEZyYW1lTG9hZENhbGxiYWNrcyA9IHZhbHVlOyB9CiAgICAgYm9v
bCBzaG91bGREdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCkge3JldHVybiBtX2R1bXBSZXNvdXJj
ZUxvYWRDYWxsYmFja3M7IH0KKyAgICB2b2lkIHNldFNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNl
TUlNRVR5cGVzKGJvb2wgdmFsdWUpIHsgbV9kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyA9
IHZhbHVlOyB9CisgICAgYm9vbCBzaG91bGREdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcygp
IHtyZXR1cm4gbV9kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlczsgfQogICAgIGJvb2wgc2hv
dWxkRHVtcFN0YXR1c0NhbGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcFdpbmRvd1N0YXR1c0NoYW5n
ZXM7IH0KICAgICBib29sIHNob3VsZER1bXBTZWxlY3Rpb25SZWN0KCkgeyByZXR1cm4gbV9kdW1w
U2VsZWN0aW9uUmVjdDsgfQogICAgIGJvb2wgc2hvdWxkRHVtcEJhY2tGb3J3YXJkTGlzdCgpIHsg
cmV0dXJuIG1fZHVtcEJhY2tGb3J3YXJkTGlzdDsgfQpAQCAtNDQyLDYgKzQ1MywxMCBAQCBwcml2
YXRlOgogICAgIC8vIElmIHRydWUsIHRoZSB0ZXN0X3NoZWxsIHdpbGwgb3V0cHV0IGEgZGVzY3Jp
cHRpdmUgbGluZSBmb3IgZWFjaCByZXNvdXJjZQogICAgIC8vIGxvYWQgY2FsbGJhY2suCiAgICAg
Ym9vbCBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3M7CisgICAgCisgICAgLy8gSWYgdHJ1ZSwg
dGhlIHRlc3Rfc2hlbGwgd2lsbCBvdXRwdXQgdGhlIE1JTUUgdHlwZSBmb3IgZWFjaCByZXNvdXJj
ZSB0aGF0IAorICAgIC8vIHdhcyBsb2FkZWQuCisgICAgYm9vbCBtX2R1bXBSZXNvdXJjZVJlc3Bv
bnNlTUlNRVR5cGVzOwogCiAgICAgLy8gSWYgdHJ1ZSwgdGhlIHRlc3Rfc2hlbGwgd2lsbCBwcm9k
dWNlIGEgZHVtcCBvZiB0aGUgYmFjayBmb3J3YXJkIGxpc3QgYXMKICAgICAvLyB3ZWxsLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaAppbmRleCBj
YjVmODYyZjkwNmM4MDRmNzQ2YjViNGFiMDUwNGIxNGRjOGU0YWYzLi5kM2VkNWZhNmFhZTU3ZWE5
NWYwNGJjMDlmMDYzY2VhMDU3MmI1NTczIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaApAQCAtMTA3LDYgKzEwNyw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldEZvY3VzKFdlYktpdDo6V2ViV2lkZ2V0KiwgYm9vbCBlbmFibGUpOwogICAgIGJv
b2wgc2hvdWxkRHVtcEZyYW1lTG9hZENhbGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIChtX3Rlc3RJ
c1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRpbmcpICYmIGxheW91dFRlc3RDb250cm9sbGVyKCkt
PnNob3VsZER1bXBGcmFtZUxvYWRDYWxsYmFja3MoKTsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFJl
c291cmNlTG9hZENhbGxiYWNrcygpIGNvbnN0ICB7IHJldHVybiAobV90ZXN0SXNQcmVwYXJpbmcg
fHwgbV90ZXN0SXNQZW5kaW5nKSAmJiBsYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zaG91bGREdW1w
UmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCk7IH0KKyAgICBib29sIHNob3VsZER1bXBSZXNvdXJjZVJl
c3BvbnNlTUlNRVR5cGVzKCkgY29uc3QgIHsgcmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8fCBt
X3Rlc3RJc1BlbmRpbmcpICYmIGxheW91dFRlc3RDb250cm9sbGVyKCktPnNob3VsZER1bXBSZXNv
dXJjZVJlc3BvbnNlTUlNRVR5cGVzKCk7IH0KICAgICB2b2lkIHNldElzTG9hZGluZyhib29sIGZs
YWcpIHsgbV9pc0xvYWRpbmcgPSBmbGFnOyB9CiAKICAgICAvLyBDYWxsZWQgYnkgdGhlIExheW91
dFRlc3RDb250cm9sbGVyIHRvIHNpZ25hbCB0ZXN0IGNvbXBsZXRpb24uCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAgYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKaW5kZXggZmFl
M2Y1NjIyMDM0MjI1MjUxN2U1ZmNlZmM2NWY5YTE3M2MyOGY5ZS4uYzk5NGI4ZDNmODQ5NzU5MWQ5
NGYzMDE3MWNjMGFhZjk4NWMyOGM5YiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcApAQCAtMTU2LDcgKzE1Niw3IEBAIHN0YXRp
YyBzdHJpbmcgVVJMRGVzY3JpcHRpb24oY29uc3QgR1VSTCYgdXJsKQogc3RhdGljIHZvaWQgcHJp
bnRSZXNwb25zZURlc2NyaXB0aW9uKGNvbnN0IFdlYlVSTFJlc3BvbnNlJiByZXNwb25zZSkKIHsK
ICAgICBpZiAocmVzcG9uc2UuaXNOdWxsKCkpIHsKLSAgICAgICAgZnB1dHMoIihudWxsKSIsIHN0
ZG91dCk7CisgICAgICAgIHB1dHMoIihudWxsKSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
ICAgIHN0cmluZyB1cmwgPSByZXNwb25zZS51cmwoKS5zcGVjKCk7CkBAIC0xNjgsMTcgKzE2OCwx
NyBAQCBzdGF0aWMgdm9pZCBwcmludFJlc3BvbnNlRGVzY3JpcHRpb24oY29uc3QgV2ViVVJMUmVz
cG9uc2UmIHJlc3BvbnNlKQogc3RhdGljIHZvaWQgcHJpbnROb2RlRGVzY3JpcHRpb24oY29uc3Qg
V2ViTm9kZSYgbm9kZSwgaW50IGV4Y2VwdGlvbikKIHsKICAgICBpZiAoZXhjZXB0aW9uKSB7Ci0g
ICAgICAgIGZwdXRzKCJFUlJPUiIsIHN0ZG91dCk7CisgICAgICAgIHB1dHMoIkVSUk9SIik7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKG5vZGUuaXNOdWxsKCkpIHsKLSAgICAgICAg
ZnB1dHMoIihudWxsKSIsIHN0ZG91dCk7CisgICAgICAgIHB1dHMoIihudWxsKSIpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQotICAgIGZwdXRzKG5vZGUubm9kZU5hbWUoKS51dGY4KCkuZGF0YSgp
LCBzdGRvdXQpOworICAgIHB1dHMobm9kZS5ub2RlTmFtZSgpLnV0ZjgoKS5kYXRhKCkpOwogICAg
IGNvbnN0IFdlYk5vZGUmIHBhcmVudCA9IG5vZGUucGFyZW50Tm9kZSgpOwogICAgIGlmICghcGFy
ZW50LmlzTnVsbCgpKSB7Ci0gICAgICAgIGZwdXRzKCIgPiAiLCBzdGRvdXQpOworICAgICAgICBw
dXRzKCIgPiAiKTsKICAgICAgICAgcHJpbnROb2RlRGVzY3JpcHRpb24ocGFyZW50LCAwKTsKICAg
ICB9CiB9CkBAIC0xODYsNyArMTg2LDcgQEAgc3RhdGljIHZvaWQgcHJpbnROb2RlRGVzY3JpcHRp
b24oY29uc3QgV2ViTm9kZSYgbm9kZSwgaW50IGV4Y2VwdGlvbikKIHN0YXRpYyB2b2lkIHByaW50
UmFuZ2VEZXNjcmlwdGlvbihjb25zdCBXZWJSYW5nZSYgcmFuZ2UpCiB7CiAgICAgaWYgKHJhbmdl
LmlzTnVsbCgpKSB7Ci0gICAgICAgIGZwdXRzKCIobnVsbCkiLCBzdGRvdXQpOworICAgICAgICBw
dXRzKCIobnVsbCkiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBwcmludGYoInJhbmdl
IGZyb20gJWQgb2YgIiwgcmFuZ2Uuc3RhcnRPZmZzZXQoKSk7CkBAIC0yNzcsOSArMjc3LDkgQEAg
dm9pZCBXZWJWaWV3SG9zdDo6ZGlkU3RvcExvYWRpbmcoKQogYm9vbCBXZWJWaWV3SG9zdDo6c2hv
dWxkQmVnaW5FZGl0aW5nKGNvbnN0IFdlYlJhbmdlJiByYW5nZSkKIHsKICAgICBpZiAobGF5b3V0
VGVzdENvbnRyb2xsZXIoKS0+c2hvdWxkRHVtcEVkaXRpbmdDYWxsYmFja3MoKSkgewotICAgICAg
ICBmcHV0cygiRURJVElORyBERUxFR0FURTogc2hvdWxkQmVnaW5FZGl0aW5nSW5ET01SYW5nZToi
LCBzdGRvdXQpOworICAgICAgICBwdXRzKCJFRElUSU5HIERFTEVHQVRFOiBzaG91bGRCZWdpbkVk
aXRpbmdJbkRPTVJhbmdlOiIpOwogICAgICAgICBwcmludFJhbmdlRGVzY3JpcHRpb24ocmFuZ2Up
OwotICAgICAgICBmcHV0cygiXG4iLCBzdGRvdXQpOworICAgICAgICBwdXRzKCJcbiIpOwogICAg
IH0KICAgICByZXR1cm4gbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+YWNjZXB0c0VkaXRpbmcoKTsK
IH0KQEAgLTI4Nyw5ICsyODcsOSBAQCBib29sIFdlYlZpZXdIb3N0OjpzaG91bGRCZWdpbkVkaXRp
bmcoY29uc3QgV2ViUmFuZ2UmIHJhbmdlKQogYm9vbCBXZWJWaWV3SG9zdDo6c2hvdWxkRW5kRWRp
dGluZyhjb25zdCBXZWJSYW5nZSYgcmFuZ2UpCiB7CiAgICAgaWYgKGxheW91dFRlc3RDb250cm9s
bGVyKCktPnNob3VsZER1bXBFZGl0aW5nQ2FsbGJhY2tzKCkpIHsKLSAgICAgICAgZnB1dHMoIkVE
SVRJTkcgREVMRUdBVEU6IHNob3VsZEVuZEVkaXRpbmdJbkRPTVJhbmdlOiIsIHN0ZG91dCk7Cisg
ICAgICAgIHB1dHMoIkVESVRJTkcgREVMRUdBVEU6IHNob3VsZEVuZEVkaXRpbmdJbkRPTVJhbmdl
OiIpOwogICAgICAgICBwcmludFJhbmdlRGVzY3JpcHRpb24ocmFuZ2UpOwotICAgICAgICBmcHV0
cygiXG4iLCBzdGRvdXQpOworICAgICAgICBwdXRzKCJcbiIpOwogICAgIH0KICAgICByZXR1cm4g
bGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+YWNjZXB0c0VkaXRpbmcoKTsKIH0KQEAgLTI5Nyw5ICsy
OTcsOSBAQCBib29sIFdlYlZpZXdIb3N0OjpzaG91bGRFbmRFZGl0aW5nKGNvbnN0IFdlYlJhbmdl
JiByYW5nZSkKIGJvb2wgV2ViVmlld0hvc3Q6OnNob3VsZEluc2VydE5vZGUoY29uc3QgV2ViTm9k
ZSYgbm9kZSwgY29uc3QgV2ViUmFuZ2UmIHJhbmdlLCBXZWJFZGl0aW5nQWN0aW9uIGFjdGlvbikK
IHsKICAgICBpZiAobGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2hvdWxkRHVtcEVkaXRpbmdDYWxs
YmFja3MoKSkgewotICAgICAgICBmcHV0cygiRURJVElORyBERUxFR0FURTogc2hvdWxkSW5zZXJ0
Tm9kZToiLCBzdGRvdXQpOworICAgICAgICAoIkVESVRJTkcgREVMRUdBVEU6IHNob3VsZEluc2Vy
dE5vZGU6Iik7CiAgICAgICAgIHByaW50Tm9kZURlc2NyaXB0aW9uKG5vZGUsIDApOwotICAgICAg
ICBmcHV0cygiIHJlcGxhY2luZ0RPTVJhbmdlOiIsIHN0ZG91dCk7CisgICAgICAgIHB1dHMoIiBy
ZXBsYWNpbmdET01SYW5nZToiKTsKICAgICAgICAgcHJpbnRSYW5nZURlc2NyaXB0aW9uKHJhbmdl
KTsKICAgICAgICAgcHJpbnRmKCIgZ2l2ZW5BY3Rpb246JXNcbiIsIGVkaXRpbmdBY3Rpb25EZXNj
cmlwdGlvbihhY3Rpb24pLmNfc3RyKCkpOwogICAgIH0KQEAgLTMyMCw5ICszMjAsOSBAQCBib29s
IFdlYlZpZXdIb3N0OjpzaG91bGRDaGFuZ2VTZWxlY3RlZFJhbmdlKAogICAgIGNvbnN0IFdlYlJh
bmdlJiBmcm9tUmFuZ2UsIGNvbnN0IFdlYlJhbmdlJiB0b1JhbmdlLCBXZWJUZXh0QWZmaW5pdHkg
YWZmaW5pdHksIGJvb2wgc3RpbGxTZWxlY3RpbmcpCiB7CiAgICAgaWYgKGxheW91dFRlc3RDb250
cm9sbGVyKCktPnNob3VsZER1bXBFZGl0aW5nQ2FsbGJhY2tzKCkpIHsKLSAgICAgICAgZnB1dHMo
IkVESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6Iiwgc3Rkb3V0
KTsKKyAgICAgICAgcHV0cygiRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRE
T01SYW5nZToiKTsKICAgICAgICAgcHJpbnRSYW5nZURlc2NyaXB0aW9uKGZyb21SYW5nZSk7Ci0g
ICAgICAgIGZwdXRzKCIgdG9ET01SYW5nZToiLCBzdGRvdXQpOworICAgICAgICBwdXRzKCIgdG9E
T01SYW5nZToiKTsKICAgICAgICAgcHJpbnRSYW5nZURlc2NyaXB0aW9uKHRvUmFuZ2UpOwogICAg
ICAgICBwcmludGYoIiBhZmZpbml0eTolcyBzdGlsbFNlbGVjdGluZzolc1xuIiwKICAgICAgICAg
ICAgICAgIHRleHRBZmZpbml0eURlc2NyaXB0aW9uKGFmZmluaXR5KS5jX3N0cigpLApAQCAtMzM0
LDkgKzMzNCw5IEBAIGJvb2wgV2ViVmlld0hvc3Q6OnNob3VsZENoYW5nZVNlbGVjdGVkUmFuZ2Uo
CiBib29sIFdlYlZpZXdIb3N0OjpzaG91bGREZWxldGVSYW5nZShjb25zdCBXZWJSYW5nZSYgcmFu
Z2UpCiB7CiAgICAgaWYgKGxheW91dFRlc3RDb250cm9sbGVyKCktPnNob3VsZER1bXBFZGl0aW5n
Q2FsbGJhY2tzKCkpIHsKLSAgICAgICAgZnB1dHMoIkVESVRJTkcgREVMRUdBVEU6IHNob3VsZERl
bGV0ZURPTVJhbmdlOiIsIHN0ZG91dCk7CisgICAgICAgIHB1dHMoIkVESVRJTkcgREVMRUdBVEU6
IHNob3VsZERlbGV0ZURPTVJhbmdlOiIpOwogICAgICAgICBwcmludFJhbmdlRGVzY3JpcHRpb24o
cmFuZ2UpOwotICAgICAgICBmcHV0cygiXG4iLCBzdGRvdXQpOworICAgICAgICBwdXRzKCJcbiIp
OwogICAgIH0KICAgICByZXR1cm4gbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+YWNjZXB0c0VkaXRp
bmcoKTsKIH0KQEAgLTM0Niw3ICszNDYsNyBAQCBib29sIFdlYlZpZXdIb3N0OjpzaG91bGRBcHBs
eVN0eWxlKGNvbnN0IFdlYlN0cmluZyYgc3R5bGUsIGNvbnN0IFdlYlJhbmdlJiByYW5nZQogICAg
IGlmIChsYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zaG91bGREdW1wRWRpdGluZ0NhbGxiYWNrcygp
KSB7CiAgICAgICAgIHByaW50ZigiRURJVElORyBERUxFR0FURTogc2hvdWxkQXBwbHlTdHlsZTol
cyB0b0VsZW1lbnRzSW5ET01SYW5nZToiLCBzdHlsZS51dGY4KCkuZGF0YSgpKTsKICAgICAgICAg
cHJpbnRSYW5nZURlc2NyaXB0aW9uKHJhbmdlKTsKLSAgICAgICAgZnB1dHMoIlxuIiwgc3Rkb3V0
KTsKKyAgICAgICAgcHV0cygiXG4iKTsKICAgICB9CiAgICAgcmV0dXJuIGxheW91dFRlc3RDb250
cm9sbGVyKCktPmFjY2VwdHNFZGl0aW5nKCk7CiB9CkBAIC0zNjUsMTMgKzM2NSwxMyBAQCB2b2lk
IFdlYlZpZXdIb3N0OjpkaWRCZWdpbkVkaXRpbmcoKQogewogICAgIGlmICghbGF5b3V0VGVzdENv
bnRyb2xsZXIoKS0+c2hvdWxkRHVtcEVkaXRpbmdDYWxsYmFja3MoKSkKICAgICAgICAgcmV0dXJu
OwotICAgIGZwdXRzKCJFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQmVnaW5FZGl0aW5nOldl
YlZpZXdEaWRCZWdpbkVkaXRpbmdOb3RpZmljYXRpb25cbiIsIHN0ZG91dCk7CisgICAgcHV0cygi
RURJVElORyBERUxFR0FURTogd2ViVmlld0RpZEJlZ2luRWRpdGluZzpXZWJWaWV3RGlkQmVnaW5F
ZGl0aW5nTm90aWZpY2F0aW9uXG4iKTsKIH0KIAogdm9pZCBXZWJWaWV3SG9zdDo6ZGlkQ2hhbmdl
U2VsZWN0aW9uKGJvb2wgaXNFbXB0eVNlbGVjdGlvbikKIHsKICAgICBpZiAobGF5b3V0VGVzdENv
bnRyb2xsZXIoKS0+c2hvdWxkRHVtcEVkaXRpbmdDYWxsYmFja3MoKSkKLSAgICAgICAgZnB1dHMo
IkVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENo
YW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvblxuIiwgc3Rkb3V0KTsKKyAgICAgICAgcHV0cygiRURJ
VElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdl
U2VsZWN0aW9uTm90aWZpY2F0aW9uXG4iKTsKICAgICAvLyBObyBuZWVkIHRvIHVwZGF0ZSBjbGlw
Ym9hcmQgd2l0aCB0aGUgc2VsZWN0ZWQgdGV4dCBpbiBEUlQuCiB9CiAKQEAgLTM3OSwxNCArMzc5
LDE0IEBAIHZvaWQgV2ViVmlld0hvc3Q6OmRpZENoYW5nZUNvbnRlbnRzKCkKIHsKICAgICBpZiAo
IWxheW91dFRlc3RDb250cm9sbGVyKCktPnNob3VsZER1bXBFZGl0aW5nQ2FsbGJhY2tzKCkpCiAg
ICAgICAgIHJldHVybjsKLSAgICBmcHV0cygiRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENo
YW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uXG4iLCBzdGRvdXQpOworICAgIHB1dHMo
IkVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlm
aWNhdGlvblxuIik7CiB9CiAKIHZvaWQgV2ViVmlld0hvc3Q6OmRpZEVuZEVkaXRpbmcoKQogewog
ICAgIGlmICghbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2hvdWxkRHVtcEVkaXRpbmdDYWxsYmFj
a3MoKSkKICAgICAgICAgcmV0dXJuOwotICAgIGZwdXRzKCJFRElUSU5HIERFTEVHQVRFOiB3ZWJW
aWV3RGlkRW5kRWRpdGluZzpXZWJWaWV3RGlkRW5kRWRpdGluZ05vdGlmaWNhdGlvblxuIiwgc3Rk
b3V0KTsKKyAgICBwdXRzKCJFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkRW5kRWRpdGluZzpX
ZWJWaWV3RGlkRW5kRWRpdGluZ05vdGlmaWNhdGlvblxuIik7CiB9CiAKIGJvb2wgV2ViVmlld0hv
c3Q6OmhhbmRsZUN1cnJlbnRLZXlib2FyZEV2ZW50KCkKQEAgLTY2MSwxMCArNjYxLDEwIEBAIFdl
Yk5hdmlnYXRpb25Qb2xpY3kgV2ViVmlld0hvc3Q6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb24o
CiAgICAgcHJpbnRmKCJQb2xpY3kgZGVsZWdhdGU6IGF0dGVtcHQgdG8gbG9hZCAlcyB3aXRoIG5h
dmlnYXRpb24gdHlwZSAnJXMnIiwKICAgICAgICAgICAgVVJMRGVzY3JpcHRpb24ocmVxdWVzdC51
cmwoKSkuY19zdHIoKSwgd2ViTmF2aWdhdGlvblR5cGVUb1N0cmluZyh0eXBlKSk7CiAgICAgaWYg
KCFvcmlnaW5hdGluZ05vZGUuaXNOdWxsKCkpIHsKLSAgICAgICAgZnB1dHMoIiBvcmlnaW5hdGlu
ZyBmcm9tICIsIHN0ZG91dCk7CisgICAgICAgIHB1dHMoIiBvcmlnaW5hdGluZyBmcm9tICIpOwog
ICAgICAgICBwcmludE5vZGVEZXNjcmlwdGlvbihvcmlnaW5hdGluZ05vZGUsIDApOwogICAgIH0K
LSAgICBmcHV0cygiXG4iLCBzdGRvdXQpOworICAgIHB1dHMoIlxuIik7CiAgICAgaWYgKG1fcG9s
aWN5RGVsZWdhdGVJc1Blcm1pc3NpdmUpCiAgICAgICAgIHJlc3VsdCA9IFdlYktpdDo6V2ViTmF2
aWdhdGlvblBvbGljeUN1cnJlbnRUYWI7CiAgICAgZWxzZQpAQCAtNzIwLDcgKzcyMCw3IEBAIHZv
aWQgV2ViVmlld0hvc3Q6OmRpZENhbmNlbENsaWVudFJlZGlyZWN0KFdlYkZyYW1lKiBmcmFtZSkK
ICAgICBpZiAoIW1fc2hlbGwtPnNob3VsZER1bXBGcmFtZUxvYWRDYWxsYmFja3MoKSkKICAgICAg
ICAgcmV0dXJuOwogICAgIHByaW50RnJhbWVEZXNjcmlwdGlvbihmcmFtZSk7Ci0gICAgZnB1dHMo
IiAtIGRpZENhbmNlbENsaWVudFJlZGlyZWN0Rm9yRnJhbWVcbiIsIHN0ZG91dCk7CisgICAgcHV0
cygiIC0gZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZVxuIik7CiB9CiAKIHZvaWQgV2Vi
Vmlld0hvc3Q6OmRpZENyZWF0ZURhdGFTb3VyY2UoV2ViRnJhbWUqLCBXZWJEYXRhU291cmNlKiBk
cykKQEAgLTczMiw3ICs3MzIsNyBAQCB2b2lkIFdlYlZpZXdIb3N0OjpkaWRTdGFydFByb3Zpc2lv
bmFsTG9hZChXZWJGcmFtZSogZnJhbWUpCiB7CiAgICAgaWYgKG1fc2hlbGwtPnNob3VsZER1bXBG
cmFtZUxvYWRDYWxsYmFja3MoKSkgewogICAgICAgICBwcmludEZyYW1lRGVzY3JpcHRpb24oZnJh
bWUpOwotICAgICAgICBmcHV0cygiIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZVxu
Iiwgc3Rkb3V0KTsKKyAgICAgICAgcHV0cygiIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JG
cmFtZVxuIik7CiAgICAgfQogCiAgICAgaWYgKCFtX3RvcExvYWRpbmdGcmFtZSkKQEAgLTc0MCw3
ICs3NDAsNyBAQCB2b2lkIFdlYlZpZXdIb3N0OjpkaWRTdGFydFByb3Zpc2lvbmFsTG9hZChXZWJG
cmFtZSogZnJhbWUpCiAKICAgICBpZiAobGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c3RvcFByb3Zp
c2lvbmFsRnJhbWVMb2FkcygpKSB7CiAgICAgICAgIHByaW50RnJhbWVEZXNjcmlwdGlvbihmcmFt
ZSk7Ci0gICAgICAgIGZwdXRzKCIgLSBzdG9wcGluZyBsb2FkIGluIGRpZFN0YXJ0UHJvdmlzaW9u
YWxMb2FkRm9yRnJhbWUgY2FsbGJhY2tcbiIsIHN0ZG91dCk7CisgICAgICAgIHB1dHMoIiAtIHN0
b3BwaW5nIGxvYWQgaW4gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSBjYWxsYmFja1xu
Iik7CiAgICAgICAgIGZyYW1lLT5zdG9wTG9hZGluZygpOwogICAgIH0KICAgICB1cGRhdGVBZGRy
ZXNzQmFyKGZyYW1lLT52aWV3KCkpOwpAQCAtNzUwLDcgKzc1MCw3IEBAIHZvaWQgV2ViVmlld0hv
c3Q6OmRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZChXZWJGcmFtZSog
ZnJhbWUpCiB7CiAgICAgaWYgKG1fc2hlbGwtPnNob3VsZER1bXBGcmFtZUxvYWRDYWxsYmFja3Mo
KSkgewogICAgICAgICBwcmludEZyYW1lRGVzY3JpcHRpb24oZnJhbWUpOwotICAgICAgICBmcHV0
cygiIC0gZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWVc
biIsIHN0ZG91dCk7CisgICAgICAgIHB1dHMoIiAtIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZv
clByb3Zpc2lvbmFsTG9hZEZvckZyYW1lXG4iKTsKICAgICB9CiAgICAgdXBkYXRlQWRkcmVzc0Jh
cihmcmFtZS0+dmlldygpKTsKIH0KQEAgLTc1OSw3ICs3NTksNyBAQCB2b2lkIFdlYlZpZXdIb3N0
OjpkaWRGYWlsUHJvdmlzaW9uYWxMb2FkKFdlYkZyYW1lKiBmcmFtZSwgY29uc3QgV2ViVVJMRXJy
b3ImIGVycgogewogICAgIGlmIChtX3NoZWxsLT5zaG91bGREdW1wRnJhbWVMb2FkQ2FsbGJhY2tz
KCkpIHsKICAgICAgICAgcHJpbnRGcmFtZURlc2NyaXB0aW9uKGZyYW1lKTsKLSAgICAgICAgZnB1
dHMoIiAtIGRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3JcbiIsIHN0ZG91dCk7CisgICAg
ICAgIHB1dHMoIiAtIGRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3JcbiIpOwogICAgIH0K
IAogICAgIGxvY2F0aW9uQ2hhbmdlRG9uZShmcmFtZSk7CkBAIC03NzIsNyArNzcyLDcgQEAgdm9p
ZCBXZWJWaWV3SG9zdDo6ZGlkQ29tbWl0UHJvdmlzaW9uYWxMb2FkKFdlYkZyYW1lKiBmcmFtZSwg
Ym9vbCBpc05ld05hdmlnYXRpb24KIHsKICAgICBpZiAobV9zaGVsbC0+c2hvdWxkRHVtcEZyYW1l
TG9hZENhbGxiYWNrcygpKSB7CiAgICAgICAgIHByaW50RnJhbWVEZXNjcmlwdGlvbihmcmFtZSk7
Ci0gICAgICAgIGZwdXRzKCIgLSBkaWRDb21taXRMb2FkRm9yRnJhbWVcbiIsIHN0ZG91dCk7Cisg
ICAgICAgIHB1dHMoIiAtIGRpZENvbW1pdExvYWRGb3JGcmFtZVxuIik7CiAgICAgfQogICAgIHVw
ZGF0ZUZvckNvbW1pdHRlZExvYWQoZnJhbWUsIGlzTmV3TmF2aWdhdGlvbik7CiB9CkBAIC04MDEs
NyArODAxLDcgQEAgdm9pZCBXZWJWaWV3SG9zdDo6ZGlkRmluaXNoRG9jdW1lbnRMb2FkKFdlYkZy
YW1lKiBmcmFtZSkKIHsKICAgICBpZiAobV9zaGVsbC0+c2hvdWxkRHVtcEZyYW1lTG9hZENhbGxi
YWNrcygpKSB7CiAgICAgICAgIHByaW50RnJhbWVEZXNjcmlwdGlvbihmcmFtZSk7Ci0gICAgICAg
IGZwdXRzKCIgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZVxuIiwgc3Rkb3V0KTsKKyAg
ICAgICAgcHV0cygiIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWVcbiIpOwogICAgIH0g
ZWxzZSB7CiAgICAgICAgIHVuc2lnbmVkIHBlbmRpbmdVbmxvYWRFdmVudHMgPSBmcmFtZS0+dW5s
b2FkTGlzdGVuZXJDb3VudCgpOwogICAgICAgICBpZiAocGVuZGluZ1VubG9hZEV2ZW50cykgewpA
QCAtODE1LDcgKzgxNSw3IEBAIHZvaWQgV2ViVmlld0hvc3Q6OmRpZEhhbmRsZU9ubG9hZEV2ZW50
cyhXZWJGcmFtZSogZnJhbWUpCiB7CiAgICAgaWYgKG1fc2hlbGwtPnNob3VsZER1bXBGcmFtZUxv
YWRDYWxsYmFja3MoKSkgewogICAgICAgICBwcmludEZyYW1lRGVzY3JpcHRpb24oZnJhbWUpOwot
ICAgICAgICBmcHV0cygiIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWVcbiIsIHN0ZG91
dCk7CisgICAgICAgIHB1dHMoIiAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lXG4iKTsK
ICAgICB9CiB9CiAKQEAgLTgyMyw3ICs4MjMsNyBAQCB2b2lkIFdlYlZpZXdIb3N0OjpkaWRGYWls
TG9hZChXZWJGcmFtZSogZnJhbWUsIGNvbnN0IFdlYlVSTEVycm9yJiBlcnJvcikKIHsKICAgICBp
ZiAobV9zaGVsbC0+c2hvdWxkRHVtcEZyYW1lTG9hZENhbGxiYWNrcygpKSB7CiAgICAgICAgIHBy
aW50RnJhbWVEZXNjcmlwdGlvbihmcmFtZSk7Ci0gICAgICAgIGZwdXRzKCIgLSBkaWRGYWlsTG9h
ZFdpdGhFcnJvclxuIiwgc3Rkb3V0KTsKKyAgICAgICAgcHV0cygiIC0gZGlkRmFpbExvYWRXaXRo
RXJyb3JcbiIpOwogICAgIH0KICAgICBsb2NhdGlvbkNoYW5nZURvbmUoZnJhbWUpOwogfQpAQCAt
ODMyLDcgKzgzMiw3IEBAIHZvaWQgV2ViVmlld0hvc3Q6OmRpZEZpbmlzaExvYWQoV2ViRnJhbWUq
IGZyYW1lKQogewogICAgIGlmIChtX3NoZWxsLT5zaG91bGREdW1wRnJhbWVMb2FkQ2FsbGJhY2tz
KCkpIHsKICAgICAgICAgcHJpbnRGcmFtZURlc2NyaXB0aW9uKGZyYW1lKTsKLSAgICAgICAgZnB1
dHMoIiAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZVxuIiwgc3Rkb3V0KTsKKyAgICAgICAgcHV0cygi
IC0gZGlkRmluaXNoTG9hZEZvckZyYW1lXG4iKTsKICAgICB9CiAgICAgdXBkYXRlQWRkcmVzc0Jh
cihmcmFtZS0+dmlldygpKTsKICAgICBsb2NhdGlvbkNoYW5nZURvbmUoZnJhbWUpOwpAQCAtODQ5
LDcgKzg0OSw3IEBAIHZvaWQgV2ViVmlld0hvc3Q6OmRpZENoYW5nZUxvY2F0aW9uV2l0aGluUGFn
ZShXZWJGcmFtZSogZnJhbWUpCiB7CiAgICAgaWYgKG1fc2hlbGwtPnNob3VsZER1bXBGcmFtZUxv
YWRDYWxsYmFja3MoKSkgewogICAgICAgICBwcmludEZyYW1lRGVzY3JpcHRpb24oZnJhbWUpOwot
ICAgICAgICBmcHV0cygiIC0gZGlkQ2hhbmdlTG9jYXRpb25XaXRoaW5QYWdlRm9yRnJhbWVcbiIs
IHN0ZG91dCk7CisgICAgICAgIHB1dHMoIiAtIGRpZENoYW5nZUxvY2F0aW9uV2l0aGluUGFnZUZv
ckZyYW1lXG4iKTsKICAgICB9CiB9CiAKQEAgLTg3NSwxMSArODc1LDExIEBAIHZvaWQgV2ViVmll
d0hvc3Q6OndpbGxTZW5kUmVxdWVzdChXZWJGcmFtZSosIHVuc2lnbmVkIGlkZW50aWZpZXIsIFdl
YlVSTFJlcXVlc3QmCiAgICAgICAgICAgICAgICBVUkxEZXNjcmlwdGlvbihtYWluRG9jdW1lbnRV
UkwpLmNfc3RyKCksCiAgICAgICAgICAgICAgICByZXF1ZXN0Lmh0dHBNZXRob2QoKS51dGY4KCku
ZGF0YSgpKTsKICAgICAgICAgcHJpbnRSZXNwb25zZURlc2NyaXB0aW9uKHJlZGlyZWN0UmVzcG9u
c2UpOwotICAgICAgICBmcHV0cygiXG4iLCBzdGRvdXQpOworICAgICAgICBwdXRzKCJcbiIpOwog
ICAgIH0KIAogICAgIGlmICghcmVkaXJlY3RSZXNwb25zZS5pc051bGwoKSAmJiBtX2Jsb2Nrc1Jl
ZGlyZWN0cykgewotICAgICAgICBmcHV0cygiUmV0dXJuaW5nIG51bGwgZm9yIHRoaXMgcmVkaXJl
Y3RcbiIsIHN0ZG91dCk7CisgICAgICAgIHB1dHMoIlJldHVybmluZyBudWxsIGZvciB0aGlzIHJl
ZGlyZWN0XG4iKTsKICAgICAgICAgLy8gVG8gYmxvY2sgdGhlIHJlcXVlc3QsIHdlIHNldCBpdHMg
VVJMIHRvIGFuIGVtcHR5IG9uZS4KICAgICAgICAgcmVxdWVzdC5zZXRVUkwoV2ViVVJMKCkpOwog
ICAgICAgICByZXR1cm47CkBAIC05MTUsMTkgKzkxNSwyNyBAQCB2b2lkIFdlYlZpZXdIb3N0Ojp3
aWxsU2VuZFJlcXVlc3QoV2ViRnJhbWUqLCB1bnNpZ25lZCBpZGVudGlmaWVyLCBXZWJVUkxSZXF1
ZXN0JgogCiB2b2lkIFdlYlZpZXdIb3N0OjpkaWRSZWNlaXZlUmVzcG9uc2UoV2ViRnJhbWUqLCB1
bnNpZ25lZCBpZGVudGlmaWVyLCBjb25zdCBXZWJVUkxSZXNwb25zZSYgcmVzcG9uc2UpCiB7Ci0g
ICAgaWYgKCFtX3NoZWxsLT5zaG91bGREdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCkpCi0gICAg
ICAgIHJldHVybjsKLSAgICBwcmludFJlc291cmNlRGVzY3JpcHRpb24oaWRlbnRpZmllcik7Ci0g
ICAgZnB1dHMoIiAtIGRpZFJlY2VpdmVSZXNwb25zZSAiLCBzdGRvdXQpOwotICAgIHByaW50UmVz
cG9uc2VEZXNjcmlwdGlvbihyZXNwb25zZSk7Ci0gICAgZnB1dHMoIlxuIiwgc3Rkb3V0KTsKKyAg
ICBpZiAobV9zaGVsbC0+c2hvdWxkRHVtcFJlc291cmNlTG9hZENhbGxiYWNrcygpKSB7CisgICAg
ICAgIHByaW50UmVzb3VyY2VEZXNjcmlwdGlvbihpZGVudGlmaWVyKTsKKyAgICAgICAgcHV0cygi
IC0gZGlkUmVjZWl2ZVJlc3BvbnNlICIpOworICAgICAgICBwcmludFJlc3BvbnNlRGVzY3JpcHRp
b24ocmVzcG9uc2UpOworICAgICAgICBwdXRzKCJcbiIpOworICAgIH0KKyAgICBpZiAobV9zaGVs
bC0+c2hvdWxkRHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoKSkgeworICAgICAgICBHVVJM
IHVybCA9IHJlc3BvbnNlLnVybCgpOworICAgICAgICBXZWJTdHJpbmcgbWltZVR5cGUgPSByZXNw
b25zZS5taW1lVHlwZSgpOworICAgICAgICBwcmludGYoIiVzIGhhcyBNSU1FIHR5cGUgJXNcbiIs
CisgICAgICAgICAgICB1cmwuRXh0cmFjdEZpbGVOYW1lKCkuY19zdHIoKSwKKyAgICAgICAgICAg
IC8vIFNpbXVsYXRlIE5TVVJMUmVzcG9uc2UncyBtYXBwaW5nIG9mIGVtcHR5L3Vua25vd24gTUlN
RSB0eXBlcyB0byBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KKyAgICAgICAgICAgIG1pbWVUeXBl
LmlzRW1wdHkoKSA/ICJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iIDogbWltZVR5cGUudXRmOCgp
LmRhdGEoKSk7CisgICAgfQogfQogCiB2b2lkIFdlYlZpZXdIb3N0OjpkaWRGaW5pc2hSZXNvdXJj
ZUxvYWQoV2ViRnJhbWUqLCB1bnNpZ25lZCBpZGVudGlmaWVyKQogewogICAgIGlmIChtX3NoZWxs
LT5zaG91bGREdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCkpIHsKICAgICAgICAgcHJpbnRSZXNv
dXJjZURlc2NyaXB0aW9uKGlkZW50aWZpZXIpOwotICAgICAgICBmcHV0cygiIC0gZGlkRmluaXNo
TG9hZGluZ1xuIiwgc3Rkb3V0KTsKKyAgICAgICAgcHV0cygiIC0gZGlkRmluaXNoTG9hZGluZ1xu
Iik7CiAgICAgfQogICAgIG1fcmVzb3VyY2VJZGVudGlmaWVyTWFwLnJlbW92ZShpZGVudGlmaWVy
KTsKIH0KQEAgLTkzNiw5ICs5NDQsOSBAQCB2b2lkIFdlYlZpZXdIb3N0OjpkaWRGYWlsUmVzb3Vy
Y2VMb2FkKFdlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllciwgY29uc3QgV2ViVQogewogICAg
IGlmIChtX3NoZWxsLT5zaG91bGREdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCkpIHsKICAgICAg
ICAgcHJpbnRSZXNvdXJjZURlc2NyaXB0aW9uKGlkZW50aWZpZXIpOwotICAgICAgICBmcHV0cygi
IC0gZGlkRmFpbExvYWRpbmdXaXRoRXJyb3I6ICIsIHN0ZG91dCk7Ci0gICAgICAgIGZwdXRzKHdl
YmtpdF9zdXBwb3J0OjpNYWtlVVJMRXJyb3JEZXNjcmlwdGlvbihlcnJvcikuY19zdHIoKSwgc3Rk
b3V0KTsKLSAgICAgICAgZnB1dHMoIlxuIiwgc3Rkb3V0KTsKKyAgICAgICAgcHV0cygiIC0gZGlk
RmFpbExvYWRpbmdXaXRoRXJyb3I6ICIpOworICAgICAgICBwdXRzKHdlYmtpdF9zdXBwb3J0OjpN
YWtlVVJMRXJyb3JEZXNjcmlwdGlvbihlcnJvcikuY19zdHIoKSk7CisgICAgICAgIHB1dHMoIlxu
Iik7CiAgICAgfQogICAgIG1fcmVzb3VyY2VJZGVudGlmaWVyTWFwLnJlbW92ZShpZGVudGlmaWVy
KTsKIH0KQEAgLTk0NiwxMyArOTU0LDEzIEBAIHZvaWQgV2ViVmlld0hvc3Q6OmRpZEZhaWxSZXNv
dXJjZUxvYWQoV2ViRnJhbWUqLCB1bnNpZ25lZCBpZGVudGlmaWVyLCBjb25zdCBXZWJVCiB2b2lk
IFdlYlZpZXdIb3N0OjpkaWREaXNwbGF5SW5zZWN1cmVDb250ZW50KFdlYkZyYW1lKikKIHsKICAg
ICBpZiAobV9zaGVsbC0+c2hvdWxkRHVtcEZyYW1lTG9hZENhbGxiYWNrcygpKQotICAgICAgICBm
cHV0cygiZGlkRGlzcGxheUluc2VjdXJlQ29udGVudFxuIiwgc3Rkb3V0KTsKKyAgICAgICAgcHV0
cygiZGlkRGlzcGxheUluc2VjdXJlQ29udGVudFxuIik7CiB9CiAKIHZvaWQgV2ViVmlld0hvc3Q6
OmRpZFJ1bkluc2VjdXJlQ29udGVudChXZWJGcmFtZSosIGNvbnN0IFdlYlNlY3VyaXR5T3JpZ2lu
JiBvcmlnaW4pCiB7CiAgICAgaWYgKG1fc2hlbGwtPnNob3VsZER1bXBGcmFtZUxvYWRDYWxsYmFj
a3MoKSkKLSAgICAgICAgZnB1dHMoImRpZFJ1bkluc2VjdXJlQ29udGVudFxuIiwgc3Rkb3V0KTsK
KyAgICAgICAgcHV0cygiZGlkUnVuSW5zZWN1cmVDb250ZW50XG4iKTsKIH0KIAogYm9vbCBXZWJW
aWV3SG9zdDo6YWxsb3dTY3JpcHQoV2ViRnJhbWUqLCBib29sIGVuYWJsZWRQZXJTZXR0aW5ncykK
QEAgLTEyMDAsMTQgKzEyMDgsMTQgQEAgdm9pZCBXZWJWaWV3SG9zdDo6cHJpbnRGcmFtZURlc2Ny
aXB0aW9uKFdlYkZyYW1lKiB3ZWJmcmFtZSkKICAgICBzdHJpbmcgbmFtZTggPSB3ZWJmcmFtZS0+
bmFtZSgpLnV0ZjgoKTsKICAgICBpZiAod2ViZnJhbWUgPT0gd2ViVmlldygpLT5tYWluRnJhbWUo
KSkgewogICAgICAgICBpZiAoIW5hbWU4Lmxlbmd0aCgpKSB7Ci0gICAgICAgICAgICBmcHV0cygi
bWFpbiBmcmFtZSIsIHN0ZG91dCk7CisgICAgICAgICAgICBwdXRzKCJtYWluIGZyYW1lIik7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgcHJpbnRmKCJtYWluIGZyYW1l
IFwiJXNcIiIsIG5hbWU4LmNfc3RyKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlm
ICghbmFtZTgubGVuZ3RoKCkpIHsKLSAgICAgICAgZnB1dHMoImZyYW1lIChhbm9ueW1vdXMpIiwg
c3Rkb3V0KTsKKyAgICAgICAgcHV0cygiZnJhbWUgKGFub255bW91cykiKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KICAgICBwcmludGYoImZyYW1lIFwiJXNcIiIsIG5hbWU4LmNfc3RyKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67132</attachid>
            <date>2010-09-09 18:33:40 -0700</date>
            <delta_ts>2010-09-10 17:33:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45479-20100909183338.patch</filename>
            <type>text/plain</type>
            <size>12870</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzZTdjOTM4ZTA1ODczYTQxYzhiM2VjN2I0Mjg4OWVhNmJkNjI4MGJjLi42ODVkNDA0
MTQzZTMyZmI0ZGRmZmY3MTQ3OGM4NTIyZTJlMDhkNTQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTAtMDktMDkgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzIGluIENocm9t
aXVtIERSVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDU0NzkKKworICAgICAgICBSZW1vdmUgdGVzdHMgZnJvbSBDaHJvbWl1bSBleHBlY3RhdGlvbnMg
dGhhdCBub3cgcGFzcy4gQWRkCisgICAgICAgIENocm9taXVtL0xpbnV4IGV4cGVjdGF0aW9ucyBm
b3IgdGhlIHNjcmlwdCB0ZXN0LCBzaW5jZSBpdCByZXBvcnRzIGEKKyAgICAgICAgZGlmZmVyZW50
IE1JTUUgdHlwZSAoYXBwbGljYXRpb24vamF2YXNjcmlwdCB2cy4KKyAgICAgICAgYXBwbGljYXRp
b24veC1qYXZhc2NyaXB0KS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zh
c3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9wcmVsb2FkZXIvc2NyaXB0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3Qv
ZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorCiAyMDEwLTA5
LTA5ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNjcxMTkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0
Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFz
dC9kb20vSFRNTExpbmtFbGVtZW50L3ByZWZldGNoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYTM0NjhmMTgyMTA5N2EyNmQ3MTRiMjEyODgxYTNmNmVjMWNmMDNk
My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJl
ZmV0Y2gtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgNjogVW5jYXVnaHQgVHlwZUVycm9yOiBPYmplY3QgW29iamVjdCBPYmpl
Y3RdIGhhcyBubyBtZXRob2QgJ2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzJwotCi1UaGlz
IHRlc3QgcmVxdWlyZXMgRHVtcFJlbmRlclRyZWUgdG8gc2VlIHRoZSBsb2cgb2Ygd2hhdCByZXNv
dXJjZXMgYXJlIGxvYWRlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtLWxpbnV4L2Zhc3QvcHJlbG9hZGVyL3NjcmlwdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L3ByZWxvYWRlci9zY3JpcHQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQ0NzYyYzE5MGYyNzc0NDNkZjllZjkxNzBhNzc0YmYyMDA1MTIwYTAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9m
YXN0L3ByZWxvYWRlci9zY3JpcHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorc2NyaXB0
MS5qcyBoYXMgTUlNRSB0eXBlIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQKK1RoaXMgdGVzdCByZXF1
aXJlcyBEdW1wUmVuZGVyVHJlZSB0byBzZWUgdGhlIGxvZyBvZiB3aGF0IHJlc291cmNlcyBhcmUg
bG9hZGVkLgorCis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvc2NyaXB0MS5qcz48L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9mYXN0L2RvbS9IVE1M
TGlua0VsZW1lbnQvcHJlZmV0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0tbWFjL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEzNDY4ZjE4MjEwOTdhMjZkNzE0YjIx
Mjg4MWEzZjZlYzFjZjAzZDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL0hUTUxM
aW5rRWxlbWVudC9wcmVmZXRjaC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICsw
LDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBVbmNhdWdodCBUeXBlRXJyb3I6IE9iamVj
dCBbb2JqZWN0IE9iamVjdF0gaGFzIG5vIG1ldGhvZCAnZHVtcFJlc291cmNlUmVzcG9uc2VNSU1F
VHlwZXMnCi0KLVRoaXMgdGVzdCByZXF1aXJlcyBEdW1wUmVuZGVyVHJlZSB0byBzZWUgdGhlIGxv
ZyBvZiB3aGF0IHJlc291cmNlcyBhcmUgbG9hZGVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IGJkOGMwODZhN2U5OTY2
MjY3YWQyMDZjYWE2M2ZiZDRjMDFmZTkwMjguLjhjYzRlMDkxYzRlNmJmZmI0NzEzMjg4ODE3ZjZi
MTU3YjYyMDVmMDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rl
c3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90
ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTI2NzMsMTEgKzI2NzMsNiBAQCBCVUc0NjYwMyA6IGZh
c3QvZnJhbWVzL2xvdHMtb2Ytb2JqZWN0cy5odG1sID0gUEFTUyBUSU1FT1VUCiAvLyBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6cGFnZVByb3BlcnR5IGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgQ2hyb21p
dW0geWV0LgogQlVHV0szNTk2MSA6IHByaW50aW5nL3BhZ2UtcnVsZS1zZWxlY3Rpb24uaHRtbCA9
IFRFWFQKIAotLy8gTmVlZHMgdG8gaW1wbGVtZW50IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBS
ZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKCkKLUJVRzQ2ODcyIDogZmFzdC9wcmVsb2FkZXIgPSBU
RVhUCi1CVUc0Njg3MiA6IGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC5odG1sID0g
VElNRU9VVAotQlVHNDY4NzIgOiBodHRwL3Rlc3RzL2xvYWRpbmcvcHJlbG9hZC1zbG93LWxvYWRp
bmcucGhwID0gVEVYVAotCiBCVUc0NzAzNSBXSU4gREVCVUcgOiBmYXN0L2xvYWRlci9zdGF0ZW9i
amVjdHMvZG9jdW1lbnQtZGVzdHJveWVkLW5hdmlnYXRlLWJhY2std2l0aC1mcmFnbWVudC1zY3Jv
bGwuaHRtbCA9IFBBU1MgVEVYVAogCiAvLyBDU1MzIEh5cGhlbmF0aW9uIGxhbmRlZCBpbiBodHRw
Oi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC82MTU0OApAQCAtMjc5OSw4ICsyNzk0LDYgQEAg
QlVHNDg4NTkgV0lOIDogZmFzdC9pbmxpbmUvY29udGludWF0aW9uLW91dGxpbmVzLXdpdGgtbGF5
ZXJzLTIuaHRtbCA9IElNQUdFK1RFWFQKIC8vIE5lZWQgaW52ZXN0aWdhdGlvbi4KIEJVR1dLMzgw
MTYgV0lOIDogc3ZnL2N1c3RvbS9mb3JlaWduLW9iamVjdC1za2V3LnN2ZyA9IEZBSUwKIAotQlVH
NDkwMzEgV0lOIExJTlVYIE1BQyA6IGh0dHAvdGVzdHMvbWltZS91cHBlcmNhc2UtbWltZS10eXBl
Lmh0bWwgPSBNSVNTSU5HCi0KIEJVRzQ5MDIxIDogdXNlcnNjcmlwdHMvbWl4ZWQtY2FzZS1zdHls
ZXNoZWV0Lmh0bWwgPSBURVhUCiBCVUc0OTAyMSA6IHVzZXJzY3JpcHRzL3NpbXBsZS1zdHlsZXNo
ZWV0Lmh0bWwgPSBURVhUCiBCVUc0OTAyMSA6IHVzZXJzY3JpcHRzL3VzZXItc3R5bGUtYWxsLWZy
YW1lcy5odG1sID0gVEVYVApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGU0ZmU4MTlmZDQ5NzY4Y2YwZWNlNTMxZWMyNjY1YmEz
YzRhNjc5YzMuLjUxOTdhZjc3MTQ5NGIxY2NjMDkyNTVjMTNkMmFmYjcwNmI3Mjg5YTkgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyNSBAQAorMjAxMC0wOS0wOSAgTWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBJbXBsZW1lbnQgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcFJlc291cmNlUmVzcG9uc2VN
SU1FVHlwZXMgaW4gQ2hyb21pdW0gRFJUCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00NTQ3OQorCisgICAgICAgIEltcGxlbWVudCBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyAobW9kZWxsZWQgYWZ0ZXIKKyAg
ICAgICAgaW1wbGVtZW50YXRpb24gaW4gUmVzb3VyY2VMb2FkRGVsZWdhdGUgaW4gdGhlIE1hYyBw
b3J0KS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250
cm9sbGVyLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29u
dHJvbGxlcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcFJlc291cmNlUmVz
cG9uc2VNSU1FVHlwZXMpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnJlc2V0KToK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5o
OgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFNob3VsZER1bXBSZXNvdXJjZVJl
c3BvbnNlTUlNRVR5cGVzKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzaG91bGRE
dW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vVGVzdFNoZWxsLmg6CisgICAgICAgIChUZXN0U2hlbGw6OnNob3VsZER1bXBSZXNv
dXJjZVJlc3BvbnNlTUlNRVR5cGVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJWaWV3SG9zdC5jcHA6CisgICAgICAgIChXZWJWaWV3SG9zdDo6ZGlkUmVjZWl2ZVJlc3Bv
bnNlKToKKwogMjAxMC0wOS0wOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFp
bC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjY3MTE5LgpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRy
b2xsZXIuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVz
dENvbnRyb2xsZXIuY3BwCmluZGV4IDhlMDhjNGNmOWU1NGNhNWRjMjgwNjIwOTk3NDQwY2I5Zjc2
NzNlYmYuLmY4OTYyNDFmYjRmMjcyMDY0ZjBlNmI3Zjc4N2Y5OTIyZGVkODU3ZWEgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9s
bGVyLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHAKQEAgLTgzLDYgKzgzLDcgQEAgTGF5b3V0VGVzdENvbnRyb2xsZXI6
OkxheW91dFRlc3RDb250cm9sbGVyKFRlc3RTaGVsbCogc2hlbGwpCiAgICAgYmluZE1ldGhvZCgi
ZHVtcEJhY2tGb3J3YXJkTGlzdCIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcEJhY2tGb3J3
YXJkTGlzdCk7CiAgICAgYmluZE1ldGhvZCgiZHVtcEZyYW1lTG9hZENhbGxiYWNrcyIsICZMYXlv
dXRUZXN0Q29udHJvbGxlcjo6ZHVtcEZyYW1lTG9hZENhbGxiYWNrcyk7CiAgICAgYmluZE1ldGhv
ZCgiZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVt
cFJlc291cmNlTG9hZENhbGxiYWNrcyk7CisgICAgYmluZE1ldGhvZCgiZHVtcFJlc291cmNlUmVz
cG9uc2VNSU1FVHlwZXMiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBSZXNvdXJjZVJlc3Bv
bnNlTUlNRVR5cGVzKTsKICAgICBiaW5kTWV0aG9kKCJkdW1wU3RhdHVzQ2FsbGJhY2tzIiwgJkxh
eW91dFRlc3RDb250cm9sbGVyOjpkdW1wV2luZG93U3RhdHVzQ2hhbmdlcyk7CiAgICAgYmluZE1l
dGhvZCgiZHVtcFRpdGxlQ2hhbmdlcyIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcFRpdGxl
Q2hhbmdlcyk7CiAgICAgYmluZE1ldGhvZCgic2V0QWNjZXB0c0VkaXRpbmciLCAmTGF5b3V0VGVz
dENvbnRyb2xsZXI6OnNldEFjY2VwdHNFZGl0aW5nKTsKQEAgLTI4NSw2ICsyODYsMTIgQEAgdm9p
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyhjb25zdCBD
cHBBcmd1bWVudExpc3QmLCBDcHAKICAgICByZXN1bHQtPnNldE51bGwoKTsKIH0KIAordm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoY29uc3Qg
Q3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCogcmVzdWx0KQoreworICAgIG1fZHVtcFJlc291
cmNlUmVzcG9uc2VNSU1FVHlwZXMgPSB0cnVlOworICAgIHJlc3VsdC0+c2V0TnVsbCgpOworfQor
CiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpkdW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9u
cyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7CiAgICAgbV9k
dW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9ucyA9IHRydWU7CkBAIC00ODAsNiArNDg3LDcgQEAg
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6cmVzZXQoKQogICAgIG1fZHVtcEVkaXRpbmdDYWxs
YmFja3MgPSBmYWxzZTsKICAgICBtX2R1bXBGcmFtZUxvYWRDYWxsYmFja3MgPSBmYWxzZTsKICAg
ICBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MgPSBmYWxzZTsKKyAgICBtX2R1bXBSZXNvdXJj
ZVJlc3BvbnNlTUlNRVR5cGVzID0gZmFsc2U7CiAgICAgbV9kdW1wQmFja0ZvcndhcmRMaXN0ID0g
ZmFsc2U7CiAgICAgbV9kdW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9ucyA9IGZhbHNlOwogICAg
IG1fZHVtcENoaWxkRnJhbWVzQXNUZXh0ID0gZmFsc2U7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRl
eCA1NWM4YzhiYjIzODI2NGMwMjNlZDY5MmI0NGQ0YWI5OWU0ZjVjNjBlLi4yNjhiZWQ1NTE1NDdj
ZjIwOTZhYzM0NmUxNDZhZDU2ODUyMzBlOGMzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCisrKyBiL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmgKQEAgLTk2
LDYgKzk2LDE2IEBAIHB1YmxpYzoKICAgICAvLyBkdW1wIGFsbCBmcmFtZXMgYXMgcGxhaW4gdGV4
dCBpZiB0aGUgZHVtcEFzVGV4dCBmbGFnIGlzIHNldC4KICAgICAvLyBJdCB0YWtlcyBubyBhcmd1
bWVudHMsIGFuZCBpZ25vcmVzIGFueSB0aGF0IG1heSBiZSBwcmVzZW50LgogICAgIHZvaWQgZHVt
cENoaWxkRnJhbWVzQXNUZXh0KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsK
KyAgICAKKyAgICAvLyBUaGlzIGZ1bmN0aW9uIHNldHMgYSBmbGFnIHRoYXQgdGVsbHMgdGhlIHRl
c3Rfc2hlbGwgdG8gZHVtcCBhIGRlc2NyaXB0aXZlCisgICAgLy8gbGluZSBmb3IgZWFjaCByZXNv
dXJjZSBsb2FkIGNhbGxiYWNrLiBJdCB0YWtlcyBubyBhcmd1bWVudHMsIGFuZCBpZ25vcmVzCisg
ICAgLy8gYW55IHRoYXQgbWF5IGJlIHByZXNlbnQuCisgICAgdm9pZCBkdW1wUmVzb3VyY2VMb2Fk
Q2FsbGJhY2tzKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsgICAgCisgICAg
CisgICAgLy8gVGhpcyBmdW5jdGlvbiBzZXRzIGEgZmxhZyB0aGF0IHRlbGxzIHRoZSB0ZXN0X3No
ZWxsIHRvIGR1bXAgdGhlIE1JTUUgdHlwZQorICAgIC8vIGZvciBlYWNoIHJlc291cmNlIHRoYXQg
d2FzIGxvYWRlZC4gSXQgdGFrZXMgbm8gYXJndW1lbnRzLCBhbmQgaWdub3JlcyBhbnkKKyAgICAv
LyB0aGF0IG1heSBiZSBwcmVzZW50LgorICAgIHZvaWQgZHVtcFJlc291cmNlUmVzcG9uc2VNSU1F
VHlwZXMoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogCiAgICAgLy8gVGhp
cyBmdW5jdGlvbiBzZXRzIGEgZmxhZyB0aGF0IHRlbGxzIHRoZSB0ZXN0X3NoZWxsIHRvIGR1bXAg
YWxsIGNhbGxzCiAgICAgLy8gdG8gd2luZG93LnN0YXR1cygpLgpAQCAtMjI2LDcgKzIzNiw2IEBA
IHB1YmxpYzoKICAgICAvLyBhcmUgbmVlZGVkIHRvIHBhc3MgdGhlIGxheW91dCB0ZXN0cy4KICAg
ICB2b2lkIGR1bXBBc1dlYkFyY2hpdmUoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFu
dCopOwogICAgIHZvaWQgZHVtcFRpdGxlQ2hhbmdlcyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBD
cHBWYXJpYW50Kik7Ci0gICAgdm9pZCBkdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKGNvbnN0IENw
cEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKICAgICB2b2lkIHNldE1haW5GcmFtZUlzRmly
c3RSZXNwb25kZXIoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZv
aWQgZGlzcGxheShjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9p
ZCB0ZXN0UmVwYWludChjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CkBAIC0z
MjMsNiArMzMyLDggQEAgcHVibGljOgogICAgIGJvb2wgc2hvdWxkRHVtcEZyYW1lTG9hZENhbGxi
YWNrcygpIHsgcmV0dXJuIG1fZHVtcEZyYW1lTG9hZENhbGxiYWNrczsgfQogICAgIHZvaWQgc2V0
U2hvdWxkRHVtcEZyYW1lTG9hZENhbGxiYWNrcyhib29sIHZhbHVlKSB7IG1fZHVtcEZyYW1lTG9h
ZENhbGxiYWNrcyA9IHZhbHVlOyB9CiAgICAgYm9vbCBzaG91bGREdW1wUmVzb3VyY2VMb2FkQ2Fs
bGJhY2tzKCkge3JldHVybiBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3M7IH0KKyAgICB2b2lk
IHNldFNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKGJvb2wgdmFsdWUpIHsgbV9k
dW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyA9IHZhbHVlOyB9CisgICAgYm9vbCBzaG91bGRE
dW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcygpIHtyZXR1cm4gbV9kdW1wUmVzb3VyY2VSZXNw
b25zZU1JTUVUeXBlczsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFN0YXR1c0NhbGxiYWNrcygpIHsg
cmV0dXJuIG1fZHVtcFdpbmRvd1N0YXR1c0NoYW5nZXM7IH0KICAgICBib29sIHNob3VsZER1bXBT
ZWxlY3Rpb25SZWN0KCkgeyByZXR1cm4gbV9kdW1wU2VsZWN0aW9uUmVjdDsgfQogICAgIGJvb2wg
c2hvdWxkRHVtcEJhY2tGb3J3YXJkTGlzdCgpIHsgcmV0dXJuIG1fZHVtcEJhY2tGb3J3YXJkTGlz
dDsgfQpAQCAtNDQyLDYgKzQ1MywxMCBAQCBwcml2YXRlOgogICAgIC8vIElmIHRydWUsIHRoZSB0
ZXN0X3NoZWxsIHdpbGwgb3V0cHV0IGEgZGVzY3JpcHRpdmUgbGluZSBmb3IgZWFjaCByZXNvdXJj
ZQogICAgIC8vIGxvYWQgY2FsbGJhY2suCiAgICAgYm9vbCBtX2R1bXBSZXNvdXJjZUxvYWRDYWxs
YmFja3M7CisgICAgCisgICAgLy8gSWYgdHJ1ZSwgdGhlIHRlc3Rfc2hlbGwgd2lsbCBvdXRwdXQg
dGhlIE1JTUUgdHlwZSBmb3IgZWFjaCByZXNvdXJjZSB0aGF0IAorICAgIC8vIHdhcyBsb2FkZWQu
CisgICAgYm9vbCBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzOwogCiAgICAgLy8gSWYg
dHJ1ZSwgdGhlIHRlc3Rfc2hlbGwgd2lsbCBwcm9kdWNlIGEgZHVtcCBvZiB0aGUgYmFjayBmb3J3
YXJkIGxpc3QgYXMKICAgICAvLyB3ZWxsLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0U2hlbGwuaAppbmRleCBjYjVmODYyZjkwNmM4MDRmNzQ2YjViNGFiMDUw
NGIxNGRjOGU0YWYzLi5kM2VkNWZhNmFhZTU3ZWE5NWYwNGJjMDlmMDYzY2VhMDU3MmI1NTczIDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwu
aAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaApA
QCAtMTA3LDYgKzEwNyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEZvY3VzKFdlYktpdDo6V2Vi
V2lkZ2V0KiwgYm9vbCBlbmFibGUpOwogICAgIGJvb2wgc2hvdWxkRHVtcEZyYW1lTG9hZENhbGxi
YWNrcygpIGNvbnN0IHsgcmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRp
bmcpICYmIGxheW91dFRlc3RDb250cm9sbGVyKCktPnNob3VsZER1bXBGcmFtZUxvYWRDYWxsYmFj
a3MoKTsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlTG9hZENhbGxiYWNrcygpIGNvbnN0
ICB7IHJldHVybiAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5nKSAmJiBsYXlv
dXRUZXN0Q29udHJvbGxlcigpLT5zaG91bGREdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCk7IH0K
KyAgICBib29sIHNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKCkgY29uc3QgIHsg
cmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRpbmcpICYmIGxheW91dFRl
c3RDb250cm9sbGVyKCktPnNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKCk7IH0K
ICAgICB2b2lkIHNldElzTG9hZGluZyhib29sIGZsYWcpIHsgbV9pc0xvYWRpbmcgPSBmbGFnOyB9
CiAKICAgICAvLyBDYWxsZWQgYnkgdGhlIExheW91dFRlc3RDb250cm9sbGVyIHRvIHNpZ25hbCB0
ZXN0IGNvbXBsZXRpb24uCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJWaWV3SG9zdC5jcHAKaW5kZXggZmFlM2Y1NjIyMDM0MjI1MjUxN2U1ZmNlZmM2NWY5
YTE3M2MyOGY5ZS4uOTJkYWEyNTcwMGJkOTAyZDNiYTY2MzY3NzUxOGFiMmJiNGE5ZThkNCAxMDA2
NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3Qu
Y3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0
LmNwcApAQCAtOTE1LDEyICs5MTUsMjAgQEAgdm9pZCBXZWJWaWV3SG9zdDo6d2lsbFNlbmRSZXF1
ZXN0KFdlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllciwgV2ViVVJMUmVxdWVzdCYKIAogdm9p
ZCBXZWJWaWV3SG9zdDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFdlYkZyYW1lKiwgdW5zaWduZWQgaWRl
bnRpZmllciwgY29uc3QgV2ViVVJMUmVzcG9uc2UmIHJlc3BvbnNlKQogewotICAgIGlmICghbV9z
aGVsbC0+c2hvdWxkRHVtcFJlc291cmNlTG9hZENhbGxiYWNrcygpKQotICAgICAgICByZXR1cm47
Ci0gICAgcHJpbnRSZXNvdXJjZURlc2NyaXB0aW9uKGlkZW50aWZpZXIpOwotICAgIGZwdXRzKCIg
LSBkaWRSZWNlaXZlUmVzcG9uc2UgIiwgc3Rkb3V0KTsKLSAgICBwcmludFJlc3BvbnNlRGVzY3Jp
cHRpb24ocmVzcG9uc2UpOwotICAgIGZwdXRzKCJcbiIsIHN0ZG91dCk7CisgICAgaWYgKG1fc2hl
bGwtPnNob3VsZER1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoKSkgeworICAgICAgICBwcmludFJl
c291cmNlRGVzY3JpcHRpb24oaWRlbnRpZmllcik7CisgICAgICAgIGZwdXRzKCIgLSBkaWRSZWNl
aXZlUmVzcG9uc2UgIiwgc3Rkb3V0KTsKKyAgICAgICAgcHJpbnRSZXNwb25zZURlc2NyaXB0aW9u
KHJlc3BvbnNlKTsKKyAgICAgICAgZnB1dHMoIlxuIiwgc3Rkb3V0KTsKKyAgICB9CisgICAgaWYg
KG1fc2hlbGwtPnNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKCkpIHsKKyAgICAg
ICAgR1VSTCB1cmwgPSByZXNwb25zZS51cmwoKTsKKyAgICAgICAgV2ViU3RyaW5nIG1pbWVUeXBl
ID0gcmVzcG9uc2UubWltZVR5cGUoKTsKKyAgICAgICAgcHJpbnRmKCIlcyBoYXMgTUlNRSB0eXBl
ICVzXG4iLAorICAgICAgICAgICAgdXJsLkV4dHJhY3RGaWxlTmFtZSgpLmNfc3RyKCksCisgICAg
ICAgICAgICAvLyBTaW11bGF0ZSBOU1VSTFJlc3BvbnNlJ3MgbWFwcGluZyBvZiBlbXB0eS91bmtu
b3duIE1JTUUgdHlwZXMgdG8gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCisgICAgICAgICAgICBt
aW1lVHlwZS5pc0VtcHR5KCkgPyAiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiA6IG1pbWVUeXBl
LnV0ZjgoKS5kYXRhKCkpOworICAgIH0KIH0KIAogdm9pZCBXZWJWaWV3SG9zdDo6ZGlkRmluaXNo
UmVzb3VyY2VMb2FkKFdlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllcikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67272</attachid>
            <date>2010-09-10 17:33:30 -0700</date>
            <delta_ts>2010-09-11 02:49:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45479-20100910173328.patch</filename>
            <type>text/plain</type>
            <size>12537</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzMGRlNDRmYTZjOTZkMjZlMWFiY2FhNGMwZjU5ODNkZWJjNWQ2NWUzLi4zNmIyN2Q4
MWI4ZjY4OTE1MDJkYTMyMjZlY2Y0MmJlMjgxZTQ5MmFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTAtMDktMTAgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzIGluIENocm9t
aXVtIERSVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDU0NzkKKworICAgICAgICBSZW1vdmUgdGVzdHMgZnJvbSBDaHJvbWl1bSBleHBlY3RhdGlvbnMg
dGhhdCBub3cgcGFzcy4gQWRkCisgICAgICAgIENocm9taXVtL0xpbnV4IGV4cGVjdGF0aW9ucyBm
b3IgdGhlIHNjcmlwdCB0ZXN0LCBzaW5jZSBpdCByZXBvcnRzIGEKKyAgICAgICAgZGlmZmVyZW50
IE1JTUUgdHlwZSAoYXBwbGljYXRpb24vamF2YXNjcmlwdCB2cy4KKyAgICAgICAgYXBwbGljYXRp
b24veC1qYXZhc2NyaXB0KS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zh
c3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9wcmVsb2FkZXIvc2NyaXB0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3Qv
ZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorCiAyMDEwLTA5
LTEwICBUb255IEdlbnRpbGNvcmUgIDx0b255Z0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS1saW51eC9mYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0Y2gtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9kb20vSFRNTExp
bmtFbGVtZW50L3ByZWZldGNoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYTM0NjhmMTgyMTA5N2EyNmQ3MTRiMjEyODgxYTNmNmVjMWNmMDNkMy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0Y2gtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgNjogVW5jYXVnaHQgVHlwZUVycm9yOiBPYmplY3QgW29iamVjdCBPYmplY3RdIGhhcyBubyBt
ZXRob2QgJ2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzJwotCi1UaGlzIHRlc3QgcmVxdWly
ZXMgRHVtcFJlbmRlclRyZWUgdG8gc2VlIHRoZSBsb2cgb2Ygd2hhdCByZXNvdXJjZXMgYXJlIGxv
YWRlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zh
c3QvcHJlbG9hZGVyL3NjcmlwdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS1saW51eC9mYXN0L3ByZWxvYWRlci9zY3JpcHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQ0NzYyYzE5MGYyNzc0NDNkZjllZjkxNzBhNzc0YmYyMDA1MTIwYTAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L3ByZWxvYWRl
ci9zY3JpcHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorc2NyaXB0MS5qcyBoYXMgTUlN
RSB0eXBlIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQKK1RoaXMgdGVzdCByZXF1aXJlcyBEdW1wUmVu
ZGVyVHJlZSB0byBzZWUgdGhlIGxvZyBvZiB3aGF0IHJlc291cmNlcyBhcmUgbG9hZGVkLgorCis8
c2NyaXB0IHNyYz1yZXNvdXJjZXMvc2NyaXB0MS5qcz48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9mYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQv
cHJlZmV0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFj
L2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEzNDY4ZjE4MjEwOTdhMjZkNzE0YjIxMjg4MWEzZjZlYzFj
ZjAzZDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9w
cmVmZXRjaC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSA2OiBVbmNhdWdodCBUeXBlRXJyb3I6IE9iamVjdCBbb2JqZWN0IE9i
amVjdF0gaGFzIG5vIG1ldGhvZCAnZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMnCi0KLVRo
aXMgdGVzdCByZXF1aXJlcyBEdW1wUmVuZGVyVHJlZSB0byBzZWUgdGhlIGxvZyBvZiB3aGF0IHJl
c291cmNlcyBhcmUgbG9hZGVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IDZlNTliNTI0ZDJmZDNiNmQyYTUwN2VhMTY0
YWY3YTkwYzYwN2JiMzUuLmE1OGJhNDdlMjNiYmQ0ZDA1OTljYTVmMWQ5NzVmYmE1MzNkNWRlYjIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRp
b25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0
aW9ucy50eHQKQEAgLTI2NzQsMTQgKzI2NzQsNiBAQCBCVUc0NjYwMyA6IGZhc3QvZnJhbWVzL2xv
dHMtb2Ytb2JqZWN0cy5odG1sID0gUEFTUyBUSU1FT1VUCiAvLyBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6cGFnZVByb3BlcnR5IGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgQ2hyb21pdW0geWV0LgogQlVH
V0szNTk2MSA6IHByaW50aW5nL3BhZ2UtcnVsZS1zZWxlY3Rpb24uaHRtbCA9IFRFWFQKIAotLy8g
TmVlZHMgdG8gaW1wbGVtZW50IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBSZXNvdXJjZVJlc3Bv
bnNlTUlNRVR5cGVzKCkKLUJVRzQ2ODcyIDogZmFzdC9wcmVsb2FkZXIgPSBURVhUCi1CVUc0Njg3
MiA6IGZhc3QvcHJlbG9hZGVyL2ltYWdlLmh0bWwgPSBQQVNTCi1CVUc0Njg3MiA6IGZhc3QvcHJl
bG9hZGVyL2xpbmsuaHRtbCA9IFBBU1MKLUJVRzQ2ODcyIDogZmFzdC9wcmVsb2FkZXIvbm9zY3Jp
cHQuaHRtbCA9IFBBU1MKLUJVRzQ2ODcyIDogZmFzdC9wcmVsb2FkZXIvc3R5bGUuaHRtbCA9IFBB
U1MKLUJVRzQ2ODcyIE1BQyBMSU5VWCA6IGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRj
aC5odG1sID0gVEVYVAotCiBCVUc0NzAzNSBXSU4gREVCVUcgOiBmYXN0L2xvYWRlci9zdGF0ZW9i
amVjdHMvZG9jdW1lbnQtZGVzdHJveWVkLW5hdmlnYXRlLWJhY2std2l0aC1mcmFnbWVudC1zY3Jv
bGwuaHRtbCA9IFBBU1MgVEVYVAogCiAvLyBDU1MzIEh5cGhlbmF0aW9uIGxhbmRlZCBpbiBodHRw
Oi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC82MTU0OApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDExZjg3Yzk5YTAzZmMz
NjYxZWQxNTY2YzgyNTBkMDdkMWYyMTFiN2IuLmY1MjI0OTdlYmM4ODM3MWE5MzBjMjUyMGExMzM0
OTNmZTI4YmU4ODggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJL
aXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMC0wOS0xMCAgTWloYWkgUGFy
cGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMgaW4gQ2hyb21pdW0gRFJUCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTQ3OQorCisgICAgICAgIEltcGxl
bWVudCBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyAo
bW9kZWxsZWQgYWZ0ZXIKKyAgICAgICAgaW1wbGVtZW50YXRpb24gaW4gUmVzb3VyY2VMb2FkRGVs
ZWdhdGUgaW4gdGhlIE1hYyBwb3J0KS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9s
bGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxl
cjo6ZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMpOgorICAgICAgICAoTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnJlc2V0KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlv
dXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFNo
b3VsZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKToKKyAgICAgICAgKExheW91dFRlc3RD
b250cm9sbGVyOjpzaG91bGREdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyk6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmg6CisgICAgICAgIChUZXN0U2hl
bGw6OnNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKToKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHA6CisgICAgICAgIChXZWJWaWV3SG9z
dDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKwogMjAxMC0wOS0xMCAgVG9ueSBDaGFuZyAgPHRvbnlA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2NzI0MS4K
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRl
c3RDb250cm9sbGVyLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xh
eW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCA2Zjk2MmJmOTRjNTZiYmNmZTgwOTRmYmIxNzYx
NDQ0NjAwZjM2YjZlLi43MTk0NjM0ZDBlNmRiOThhNmEyMTZmZjliNzRjMDg4MzI2YzY4NDMwIDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0
Q29udHJvbGxlci5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
TGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC04NSw2ICs4NSw3IEBAIExheW91dFRlc3RDb250
cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihUZXN0U2hlbGwqIHNoZWxsKQogICAgIGJpbmRN
ZXRob2QoImR1bXBCYWNrRm9yd2FyZExpc3QiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBC
YWNrRm9yd2FyZExpc3QpOwogICAgIGJpbmRNZXRob2QoImR1bXBGcmFtZUxvYWRDYWxsYmFja3Mi
LCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBGcmFtZUxvYWRDYWxsYmFja3MpOwogICAgIGJp
bmRNZXRob2QoImR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MiLCAmTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OmR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MpOworICAgIGJpbmRNZXRob2QoImR1bXBSZXNv
dXJjZVJlc3BvbnNlTUlNRVR5cGVzIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpkdW1wUmVzb3Vy
Y2VSZXNwb25zZU1JTUVUeXBlcyk7CiAgICAgYmluZE1ldGhvZCgiZHVtcFN0YXR1c0NhbGxiYWNr
cyIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcFdpbmRvd1N0YXR1c0NoYW5nZXMpOwogICAg
IGJpbmRNZXRob2QoImR1bXBUaXRsZUNoYW5nZXMiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1
bXBUaXRsZUNoYW5nZXMpOwogICAgIGJpbmRNZXRob2QoInNldEFjY2VwdHNFZGl0aW5nIiwgJkxh
eW91dFRlc3RDb250cm9sbGVyOjpzZXRBY2NlcHRzRWRpdGluZyk7CkBAIC0yOTEsNiArMjkyLDEy
IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3Mo
Y29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwCiAgICAgcmVzdWx0LT5zZXROdWxsKCk7CiB9CiAK
K3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVz
KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICBtX2R1
bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzID0gdHJ1ZTsKKyAgICByZXN1bHQtPnNldE51bGwo
KTsKK30KKwogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcENoaWxkRnJhbWVTY3JvbGxQ
b3NpdGlvbnMoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCogcmVzdWx0KQogewog
ICAgIG1fZHVtcENoaWxkRnJhbWVTY3JvbGxQb3NpdGlvbnMgPSB0cnVlOwpAQCAtNDg2LDYgKzQ5
Myw3IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnJlc2V0KCkKICAgICBtX2R1bXBFZGl0
aW5nQ2FsbGJhY2tzID0gZmFsc2U7CiAgICAgbV9kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzID0gZmFs
c2U7CiAgICAgbV9kdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzID0gZmFsc2U7CisgICAgbV9kdW1w
UmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyA9IGZhbHNlOwogICAgIG1fZHVtcEJhY2tGb3J3YXJk
TGlzdCA9IGZhbHNlOwogICAgIG1fZHVtcENoaWxkRnJhbWVTY3JvbGxQb3NpdGlvbnMgPSBmYWxz
ZTsKICAgICBtX2R1bXBDaGlsZEZyYW1lc0FzVGV4dCA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVy
LmgKaW5kZXggN2JiMjJjYTY4YzhlNmRiN2I3YzZjM2JiZjIxYmQ0ODFiZGRhMzlhZS4uYmMxYmFk
NDc2MzU5OWMyZTRiZGRmZDJiZDNkZWMwYmRlYjgzZmE3MCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaAorKysgYi9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5o
CkBAIC0xMDAsNiArMTAwLDE2IEBAIHB1YmxpYzoKICAgICAvLyBkdW1wIGFsbCBmcmFtZXMgYXMg
cGxhaW4gdGV4dCBpZiB0aGUgZHVtcEFzVGV4dCBmbGFnIGlzIHNldC4KICAgICAvLyBJdCB0YWtl
cyBubyBhcmd1bWVudHMsIGFuZCBpZ25vcmVzIGFueSB0aGF0IG1heSBiZSBwcmVzZW50LgogICAg
IHZvaWQgZHVtcENoaWxkRnJhbWVzQXNUZXh0KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZh
cmlhbnQqKTsKKyAgICAKKyAgICAvLyBUaGlzIGZ1bmN0aW9uIHNldHMgYSBmbGFnIHRoYXQgdGVs
bHMgdGhlIHRlc3Rfc2hlbGwgdG8gZHVtcCBhIGRlc2NyaXB0aXZlCisgICAgLy8gbGluZSBmb3Ig
ZWFjaCByZXNvdXJjZSBsb2FkIGNhbGxiYWNrLiBJdCB0YWtlcyBubyBhcmd1bWVudHMsIGFuZCBp
Z25vcmVzCisgICAgLy8gYW55IHRoYXQgbWF5IGJlIHByZXNlbnQuCisgICAgdm9pZCBkdW1wUmVz
b3VyY2VMb2FkQ2FsbGJhY2tzKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsg
ICAgCisgICAgCisgICAgLy8gVGhpcyBmdW5jdGlvbiBzZXRzIGEgZmxhZyB0aGF0IHRlbGxzIHRo
ZSB0ZXN0X3NoZWxsIHRvIGR1bXAgdGhlIE1JTUUgdHlwZQorICAgIC8vIGZvciBlYWNoIHJlc291
cmNlIHRoYXQgd2FzIGxvYWRlZC4gSXQgdGFrZXMgbm8gYXJndW1lbnRzLCBhbmQgaWdub3JlcyBh
bnkKKyAgICAvLyB0aGF0IG1heSBiZSBwcmVzZW50LgorICAgIHZvaWQgZHVtcFJlc291cmNlUmVz
cG9uc2VNSU1FVHlwZXMoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogCiAg
ICAgLy8gVGhpcyBmdW5jdGlvbiBzZXRzIGEgZmxhZyB0aGF0IHRlbGxzIHRoZSB0ZXN0X3NoZWxs
IHRvIGR1bXAgYWxsIGNhbGxzCiAgICAgLy8gdG8gd2luZG93LnN0YXR1cygpLgpAQCAtMjMwLDcg
KzI0MCw2IEBAIHB1YmxpYzoKICAgICAvLyBhcmUgbmVlZGVkIHRvIHBhc3MgdGhlIGxheW91dCB0
ZXN0cy4KICAgICB2b2lkIGR1bXBBc1dlYkFyY2hpdmUoY29uc3QgQ3BwQXJndW1lbnRMaXN0Jiwg
Q3BwVmFyaWFudCopOwogICAgIHZvaWQgZHVtcFRpdGxlQ2hhbmdlcyhjb25zdCBDcHBBcmd1bWVu
dExpc3QmLCBDcHBWYXJpYW50Kik7Ci0gICAgdm9pZCBkdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tz
KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKICAgICB2b2lkIHNldE1haW5G
cmFtZUlzRmlyc3RSZXNwb25kZXIoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCop
OwogICAgIHZvaWQgZGlzcGxheShjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7
CiAgICAgdm9pZCB0ZXN0UmVwYWludChjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50
Kik7CkBAIC0zMjgsNiArMzM3LDggQEAgcHVibGljOgogICAgIGJvb2wgc2hvdWxkRHVtcEZyYW1l
TG9hZENhbGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcEZyYW1lTG9hZENhbGxiYWNrczsgfQogICAg
IHZvaWQgc2V0U2hvdWxkRHVtcEZyYW1lTG9hZENhbGxiYWNrcyhib29sIHZhbHVlKSB7IG1fZHVt
cEZyYW1lTG9hZENhbGxiYWNrcyA9IHZhbHVlOyB9CiAgICAgYm9vbCBzaG91bGREdW1wUmVzb3Vy
Y2VMb2FkQ2FsbGJhY2tzKCkge3JldHVybiBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3M7IH0K
KyAgICB2b2lkIHNldFNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKGJvb2wgdmFs
dWUpIHsgbV9kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyA9IHZhbHVlOyB9CisgICAgYm9v
bCBzaG91bGREdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcygpIHtyZXR1cm4gbV9kdW1wUmVz
b3VyY2VSZXNwb25zZU1JTUVUeXBlczsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFN0YXR1c0NhbGxi
YWNrcygpIHsgcmV0dXJuIG1fZHVtcFdpbmRvd1N0YXR1c0NoYW5nZXM7IH0KICAgICBib29sIHNo
b3VsZER1bXBTZWxlY3Rpb25SZWN0KCkgeyByZXR1cm4gbV9kdW1wU2VsZWN0aW9uUmVjdDsgfQog
ICAgIGJvb2wgc2hvdWxkRHVtcEJhY2tGb3J3YXJkTGlzdCgpIHsgcmV0dXJuIG1fZHVtcEJhY2tG
b3J3YXJkTGlzdDsgfQpAQCAtNDQ3LDYgKzQ1OCwxMCBAQCBwcml2YXRlOgogICAgIC8vIElmIHRy
dWUsIHRoZSB0ZXN0X3NoZWxsIHdpbGwgb3V0cHV0IGEgZGVzY3JpcHRpdmUgbGluZSBmb3IgZWFj
aCByZXNvdXJjZQogICAgIC8vIGxvYWQgY2FsbGJhY2suCiAgICAgYm9vbCBtX2R1bXBSZXNvdXJj
ZUxvYWRDYWxsYmFja3M7CisgICAgCisgICAgLy8gSWYgdHJ1ZSwgdGhlIHRlc3Rfc2hlbGwgd2ls
bCBvdXRwdXQgdGhlIE1JTUUgdHlwZSBmb3IgZWFjaCByZXNvdXJjZSB0aGF0IAorICAgIC8vIHdh
cyBsb2FkZWQuCisgICAgYm9vbCBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzOwogCiAg
ICAgLy8gSWYgdHJ1ZSwgdGhlIHRlc3Rfc2hlbGwgd2lsbCBwcm9kdWNlIGEgZHVtcCBvZiB0aGUg
YmFjayBmb3J3YXJkIGxpc3QgYXMKICAgICAvLyB3ZWxsLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmggYi9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaAppbmRleCBjYjVmODYyZjkwNmM4MDRmNzQ2
YjViNGFiMDUwNGIxNGRjOGU0YWYzLi5kM2VkNWZhNmFhZTU3ZWE5NWYwNGJjMDlmMDYzY2VhMDU3
MmI1NTczIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9U
ZXN0U2hlbGwuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
U2hlbGwuaApAQCAtMTA3LDYgKzEwNyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEZvY3VzKFdl
YktpdDo6V2ViV2lkZ2V0KiwgYm9vbCBlbmFibGUpOwogICAgIGJvb2wgc2hvdWxkRHVtcEZyYW1l
TG9hZENhbGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8fCBtX3Rl
c3RJc1BlbmRpbmcpICYmIGxheW91dFRlc3RDb250cm9sbGVyKCktPnNob3VsZER1bXBGcmFtZUxv
YWRDYWxsYmFja3MoKTsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlTG9hZENhbGxiYWNr
cygpIGNvbnN0ICB7IHJldHVybiAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5n
KSAmJiBsYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zaG91bGREdW1wUmVzb3VyY2VMb2FkQ2FsbGJh
Y2tzKCk7IH0KKyAgICBib29sIHNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKCkg
Y29uc3QgIHsgcmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRpbmcpICYm
IGxheW91dFRlc3RDb250cm9sbGVyKCktPnNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5
cGVzKCk7IH0KICAgICB2b2lkIHNldElzTG9hZGluZyhib29sIGZsYWcpIHsgbV9pc0xvYWRpbmcg
PSBmbGFnOyB9CiAKICAgICAvLyBDYWxsZWQgYnkgdGhlIExheW91dFRlc3RDb250cm9sbGVyIHRv
IHNpZ25hbCB0ZXN0IGNvbXBsZXRpb24uCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKaW5kZXggMWUzYTRkNjUyYWZkNGVkOTQ4MTQx
NjUwNTZmODE2MDBhOTRlNTUzYS4uZGJhZGVhMjVmODg2ZWJjYTY5MWIxZjJhNDY1MWJjZjVlMDRj
ZDNlNSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2Vi
Vmlld0hvc3QuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dl
YlZpZXdIb3N0LmNwcApAQCAtOTIwLDEyICs5MjAsMjAgQEAgdm9pZCBXZWJWaWV3SG9zdDo6d2ls
bFNlbmRSZXF1ZXN0KFdlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllciwgV2ViVVJMUmVxdWVz
dCYKIAogdm9pZCBXZWJWaWV3SG9zdDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFdlYkZyYW1lKiwgdW5z
aWduZWQgaWRlbnRpZmllciwgY29uc3QgV2ViVVJMUmVzcG9uc2UmIHJlc3BvbnNlKQogewotICAg
IGlmICghbV9zaGVsbC0+c2hvdWxkRHVtcFJlc291cmNlTG9hZENhbGxiYWNrcygpKQotICAgICAg
ICByZXR1cm47Ci0gICAgcHJpbnRSZXNvdXJjZURlc2NyaXB0aW9uKGlkZW50aWZpZXIpOwotICAg
IGZwdXRzKCIgLSBkaWRSZWNlaXZlUmVzcG9uc2UgIiwgc3Rkb3V0KTsKLSAgICBwcmludFJlc3Bv
bnNlRGVzY3JpcHRpb24ocmVzcG9uc2UpOwotICAgIGZwdXRzKCJcbiIsIHN0ZG91dCk7CisgICAg
aWYgKG1fc2hlbGwtPnNob3VsZER1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoKSkgeworICAgICAg
ICBwcmludFJlc291cmNlRGVzY3JpcHRpb24oaWRlbnRpZmllcik7CisgICAgICAgIGZwdXRzKCIg
LSBkaWRSZWNlaXZlUmVzcG9uc2UgIiwgc3Rkb3V0KTsKKyAgICAgICAgcHJpbnRSZXNwb25zZURl
c2NyaXB0aW9uKHJlc3BvbnNlKTsKKyAgICAgICAgZnB1dHMoIlxuIiwgc3Rkb3V0KTsKKyAgICB9
CisgICAgaWYgKG1fc2hlbGwtPnNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKCkp
IHsKKyAgICAgICAgR1VSTCB1cmwgPSByZXNwb25zZS51cmwoKTsKKyAgICAgICAgV2ViU3RyaW5n
IG1pbWVUeXBlID0gcmVzcG9uc2UubWltZVR5cGUoKTsKKyAgICAgICAgcHJpbnRmKCIlcyBoYXMg
TUlNRSB0eXBlICVzXG4iLAorICAgICAgICAgICAgdXJsLkV4dHJhY3RGaWxlTmFtZSgpLmNfc3Ry
KCksCisgICAgICAgICAgICAvLyBTaW11bGF0ZSBOU1VSTFJlc3BvbnNlJ3MgbWFwcGluZyBvZiBl
bXB0eS91bmtub3duIE1JTUUgdHlwZXMgdG8gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCisgICAg
ICAgICAgICBtaW1lVHlwZS5pc0VtcHR5KCkgPyAiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiA6
IG1pbWVUeXBlLnV0ZjgoKS5kYXRhKCkpOworICAgIH0KIH0KIAogdm9pZCBXZWJWaWV3SG9zdDo6
ZGlkRmluaXNoUmVzb3VyY2VMb2FkKFdlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllcikK
</data>

          </attachment>
      

    </bug>

</bugzilla>