<?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>20674</bug_id>
          
          <creation_ts>2008-09-05 14:54:38 -0700</creation_ts>
          <short_desc>Very large and small numbers fail to round-trip through CSS</short_desc>
          <delta_ts>2010-10-18 14:48:38 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>barraclough</cc>
    
    <cc>cmarrin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>evan</cc>
    
    <cc>hyatt</cc>
    
    <cc>krit</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>90307</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-09-05 14:54:38 -0700</bug_when>
    <thetext>When converting very large or small numbers back to strings, exponential notation is used, so a value like 90010000px is returned from getComputedStyle() as 9.001e+07px.

9.001e+07px does not parse, so such a value cannot be round-tripped.

This is a particular problem with tranformation matrices, which can often contain very large or small numbers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90308</commentid>
    <comment_count>1</comment_count>
      <attachid>23202</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-09-05 14:55:15 -0700</bug_when>
    <thetext>Created attachment 23202
Testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90576</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-09-08 14:21:26 -0700</bug_when>
    <thetext>See thread starting here:
&lt;http://lists.w3.org/Archives/Public/www-style/2008Sep/0049.html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106088</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-01-16 10:50:36 -0800</bug_when>
    <thetext>Parsing of pixel values like &quot;-131.33376515546504px&quot; seems broken too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152907</commentid>
    <comment_count>4</comment_count>
    <who name="Evan Martin">evan</who>
    <bug_when>2009-10-06 17:51:31 -0700</bug_when>
    <thetext>In fixing bug 18994 (https://bugs.webkit.org/show_bug.cgi?id=18994) I&apos;m looking at reimplementing the way we generate floats in CSS.  My fix for that bug would fix this as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152908</commentid>
    <comment_count>5</comment_count>
    <who name="Evan Martin">evan</who>
    <bug_when>2009-10-06 17:52:20 -0700</bug_when>
    <thetext>Can you check in your test?  Or would you mind if I checked it in with appropriate baselines?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152926</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-10-06 19:23:26 -0700</bug_when>
    <thetext>Please go ahead and check it in. We should also add some tests which read/write style.webkitTransform, since this often contains floating point numbers with lots of digits.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152928</commentid>
    <comment_count>7</comment_count>
      <attachid>40757</attachid>
    <who name="Evan Martin">evan</who>
    <bug_when>2009-10-06 19:33:10 -0700</bug_when>
    <thetext>Created attachment 40757
smfr&apos;s layout test with a failing baseline</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152929</commentid>
    <comment_count>8</comment_count>
      <attachid>40758</attachid>
    <who name="Evan Martin">evan</who>
    <bug_when>2009-10-06 19:34:02 -0700</bug_when>
    <thetext>Created attachment 40758
smfr&apos;s layout test with a failing baseline</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152937</commentid>
    <comment_count>9</comment_count>
      <attachid>40758</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-06 20:47:16 -0700</bug_when>
    <thetext>Comment on attachment 40758
smfr&apos;s layout test with a failing baseline

Rejecting patch 40758 from commit-queue.

Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;]&quot; exit_code: 1
Last 500 characters of output:
ayoutTests/fast/css/large-number-round-trip.html
A repository hook failed: MERGE request failed on &apos;/repository/webkit/trunk&apos;: Commit blocked by pre-commit hook (exit code 1) with output:
svnlook: Can&apos;t write to stream: Broken pipe

    The following files contain tab characters:

        trunk/LayoutTests/ChangeLog

    Please use spaces instead to indent.
    If you must commit a file with tabs, use svn propset to set the &quot;allow-tabs&quot; property.
 at /usr/local/libexec/git-core//git-svn line 469</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153113</commentid>
    <comment_count>10</comment_count>
      <attachid>40804</attachid>
    <who name="Evan Martin">evan</who>
    <bug_when>2009-10-07 10:49:04 -0700</bug_when>
    <thetext>Created attachment 40804
smfr&apos;s layout test with a failing baseline</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153114</commentid>
    <comment_count>11</comment_count>
      <attachid>40804</attachid>
    <who name="Evan Martin">evan</who>
    <bug_when>2009-10-07 10:49:26 -0700</bug_when>
    <thetext>Comment on attachment 40804
smfr&apos;s layout test with a failing baseline

now without tabs.

FFFFFUUUUUUUUU</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153119</commentid>
    <comment_count>12</comment_count>
      <attachid>40804</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-07 11:10:33 -0700</bug_when>
    <thetext>Comment on attachment 40804
smfr&apos;s layout test with a failing baseline

Clearing flags on attachment: 40804

Committed r49254: &lt;http://trac.webkit.org/changeset/49254&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153120</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-07 11:10:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153123</commentid>
    <comment_count>14</comment_count>
    <who name="Evan Martin">evan</who>
    <bug_when>2009-10-07 11:14:02 -0700</bug_when>
    <thetext>Patch was only a test; not fixed yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154661</commentid>
    <comment_count>15</comment_count>
    <who name="Evan Martin">evan</who>
    <bug_when>2009-10-14 14:55:16 -0700</bug_when>
    <thetext>fixed in
http://trac.webkit.org/changeset/49585
darin++</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171259</commentid>
    <comment_count>16</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-12-13 16:10:50 -0800</bug_when>
    <thetext>Reopening; the change was reverted. See bug 18994.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295156</commentid>
    <comment_count>17</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-10-16 13:41:01 -0700</bug_when>
    <thetext>I plan to fix CSSPrimitiveValue.cssText() via bug 20674.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295157</commentid>
    <comment_count>18</comment_count>
      <attachid>70962</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-10-16 13:44:14 -0700</bug_when>
    <thetext>Created attachment 70962
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295202</commentid>
    <comment_count>19</comment_count>
      <attachid>70962</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-10-17 02:21:58 -0700</bug_when>
    <thetext>Comment on attachment 70962
Patch

This is correct, and I&apos;m tempted to r+. Though I was planning to solve this in a more generic fashion, by moving this code (formatNumber) into WTFString, as default String::number() implementation for double.
We can still move this to String::number() though as a later point, it&apos;s good to see less String::format() usage anyway.
If you prefer to land it as is, I&apos;ll r+ it later - waiting for your comment first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295226</commentid>
    <comment_count>20</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-10-17 09:42:15 -0700</bug_when>
    <thetext>I&apos;d like to get this in, and we can do string cleanup later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295265</commentid>
    <comment_count>21</comment_count>
      <attachid>70962</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-10-17 12:39:37 -0700</bug_when>
    <thetext>Comment on attachment 70962
Patch

Looks great, r=me. I&apos;ll take your formatNumber code as starting point for rewriting String::number(double).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295274</commentid>
    <comment_count>22</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-10-17 13:06:48 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/69928</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295767</commentid>
    <comment_count>23</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-10-18 14:48:38 -0700</bug_when>
    <thetext>There&apos;s a possible buffer overflow here: bug 47851.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>23202</attachid>
            <date>2008-09-05 14:55:15 -0700</date>
            <delta_ts>2008-09-05 14:55:15 -0700</delta_ts>
            <desc>Testcase</desc>
            <filename>numeric_round_trip.html</filename>
            <type>text/html</type>
            <size>1168</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIKICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cgo8aHRtbCBs
YW5nPSJlbiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KICA8dGl0bGU+Um91bmQtdHJpcCBsYXJnZSB2
YWx1ZXM8L3RpdGxlPgogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+CiAg
ICAjYm94IHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgfQogIDwvc3R5bGU+CjwvaGVh
ZD4KPGJvZHk+CjxkaXYgaWQ9ImJveCI+CjwvZGl2Pgo8ZGl2IGlkPSJyZXN1bHRzIj4KPC9kaXY+
CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+CiAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKCiAgdmFyIGJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib3gnKTsKICAK
ICB2YXIgdGVzdFZhbHVlID0gIjkwMDEwMDAwcHgiOwogIGJveC5zdHlsZS5sZWZ0ID0gdGVzdFZh
bHVlOwoKICB2YXIgbGVmdFZhbHVlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoYm94KS5sZWZ0
OwogIAogIGJveC5zdHlsZS5sZWZ0ID0gIjBweCI7CiAgYm94LnN0eWxlLmxlZnQgPSBsZWZ0VmFs
dWU7CiAgdmFyIG5ld0xlZnRWYWx1ZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGJveCkubGVm
dDsKCiAgdmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0cycpOwog
IHZhciByZXN1bHQ7CiAgaWYgKGxlZnRWYWx1ZSA9PSBuZXdMZWZ0VmFsdWUpCiAgICByZXN1bHQg
PSAiUEFTUzogcmVhZCAiICsgdGVzdFZhbHVlICsgIiBiYWNrIGFzICIgKyBsZWZ0VmFsdWUgKyAi
LCByZWFkIGFnYWluIGFzICIgKyBuZXdMZWZ0VmFsdWU7CiAgZWxzZQogICAgcmVzdWx0ID0gIkZB
SUw6IHJlYWQgIiArIHRlc3RWYWx1ZSArICIgYmFjayBhcyAiICsgbGVmdFZhbHVlICsgIiwgcmVh
ZCBhZ2FpbiBhcyAiICsgbmV3TGVmdFZhbHVlOwogIHJlc3VsdHMuaW5uZXJIVE1MID0gcmVzdWx0
Owo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40757</attachid>
            <date>2009-10-06 19:33:10 -0700</date>
            <delta_ts>2009-10-06 19:33:59 -0700</delta_ts>
            <desc>smfr&apos;s layout test with a failing baseline</desc>
            <filename>bug-20674-20091006193309.patch</filename>
            <type>text/plain</type>
            <size>2786</size>
            <attacher name="Evan Martin">evan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4ZGNlOGExLi42Y2UxNjIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMDktMTAt
MDYgIEV2YW4gTWFydGluICA8ZXZhbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKwlBZGQgYSBjdXJyZW50bHktZmFpbGluZyB0ZXN0IGV4aGli
aXRpbmcgdGhlIHByb2JsZW0gaW4KKwlodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA2NzQ6CisKKwlXaGVuIGNvbnZlcnRpbmcgdmVyeSBsYXJnZSBvciBzbWFsbCBudW1i
ZXJzIGJhY2sgdG8gc3RyaW5ncywgZXhwb25lbnRpYWwKKwlub3RhdGlvbiBpcyB1c2VkLCBzbyBh
IHZhbHVlIGxpa2UgOTAwMTAwMDBweCBpcyByZXR1cm5lZCBmcm9tCisJZ2V0Q29tcHV0ZWRTdHls
ZSgpIGFzIDkuMDAxZSswN3B4LgorCisJOS4wMDFlKzA3cHggZG9lcyBub3QgcGFyc2UsIHNvIHN1
Y2ggYSB2YWx1ZSBjYW5ub3QgYmUgcm91bmQtdHJpcHBlZC4KKworCVRoaXMgaXMgYSBwYXJ0aWN1
bGFyIHByb2JsZW0gd2l0aCB0cmFuZm9ybWF0aW9uIG1hdHJpY2VzLCB3aGljaCBjYW4gb2Z0ZW4K
Kwljb250YWluIHZlcnkgbGFyZ2Ugb3Igc21hbGwgbnVtYmVycy4KKworCShUZXN0IHdyaXR0ZW4g
YnkgU2ltb24gRnJhc2VyOyBJJ3ZlIGp1c3QgaXQgYSBjb21taXR0YWJsZSBwYXRjaC4pCisKKyAg
ICAgICAgKiBmYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLmh0bWw6IEFk
ZGVkLgorCiAyMDA5LTEwLTA2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgUm93ZS4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWM2ZGMxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEgQEAKK0ZBSUw6IHJlYWQgOTAwMTAwMDBweCBiYWNrIGFzIDkuMDAxZSsw
N3B4LCByZWFkIGFnYWluIGFzIDBweApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
bGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2xhcmdl
LW51bWJlci1yb3VuZC10cmlwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uZjE0OWY5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2xhcmdl
LW51bWJlci1yb3VuZC10cmlwLmh0bWwKQEAgLTAsMCArMSw0MyBAQAorPCFET0NUWVBFIGh0bWwg
UFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIKKyAgICJodHRw
Oi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPgorCis8aHRtbCBsYW5nPSJlbiI+Cis8
aGVhZD4KKyAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0
bWw7IGNoYXJzZXQ9dXRmLTgiPgorICA8dGl0bGU+Um91bmQtdHJpcCBsYXJnZSB2YWx1ZXM8L3Rp
dGxlPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgorICAgICNib3gg
eworICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIH0KKyAgPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdiBpZD0iYm94Ij4KKzwvZGl2PgorPGRpdiBpZD0icmVzdWx0cyI+Cis8L2Rp
dj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+CisgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworCisgIHZhciBib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm94
Jyk7CisKKyAgdmFyIHRlc3RWYWx1ZSA9ICI5MDAxMDAwMHB4IjsKKyAgYm94LnN0eWxlLmxlZnQg
PSB0ZXN0VmFsdWU7CisKKyAgdmFyIGxlZnRWYWx1ZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KGJveCkubGVmdDsKKworICBib3guc3R5bGUubGVmdCA9ICIwcHgiOworICBib3guc3R5bGUubGVm
dCA9IGxlZnRWYWx1ZTsKKyAgdmFyIG5ld0xlZnRWYWx1ZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKGJveCkubGVmdDsKKworICB2YXIgcmVzdWx0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdyZXN1bHRzJyk7CisgIHZhciByZXN1bHQ7CisgIGlmIChsZWZ0VmFsdWUgPT0gbmV3TGVmdFZh
bHVlKQorICAgIHJlc3VsdCA9ICJQQVNTOiByZWFkICIgKyB0ZXN0VmFsdWUgKyAiIGJhY2sgYXMg
IiArIGxlZnRWYWx1ZSArICIsIHJlYWQgYWdhaW4gYXMgIiArIG5ld0xlZnRWYWx1ZTsKKyAgZWxz
ZQorICAgIHJlc3VsdCA9ICJGQUlMOiByZWFkICIgKyB0ZXN0VmFsdWUgKyAiIGJhY2sgYXMgIiAr
IGxlZnRWYWx1ZSArICIsIHJlYWQgYWdhaW4gYXMgIiArIG5ld0xlZnRWYWx1ZTsKKyAgcmVzdWx0
cy5pbm5lckhUTUwgPSByZXN1bHQ7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40758</attachid>
            <date>2009-10-06 19:34:02 -0700</date>
            <delta_ts>2009-10-07 10:48:59 -0700</delta_ts>
            <desc>smfr&apos;s layout test with a failing baseline</desc>
            <filename>bug-20674-20091006193401.patch</filename>
            <type>text/plain</type>
            <size>2791</size>
            <attacher name="Evan Martin">evan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4ZGNlOGExLi40YTIwNTc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMDktMTAt
MDYgIEV2YW4gTWFydGluICA8ZXZhbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKwlBZGQgYSBjdXJyZW50bHktZmFpbGluZyB0ZXN0IGV4aGli
aXRpbmcgdGhlIHByb2JsZW0gaW4KKwlodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA2NzQ6CisKKwlXaGVuIGNvbnZlcnRpbmcgdmVyeSBsYXJnZSBvciBzbWFsbCBudW1i
ZXJzIGJhY2sgdG8gc3RyaW5ncywgZXhwb25lbnRpYWwKKwlub3RhdGlvbiBpcyB1c2VkLCBzbyBh
IHZhbHVlIGxpa2UgOTAwMTAwMDBweCBpcyByZXR1cm5lZCBmcm9tCisJZ2V0Q29tcHV0ZWRTdHls
ZSgpIGFzIDkuMDAxZSswN3B4LgorCisJOS4wMDFlKzA3cHggZG9lcyBub3QgcGFyc2UsIHNvIHN1
Y2ggYSB2YWx1ZSBjYW5ub3QgYmUgcm91bmQtdHJpcHBlZC4KKworCVRoaXMgaXMgYSBwYXJ0aWN1
bGFyIHByb2JsZW0gd2l0aCB0cmFuZm9ybWF0aW9uIG1hdHJpY2VzLCB3aGljaCBjYW4gb2Z0ZW4K
Kwljb250YWluIHZlcnkgbGFyZ2Ugb3Igc21hbGwgbnVtYmVycy4KKworCShUZXN0IHdyaXR0ZW4g
YnkgU2ltb24gRnJhc2VyOyBJJ3ZlIGp1c3QgbWFkZSBpdCBhIGNvbW1pdHRhYmxlIHBhdGNoLikK
KworICAgICAgICAqIGZhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAuaHRt
bDogQWRkZWQuCisKIDIwMDktMTAtMDYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBSb3dlLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5YzZkYzEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSBAQAorRkFJTDogcmVhZCA5MDAxMDAwMHB4IGJhY2sgYXMgOS4w
MDFlKzA3cHgsIHJlYWQgYWdhaW4gYXMgMHB4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
bGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5mMTQ5ZjljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
bGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAuaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUg
aHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIgorICAg
Imh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+CisKKzxodG1sIGxhbmc9ImVu
Ij4KKzxoZWFkPgorICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRl
eHQvaHRtbDsgY2hhcnNldD11dGYtOCI+CisgIDx0aXRsZT5Sb3VuZC10cmlwIGxhcmdlIHZhbHVl
czwvdGl0bGU+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+CisgICAg
I2JveCB7CisgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgfQorICA8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJib3giPgorPC9kaXY+Cis8ZGl2IGlkPSJyZXN1bHRzIj4K
KzwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4K
KyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisKKyAgdmFyIGJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdib3gnKTsKKworICB2YXIgdGVzdFZhbHVlID0gIjkwMDEwMDAwcHgiOworICBib3guc3R5bGUu
bGVmdCA9IHRlc3RWYWx1ZTsKKworICB2YXIgbGVmdFZhbHVlID0gd2luZG93LmdldENvbXB1dGVk
U3R5bGUoYm94KS5sZWZ0OworCisgIGJveC5zdHlsZS5sZWZ0ID0gIjBweCI7CisgIGJveC5zdHls
ZS5sZWZ0ID0gbGVmdFZhbHVlOworICB2YXIgbmV3TGVmdFZhbHVlID0gd2luZG93LmdldENvbXB1
dGVkU3R5bGUoYm94KS5sZWZ0OworCisgIHZhciByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3Jlc3VsdHMnKTsKKyAgdmFyIHJlc3VsdDsKKyAgaWYgKGxlZnRWYWx1ZSA9PSBuZXdM
ZWZ0VmFsdWUpCisgICAgcmVzdWx0ID0gIlBBU1M6IHJlYWQgIiArIHRlc3RWYWx1ZSArICIgYmFj
ayBhcyAiICsgbGVmdFZhbHVlICsgIiwgcmVhZCBhZ2FpbiBhcyAiICsgbmV3TGVmdFZhbHVlOwor
ICBlbHNlCisgICAgcmVzdWx0ID0gIkZBSUw6IHJlYWQgIiArIHRlc3RWYWx1ZSArICIgYmFjayBh
cyAiICsgbGVmdFZhbHVlICsgIiwgcmVhZCBhZ2FpbiBhcyAiICsgbmV3TGVmdFZhbHVlOworICBy
ZXN1bHRzLmlubmVySFRNTCA9IHJlc3VsdDsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40804</attachid>
            <date>2009-10-07 10:49:04 -0700</date>
            <delta_ts>2009-10-07 11:54:55 -0700</delta_ts>
            <desc>smfr&apos;s layout test with a failing baseline</desc>
            <filename>bug-20674-20091007104902.patch</filename>
            <type>text/plain</type>
            <size>2854</size>
            <attacher name="Evan Martin">evan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4ZGNlOGExLi4xNDJjZjNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMDktMTAt
MDYgIEV2YW4gTWFydGluICA8ZXZhbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgY3VycmVudGx5LWZhaWxpbmcgdGVz
dCBleGhpYml0aW5nIHRoZSBwcm9ibGVtIGluCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY3NDoKKworICAgICAgICBXaGVuIGNvbnZlcnRpbmcgdmVy
eSBsYXJnZSBvciBzbWFsbCBudW1iZXJzIGJhY2sgdG8gc3RyaW5ncywgZXhwb25lbnRpYWwKKyAg
ICAgICAgbm90YXRpb24gaXMgdXNlZCwgc28gYSB2YWx1ZSBsaWtlIDkwMDEwMDAwcHggaXMgcmV0
dXJuZWQgZnJvbQorICAgICAgICBnZXRDb21wdXRlZFN0eWxlKCkgYXMgOS4wMDFlKzA3cHguCisK
KyAgICAgICAgOS4wMDFlKzA3cHggZG9lcyBub3QgcGFyc2UsIHNvIHN1Y2ggYSB2YWx1ZSBjYW5u
b3QgYmUgcm91bmQtdHJpcHBlZC4KKworICAgICAgICBUaGlzIGlzIGEgcGFydGljdWxhciBwcm9i
bGVtIHdpdGggdHJhbmZvcm1hdGlvbiBtYXRyaWNlcywgd2hpY2ggY2FuIG9mdGVuCisgICAgICAg
IGNvbnRhaW4gdmVyeSBsYXJnZSBvciBzbWFsbCBudW1iZXJzLgorCisgICAgICAgIChUZXN0IHdy
aXR0ZW4gYnkgU2ltb24gRnJhc2VyOyBJJ3ZlIGp1c3QgbWFkZSBpdCBhIGNvbW1pdHRhYmxlIHBh
dGNoLikKKworICAgICAgICAqIGZhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRy
aXAuaHRtbDogQWRkZWQuCisKIDIwMDktMTAtMDYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBSb3dlLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5YzZkYzEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJp
cC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorRkFJTDogcmVhZCA5MDAxMDAwMHB4IGJhY2sg
YXMgOS4wMDFlKzA3cHgsIHJlYWQgYWdhaW4gYXMgMHB4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi5mMTQ5ZjljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAuaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURP
Q1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VO
IgorICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+CisKKzxodG1sIGxh
bmc9ImVuIj4KKzxoZWFkPgorICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRl
bnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+CisgIDx0aXRsZT5Sb3VuZC10cmlwIGxhcmdl
IHZhbHVlczwvdGl0bGU+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+
CisgICAgI2JveCB7CisgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgfQorICA8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJib3giPgorPC9kaXY+Cis8ZGl2IGlkPSJyZXN1
bHRzIj4KKzwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0
Zi04Ij4KKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKyAgdmFyIGJveCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdib3gnKTsKKworICB2YXIgdGVzdFZhbHVlID0gIjkwMDEwMDAwcHgiOworICBib3gu
c3R5bGUubGVmdCA9IHRlc3RWYWx1ZTsKKworICB2YXIgbGVmdFZhbHVlID0gd2luZG93LmdldENv
bXB1dGVkU3R5bGUoYm94KS5sZWZ0OworCisgIGJveC5zdHlsZS5sZWZ0ID0gIjBweCI7CisgIGJv
eC5zdHlsZS5sZWZ0ID0gbGVmdFZhbHVlOworICB2YXIgbmV3TGVmdFZhbHVlID0gd2luZG93Lmdl
dENvbXB1dGVkU3R5bGUoYm94KS5sZWZ0OworCisgIHZhciByZXN1bHRzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3Jlc3VsdHMnKTsKKyAgdmFyIHJlc3VsdDsKKyAgaWYgKGxlZnRWYWx1ZSA9
PSBuZXdMZWZ0VmFsdWUpCisgICAgcmVzdWx0ID0gIlBBU1M6IHJlYWQgIiArIHRlc3RWYWx1ZSAr
ICIgYmFjayBhcyAiICsgbGVmdFZhbHVlICsgIiwgcmVhZCBhZ2FpbiBhcyAiICsgbmV3TGVmdFZh
bHVlOworICBlbHNlCisgICAgcmVzdWx0ID0gIkZBSUw6IHJlYWQgIiArIHRlc3RWYWx1ZSArICIg
YmFjayBhcyAiICsgbGVmdFZhbHVlICsgIiwgcmVhZCBhZ2FpbiBhcyAiICsgbmV3TGVmdFZhbHVl
OworICByZXN1bHRzLmlubmVySFRNTCA9IHJlc3VsdDsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70962</attachid>
            <date>2010-10-16 13:44:14 -0700</date>
            <delta_ts>2010-10-17 12:39:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-20674-20101016134412.patch</filename>
            <type>text/plain</type>
            <size>20634</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBiN2E0MjgwMGM2MWYxYWM0Y2FjOTlhMWYyMzFmZjUzNDRlZTYyZWRiLi44
Nzc3ZjlkMDEzNjVhZDhiMzVkZmY3M2UyNWFmYzA2NzkzODcxYTU0IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTAtMTAtMTYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VmVyeSBsYXJnZSBhbmQgc21hbGwgbnVtYmVycyBmYWlsIHRvIHJvdW5kLXRyaXAgdGhyb3VnaCBD
U1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjc0
CisgICAgICAgIAorICAgICAgICBOZXcgZXhwb3J0cyByZXF1aXJlZCB0byB1c2UgRGVjaW1hbE51
bWJlciBpbiBXZWJDb3JlLgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAg
ICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTAtMTAt
MTUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
ZXhwIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCmluZGV4IDJkZDY2YzEyMzhl
MjM5NmFiZmQ5ZmFlM2UzYjJmNmExNjI1NjVjNDQuLjhmM2VkNWQ0MjAwM2Y2Yjk5YzBmYTQ4ZmM5
ZjEzZWRjNmNmMzgzMWIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LmV4cAorKysgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKQEAgLTU0NSw2ICs1
NDUsOSBAQCBfX1pOSzNKU0M4SlNPYmplY3Q5dG9Cb29sZWFuRVBOU185RXhlY1N0YXRlRQogX19a
TkszSlNDOEpTU3RyaW5nMTFyZXNvbHZlUm9wZUVQTlNfOUV4ZWNTdGF0ZUUKIF9fWk5LM0pTQzlI
YXNoVGFibGUxMWNyZWF0ZVRhYmxlRVBOU18xMkpTR2xvYmFsRGF0YUUKIF9fWk5LM0pTQzlIYXNo
VGFibGUxMWRlbGV0ZVRhYmxlRXYKK19fWk4zV1RGMTFkdG9hUm91bmRTRkVQY2RpUmJSaVJqCitf
X1pOM1dURjExZHRvYVJvdW5kRFBFUGNkaVJiUmlSagorX19aTjNXVEY0ZHRvYUVQY2RSYlJpUmoK
IF9fWk5LM1dURjEyQXRvbWljU3RyaW5nNWxvd2VyRXYKIF9fWk5LM1dURjZTdHJpbmcxMXRvSW50
U3RyaWN0RVBiaQogX19aTkszV1RGNlN0cmluZzEydG9VSW50U3RyaWN0RVBiaQpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggZDE3MjAzNjQ1NDE2ZjI4OWQzNDU4ZjFmMzZiYjFjOWFiODdjOTkxZC4uYjI0MmZh
ZGI1YjMxYmVkNDEyOWE3YmQxOTcwNTZkY2IzMzkzNTQxYiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0y
MDQsNyArMjA0LDcgQEAKIAkJODYyNkJFQ0YxMTkyOEUzOTAwNzgyRkFCIC8qIFN0cmluZ1N0YXRp
Y3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYy
NkJFQ0UxMTkyOEUzOTAwNzgyRkFCIC8qIFN0cmluZ1N0YXRpY3MuY3BwICovOyB9OwogCQk4NjI3
RTVFQjExRjEyODE5MDBBMzEzQjUgLyogUGFnZUFsbG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYyN0U1RTkxMUYxMjgxOTAwQTMxM0I1
IC8qIFBhZ2VBbGxvY2F0aW9uLmNwcCAqLzsgfTsKIAkJODYyN0U1RUMxMUYxMjgxOTAwQTMxM0I1
IC8qIFBhZ2VBbGxvY2F0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4NjI3RTVFQTExRjEyODE5MDBBMzEzQjUgLyogUGFnZUFsbG9jYXRpb24uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk4NjJBRjRC
NjEyMjM5QzdCMDAyNEU1QjggLyogRGVjaW1hbE51bWJlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYyQUY0QjUxMjIzOUM3QjAwMjRFNUI4IC8qIERl
Y2ltYWxOdW1iZXIuaCAqLzsgfTsKKwkJODYyQUY0QjYxMjIzOUM3QjAwMjRFNUI4IC8qIERlY2lt
YWxOdW1iZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2MkFGNEI1MTIyMzlDN0IwMDI0RTVCOCAvKiBEZWNpbWFsTnVtYmVyLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODYzQjIzRTAwRkM2MTE4OTAw
NzAzQUE0IC8qIE1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYzQjIzREYwRkM2MEU2MjAwNzAzQUE0IC8qIE1hY3Jv
QXNzZW1ibGVyQ29kZVJlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTg2NDM4RkM0MTI2NTUwM0UwMEUwREZDQSAvKiBTdHJpbmdCdWlsZGVyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2NDM4RkMz
MTI2NTUwM0UwMEUwREZDQSAvKiBTdHJpbmdCdWlsZGVyLmNwcCAqLzsgfTsKIAkJODY1NjU3NDIx
MTVCRTNEQTAwMjkxRjQwIC8qIENTdHJpbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODY1NjU3NDAxMTVCRTNEQTAwMjkxRjQwIC8qIENTdHJpbmcu
Y3BwICovOyB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGJjYjA5N2E1MjU2MjliOWM2M2U2NWZhMGU1MjJhZDgyZTFkOGFj
NGUuLmUyMTA1MWQ5MGRhYjczNGEyODM3OWVmN2NkMmZhZjNmYzI1MzdhMGYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxMC0xMC0xNiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBW
ZXJ5IGxhcmdlIGFuZCBzbWFsbCBudW1iZXJzIGZhaWwgdG8gcm91bmQtdHJpcCB0aHJvdWdoIENT
UworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2NzQK
KyAgICAgICAgCisgICAgICAgIEZpeCB0ZXN0cyBhZmZlY3RlZCBieSBvdXRwdXR0aW5nIENTUyBu
dW1iZXJzIGluIGRlY2ltYWwgbm90YXRpb24uCisKKyAgICAgICAgKiBmYXN0L2Nzcy9sYXJnZS1u
dW1iZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3Mvcm91bmQt
dHJpcC12YWx1ZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9yb3Vu
ZC10cmlwLXZhbHVlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9j
c3Mvb3BhY2l0eS1mbG9hdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogc3ZnL2R5
bmFtaWMtdXBkYXRlcy9TVkdGRUZsb29kRWxlbWVudC1kb20tZmxvb2Qtb3BhY2l0eS1hdHRyLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZFRmxvb2RFbGVt
ZW50LXN2Z2RvbS1mbG9vZC1vcGFjaXR5LXByb3AtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2
Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0ZFRmxvb2RFbGVtZW50LWRvbS1mbG9v
ZC1vcGFjaXR5LWF0dHIuanM6CisgICAgICAgIChleGVjdXRlVGVzdCk6CisgICAgICAgICogc3Zn
L2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHRkVGbG9vZEVsZW1lbnQtc3ZnZG9tLWZs
b29kLW9wYWNpdHktcHJvcC5qczoKKyAgICAgICAgKGV4ZWN1dGVUZXN0KToKKyAgICAgICAgKiB0
cmFuc2Zvcm1zLzJkL3Jlc291cmNlcy90cmFuc2Zvcm0tdGVzdC11dGlscy5qczoKKyAgICAgICAg
KGZsb2F0aW5nUG9pbnRFcXVhbCk6CisKIDIwMTAtMTAtMTUgIEtpbnVrbyBZYXN1ZGEgIDxraW51
a29AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEppYW4gTGkuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBl
Y3RlZC50eHQKaW5kZXggYzljNmRjMTg3MTkzMDBiMjk2N2UxY2QzZjA0YjQ0NjUxZDM1OTc5Yi4u
NDg3OTU0NDE2NTE0ODJiNzE4NTAxOGY1MTc1ZDY0ZDI2YzhmN2NkNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVk
LnR4dApAQCAtMSArMSBAQAotRkFJTDogcmVhZCA5MDAxMDAwMHB4IGJhY2sgYXMgOS4wMDFlKzA3
cHgsIHJlYWQgYWdhaW4gYXMgMHB4CitQQVNTOiByZWFkIDkwMDEwMDAwcHggYmFjayBhcyA5MDAx
MDAwMHB4LCByZWFkIGFnYWluIGFzIDkwMDEwMDAwcHgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL3JvdW5kLXRyaXAtdmFsdWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3JvdW5kLXRyaXAtdmFsdWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MjExMWVh
NmRiYjk2OTQ1MTBlOTU2ZjQzNzUyOTVjYjZhYTkxNDJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3Mvcm91bmQtdHJpcC12YWx1ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNDQgQEAKK0ZvciBlYWNoIGlucHV0IG9uIHRoZSBsZWZ0LCB0aGlzIHRhYmxlIGxpc3RzIHdo
YXQgaGFwcGVucyB3aGVuIHlvdSBwYXNzIGl0IGludG8gYSBDU1MgcHJvcGVydHkgYW5kIHJldHJp
ZXZlIGl0cyB2YWx1ZSBiYWNrLiBUaGUgdGhpcmQgY29sdW1uIGluZGljYXRlcyB3aGV0aGVyIHRo
ZSB2YWx1ZSB3YXMgcm91bmQtdHJpcHBlZCBmYWl0aGZ1bGx5LgorCitCYXNpYyBmbG9hdHMKKycw
LjAwMDEnCTAuMDAwMQlwYXNzCiswLjAwMDEJMC4wMDAxCXBhc3MKKycxMjM0NTYuMTIzNDU2Jwkx
MjM0NTYuMTIzNDU2CXBhc3MKKycxMjM0NTY3LjEyMzQ1NjcnCTEyMzQ1NjcuMTIzNDU2NwlwYXNz
CisnMTIzNDU2NzguMTIzNDU2NzgnCTEyMzQ1Njc4LjEyMzQ1Njc4CXBhc3MKK1RyYWlsaW5nIHpl
cm9zCisnMC4wMDEwMDAwMCcJMC4wMDEJcGFzcworJzAuMDAxMDAwMDAxJwkwLjAwMTAwMDAwMQlw
YXNzCisnMC4xMjM0NTAwMDAwMScJMC4xMjM0NTAwMDAwMQlwYXNzCisnMC4xMjMwNDU2NycJMC4x
MjMwNDU2NwlwYXNzCisnMC4xMjM0MDU2NycJMC4xMjM0MDU2NwlwYXNzCisnMC4xMjM0NTA2NycJ
MC4xMjM0NTA2NwlwYXNzCisnMC4xMjM0NTYwNycJMC4xMjM0NTYwNwlwYXNzCisnMC4xMjM0NTY3
MCcJMC4xMjM0NTY3CXBhc3MKK1JlcGVhdGluZyBkZWNpbWFscworMS8zCTAuMzMzMzMzMzMzMzMz
MzMzMwlwYXNzCisxMjMgKyAxLzMJMTIzLjMzMzMzMzMzMzMzMzMzCXBhc3MKKzEzLzk5CTAuMTMx
MzEzMTMxMzEzMTMxMzMJcGFzcworMTIzICsgMTMvOTkJMTIzLjEzMTMxMzEzMTMxMzE0CXBhc3MK
KzEwMC85OTkJMC4xMDAxMDAxMDAxMDAxMDAxCXBhc3MKKzEyMyArIDEwMC85OTkJMTIzLjEwMDEw
MDEwMDEwMDExCXBhc3MKK0xhcmdlIG51bWJlcnMKKzEyMzQ1Njc4CTEyMzQ1Njc4CXBhc3MKKzEy
MzQ1Njc4OQkxMjM0NTY3ODkJcGFzcworMTIzNDU2Nzg5MAkxMjM0NTY3ODkwCXBhc3MKKzEyMzQ1
Njc4OTAxCTEyMzQ1Njc4OTAxCXBhc3MKKzEyMzQ1Njc4OTAxMgkxMjM0NTY3ODkwMTIJcGFzcwor
MTIzNDU2Nzg5MDEyMwkxMjM0NTY3ODkwMTIzCXBhc3MKKzEyMzQ1Njc4OTAxMjM0CTEyMzQ1Njc4
OTAxMjM0CXBhc3MKKzEyMzQ1Njc4OTAxMjM0NQkxMjM0NTY3ODkwMTIzNDUJcGFzcworMTIzNDU2
Nzg5MDEyMzQ1NgkxMjM0NTY3ODkwMTIzNDU2CXBhc3MKKzEyMzQ1Njc4OTAxMjM0NTY3CTEyMzQ1
Njc4OTAxMjM0NTY4CXBhc3MKK1dlaXJkIG51bWJlcnMKK051bWJlci5OYU4JMTIzNDU2Nzg5MDEy
MzQ1NjgJcGFzcworMS8wCTEyMzQ1Njc4OTAxMjM0NTY4CXBhc3MKK01hdGguc3FydCgtMSkJMTIz
NDU2Nzg5MDEyMzQ1NjgJcGFzcworMS8wLjk5OTkJMS4wMDAxMDAwMTAwMDEJcGFzcworMS8wLjk5
OTk5CTEuMDAwMDEwMDAwMTAwMDAxCXBhc3MKKzEvMC45OTk5OTkJMS4wMDAwMDEwMDAwMDEJcGFz
cworMS8wLjk5OTk5OTkJMS4wMDAwMDAxMDAwMDAwMQlwYXNzCisxLzAuOTk5OTk5OTkJMS4wMDAw
MDAwMTAwMDAwMDAyCXBhc3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3JvdW5k
LXRyaXAtdmFsdWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9yb3VuZC10cmlwLXZhbHVl
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgwOGZhNDVkYTU3YjIyMTRlYWZkMWYwNTdiYjZhMjlkNjlhZjhj
NTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9yb3VuZC10cmlwLXZh
bHVlcy5odG1sCkBAIC0wLDAgKzEsMTMwIEBACis8IURPQ1RZUEUgSFRNTD4KKworPGh0bWw+Cis8
aGVhZD4KKzxzdHlsZT4KKyAgYm9keSB7CisgICAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsK
KyAgICAgIGZvbnQtc2l6ZTogMC44ZW07CisgIH0KKworICBjb2RlIHsKKyAgICAgIGZvbnQtZmFt
aWx5OiB3b3JrYXJvdW5kLCBtb25vc3BhY2U7CisgIH0KKworICAuaGVhZGluZyB7CisgICAgICBi
YWNrZ3JvdW5kOiAjZWVlOworICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgIH0KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPHA+Rm9yIGVhY2ggaW5wdXQgb24gdGhlIGxlZnQsIHRoaXMg
dGFibGUgbGlzdHMgd2hhdCBoYXBwZW5zIHdoZW4geW91CitwYXNzIGl0IGludG8gYSBDU1MgcHJv
cGVydHkgYW5kIHJldHJpZXZlIGl0cyB2YWx1ZSBiYWNrLiBUaGUgdGhpcmQgY29sdW1uCitpbmRp
Y2F0ZXMgd2hldGhlciB0aGUgdmFsdWUgd2FzIHJvdW5kLXRyaXBwZWQgZmFpdGhmdWxseS48L3A+
CisKKzxkaXYgaWQ9J3Rlc3QnPjwvZGl2PgorPHRhYmxlIGlkPSd0YWJsZSc+Cis8L3RhYmxlPgor
Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgdGFibGUgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndGFibGUnKTsKK3ZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVz
dCcpOworCitmdW5jdGlvbiBoZWFkaW5nKHRleHQpIHsKKyAgICB2YXIgdHIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCd0cicpOworICAgIHRyLmNsYXNzTmFtZSA9ICdoZWFkaW5nJzsKKyAgICB2
YXIgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOworICAgIHRkLmNvbFNwYW4gPSAz
OworICAgIHRkLmFsaWduID0gJ2NlbnRlcicKKyAgICB0ZC5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVUZXh0Tm9kZSh0ZXh0KSk7CisgICAgdHIuYXBwZW5kQ2hpbGQodGQpOworCisgICAgdGFi
bGUuYXBwZW5kQ2hpbGQodHIpOworfQorCitmdW5jdGlvbiBldmFsdWF0ZShjb2RlKSB7CisgICAg
dmFyIHJlc3VsdCA9IGV2YWwoY29kZSk7CisgICAgdmFyIHRyID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgndHInKTsKKworICAgIHZhciB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7
CisgICAgdmFyIHRleHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjb2RlJyk7CisgICAgdGV4
dC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjb2RlKSk7CisgICAgdGQuYXBw
ZW5kQ2hpbGQodGV4dCk7CisgICAgdHIuYXBwZW5kQ2hpbGQodGQpOworCisgICAgZGl2LnN0eWxl
Lm9wYWNpdHkgPSBldmFsKGNvZGUpOworCisgICAgdmFyIHRkID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgndGQnKTsKKyAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NvZGUn
KTsKKyAgICB0ZXh0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGRpdi5zdHls
ZS5vcGFjaXR5KSk7CisgICAgdGQuYXBwZW5kQ2hpbGQodGV4dCk7CisgICAgdHIuYXBwZW5kQ2hp
bGQodGQpOworCisgICAgdmFyIG91dFZhbHVlID0gZGl2LnN0eWxlLm9wYWNpdHk7CisgICAgLy8g
VGVzdCByb3VuZC10cmlwcGluZworICAgIGRpdi5zdHlsZS5vcGFjaXR5ID0gMDsKKyAgICBkaXYu
c3R5bGUub3BhY2l0eSA9IG91dFZhbHVlOworCisgICAgdmFyIHRkID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgndGQnKTsKKyAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Nw
YW4nKTsKKyAgICB0ZXh0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG91dFZh
bHVlID09IGRpdi5zdHlsZS5vcGFjaXR5ID8gInBhc3MiIDogImZhaWwiKSk7CisgICAgdGQuYXBw
ZW5kQ2hpbGQodGV4dCk7CisgICAgdHIuYXBwZW5kQ2hpbGQodGQpOworCisgICAgdGFibGUuYXBw
ZW5kQ2hpbGQodHIpOworfQorCitoZWFkaW5nKCJCYXNpYyBmbG9hdHMiKTsKK2V2YWx1YXRlKCIn
MC4wMDAxJyIpOworZXZhbHVhdGUoIjAuMDAwMSIpOworZXZhbHVhdGUoIicxMjM0NTYuMTIzNDU2
JyIpOworZXZhbHVhdGUoIicxMjM0NTY3LjEyMzQ1NjcnIik7CitldmFsdWF0ZSgiJzEyMzQ1Njc4
LjEyMzQ1Njc4JyIpOworCitoZWFkaW5nKCJUcmFpbGluZyB6ZXJvcyIpOworZXZhbHVhdGUoIicw
LjAwMTAwMDAwJyIpOworZXZhbHVhdGUoIicwLjAwMTAwMDAwMSciKTsKK2V2YWx1YXRlKCInMC4x
MjM0NTAwMDAwMSciKTsKK2V2YWx1YXRlKCInMC4xMjMwNDU2NyciKTsKK2V2YWx1YXRlKCInMC4x
MjM0MDU2NyciKTsKK2V2YWx1YXRlKCInMC4xMjM0NTA2NyciKTsKK2V2YWx1YXRlKCInMC4xMjM0
NTYwNyciKTsKK2V2YWx1YXRlKCInMC4xMjM0NTY3MCciKTsKKworaGVhZGluZygiUmVwZWF0aW5n
IGRlY2ltYWxzIik7CitldmFsdWF0ZSgiMS8zIik7CitldmFsdWF0ZSgiMTIzICsgMS8zIik7Citl
dmFsdWF0ZSgiMTMvOTkiKTsKK2V2YWx1YXRlKCIxMjMgKyAxMy85OSIpOworZXZhbHVhdGUoIjEw
MC85OTkiKTsKK2V2YWx1YXRlKCIxMjMgKyAxMDAvOTk5Iik7CisKK2hlYWRpbmcoIkxhcmdlIG51
bWJlcnMiKTsKK2V2YWx1YXRlKCIxMjM0NTY3OCIpOworZXZhbHVhdGUoIjEyMzQ1Njc4OSIpOwor
ZXZhbHVhdGUoIjEyMzQ1Njc4OTAiKTsKK2V2YWx1YXRlKCIxMjM0NTY3ODkwMSIpOworZXZhbHVh
dGUoIjEyMzQ1Njc4OTAxMiIpOworZXZhbHVhdGUoIjEyMzQ1Njc4OTAxMjMiKTsKK2V2YWx1YXRl
KCIxMjM0NTY3ODkwMTIzNCIpOworZXZhbHVhdGUoIjEyMzQ1Njc4OTAxMjM0NSIpOworZXZhbHVh
dGUoIjEyMzQ1Njc4OTAxMjM0NTYiKTsKK2V2YWx1YXRlKCIxMjM0NTY3ODkwMTIzNDU2NyIpOwor
CitoZWFkaW5nKCJXZWlyZCBudW1iZXJzIik7CitldmFsdWF0ZSgiTnVtYmVyLk5hTiIpOworZXZh
bHVhdGUoIjEvMCIpOworZXZhbHVhdGUoIk1hdGguc3FydCgtMSkiKTsKK2V2YWx1YXRlKCIxLzAu
OTk5OSIpOworZXZhbHVhdGUoIjEvMC45OTk5OSIpOworZXZhbHVhdGUoIjEvMC45OTk5OTkiKTsK
K2V2YWx1YXRlKCIxLzAuOTk5OTk5OSIpOworZXZhbHVhdGUoIjEvMC45OTk5OTk5OSIpOworCis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2Nzcy9vcGFjaXR5LWZsb2F0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9vcGFjaXR5LWZsb2F0LWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjgxOTgzZGZkYjAwZjY3ZTFlYTgxYmRkZjAzZTBmYjQ2
MzhkYjEwNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3Mvb3BhY2l0eS1mbG9hdC1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLVRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHJlYWRpbmcgYSBmbG9hdGluZy1wb2ludCBvcGFjaXR5IGZyb20gQ1NTIGF0dHJpYnV0ZXMgZ2V0
cyBiYWNrIGEgcHJvcGVybHktZm9ybWF0dGVkIGZsb2F0LiBJbXByb3Blcmx5IGhhbmRsaW5nIGxv
Y2FsZXMgdGhhdCBjYXVzZSBkZWNpbWFscyB0byBiZSB3cml0dGVuIGFzIGNvbW1hcyBtaWdodCBi
cmVhayBpdC4KLQotRkFJTDogMCw5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvZHluYW1p
Yy11cGRhdGVzL1NWR0ZFRmxvb2RFbGVtZW50LWRvbS1mbG9vZC1vcGFjaXR5LWF0dHItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGRUZsb29kRWxlbWVu
dC1kb20tZmxvb2Qtb3BhY2l0eS1hdHRyLWV4cGVjdGVkLnR4dAppbmRleCAwM2E5MDhiNWIwNzY5
ZGIyYWRjNGNhNjM2YTcyY2Q4MTJiNTQ0NTE1Li40ZGJhNTYzZmUyNTNlNzczOTBiNWE4MTMwNDM3
ZTg2OWRiZTlkMzVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVz
L1NWR0ZFRmxvb2RFbGVtZW50LWRvbS1mbG9vZC1vcGFjaXR5LWF0dHItZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRkVGbG9vZEVsZW1lbnQtZG9t
LWZsb29kLW9wYWNpdHktYXR0ci1leHBlY3RlZC50eHQKQEAgLTUsOCArNSw4IEBAIFRlc3RzIGR5
bmFtaWMgdXBkYXRlcyBvZiB0aGUgJ2Zsb29kLW9wYWNpdHknIGF0dHJpYnV0ZSBvZiB0aGUgU1ZH
RkVGbG9vZEVsZW1lbnQKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIGZsb29k
RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2Zsb29kLW9wYWNpdHknKSBpcyAiLjEiCi1QQVNTIGZsb29k
RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2Zsb29kLW9wYWNpdHknKSBpcyAiLjgiCitQQVNTIHBhcnNl
RmxvYXQoZmxvb2RFbGVtZW50LmdldEF0dHJpYnV0ZSgnZmxvb2Qtb3BhY2l0eScpKS50b0ZpeGVk
KDEpIGlzICIwLjEiCitQQVNTIHBhcnNlRmxvYXQoZmxvb2RFbGVtZW50LmdldEF0dHJpYnV0ZSgn
Zmxvb2Qtb3BhY2l0eScpKS50b0ZpeGVkKDEpIGlzICIwLjgiCiBQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRkVGbG9vZEVsZW1lbnQtc3ZnZG9tLWZsb29kLW9wYWNpdHkt
cHJvcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZF
Rmxvb2RFbGVtZW50LXN2Z2RvbS1mbG9vZC1vcGFjaXR5LXByb3AtZXhwZWN0ZWQudHh0CmluZGV4
IDdkOGM1OWExODNmZmJmZjZmMTlhNTk2MWE4ZDM0OTNjYmJjYWE5MGMuLmU4YTFjMWM5ZmZkY2E5
NjEyODM2NzIyM2MwMDUyM2VkY2NiOGVmMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHRkVGbG9vZEVsZW1lbnQtc3ZnZG9tLWZsb29kLW9wYWNpdHktcHJv
cC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdG
RUZsb29kRWxlbWVudC1zdmdkb20tZmxvb2Qtb3BhY2l0eS1wcm9wLWV4cGVjdGVkLnR4dApAQCAt
NSw4ICs1LDggQEAgVGVzdHMgZHluYW1pYyB1cGRhdGVzIG9mIHRoZSAnZmxvb2Qtb3BhY2l0eScg
cHJvcGVydHkgb2YgdGhlIFNWR0ZFRmxvb2RFbGVtZW50IG8KIE9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KIAogCi1QQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoZmxv
b2RFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCdmbG9vZC1vcGFjaXR5JykgaXMgIjAuMSIKLVBB
U1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShmbG9vZEVsZW1lbnQpLmdl
dFByb3BlcnR5VmFsdWUoJ2Zsb29kLW9wYWNpdHknKSBpcyAiMC44IgorUEFTUyBwYXJzZUZsb2F0
KGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoZmxvb2RFbGVtZW50KS5nZXRQ
cm9wZXJ0eVZhbHVlKCdmbG9vZC1vcGFjaXR5JykpLnRvRml4ZWQoMSkgaXMgIjAuMSIKK1BBU1Mg
cGFyc2VGbG9hdChkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGZsb29kRWxl
bWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnZmxvb2Qtb3BhY2l0eScpKS50b0ZpeGVkKDEpIGlzICIw
LjgiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NW
R0ZFRmxvb2RFbGVtZW50LWRvbS1mbG9vZC1vcGFjaXR5LWF0dHIuanMgYi9MYXlvdXRUZXN0cy9z
dmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdGRUZsb29kRWxlbWVudC1kb20tZmxv
b2Qtb3BhY2l0eS1hdHRyLmpzCmluZGV4IGE1NjEwZTk5NzQxODhmZDg2MzQyZmZlNzk0NTcyYTgy
YjVmOWY5ZDIuLjA0ZTNmODEyMTY0M2Q5NWFhMGZhNWQ4MTBkZTQ0MjJkNDk1NzAyYjEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0ZF
Rmxvb2RFbGVtZW50LWRvbS1mbG9vZC1vcGFjaXR5LWF0dHIuanMKKysrIGIvTGF5b3V0VGVzdHMv
c3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHRkVGbG9vZEVsZW1lbnQtZG9tLWZs
b29kLW9wYWNpdHktYXR0ci5qcwpAQCAtMzQsMTEgKzM0LDExIEBAIHJlY3RFbGVtZW50LnNldEF0
dHJpYnV0ZSgic3Ryb2tlLXdpZHRoIiwgIjgiKTsKIHJlY3RFbGVtZW50LnNldEF0dHJpYnV0ZSgi
ZmlsdGVyIiwgInVybCgjbXlGaWx0ZXIpIik7CiByb290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChy
ZWN0RWxlbWVudCk7CiAKLXNob3VsZEJlRXF1YWxUb1N0cmluZygiZmxvb2RFbGVtZW50LmdldEF0
dHJpYnV0ZSgnZmxvb2Qtb3BhY2l0eScpIiwgIi4xIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
InBhcnNlRmxvYXQoZmxvb2RFbGVtZW50LmdldEF0dHJpYnV0ZSgnZmxvb2Qtb3BhY2l0eScpKS50
b0ZpeGVkKDEpIiwgIjAuMSIpOwogCiBmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKICAgICBmbG9v
ZEVsZW1lbnQuc2V0QXR0cmlidXRlKCJmbG9vZC1vcGFjaXR5IiwgIi44Iik7Ci0gICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJmbG9vZEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdmbG9vZC1vcGFjaXR5
JykiLCAiLjgiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBhcnNlRmxvYXQoZmxvb2RF
bGVtZW50LmdldEF0dHJpYnV0ZSgnZmxvb2Qtb3BhY2l0eScpKS50b0ZpeGVkKDEpIiwgIjAuOCIp
OwogCiAgICAgY29tcGxldGVUZXN0KCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
ZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdGRUZsb29kRWxlbWVudC1zdmdkb20tZmxv
b2Qtb3BhY2l0eS1wcm9wLmpzIGIvTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3Jp
cHQtdGVzdHMvU1ZHRkVGbG9vZEVsZW1lbnQtc3ZnZG9tLWZsb29kLW9wYWNpdHktcHJvcC5qcwpp
bmRleCAzYzM5ZjY0Mjg5MWE0OTlkZmViMjdjMjgxZWFiODE4YTgxZWE5MDc4Li4yYmJlYzdhZmY0
MjE4Njc5NmUwNGUyZGQ1ODRkMDljNTZkNTRkNjJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdGRUZsb29kRWxlbWVudC1zdmdkb20t
Zmxvb2Qtb3BhY2l0eS1wcm9wLmpzCisrKyBiL0xheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0
ZXMvc2NyaXB0LXRlc3RzL1NWR0ZFRmxvb2RFbGVtZW50LXN2Z2RvbS1mbG9vZC1vcGFjaXR5LXBy
b3AuanMKQEAgLTM0LDExICszNCwxMSBAQCByZWN0RWxlbWVudC5zZXRBdHRyaWJ1dGUoInN0cm9r
ZS13aWR0aCIsICI4Iik7CiByZWN0RWxlbWVudC5zZXRBdHRyaWJ1dGUoImZpbHRlciIsICJ1cmwo
I215RmlsdGVyKSIpOwogcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQocmVjdEVsZW1lbnQpOwog
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVk
U3R5bGUoZmxvb2RFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCdmbG9vZC1vcGFjaXR5JykiLCAi
MC4xIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBhcnNlRmxvYXQoZG9jdW1lbnQuZGVmYXVs
dFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShmbG9vZEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJ2Zs
b29kLW9wYWNpdHknKSkudG9GaXhlZCgxKSIsICIwLjEiKTsKIAogZnVuY3Rpb24gZXhlY3V0ZVRl
c3QoKSB7CiAgICAgZmxvb2RFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCJmbG9vZC1vcGFjaXR5
IiwgIi44IiwgIiIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZGVmYXVs
dFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShmbG9vZEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJ2Zs
b29kLW9wYWNpdHknKSIsICIwLjgiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBhcnNl
RmxvYXQoZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShmbG9vZEVsZW1lbnQp
LmdldFByb3BlcnR5VmFsdWUoJ2Zsb29kLW9wYWNpdHknKSkudG9GaXhlZCgxKSIsICIwLjgiKTsK
IAogICAgIGNvbXBsZXRlVGVzdCgpOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdHJhbnNm
b3Jtcy8yZC9yZXNvdXJjZXMvdHJhbnNmb3JtLXRlc3QtdXRpbHMuanMgYi9MYXlvdXRUZXN0cy90
cmFuc2Zvcm1zLzJkL3Jlc291cmNlcy90cmFuc2Zvcm0tdGVzdC11dGlscy5qcwppbmRleCBhZTA3
YjBlNWY3MzQ0MjU2ODA2ZTk0ZjE0OGQ4Y2ZlNTFjMjcxZDQyLi42YTFmMWI3Zjk2YjQ2N2E1NjI1
ODMyYTVmZDRiNTJlZDI5NWQ1YTlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90cmFuc2Zvcm1z
LzJkL3Jlc291cmNlcy90cmFuc2Zvcm0tdGVzdC11dGlscy5qcworKysgYi9MYXlvdXRUZXN0cy90
cmFuc2Zvcm1zLzJkL3Jlc291cmNlcy90cmFuc2Zvcm0tdGVzdC11dGlscy5qcwpAQCAtMyw3ICsz
LDcgQEAKIAogZnVuY3Rpb24gZmxvYXRpbmdQb2ludEVxdWFsKGEsIGIpCiB7Ci0gIGNvbnN0IGtF
cHNpbG9uID0gMWUtNjsKKyAgY29uc3Qga0Vwc2lsb24gPSAxZS00OwogICByZXR1cm4gKE1hdGgu
YWJzKGEgLSBiKSA8IGtFcHNpbG9uKTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjZDY0NTJmYzY0YmVhYWYxNTg1ZWQ5MjBlNTM5
MzY0YTIwNjJiYjI5Li5iMGNlNGI3YTdiYWM3OTQ4NmIyNmE4MDE1MGZkNGE3NDYwNDI1NmFmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE5IEBACisyMDEwLTEwLTE2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBw
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFZlcnkgbGFyZ2UgYW5kIHNtYWxsIG51bWJlcnMgZmFpbCB0byByb3VuZC10cmlwIHRocm91Z2gg
Q1NTCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY3
NAorICAgICAgICAKKyAgICAgICAgVXNlIHRoZSBuZXcgRGVjaW1hbE51bWJlciBmdW5jdGlvbmFs
aXR5IHRvIGNvbnZlcnQgQ1NTIG51bWJlcmljIHZhbHVlcyB0byBzdHJpbmdzCisgICAgICAgIHVz
aW5nIGRlY2ltYWwgbm90YXRpb24sIHJhdGhlciB0aGFuICVnICh3aGljaCBjYW4gb3V0cHV0IHNj
aWVudGlmaWMgbm90YXRpb24pLgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzL3JvdW5kLXRyaXAt
dmFsdWVzLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpmb3JtYXROdW1iZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0
aXZlVmFsdWU6OmNzc1RleHQpOgorCiAyMDEwLTEwLTE1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5jcHAKaW5kZXggNWM4M2U3Yzg5M2E0NjFkZDVlYzVlNWRmNGYzYWUyYTI3OGMz
MzM2YS4uMjRmMjQ1MTk3MThmNTNjMmMzODNmNzk5NjdjMWZiMmNhZjdjOTZjNiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCisrKyBiL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIlJlY3QuaCIK
ICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgPHd0Zi9BU0NJSUNUeXBlLmg+Cisj
aW5jbHVkZSA8d3RmL0RlY2ltYWxOdW1iZXIuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFz
Lmg+CiAKICNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCkBAIC02MTMsNiArNjE0LDEzIEBA
IGludCBDU1NQcmltaXRpdmVWYWx1ZTo6Z2V0SWRlbnQoKQogICAgIHJldHVybiBtX3ZhbHVlLmlk
ZW50OwogfQogCitzdGF0aWMgU3RyaW5nIGZvcm1hdE51bWJlcihkb3VibGUgbnVtYmVyKQorewor
ICAgIE51bWJlclRvU3RyaW5nQnVmZmVyIGJ1ZmZlcjsKKyAgICB1bnNpZ25lZCBsZW5ndGggPSBE
ZWNpbWFsTnVtYmVyKG51bWJlcikudG9TdHJpbmdEZWNpbWFsKGJ1ZmZlcik7CisgICAgcmV0dXJu
IFN0cmluZyhidWZmZXIsIGxlbmd0aCk7Cit9CisKIFN0cmluZyBDU1NQcmltaXRpdmVWYWx1ZTo6
Y3NzVGV4dCgpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IHJldHVybiB0aGUgb3JpZ2luYWwgdmFs
dWUgaW5zdGVhZCBvZiBhIGdlbmVyYXRlZCBvbmUgKGUuZy4gY29sb3IKQEAgLTYzMCw2MSArNjM4
LDYxIEBAIFN0cmluZyBDU1NQcmltaXRpdmVWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NfTlVNQkVSOgogICAgICAgICBjYXNlIENTU19Q
QVJTRVJfSU5URUdFUjoKLSAgICAgICAgICAgIHRleHQgPSBTdHJpbmc6Om51bWJlcihtX3ZhbHVl
Lm51bSk7CisgICAgICAgICAgICB0ZXh0ID0gZm9ybWF0TnVtYmVyKG1fdmFsdWUubnVtKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU19QRVJDRU5UQUdFOgotICAgICAgICAg
ICAgdGV4dCA9IFN0cmluZzo6Zm9ybWF0KCIlLjZsZyUlIiwgbV92YWx1ZS5udW0pOworICAgICAg
ICAgICAgdGV4dCA9IGZvcm1hdE51bWJlcihtX3ZhbHVlLm51bSkgKyAiJSI7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBDU1NfRU1TOgotICAgICAgICAgICAgdGV4dCA9IFN0cmlu
Zzo6Zm9ybWF0KCIlLjZsZ2VtIiwgbV92YWx1ZS5udW0pOworICAgICAgICAgICAgdGV4dCA9IGZv
cm1hdE51bWJlcihtX3ZhbHVlLm51bSkgKyAiZW0iOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgQ1NTX0VYUzoKLSAgICAgICAgICAgIHRleHQgPSBTdHJpbmc6OmZvcm1hdCgiJS42
bGdleCIsIG1fdmFsdWUubnVtKTsKKyAgICAgICAgICAgIHRleHQgPSBmb3JtYXROdW1iZXIobV92
YWx1ZS5udW0pICsgImV4IjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU19S
RU1TOgotICAgICAgICAgICAgdGV4dCA9IFN0cmluZzo6Zm9ybWF0KCIlLjZsZ3JlbSIsIG1fdmFs
dWUubnVtKTsKKyAgICAgICAgICAgIHRleHQgPSBmb3JtYXROdW1iZXIobV92YWx1ZS5udW0pICsg
InJlbSI7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NfUFg6Ci0gICAgICAg
ICAgICB0ZXh0ID0gU3RyaW5nOjpmb3JtYXQoIiUuNmxncHgiLCBtX3ZhbHVlLm51bSk7CisgICAg
ICAgICAgICB0ZXh0ID0gZm9ybWF0TnVtYmVyKG1fdmFsdWUubnVtKSArICJweCI7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NfQ006Ci0gICAgICAgICAgICB0ZXh0ID0gU3Ry
aW5nOjpmb3JtYXQoIiUuNmxnY20iLCBtX3ZhbHVlLm51bSk7CisgICAgICAgICAgICB0ZXh0ID0g
Zm9ybWF0TnVtYmVyKG1fdmFsdWUubnVtKSArICJjbSI7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgY2FzZSBDU1NfTU06Ci0gICAgICAgICAgICB0ZXh0ID0gU3RyaW5nOjpmb3JtYXQoIiUu
NmxnbW0iLCBtX3ZhbHVlLm51bSk7CisgICAgICAgICAgICB0ZXh0ID0gZm9ybWF0TnVtYmVyKG1f
dmFsdWUubnVtKSArICJtbSI7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1Nf
SU46Ci0gICAgICAgICAgICB0ZXh0ID0gU3RyaW5nOjpmb3JtYXQoIiUuNmxnaW4iLCBtX3ZhbHVl
Lm51bSk7CisgICAgICAgICAgICB0ZXh0ID0gZm9ybWF0TnVtYmVyKG1fdmFsdWUubnVtKSArICJp
biI7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NfUFQ6Ci0gICAgICAgICAg
ICB0ZXh0ID0gU3RyaW5nOjpmb3JtYXQoIiUuNmxncHQiLCBtX3ZhbHVlLm51bSk7CisgICAgICAg
ICAgICB0ZXh0ID0gZm9ybWF0TnVtYmVyKG1fdmFsdWUubnVtKSArICJwdCI7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBDU1NfUEM6Ci0gICAgICAgICAgICB0ZXh0ID0gU3RyaW5n
Ojpmb3JtYXQoIiUuNmxncGMiLCBtX3ZhbHVlLm51bSk7CisgICAgICAgICAgICB0ZXh0ID0gZm9y
bWF0TnVtYmVyKG1fdmFsdWUubnVtKSArICJwYyI7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBDU1NfREVHOgotICAgICAgICAgICAgdGV4dCA9IFN0cmluZzo6Zm9ybWF0KCIlLjZs
Z2RlZyIsIG1fdmFsdWUubnVtKTsKKyAgICAgICAgICAgIHRleHQgPSBmb3JtYXROdW1iZXIobV92
YWx1ZS5udW0pICsgImRlZyI7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1Nf
UkFEOgotICAgICAgICAgICAgdGV4dCA9IFN0cmluZzo6Zm9ybWF0KCIlLjZsZ3JhZCIsIG1fdmFs
dWUubnVtKTsKKyAgICAgICAgICAgIHRleHQgPSBmb3JtYXROdW1iZXIobV92YWx1ZS5udW0pICsg
InJhZCI7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NfR1JBRDoKLSAgICAg
ICAgICAgIHRleHQgPSBTdHJpbmc6OmZvcm1hdCgiJS42bGdncmFkIiwgbV92YWx1ZS5udW0pOwor
ICAgICAgICAgICAgdGV4dCA9IGZvcm1hdE51bWJlcihtX3ZhbHVlLm51bSkgKyAiZ3JhZCI7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NfTVM6Ci0gICAgICAgICAgICB0ZXh0
ID0gU3RyaW5nOjpmb3JtYXQoIiUuNmxnbXMiLCBtX3ZhbHVlLm51bSk7CisgICAgICAgICAgICB0
ZXh0ID0gZm9ybWF0TnVtYmVyKG1fdmFsdWUubnVtKSArICJtcyI7CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgY2FzZSBDU1NfUzoKLSAgICAgICAgICAgIHRleHQgPSBTdHJpbmc6OmZvcm1h
dCgiJS42bGdzIiwgbV92YWx1ZS5udW0pOworICAgICAgICAgICAgdGV4dCA9IGZvcm1hdE51bWJl
cihtX3ZhbHVlLm51bSkgKyAicyI7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBD
U1NfSFo6Ci0gICAgICAgICAgICB0ZXh0ID0gU3RyaW5nOjpmb3JtYXQoIiUuNmxnaHoiLCBtX3Zh
bHVlLm51bSk7CisgICAgICAgICAgICB0ZXh0ID0gZm9ybWF0TnVtYmVyKG1fdmFsdWUubnVtKSAr
ICJoeiI7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NfS0haOgotICAgICAg
ICAgICAgdGV4dCA9IFN0cmluZzo6Zm9ybWF0KCIlLjZsZ2toeiIsIG1fdmFsdWUubnVtKTsKKyAg
ICAgICAgICAgIHRleHQgPSBmb3JtYXROdW1iZXIobV92YWx1ZS5udW0pICsgImtoeiI7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NfVFVSTjoKLSAgICAgICAgICAgIHRleHQg
PSBTdHJpbmc6OmZvcm1hdCgiJS42bGd0dXJuIiwgbV92YWx1ZS5udW0pOworICAgICAgICAgICAg
dGV4dCA9IGZvcm1hdE51bWJlcihtX3ZhbHVlLm51bSkgKyAidHVybiI7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSBDU1NfRElNRU5TSU9OOgogICAgICAgICAgICAgLy8gRklYTUUK
</data>
<flag name="review"
          id="60897"
          type_id="1"
          status="+"
          setter="zimmermann"
    />
          </attachment>
      

    </bug>

</bugzilla>