<?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>56139</bug_id>
          
          <creation_ts>2011-03-10 13:20:47 -0800</creation_ts>
          <short_desc>[Chromium] Make RenderAsTextBehavior and LayerTreeAsTextBehavior tweakable from the DumpRenderTree commandline</short_desc>
          <delta_ts>2011-03-21 13:02:20 -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>All</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>56355</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Daniel Sievers">sievers</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andreip</cc>
    
    <cc>commit-queue</cc>
    
    <cc>husky</cc>
    
    <cc>jamesr</cc>
    
    <cc>klobag</cc>
    
    <cc>levin</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>vangelis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>365479</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Sievers">sievers</who>
    <bug_when>2011-03-10 13:20:47 -0800</bug_when>
    <thetext>The &apos;LayerTreeAsTextDebug&apos; flag to GraphicsLayer::layerTreeAsText() as well as all the interesting &apos;RenderAsTextBehavior&apos; flags for dumping render trees are currently not reachable at runtime from chromium&apos;s DumpRenderTree.

I would like to add some plumbing to be able to optionally dump extra information.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365484</commentid>
    <comment_count>1</comment_count>
      <attachid>85384</attachid>
    <who name="Daniel Sievers">sievers</who>
    <bug_when>2011-03-10 13:23:35 -0800</bug_when>
    <thetext>Created attachment 85384
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365486</commentid>
    <comment_count>2</comment_count>
    <who name="Daniel Sievers">sievers</who>
    <bug_when>2011-03-10 13:28:31 -0800</bug_when>
    <thetext>Sample output for &apos;--debug-render-tree&apos; with Debug build:

layer 0x7f815400aaa8 at (8,202) size 104x104 (composited, bounds at (0,0) size 104x104)
    RenderPartObject 0x7f815408e9c8 {IFRAME} at (0,96) size 104x104 [border: (2px inset #000000)]
    

Sample output for &apos;--debug-layer-tree&apos; with Debug build:

(children 1
    (GraphicsLayer 0x46b9800 &quot;GraphicsLayerChromium(0x46b99f0) GraphicsLayer(0x46b9800) RenderBlock DIV&quot;
                              (position 18.00 10.00)
                              (bounds 110.00 110.00)
                              (drawsContent 1)
                              (client 0x46b97a0)

Note that names are not available in Release DRT builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365488</commentid>
    <comment_count>3</comment_count>
      <attachid>85384</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-03-10 13:31:42 -0800</bug_when>
    <thetext>Comment on attachment 85384
Patch

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

&gt; Source/WebCore/ChangeLog:6
&gt; +        [Chromium] Make &amp;apos;RenderAsTextBehavior&amp;apos; and &amp;apos;LayerTreeAsTextBehavior&amp;apos; tweakable from DumpRenderTree&amp;apos;s commandline
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=56139

This isn&apos;t an XML or HTML file. Entities won&apos;t work.

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests. (OOPS!)

Remove.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365511</commentid>
    <comment_count>4</comment_count>
      <attachid>85385</attachid>
    <who name="Daniel Sievers">sievers</who>
    <bug_when>2011-03-10 13:58:16 -0800</bug_when>
    <thetext>Created attachment 85385
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365821</commentid>
    <comment_count>5</comment_count>
      <attachid>85385</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-10 22:16:11 -0800</bug_when>
    <thetext>Comment on attachment 85385
Patch

Rejecting attachment 85385 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-cq-sl&apos;, &apos;bu...&quot; exit_code: 2

Last 500 characters of output:
dule -compatibility_version 1 -current_version 534.24 -o /Projects/CommitQueue/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore

Undefined symbols:
  &quot;__ZNK7WebCore5Frame15layerTreeAsTextEv&quot;, referenced from:
     -exported_symbol[s_list] command line option
ld: symbol(s) not found
collect2: ld returned 1 exit status
** BUILD FAILED **


The following build commands failed:
WebCore:
	Ld /Projects/CommitQueue/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore normal x86_64
(1 failure)


Full output: http://queues.webkit.org/results/8149159</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366116</commentid>
    <comment_count>6</comment_count>
      <attachid>85493</attachid>
    <who name="Daniel Sievers">sievers</who>
    <bug_when>2011-03-11 10:57:49 -0800</bug_when>
    <thetext>Created attachment 85493
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366118</commentid>
    <comment_count>7</comment_count>
      <attachid>85493</attachid>
    <who name="Daniel Sievers">sievers</who>
    <bug_when>2011-03-11 10:58:37 -0800</bug_when>
    <thetext>Comment on attachment 85493
Patch

Updated the exported function signatures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367434</commentid>
    <comment_count>8</comment_count>
      <attachid>85493</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-14 18:56:52 -0700</bug_when>
    <thetext>Comment on attachment 85493
Patch

Clearing flags on attachment: 85493

Committed r81094: &lt;http://trac.webkit.org/changeset/81094&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367435</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-14 18:56:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367457</commentid>
    <comment_count>10</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-14 19:29:44 -0700</bug_when>
    <thetext>Sorry I had to roll this out (http://trac.webkit.org/changeset/81099). This caused breakage in Chromium land which you can see here:

http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.6/builds/590/steps/compile/logs/stdio

Here&apos;s a snippet from that build log:

/b/build/slave/Webkit_Mac10_6/build/src/webkit/glue/media/buffered_data_source_unittest.cc: In member function &apos;void webkit_glue::BufferedDataSourceTest::InitializeDataSource(const char*, int, bool, int64, webkit_glue::NetworkState)&apos;:
/b/build/slave/Webkit_Mac10_6/build/src/webkit/glue/media/buffered_data_source_unittest.cc:122:error: cannot allocate an object of abstract type &apos;testing::NiceMock&lt;webkit_glue::MockWebFrame&gt;&apos;
../testing/gmock/include/gmock/gmock-generated-nice-strict.h:68: note:   because the following virtual functions are pure within &apos;testing::NiceMock&lt;webkit_glue::MockWebFrame&gt;&apos;:
../third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h:552: note: 	virtual WebKit::WebString WebKit::WebFrame::renderTreeAsText(bool) const
../third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h:585: note: 	virtual WebKit::WebString WebKit::WebFrame::layerTreeAsText(bool) const</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370497</commentid>
    <comment_count>11</comment_count>
    <who name="Daniel Sievers">sievers</who>
    <bug_when>2011-03-21 11:31:33 -0700</bug_when>
    <thetext>Provisional fix for chromium landed (http://codereview.chromium.org/6677069/). This can be applied now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370850</commentid>
    <comment_count>12</comment_count>
      <attachid>85493</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-21 13:02:16 -0700</bug_when>
    <thetext>Comment on attachment 85493
Patch

Clearing flags on attachment: 85493

Committed r81603: &lt;http://trac.webkit.org/changeset/81603&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370851</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-21 13:02:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85384</attachid>
            <date>2011-03-10 13:23:35 -0800</date>
            <delta_ts>2011-03-10 13:58:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56139-20110310132334.patch</filename>
            <type>text/plain</type>
            <size>15701</size>
            <attacher name="Daniel Sievers">sievers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA3MzYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjNmRiYTU5Y2I3MGU4Yjll
MDlhYmY2Njg5Mjg1NjQ2ZDAzYzljYTg0Li40OTQzNjAyY2NjZTBiZGUyYjE0N2U2ZjljMDFmYWY3
YzI1NjMwMjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDMtMTAgIERhbmll
bCBTaWV2ZXJzICA8c2lldmVyc0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFtDaHJvbWl1bV0gTWFrZSAmYXBvcztSZW5kZXJBc1Rl
eHRCZWhhdmlvciZhcG9zOyBhbmQgJmFwb3M7TGF5ZXJUcmVlQXNUZXh0QmVoYXZpb3ImYXBvczsg
dHdlYWthYmxlIGZyb20gRHVtcFJlbmRlclRyZWUmYXBvcztzIGNvbW1hbmRsaW5lCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjEzOQorCisgICAgICAg
IE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZTo6bGF5ZXJUcmVlQXNUZXh0KToKKyAgICAgICAgKiBwYWdlL0Zy
YW1lLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmxheWVyVHJlZUFzVGV4dCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oOgorCiAyMDExLTAz
LTEwICBQcmF0aWsgU29sYW5raSAgPHBzb2xhbmtpQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCAzZTRi
YjJlYTI4ZjBlMzlmODJhN2U0ODgzMDZiM2EwZmUzYTJjMGM0Li4xOTFjZTI5Y2RiNjFiODM5MjZk
YzUyNmM0YmIyODlmNzA0NThjM2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtOTA2LDcgKzkw
Niw3IEBAIENvbG9yIEZyYW1lOjp0aWxlZEJhY2tpbmdTdG9yZUJhY2tncm91bmRDb2xvcigpIGNv
bnN0CiB9CiAjZW5kaWYKIAotU3RyaW5nIEZyYW1lOjpsYXllclRyZWVBc1RleHQoKSBjb25zdAor
U3RyaW5nIEZyYW1lOjpsYXllclRyZWVBc1RleHQoYm9vbCBzaG93RGVidWdJbmZvKSBjb25zdAog
ewogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBkb2N1bWVudCgpLT51cGRh
dGVMYXlvdXQoKTsKQEAgLTkxNCw3ICs5MTQsNyBAQCBTdHJpbmcgRnJhbWU6OmxheWVyVHJlZUFz
VGV4dCgpIGNvbnN0CiAgICAgaWYgKCFjb250ZW50UmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJu
IFN0cmluZygpOwogCi0gICAgcmV0dXJuIGNvbnRlbnRSZW5kZXJlcigpLT5jb21wb3NpdG9yKCkt
PmxheWVyVHJlZUFzVGV4dCgpOworICAgIHJldHVybiBjb250ZW50UmVuZGVyZXIoKS0+Y29tcG9z
aXRvcigpLT5sYXllclRyZWVBc1RleHQoc2hvd0RlYnVnSW5mbyk7CiAjZWxzZQogICAgIHJldHVy
biBTdHJpbmcoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCmluZGV4IDI1ZjhhYWNmYTYyY2U4MTg2
MjAxOGI5Y2RlNTJlMGIxYjk4ZGVjNTAuLmYyMmZjYjg2MWZhODM1NmZiOGE0YTFkNDY4YTJlMTk4
MDVjODBjYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKQEAgLTEyNyw3ICsxMjcsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICAgICAgdm9pZCBpbmplY3RVc2VyU2NyaXB0cyhVc2VyU2NyaXB0SW5q
ZWN0aW9uVGltZSk7CiAgICAgICAgIAotICAgICAgICBTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KCkg
Y29uc3Q7CisgICAgICAgIFN0cmluZyBsYXllclRyZWVBc1RleHQoYm9vbCBzaG93RGVidWdJbmZv
ID0gZmFsc2UpIGNvbnN0OwogCiAgICAgICAgIC8vIFVubGlrZSBtb3N0IGFjY2Vzc29ycyBpbiB0
aGlzIGNsYXNzLCBkb21XaW5kb3coKSBhbHdheXMgY3JlYXRlcyBhIG5ldyBET01XaW5kb3cgaWYg
bV9kb21XaW5kb3cgaXMgbnVsbC4KICAgICAgICAgLy8gQ2FsbGVycyB0aGF0IGRvbid0IG5lZWQg
YSBuZXcgRE9NV2luZG93IHRvIGJlIGNyZWF0ZWQgc2hvdWxkIHVzZSBleGlzdGluZ0RPTVdpbmRv
dygpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29t
cG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcAppbmRleCAyODVmMjJlNjYxN2IyZGQyMjNkOWNmNWY0Y2U3ZWI4M2FmNTVhNGI3Li4y
MGI5ZmVmNDcxODYwNjQyZjM1OGVhMzFjYTQ2N2E1ZDgyNjAyNDJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtODgwLDcg
Kzg4MCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpmcmFtZVZpZXdEaWRTY3JvbGwo
Y29uc3QgSW50UG9pbnQmIHNjcm9sbFBvc2l0aW9uKQogICAgICAgICBtX3Njcm9sbExheWVyLT5z
ZXRQb3NpdGlvbihGbG9hdFBvaW50KC1zY3JvbGxQb3NpdGlvbi54KCksIC1zY3JvbGxQb3NpdGlv
bi55KCkpKTsKIH0KIAotU3RyaW5nIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6bGF5ZXJUcmVlQXNU
ZXh0KCkKK1N0cmluZyBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmxheWVyVHJlZUFzVGV4dChib29s
IHNob3dEZWJ1Z0luZm8pCiB7CiAgICAgaWYgKGNvbXBvc2l0aW5nTGF5ZXJVcGRhdGVQZW5kaW5n
KCkpCiAgICAgICAgIHVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzKCk7CkBAIC04OTAsNyArODkwLDcg
QEAgU3RyaW5nIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6bGF5ZXJUcmVlQXNUZXh0KCkKIAogICAg
IC8vIFdlIHNraXAgZHVtcGluZyB0aGUgc2Nyb2xsIGFuZCBjbGlwIGxheWVycyB0byBrZWVwIGxh
eWVyVHJlZUFzVGV4dCBvdXRwdXQKICAgICAvLyBzaW1pbGFyIGJldHdlZW4gcGxhdGZvcm1zLgot
ICAgIHJldHVybiBtX3Jvb3RQbGF0Zm9ybUxheWVyLT5sYXllclRyZWVBc1RleHQoKTsKKyAgICBy
ZXR1cm4gbV9yb290UGxhdGZvcm1MYXllci0+bGF5ZXJUcmVlQXNUZXh0KHNob3dEZWJ1Z0luZm8g
PyBMYXllclRyZWVBc1RleHREZWJ1ZyA6IExheWVyVHJlZUFzVGV4dEJlaGF2aW9yTm9ybWFsKTsK
IH0KIAogUmVuZGVyTGF5ZXJDb21wb3NpdG9yKiBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmlmcmFt
ZUNvbnRlbnRzQ29tcG9zaXRvcihSZW5kZXJJRnJhbWUqIHJlbmRlcmVyKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCmluZGV4IDMyZDY0ZDMz
OTY2OWE1MWJlZjJhMWU1ZGExOTYzODVjZWMwZDUwZGYuLmE1MDExZWZiZjc5N2NkMTQ3MzU0OTRh
NDkwZjI5YTQzMjE3ZDg5OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmgKQEAgLTE3NSw3ICsxNzUsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBmcmFtZVZpZXdEaWRDaGFuZ2VTaXplKGNvbnN0IEludFBvaW50JiBjb250ZW50c09mZnNldCA9
IEludFBvaW50KCkpOwogICAgIHZvaWQgZnJhbWVWaWV3RGlkU2Nyb2xsKGNvbnN0IEludFBvaW50
JiA9IEludFBvaW50KCkpOwogCi0gICAgU3RyaW5nIGxheWVyVHJlZUFzVGV4dCgpOworICAgIFN0
cmluZyBsYXllclRyZWVBc1RleHQoYm9vbCBzaG93RGVidWdJbmZvID0gZmFsc2UpOwogCiAgICAg
Ly8gVGhlc2UgYXJlIG5hbWVkIHRvIGF2b2lkIGNvbmZsaWN0cyB3aXRoIHRoZSBmdW5jdGlvbnMg
aW4gR3JhcGhpY3NMYXllckNsaWVudAogICAgIC8vIFRoZXNlIHJldHVybiB0aGUgYWN0dWFsIGlu
dGVybmFsIHZhcmlhYmxlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNGMwMjY1MTc0
M2ZiYTQ4MGRiM2Q0ODA1YTVmODM5MmUzNTViNTgxZC4uYzg2MjFmNjMzMTFmOGJmZTRiOWQ2YzA5
NTkzM2VlZjM0MGY1NjdlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAxMS0wMy0xMCAgRGFuaWVsIFNpZXZlcnMgIDxzaWV2ZXJzQGdvb2dsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVt
XSBNYWtlICZhcG9zO1JlbmRlckFzVGV4dEJlaGF2aW9yJmFwb3M7IGFuZCAmYXBvcztMYXllclRy
ZWVBc1RleHRCZWhhdmlvciZhcG9zOyB0d2Vha2FibGUgZnJvbSBEdW1wUmVuZGVyVHJlZSZhcG9z
O3MgY29tbWFuZGxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU2MTM5CisKKyAgICAgICAgKiBwdWJsaWMvV2ViRnJhbWUuaDoKKyAgICAgICAgKiBz
cmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpyZW5k
ZXJUcmVlQXNUZXh0KToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpsYXllclRyZWVB
c1RleHQpOgorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuaDoKKwogMjAxMS0wMy0xMCAgQW5k
cmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJGcmFtZS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUu
aAppbmRleCBmM2Y1YmE2N2Q5N2QxMTM4OGIyYWQ0YjI4ZDliOWMwMjM5ODgyMjE0Li5kYjkwYzU0
YTAwMWIxYjM3NjNjNGZjMzQ5NTkzMDJlNDIyN2UzMDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkZyYW1lLmgKQEAgLTU0OSw3ICs1NDksNyBAQCBwdWJsaWM6CiAKICAgICAv
LyBSZXR1cm5zIGEgdGV4dCByZXByZXNlbnRhdGlvbiBvZiB0aGUgcmVuZGVyIHRyZWUuICBUaGlz
IG1ldGhvZCBpcyB1c2VkCiAgICAgLy8gdG8gc3VwcG9ydCBsYXlvdXQgdGVzdHMuCi0gICAgdmly
dHVhbCBXZWJTdHJpbmcgcmVuZGVyVHJlZUFzVGV4dCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFs
IFdlYlN0cmluZyByZW5kZXJUcmVlQXNUZXh0KGJvb2wgc2hvd0RlYnVnSW5mbyA9IGZhbHNlKSBj
b25zdCA9IDA7CiAKICAgICAvLyBSZXR1cm5zIHRoZSBjb3VudGVyIHZhbHVlIGZvciB0aGUgc3Bl
Y2lmaWVkIGVsZW1lbnQuICBUaGlzIG1ldGhvZCBpcwogICAgIC8vIHVzZWQgdG8gc3VwcG9ydCBs
YXlvdXQgdGVzdHMuCkBAIC01ODIsNyArNTgyLDcgQEAgcHVibGljOgogCiAgICAgLy8gRHVtcHMg
dGhlIGxheWVyIHRyZWUsIHVzZWQgYnkgdGhlIGFjY2VsZXJhdGVkIGNvbXBvc2l0b3IsIGluCiAg
ICAgLy8gdGV4dCBmb3JtLiBUaGlzIGlzIHVzZWQgb25seSBieSBsYXlvdXQgdGVzdHMuCi0gICAg
dmlydHVhbCBXZWJTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KCkgY29uc3QgPSAwOworICAgIHZpcnR1
YWwgV2ViU3RyaW5nIGxheWVyVHJlZUFzVGV4dChib29sIHNob3dEZWJ1Z0luZm8gPSBmYWxzZSkg
Y29uc3QgPSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAgfldlYkZyYW1lKCkgeyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCA1M2UxZDQ0Zjc4YzRlZDQx
NmYzODIzNTVmZDZkYTRlNWYwYzQwYjA0Li5lZDkzZDM4OWQxZWQzMjhhODkxMWVjM2ViMDhmMWFj
ZGNmZjk0ZWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFt
ZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5j
cHAKQEAgLTE3NDIsOSArMTc0MiwxOCBAQCBXZWJTdHJpbmcgV2ViRnJhbWVJbXBsOjpjb250ZW50
QXNNYXJrdXAoKSBjb25zdAogICAgIHJldHVybiBjcmVhdGVGdWxsTWFya3VwKG1fZnJhbWUtPmRv
Y3VtZW50KCkpOwogfQogCi1XZWJTdHJpbmcgV2ViRnJhbWVJbXBsOjpyZW5kZXJUcmVlQXNUZXh0
KCkgY29uc3QKK1dlYlN0cmluZyBXZWJGcmFtZUltcGw6OnJlbmRlclRyZWVBc1RleHQoYm9vbCBz
aG93RGVidWdJbmZvKSBjb25zdAogewotICAgIHJldHVybiBleHRlcm5hbFJlcHJlc2VudGF0aW9u
KG1fZnJhbWUpOworICAgIFJlbmRlckFzVGV4dEJlaGF2aW9yIGJlaGF2aW9yID0gUmVuZGVyQXNU
ZXh0QmVoYXZpb3JOb3JtYWw7CisKKyAgICBpZiAoc2hvd0RlYnVnSW5mbykgeworICAgICAgICBi
ZWhhdmlvciB8PSBSZW5kZXJBc1RleHRTaG93Q29tcG9zaXRlZExheWVycworICAgICAgICAgICAg
fCBSZW5kZXJBc1RleHRTaG93QWRkcmVzc2VzCisgICAgICAgICAgICB8IFJlbmRlckFzVGV4dFNo
b3dJREFuZENsYXNzCisgICAgICAgICAgICB8IFJlbmRlckFzVGV4dFNob3dMYXllck5lc3Rpbmc7
CisgICAgfQorCisgICAgcmV0dXJuIGV4dGVybmFsUmVwcmVzZW50YXRpb24obV9mcmFtZSwgYmVo
YXZpb3IpOwogfQogCiBXZWJTdHJpbmcgV2ViRnJhbWVJbXBsOjpjb3VudGVyVmFsdWVGb3JFbGVt
ZW50QnlJZChjb25zdCBXZWJTdHJpbmcmIGlkKSBjb25zdApAQCAtMTgxNCwxMSArMTgyMywxMSBA
QCBib29sIFdlYkZyYW1lSW1wbDo6cGF1c2VTVkdBbmltYXRpb24oY29uc3QgV2ViU3RyaW5nJiBh
bmltYXRpb25JZCwgZG91YmxlIHRpbWUsCiAjZW5kaWYKIH0KIAotV2ViU3RyaW5nIFdlYkZyYW1l
SW1wbDo6bGF5ZXJUcmVlQXNUZXh0KCkgY29uc3QKK1dlYlN0cmluZyBXZWJGcmFtZUltcGw6Omxh
eWVyVHJlZUFzVGV4dChib29sIHNob3dEZWJ1Z0luZm8pIGNvbnN0CiB7CiAgICAgaWYgKCFtX2Zy
YW1lKQogICAgICAgICByZXR1cm4gV2ViU3RyaW5nKCk7Ci0gICAgcmV0dXJuIFdlYlN0cmluZyht
X2ZyYW1lLT5sYXllclRyZWVBc1RleHQoKSk7CisgICAgcmV0dXJuIFdlYlN0cmluZyhtX2ZyYW1l
LT5sYXllclRyZWVBc1RleHQoc2hvd0RlYnVnSW5mbykpOwogfQogCiAvLyBXZWJGcmFtZUltcGwg
cHVibGljIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJ
bXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAppbmRleCAx
NzkwNTFlMmFiN2Y5ZmNmYmI3ODRhNWQ2YjE5N2MwODY2MmU3MTcwLi44ODljN2JiMTA2NTlmYzQ1
ZmUwNDNhMzFiZTZlMmI1NGJjYjlkZGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJGcmFtZUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJGcmFtZUltcGwuaApAQCAtMTg3LDcgKzE4Nyw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwg
V2ViU3RyaW5nIGNvbnRlbnRBc1RleHQoc2l6ZV90IG1heENoYXJzKSBjb25zdDsKICAgICB2aXJ0
dWFsIFdlYlN0cmluZyBjb250ZW50QXNNYXJrdXAoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFdlYlN0
cmluZyByZW5kZXJUcmVlQXNUZXh0KCkgY29uc3Q7CisgICAgdmlydHVhbCBXZWJTdHJpbmcgcmVu
ZGVyVHJlZUFzVGV4dChib29sIHNob3dEZWJ1Z0luZm8gPSBmYWxzZSkgY29uc3Q7CiAgICAgdmly
dHVhbCBXZWJTdHJpbmcgY291bnRlclZhbHVlRm9yRWxlbWVudEJ5SWQoY29uc3QgV2ViU3RyaW5n
JiBpZCkgY29uc3Q7CiAgICAgdmlydHVhbCBXZWJTdHJpbmcgbWFya2VyVGV4dEZvckxpc3RJdGVt
KGNvbnN0IFdlYkVsZW1lbnQmKSBjb25zdDsKICAgICB2aXJ0dWFsIGludCBwYWdlTnVtYmVyRm9y
RWxlbWVudEJ5SWQoY29uc3QgV2ViU3RyaW5nJiBpZCwKQEAgLTE5OSw3ICsxOTksNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBib29sIHBhdXNlU1ZHQW5pbWF0aW9uKGNvbnN0IFdlYlN0cmluZyYg
YW5pbWF0aW9uSWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSB0
aW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcm
IGVsZW1lbnRJZCk7Ci0gICAgdmlydHVhbCBXZWJTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KCkgY29u
c3Q7CisgICAgdmlydHVhbCBXZWJTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KGJvb2wgc2hvd0RlYnVn
SW5mbyA9IGZhbHNlKSBjb25zdDsKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkZyYW1lSW1w
bD4gY3JlYXRlKFdlYkZyYW1lQ2xpZW50KiBjbGllbnQpOwogICAgIH5XZWJGcmFtZUltcGwoKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5N2Qy
ZGUyZjlkNTFiMjZkZWVkYTQxZGE3ZGMwYjc5ZDJmODE0MTdlLi40ZTUxZjIwNjJlNDhmNTkwOTI4
OTU4NTcwOWY5YmZhMDY2ZDA2ZjM5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDMtMTAgIERhbmllbCBTaWV2
ZXJzICA8c2lldmVyc0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFtDaHJvbWl1bV0gTWFrZSAmYXBvcztSZW5kZXJBc1RleHRCZWhh
dmlvciZhcG9zOyBhbmQgJmFwb3M7TGF5ZXJUcmVlQXNUZXh0QmVoYXZpb3ImYXBvczsgdHdlYWth
YmxlIGZyb20gRHVtcFJlbmRlclRyZWUmYXBvcztzIGNvbW1hbmRsaW5lCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjEzOQorCisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAobWFpbik6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVy
KToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpsYXllclRyZWVBc1RleHQpOgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmg6Cisg
ICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0U2hvd0RlYnVnTGF5ZXJUcmVlKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwOgorICAgICAgICAo
VGVzdFNoZWxsOjpydW5GaWxlVGVzdCk6CisgICAgICAgIChUZXN0U2hlbGw6OmR1bXApOgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oOgorICAgICAgICAoVGVz
dFBhcmFtczo6VGVzdFBhcmFtcyk6CisKIDIwMTEtMDMtMTAgIFBoaWxpcHBlIE5vcm1hbmQgIDxw
bm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25o
YSBTaWx2YS4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0R1bXBS
ZW5kZXJUcmVlLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0R1bXBSZW5kZXJU
cmVlLmNwcAppbmRleCBlMDA4NDMyMzNiNTYzYjAzYTFmNGVmZDYxMWZkMTg1NTAxNzM2ZGY3Li44
OWM1NDA3Y2E3MzdlOWQyNDI4MmY4YzZhOGU3NWJmMTNmZTc4YzUxIDEwMDY0NAotLS0gYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRHVtcFJlbmRlclRyZWUuY3BwCkBAIC00Myw3ICs0Myw4
IEBAIHN0YXRpYyBjb25zdCBjaGFyIG9wdGlvbkR1bXBBbGxQaXhlbHNbXSA9ICItLWR1bXAtYWxs
LXBpeGVscyI7CiBzdGF0aWMgY29uc3QgY2hhciBvcHRpb25Ob3RyZWVbXSA9ICItLW5vdHJlZSI7
CiBzdGF0aWMgY29uc3QgY2hhciBvcHRpb25QaXhlbFRlc3RzW10gPSAiLS1waXhlbC10ZXN0cyI7
CiBzdGF0aWMgY29uc3QgY2hhciBvcHRpb25UaHJlYWRlZFtdID0gIi0tdGhyZWFkZWQiOwotc3Rh
dGljIGNvbnN0IGNoYXIgb3B0aW9uVHJlZVtdID0gIi0tdHJlZSI7CitzdGF0aWMgY29uc3QgY2hh
ciBvcHRpb25EZWJ1Z1JlbmRlclRyZWVbXSA9ICItLWRlYnVnLXJlbmRlci10cmVlIjsKK3N0YXRp
YyBjb25zdCBjaGFyIG9wdGlvbkRlYnVnTGF5ZXJUcmVlW10gPSAiLS1kZWJ1Zy1sYXllci10cmVl
IjsKIAogc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uUGl4ZWxUZXN0c1dpdGhOYW1lW10gPSAiLS1w
aXhlbC10ZXN0cz0iOwogc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uVGVzdFNoZWxsW10gPSAiLS10
ZXN0LXNoZWxsIjsKQEAgLTE0OCw3ICsxNDksMTEgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIq
IGFyZ3ZbXSkKICAgICAgICAgZWxzZSBpZiAoIWFyZ3VtZW50LmZpbmQob3B0aW9uUGl4ZWxUZXN0
c1dpdGhOYW1lKSkgewogICAgICAgICAgICAgcGFyYW1zLmR1bXBQaXhlbHMgPSB0cnVlOwogICAg
ICAgICAgICAgcGFyYW1zLnBpeGVsRmlsZU5hbWUgPSBhcmd1bWVudC5zdWJzdHIoc3RybGVuKG9w
dGlvblBpeGVsVGVzdHNXaXRoTmFtZSkpOwotICAgICAgICB9IGVsc2UgaWYgKGFyZ3VtZW50ID09
IG9wdGlvblRlc3RTaGVsbCkgeworICAgICAgICB9IGVsc2UgaWYgKGFyZ3VtZW50ID09IG9wdGlv
bkRlYnVnUmVuZGVyVHJlZSkKKyAgICAgICAgICAgIHBhcmFtcy5kZWJ1Z1JlbmRlclRyZWUgPSB0
cnVlOworICAgICAgICBlbHNlIGlmIChhcmd1bWVudCA9PSBvcHRpb25EZWJ1Z0xheWVyVHJlZSkK
KyAgICAgICAgICAgIHBhcmFtcy5kZWJ1Z0xheWVyVHJlZSA9IHRydWU7CisgICAgICAgIGVsc2Ug
aWYgKGFyZ3VtZW50ID09IG9wdGlvblRlc3RTaGVsbCkgewogICAgICAgICAgICAgdGVzdFNoZWxs
TW9kZSA9IHRydWU7CiAgICAgICAgICAgICBzZXJ2ZXJNb2RlID0gdHJ1ZTsKICAgICAgICAgfSBl
bHNlIGlmIChhcmd1bWVudCA9PSBvcHRpb25BbGxvd0V4dGVybmFsUGFnZXMpCmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAK
aW5kZXggYzJiMWIxMmI2ODM3NmVjYTMzOGE2N2M1ODA4MTdjYjM1N2IyNmJkNS4uN2NmOGZhNTcy
MmJiZDQzNWMwMGI2NDExNmQ3YjA0NGYyMDZiMjlmNyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtNzMsNiAr
NzMsNyBAQCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIoVGVzdFNo
ZWxsKiBzaGVsbCkKICAgICA6IG1fc2hlbGwoc2hlbGwpCiAgICAgLCBtX2Nsb3NlUmVtYWluaW5n
V2luZG93cyhmYWxzZSkKICAgICAsIG1fZGVmZXJNYWluUmVzb3VyY2VEYXRhTG9hZChmYWxzZSkK
KyAgICAsIG1fc2hvd0RlYnVnTGF5ZXJUcmVlKGZhbHNlKQogICAgICwgbV93b3JrUXVldWUodGhp
cykKIHsKIApAQCAtMTU4Nyw3ICsxNTg4LDcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
YWRkTW9ja1NwZWVjaElucHV0UmVzdWx0KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW0KIAog
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6bGF5ZXJUcmVlQXNUZXh0KGNvbnN0IENwcEFyZ3Vt
ZW50TGlzdCYgYXJncywgQ3BwVmFyaWFudCogcmVzdWx0KQogewotICAgIHJlc3VsdC0+c2V0KG1f
c2hlbGwtPndlYlZpZXcoKS0+bWFpbkZyYW1lKCktPmxheWVyVHJlZUFzVGV4dCgpLnV0ZjgoKSk7
CisgICAgcmVzdWx0LT5zZXQobV9zaGVsbC0+d2ViVmlldygpLT5tYWluRnJhbWUoKS0+bGF5ZXJU
cmVlQXNUZXh0KG1fc2hvd0RlYnVnTGF5ZXJUcmVlKS51dGY4KCkpOwogfQogCiB2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjptYXJrZXJUZXh0Rm9yTGlzdEl0ZW0oY29uc3QgQ3BwQXJndW1lbnRM
aXN0JiBhcmdzLCBDcHBWYXJpYW50KiByZXN1bHQpCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRleCBhOGZjZDk5MTBhN2U4
NzllMjgzZTE4NDE2MDEzMGE5MjdiZDU3YTliLi4zMmVjYTBmNzBlY2Q1OTJhYmMxZGI2Mzk1YTU4
ZDhmMjMxNjQyMDk4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9M
YXlvdXRUZXN0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L0xheW91dFRlc3RDb250cm9sbGVyLmgKQEAgLTM2Nyw2ICszNjcsNyBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBzaG91bGRBZGRGaWxlVG9QYXN0ZWJvYXJkKCkgeyByZXR1cm4gbV9zaG91bGRBZGRGaWxl
VG9QYXN0ZWJvYXJkOyB9CiAgICAgYm9vbCBzdG9wUHJvdmlzaW9uYWxGcmFtZUxvYWRzKCkgeyBy
ZXR1cm4gbV9zdG9wUHJvdmlzaW9uYWxGcmFtZUxvYWRzOyB9CiAgICAgYm9vbCBkZWZlck1haW5S
ZXNvdXJjZURhdGFMb2FkKCkgeyByZXR1cm4gbV9kZWZlck1haW5SZXNvdXJjZURhdGFMb2FkOyB9
CisgICAgdm9pZCBzZXRTaG93RGVidWdMYXllclRyZWUoYm9vbCB2YWx1ZSkgeyBtX3Nob3dEZWJ1
Z0xheWVyVHJlZSA9IHZhbHVlOyB9CiAKICAgICBib29sIHRlc3RSZXBhaW50KCkgY29uc3QgeyBy
ZXR1cm4gbV90ZXN0UmVwYWludDsgfQogICAgIGJvb2wgc3dlZXBIb3Jpem9udGFsbHkoKSBjb25z
dCB7IHJldHVybiBtX3N3ZWVwSG9yaXpvbnRhbGx5OyB9CkBAIC01NDAsNiArNTQxLDkgQEAgcHJp
dmF0ZToKICAgICAvLyBJZiBmYWxzZSwgYWxsIG5ldyByZXF1ZXN0cyB3aWxsIG5vdCBkZWZlciB0
aGUgbWFpbiByZXNvdXJjZSBkYXRhIGxvYWQuCiAgICAgYm9vbCBtX2RlZmVyTWFpblJlc291cmNl
RGF0YUxvYWQ7CiAKKyAgICAvLyBJZiB0cnVlLCB3ZSB3aWxsIHNob3cgZXh0ZW5kZWQgaW5mb3Jt
YXRpb24gaW4gdGhlIGdyYXBoaWNzIGxheWVyIHRyZWUuCisgICAgYm9vbCBtX3Nob3dEZWJ1Z0xh
eWVyVHJlZTsKKwogICAgIFdvcmtRdWV1ZSBtX3dvcmtRdWV1ZTsKIAogICAgIENwcFZhcmlhbnQg
bV9nbG9iYWxGbGFnOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFNoZWxsLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5j
cHAKaW5kZXggZTFhODZlZmRhYjY0YjcyZjg2YjE2OGRkNWYwZjQ4YWU1YjYwMDA1YS4uOTEyNGY5
ZGFlNDNjOWM3MDk1ODVmN2QzODQ0OTk3MzhjYjNlM2Y0ZCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCkBAIC0xODgsNiArMTg4LDkgQEAgdm9pZCBUZXN0
U2hlbGw6OnJ1bkZpbGVUZXN0KGNvbnN0IFRlc3RQYXJhbXMmIHBhcmFtcykKICAgICAgICAgfHwg
dGVzdFVybC5maW5kKCJcXGluc3BlY3RvclxcIikgIT0gc3RyaW5nOjpucG9zKQogICAgICAgICBz
aG93RGV2VG9vbHMoKTsKIAorICAgIGlmIChtX3BhcmFtcy5kZWJ1Z0xheWVyVHJlZSkKKyAgICAg
ICAgbV9sYXlvdXRUZXN0Q29udHJvbGxlci0+c2V0U2hvd0RlYnVnTGF5ZXJUcmVlKHRydWUpOwor
CiAgICAgaWYgKG1fZHVtcFdoZW5GaW5pc2hlZCkKICAgICAgICAgbV9wcmludGVyLT5oYW5kbGVU
ZXN0SGVhZGVyKHRlc3RVcmwuY19zdHIoKSk7CiAgICAgbG9hZFVSTChtX3BhcmFtcy50ZXN0VXJs
KTsKQEAgLTQ1NCw3ICs0NTcsNyBAQCB2b2lkIFRlc3RTaGVsbDo6ZHVtcCgpCiAgICAgICAgICAg
ICBpZiAoZndyaXRlKGRhdGFVdGY4LmNfc3RyKCksIDEsIGRhdGFVdGY4LnNpemUoKSwgc3Rkb3V0
KSAhPSBkYXRhVXRmOC5zaXplKCkpCiAgICAgICAgICAgICAgICAgRkFUQUwoIlNob3J0IHdyaXRl
IHRvIHN0ZG91dCwgZGlzayBmdWxsP1xuIik7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICBwcmludGYoIiVzIiwgZnJhbWUtPnJlbmRlclRyZWVBc1RleHQoKS51dGY4KCkuZGF0YSgpKTsK
KyAgICAgICAgICAgIHByaW50ZigiJXMiLCBmcmFtZS0+cmVuZGVyVHJlZUFzVGV4dChtX3BhcmFt
cy5kZWJ1Z1JlbmRlclRyZWUpLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICAgICAgYm9vbCByZWN1
cnNpdmUgPSBtX2xheW91dFRlc3RDb250cm9sbGVyLT5zaG91bGREdW1wQ2hpbGRGcmFtZVNjcm9s
bFBvc2l0aW9ucygpOwogICAgICAgICAgICAgZHVtcEZyYW1lU2Nyb2xsUG9zaXRpb24oZnJhbWUs
IHJlY3Vyc2l2ZSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RTaGVsbC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVz
dFNoZWxsLmgKaW5kZXggZWY5YmU3ZmM0MmU1YzQ2Y2I5ZjM3OTE3M2IwYTg1YTQ4MmU5ZTU2Yy4u
Mzk4ZDcxNTViMzllZjFkYjI4MDRiNmI3YmZkMTllMjA5YjFiMjU2YSAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgKQEAgLTY1LDYgKzY1LDggQEAgY2xhc3MgRFJU
RGV2VG9vbHNDbGllbnQ7CiBzdHJ1Y3QgVGVzdFBhcmFtcyB7CiAgICAgYm9vbCBkdW1wVHJlZTsK
ICAgICBib29sIGR1bXBQaXhlbHM7CisgICAgYm9vbCBkZWJ1Z1JlbmRlclRyZWU7CisgICAgYm9v
bCBkZWJ1Z0xheWVyVHJlZTsKICAgICBib29sIHByaW50U2VwYXJhdG9yczsKICAgICBXZWJLaXQ6
OldlYlVSTCB0ZXN0VXJsOwogICAgIC8vIFJlc3VsdGFudCBpbWFnZSBmaWxlIG5hbWUuIFJlcXVp
cmVkIG9ubHkgaWYgdGhlIHRlc3Rfc2hlbGwgbW9kZS4KQEAgLTc0LDYgKzc2LDggQEAgc3RydWN0
IFRlc3RQYXJhbXMgewogICAgIFRlc3RQYXJhbXMoKQogICAgICAgICA6IGR1bXBUcmVlKHRydWUp
CiAgICAgICAgICwgZHVtcFBpeGVscyhmYWxzZSkKKyAgICAgICAgLCBkZWJ1Z1JlbmRlclRyZWUo
ZmFsc2UpCisgICAgICAgICwgZGVidWdMYXllclRyZWUoZmFsc2UpCiAgICAgICAgICwgcHJpbnRT
ZXBhcmF0b3JzKGZhbHNlKSB7fQogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85385</attachid>
            <date>2011-03-10 13:58:16 -0800</date>
            <delta_ts>2011-03-11 10:57:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56139-20110310135815.patch</filename>
            <type>text/plain</type>
            <size>15581</size>
            <attacher name="Daniel Sievers">sievers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA3MzYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjNmRiYTU5Y2I3MGU4Yjll
MDlhYmY2Njg5Mjg1NjQ2ZDAzYzljYTg0Li5iMjhhYWRlMmYwYWEwNzAxN2JjMDc1ZmNiNWYwN2Vm
ODkxN2IyMmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDMtMTAgIERhbmll
bCBTaWV2ZXJzICA8c2lldmVyc0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IFNp
bW9uIEZyYXNlci4KKworICAgICAgICBbQ2hyb21pdW1dIE1ha2UgUmVuZGVyQXNUZXh0QmVoYXZp
b3IgYW5kIExheWVyVHJlZUFzVGV4dEJlaGF2aW9yIHR3ZWFrYWJsZSBmcm9tIHRoZSBEdW1wUmVu
ZGVyVHJlZSBjb21tYW5kbGluZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTYxMzkKKworICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWU6OmxheWVyVHJlZUFzVGV4dCk6CisgICAgICAgICogcGFnZS9GcmFtZS5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllclRyZWVBc1RleHQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaDoKKwogMjAxMS0wMy0xMCAg
UHJhdGlrIFNvbGFua2kgIDxwc29sYW5raUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKaW5kZXggM2U0YmIyZWEy
OGYwZTM5ZjgyYTdlNDg4MzA2YjNhMGZlM2EyYzBjNC4uMTkxY2UyOWNkYjYxYjgzOTI2ZGM1MjZj
NGJiMjg5ZjcwNDU4YzNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAgLTkwNiw3ICs5MDYsNyBA
QCBDb2xvciBGcmFtZTo6dGlsZWRCYWNraW5nU3RvcmVCYWNrZ3JvdW5kQ29sb3IoKSBjb25zdAog
fQogI2VuZGlmCiAKLVN0cmluZyBGcmFtZTo6bGF5ZXJUcmVlQXNUZXh0KCkgY29uc3QKK1N0cmlu
ZyBGcmFtZTo6bGF5ZXJUcmVlQXNUZXh0KGJvb2wgc2hvd0RlYnVnSW5mbykgY29uc3QKIHsKICNp
ZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5
b3V0KCk7CkBAIC05MTQsNyArOTE0LDcgQEAgU3RyaW5nIEZyYW1lOjpsYXllclRyZWVBc1RleHQo
KSBjb25zdAogICAgIGlmICghY29udGVudFJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybiBTdHJp
bmcoKTsKIAotICAgIHJldHVybiBjb250ZW50UmVuZGVyZXIoKS0+Y29tcG9zaXRvcigpLT5sYXll
clRyZWVBc1RleHQoKTsKKyAgICByZXR1cm4gY29udGVudFJlbmRlcmVyKCktPmNvbXBvc2l0b3Io
KS0+bGF5ZXJUcmVlQXNUZXh0KHNob3dEZWJ1Z0luZm8pOwogI2Vsc2UKICAgICByZXR1cm4gU3Ry
aW5nKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAppbmRleCAyNWY4YWFjZmE2MmNlODE4NjIwMThi
OWNkZTUyZTBiMWI5OGRlYzUwLi5mMjJmY2I4NjFmYTgzNTZmYjhhNGExZDQ2OGEyZTE5ODA1Yzgw
Y2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5oCkBAIC0xMjcsNyArMTI3LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAgICAgICAgIHZvaWQgaW5qZWN0VXNlclNjcmlwdHMoVXNlclNjcmlwdEluamVjdGlv
blRpbWUpOwogICAgICAgICAKLSAgICAgICAgU3RyaW5nIGxheWVyVHJlZUFzVGV4dCgpIGNvbnN0
OworICAgICAgICBTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KGJvb2wgc2hvd0RlYnVnSW5mbyA9IGZh
bHNlKSBjb25zdDsKIAogICAgICAgICAvLyBVbmxpa2UgbW9zdCBhY2Nlc3NvcnMgaW4gdGhpcyBj
bGFzcywgZG9tV2luZG93KCkgYWx3YXlzIGNyZWF0ZXMgYSBuZXcgRE9NV2luZG93IGlmIG1fZG9t
V2luZG93IGlzIG51bGwuCiAgICAgICAgIC8vIENhbGxlcnMgdGhhdCBkb24ndCBuZWVkIGEgbmV3
IERPTVdpbmRvdyB0byBiZSBjcmVhdGVkIHNob3VsZCB1c2UgZXhpc3RpbmdET01XaW5kb3coKS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5j
cHAKaW5kZXggMjg1ZjIyZTY2MTdiMmRkMjIzZDljZjVmNGNlN2ViODNhZjU1YTRiNy4uMjBiOWZl
ZjQ3MTg2MDY0MmYzNThlYTMxY2E0NjdhNWQ4MjYwMjQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTg4MCw3ICs4ODAs
NyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZnJhbWVWaWV3RGlkU2Nyb2xsKGNvbnN0
IEludFBvaW50JiBzY3JvbGxQb3NpdGlvbikKICAgICAgICAgbV9zY3JvbGxMYXllci0+c2V0UG9z
aXRpb24oRmxvYXRQb2ludCgtc2Nyb2xsUG9zaXRpb24ueCgpLCAtc2Nyb2xsUG9zaXRpb24ueSgp
KSk7CiB9CiAKLVN0cmluZyBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmxheWVyVHJlZUFzVGV4dCgp
CitTdHJpbmcgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllclRyZWVBc1RleHQoYm9vbCBzaG93
RGVidWdJbmZvKQogewogICAgIGlmIChjb21wb3NpdGluZ0xheWVyVXBkYXRlUGVuZGluZygpKQog
ICAgICAgICB1cGRhdGVDb21wb3NpdGluZ0xheWVycygpOwpAQCAtODkwLDcgKzg5MCw3IEBAIFN0
cmluZyBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmxheWVyVHJlZUFzVGV4dCgpCiAKICAgICAvLyBX
ZSBza2lwIGR1bXBpbmcgdGhlIHNjcm9sbCBhbmQgY2xpcCBsYXllcnMgdG8ga2VlcCBsYXllclRy
ZWVBc1RleHQgb3V0cHV0CiAgICAgLy8gc2ltaWxhciBiZXR3ZWVuIHBsYXRmb3Jtcy4KLSAgICBy
ZXR1cm4gbV9yb290UGxhdGZvcm1MYXllci0+bGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgcmV0dXJu
IG1fcm9vdFBsYXRmb3JtTGF5ZXItPmxheWVyVHJlZUFzVGV4dChzaG93RGVidWdJbmZvID8gTGF5
ZXJUcmVlQXNUZXh0RGVidWcgOiBMYXllclRyZWVBc1RleHRCZWhhdmlvck5vcm1hbCk7CiB9CiAK
IFJlbmRlckxheWVyQ29tcG9zaXRvciogUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjppZnJhbWVDb250
ZW50c0NvbXBvc2l0b3IoUmVuZGVySUZyYW1lKiByZW5kZXJlcikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAppbmRleCAzMmQ2NGQzMzk2Njlh
NTFiZWYyYTFlNWRhMTk2Mzg1Y2VjMGQ1MGRmLi5hNTAxMWVmYmY3OTdjZDE0NzM1NDk0YTQ5MGYy
OWE0MzIxN2Q4OTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQ29tcG9zaXRvci5oCkBAIC0xNzUsNyArMTc1LDcgQEAgcHVibGljOgogICAgIHZvaWQgZnJh
bWVWaWV3RGlkQ2hhbmdlU2l6ZShjb25zdCBJbnRQb2ludCYgY29udGVudHNPZmZzZXQgPSBJbnRQ
b2ludCgpKTsKICAgICB2b2lkIGZyYW1lVmlld0RpZFNjcm9sbChjb25zdCBJbnRQb2ludCYgPSBJ
bnRQb2ludCgpKTsKIAotICAgIFN0cmluZyBsYXllclRyZWVBc1RleHQoKTsKKyAgICBTdHJpbmcg
bGF5ZXJUcmVlQXNUZXh0KGJvb2wgc2hvd0RlYnVnSW5mbyA9IGZhbHNlKTsKIAogICAgIC8vIFRo
ZXNlIGFyZSBuYW1lZCB0byBhdm9pZCBjb25mbGljdHMgd2l0aCB0aGUgZnVuY3Rpb25zIGluIEdy
YXBoaWNzTGF5ZXJDbGllbnQKICAgICAvLyBUaGVzZSByZXR1cm4gdGhlIGFjdHVhbCBpbnRlcm5h
bCB2YXJpYWJsZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDRjMDI2NTE3NDNmYmE0
ODBkYjNkNDgwNWE1ZjgzOTJlMzU1YjU4MWQuLmQxMjBkYmIyMDlhOTBhNmU0MTU4YzVmMDY2YjA3
YTE0YzJhZjM3Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTEtMDMtMTAgIERhbmllbCBTaWV2ZXJzICA8c2lldmVyc0Bnb29nbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBbQ2hyb21pdW1dIE1ha2Ug
UmVuZGVyQXNUZXh0QmVoYXZpb3IgYW5kIExheWVyVHJlZUFzVGV4dEJlaGF2aW9yIHR3ZWFrYWJs
ZSBmcm9tIHRoZSBEdW1wUmVuZGVyVHJlZSBjb21tYW5kbGluZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYxMzkKKworICAgICAgICAqIHB1YmxpYy9X
ZWJGcmFtZS5oOgorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJGcmFtZUltcGw6OnJlbmRlclRyZWVBc1RleHQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJGcmFtZUltcGw6OmxheWVyVHJlZUFzVGV4dCk6CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1w
bC5oOgorCiAyMDExLTAzLTEwICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCmluZGV4IGYzZjViYTY3ZDk3ZDExMzg4YjJhZDRiMjhk
OWI5YzAyMzk4ODIyMTQuLmRiOTBjNTRhMDAxYjFiMzc2M2M0ZmMzNDk1OTMwMmU0MjI3ZTMwNGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaApAQCAtNTQ5LDcgKzU0
OSw3IEBAIHB1YmxpYzoKIAogICAgIC8vIFJldHVybnMgYSB0ZXh0IHJlcHJlc2VudGF0aW9uIG9m
IHRoZSByZW5kZXIgdHJlZS4gIFRoaXMgbWV0aG9kIGlzIHVzZWQKICAgICAvLyB0byBzdXBwb3J0
IGxheW91dCB0ZXN0cy4KLSAgICB2aXJ0dWFsIFdlYlN0cmluZyByZW5kZXJUcmVlQXNUZXh0KCkg
Y29uc3QgPSAwOworICAgIHZpcnR1YWwgV2ViU3RyaW5nIHJlbmRlclRyZWVBc1RleHQoYm9vbCBz
aG93RGVidWdJbmZvID0gZmFsc2UpIGNvbnN0ID0gMDsKIAogICAgIC8vIFJldHVybnMgdGhlIGNv
dW50ZXIgdmFsdWUgZm9yIHRoZSBzcGVjaWZpZWQgZWxlbWVudC4gIFRoaXMgbWV0aG9kIGlzCiAg
ICAgLy8gdXNlZCB0byBzdXBwb3J0IGxheW91dCB0ZXN0cy4KQEAgLTU4Miw3ICs1ODIsNyBAQCBw
dWJsaWM6CiAKICAgICAvLyBEdW1wcyB0aGUgbGF5ZXIgdHJlZSwgdXNlZCBieSB0aGUgYWNjZWxl
cmF0ZWQgY29tcG9zaXRvciwgaW4KICAgICAvLyB0ZXh0IGZvcm0uIFRoaXMgaXMgdXNlZCBvbmx5
IGJ5IGxheW91dCB0ZXN0cy4KLSAgICB2aXJ0dWFsIFdlYlN0cmluZyBsYXllclRyZWVBc1RleHQo
KSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBXZWJTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KGJvb2wg
c2hvd0RlYnVnSW5mbyA9IGZhbHNlKSBjb25zdCA9IDA7CiAKIHByb3RlY3RlZDoKICAgICB+V2Vi
RnJhbWUoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZy
YW1lSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3Bw
CmluZGV4IDUzZTFkNDRmNzhjNGVkNDE2ZjM4MjM1NWZkNmRhNGU1ZjBjNDBiMDQuLmVkOTNkMzg5
ZDFlZDMyOGE4OTExZWMzZWIwOGYxYWNkY2ZmOTRlYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcApAQCAtMTc0Miw5ICsxNzQyLDE4IEBAIFdlYlN0cmlu
ZyBXZWJGcmFtZUltcGw6OmNvbnRlbnRBc01hcmt1cCgpIGNvbnN0CiAgICAgcmV0dXJuIGNyZWF0
ZUZ1bGxNYXJrdXAobV9mcmFtZS0+ZG9jdW1lbnQoKSk7CiB9CiAKLVdlYlN0cmluZyBXZWJGcmFt
ZUltcGw6OnJlbmRlclRyZWVBc1RleHQoKSBjb25zdAorV2ViU3RyaW5nIFdlYkZyYW1lSW1wbDo6
cmVuZGVyVHJlZUFzVGV4dChib29sIHNob3dEZWJ1Z0luZm8pIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IGV4dGVybmFsUmVwcmVzZW50YXRpb24obV9mcmFtZSk7CisgICAgUmVuZGVyQXNUZXh0QmVoYXZp
b3IgYmVoYXZpb3IgPSBSZW5kZXJBc1RleHRCZWhhdmlvck5vcm1hbDsKKworICAgIGlmIChzaG93
RGVidWdJbmZvKSB7CisgICAgICAgIGJlaGF2aW9yIHw9IFJlbmRlckFzVGV4dFNob3dDb21wb3Np
dGVkTGF5ZXJzCisgICAgICAgICAgICB8IFJlbmRlckFzVGV4dFNob3dBZGRyZXNzZXMKKyAgICAg
ICAgICAgIHwgUmVuZGVyQXNUZXh0U2hvd0lEQW5kQ2xhc3MKKyAgICAgICAgICAgIHwgUmVuZGVy
QXNUZXh0U2hvd0xheWVyTmVzdGluZzsKKyAgICB9CisKKyAgICByZXR1cm4gZXh0ZXJuYWxSZXBy
ZXNlbnRhdGlvbihtX2ZyYW1lLCBiZWhhdmlvcik7CiB9CiAKIFdlYlN0cmluZyBXZWJGcmFtZUlt
cGw6OmNvdW50ZXJWYWx1ZUZvckVsZW1lbnRCeUlkKGNvbnN0IFdlYlN0cmluZyYgaWQpIGNvbnN0
CkBAIC0xODE0LDExICsxODIzLDExIEBAIGJvb2wgV2ViRnJhbWVJbXBsOjpwYXVzZVNWR0FuaW1h
dGlvbihjb25zdCBXZWJTdHJpbmcmIGFuaW1hdGlvbklkLCBkb3VibGUgdGltZSwKICNlbmRpZgog
fQogCi1XZWJTdHJpbmcgV2ViRnJhbWVJbXBsOjpsYXllclRyZWVBc1RleHQoKSBjb25zdAorV2Vi
U3RyaW5nIFdlYkZyYW1lSW1wbDo6bGF5ZXJUcmVlQXNUZXh0KGJvb2wgc2hvd0RlYnVnSW5mbykg
Y29uc3QKIHsKICAgICBpZiAoIW1fZnJhbWUpCiAgICAgICAgIHJldHVybiBXZWJTdHJpbmcoKTsK
LSAgICByZXR1cm4gV2ViU3RyaW5nKG1fZnJhbWUtPmxheWVyVHJlZUFzVGV4dCgpKTsKKyAgICBy
ZXR1cm4gV2ViU3RyaW5nKG1fZnJhbWUtPmxheWVyVHJlZUFzVGV4dChzaG93RGVidWdJbmZvKSk7
CiB9CiAKIC8vIFdlYkZyYW1lSW1wbCBwdWJsaWMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkZyYW1lSW1wbC5oCmluZGV4IDE3OTA1MWUyYWI3ZjlmY2ZiYjc4NGE1ZDZiMTk3YzA4NjYy
ZTcxNzAuLjg4OWM3YmIxMDY1OWZjNDVmZTA0M2EzMWJlNmUyYjU0YmNiOWRkYzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCkBAIC0xODcsNyArMTg3LDcgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCBXZWJTdHJpbmcgY29udGVudEFzVGV4dChzaXplX3QgbWF4
Q2hhcnMpIGNvbnN0OwogICAgIHZpcnR1YWwgV2ViU3RyaW5nIGNvbnRlbnRBc01hcmt1cCgpIGNv
bnN0OwotICAgIHZpcnR1YWwgV2ViU3RyaW5nIHJlbmRlclRyZWVBc1RleHQoKSBjb25zdDsKKyAg
ICB2aXJ0dWFsIFdlYlN0cmluZyByZW5kZXJUcmVlQXNUZXh0KGJvb2wgc2hvd0RlYnVnSW5mbyA9
IGZhbHNlKSBjb25zdDsKICAgICB2aXJ0dWFsIFdlYlN0cmluZyBjb3VudGVyVmFsdWVGb3JFbGVt
ZW50QnlJZChjb25zdCBXZWJTdHJpbmcmIGlkKSBjb25zdDsKICAgICB2aXJ0dWFsIFdlYlN0cmlu
ZyBtYXJrZXJUZXh0Rm9yTGlzdEl0ZW0oY29uc3QgV2ViRWxlbWVudCYpIGNvbnN0OwogICAgIHZp
cnR1YWwgaW50IHBhZ2VOdW1iZXJGb3JFbGVtZW50QnlJZChjb25zdCBXZWJTdHJpbmcmIGlkLApA
QCAtMTk5LDcgKzE5OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgcGF1c2VTVkdBbmlt
YXRpb24oY29uc3QgV2ViU3RyaW5nJiBhbmltYXRpb25JZCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZG91YmxlIHRpbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZWxlbWVudElkKTsKLSAgICB2aXJ0dWFsIFdlYlN0cmlu
ZyBsYXllclRyZWVBc1RleHQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdlYlN0cmluZyBsYXllclRy
ZWVBc1RleHQoYm9vbCBzaG93RGVidWdJbmZvID0gZmFsc2UpIGNvbnN0OwogCiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8V2ViRnJhbWVJbXBsPiBjcmVhdGUoV2ViRnJhbWVDbGllbnQqIGNsaWVudCk7
CiAgICAgfldlYkZyYW1lSW1wbCgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDk3ZDJkZTJmOWQ1MWIyNmRlZWRhNDFkYTdkYzBiNzlkMmY4MTQx
N2UuLjdkYjg5MzcyNjgxZWJlYTM0YWJkNmU5ZGFiYWY0OTczNWUyYjk4NjMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAor
MjAxMS0wMy0xMCAgRGFuaWVsIFNpZXZlcnMgIDxzaWV2ZXJzQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIFtDaHJvbWl1bV0gTWFrZSBS
ZW5kZXJBc1RleHRCZWhhdmlvciBhbmQgTGF5ZXJUcmVlQXNUZXh0QmVoYXZpb3IgdHdlYWthYmxl
IGZyb20gdGhlIER1bXBSZW5kZXJUcmVlIGNvbW1hbmRsaW5lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjEzOQorCisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAobWFpbik6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKToKKyAg
ICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpsYXllclRyZWVBc1RleHQpOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmg6CisgICAgICAg
IChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0U2hvd0RlYnVnTGF5ZXJUcmVlKToKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwOgorICAgICAgICAoVGVzdFNo
ZWxsOjpydW5GaWxlVGVzdCk6CisgICAgICAgIChUZXN0U2hlbGw6OmR1bXApOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oOgorICAgICAgICAoVGVzdFBhcmFt
czo6VGVzdFBhcmFtcyk6CisKIDIwMTEtMDMtMTAgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFu
ZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYSBTaWx2
YS4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0R1bXBSZW5kZXJU
cmVlLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0R1bXBSZW5kZXJUcmVlLmNw
cAppbmRleCBlMDA4NDMyMzNiNTYzYjAzYTFmNGVmZDYxMWZkMTg1NTAxNzM2ZGY3Li44OWM1NDA3
Y2E3MzdlOWQyNDI4MmY4YzZhOGU3NWJmMTNmZTc4YzUxIDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vRHVtcFJlbmRlclRyZWUuY3BwCkBAIC00Myw3ICs0Myw4IEBAIHN0
YXRpYyBjb25zdCBjaGFyIG9wdGlvbkR1bXBBbGxQaXhlbHNbXSA9ICItLWR1bXAtYWxsLXBpeGVs
cyI7CiBzdGF0aWMgY29uc3QgY2hhciBvcHRpb25Ob3RyZWVbXSA9ICItLW5vdHJlZSI7CiBzdGF0
aWMgY29uc3QgY2hhciBvcHRpb25QaXhlbFRlc3RzW10gPSAiLS1waXhlbC10ZXN0cyI7CiBzdGF0
aWMgY29uc3QgY2hhciBvcHRpb25UaHJlYWRlZFtdID0gIi0tdGhyZWFkZWQiOwotc3RhdGljIGNv
bnN0IGNoYXIgb3B0aW9uVHJlZVtdID0gIi0tdHJlZSI7CitzdGF0aWMgY29uc3QgY2hhciBvcHRp
b25EZWJ1Z1JlbmRlclRyZWVbXSA9ICItLWRlYnVnLXJlbmRlci10cmVlIjsKK3N0YXRpYyBjb25z
dCBjaGFyIG9wdGlvbkRlYnVnTGF5ZXJUcmVlW10gPSAiLS1kZWJ1Zy1sYXllci10cmVlIjsKIAog
c3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uUGl4ZWxUZXN0c1dpdGhOYW1lW10gPSAiLS1waXhlbC10
ZXN0cz0iOwogc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uVGVzdFNoZWxsW10gPSAiLS10ZXN0LXNo
ZWxsIjsKQEAgLTE0OCw3ICsxNDksMTEgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3Zb
XSkKICAgICAgICAgZWxzZSBpZiAoIWFyZ3VtZW50LmZpbmQob3B0aW9uUGl4ZWxUZXN0c1dpdGhO
YW1lKSkgewogICAgICAgICAgICAgcGFyYW1zLmR1bXBQaXhlbHMgPSB0cnVlOwogICAgICAgICAg
ICAgcGFyYW1zLnBpeGVsRmlsZU5hbWUgPSBhcmd1bWVudC5zdWJzdHIoc3RybGVuKG9wdGlvblBp
eGVsVGVzdHNXaXRoTmFtZSkpOwotICAgICAgICB9IGVsc2UgaWYgKGFyZ3VtZW50ID09IG9wdGlv
blRlc3RTaGVsbCkgeworICAgICAgICB9IGVsc2UgaWYgKGFyZ3VtZW50ID09IG9wdGlvbkRlYnVn
UmVuZGVyVHJlZSkKKyAgICAgICAgICAgIHBhcmFtcy5kZWJ1Z1JlbmRlclRyZWUgPSB0cnVlOwor
ICAgICAgICBlbHNlIGlmIChhcmd1bWVudCA9PSBvcHRpb25EZWJ1Z0xheWVyVHJlZSkKKyAgICAg
ICAgICAgIHBhcmFtcy5kZWJ1Z0xheWVyVHJlZSA9IHRydWU7CisgICAgICAgIGVsc2UgaWYgKGFy
Z3VtZW50ID09IG9wdGlvblRlc3RTaGVsbCkgewogICAgICAgICAgICAgdGVzdFNoZWxsTW9kZSA9
IHRydWU7CiAgICAgICAgICAgICBzZXJ2ZXJNb2RlID0gdHJ1ZTsKICAgICAgICAgfSBlbHNlIGlm
IChhcmd1bWVudCA9PSBvcHRpb25BbGxvd0V4dGVybmFsUGFnZXMpCmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXgg
YzJiMWIxMmI2ODM3NmVjYTMzOGE2N2M1ODA4MTdjYjM1N2IyNmJkNS4uN2NmOGZhNTcyMmJiZDQz
NWMwMGI2NDExNmQ3YjA0NGYyMDZiMjlmNyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtNzMsNiArNzMsNyBA
QCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIoVGVzdFNoZWxsKiBz
aGVsbCkKICAgICA6IG1fc2hlbGwoc2hlbGwpCiAgICAgLCBtX2Nsb3NlUmVtYWluaW5nV2luZG93
cyhmYWxzZSkKICAgICAsIG1fZGVmZXJNYWluUmVzb3VyY2VEYXRhTG9hZChmYWxzZSkKKyAgICAs
IG1fc2hvd0RlYnVnTGF5ZXJUcmVlKGZhbHNlKQogICAgICwgbV93b3JrUXVldWUodGhpcykKIHsK
IApAQCAtMTU4Nyw3ICsxNTg4LDcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWRkTW9j
a1NwZWVjaElucHV0UmVzdWx0KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW0KIAogdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6bGF5ZXJUcmVlQXNUZXh0KGNvbnN0IENwcEFyZ3VtZW50TGlz
dCYgYXJncywgQ3BwVmFyaWFudCogcmVzdWx0KQogewotICAgIHJlc3VsdC0+c2V0KG1fc2hlbGwt
PndlYlZpZXcoKS0+bWFpbkZyYW1lKCktPmxheWVyVHJlZUFzVGV4dCgpLnV0ZjgoKSk7CisgICAg
cmVzdWx0LT5zZXQobV9zaGVsbC0+d2ViVmlldygpLT5tYWluRnJhbWUoKS0+bGF5ZXJUcmVlQXNU
ZXh0KG1fc2hvd0RlYnVnTGF5ZXJUcmVlKS51dGY4KCkpOwogfQogCiB2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjptYXJrZXJUZXh0Rm9yTGlzdEl0ZW0oY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBh
cmdzLCBDcHBWYXJpYW50KiByZXN1bHQpCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRleCBhOGZjZDk5MTBhN2U4NzllMjgz
ZTE4NDE2MDEzMGE5MjdiZDU3YTliLi4zMmVjYTBmNzBlY2Q1OTJhYmMxZGI2Mzk1YTU4ZDhmMjMx
NjQyMDk4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91
dFRlc3RDb250cm9sbGVyLmgKQEAgLTM2Nyw2ICszNjcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBz
aG91bGRBZGRGaWxlVG9QYXN0ZWJvYXJkKCkgeyByZXR1cm4gbV9zaG91bGRBZGRGaWxlVG9QYXN0
ZWJvYXJkOyB9CiAgICAgYm9vbCBzdG9wUHJvdmlzaW9uYWxGcmFtZUxvYWRzKCkgeyByZXR1cm4g
bV9zdG9wUHJvdmlzaW9uYWxGcmFtZUxvYWRzOyB9CiAgICAgYm9vbCBkZWZlck1haW5SZXNvdXJj
ZURhdGFMb2FkKCkgeyByZXR1cm4gbV9kZWZlck1haW5SZXNvdXJjZURhdGFMb2FkOyB9CisgICAg
dm9pZCBzZXRTaG93RGVidWdMYXllclRyZWUoYm9vbCB2YWx1ZSkgeyBtX3Nob3dEZWJ1Z0xheWVy
VHJlZSA9IHZhbHVlOyB9CiAKICAgICBib29sIHRlc3RSZXBhaW50KCkgY29uc3QgeyByZXR1cm4g
bV90ZXN0UmVwYWludDsgfQogICAgIGJvb2wgc3dlZXBIb3Jpem9udGFsbHkoKSBjb25zdCB7IHJl
dHVybiBtX3N3ZWVwSG9yaXpvbnRhbGx5OyB9CkBAIC01NDAsNiArNTQxLDkgQEAgcHJpdmF0ZToK
ICAgICAvLyBJZiBmYWxzZSwgYWxsIG5ldyByZXF1ZXN0cyB3aWxsIG5vdCBkZWZlciB0aGUgbWFp
biByZXNvdXJjZSBkYXRhIGxvYWQuCiAgICAgYm9vbCBtX2RlZmVyTWFpblJlc291cmNlRGF0YUxv
YWQ7CiAKKyAgICAvLyBJZiB0cnVlLCB3ZSB3aWxsIHNob3cgZXh0ZW5kZWQgaW5mb3JtYXRpb24g
aW4gdGhlIGdyYXBoaWNzIGxheWVyIHRyZWUuCisgICAgYm9vbCBtX3Nob3dEZWJ1Z0xheWVyVHJl
ZTsKKwogICAgIFdvcmtRdWV1ZSBtX3dvcmtRdWV1ZTsKIAogICAgIENwcFZhcmlhbnQgbV9nbG9i
YWxGbGFnOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNo
ZWxsLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKaW5k
ZXggZTFhODZlZmRhYjY0YjcyZjg2YjE2OGRkNWYwZjQ4YWU1YjYwMDA1YS4uOTEyNGY5ZGFlNDNj
OWM3MDk1ODVmN2QzODQ0OTk3MzhjYjNlM2Y0ZCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9UZXN0U2hlbGwuY3BwCkBAIC0xODgsNiArMTg4LDkgQEAgdm9pZCBUZXN0U2hlbGw6
OnJ1bkZpbGVUZXN0KGNvbnN0IFRlc3RQYXJhbXMmIHBhcmFtcykKICAgICAgICAgfHwgdGVzdFVy
bC5maW5kKCJcXGluc3BlY3RvclxcIikgIT0gc3RyaW5nOjpucG9zKQogICAgICAgICBzaG93RGV2
VG9vbHMoKTsKIAorICAgIGlmIChtX3BhcmFtcy5kZWJ1Z0xheWVyVHJlZSkKKyAgICAgICAgbV9s
YXlvdXRUZXN0Q29udHJvbGxlci0+c2V0U2hvd0RlYnVnTGF5ZXJUcmVlKHRydWUpOworCiAgICAg
aWYgKG1fZHVtcFdoZW5GaW5pc2hlZCkKICAgICAgICAgbV9wcmludGVyLT5oYW5kbGVUZXN0SGVh
ZGVyKHRlc3RVcmwuY19zdHIoKSk7CiAgICAgbG9hZFVSTChtX3BhcmFtcy50ZXN0VXJsKTsKQEAg
LTQ1NCw3ICs0NTcsNyBAQCB2b2lkIFRlc3RTaGVsbDo6ZHVtcCgpCiAgICAgICAgICAgICBpZiAo
ZndyaXRlKGRhdGFVdGY4LmNfc3RyKCksIDEsIGRhdGFVdGY4LnNpemUoKSwgc3Rkb3V0KSAhPSBk
YXRhVXRmOC5zaXplKCkpCiAgICAgICAgICAgICAgICAgRkFUQUwoIlNob3J0IHdyaXRlIHRvIHN0
ZG91dCwgZGlzayBmdWxsP1xuIik7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBwcmlu
dGYoIiVzIiwgZnJhbWUtPnJlbmRlclRyZWVBc1RleHQoKS51dGY4KCkuZGF0YSgpKTsKKyAgICAg
ICAgICAgIHByaW50ZigiJXMiLCBmcmFtZS0+cmVuZGVyVHJlZUFzVGV4dChtX3BhcmFtcy5kZWJ1
Z1JlbmRlclRyZWUpLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICAgICAgYm9vbCByZWN1cnNpdmUg
PSBtX2xheW91dFRlc3RDb250cm9sbGVyLT5zaG91bGREdW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0
aW9ucygpOwogICAgICAgICAgICAgZHVtcEZyYW1lU2Nyb2xsUG9zaXRpb24oZnJhbWUsIHJlY3Vy
c2l2ZSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxs
LmgKaW5kZXggZWY5YmU3ZmM0MmU1YzQ2Y2I5ZjM3OTE3M2IwYTg1YTQ4MmU5ZTU2Yy4uMzk4ZDcx
NTViMzllZjFkYjI4MDRiNmI3YmZkMTllMjA5YjFiMjU2YSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgKQEAgLTY1LDYgKzY1LDggQEAgY2xhc3MgRFJURGV2VG9v
bHNDbGllbnQ7CiBzdHJ1Y3QgVGVzdFBhcmFtcyB7CiAgICAgYm9vbCBkdW1wVHJlZTsKICAgICBi
b29sIGR1bXBQaXhlbHM7CisgICAgYm9vbCBkZWJ1Z1JlbmRlclRyZWU7CisgICAgYm9vbCBkZWJ1
Z0xheWVyVHJlZTsKICAgICBib29sIHByaW50U2VwYXJhdG9yczsKICAgICBXZWJLaXQ6OldlYlVS
TCB0ZXN0VXJsOwogICAgIC8vIFJlc3VsdGFudCBpbWFnZSBmaWxlIG5hbWUuIFJlcXVpcmVkIG9u
bHkgaWYgdGhlIHRlc3Rfc2hlbGwgbW9kZS4KQEAgLTc0LDYgKzc2LDggQEAgc3RydWN0IFRlc3RQ
YXJhbXMgewogICAgIFRlc3RQYXJhbXMoKQogICAgICAgICA6IGR1bXBUcmVlKHRydWUpCiAgICAg
ICAgICwgZHVtcFBpeGVscyhmYWxzZSkKKyAgICAgICAgLCBkZWJ1Z1JlbmRlclRyZWUoZmFsc2Up
CisgICAgICAgICwgZGVidWdMYXllclRyZWUoZmFsc2UpCiAgICAgICAgICwgcHJpbnRTZXBhcmF0
b3JzKGZhbHNlKSB7fQogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85493</attachid>
            <date>2011-03-11 10:57:49 -0800</date>
            <delta_ts>2011-03-21 13:02:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56139-20110311105748.patch</filename>
            <type>text/plain</type>
            <size>16930</size>
            <attacher name="Daniel Sievers">sievers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA3MzYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjNmRiYTU5Y2I3MGU4Yjll
MDlhYmY2Njg5Mjg1NjQ2ZDAzYzljYTg0Li5iMGRmYjVjNWFjMDczMmEyNWY3ZWYwZTc5ZGU3YWU2
NjIyMTRlM2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDMtMTEgIERhbmll
bCBTaWV2ZXJzICA8c2lldmVyc0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IFNp
bW9uIEZyYXNlci4KKworICAgICAgICBbQ2hyb21pdW1dIE1ha2UgUmVuZGVyQXNUZXh0QmVoYXZp
b3IgYW5kIExheWVyVHJlZUFzVGV4dEJlaGF2aW9yIHR3ZWFrYWJsZSBmcm9tIHRoZSBEdW1wUmVu
ZGVyVHJlZSBjb21tYW5kbGluZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTYxMzkKKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAq
IFdlYkNvcmUub3JkZXI6CisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZTo6bGF5ZXJUcmVlQXNUZXh0KToKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmxheWVyVHJlZUFzVGV4dCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oOgorCiAyMDExLTAzLTEwICBQcmF0
aWsgU29sYW5raSAgPHBzb2xhbmtpQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBB
bGV4ZXkgUHJvc2t1cnlha292LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA1ZmM2YTJkMGE5ZWRh
MzJjOWIzZDFmNjdiMDFlNDU0ODJkMDQ4ZDliLi5jZDBiYWU5MDNlMzFjYjVlMDk3YzFiNWEzYzk5
NWY0ZmNhNDgzMDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTE3NSw3ICsxMTc1LDcgQEAg
X19aTks3V2ViQ29yZTVDb2xvcjdnZXRSR0JBRVJkUzFfUzFfUzFfCiBfX1pOSzdXZWJDb3JlNUZy
YW1lMTNvd25lclJlbmRlcmVyRXYKIF9fWk5LN1dlYkNvcmU1RnJhbWUxNHNlbGVjdGlvbkltYWdl
RWIKIF9fWk5LN1dlYkNvcmU1RnJhbWUxNWNvbnRlbnRSZW5kZXJlckV2Ci1fX1pOSzdXZWJDb3Jl
NUZyYW1lMTVsYXllclRyZWVBc1RleHRFdgorX19aTks3V2ViQ29yZTVGcmFtZTE1bGF5ZXJUcmVl
QXNUZXh0RWIKIF9fWk5LN1dlYkNvcmU1RnJhbWUxOGRvY3VtZW50VHlwZVN0cmluZ0V2CiBfX1pO
SzdXZWJDb3JlNUZyYW1lOHNldHRpbmdzRXYKIF9fWk5LN1dlYkNvcmU1RnJhbWU5ZG9tV2luZG93
RXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLm9yZGVyCmluZGV4IDY1YzdkODRhZWQ5YjI3ZGM1MGQwNTQwNjM5ZjMxOGFm
NmRiYzk2MjQuLmFmMWEyYWJiMjUzOGEwYWRiOGJjMjczMzYxNWEyODE5YmY4OTRjZGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5vcmRlcgpAQCAtMTYwMDMsNyArMTYwMDMsNyBAQCBfX1pOSzdXZWJDb3JlMTZQREZE
b2N1bWVudEltYWdlNHNpemVFdgogX19aTjdXZWJDb3JlNUltYWdlMjZuYXRpdmVJbWFnZUZvckN1
cnJlbnRGcmFtZUV2CiBfX1pON1dlYkNvcmU1SW1hZ2UxNHJlc2V0QW5pbWF0aW9uRXYKIF9fWk43
V2ViQ29yZTExUmVuZGVyTGF5ZXIyOXVwZGF0ZVJlcGFpbnRSZWN0c0FmdGVyU2Nyb2xsRWIKLV9f
Wk5LN1dlYkNvcmU1RnJhbWUxNWxheWVyVHJlZUFzVGV4dEV2CitfX1pOSzdXZWJDb3JlNUZyYW1l
MTVsYXllclRyZWVBc1RleHRFYgogX19aTks3V2ViQ29yZTEzR3JhcGhpY3NMYXllcjE1bGF5ZXJU
cmVlQXNUZXh0RWoKIF9fWk5LN1dlYkNvcmUxM0dyYXBoaWNzTGF5ZXI5ZHVtcExheWVyRVJOU18x
MFRleHRTdHJlYW1FaWoKIF9fWk43V2ViQ29yZUwxMXdyaXRlSW5kZW50RVJOU18xMFRleHRTdHJl
YW1FaQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCAzZTRiYjJlYTI4ZjBlMzlmODJhN2U0ODgzMDZi
M2EwZmUzYTJjMGM0Li4xOTFjZTI5Y2RiNjFiODM5MjZkYzUyNmM0YmIyODlmNzA0NThjM2U1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtOTA2LDcgKzkwNiw3IEBAIENvbG9yIEZyYW1lOjp0aWxl
ZEJhY2tpbmdTdG9yZUJhY2tncm91bmRDb2xvcigpIGNvbnN0CiB9CiAjZW5kaWYKIAotU3RyaW5n
IEZyYW1lOjpsYXllclRyZWVBc1RleHQoKSBjb25zdAorU3RyaW5nIEZyYW1lOjpsYXllclRyZWVB
c1RleHQoYm9vbCBzaG93RGVidWdJbmZvKSBjb25zdAogewogI2lmIFVTRShBQ0NFTEVSQVRFRF9D
T01QT1NJVElORykKICAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKQEAgLTkxNCw3ICs5
MTQsNyBAQCBTdHJpbmcgRnJhbWU6OmxheWVyVHJlZUFzVGV4dCgpIGNvbnN0CiAgICAgaWYgKCFj
b250ZW50UmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwogCi0gICAgcmV0dXJu
IGNvbnRlbnRSZW5kZXJlcigpLT5jb21wb3NpdG9yKCktPmxheWVyVHJlZUFzVGV4dCgpOworICAg
IHJldHVybiBjb250ZW50UmVuZGVyZXIoKS0+Y29tcG9zaXRvcigpLT5sYXllclRyZWVBc1RleHQo
c2hvd0RlYnVnSW5mbyk7CiAjZWxzZQogICAgIHJldHVybiBTdHJpbmcoKTsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZS5oCmluZGV4IDI1ZjhhYWNmYTYyY2U4MTg2MjAxOGI5Y2RlNTJlMGIxYjk4ZGVjNTAu
LmYyMmZjYjg2MWZhODM1NmZiOGE0YTFkNDY4YTJlMTk4MDVjODBjYzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
LmgKQEAgLTEyNyw3ICsxMjcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9p
ZCBpbmplY3RVc2VyU2NyaXB0cyhVc2VyU2NyaXB0SW5qZWN0aW9uVGltZSk7CiAgICAgICAgIAot
ICAgICAgICBTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KCkgY29uc3Q7CisgICAgICAgIFN0cmluZyBs
YXllclRyZWVBc1RleHQoYm9vbCBzaG93RGVidWdJbmZvID0gZmFsc2UpIGNvbnN0OwogCiAgICAg
ICAgIC8vIFVubGlrZSBtb3N0IGFjY2Vzc29ycyBpbiB0aGlzIGNsYXNzLCBkb21XaW5kb3coKSBh
bHdheXMgY3JlYXRlcyBhIG5ldyBET01XaW5kb3cgaWYgbV9kb21XaW5kb3cgaXMgbnVsbC4KICAg
ICAgICAgLy8gQ2FsbGVycyB0aGF0IGRvbid0IG5lZWQgYSBuZXcgRE9NV2luZG93IHRvIGJlIGNy
ZWF0ZWQgc2hvdWxkIHVzZSBleGlzdGluZ0RPTVdpbmRvdygpLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCAyODVmMjJlNjYx
N2IyZGQyMjNkOWNmNWY0Y2U3ZWI4M2FmNTVhNGI3Li4yMGI5ZmVmNDcxODYwNjQyZjM1OGVhMzFj
YTQ2N2E1ZDgyNjAyNDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtODgwLDcgKzg4MCw3IEBAIHZvaWQgUmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjpmcmFtZVZpZXdEaWRTY3JvbGwoY29uc3QgSW50UG9pbnQmIHNjcm9sbFBv
c2l0aW9uKQogICAgICAgICBtX3Njcm9sbExheWVyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KC1z
Y3JvbGxQb3NpdGlvbi54KCksIC1zY3JvbGxQb3NpdGlvbi55KCkpKTsKIH0KIAotU3RyaW5nIFJl
bmRlckxheWVyQ29tcG9zaXRvcjo6bGF5ZXJUcmVlQXNUZXh0KCkKK1N0cmluZyBSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OmxheWVyVHJlZUFzVGV4dChib29sIHNob3dEZWJ1Z0luZm8pCiB7CiAgICAg
aWYgKGNvbXBvc2l0aW5nTGF5ZXJVcGRhdGVQZW5kaW5nKCkpCiAgICAgICAgIHVwZGF0ZUNvbXBv
c2l0aW5nTGF5ZXJzKCk7CkBAIC04OTAsNyArODkwLDcgQEAgU3RyaW5nIFJlbmRlckxheWVyQ29t
cG9zaXRvcjo6bGF5ZXJUcmVlQXNUZXh0KCkKIAogICAgIC8vIFdlIHNraXAgZHVtcGluZyB0aGUg
c2Nyb2xsIGFuZCBjbGlwIGxheWVycyB0byBrZWVwIGxheWVyVHJlZUFzVGV4dCBvdXRwdXQKICAg
ICAvLyBzaW1pbGFyIGJldHdlZW4gcGxhdGZvcm1zLgotICAgIHJldHVybiBtX3Jvb3RQbGF0Zm9y
bUxheWVyLT5sYXllclRyZWVBc1RleHQoKTsKKyAgICByZXR1cm4gbV9yb290UGxhdGZvcm1MYXll
ci0+bGF5ZXJUcmVlQXNUZXh0KHNob3dEZWJ1Z0luZm8gPyBMYXllclRyZWVBc1RleHREZWJ1ZyA6
IExheWVyVHJlZUFzVGV4dEJlaGF2aW9yTm9ybWFsKTsKIH0KIAogUmVuZGVyTGF5ZXJDb21wb3Np
dG9yKiBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmlmcmFtZUNvbnRlbnRzQ29tcG9zaXRvcihSZW5k
ZXJJRnJhbWUqIHJlbmRlcmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5oCmluZGV4IDMyZDY0ZDMzOTY2OWE1MWJlZjJhMWU1ZGExOTYzODVj
ZWMwZDUwZGYuLmE1MDExZWZiZjc5N2NkMTQ3MzU0OTRhNDkwZjI5YTQzMjE3ZDg5OTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKQEAg
LTE3NSw3ICsxNzUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBmcmFtZVZpZXdEaWRDaGFuZ2VTaXpl
KGNvbnN0IEludFBvaW50JiBjb250ZW50c09mZnNldCA9IEludFBvaW50KCkpOwogICAgIHZvaWQg
ZnJhbWVWaWV3RGlkU2Nyb2xsKGNvbnN0IEludFBvaW50JiA9IEludFBvaW50KCkpOwogCi0gICAg
U3RyaW5nIGxheWVyVHJlZUFzVGV4dCgpOworICAgIFN0cmluZyBsYXllclRyZWVBc1RleHQoYm9v
bCBzaG93RGVidWdJbmZvID0gZmFsc2UpOwogCiAgICAgLy8gVGhlc2UgYXJlIG5hbWVkIHRvIGF2
b2lkIGNvbmZsaWN0cyB3aXRoIHRoZSBmdW5jdGlvbnMgaW4gR3JhcGhpY3NMYXllckNsaWVudAog
ICAgIC8vIFRoZXNlIHJldHVybiB0aGUgYWN0dWFsIGludGVybmFsIHZhcmlhYmxlcy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNGMwMjY1MTc0M2ZiYTQ4MGRiM2Q0ODA1YTVmODM5MmUz
NTViNTgxZC4uMDgzMzczZTY4MzZhMmIyMjk2ZWFlNDAyOGMzYzlkZWEzZDEzZWVkNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0wMy0xMSAgRGFuaWVs
IFNpZXZlcnMgIDxzaWV2ZXJzQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2lt
b24gRnJhc2VyLgorCisgICAgICAgIFtDaHJvbWl1bV0gTWFrZSBSZW5kZXJBc1RleHRCZWhhdmlv
ciBhbmQgTGF5ZXJUcmVlQXNUZXh0QmVoYXZpb3IgdHdlYWthYmxlIGZyb20gdGhlIER1bXBSZW5k
ZXJUcmVlIGNvbW1hbmRsaW5lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD01NjEzOQorCisgICAgICAgICogcHVibGljL1dlYkZyYW1lLmg6CisgICAgICAg
ICogc3JjL1dlYkZyYW1lSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6
cmVuZGVyVHJlZUFzVGV4dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6bGF5ZXJU
cmVlQXNUZXh0KToKKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmg6CisKIDIwMTEtMDMtMTAg
IEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBZdXJ5IFNlbWlraGF0c2t5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViRnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZy
YW1lLmgKaW5kZXggZjNmNWJhNjdkOTdkMTEzODhiMmFkNGIyOGQ5YjljMDIzOTg4MjIxNC4uZGI5
MGM1NGEwMDFiMWIzNzYzYzRmYzM0OTU5MzAyZTQyMjdlMzA0YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCkBAIC01NDksNyArNTQ5LDcgQEAgcHVibGljOgogCiAg
ICAgLy8gUmV0dXJucyBhIHRleHQgcmVwcmVzZW50YXRpb24gb2YgdGhlIHJlbmRlciB0cmVlLiAg
VGhpcyBtZXRob2QgaXMgdXNlZAogICAgIC8vIHRvIHN1cHBvcnQgbGF5b3V0IHRlc3RzLgotICAg
IHZpcnR1YWwgV2ViU3RyaW5nIHJlbmRlclRyZWVBc1RleHQoKSBjb25zdCA9IDA7CisgICAgdmly
dHVhbCBXZWJTdHJpbmcgcmVuZGVyVHJlZUFzVGV4dChib29sIHNob3dEZWJ1Z0luZm8gPSBmYWxz
ZSkgY29uc3QgPSAwOwogCiAgICAgLy8gUmV0dXJucyB0aGUgY291bnRlciB2YWx1ZSBmb3IgdGhl
IHNwZWNpZmllZCBlbGVtZW50LiAgVGhpcyBtZXRob2QgaXMKICAgICAvLyB1c2VkIHRvIHN1cHBv
cnQgbGF5b3V0IHRlc3RzLgpAQCAtNTgyLDcgKzU4Miw3IEBAIHB1YmxpYzoKIAogICAgIC8vIER1
bXBzIHRoZSBsYXllciB0cmVlLCB1c2VkIGJ5IHRoZSBhY2NlbGVyYXRlZCBjb21wb3NpdG9yLCBp
bgogICAgIC8vIHRleHQgZm9ybS4gVGhpcyBpcyB1c2VkIG9ubHkgYnkgbGF5b3V0IHRlc3RzLgot
ICAgIHZpcnR1YWwgV2ViU3RyaW5nIGxheWVyVHJlZUFzVGV4dCgpIGNvbnN0ID0gMDsKKyAgICB2
aXJ0dWFsIFdlYlN0cmluZyBsYXllclRyZWVBc1RleHQoYm9vbCBzaG93RGVidWdJbmZvID0gZmFs
c2UpIGNvbnN0ID0gMDsKIAogcHJvdGVjdGVkOgogICAgIH5XZWJGcmFtZSgpIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKaW5kZXggNTNlMWQ0NGY3OGM0
ZWQ0MTZmMzgyMzU1ZmQ2ZGE0ZTVmMGM0MGIwNC4uZWQ5M2QzODlkMWVkMzI4YTg5MTFlYzNlYjA4
ZjFhY2RjZmY5NGVjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RnJhbWVJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUlt
cGwuY3BwCkBAIC0xNzQyLDkgKzE3NDIsMTggQEAgV2ViU3RyaW5nIFdlYkZyYW1lSW1wbDo6Y29u
dGVudEFzTWFya3VwKCkgY29uc3QKICAgICByZXR1cm4gY3JlYXRlRnVsbE1hcmt1cChtX2ZyYW1l
LT5kb2N1bWVudCgpKTsKIH0KIAotV2ViU3RyaW5nIFdlYkZyYW1lSW1wbDo6cmVuZGVyVHJlZUFz
VGV4dCgpIGNvbnN0CitXZWJTdHJpbmcgV2ViRnJhbWVJbXBsOjpyZW5kZXJUcmVlQXNUZXh0KGJv
b2wgc2hvd0RlYnVnSW5mbykgY29uc3QKIHsKLSAgICByZXR1cm4gZXh0ZXJuYWxSZXByZXNlbnRh
dGlvbihtX2ZyYW1lKTsKKyAgICBSZW5kZXJBc1RleHRCZWhhdmlvciBiZWhhdmlvciA9IFJlbmRl
ckFzVGV4dEJlaGF2aW9yTm9ybWFsOworCisgICAgaWYgKHNob3dEZWJ1Z0luZm8pIHsKKyAgICAg
ICAgYmVoYXZpb3IgfD0gUmVuZGVyQXNUZXh0U2hvd0NvbXBvc2l0ZWRMYXllcnMKKyAgICAgICAg
ICAgIHwgUmVuZGVyQXNUZXh0U2hvd0FkZHJlc3NlcworICAgICAgICAgICAgfCBSZW5kZXJBc1Rl
eHRTaG93SURBbmRDbGFzcworICAgICAgICAgICAgfCBSZW5kZXJBc1RleHRTaG93TGF5ZXJOZXN0
aW5nOworICAgIH0KKworICAgIHJldHVybiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKG1fZnJhbWUs
IGJlaGF2aW9yKTsKIH0KIAogV2ViU3RyaW5nIFdlYkZyYW1lSW1wbDo6Y291bnRlclZhbHVlRm9y
RWxlbWVudEJ5SWQoY29uc3QgV2ViU3RyaW5nJiBpZCkgY29uc3QKQEAgLTE4MTQsMTEgKzE4MjMs
MTEgQEAgYm9vbCBXZWJGcmFtZUltcGw6OnBhdXNlU1ZHQW5pbWF0aW9uKGNvbnN0IFdlYlN0cmlu
ZyYgYW5pbWF0aW9uSWQsIGRvdWJsZSB0aW1lLAogI2VuZGlmCiB9CiAKLVdlYlN0cmluZyBXZWJG
cmFtZUltcGw6OmxheWVyVHJlZUFzVGV4dCgpIGNvbnN0CitXZWJTdHJpbmcgV2ViRnJhbWVJbXBs
OjpsYXllclRyZWVBc1RleHQoYm9vbCBzaG93RGVidWdJbmZvKSBjb25zdAogewogICAgIGlmICgh
bV9mcmFtZSkKICAgICAgICAgcmV0dXJuIFdlYlN0cmluZygpOwotICAgIHJldHVybiBXZWJTdHJp
bmcobV9mcmFtZS0+bGF5ZXJUcmVlQXNUZXh0KCkpOworICAgIHJldHVybiBXZWJTdHJpbmcobV9m
cmFtZS0+bGF5ZXJUcmVlQXNUZXh0KHNob3dEZWJ1Z0luZm8pKTsKIH0KIAogLy8gV2ViRnJhbWVJ
bXBsIHB1YmxpYyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZy
YW1lSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKaW5k
ZXggMTc5MDUxZTJhYjdmOWZjZmJiNzg0YTVkNmIxOTdjMDg2NjJlNzE3MC4uODg5YzdiYjEwNjU5
ZmM0NWZlMDQzYTMxYmU2ZTJiNTRiY2I5ZGRjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRnJhbWVJbXBsLmgKQEAgLTE4Nyw3ICsxODcsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0
dWFsIFdlYlN0cmluZyBjb250ZW50QXNUZXh0KHNpemVfdCBtYXhDaGFycykgY29uc3Q7CiAgICAg
dmlydHVhbCBXZWJTdHJpbmcgY29udGVudEFzTWFya3VwKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBX
ZWJTdHJpbmcgcmVuZGVyVHJlZUFzVGV4dCgpIGNvbnN0OworICAgIHZpcnR1YWwgV2ViU3RyaW5n
IHJlbmRlclRyZWVBc1RleHQoYm9vbCBzaG93RGVidWdJbmZvID0gZmFsc2UpIGNvbnN0OwogICAg
IHZpcnR1YWwgV2ViU3RyaW5nIGNvdW50ZXJWYWx1ZUZvckVsZW1lbnRCeUlkKGNvbnN0IFdlYlN0
cmluZyYgaWQpIGNvbnN0OwogICAgIHZpcnR1YWwgV2ViU3RyaW5nIG1hcmtlclRleHRGb3JMaXN0
SXRlbShjb25zdCBXZWJFbGVtZW50JikgY29uc3Q7CiAgICAgdmlydHVhbCBpbnQgcGFnZU51bWJl
ckZvckVsZW1lbnRCeUlkKGNvbnN0IFdlYlN0cmluZyYgaWQsCkBAIC0xOTksNyArMTk5LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBwYXVzZVNWR0FuaW1hdGlvbihjb25zdCBXZWJTdHJp
bmcmIGFuaW1hdGlvbklkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3Vi
bGUgdGltZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3Ry
aW5nJiBlbGVtZW50SWQpOwotICAgIHZpcnR1YWwgV2ViU3RyaW5nIGxheWVyVHJlZUFzVGV4dCgp
IGNvbnN0OworICAgIHZpcnR1YWwgV2ViU3RyaW5nIGxheWVyVHJlZUFzVGV4dChib29sIHNob3dE
ZWJ1Z0luZm8gPSBmYWxzZSkgY29uc3Q7CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJGcmFt
ZUltcGw+IGNyZWF0ZShXZWJGcmFtZUNsaWVudCogY2xpZW50KTsKICAgICB+V2ViRnJhbWVJbXBs
KCk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
OTdkMmRlMmY5ZDUxYjI2ZGVlZGE0MWRhN2RjMGI3OWQyZjgxNDE3ZS4uNjViOGE0YWViZTk4ODU0
MjY5MzE4NzQ0Njk1ZTQwYmExOGRkOTUzOCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTAzLTExICBEYW5pZWwg
U2lldmVycyAgPHNpZXZlcnNAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1v
biBGcmFzZXIuCisKKyAgICAgICAgW0Nocm9taXVtXSBNYWtlIFJlbmRlckFzVGV4dEJlaGF2aW9y
IGFuZCBMYXllclRyZWVBc1RleHRCZWhhdmlvciB0d2Vha2FibGUgZnJvbSB0aGUgRHVtcFJlbmRl
clRyZWUgY29tbWFuZGxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU2MTM5CisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EdW1w
UmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0
Q29udHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAoTGF5b3V0VGVzdENv
bnRyb2xsZXI6OmxheWVyVHJlZUFzVGV4dCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9s
bGVyOjpzZXRTaG93RGVidWdMYXllclRyZWUpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6OnJ1bkZpbGVUZXN0KToK
KyAgICAgICAgKFRlc3RTaGVsbDo6ZHVtcCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vVGVzdFNoZWxsLmg6CisgICAgICAgIChUZXN0UGFyYW1zOjpUZXN0UGFyYW1zKToKKwog
MjAxMS0wMy0xMCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3JvbmhhIFNpbHZhLgpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IGUwMDg0MzIzM2I1
NjNiMDNhMWY0ZWZkNjExZmQxODU1MDE3MzZkZjcuLjg5YzU0MDdjYTczN2U5ZDI0MjgyZjhjNmE4
ZTc1YmYxM2ZlNzhjNTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L0R1bXBSZW5kZXJUcmVlLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9E
dW1wUmVuZGVyVHJlZS5jcHAKQEAgLTQzLDcgKzQzLDggQEAgc3RhdGljIGNvbnN0IGNoYXIgb3B0
aW9uRHVtcEFsbFBpeGVsc1tdID0gIi0tZHVtcC1hbGwtcGl4ZWxzIjsKIHN0YXRpYyBjb25zdCBj
aGFyIG9wdGlvbk5vdHJlZVtdID0gIi0tbm90cmVlIjsKIHN0YXRpYyBjb25zdCBjaGFyIG9wdGlv
blBpeGVsVGVzdHNbXSA9ICItLXBpeGVsLXRlc3RzIjsKIHN0YXRpYyBjb25zdCBjaGFyIG9wdGlv
blRocmVhZGVkW10gPSAiLS10aHJlYWRlZCI7Ci1zdGF0aWMgY29uc3QgY2hhciBvcHRpb25UcmVl
W10gPSAiLS10cmVlIjsKK3N0YXRpYyBjb25zdCBjaGFyIG9wdGlvbkRlYnVnUmVuZGVyVHJlZVtd
ID0gIi0tZGVidWctcmVuZGVyLXRyZWUiOworc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uRGVidWdM
YXllclRyZWVbXSA9ICItLWRlYnVnLWxheWVyLXRyZWUiOwogCiBzdGF0aWMgY29uc3QgY2hhciBv
cHRpb25QaXhlbFRlc3RzV2l0aE5hbWVbXSA9ICItLXBpeGVsLXRlc3RzPSI7CiBzdGF0aWMgY29u
c3QgY2hhciBvcHRpb25UZXN0U2hlbGxbXSA9ICItLXRlc3Qtc2hlbGwiOwpAQCAtMTQ4LDcgKzE0
OSwxMSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgICAgICBlbHNlIGlm
ICghYXJndW1lbnQuZmluZChvcHRpb25QaXhlbFRlc3RzV2l0aE5hbWUpKSB7CiAgICAgICAgICAg
ICBwYXJhbXMuZHVtcFBpeGVscyA9IHRydWU7CiAgICAgICAgICAgICBwYXJhbXMucGl4ZWxGaWxl
TmFtZSA9IGFyZ3VtZW50LnN1YnN0cihzdHJsZW4ob3B0aW9uUGl4ZWxUZXN0c1dpdGhOYW1lKSk7
Ci0gICAgICAgIH0gZWxzZSBpZiAoYXJndW1lbnQgPT0gb3B0aW9uVGVzdFNoZWxsKSB7CisgICAg
ICAgIH0gZWxzZSBpZiAoYXJndW1lbnQgPT0gb3B0aW9uRGVidWdSZW5kZXJUcmVlKQorICAgICAg
ICAgICAgcGFyYW1zLmRlYnVnUmVuZGVyVHJlZSA9IHRydWU7CisgICAgICAgIGVsc2UgaWYgKGFy
Z3VtZW50ID09IG9wdGlvbkRlYnVnTGF5ZXJUcmVlKQorICAgICAgICAgICAgcGFyYW1zLmRlYnVn
TGF5ZXJUcmVlID0gdHJ1ZTsKKyAgICAgICAgZWxzZSBpZiAoYXJndW1lbnQgPT0gb3B0aW9uVGVz
dFNoZWxsKSB7CiAgICAgICAgICAgICB0ZXN0U2hlbGxNb2RlID0gdHJ1ZTsKICAgICAgICAgICAg
IHNlcnZlck1vZGUgPSB0cnVlOwogICAgICAgICB9IGVsc2UgaWYgKGFyZ3VtZW50ID09IG9wdGlv
bkFsbG93RXh0ZXJuYWxQYWdlcykKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCBjMmIxYjEyYjY4Mzc2ZWNhMzM4
YTY3YzU4MDgxN2NiMzU3YjI2YmQ1Li43Y2Y4ZmE1NzIyYmJkNDM1YzAwYjY0MTE2ZDdiMDQ0ZjIw
NmIyOWY3IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5
b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC03Myw2ICs3Myw3IEBAIExheW91dFRlc3RDb250cm9s
bGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihUZXN0U2hlbGwqIHNoZWxsKQogICAgIDogbV9zaGVs
bChzaGVsbCkKICAgICAsIG1fY2xvc2VSZW1haW5pbmdXaW5kb3dzKGZhbHNlKQogICAgICwgbV9k
ZWZlck1haW5SZXNvdXJjZURhdGFMb2FkKGZhbHNlKQorICAgICwgbV9zaG93RGVidWdMYXllclRy
ZWUoZmFsc2UpCiAgICAgLCBtX3dvcmtRdWV1ZSh0aGlzKQogewogCkBAIC0xNTg3LDcgKzE1ODgs
NyBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjphZGRNb2NrU3BlZWNoSW5wdXRSZXN1bHQo
Y29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bQogCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVy
OjpsYXllclRyZWVBc1RleHQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmdzLCBDcHBWYXJpYW50
KiByZXN1bHQpCiB7Ci0gICAgcmVzdWx0LT5zZXQobV9zaGVsbC0+d2ViVmlldygpLT5tYWluRnJh
bWUoKS0+bGF5ZXJUcmVlQXNUZXh0KCkudXRmOCgpKTsKKyAgICByZXN1bHQtPnNldChtX3NoZWxs
LT53ZWJWaWV3KCktPm1haW5GcmFtZSgpLT5sYXllclRyZWVBc1RleHQobV9zaG93RGVidWdMYXll
clRyZWUpLnV0ZjgoKSk7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1hcmtlclRl
eHRGb3JMaXN0SXRlbShjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3MsIENwcFZhcmlhbnQqIHJl
c3VsdCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRl
c3RDb250cm9sbGVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0
Q29udHJvbGxlci5oCmluZGV4IGE4ZmNkOTkxMGE3ZTg3OWUyODNlMTg0MTYwMTMwYTkyN2JkNTdh
OWIuLjMyZWNhMGY3MGVjZDU5MmFiYzFkYjYzOTVhNThkOGYyMzE2NDIwOTggMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmgKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaApA
QCAtMzY3LDYgKzM2Nyw3IEBAIHB1YmxpYzoKICAgICBib29sIHNob3VsZEFkZEZpbGVUb1Bhc3Rl
Ym9hcmQoKSB7IHJldHVybiBtX3Nob3VsZEFkZEZpbGVUb1Bhc3RlYm9hcmQ7IH0KICAgICBib29s
IHN0b3BQcm92aXNpb25hbEZyYW1lTG9hZHMoKSB7IHJldHVybiBtX3N0b3BQcm92aXNpb25hbEZy
YW1lTG9hZHM7IH0KICAgICBib29sIGRlZmVyTWFpblJlc291cmNlRGF0YUxvYWQoKSB7IHJldHVy
biBtX2RlZmVyTWFpblJlc291cmNlRGF0YUxvYWQ7IH0KKyAgICB2b2lkIHNldFNob3dEZWJ1Z0xh
eWVyVHJlZShib29sIHZhbHVlKSB7IG1fc2hvd0RlYnVnTGF5ZXJUcmVlID0gdmFsdWU7IH0KIAog
ICAgIGJvb2wgdGVzdFJlcGFpbnQoKSBjb25zdCB7IHJldHVybiBtX3Rlc3RSZXBhaW50OyB9CiAg
ICAgYm9vbCBzd2VlcEhvcml6b250YWxseSgpIGNvbnN0IHsgcmV0dXJuIG1fc3dlZXBIb3Jpem9u
dGFsbHk7IH0KQEAgLTU0MCw2ICs1NDEsOSBAQCBwcml2YXRlOgogICAgIC8vIElmIGZhbHNlLCBh
bGwgbmV3IHJlcXVlc3RzIHdpbGwgbm90IGRlZmVyIHRoZSBtYWluIHJlc291cmNlIGRhdGEgbG9h
ZC4KICAgICBib29sIG1fZGVmZXJNYWluUmVzb3VyY2VEYXRhTG9hZDsKIAorICAgIC8vIElmIHRy
dWUsIHdlIHdpbGwgc2hvdyBleHRlbmRlZCBpbmZvcm1hdGlvbiBpbiB0aGUgZ3JhcGhpY3MgbGF5
ZXIgdHJlZS4KKyAgICBib29sIG1fc2hvd0RlYnVnTGF5ZXJUcmVlOworCiAgICAgV29ya1F1ZXVl
IG1fd29ya1F1ZXVlOwogCiAgICAgQ3BwVmFyaWFudCBtX2dsb2JhbEZsYWc7CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAppbmRleCBlMWE4NmVmZGFiNjRiNzJm
ODZiMTY4ZGQ1ZjBmNDhhZTViNjAwMDVhLi45MTI0ZjlkYWU0M2M5YzcwOTU4NWY3ZDM4NDQ5OTcz
OGNiM2UzZjRkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
U2hlbGwuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5j
cHAKQEAgLTE4OCw2ICsxODgsOSBAQCB2b2lkIFRlc3RTaGVsbDo6cnVuRmlsZVRlc3QoY29uc3Qg
VGVzdFBhcmFtcyYgcGFyYW1zKQogICAgICAgICB8fCB0ZXN0VXJsLmZpbmQoIlxcaW5zcGVjdG9y
XFwiKSAhPSBzdHJpbmc6Om5wb3MpCiAgICAgICAgIHNob3dEZXZUb29scygpOwogCisgICAgaWYg
KG1fcGFyYW1zLmRlYnVnTGF5ZXJUcmVlKQorICAgICAgICBtX2xheW91dFRlc3RDb250cm9sbGVy
LT5zZXRTaG93RGVidWdMYXllclRyZWUodHJ1ZSk7CisKICAgICBpZiAobV9kdW1wV2hlbkZpbmlz
aGVkKQogICAgICAgICBtX3ByaW50ZXItPmhhbmRsZVRlc3RIZWFkZXIodGVzdFVybC5jX3N0cigp
KTsKICAgICBsb2FkVVJMKG1fcGFyYW1zLnRlc3RVcmwpOwpAQCAtNDU0LDcgKzQ1Nyw3IEBAIHZv
aWQgVGVzdFNoZWxsOjpkdW1wKCkKICAgICAgICAgICAgIGlmIChmd3JpdGUoZGF0YVV0ZjguY19z
dHIoKSwgMSwgZGF0YVV0Zjguc2l6ZSgpLCBzdGRvdXQpICE9IGRhdGFVdGY4LnNpemUoKSkKICAg
ICAgICAgICAgICAgICBGQVRBTCgiU2hvcnQgd3JpdGUgdG8gc3Rkb3V0LCBkaXNrIGZ1bGw/XG4i
KTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHByaW50ZigiJXMiLCBmcmFtZS0+cmVu
ZGVyVHJlZUFzVGV4dCgpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgcHJpbnRmKCIlcyIs
IGZyYW1lLT5yZW5kZXJUcmVlQXNUZXh0KG1fcGFyYW1zLmRlYnVnUmVuZGVyVHJlZSkudXRmOCgp
LmRhdGEoKSk7CiAgICAgICAgICAgICBib29sIHJlY3Vyc2l2ZSA9IG1fbGF5b3V0VGVzdENvbnRy
b2xsZXItPnNob3VsZER1bXBDaGlsZEZyYW1lU2Nyb2xsUG9zaXRpb25zKCk7CiAgICAgICAgICAg
ICBkdW1wRnJhbWVTY3JvbGxQb3NpdGlvbihmcmFtZSwgcmVjdXJzaXZlKTsKICAgICAgICAgfQpk
aWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmggYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaAppbmRleCBlZjliZTdmYzQy
ZTVjNDZjYjlmMzc5MTczYjBhODVhNDgyZTllNTZjLi4zOThkNzE1NWIzOWVmMWRiMjgwNGI2Yjdi
ZmQxOWUyMDliMWIyNTZhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9UZXN0U2hlbGwuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hl
bGwuaApAQCAtNjUsNiArNjUsOCBAQCBjbGFzcyBEUlREZXZUb29sc0NsaWVudDsKIHN0cnVjdCBU
ZXN0UGFyYW1zIHsKICAgICBib29sIGR1bXBUcmVlOwogICAgIGJvb2wgZHVtcFBpeGVsczsKKyAg
ICBib29sIGRlYnVnUmVuZGVyVHJlZTsKKyAgICBib29sIGRlYnVnTGF5ZXJUcmVlOwogICAgIGJv
b2wgcHJpbnRTZXBhcmF0b3JzOwogICAgIFdlYktpdDo6V2ViVVJMIHRlc3RVcmw7CiAgICAgLy8g
UmVzdWx0YW50IGltYWdlIGZpbGUgbmFtZS4gUmVxdWlyZWQgb25seSBpZiB0aGUgdGVzdF9zaGVs
bCBtb2RlLgpAQCAtNzQsNiArNzYsOCBAQCBzdHJ1Y3QgVGVzdFBhcmFtcyB7CiAgICAgVGVzdFBh
cmFtcygpCiAgICAgICAgIDogZHVtcFRyZWUodHJ1ZSkKICAgICAgICAgLCBkdW1wUGl4ZWxzKGZh
bHNlKQorICAgICAgICAsIGRlYnVnUmVuZGVyVHJlZShmYWxzZSkKKyAgICAgICAgLCBkZWJ1Z0xh
eWVyVHJlZShmYWxzZSkKICAgICAgICAgLCBwcmludFNlcGFyYXRvcnMoZmFsc2UpIHt9CiB9Owog
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>