<?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>64678</bug_id>
          
          <creation_ts>2011-07-17 23:29:02 -0700</creation_ts>
          <short_desc>Fix bugs in Object.prototype this handling.</short_desc>
          <delta_ts>2011-07-20 19:35:35 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>64250</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>438349</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-17 23:29:02 -0700</bug_when>
    <thetext>undefined/null this values should throw TypeErrors, not convert to the global object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438353</commentid>
    <comment_count>1</comment_count>
      <attachid>101129</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-17 23:31:00 -0700</bug_when>
    <thetext>Created attachment 101129
Preliminary patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438714</commentid>
    <comment_count>2</comment_count>
      <attachid>101202</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-18 14:19:20 -0700</bug_when>
    <thetext>Created attachment 101202
The patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438804</commentid>
    <comment_count>3</comment_count>
      <attachid>101202</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-18 16:15:12 -0700</bug_when>
    <thetext>Comment on attachment 101202
The patch

Attachment 101202 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9112479

New failing tests:
fast/js/object-prototype-properties.html
fast/js/object-prototype-toLocaleString.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438816</commentid>
    <comment_count>4</comment_count>
      <attachid>101232</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-18 16:38:08 -0700</bug_when>
    <thetext>Created attachment 101232
Added missing updated results, fixed bug in harness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438839</commentid>
    <comment_count>5</comment_count>
      <attachid>101238</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-18 16:56:19 -0700</bug_when>
    <thetext>Created attachment 101238
Ooops, revert some debug code from last patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438855</commentid>
    <comment_count>6</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-18 17:26:56 -0700</bug_when>
    <thetext>Fixed in r91224</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438889</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-07-18 18:18:36 -0700</bug_when>
    <thetext>Filed crbug.com/89673 to track Chromium test failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439061</commentid>
    <comment_count>8</comment_count>
      <attachid>101238</attachid>
    <who name="Mads Ager">ager</who>
    <bug_when>2011-07-19 02:44:34 -0700</bug_when>
    <thetext>Comment on attachment 101238
Ooops, revert some debug code from last patch

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

A couple of drive-by comments.

&gt; LayoutTests/fast/js/script-tests/object-prototype-properties.js:6
&gt; +shouldThrow(&quot;toString()&quot;);

According the the ES5.1 spec this should not throw an exception and return &quot;[object Undefined]&quot;:

Section 15.2.4.2:

1. If the this value is undefined, return &quot;[object Undefined]&quot;.

&gt; LayoutTests/fast/js/script-tests/object-prototype-properties.js:9
&gt; +shouldThrow(&quot;hasProperty(&apos;hasProperty&apos;)&quot;);

I guess this should be hasOwnProperty?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439362</commentid>
    <comment_count>9</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-19 12:26:47 -0700</bug_when>
    <thetext>(In reply to comment #8)

&gt; &gt; +shouldThrow(&quot;toString()&quot;);
&gt; 
&gt; According the the ES5.1 spec this should not throw an exception and return &quot;[object Undefined]&quot;:

Good catch.  I missed this coming out of draft, time to update my copy of the spec. :-)

&gt; &gt; +shouldThrow(&quot;hasProperty(&apos;hasProperty&apos;)&quot;);
&gt;
&gt; I guess this should be hasOwnProperty?

Gah, yes it should.

Thanks for the comments, will fix!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439558</commentid>
    <comment_count>10</comment_count>
      <attachid>101409</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-19 16:59:53 -0700</bug_when>
    <thetext>Created attachment 101409
Fix ES5.1 correctness issues</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439573</commentid>
    <comment_count>11</comment_count>
      <attachid>101409</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-07-19 17:31:29 -0700</bug_when>
    <thetext>Comment on attachment 101409
Fix ES5.1 correctness issues

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

&gt; Source/JavaScriptCore/runtime/ObjectPrototype.cpp:199
&gt; +    if (thisValue.isUndefinedOrNull())
&gt; +        return jsNontrivialString(exec, thisValue.isUndefined() ? &quot;[object Undefined]&quot; : &quot;[object Null]&quot;);
&gt;      return JSValue::encode(jsMakeNontrivialString(exec, &quot;[object &quot;, thisValue.toObject(exec)-&gt;className(), &quot;]&quot;));

I worry a bit about the performance implications of allocating a string every time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439667</commentid>
    <comment_count>12</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-20 00:51:47 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; I worry a bit about the performance implications of allocating a string every time.

That&apos;s a fair concern, but I think we should probably stick with the simple solution for now &amp; optimize if necessary.

We don&apos;t cache the results of Object.prototype.toString for other classes of object, which I imagine is something we could do.  Undefined/null are probably the least likely types to be converted (since behavior here is not going to be uniform across browsers right now), so any caching that is specific to undefined/null values is likely to be suboptimal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439668</commentid>
    <comment_count>13</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-20 00:52:37 -0700</bug_when>
    <thetext>ES5.1 corrections per Mads Ager&apos;s comments landed in r91344.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101129</attachid>
            <date>2011-07-17 23:31:00 -0700</date>
            <delta_ts>2011-07-18 14:19:20 -0700</delta_ts>
            <desc>Preliminary patch</desc>
            <filename>64678.patch</filename>
            <type>text/plain</type>
            <size>5151</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90
eXBlLmNwcAkocmV2aXNpb24gOTExNjQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PYmplY3RQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDQsMTkgKzEwNCwxOSBA
QCBib29sIE9iamVjdFByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlEZXNjCiBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIG9iamVjdFByb3RvRnVuY1ZhbHVlT2YoRXhlY1N0YXRlKiBleGVjKQog
ewogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOwotICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc1ZhbHVlLnRvVGhpc09iamVjdChleGVjKSk7CisgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzVmFsdWUudG9PYmplY3QoZXhlYykpOwogfQogCiBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdFByb3RvRnVuY0hhc093blByb3BlcnR5
KEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RU
aGlzVmFsdWUoKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbih0aGlzVmFs
dWUudG9UaGlzT2JqZWN0KGV4ZWMpLT5oYXNPd25Qcm9wZXJ0eShleGVjLCBJZGVudGlmaWVyKGV4
ZWMsIGV4ZWMtPmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpKSkpKTsKKyAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbih0aGlzVmFsdWUudG9PYmplY3QoZXhlYyktPmhhc093blBy
b3BlcnR5KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmco
ZXhlYykpKSkpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdFByb3Rv
RnVuY0lzUHJvdG90eXBlT2YoRXhlY1N0YXRlKiBleGVjKQogewogICAgIEpTVmFsdWUgdGhpc1Zh
bHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOwotICAgIEpTT2JqZWN0KiB0aGlzT2JqID0gdGhp
c1ZhbHVlLnRvVGhpc09iamVjdChleGVjKTsKKyAgICBKU09iamVjdCogdGhpc09iaiA9IHRoaXNW
YWx1ZS50b09iamVjdChleGVjKTsKIAogICAgIGlmICghZXhlYy0+YXJndW1lbnQoMCkuaXNPYmpl
Y3QoKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4oZmFsc2UpKTsK
QEAgLTEzOCw3ICsxMzgsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdFBy
b3RvCiAgICAgQ2FsbERhdGEgY2FsbERhdGE7CiAgICAgaWYgKGdldENhbGxEYXRhKGV4ZWMtPmFy
Z3VtZW50KDEpLCBjYWxsRGF0YSkgPT0gQ2FsbFR5cGVOb25lKQogICAgICAgICByZXR1cm4gdGhy
b3dWTUVycm9yKGV4ZWMsIGNyZWF0ZVN5bnRheEVycm9yKGV4ZWMsICJpbnZhbGlkIGdldHRlciB1
c2FnZSIpKTsKLSAgICB0aGlzVmFsdWUudG9UaGlzT2JqZWN0KGV4ZWMpLT5kZWZpbmVHZXR0ZXIo
ZXhlYywgSWRlbnRpZmllcihleGVjLCBleGVjLT5hcmd1bWVudCgwKS50b1N0cmluZyhleGVjKSks
IGFzT2JqZWN0KGV4ZWMtPmFyZ3VtZW50KDEpKSk7CisgICAgdGhpc1ZhbHVlLnRvT2JqZWN0KGV4
ZWMpLT5kZWZpbmVHZXR0ZXIoZXhlYywgSWRlbnRpZmllcihleGVjLCBleGVjLT5hcmd1bWVudCgw
KS50b1N0cmluZyhleGVjKSksIGFzT2JqZWN0KGV4ZWMtPmFyZ3VtZW50KDEpKSk7CiAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIH0KIApAQCAtMTQ4LDM4ICsxNDgs
NTMgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBvYmplY3RQcm90bwogICAgIENhbGxE
YXRhIGNhbGxEYXRhOwogICAgIGlmIChnZXRDYWxsRGF0YShleGVjLT5hcmd1bWVudCgxKSwgY2Fs
bERhdGEpID09IENhbGxUeXBlTm9uZSkKICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVj
LCBjcmVhdGVTeW50YXhFcnJvcihleGVjLCAiaW52YWxpZCBzZXR0ZXIgdXNhZ2UiKSk7Ci0gICAg
dGhpc1ZhbHVlLnRvVGhpc09iamVjdChleGVjKS0+ZGVmaW5lU2V0dGVyKGV4ZWMsIElkZW50aWZp
ZXIoZXhlYywgZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYykpLCBhc09iamVjdChleGVj
LT5hcmd1bWVudCgxKSkpOworICAgIHRoaXNWYWx1ZS50b09iamVjdChleGVjKS0+ZGVmaW5lU2V0
dGVyKGV4ZWMsIElkZW50aWZpZXIoZXhlYywgZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmcoZXhl
YykpLCBhc09iamVjdChleGVjLT5hcmd1bWVudCgxKSkpOwogICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNVbmRlZmluZWQoKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
b2JqZWN0UHJvdG9GdW5jTG9va3VwR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBKU1Zh
bHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKLSAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKHRoaXNWYWx1ZS50b1RoaXNPYmplY3QoZXhlYyktPmxvb2t1cEdldHRlcihleGVj
LCBJZGVudGlmaWVyKGV4ZWMsIGV4ZWMtPmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpKSkpOwor
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc1ZhbHVlLnRvT2JqZWN0KGV4ZWMpLT5sb29r
dXBHZXR0ZXIoZXhlYywgSWRlbnRpZmllcihleGVjLCBleGVjLT5hcmd1bWVudCgwKS50b1N0cmlu
ZyhleGVjKSkpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBvYmplY3RQcm90
b0Z1bmNMb29rdXBTZXR0ZXIoRXhlY1N0YXRlKiBleGVjKQogewogICAgIEpTVmFsdWUgdGhpc1Zh
bHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
dGhpc1ZhbHVlLnRvVGhpc09iamVjdChleGVjKS0+bG9va3VwU2V0dGVyKGV4ZWMsIElkZW50aWZp
ZXIoZXhlYywgZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYykpKSk7CisgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZSh0aGlzVmFsdWUudG9PYmplY3QoZXhlYyktPmxvb2t1cFNldHRlcihl
eGVjLCBJZGVudGlmaWVyKGV4ZWMsIGV4ZWMtPmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpKSkp
OwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdFByb3RvRnVuY1Byb3Bl
cnR5SXNFbnVtZXJhYmxlKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1
ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
Qm9vbGVhbih0aGlzVmFsdWUudG9UaGlzT2JqZWN0KGV4ZWMpLT5wcm9wZXJ0eUlzRW51bWVyYWJs
ZShleGVjLCBJZGVudGlmaWVyKGV4ZWMsIGV4ZWMtPmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMp
KSkpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbih0aGlzVmFsdWUudG9P
YmplY3QoZXhlYyktPnByb3BlcnR5SXNFbnVtZXJhYmxlKGV4ZWMsIElkZW50aWZpZXIoZXhlYywg
ZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYykpKSkpOwogfQogCisvLyAxNS4yLjQuMyBP
YmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nKCkKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgb2JqZWN0UHJvdG9GdW5jVG9Mb2NhbGVTdHJpbmcoRXhlY1N0YXRlKiBleGVjKQogewot
ICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOwotICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUodGhpc1ZhbHVlLnRvVGhpc0pTU3RyaW5nKGV4ZWMpKTsKKyAgICAv
LyAxLiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUg
dGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCisgICAgSlNPYmplY3QqIG9iamVjdCA9IGV4ZWMt
Pmhvc3RUaGlzVmFsdWUoKS50b09iamVjdChleGVjKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0
aW9uKCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisK
KyAgICAvLyAyLiBMZXQgdG9TdHJpbmcgYmUgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBbW0dl
dF1dIGludGVybmFsIG1ldGhvZCBvZiBPIHBhc3NpbmcgInRvU3RyaW5nIiBhcyB0aGUgYXJndW1l
bnQuCisgICAgSlNWYWx1ZSB0b1N0cmluZyA9IG9iamVjdC0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3Bl
cnR5TmFtZXMoKS50b1N0cmluZyk7CisKKyAgICAvLyAzLiBJZiBJc0NhbGxhYmxlKHRvU3RyaW5n
KSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAgIENhbGxEYXRhIGNh
bGxEYXRhOworICAgIENhbGxUeXBlIGNhbGxUeXBlID0gZ2V0Q2FsbERhdGEodG9TdHJpbmcsIGNh
bGxEYXRhKTsKKyAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5cGVOb25lKQorICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworCisgICAgLy8gNC4gUmV0dXJuIHRo
ZSByZXN1bHQgb2YgY2FsbGluZyB0aGUgW1tDYWxsXV0gaW50ZXJuYWwgbWV0aG9kIG9mIHRvU3Ry
aW5nIHBhc3NpbmcgTyBhcyB0aGUgdGhpcyB2YWx1ZSBhbmQgbm8gYXJndW1lbnRzLgorICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoY2FsbChleGVjLCB0b1N0cmluZywgY2FsbFR5cGUsIGNhbGxE
YXRhLCBvYmplY3QsIGV4ZWMtPmVtcHR5TGlzdCgpKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgb2JqZWN0UHJvdG9GdW5jVG9TdHJpbmcoRXhlY1N0YXRlKiBleGVjKQogewog
ICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOwotICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNNYWtlTm9udHJpdmlhbFN0cmluZyhleGVjLCAiW29iamVjdCAi
LCB0aGlzVmFsdWUudG9UaGlzT2JqZWN0KGV4ZWMpLT5jbGFzc05hbWUoKSwgIl0iKSk7CisgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc01ha2VOb250cml2aWFsU3RyaW5nKGV4ZWMsICJbb2Jq
ZWN0ICIsIHRoaXNWYWx1ZS50b09iamVjdChleGVjKS0+Y2xhc3NOYW1lKCksICJdIikpOwogfQog
CiB9IC8vIG5hbWVzcGFjZSBKU0MK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101202</attachid>
            <date>2011-07-18 14:19:20 -0700</date>
            <delta_ts>2011-07-18 16:38:08 -0700</delta_ts>
            <desc>The patch</desc>
            <filename>64678.2.patch</filename>
            <type>text/plain</type>
            <size>20917</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTEyMDIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTEtMDctMTggIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY3OAor
ICAgICAgICBGaXggYnVncyBpbiBPYmplY3QucHJvdG90eXBlIHRoaXMgaGFuZGxpbmcuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgdW5kZWZpbmVkL251
bGwgdGhpcyB2YWx1ZXMgc2hvdWxkIHRocm93IFR5cGVFcnJvcnMsIG5vdCBjb252ZXJ0IHRvIHRo
ZSBnbG9iYWwgb2JqZWN0LAorICAgICAgICBhbHNvLCB0byB0b0xvY2FsZVN0cmluZyBzaG91bGQg
YmUgY2FsbGluZyB0aGUgVG9PYmplY3QgJiBpbnZva2luZyB0aGUgb2JqZWN0J3MgdG9TdHJpbmcK
KyAgICAgICAgZnVuY3Rpb24sIGV2ZW4gZm9yIHZhbHVlcyB0aGF0IGFyZSBhbHJlYWR5IHN0cmlu
Z3MuCisKKyAgICAgICAgKiBydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHA6CisgICAgICAgIChK
U0M6Om9iamVjdFByb3RvRnVuY1ZhbHVlT2YpOgorICAgICAgICAoSlNDOjpvYmplY3RQcm90b0Z1
bmNIYXNPd25Qcm9wZXJ0eSk6CisgICAgICAgIChKU0M6Om9iamVjdFByb3RvRnVuY0lzUHJvdG90
eXBlT2YpOgorICAgICAgICAoSlNDOjpvYmplY3RQcm90b0Z1bmNQcm9wZXJ0eUlzRW51bWVyYWJs
ZSk6CisgICAgICAgIChKU0M6Om9iamVjdFByb3RvRnVuY1RvTG9jYWxlU3RyaW5nKToKKyAgICAg
ICAgKEpTQzo6b2JqZWN0UHJvdG9GdW5jVG9TdHJpbmcpOgorCiAyMDExLTA3LTE4ICBGaWxpcCBQ
aXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgSlNDIEpJVCBkb2VzIG5vdCBpbmxp
bmUgR0MgYWxsb2NhdGlvbiBmYXN0IHBhdGhzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDkxMTY0KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTA0LDE5ICsxMDQsMTkgQEAgYm9vbCBPYmplY3RQcm90b3R5cGU6OmdldE93
blByb3BlcnR5RGVzYwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBvYmplY3RQcm90b0Z1
bmNWYWx1ZU9mKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4
ZWMtPmhvc3RUaGlzVmFsdWUoKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNWYWx1
ZS50b1RoaXNPYmplY3QoZXhlYykpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc1Zh
bHVlLnRvT2JqZWN0KGV4ZWMpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBv
YmplY3RQcm90b0Z1bmNIYXNPd25Qcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgSlNW
YWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7Ci0gICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc0Jvb2xlYW4odGhpc1ZhbHVlLnRvVGhpc09iamVjdChleGVjKS0+aGFzT3du
UHJvcGVydHkoZXhlYywgSWRlbnRpZmllcihleGVjLCBleGVjLT5hcmd1bWVudCgwKS50b1N0cmlu
ZyhleGVjKSkpKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4odGhpc1Zh
bHVlLnRvT2JqZWN0KGV4ZWMpLT5oYXNPd25Qcm9wZXJ0eShleGVjLCBJZGVudGlmaWVyKGV4ZWMs
IGV4ZWMtPmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpKSkpKTsKIH0KIAogRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBvYmplY3RQcm90b0Z1bmNJc1Byb3RvdHlwZU9mKEV4ZWNTdGF0ZSog
ZXhlYykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsK
LSAgICBKU09iamVjdCogdGhpc09iaiA9IHRoaXNWYWx1ZS50b1RoaXNPYmplY3QoZXhlYyk7Cisg
ICAgSlNPYmplY3QqIHRoaXNPYmogPSB0aGlzVmFsdWUudG9PYmplY3QoZXhlYyk7CiAKICAgICBp
ZiAoIWV4ZWMtPmFyZ3VtZW50KDApLmlzT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNCb29sZWFuKGZhbHNlKSk7CkBAIC0xNjcsMTkgKzE2NywzNCBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdFByb3RvCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIG9iamVjdFByb3RvRnVuY1Byb3BlcnR5SXNFbnVtZXJhYmxlKEV4ZWNTdGF0ZSogZXhl
YykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKLSAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbih0aGlzVmFsdWUudG9UaGlzT2JqZWN0
KGV4ZWMpLT5wcm9wZXJ0eUlzRW51bWVyYWJsZShleGVjLCBJZGVudGlmaWVyKGV4ZWMsIGV4ZWMt
PmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpKSkpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzQm9vbGVhbih0aGlzVmFsdWUudG9PYmplY3QoZXhlYyktPnByb3BlcnR5SXNFbnVtZXJh
YmxlKGV4ZWMsIElkZW50aWZpZXIoZXhlYywgZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmcoZXhl
YykpKSkpOwogfQogCisvLyAxNS4yLjQuMyBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5n
KCkKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgb2JqZWN0UHJvdG9GdW5jVG9Mb2NhbGVT
dHJpbmcoRXhlY1N0YXRlKiBleGVjKQogewotICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+
aG9zdFRoaXNWYWx1ZSgpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc1ZhbHVlLnRv
VGhpc0pTU3RyaW5nKGV4ZWMpKTsKKyAgICAvLyAxLiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNh
bGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCisg
ICAgSlNPYmplY3QqIG9iamVjdCA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKS50b09iamVjdChleGVj
KTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisKKyAgICAvLyAyLiBMZXQgdG9TdHJpbmcgYmUgdGhl
IHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBbW0dldF1dIGludGVybmFsIG1ldGhvZCBvZiBPIHBhc3Np
bmcgInRvU3RyaW5nIiBhcyB0aGUgYXJndW1lbnQuCisgICAgSlNWYWx1ZSB0b1N0cmluZyA9IG9i
amVjdC0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS50b1N0cmluZyk7CisKKyAgICAv
LyAzLiBJZiBJc0NhbGxhYmxlKHRvU3RyaW5nKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgorICAgIENhbGxEYXRhIGNhbGxEYXRhOworICAgIENhbGxUeXBlIGNhbGxUeXBl
ID0gZ2V0Q2FsbERhdGEodG9TdHJpbmcsIGNhbGxEYXRhKTsKKyAgICBpZiAoY2FsbFR5cGUgPT0g
Q2FsbFR5cGVOb25lKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVk
KCkpOworCisgICAgLy8gNC4gUmV0dXJuIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0aGUgW1tDYWxs
XV0gaW50ZXJuYWwgbWV0aG9kIG9mIHRvU3RyaW5nIHBhc3NpbmcgTyBhcyB0aGUgdGhpcyB2YWx1
ZSBhbmQgbm8gYXJndW1lbnRzLgorICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY2FsbChleGVj
LCB0b1N0cmluZywgY2FsbFR5cGUsIGNhbGxEYXRhLCBvYmplY3QsIGV4ZWMtPmVtcHR5TGlzdCgp
KSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgb2JqZWN0UHJvdG9GdW5jVG9T
dHJpbmcoRXhlY1N0YXRlKiBleGVjKQogewogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+
aG9zdFRoaXNWYWx1ZSgpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNNYWtlTm9udHJp
dmlhbFN0cmluZyhleGVjLCAiW29iamVjdCAiLCB0aGlzVmFsdWUudG9UaGlzT2JqZWN0KGV4ZWMp
LT5jbGFzc05hbWUoKSwgIl0iKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc01ha2VO
b250cml2aWFsU3RyaW5nKGV4ZWMsICJbb2JqZWN0ICIsIHRoaXNWYWx1ZS50b09iamVjdChleGVj
KS0+Y2xhc3NOYW1lKCksICJdIikpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IExh
eW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDkxMjAyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMDctMTggIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFj
bG91Z2hAYXBwbGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NDY3OAorICAgICAgICBGaXggYnVncyBpbiBPYmplY3QucHJvdG90eXBlIHRo
aXMgaGFuZGxpbmcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L2pzL2V2YWwtdmFyLWRlY2wtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZh
c3QvanMvb2JqZWN0LXByb3RvdHlwZS1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9qcy9vYmplY3QtcHJvdG90eXBlLXByb3BlcnRpZXMuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9qcy9zY3JpcHQtdGVzdHMvZXZhbC12YXItZGVjbC5qczoKKyAgICAg
ICAgICAgIC0gRml4IHRlc3QgY2FzZSwgY2FsbGluZyBoYXNQcm9wZXJ0eSB3aXRoIHVuZGVmaW5l
ZCBhcyB0aGUgdGhpcyB2YWx1ZSBzaG91bGQgdGhyb3cuCisgICAgICAgICogZmFzdC9qcy9zY3Jp
cHQtdGVzdHMvb2JqZWN0LXByb3RvdHlwZS1wcm9wZXJ0aWVzLmpzOiBBZGRlZC4KKyAgICAgICAg
ICAgIC0gUGxhY2UgZm9yIHRlc3QgY2FzZXMgZm9yIE9iamVjdC5wcm90b3R5cGUgcHJvcGVydGll
czsgdG8gYmVpbmcgd2l0aCwgY2hlY2sgdGhhdCBjYWxsaW5nIHRoZXNlIG1ldGhvZHMgb24gdW5k
ZWZpbmVkIHRocm93cyEKKyAgICAgICAgKiBmYXN0L2pzL3NjcmlwdC10ZXN0cy9vYmplY3QtcHJv
dG90eXBlLXRvTG9jYWxlU3RyaW5nLmpzOgorICAgICAgICAgICAgLSBBZGRlZCB0ZXN0IGNhc2Vz
IGZvciBjb3JyZWN0IGJlaGF2aW91ciB3aGVuIHRoaXMgaXMgYSBzdHJpbmcgcHJpbWl0aXZlLgor
ICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTFfRXhwcmVzc2lvbnMvMTEuMV9QcmltYXJ5
X0V4cHJlc3Npb25zLzExLjEuMV9UaGVfdGhpc19LZXl3b3JkL1MxMS4xLjFfQTItZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUu
NV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xMF9TdHJpbmcucHJvdG90eXBlLm1hdGNoL1MxNS41LjQu
MTBfQTFfVDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTVf
TmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xMV9TdHJpbmcucHJvdG90
eXBlLnJlcGxhY2UvUzE1LjUuNC4xMV9BMV9UMy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3B1
dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUu
NS40LjEyX1N0cmluZy5wcm90b3R5cGUuc2VhcmNoL1MxNS41LjQuMTJfQTFfVDMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUu
NV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xM19TdHJpbmcucHJvdG90eXBlLnNsaWNlL1MxNS41LjQu
MTNfQTFfVDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTVf
TmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xNF9TdHJpbmcucHJvdG90
eXBlLnNwbGl0L1MxNS41LjQuMTRfQTFfVDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNwdXRu
aWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUu
NC4xNV9TdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy9TMTUuNS40LjE1X0ExX1QzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBzcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1
LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuNF9TdHJpbmcucHJvdG90eXBlLmNoYXJBdC9TMTUuNS40
LjRfQTFfVDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTVf
TmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC41X1N0cmluZy5wcm90b3R5
cGUuY2hhckNvZGVBdC9TMTUuNS40LjVfQTFfVDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNw
dXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1
LjUuNC42X1N0cmluZy5wcm90b3R5cGUuY29uY2F0L1MxNS41LjQuNl9BMV9UMy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41
X1N0cmluZy8xNS41LjQvMTUuNS40LjdfU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mL1MxNS41LjQu
N19BMV9UMy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3B1dG5pay9Db25mb3JtYW5jZS8xNV9O
YXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40LjhfU3RyaW5nLnByb3RvdHlw
ZS5sYXN0SW5kZXhPZi9TMTUuNS40LjhfQTFfVDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAgICAg
LSBUaGVzZSB0ZXN0IGNhc2VzIGFyZSBhbGwgaW5jb3JyZWN0LiAoU2VlIGh0dHBzOi8vYnVncy5l
Y21hc2NyaXB0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3KS4KKyAgICAgICAgICAgICAgV2Ugd2Vy
ZSBpbmNvcnJlY3RseSBwYXNzaW5nIDE1LjUuNC4xMV9TdHJpbmcucHJvdG90eXBlLnJlcGxhY2Us
IHRoaXMgc2hvdWxkIGZhaWwsIGFzIHRoZSBvdGhlcnMgZG8uCisgICAgICAgICAgICAgIEFsbCB0
aGUgb3RoZXIgMTUuNS40IHRlc3RzIHdlcmUgZmFpbGluZyAmIGFyZSBzdGlsbCBmYWlsaW5nLCBi
dXQgbm93IGhhdmUgYSBiZXR0ZXIgZXJyb3IgbWVzc2FnZS4KKyAgICAgICAgICAgICAgUzExLjEu
MV9BMiBpcyBhbHNvIGludmFsaWQsIGNhbGxpbmcgdG9TdHJpbmcoKSBwYXNzaW5nIHVuZGVmaW5l
ZCBhcyB0aGlzIHNob3VsZCB0aHJvdy4KKwogMjAxMS0wNy0xOCAgVG9ueSBDaGFuZyAgPHRvbnlA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gTW92ZSBhIExpbnV4IHNwZWNpZmlj
IHRlc3QgaW50byBjaHJvbWl1bS1saW51eCBhbmQgcmViYXNlbGluZQpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9qcy9ldmFsLXZhci1kZWNsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2pzL2V2YWwtdmFyLWRlY2wtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5MTE2
NCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvZXZhbC12YXItZGVjbC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTMsOCArMyw4IEBAIFRoaXMgdGVzdCBjYXNlIGNoZWNrcyB3aGV0aGVy
IHZhcmlhYmxlcyAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIGhhc093blBy
b3BlcnR5KCJmb28iKSBpcyB0cnVlCi1QQVNTIGhhc093blByb3BlcnR5KCJiYXIiKSBpcyB0cnVl
CitQQVNTIHRoaXMuaGFzT3duUHJvcGVydHkoImZvbyIpIGlzIHRydWUKK1BBU1MgdGhpcy5oYXNP
d25Qcm9wZXJ0eSgiYmFyIikgaXMgdHJ1ZQogUEFTUyBmaXJzdEV2YWxSZXN1bHQgaXMgdHJ1ZQog
UEFTUyBzZWNvbmRFdmFsUmVzdWx0IGlzIGZhbHNlCiBQQVNTIHRoaXJkRXZhbFJlc3VsdCBpcyB0
cnVlCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL29iamVjdC1wcm90b3R5cGUtcHJvcGVydGll
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9vYmplY3Qt
cHJvdG90eXBlLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9qcy9vYmplY3QtcHJvdG90eXBlLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE1IEBACitUaGlzIGlzIGEgdGVzdCBjYXNlIGZvciBidWcg
NjQ2NzguCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRvU3RyaW5nKCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogJ3VuZGVmaW5lZCcgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAndG9TdHJpbmcoKScpLgorUEFTUyB0b0xvY2FsZVN0cmluZygpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRp
bmcgJ3RvTG9jYWxlU3RyaW5nKCknKS4KK1BBU1MgdmFsdWVPZigpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3ZhbHVl
T2YoKScpLgorUEFTUyBoYXNQcm9wZXJ0eSgnaGFzUHJvcGVydHknKSB0aHJldyBleGNlcHRpb24g
UmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGhhc1Byb3BlcnR5LgorUEFTUyBw
cm9wZXJ0eUlzRW51bWVyYWJsZSgnaGFzUHJvcGVydHknKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiAndW5kZWZpbmVkJyBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdwcm9wZXJ0eUlz
RW51bWVyYWJsZSgnaGFzUHJvcGVydHknKScpLgorUEFTUyBpc1Byb3RvdHlwZU9mKHRoaXMpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ2lzUHJvdG90eXBlT2YodGhpcyknKS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL29i
amVjdC1wcm90b3R5cGUtcHJvcGVydGllcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvanMvb2JqZWN0LXByb3RvdHlwZS1wcm9wZXJ0aWVzLmh0bWwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2pzL29iamVjdC1wcm90b3R5cGUtcHJvcGVydGllcy5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSJyZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0i
c2NyaXB0LXRlc3RzL29iamVjdC1wcm90b3R5cGUtcHJvcGVydGllcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9ldmFsLXZh
ci1kZWNsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3Rz
L2V2YWwtdmFyLWRlY2wuanMJKHJldmlzaW9uIDkxMTY0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9q
cy9zY3JpcHQtdGVzdHMvZXZhbC12YXItZGVjbC5qcwkod29ya2luZyBjb3B5KQpAQCAtMiwxNyAr
MiwxNyBAQCBkZXNjcmlwdGlvbigKICJUaGlzIHRlc3QgY2FzZSBjaGVja3Mgd2hldGhlciB2YXJp
YWJsZXMgY2F1c2UgcHJvcGVydGllcyB0byBiZSBkZWZpbmVkIGV2ZW4gYmVmb3JlIHJlYWNoaW5n
IHRoZSBkZWNsYXJhdGlvbiBzdGF0ZW1lbnQgaW4gdmFyaW91cyBjYXNlcy4iCiApOwogCi1zaG91
bGRCZVRydWUoJ2hhc093blByb3BlcnR5KCJmb28iKScpOworc2hvdWxkQmVUcnVlKCd0aGlzLmhh
c093blByb3BlcnR5KCJmb28iKScpOwogdmFyIGZvbyA9IDM7CiAKIGRlbGV0ZSBiYXI7Ci1zaG91
bGRCZVRydWUoJ2hhc093blByb3BlcnR5KCJiYXIiKScpOworc2hvdWxkQmVUcnVlKCd0aGlzLmhh
c093blByb3BlcnR5KCJiYXIiKScpOwogdmFyIGJhciA9IDM7CiAKLXZhciBmaXJzdEV2YWxSZXN1
bHQgPSBldmFsKCd2YXIgcmVzdWx0ID0gaGFzT3duUHJvcGVydHkoInkiKTsgdmFyIHkgPSAzOyBy
ZXN1bHQnKTsKK3ZhciBmaXJzdEV2YWxSZXN1bHQgPSBldmFsKCd2YXIgcmVzdWx0ID0gdGhpcy5o
YXNPd25Qcm9wZXJ0eSgieSIpOyB2YXIgeSA9IDM7IHJlc3VsdCcpOwogc2hvdWxkQmVUcnVlKCJm
aXJzdEV2YWxSZXN1bHQiKTsKIAotdmFyIHNlY29uZEV2YWxSZXN1bHQgPSBldmFsKCdkZWxldGUg
eDsgdmFyIHJlc3VsdCA9IGhhc093blByb3BlcnR5KCJ4Iik7IHZhciB4ID0gMzsgcmVzdWx0Jyk7
Cit2YXIgc2Vjb25kRXZhbFJlc3VsdCA9IGV2YWwoJ2RlbGV0ZSB4OyB2YXIgcmVzdWx0ID0gdGhp
cy5oYXNPd25Qcm9wZXJ0eSgieCIpOyB2YXIgeCA9IDM7IHJlc3VsdCcpOwogc2hvdWxkQmVGYWxz
ZSgic2Vjb25kRXZhbFJlc3VsdCIpOwogCiB2YXIgdGhpcmRFdmFsUmVzdWx0ID0gZmFsc2U7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9vYmplY3QtcHJvdG90eXBlLXBy
b3BlcnRpZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVz
dHMvb2JqZWN0LXByb3RvdHlwZS1wcm9wZXJ0aWVzLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvb2JqZWN0LXByb3RvdHlwZS1wcm9wZXJ0aWVzLmpz
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACitkZXNjcmlwdGlvbigKKydUaGlzIGlzIGEg
dGVzdCBjYXNlIGZvciA8YSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjQ2NzgiPmJ1ZyA2NDY3ODwvYT4uJworKTsKKworLy8gVGhlc2UgY2FsbCBwYXNzIHVuZGVmaW5l
ZCBhcyB0aGlzIHZhbHVlLCBhbmQgYXMgc3VjaCBzaG91bGQgc2hvdyBpbiB0b09iamVjdC4KK3No
b3VsZFRocm93KCJ0b1N0cmluZygpIik7CitzaG91bGRUaHJvdygidG9Mb2NhbGVTdHJpbmcoKSIp
Oworc2hvdWxkVGhyb3coInZhbHVlT2YoKSIpOworc2hvdWxkVGhyb3coImhhc1Byb3BlcnR5KCdo
YXNQcm9wZXJ0eScpIik7CitzaG91bGRUaHJvdygicHJvcGVydHlJc0VudW1lcmFibGUoJ2hhc1By
b3BlcnR5JykiKTsKK3Nob3VsZFRocm93KCJpc1Byb3RvdHlwZU9mKHRoaXMpIik7CisKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3Jp
cHQtdGVzdHMvb2JqZWN0LXByb3RvdHlwZS10b0xvY2FsZVN0cmluZy5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9vYmplY3QtcHJvdG90eXBlLXRvTG9j
YWxlU3RyaW5nLmpzCShyZXZpc2lvbiA5MTE2NCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvc2Ny
aXB0LXRlc3RzL29iamVjdC1wcm90b3R5cGUtdG9Mb2NhbGVTdHJpbmcuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTcsNCArNywxMSBAQCBzaG91bGRCZSgiby50b0xvY2FsZVN0cmluZygpIiwgIm8udG9T
dHJpCiBvLnRvTG9jYWxlU3RyaW5nID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gIkR5bmFtaWMgdG9M
b2NhbGVTdHJpbmcoKSI7IH0KIHNob3VsZEJlKCJvLnRvTG9jYWxlU3RyaW5nKCkiLCAnIkR5bmFt
aWMgdG9Mb2NhbGVTdHJpbmcoKSInKTsKIAorc2hvdWxkQmUoIk9iamVjdC5wcm90b3R5cGUudG9M
b2NhbGVTdHJpbmcuY2FsbCgnSGVsbG8sIHdvcmxkIScpIiwgJyJIZWxsbywgd29ybGQhIicpOwor
Cit2YXIgc3RyaW5nUHJvdG90eXBlVG9TdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5n
OworU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZyA9IChmdW5jdGlvbigpeyByZXR1cm4gInN0cmlu
Z1Byb3RvdHlwZVRvU3RyaW5nIjsgfSk7CitzaG91bGRCZSgiT2JqZWN0LnByb3RvdHlwZS50b0xv
Y2FsZVN0cmluZy5jYWxsKCdIZWxsbywgd29ybGQhJykiLCAnInN0cmluZ1Byb3RvdHlwZVRvU3Ry
aW5nIicpOworU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZyA9IHN0cmluZ1Byb3RvdHlwZVRvU3Ry
aW5nOworCiB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3Rz
L3NwdXRuaWsvQ29uZm9ybWFuY2UvMTFfRXhwcmVzc2lvbnMvMTEuMV9QcmltYXJ5X0V4cHJlc3Np
b25zLzExLjEuMV9UaGVfdGhpc19LZXl3b3JkL1MxMS4xLjFfQTItZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTFfRXhwcmVzc2lvbnMv
MTEuMV9QcmltYXJ5X0V4cHJlc3Npb25zLzExLjEuMV9UaGVfdGhpc19LZXl3b3JkL1MxMS4xLjFf
QTItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5MTE2NCkKKysrIExheW91dFRlc3RzL3NwdXRuaWsv
Q29uZm9ybWFuY2UvMTFfRXhwcmVzc2lvbnMvMTEuMV9QcmltYXJ5X0V4cHJlc3Npb25zLzExLjEu
MV9UaGVfdGhpc19LZXl3b3JkL1MxMS4xLjFfQTItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogUzExLjEuMV9BMgogCi1QQVNTIAorRkFJTCBUeXBlRXJyb3I6ICd1
bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RvU3RyaW5nKCknKQogCiBU
RVNUIENPTVBMRVRFCiAKSW5kZXg6IExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVf
TmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC40X1N0cmluZy5wcm90b3R5
cGUuY2hhckF0L1MxNS41LjQuNF9BMV9UMy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmlu
Zy8xNS41LjQvMTUuNS40LjRfU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQvUzE1LjUuNC40X0ExX1Qz
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gOTExNjQpCisrKyBMYXlvdXRUZXN0cy9zcHV0bmlrL0Nv
bmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuNF9T
dHJpbmcucHJvdG90eXBlLmNoYXJBdC9TMTUuNS40LjRfQTFfVDMtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogUzE1LjUuNC40X0ExX1QzCiAKLUZBSUwgVHlwZUVy
cm9yOiBUeXBlIGVycm9yCitGQUlMIFR5cGVFcnJvcjogJ3VuZGVmaW5lZCcgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAndG9TdHJpbmcoKScpCiAKIFRFU1QgQ09NUExFVEUKIApJbmRleDog
TGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0
cmluZy8xNS41LjQvMTUuNS40LjVfU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0L1MxNS41LjQu
NV9BMV9UMy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3B1dG5pay9D
b25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40LjVf
U3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0L1MxNS41LjQuNV9BMV9UMy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDkxMTY0KQorKysgTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9O
YXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40LjVfU3RyaW5nLnByb3RvdHlw
ZS5jaGFyQ29kZUF0L1MxNS41LjQuNV9BMV9UMy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsNiArMSw2IEBACiBTMTUuNS40LjVfQTFfVDMKIAotRkFJTCBUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IKK0ZBSUwgVHlwZUVycm9yOiAndW5kZWZpbmVkJyBpcyBub3QgYW4gb2JqZWN0IChldmFs
dWF0aW5nICd0b1N0cmluZygpJykKIAogVEVTVCBDT01QTEVURQogCkluZGV4OiBMYXlvdXRUZXN0
cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUu
NC8xNS41LjQuNl9TdHJpbmcucHJvdG90eXBlLmNvbmNhdC9TMTUuNS40LjZfQTFfVDMtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVf
TmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC42X1N0cmluZy5wcm90b3R5
cGUuY29uY2F0L1MxNS41LjQuNl9BMV9UMy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDkxMTY0KQor
KysgTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41
X1N0cmluZy8xNS41LjQvMTUuNS40LjZfU3RyaW5nLnByb3RvdHlwZS5jb25jYXQvUzE1LjUuNC42
X0ExX1QzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIFMxNS41
LjQuNl9BMV9UMwogCi1GQUlMIFR5cGVFcnJvcjogVHlwZSBlcnJvcgorRkFJTCBUeXBlRXJyb3I6
ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RvU3RyaW5nKCknKQog
CiBURVNUIENPTVBMRVRFCiAKSW5kZXg6IExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2Uv
MTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC43X1N0cmluZy5wcm90
b3R5cGUuaW5kZXhPZi9TMTUuNS40LjdfQTFfVDMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9T
dHJpbmcvMTUuNS40LzE1LjUuNC43X1N0cmluZy5wcm90b3R5cGUuaW5kZXhPZi9TMTUuNS40Ljdf
QTFfVDMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5MTE2NCkKKysrIExheW91dFRlc3RzL3NwdXRu
aWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUu
NC43X1N0cmluZy5wcm90b3R5cGUuaW5kZXhPZi9TMTUuNS40LjdfQTFfVDMtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogUzE1LjUuNC43X0ExX1QzCiAKLUZBSUwg
VHlwZUVycm9yOiBUeXBlIGVycm9yCitGQUlMIFR5cGVFcnJvcjogJ3VuZGVmaW5lZCcgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndG9TdHJpbmcoKScpCiAKIFRFU1QgQ09NUExFVEUKIApJ
bmRleDogTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8x
NS41X1N0cmluZy8xNS41LjQvMTUuNS40LjhfU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi9T
MTUuNS40LjhfQTFfVDMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Nw
dXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1
LjUuNC44X1N0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YvUzE1LjUuNC44X0ExX1QzLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gOTExNjQpCisrKyBMYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1h
bmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuOF9TdHJpbmcu
cHJvdG90eXBlLmxhc3RJbmRleE9mL1MxNS41LjQuOF9BMV9UMy1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBTMTUuNS40LjhfQTFfVDMKIAotRkFJTCBUeXBlRXJy
b3I6IFR5cGUgZXJyb3IKK0ZBSUwgVHlwZUVycm9yOiAndW5kZWZpbmVkJyBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICd0b1N0cmluZygpJykKIAogVEVTVCBDT01QTEVURQogCkluZGV4OiBM
YXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3Ry
aW5nLzE1LjUuNC8xNS41LjQuMTBfU3RyaW5nLnByb3RvdHlwZS5tYXRjaC9TMTUuNS40LjEwX0Ex
X1QzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZv
cm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuMTBfU3Ry
aW5nLnByb3RvdHlwZS5tYXRjaC9TMTUuNS40LjEwX0ExX1QzLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gOTExNjQpCisrKyBMYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9P
YmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuMTBfU3RyaW5nLnByb3RvdHlwZS5tYXRj
aC9TMTUuNS40LjEwX0ExX1QzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsx
LDYgQEAKIFMxNS41LjQuMTBfQTFfVDMKIAotRkFJTCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK0ZB
SUwgVHlwZUVycm9yOiAndW5kZWZpbmVkJyBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0
b1N0cmluZygpJykKIAogVEVTVCBDT01QTEVURQogCkluZGV4OiBMYXlvdXRUZXN0cy9zcHV0bmlr
L0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQu
MTFfU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlL1MxNS41LjQuMTFfQTFfVDMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZl
X09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xMV9TdHJpbmcucHJvdG90eXBlLnJl
cGxhY2UvUzE1LjUuNC4xMV9BMV9UMy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDkxMTY0KQorKysg
TGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0
cmluZy8xNS41LjQvMTUuNS40LjExX1N0cmluZy5wcm90b3R5cGUucmVwbGFjZS9TMTUuNS40LjEx
X0ExX1QzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIFMxNS41
LjQuMTFfQTFfVDMKIAotUEFTUyAKK0ZBSUwgVHlwZUVycm9yOiAndW5kZWZpbmVkJyBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICd0b1N0cmluZygpJykKIAogVEVTVCBDT01QTEVURQogCklu
ZGV4OiBMYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1
LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuMTJfU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gvUzE1LjUu
NC4xMl9BMV9UMy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3B1dG5p
ay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40
LjEyX1N0cmluZy5wcm90b3R5cGUuc2VhcmNoL1MxNS41LjQuMTJfQTFfVDMtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA5MTE2NCkKKysrIExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVf
TmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xMl9TdHJpbmcucHJvdG90
eXBlLnNlYXJjaC9TMTUuNS40LjEyX0ExX1QzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSw2ICsxLDYgQEAKIFMxNS41LjQuMTJfQTFfVDMKIAotRkFJTCBUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IKK0ZBSUwgVHlwZUVycm9yOiAndW5kZWZpbmVkJyBpcyBub3QgYW4gb2JqZWN0IChldmFs
dWF0aW5nICd0b1N0cmluZygpJykKIAogVEVTVCBDT01QTEVURQogCkluZGV4OiBMYXlvdXRUZXN0
cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUu
NC8xNS41LjQuMTNfU3RyaW5nLnByb3RvdHlwZS5zbGljZS9TMTUuNS40LjEzX0ExX1QzLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1
X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuMTNfU3RyaW5nLnByb3Rv
dHlwZS5zbGljZS9TMTUuNS40LjEzX0ExX1QzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gOTExNjQp
CisrKyBMYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1
LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuMTNfU3RyaW5nLnByb3RvdHlwZS5zbGljZS9TMTUuNS40
LjEzX0ExX1QzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIFMx
NS41LjQuMTNfQTFfVDMKIAotRkFJTCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK0ZBSUwgVHlwZUVy
cm9yOiAndW5kZWZpbmVkJyBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0b1N0cmluZygp
JykKIAogVEVTVCBDT01QTEVURQogCkluZGV4OiBMYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1h
bmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuMTRfU3RyaW5n
LnByb3RvdHlwZS5zcGxpdC9TMTUuNS40LjE0X0ExX1QzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1
LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuMTRfU3RyaW5nLnByb3RvdHlwZS5zcGxpdC9TMTUuNS40
LjE0X0ExX1QzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gOTExNjQpCisrKyBMYXlvdXRUZXN0cy9z
cHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8x
NS41LjQuMTRfU3RyaW5nLnByb3RvdHlwZS5zcGxpdC9TMTUuNS40LjE0X0ExX1QzLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIFMxNS41LjQuMTRfQTFfVDMKIAot
RkFJTCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK0ZBSUwgVHlwZUVycm9yOiAndW5kZWZpbmVkJyBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0b1N0cmluZygpJykKIAogVEVTVCBDT01QTEVU
RQogCkluZGV4OiBMYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmpl
Y3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuMTVfU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJp
bmcvUzE1LjUuNC4xNV9BMV9UMy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41
LjQvMTUuNS40LjE1X1N0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nL1MxNS41LjQuMTVfQTFfVDMt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5MTE2NCkKKysrIExheW91dFRlc3RzL3NwdXRuaWsvQ29u
Zm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xNV9T
dHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy9TMTUuNS40LjE1X0ExX1QzLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIFMxNS41LjQuMTVfQTFfVDMKIAotRkFJTCBU
eXBlRXJyb3I6IFR5cGUgZXJyb3IKK0ZBSUwgVHlwZUVycm9yOiAndW5kZWZpbmVkJyBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICd0b1N0cmluZygpJykKIAogVEVTVCBDT01QTEVURQogCg==
</data>
<flag name="commit-queue"
          id="96077"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101232</attachid>
            <date>2011-07-18 16:38:08 -0700</date>
            <delta_ts>2011-07-18 16:56:19 -0700</delta_ts>
            <desc>Added missing updated results, fixed bug in harness.</desc>
            <filename>64678.3.patch</filename>
            <type>text/plain</type>
            <size>23238</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTEyMDIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTEtMDctMTggIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY3OAor
ICAgICAgICBGaXggYnVncyBpbiBPYmplY3QucHJvdG90eXBlIHRoaXMgaGFuZGxpbmcuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgdW5kZWZpbmVkL251
bGwgdGhpcyB2YWx1ZXMgc2hvdWxkIHRocm93IFR5cGVFcnJvcnMsIG5vdCBjb252ZXJ0IHRvIHRo
ZSBnbG9iYWwgb2JqZWN0LAorICAgICAgICBhbHNvLCB0byB0b0xvY2FsZVN0cmluZyBzaG91bGQg
YmUgY2FsbGluZyB0aGUgVG9PYmplY3QgJiBpbnZva2luZyB0aGUgb2JqZWN0J3MgdG9TdHJpbmcK
KyAgICAgICAgZnVuY3Rpb24sIGV2ZW4gZm9yIHZhbHVlcyB0aGF0IGFyZSBhbHJlYWR5IHN0cmlu
Z3MuCisKKyAgICAgICAgKiBydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHA6CisgICAgICAgIChK
U0M6Om9iamVjdFByb3RvRnVuY1ZhbHVlT2YpOgorICAgICAgICAoSlNDOjpvYmplY3RQcm90b0Z1
bmNIYXNPd25Qcm9wZXJ0eSk6CisgICAgICAgIChKU0M6Om9iamVjdFByb3RvRnVuY0lzUHJvdG90
eXBlT2YpOgorICAgICAgICAoSlNDOjpvYmplY3RQcm90b0Z1bmNQcm9wZXJ0eUlzRW51bWVyYWJs
ZSk6CisgICAgICAgIChKU0M6Om9iamVjdFByb3RvRnVuY1RvTG9jYWxlU3RyaW5nKToKKyAgICAg
ICAgKEpTQzo6b2JqZWN0UHJvdG9GdW5jVG9TdHJpbmcpOgorCiAyMDExLTA3LTE4ICBGaWxpcCBQ
aXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgSlNDIEpJVCBkb2VzIG5vdCBpbmxp
bmUgR0MgYWxsb2NhdGlvbiBmYXN0IHBhdGhzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDkxMTY0KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTA0LDE5ICsxMDQsMTkgQEAgYm9vbCBPYmplY3RQcm90b3R5cGU6OmdldE93
blByb3BlcnR5RGVzYwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBvYmplY3RQcm90b0Z1
bmNWYWx1ZU9mKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4
ZWMtPmhvc3RUaGlzVmFsdWUoKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNWYWx1
ZS50b1RoaXNPYmplY3QoZXhlYykpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc1Zh
bHVlLnRvT2JqZWN0KGV4ZWMpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBv
YmplY3RQcm90b0Z1bmNIYXNPd25Qcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgSlNW
YWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7Ci0gICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc0Jvb2xlYW4odGhpc1ZhbHVlLnRvVGhpc09iamVjdChleGVjKS0+aGFzT3du
UHJvcGVydHkoZXhlYywgSWRlbnRpZmllcihleGVjLCBleGVjLT5hcmd1bWVudCgwKS50b1N0cmlu
ZyhleGVjKSkpKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4odGhpc1Zh
bHVlLnRvT2JqZWN0KGV4ZWMpLT5oYXNPd25Qcm9wZXJ0eShleGVjLCBJZGVudGlmaWVyKGV4ZWMs
IGV4ZWMtPmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpKSkpKTsKIH0KIAogRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBvYmplY3RQcm90b0Z1bmNJc1Byb3RvdHlwZU9mKEV4ZWNTdGF0ZSog
ZXhlYykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsK
LSAgICBKU09iamVjdCogdGhpc09iaiA9IHRoaXNWYWx1ZS50b1RoaXNPYmplY3QoZXhlYyk7Cisg
ICAgSlNPYmplY3QqIHRoaXNPYmogPSB0aGlzVmFsdWUudG9PYmplY3QoZXhlYyk7CiAKICAgICBp
ZiAoIWV4ZWMtPmFyZ3VtZW50KDApLmlzT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNCb29sZWFuKGZhbHNlKSk7CkBAIC0xNjcsMTkgKzE2NywzNCBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdFByb3RvCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIG9iamVjdFByb3RvRnVuY1Byb3BlcnR5SXNFbnVtZXJhYmxlKEV4ZWNTdGF0ZSogZXhl
YykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKLSAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbih0aGlzVmFsdWUudG9UaGlzT2JqZWN0
KGV4ZWMpLT5wcm9wZXJ0eUlzRW51bWVyYWJsZShleGVjLCBJZGVudGlmaWVyKGV4ZWMsIGV4ZWMt
PmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpKSkpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzQm9vbGVhbih0aGlzVmFsdWUudG9PYmplY3QoZXhlYyktPnByb3BlcnR5SXNFbnVtZXJh
YmxlKGV4ZWMsIElkZW50aWZpZXIoZXhlYywgZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmcoZXhl
YykpKSkpOwogfQogCisvLyAxNS4yLjQuMyBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5n
KCkKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgb2JqZWN0UHJvdG9GdW5jVG9Mb2NhbGVT
dHJpbmcoRXhlY1N0YXRlKiBleGVjKQogewotICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+
aG9zdFRoaXNWYWx1ZSgpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc1ZhbHVlLnRv
VGhpc0pTU3RyaW5nKGV4ZWMpKTsKKyAgICAvLyAxLiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNh
bGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCisg
ICAgSlNPYmplY3QqIG9iamVjdCA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKS50b09iamVjdChleGVj
KTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisKKyAgICAvLyAyLiBMZXQgdG9TdHJpbmcgYmUgdGhl
IHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBbW0dldF1dIGludGVybmFsIG1ldGhvZCBvZiBPIHBhc3Np
bmcgInRvU3RyaW5nIiBhcyB0aGUgYXJndW1lbnQuCisgICAgSlNWYWx1ZSB0b1N0cmluZyA9IG9i
amVjdC0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS50b1N0cmluZyk7CisKKyAgICAv
LyAzLiBJZiBJc0NhbGxhYmxlKHRvU3RyaW5nKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgorICAgIENhbGxEYXRhIGNhbGxEYXRhOworICAgIENhbGxUeXBlIGNhbGxUeXBl
ID0gZ2V0Q2FsbERhdGEodG9TdHJpbmcsIGNhbGxEYXRhKTsKKyAgICBpZiAoY2FsbFR5cGUgPT0g
Q2FsbFR5cGVOb25lKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVk
KCkpOworCisgICAgLy8gNC4gUmV0dXJuIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0aGUgW1tDYWxs
XV0gaW50ZXJuYWwgbWV0aG9kIG9mIHRvU3RyaW5nIHBhc3NpbmcgTyBhcyB0aGUgdGhpcyB2YWx1
ZSBhbmQgbm8gYXJndW1lbnRzLgorICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY2FsbChleGVj
LCB0b1N0cmluZywgY2FsbFR5cGUsIGNhbGxEYXRhLCBvYmplY3QsIGV4ZWMtPmVtcHR5TGlzdCgp
KSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgb2JqZWN0UHJvdG9GdW5jVG9T
dHJpbmcoRXhlY1N0YXRlKiBleGVjKQogewogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+
aG9zdFRoaXNWYWx1ZSgpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNNYWtlTm9udHJp
dmlhbFN0cmluZyhleGVjLCAiW29iamVjdCAiLCB0aGlzVmFsdWUudG9UaGlzT2JqZWN0KGV4ZWMp
LT5jbGFzc05hbWUoKSwgIl0iKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc01ha2VO
b250cml2aWFsU3RyaW5nKGV4ZWMsICJbb2JqZWN0ICIsIHRoaXNWYWx1ZS50b09iamVjdChleGVj
KS0+Y2xhc3NOYW1lKCksICJdIikpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IExh
eW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDkxMjAyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMzkgQEAKKzIwMTEtMDctMTggIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFj
bG91Z2hAYXBwbGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NDY3OAorICAgICAgICBGaXggYnVncyBpbiBPYmplY3QucHJvdG90eXBlIHRo
aXMgaGFuZGxpbmcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qczoKKyAgICAgICAgICAgIC0g
VXBkYXRlZCBoYXJuZXNzIHRvIG5vdCBjYWxsIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgb24g
dW5kZWZpbmVkLgorICAgICAgICAqIGZhc3QvanMvZXZhbC12YXItZGVjbC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZmFzdC9qcy9vYmplY3QtcHJvdG90eXBlLXByb3BlcnRpZXMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL29iamVjdC1wcm90b3R5cGUtcHJvcGVydGll
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL29iamVjdC1wcm90b3R5cGUtdG9Mb2Nh
bGVTdHJpbmctZXhwZWN0ZWQudHh0CisgICAgICAgICogZmFzdC9qcy9zY3JpcHQtdGVzdHMvZXZh
bC12YXItZGVjbC5qczoKKyAgICAgICAgICAgIC0gRml4IHRlc3QgY2FzZSwgY2FsbGluZyBoYXNQ
cm9wZXJ0eSB3aXRoIHVuZGVmaW5lZCBhcyB0aGUgdGhpcyB2YWx1ZSBzaG91bGQgdGhyb3cuCisg
ICAgICAgICogZmFzdC9qcy9zY3JpcHQtdGVzdHMvb2JqZWN0LXByb3RvdHlwZS1wcm9wZXJ0aWVz
LmpzOiBBZGRlZC4KKyAgICAgICAgICAgIC0gUGxhY2UgZm9yIHRlc3QgY2FzZXMgZm9yIE9iamVj
dC5wcm90b3R5cGUgcHJvcGVydGllczsgdG8gYmVpbmcgd2l0aCwgY2hlY2sgdGhhdCBjYWxsaW5n
IHRoZXNlIG1ldGhvZHMgb24gdW5kZWZpbmVkIHRocm93cyEKKyAgICAgICAgKiBmYXN0L2pzL3Nj
cmlwdC10ZXN0cy9vYmplY3QtcHJvdG90eXBlLXRvTG9jYWxlU3RyaW5nLmpzOgorICAgICAgICAg
ICAgLSBBZGRlZCB0ZXN0IGNhc2VzIGZvciBjb3JyZWN0IGJlaGF2aW91ciB3aGVuIHRoaXMgaXMg
YSBzdHJpbmcgcHJpbWl0aXZlLgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTFfRXhw
cmVzc2lvbnMvMTEuMV9QcmltYXJ5X0V4cHJlc3Npb25zLzExLjEuMV9UaGVfdGhpc19LZXl3b3Jk
L1MxMS4xLjFfQTItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2Uv
MTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xMF9TdHJpbmcucHJv
dG90eXBlLm1hdGNoL1MxNS41LjQuMTBfQTFfVDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNw
dXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1
LjUuNC4xMV9TdHJpbmcucHJvdG90eXBlLnJlcGxhY2UvUzE1LjUuNC4xMV9BMV9UMy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8x
NS41X1N0cmluZy8xNS41LjQvMTUuNS40LjEyX1N0cmluZy5wcm90b3R5cGUuc2VhcmNoL1MxNS41
LjQuMTJfQTFfVDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2Uv
MTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xM19TdHJpbmcucHJv
dG90eXBlLnNsaWNlL1MxNS41LjQuMTNfQTFfVDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNw
dXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1
LjUuNC4xNF9TdHJpbmcucHJvdG90eXBlLnNwbGl0L1MxNS41LjQuMTRfQTFfVDMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUu
NV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xNV9TdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy9TMTUu
NS40LjE1X0ExX1QzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzcHV0bmlrL0NvbmZvcm1hbmNl
LzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuNF9TdHJpbmcucHJv
dG90eXBlLmNoYXJBdC9TMTUuNS40LjRfQTFfVDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNw
dXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1
LjUuNC41X1N0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC9TMTUuNS40LjVfQTFfVDMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMv
MTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC42X1N0cmluZy5wcm90b3R5cGUuY29uY2F0L1MxNS41
LjQuNl9BMV9UMy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3B1dG5pay9Db25mb3JtYW5jZS8x
NV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40LjdfU3RyaW5nLnByb3Rv
dHlwZS5pbmRleE9mL1MxNS41LjQuN19BMV9UMy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3B1
dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUu
NS40LjhfU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi9TMTUuNS40LjhfQTFfVDMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAgICAgLSBUaGVzZSB0ZXN0IGNhc2VzIGFyZSBhbGwgaW5jb3JyZWN0
LiAoU2VlIGh0dHBzOi8vYnVncy5lY21hc2NyaXB0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3KS4K
KyAgICAgICAgICAgICAgV2Ugd2VyZSBpbmNvcnJlY3RseSBwYXNzaW5nIDE1LjUuNC4xMV9TdHJp
bmcucHJvdG90eXBlLnJlcGxhY2UsIHRoaXMgc2hvdWxkIGZhaWwsIGFzIHRoZSBvdGhlcnMgZG8u
CisgICAgICAgICAgICAgIEFsbCB0aGUgb3RoZXIgMTUuNS40IHRlc3RzIHdlcmUgZmFpbGluZyAm
IGFyZSBzdGlsbCBmYWlsaW5nLCBidXQgbm93IGhhdmUgYSBiZXR0ZXIgZXJyb3IgbWVzc2FnZS4K
KyAgICAgICAgICAgICAgUzExLjEuMV9BMiBpcyBhbHNvIGludmFsaWQsIGNhbGxpbmcgdG9TdHJp
bmcoKSBwYXNzaW5nIHVuZGVmaW5lZCBhcyB0aGlzIHNob3VsZCB0aHJvdy4KKwogMjAxMS0wNy0x
OCAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0g
TW92ZSBhIExpbnV4IHNwZWNpZmljIHRlc3QgaW50byBjaHJvbWl1bS1saW51eCBhbmQgcmViYXNl
bGluZQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vTm9kZS9zY3JpcHQtdGVzdHMvaW5pdGlh
bC12YWx1ZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vTm9kZS9zY3Jp
cHQtdGVzdHMvaW5pdGlhbC12YWx1ZXMuanMJKHJldmlzaW9uIDkxMTY0KQorKysgTGF5b3V0VGVz
dHMvZmFzdC9kb20vTm9kZS9zY3JpcHQtdGVzdHMvaW5pdGlhbC12YWx1ZXMuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSw1IEBACit0cnkgeworCiBkZXNjcmlwdGlvbigiVGVzdCBjcmVhdGlv
biBvZiBlYWNoIHR5cGUgb2YgTm9kZSBhbmQgY2hlY2sgaW50aWFsIHZhbHVlcyIpCiAKIHZhciB4
bWxEb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVEb2N1bWVudCgiaHR0cDovL3d3
dy53My5vcmcvMTk5OS94aHRtbCIsICJodG1sIiwgbnVsbCk7CkBAIC0yMDMsMyArMjA1LDEwIEBA
IHNob3VsZEJlKCJ0ZXh0LmRhdGEiLCAiJ2ZvbyciKTsKIHNob3VsZEJlKCJ0ZXh0LmF0dHJpYnV0
ZXMiLCAibnVsbCIpOwogCiB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworCit9IGNh
dGNoIChlKSB7CisgICAgYWxlcnQoZSk7CisgICAgYWxlcnQoZS5saW5lKTsKKyAgICBhbGVydChl
LnNvdXJjZVVSTCk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9qcy9ldmFsLXZhci1kZWNsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2pzL2V2YWwtdmFyLWRlY2wtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5
MTE2NCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvZXZhbC12YXItZGVjbC1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTMsOCArMyw4IEBAIFRoaXMgdGVzdCBjYXNlIGNoZWNrcyB3aGV0
aGVyIHZhcmlhYmxlcyAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIGhhc093
blByb3BlcnR5KCJmb28iKSBpcyB0cnVlCi1QQVNTIGhhc093blByb3BlcnR5KCJiYXIiKSBpcyB0
cnVlCitQQVNTIHRoaXMuaGFzT3duUHJvcGVydHkoImZvbyIpIGlzIHRydWUKK1BBU1MgdGhpcy5o
YXNPd25Qcm9wZXJ0eSgiYmFyIikgaXMgdHJ1ZQogUEFTUyBmaXJzdEV2YWxSZXN1bHQgaXMgdHJ1
ZQogUEFTUyBzZWNvbmRFdmFsUmVzdWx0IGlzIGZhbHNlCiBQQVNTIHRoaXJkRXZhbFJlc3VsdCBp
cyB0cnVlCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL29iamVjdC1wcm90b3R5cGUtcHJvcGVy
dGllcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9vYmpl
Y3QtcHJvdG90eXBlLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9qcy9vYmplY3QtcHJvdG90eXBlLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE1IEBACitUaGlzIGlzIGEgdGVzdCBjYXNlIGZvciBi
dWcgNjQ2NzguCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRvU3RyaW5n
KCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogJ3VuZGVmaW5lZCcgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAndG9TdHJpbmcoKScpLgorUEFTUyB0b0xvY2FsZVN0cmluZygpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ3RvTG9jYWxlU3RyaW5nKCknKS4KK1BBU1MgdmFsdWVPZigpIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3Zh
bHVlT2YoKScpLgorUEFTUyBoYXNQcm9wZXJ0eSgnaGFzUHJvcGVydHknKSB0aHJldyBleGNlcHRp
b24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGhhc1Byb3BlcnR5LgorUEFT
UyBwcm9wZXJ0eUlzRW51bWVyYWJsZSgnaGFzUHJvcGVydHknKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiAndW5kZWZpbmVkJyBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdwcm9wZXJ0
eUlzRW51bWVyYWJsZSgnaGFzUHJvcGVydHknKScpLgorUEFTUyBpc1Byb3RvdHlwZU9mKHRoaXMp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ2lzUHJvdG90eXBlT2YodGhpcyknKS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pz
L29iamVjdC1wcm90b3R5cGUtcHJvcGVydGllcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvanMvb2JqZWN0LXByb3RvdHlwZS1wcm9wZXJ0aWVzLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL29iamVjdC1wcm90b3R5cGUtcHJvcGVydGllcy5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSJyZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNy
Yz0ic2NyaXB0LXRlc3RzL29iamVjdC1wcm90b3R5cGUtcHJvcGVydGllcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL29iamVjdC1wcm90b3R5cGUt
dG9Mb2NhbGVTdHJpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvanMvb2JqZWN0LXByb3RvdHlwZS10b0xvY2FsZVN0cmluZy1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDkxMTY0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9vYmplY3QtcHJvdG90eXBlLXRvTG9j
YWxlU3RyaW5nLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNSw2ICs1LDggQEAgT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQQogCiBQQVNTIG8udG9Mb2NhbGVT
dHJpbmcoKSBpcyBvLnRvU3RyaW5nKCkKIFBBU1Mgby50b0xvY2FsZVN0cmluZygpIGlzICJEeW5h
bWljIHRvTG9jYWxlU3RyaW5nKCkiCitQQVNTIE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJp
bmcuY2FsbCgnSGVsbG8sIHdvcmxkIScpIGlzICJIZWxsbywgd29ybGQhIgorUEFTUyBPYmplY3Qu
cHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmNhbGwoJ0hlbGxvLCB3b3JsZCEnKSBpcyAic3RyaW5n
UHJvdG90eXBlVG9TdHJpbmciCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRF
U1QgQ09NUExFVEUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzCShyZXZpc2lvbiA5MTE2NCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC02NSw3ICs2NSw3IEBAIGZ1bmN0
aW9uIGlzUmVzdWx0Q29ycmVjdChfYWN0dWFsLCBfZXhwZWMKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgaWYgKHR5cGVvZihfZXhwZWN0ZWQpID09ICJudW1iZXIiICYmIGlzTmFOKF9leHBlY3Rl
ZCkpCiAgICAgICAgIHJldHVybiB0eXBlb2YoX2FjdHVhbCkgPT0gIm51bWJlciIgJiYgaXNOYU4o
X2FjdHVhbCk7Ci0gICAgaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChfZXhwZWN0
ZWQpID09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChbXSkpCisgICAgaWYgKF9leHBl
Y3RlZCAmJiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKF9leHBlY3RlZCkgPT0gT2Jq
ZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFtdKSkpCiAgICAgICAgIHJldHVybiBhcmVBcnJh
eXNFcXVhbChfYWN0dWFsLCBfZXhwZWN0ZWQpOwogICAgIHJldHVybiBmYWxzZTsKIH0KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2V2YWwtdmFyLWRlY2wuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvZXZhbC12YXItZGVjbC5q
cwkocmV2aXNpb24gOTExNjQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9l
dmFsLXZhci1kZWNsLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yLDE3ICsyLDE3IEBAIGRlc2NyaXB0
aW9uKAogIlRoaXMgdGVzdCBjYXNlIGNoZWNrcyB3aGV0aGVyIHZhcmlhYmxlcyBjYXVzZSBwcm9w
ZXJ0aWVzIHRvIGJlIGRlZmluZWQgZXZlbiBiZWZvcmUgcmVhY2hpbmcgdGhlIGRlY2xhcmF0aW9u
IHN0YXRlbWVudCBpbiB2YXJpb3VzIGNhc2VzLiIKICk7CiAKLXNob3VsZEJlVHJ1ZSgnaGFzT3du
UHJvcGVydHkoImZvbyIpJyk7CitzaG91bGRCZVRydWUoJ3RoaXMuaGFzT3duUHJvcGVydHkoImZv
byIpJyk7CiB2YXIgZm9vID0gMzsKIAogZGVsZXRlIGJhcjsKLXNob3VsZEJlVHJ1ZSgnaGFzT3du
UHJvcGVydHkoImJhciIpJyk7CitzaG91bGRCZVRydWUoJ3RoaXMuaGFzT3duUHJvcGVydHkoImJh
ciIpJyk7CiB2YXIgYmFyID0gMzsKIAotdmFyIGZpcnN0RXZhbFJlc3VsdCA9IGV2YWwoJ3ZhciBy
ZXN1bHQgPSBoYXNPd25Qcm9wZXJ0eSgieSIpOyB2YXIgeSA9IDM7IHJlc3VsdCcpOwordmFyIGZp
cnN0RXZhbFJlc3VsdCA9IGV2YWwoJ3ZhciByZXN1bHQgPSB0aGlzLmhhc093blByb3BlcnR5KCJ5
Iik7IHZhciB5ID0gMzsgcmVzdWx0Jyk7CiBzaG91bGRCZVRydWUoImZpcnN0RXZhbFJlc3VsdCIp
OwogCi12YXIgc2Vjb25kRXZhbFJlc3VsdCA9IGV2YWwoJ2RlbGV0ZSB4OyB2YXIgcmVzdWx0ID0g
aGFzT3duUHJvcGVydHkoIngiKTsgdmFyIHggPSAzOyByZXN1bHQnKTsKK3ZhciBzZWNvbmRFdmFs
UmVzdWx0ID0gZXZhbCgnZGVsZXRlIHg7IHZhciByZXN1bHQgPSB0aGlzLmhhc093blByb3BlcnR5
KCJ4Iik7IHZhciB4ID0gMzsgcmVzdWx0Jyk7CiBzaG91bGRCZUZhbHNlKCJzZWNvbmRFdmFsUmVz
dWx0Iik7CiAKIHZhciB0aGlyZEV2YWxSZXN1bHQgPSBmYWxzZTsKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvanMvc2NyaXB0LXRlc3RzL29iamVjdC1wcm90b3R5cGUtcHJvcGVydGllcy5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9vYmplY3QtcHJvdG90
eXBlLXByb3BlcnRpZXMuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3Nj
cmlwdC10ZXN0cy9vYmplY3QtcHJvdG90eXBlLXByb3BlcnRpZXMuanMJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTMgQEAKK2Rlc2NyaXB0aW9uKAorJ1RoaXMgaXMgYSB0ZXN0IGNhc2UgZm9yIDxh
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY3OCI+YnVnIDY0Njc4
PC9hPi4nCispOworCisvLyBUaGVzZSBjYWxsIHBhc3MgdW5kZWZpbmVkIGFzIHRoaXMgdmFsdWUs
IGFuZCBhcyBzdWNoIHNob3VsZCBzaG93IGluIHRvT2JqZWN0Lgorc2hvdWxkVGhyb3coInRvU3Ry
aW5nKCkiKTsKK3Nob3VsZFRocm93KCJ0b0xvY2FsZVN0cmluZygpIik7CitzaG91bGRUaHJvdygi
dmFsdWVPZigpIik7CitzaG91bGRUaHJvdygiaGFzUHJvcGVydHkoJ2hhc1Byb3BlcnR5JykiKTsK
K3Nob3VsZFRocm93KCJwcm9wZXJ0eUlzRW51bWVyYWJsZSgnaGFzUHJvcGVydHknKSIpOworc2hv
dWxkVGhyb3coImlzUHJvdG90eXBlT2YodGhpcykiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9vYmplY3Qt
cHJvdG90eXBlLXRvTG9jYWxlU3RyaW5nLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvanMvc2NyaXB0LXRlc3RzL29iamVjdC1wcm90b3R5cGUtdG9Mb2NhbGVTdHJpbmcuanMJKHJl
dmlzaW9uIDkxMTY0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvb2JqZWN0
LXByb3RvdHlwZS10b0xvY2FsZVN0cmluZy5qcwkod29ya2luZyBjb3B5KQpAQCAtNyw0ICs3LDEx
IEBAIHNob3VsZEJlKCJvLnRvTG9jYWxlU3RyaW5nKCkiLCAiby50b1N0cmkKIG8udG9Mb2NhbGVT
dHJpbmcgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAiRHluYW1pYyB0b0xvY2FsZVN0cmluZygpIjsg
fQogc2hvdWxkQmUoIm8udG9Mb2NhbGVTdHJpbmcoKSIsICciRHluYW1pYyB0b0xvY2FsZVN0cmlu
ZygpIicpOwogCitzaG91bGRCZSgiT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5jYWxs
KCdIZWxsbywgd29ybGQhJykiLCAnIkhlbGxvLCB3b3JsZCEiJyk7CisKK3ZhciBzdHJpbmdQcm90
b3R5cGVUb1N0cmluZyA9IFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmc7CitTdHJpbmcucHJvdG90
eXBlLnRvU3RyaW5nID0gKGZ1bmN0aW9uKCl7IHJldHVybiAic3RyaW5nUHJvdG90eXBlVG9TdHJp
bmciOyB9KTsKK3Nob3VsZEJlKCJPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmNhbGwo
J0hlbGxvLCB3b3JsZCEnKSIsICcic3RyaW5nUHJvdG90eXBlVG9TdHJpbmciJyk7CitTdHJpbmcu
cHJvdG90eXBlLnRvU3RyaW5nID0gc3RyaW5nUHJvdG90eXBlVG9TdHJpbmc7CisKIHZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3Jt
YW5jZS8xMV9FeHByZXNzaW9ucy8xMS4xX1ByaW1hcnlfRXhwcmVzc2lvbnMvMTEuMS4xX1RoZV90
aGlzX0tleXdvcmQvUzExLjEuMV9BMi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xMV9FeHByZXNzaW9ucy8xMS4xX1ByaW1hcnlfRXhw
cmVzc2lvbnMvMTEuMS4xX1RoZV90aGlzX0tleXdvcmQvUzExLjEuMV9BMi1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDkxMTY0KQorKysgTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xMV9F
eHByZXNzaW9ucy8xMS4xX1ByaW1hcnlfRXhwcmVzc2lvbnMvMTEuMS4xX1RoZV90aGlzX0tleXdv
cmQvUzExLjEuMV9BMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBA
CiBTMTEuMS4xX0EyCiAKLVBBU1MgCitGQUlMIFR5cGVFcnJvcjogJ3VuZGVmaW5lZCcgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndG9TdHJpbmcoKScpCiAKIFRFU1QgQ09NUExFVEUKIApJ
bmRleDogTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8x
NS41X1N0cmluZy8xNS41LjQvMTUuNS40LjRfU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQvUzE1LjUu
NC40X0ExX1QzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zcHV0bmlr
L0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQu
NF9TdHJpbmcucHJvdG90eXBlLmNoYXJBdC9TMTUuNS40LjRfQTFfVDMtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA5MTE2NCkKKysrIExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0
aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC40X1N0cmluZy5wcm90b3R5cGUu
Y2hhckF0L1MxNS41LjQuNF9BMV9UMy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
NiArMSw2IEBACiBTMTUuNS40LjRfQTFfVDMKIAotRkFJTCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IK
K0ZBSUwgVHlwZUVycm9yOiAndW5kZWZpbmVkJyBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICd0b1N0cmluZygpJykKIAogVEVTVCBDT01QTEVURQogCkluZGV4OiBMYXlvdXRUZXN0cy9zcHV0
bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41
LjQuNV9TdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQvUzE1LjUuNC41X0ExX1QzLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05h
dGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuNV9TdHJpbmcucHJvdG90eXBl
LmNoYXJDb2RlQXQvUzE1LjUuNC41X0ExX1QzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gOTExNjQp
CisrKyBMYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1
LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuNV9TdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQvUzE1
LjUuNC41X0ExX1QzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAK
IFMxNS41LjQuNV9BMV9UMwogCi1GQUlMIFR5cGVFcnJvcjogVHlwZSBlcnJvcgorRkFJTCBUeXBl
RXJyb3I6ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RvU3RyaW5n
KCknKQogCiBURVNUIENPTVBMRVRFCiAKSW5kZXg6IExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9y
bWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC42X1N0cmlu
Zy5wcm90b3R5cGUuY29uY2F0L1MxNS41LjQuNl9BMV9UMy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8x
NS41X1N0cmluZy8xNS41LjQvMTUuNS40LjZfU3RyaW5nLnByb3RvdHlwZS5jb25jYXQvUzE1LjUu
NC42X0ExX1QzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gOTExNjQpCisrKyBMYXlvdXRUZXN0cy9z
cHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8x
NS41LjQuNl9TdHJpbmcucHJvdG90eXBlLmNvbmNhdC9TMTUuNS40LjZfQTFfVDMtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogUzE1LjUuNC42X0ExX1QzCiAKLUZB
SUwgVHlwZUVycm9yOiBUeXBlIGVycm9yCitGQUlMIFR5cGVFcnJvcjogJ3VuZGVmaW5lZCcgaXMg
bm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndG9TdHJpbmcoKScpCiAKIFRFU1QgQ09NUExFVEUK
IApJbmRleDogTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0
cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40LjdfU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mL1Mx
NS41LjQuN19BMV9UMy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3B1
dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUu
NS40LjdfU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mL1MxNS41LjQuN19BMV9UMy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDkxMTY0KQorKysgTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8x
NV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40LjdfU3RyaW5nLnByb3Rv
dHlwZS5pbmRleE9mL1MxNS41LjQuN19BMV9UMy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsNiArMSw2IEBACiBTMTUuNS40LjdfQTFfVDMKIAotRkFJTCBUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IKK0ZBSUwgVHlwZUVycm9yOiAndW5kZWZpbmVkJyBpcyBub3QgYW4gb2JqZWN0IChldmFs
dWF0aW5nICd0b1N0cmluZygpJykKIAogVEVTVCBDT01QTEVURQogCkluZGV4OiBMYXlvdXRUZXN0
cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUu
NC8xNS41LjQuOF9TdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mL1MxNS41LjQuOF9BMV9UMy1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5j
ZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40LjhfU3RyaW5nLnBy
b3RvdHlwZS5sYXN0SW5kZXhPZi9TMTUuNS40LjhfQTFfVDMtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA5MTE2NCkKKysrIExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09i
amVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC44X1N0cmluZy5wcm90b3R5cGUubGFzdElu
ZGV4T2YvUzE1LjUuNC44X0ExX1QzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2
ICsxLDYgQEAKIFMxNS41LjQuOF9BMV9UMwogCi1GQUlMIFR5cGVFcnJvcjogVHlwZSBlcnJvcgor
RkFJTCBUeXBlRXJyb3I6ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J3RvU3RyaW5nKCknKQogCiBURVNUIENPTVBMRVRFCiAKSW5kZXg6IExheW91dFRlc3RzL3NwdXRu
aWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUu
NC4xMF9TdHJpbmcucHJvdG90eXBlLm1hdGNoL1MxNS41LjQuMTBfQTFfVDMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZl
X09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xMF9TdHJpbmcucHJvdG90eXBlLm1h
dGNoL1MxNS41LjQuMTBfQTFfVDMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5MTE2NCkKKysrIExh
eW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJp
bmcvMTUuNS40LzE1LjUuNC4xMF9TdHJpbmcucHJvdG90eXBlLm1hdGNoL1MxNS41LjQuMTBfQTFf
VDMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogUzE1LjUuNC4x
MF9BMV9UMwogCi1GQUlMIFR5cGVFcnJvcjogVHlwZSBlcnJvcgorRkFJTCBUeXBlRXJyb3I6ICd1
bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RvU3RyaW5nKCknKQogCiBU
RVNUIENPTVBMRVRFCiAKSW5kZXg6IExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVf
TmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xMV9TdHJpbmcucHJvdG90
eXBlLnJlcGxhY2UvUzE1LjUuNC4xMV9BMV9UMy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0
cmluZy8xNS41LjQvMTUuNS40LjExX1N0cmluZy5wcm90b3R5cGUucmVwbGFjZS9TMTUuNS40LjEx
X0ExX1QzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gOTExNjQpCisrKyBMYXlvdXRUZXN0cy9zcHV0
bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41
LjQuMTFfU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlL1MxNS41LjQuMTFfQTFfVDMtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogUzE1LjUuNC4xMV9BMV9UMwogCi1Q
QVNTIAorRkFJTCBUeXBlRXJyb3I6ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ3RvU3RyaW5nKCknKQogCiBURVNUIENPTVBMRVRFCiAKSW5kZXg6IExheW91dFRlc3Rz
L3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40
LzE1LjUuNC4xMl9TdHJpbmcucHJvdG90eXBlLnNlYXJjaC9TMTUuNS40LjEyX0ExX1QzLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1
X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuMTJfU3RyaW5nLnByb3Rv
dHlwZS5zZWFyY2gvUzE1LjUuNC4xMl9BMV9UMy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDkxMTY0
KQorKysgTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8x
NS41X1N0cmluZy8xNS41LjQvMTUuNS40LjEyX1N0cmluZy5wcm90b3R5cGUuc2VhcmNoL1MxNS41
LjQuMTJfQTFfVDMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAog
UzE1LjUuNC4xMl9BMV9UMwogCi1GQUlMIFR5cGVFcnJvcjogVHlwZSBlcnJvcgorRkFJTCBUeXBl
RXJyb3I6ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RvU3RyaW5n
KCknKQogCiBURVNUIENPTVBMRVRFCiAKSW5kZXg6IExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9y
bWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xM19TdHJp
bmcucHJvdG90eXBlLnNsaWNlL1MxNS41LjQuMTNfQTFfVDMtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMv
MTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xM19TdHJpbmcucHJvdG90eXBlLnNsaWNlL1MxNS41
LjQuMTNfQTFfVDMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5MTE2NCkKKysrIExheW91dFRlc3Rz
L3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40
LzE1LjUuNC4xM19TdHJpbmcucHJvdG90eXBlLnNsaWNlL1MxNS41LjQuMTNfQTFfVDMtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogUzE1LjUuNC4xM19BMV9UMwog
Ci1GQUlMIFR5cGVFcnJvcjogVHlwZSBlcnJvcgorRkFJTCBUeXBlRXJyb3I6ICd1bmRlZmluZWQn
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RvU3RyaW5nKCknKQogCiBURVNUIENPTVBM
RVRFCiAKSW5kZXg6IExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09i
amVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xNF9TdHJpbmcucHJvdG90eXBlLnNwbGl0
L1MxNS41LjQuMTRfQTFfVDMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40
LzE1LjUuNC4xNF9TdHJpbmcucHJvdG90eXBlLnNwbGl0L1MxNS41LjQuMTRfQTFfVDMtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA5MTE2NCkKKysrIExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFu
Y2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xNF9TdHJpbmcu
cHJvdG90eXBlLnNwbGl0L1MxNS41LjQuMTRfQTFfVDMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDYgKzEsNiBAQAogUzE1LjUuNC4xNF9BMV9UMwogCi1GQUlMIFR5cGVFcnJvcjog
VHlwZSBlcnJvcgorRkFJTCBUeXBlRXJyb3I6ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ3RvU3RyaW5nKCknKQogCiBURVNUIENPTVBMRVRFCiAKSW5kZXg6IExheW91
dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcv
MTUuNS40LzE1LjUuNC4xNV9TdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy9TMTUuNS40LjE1X0Ex
X1QzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZv
cm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuMTVfU3Ry
aW5nLnByb3RvdHlwZS5zdWJzdHJpbmcvUzE1LjUuNC4xNV9BMV9UMy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDkxMTY0KQorKysgTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRp
dmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40LjE1X1N0cmluZy5wcm90b3R5cGUu
c3Vic3RyaW5nL1MxNS41LjQuMTVfQTFfVDMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDYgKzEsNiBAQAogUzE1LjUuNC4xNV9BMV9UMwogCi1GQUlMIFR5cGVFcnJvcjogVHlwZSBl
cnJvcgorRkFJTCBUeXBlRXJyb3I6ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ3RvU3RyaW5nKCknKQogCiBURVNUIENPTVBMRVRFCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101238</attachid>
            <date>2011-07-18 16:56:19 -0700</date>
            <delta_ts>2011-07-19 16:59:53 -0700</delta_ts>
            <desc>Ooops, revert some debug code from last patch</desc>
            <filename>64678.4.patch</filename>
            <type>text/plain</type>
            <size>14576</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTEyMDIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTEtMDctMTggIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY3OAor
ICAgICAgICBGaXggYnVncyBpbiBPYmplY3QucHJvdG90eXBlIHRoaXMgaGFuZGxpbmcuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgdW5kZWZpbmVkL251
bGwgdGhpcyB2YWx1ZXMgc2hvdWxkIHRocm93IFR5cGVFcnJvcnMsIG5vdCBjb252ZXJ0IHRvIHRo
ZSBnbG9iYWwgb2JqZWN0LAorICAgICAgICBhbHNvLCB0byB0b0xvY2FsZVN0cmluZyBzaG91bGQg
YmUgY2FsbGluZyB0aGUgVG9PYmplY3QgJiBpbnZva2luZyB0aGUgb2JqZWN0J3MgdG9TdHJpbmcK
KyAgICAgICAgZnVuY3Rpb24sIGV2ZW4gZm9yIHZhbHVlcyB0aGF0IGFyZSBhbHJlYWR5IHN0cmlu
Z3MuCisKKyAgICAgICAgKiBydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHA6CisgICAgICAgIChK
U0M6Om9iamVjdFByb3RvRnVuY1ZhbHVlT2YpOgorICAgICAgICAoSlNDOjpvYmplY3RQcm90b0Z1
bmNIYXNPd25Qcm9wZXJ0eSk6CisgICAgICAgIChKU0M6Om9iamVjdFByb3RvRnVuY0lzUHJvdG90
eXBlT2YpOgorICAgICAgICAoSlNDOjpvYmplY3RQcm90b0Z1bmNQcm9wZXJ0eUlzRW51bWVyYWJs
ZSk6CisgICAgICAgIChKU0M6Om9iamVjdFByb3RvRnVuY1RvTG9jYWxlU3RyaW5nKToKKyAgICAg
ICAgKEpTQzo6b2JqZWN0UHJvdG9GdW5jVG9TdHJpbmcpOgorCiAyMDExLTA3LTE4ICBGaWxpcCBQ
aXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgSlNDIEpJVCBkb2VzIG5vdCBpbmxp
bmUgR0MgYWxsb2NhdGlvbiBmYXN0IHBhdGhzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDkxMTY0KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTA0LDE5ICsxMDQsMTkgQEAgYm9vbCBPYmplY3RQcm90b3R5cGU6OmdldE93
blByb3BlcnR5RGVzYwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBvYmplY3RQcm90b0Z1
bmNWYWx1ZU9mKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4
ZWMtPmhvc3RUaGlzVmFsdWUoKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNWYWx1
ZS50b1RoaXNPYmplY3QoZXhlYykpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc1Zh
bHVlLnRvT2JqZWN0KGV4ZWMpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBv
YmplY3RQcm90b0Z1bmNIYXNPd25Qcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgSlNW
YWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7Ci0gICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc0Jvb2xlYW4odGhpc1ZhbHVlLnRvVGhpc09iamVjdChleGVjKS0+aGFzT3du
UHJvcGVydHkoZXhlYywgSWRlbnRpZmllcihleGVjLCBleGVjLT5hcmd1bWVudCgwKS50b1N0cmlu
ZyhleGVjKSkpKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4odGhpc1Zh
bHVlLnRvT2JqZWN0KGV4ZWMpLT5oYXNPd25Qcm9wZXJ0eShleGVjLCBJZGVudGlmaWVyKGV4ZWMs
IGV4ZWMtPmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpKSkpKTsKIH0KIAogRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBvYmplY3RQcm90b0Z1bmNJc1Byb3RvdHlwZU9mKEV4ZWNTdGF0ZSog
ZXhlYykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsK
LSAgICBKU09iamVjdCogdGhpc09iaiA9IHRoaXNWYWx1ZS50b1RoaXNPYmplY3QoZXhlYyk7Cisg
ICAgSlNPYmplY3QqIHRoaXNPYmogPSB0aGlzVmFsdWUudG9PYmplY3QoZXhlYyk7CiAKICAgICBp
ZiAoIWV4ZWMtPmFyZ3VtZW50KDApLmlzT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNCb29sZWFuKGZhbHNlKSk7CkBAIC0xNjcsMTkgKzE2NywzNCBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdFByb3RvCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIG9iamVjdFByb3RvRnVuY1Byb3BlcnR5SXNFbnVtZXJhYmxlKEV4ZWNTdGF0ZSogZXhl
YykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKLSAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbih0aGlzVmFsdWUudG9UaGlzT2JqZWN0
KGV4ZWMpLT5wcm9wZXJ0eUlzRW51bWVyYWJsZShleGVjLCBJZGVudGlmaWVyKGV4ZWMsIGV4ZWMt
PmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpKSkpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzQm9vbGVhbih0aGlzVmFsdWUudG9PYmplY3QoZXhlYyktPnByb3BlcnR5SXNFbnVtZXJh
YmxlKGV4ZWMsIElkZW50aWZpZXIoZXhlYywgZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmcoZXhl
YykpKSkpOwogfQogCisvLyAxNS4yLjQuMyBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5n
KCkKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgb2JqZWN0UHJvdG9GdW5jVG9Mb2NhbGVT
dHJpbmcoRXhlY1N0YXRlKiBleGVjKQogewotICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+
aG9zdFRoaXNWYWx1ZSgpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc1ZhbHVlLnRv
VGhpc0pTU3RyaW5nKGV4ZWMpKTsKKyAgICAvLyAxLiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNh
bGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCisg
ICAgSlNPYmplY3QqIG9iamVjdCA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKS50b09iamVjdChleGVj
KTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisKKyAgICAvLyAyLiBMZXQgdG9TdHJpbmcgYmUgdGhl
IHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBbW0dldF1dIGludGVybmFsIG1ldGhvZCBvZiBPIHBhc3Np
bmcgInRvU3RyaW5nIiBhcyB0aGUgYXJndW1lbnQuCisgICAgSlNWYWx1ZSB0b1N0cmluZyA9IG9i
amVjdC0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS50b1N0cmluZyk7CisKKyAgICAv
LyAzLiBJZiBJc0NhbGxhYmxlKHRvU3RyaW5nKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgorICAgIENhbGxEYXRhIGNhbGxEYXRhOworICAgIENhbGxUeXBlIGNhbGxUeXBl
ID0gZ2V0Q2FsbERhdGEodG9TdHJpbmcsIGNhbGxEYXRhKTsKKyAgICBpZiAoY2FsbFR5cGUgPT0g
Q2FsbFR5cGVOb25lKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVk
KCkpOworCisgICAgLy8gNC4gUmV0dXJuIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0aGUgW1tDYWxs
XV0gaW50ZXJuYWwgbWV0aG9kIG9mIHRvU3RyaW5nIHBhc3NpbmcgTyBhcyB0aGUgdGhpcyB2YWx1
ZSBhbmQgbm8gYXJndW1lbnRzLgorICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY2FsbChleGVj
LCB0b1N0cmluZywgY2FsbFR5cGUsIGNhbGxEYXRhLCBvYmplY3QsIGV4ZWMtPmVtcHR5TGlzdCgp
KSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgb2JqZWN0UHJvdG9GdW5jVG9T
dHJpbmcoRXhlY1N0YXRlKiBleGVjKQogewogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+
aG9zdFRoaXNWYWx1ZSgpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNNYWtlTm9udHJp
dmlhbFN0cmluZyhleGVjLCAiW29iamVjdCAiLCB0aGlzVmFsdWUudG9UaGlzT2JqZWN0KGV4ZWMp
LT5jbGFzc05hbWUoKSwgIl0iKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc01ha2VO
b250cml2aWFsU3RyaW5nKGV4ZWMsICJbb2JqZWN0ICIsIHRoaXNWYWx1ZS50b09iamVjdChleGVj
KS0+Y2xhc3NOYW1lKCksICJdIikpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IExh
eW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDkxMjAyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMzkgQEAKKzIwMTEtMDctMTggIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFj
bG91Z2hAYXBwbGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NDY3OAorICAgICAgICBGaXggYnVncyBpbiBPYmplY3QucHJvdG90eXBlIHRo
aXMgaGFuZGxpbmcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qczoKKyAgICAgICAgICAgIC0g
VXBkYXRlZCBoYXJuZXNzIHRvIG5vdCBjYWxsIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgb24g
dW5kZWZpbmVkLgorICAgICAgICAqIGZhc3QvanMvZXZhbC12YXItZGVjbC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZmFzdC9qcy9vYmplY3QtcHJvdG90eXBlLXByb3BlcnRpZXMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL29iamVjdC1wcm90b3R5cGUtcHJvcGVydGll
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL29iamVjdC1wcm90b3R5cGUtdG9Mb2Nh
bGVTdHJpbmctZXhwZWN0ZWQudHh0CisgICAgICAgICogZmFzdC9qcy9zY3JpcHQtdGVzdHMvZXZh
bC12YXItZGVjbC5qczoKKyAgICAgICAgICAgIC0gRml4IHRlc3QgY2FzZSwgY2FsbGluZyBoYXNQ
cm9wZXJ0eSB3aXRoIHVuZGVmaW5lZCBhcyB0aGUgdGhpcyB2YWx1ZSBzaG91bGQgdGhyb3cuCisg
ICAgICAgICogZmFzdC9qcy9zY3JpcHQtdGVzdHMvb2JqZWN0LXByb3RvdHlwZS1wcm9wZXJ0aWVz
LmpzOiBBZGRlZC4KKyAgICAgICAgICAgIC0gUGxhY2UgZm9yIHRlc3QgY2FzZXMgZm9yIE9iamVj
dC5wcm90b3R5cGUgcHJvcGVydGllczsgdG8gYmVpbmcgd2l0aCwgY2hlY2sgdGhhdCBjYWxsaW5n
IHRoZXNlIG1ldGhvZHMgb24gdW5kZWZpbmVkIHRocm93cyEKKyAgICAgICAgKiBmYXN0L2pzL3Nj
cmlwdC10ZXN0cy9vYmplY3QtcHJvdG90eXBlLXRvTG9jYWxlU3RyaW5nLmpzOgorICAgICAgICAg
ICAgLSBBZGRlZCB0ZXN0IGNhc2VzIGZvciBjb3JyZWN0IGJlaGF2aW91ciB3aGVuIHRoaXMgaXMg
YSBzdHJpbmcgcHJpbWl0aXZlLgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTFfRXhw
cmVzc2lvbnMvMTEuMV9QcmltYXJ5X0V4cHJlc3Npb25zLzExLjEuMV9UaGVfdGhpc19LZXl3b3Jk
L1MxMS4xLjFfQTItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2Uv
MTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xMF9TdHJpbmcucHJv
dG90eXBlLm1hdGNoL1MxNS41LjQuMTBfQTFfVDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNw
dXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1
LjUuNC4xMV9TdHJpbmcucHJvdG90eXBlLnJlcGxhY2UvUzE1LjUuNC4xMV9BMV9UMy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8x
NS41X1N0cmluZy8xNS41LjQvMTUuNS40LjEyX1N0cmluZy5wcm90b3R5cGUuc2VhcmNoL1MxNS41
LjQuMTJfQTFfVDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2Uv
MTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xM19TdHJpbmcucHJv
dG90eXBlLnNsaWNlL1MxNS41LjQuMTNfQTFfVDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNw
dXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1
LjUuNC4xNF9TdHJpbmcucHJvdG90eXBlLnNwbGl0L1MxNS41LjQuMTRfQTFfVDMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUu
NV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xNV9TdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy9TMTUu
NS40LjE1X0ExX1QzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzcHV0bmlrL0NvbmZvcm1hbmNl
LzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuNF9TdHJpbmcucHJv
dG90eXBlLmNoYXJBdC9TMTUuNS40LjRfQTFfVDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNw
dXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1
LjUuNC41X1N0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC9TMTUuNS40LjVfQTFfVDMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMv
MTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC42X1N0cmluZy5wcm90b3R5cGUuY29uY2F0L1MxNS41
LjQuNl9BMV9UMy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3B1dG5pay9Db25mb3JtYW5jZS8x
NV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40LjdfU3RyaW5nLnByb3Rv
dHlwZS5pbmRleE9mL1MxNS41LjQuN19BMV9UMy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3B1
dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUu
NS40LjhfU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi9TMTUuNS40LjhfQTFfVDMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAgICAgLSBUaGVzZSB0ZXN0IGNhc2VzIGFyZSBhbGwgaW5jb3JyZWN0
LiAoU2VlIGh0dHBzOi8vYnVncy5lY21hc2NyaXB0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3KS4K
KyAgICAgICAgICAgICAgV2Ugd2VyZSBpbmNvcnJlY3RseSBwYXNzaW5nIDE1LjUuNC4xMV9TdHJp
bmcucHJvdG90eXBlLnJlcGxhY2UsIHRoaXMgc2hvdWxkIGZhaWwsIGFzIHRoZSBvdGhlcnMgZG8u
CisgICAgICAgICAgICAgIEFsbCB0aGUgb3RoZXIgMTUuNS40IHRlc3RzIHdlcmUgZmFpbGluZyAm
IGFyZSBzdGlsbCBmYWlsaW5nLCBidXQgbm93IGhhdmUgYSBiZXR0ZXIgZXJyb3IgbWVzc2FnZS4K
KyAgICAgICAgICAgICAgUzExLjEuMV9BMiBpcyBhbHNvIGludmFsaWQsIGNhbGxpbmcgdG9TdHJp
bmcoKSBwYXNzaW5nIHVuZGVmaW5lZCBhcyB0aGlzIHNob3VsZCB0aHJvdy4KKwogMjAxMS0wNy0x
OCAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0g
TW92ZSBhIExpbnV4IHNwZWNpZmljIHRlc3QgaW50byBjaHJvbWl1bS1saW51eCBhbmQgcmViYXNl
bGluZQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9ldmFsLXZhci1kZWNsLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL2V2YWwtdmFyLWRlY2wtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA5MTE2NCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvZXZhbC12YXIt
ZGVjbC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMsOCArMyw4IEBAIFRoaXMgdGVz
dCBjYXNlIGNoZWNrcyB3aGV0aGVyIHZhcmlhYmxlcyAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KIAogCi1QQVNTIGhhc093blByb3BlcnR5KCJmb28iKSBpcyB0cnVlCi1QQVNTIGhhc093blBy
b3BlcnR5KCJiYXIiKSBpcyB0cnVlCitQQVNTIHRoaXMuaGFzT3duUHJvcGVydHkoImZvbyIpIGlz
IHRydWUKK1BBU1MgdGhpcy5oYXNPd25Qcm9wZXJ0eSgiYmFyIikgaXMgdHJ1ZQogUEFTUyBmaXJz
dEV2YWxSZXN1bHQgaXMgdHJ1ZQogUEFTUyBzZWNvbmRFdmFsUmVzdWx0IGlzIGZhbHNlCiBQQVNT
IHRoaXJkRXZhbFJlc3VsdCBpcyB0cnVlCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL29iamVj
dC1wcm90b3R5cGUtcHJvcGVydGllcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9qcy9vYmplY3QtcHJvdG90eXBlLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9vYmplY3QtcHJvdG90eXBlLXByb3Bl
cnRpZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE1IEBACitUaGlzIGlz
IGEgdGVzdCBjYXNlIGZvciBidWcgNjQ2NzguCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitQQVNTIHRvU3RyaW5nKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogJ3VuZGVmaW5l
ZCcgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndG9TdHJpbmcoKScpLgorUEFTUyB0b0xv
Y2FsZVN0cmluZygpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICd1bmRlZmluZWQnIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RvTG9jYWxlU3RyaW5nKCknKS4KK1BBU1MgdmFsdWVP
ZigpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ3ZhbHVlT2YoKScpLgorUEFTUyBoYXNQcm9wZXJ0eSgnaGFzUHJvcGVy
dHknKSB0aHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IGhhc1Byb3BlcnR5LgorUEFTUyBwcm9wZXJ0eUlzRW51bWVyYWJsZSgnaGFzUHJvcGVydHknKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiAndW5kZWZpbmVkJyBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICdwcm9wZXJ0eUlzRW51bWVyYWJsZSgnaGFzUHJvcGVydHknKScpLgorUEFTUyBp
c1Byb3RvdHlwZU9mKHRoaXMpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICd1bmRlZmluZWQn
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2lzUHJvdG90eXBlT2YodGhpcyknKS4KK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2pzL29iamVjdC1wcm90b3R5cGUtcHJvcGVydGllcy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvb2JqZWN0LXByb3RvdHlwZS1wcm9wZXJ0aWVz
Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL29iamVjdC1wcm90b3R5
cGUtcHJvcGVydGllcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL29iamVjdC1wcm90b3R5cGUtcHJvcGVy
dGllcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pz
L29iamVjdC1wcm90b3R5cGUtdG9Mb2NhbGVTdHJpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvanMvb2JqZWN0LXByb3RvdHlwZS10b0xvY2FsZVN0cmluZy1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDkxMTY0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9vYmpl
Y3QtcHJvdG90eXBlLXRvTG9jYWxlU3RyaW5nLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtNSw2ICs1LDggQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQQog
CiBQQVNTIG8udG9Mb2NhbGVTdHJpbmcoKSBpcyBvLnRvU3RyaW5nKCkKIFBBU1Mgby50b0xvY2Fs
ZVN0cmluZygpIGlzICJEeW5hbWljIHRvTG9jYWxlU3RyaW5nKCkiCitQQVNTIE9iamVjdC5wcm90
b3R5cGUudG9Mb2NhbGVTdHJpbmcuY2FsbCgnSGVsbG8sIHdvcmxkIScpIGlzICJIZWxsbywgd29y
bGQhIgorUEFTUyBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmNhbGwoJ0hlbGxvLCB3
b3JsZCEnKSBpcyAic3RyaW5nUHJvdG90eXBlVG9TdHJpbmciCiBQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCShyZXZpc2lvbiA5MTE2NCkKKysrIExheW91dFRl
c3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC02
NSw3ICs2NSw3IEBAIGZ1bmN0aW9uIGlzUmVzdWx0Q29ycmVjdChfYWN0dWFsLCBfZXhwZWMKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgaWYgKHR5cGVvZihfZXhwZWN0ZWQpID09ICJudW1iZXIi
ICYmIGlzTmFOKF9leHBlY3RlZCkpCiAgICAgICAgIHJldHVybiB0eXBlb2YoX2FjdHVhbCkgPT0g
Im51bWJlciIgJiYgaXNOYU4oX2FjdHVhbCk7Ci0gICAgaWYgKE9iamVjdC5wcm90b3R5cGUudG9T
dHJpbmcuY2FsbChfZXhwZWN0ZWQpID09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChb
XSkpCisgICAgaWYgKF9leHBlY3RlZCAmJiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxs
KF9leHBlY3RlZCkgPT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFtdKSkpCiAgICAg
ICAgIHJldHVybiBhcmVBcnJheXNFcXVhbChfYWN0dWFsLCBfZXhwZWN0ZWQpOwogICAgIHJldHVy
biBmYWxzZTsKIH0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2V2YWwt
dmFyLWRlY2wuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVz
dHMvZXZhbC12YXItZGVjbC5qcwkocmV2aXNpb24gOTExNjQpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2pzL3NjcmlwdC10ZXN0cy9ldmFsLXZhci1kZWNsLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yLDE3
ICsyLDE3IEBAIGRlc2NyaXB0aW9uKAogIlRoaXMgdGVzdCBjYXNlIGNoZWNrcyB3aGV0aGVyIHZh
cmlhYmxlcyBjYXVzZSBwcm9wZXJ0aWVzIHRvIGJlIGRlZmluZWQgZXZlbiBiZWZvcmUgcmVhY2hp
bmcgdGhlIGRlY2xhcmF0aW9uIHN0YXRlbWVudCBpbiB2YXJpb3VzIGNhc2VzLiIKICk7CiAKLXNo
b3VsZEJlVHJ1ZSgnaGFzT3duUHJvcGVydHkoImZvbyIpJyk7CitzaG91bGRCZVRydWUoJ3RoaXMu
aGFzT3duUHJvcGVydHkoImZvbyIpJyk7CiB2YXIgZm9vID0gMzsKIAogZGVsZXRlIGJhcjsKLXNo
b3VsZEJlVHJ1ZSgnaGFzT3duUHJvcGVydHkoImJhciIpJyk7CitzaG91bGRCZVRydWUoJ3RoaXMu
aGFzT3duUHJvcGVydHkoImJhciIpJyk7CiB2YXIgYmFyID0gMzsKIAotdmFyIGZpcnN0RXZhbFJl
c3VsdCA9IGV2YWwoJ3ZhciByZXN1bHQgPSBoYXNPd25Qcm9wZXJ0eSgieSIpOyB2YXIgeSA9IDM7
IHJlc3VsdCcpOwordmFyIGZpcnN0RXZhbFJlc3VsdCA9IGV2YWwoJ3ZhciByZXN1bHQgPSB0aGlz
Lmhhc093blByb3BlcnR5KCJ5Iik7IHZhciB5ID0gMzsgcmVzdWx0Jyk7CiBzaG91bGRCZVRydWUo
ImZpcnN0RXZhbFJlc3VsdCIpOwogCi12YXIgc2Vjb25kRXZhbFJlc3VsdCA9IGV2YWwoJ2RlbGV0
ZSB4OyB2YXIgcmVzdWx0ID0gaGFzT3duUHJvcGVydHkoIngiKTsgdmFyIHggPSAzOyByZXN1bHQn
KTsKK3ZhciBzZWNvbmRFdmFsUmVzdWx0ID0gZXZhbCgnZGVsZXRlIHg7IHZhciByZXN1bHQgPSB0
aGlzLmhhc093blByb3BlcnR5KCJ4Iik7IHZhciB4ID0gMzsgcmVzdWx0Jyk7CiBzaG91bGRCZUZh
bHNlKCJzZWNvbmRFdmFsUmVzdWx0Iik7CiAKIHZhciB0aGlyZEV2YWxSZXN1bHQgPSBmYWxzZTsK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL29iamVjdC1wcm90b3R5cGUt
cHJvcGVydGllcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10
ZXN0cy9vYmplY3QtcHJvdG90eXBlLXByb3BlcnRpZXMuanMJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9vYmplY3QtcHJvdG90eXBlLXByb3BlcnRpZXMu
anMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKK2Rlc2NyaXB0aW9uKAorJ1RoaXMgaXMg
YSB0ZXN0IGNhc2UgZm9yIDxhIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02NDY3OCI+YnVnIDY0Njc4PC9hPi4nCispOworCisvLyBUaGVzZSBjYWxsIHBhc3MgdW5kZWZp
bmVkIGFzIHRoaXMgdmFsdWUsIGFuZCBhcyBzdWNoIHNob3VsZCBzaG93IGluIHRvT2JqZWN0Lgor
c2hvdWxkVGhyb3coInRvU3RyaW5nKCkiKTsKK3Nob3VsZFRocm93KCJ0b0xvY2FsZVN0cmluZygp
Iik7CitzaG91bGRUaHJvdygidmFsdWVPZigpIik7CitzaG91bGRUaHJvdygiaGFzUHJvcGVydHko
J2hhc1Byb3BlcnR5JykiKTsKK3Nob3VsZFRocm93KCJwcm9wZXJ0eUlzRW51bWVyYWJsZSgnaGFz
UHJvcGVydHknKSIpOworc2hvdWxkVGhyb3coImlzUHJvdG90eXBlT2YodGhpcykiKTsKKwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3Nj
cmlwdC10ZXN0cy9vYmplY3QtcHJvdG90eXBlLXRvTG9jYWxlU3RyaW5nLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL29iamVjdC1wcm90b3R5cGUtdG9M
b2NhbGVTdHJpbmcuanMJKHJldmlzaW9uIDkxMTY0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9z
Y3JpcHQtdGVzdHMvb2JqZWN0LXByb3RvdHlwZS10b0xvY2FsZVN0cmluZy5qcwkod29ya2luZyBj
b3B5KQpAQCAtNyw0ICs3LDExIEBAIHNob3VsZEJlKCJvLnRvTG9jYWxlU3RyaW5nKCkiLCAiby50
b1N0cmkKIG8udG9Mb2NhbGVTdHJpbmcgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAiRHluYW1pYyB0
b0xvY2FsZVN0cmluZygpIjsgfQogc2hvdWxkQmUoIm8udG9Mb2NhbGVTdHJpbmcoKSIsICciRHlu
YW1pYyB0b0xvY2FsZVN0cmluZygpIicpOwogCitzaG91bGRCZSgiT2JqZWN0LnByb3RvdHlwZS50
b0xvY2FsZVN0cmluZy5jYWxsKCdIZWxsbywgd29ybGQhJykiLCAnIkhlbGxvLCB3b3JsZCEiJyk7
CisKK3ZhciBzdHJpbmdQcm90b3R5cGVUb1N0cmluZyA9IFN0cmluZy5wcm90b3R5cGUudG9TdHJp
bmc7CitTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nID0gKGZ1bmN0aW9uKCl7IHJldHVybiAic3Ry
aW5nUHJvdG90eXBlVG9TdHJpbmciOyB9KTsKK3Nob3VsZEJlKCJPYmplY3QucHJvdG90eXBlLnRv
TG9jYWxlU3RyaW5nLmNhbGwoJ0hlbGxvLCB3b3JsZCEnKSIsICcic3RyaW5nUHJvdG90eXBlVG9T
dHJpbmciJyk7CitTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nID0gc3RyaW5nUHJvdG90eXBlVG9T
dHJpbmc7CisKIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>
<flag name="review"
          id="96089"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101409</attachid>
            <date>2011-07-19 16:59:53 -0700</date>
            <delta_ts>2011-07-19 17:31:29 -0700</delta_ts>
            <desc>Fix ES5.1 correctness issues</desc>
            <filename>64678.5.patch</filename>
            <type>text/plain</type>
            <size>15732</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTEzMDkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMDctMTkgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY3OAor
ICAgICAgICBGaXggYnVncyBpbiBPYmplY3QucHJvdG90eXBlIHRoaXMgaGFuZGxpbmcuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL09i
amVjdFByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6Om9iamVjdFByb3RvRnVuY1RvU3RyaW5n
KToKKyAgICAgICAgICAgIC0gRVM1LjEgZXhwZWN0cyB0b1N0cmluZyBvZiB1bmRlZmluZWQvbnVs
bCB0byBwcm9kdWNlICJbb2JqZWN0IFVuZGVmaW5lZF0iLyJbb2JqZWN0IE51bGxdIi4KKwogMjAx
MS0wNy0xOSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtKU0NdIFdlYktpdCBhbGxvY2F0ZXMgZ2lnYWJ5dGVzIG9mIG1lbW9yeSB3aGVuIGRvaW5n
IHJlcGVhdGVkIHN0cmluZyBjb25jYXRlbmF0aW9uCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDkxMzA2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTk0LDYgKzE5NCw4IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgb2JqZWN0UHJvdG8KIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgb2JqZWN0UHJvdG9G
dW5jVG9TdHJpbmcoRXhlY1N0YXRlKiBleGVjKQogewogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0g
ZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOworICAgIGlmICh0aGlzVmFsdWUuaXNVbmRlZmluZWRPck51
bGwoKSkKKyAgICAgICAgcmV0dXJuIGpzTm9udHJpdmlhbFN0cmluZyhleGVjLCB0aGlzVmFsdWUu
aXNVbmRlZmluZWQoKSA/ICJbb2JqZWN0IFVuZGVmaW5lZF0iIDogIltvYmplY3QgTnVsbF0iKTsK
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTWFrZU5vbnRyaXZpYWxTdHJpbmcoZXhlYywg
IltvYmplY3QgIiwgdGhpc1ZhbHVlLnRvT2JqZWN0KGV4ZWMpLT5jbGFzc05hbWUoKSwgIl0iKSk7
CiB9CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDkxMzA5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMDctMTkgIEdhdmluIEJhcnJh
Y2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY3OAorICAgICAgICBGaXggYnVncyBpbiBPYmpl
Y3QucHJvdG90eXBlIHRoaXMgaGFuZGxpbmcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2pzL29iamVjdC1wcm90b3R5cGUtcHJvcGVydGll
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9qcy9zY3JpcHQtdGVzdHMvb2JqZWN0LXBy
b3RvdHlwZS1wcm9wZXJ0aWVzLmpzOgorICAgICAgICAgICAgLSBGaXggdGhlc2UgdGVzdHMgdG8g
Y2hlY2sgT2JqZWN0LnByb3RvdHlwZSBleHBsaWNpdGx5LCBub3QgdGhlIEdsb2JhbCBPYmplY3Qs
IGFuZCBleHBlY3QgRVM1LjEgY29ycmVjdCByZXN1bHRzLgorICAgICAgICAqIHNwdXRuaWsvQ29u
Zm9ybWFuY2UvMTFfRXhwcmVzc2lvbnMvMTEuMV9QcmltYXJ5X0V4cHJlc3Npb25zLzExLjEuMV9U
aGVfdGhpc19LZXl3b3JkL1MxMS4xLjFfQTItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNwdXRu
aWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUu
NC4xMF9TdHJpbmcucHJvdG90eXBlLm1hdGNoL1MxNS41LjQuMTBfQTFfVDMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9T
dHJpbmcvMTUuNS40LzE1LjUuNC4xMV9TdHJpbmcucHJvdG90eXBlLnJlcGxhY2UvUzE1LjUuNC4x
MV9BMV9UMy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3B1dG5pay9Db25mb3JtYW5jZS8xNV9O
YXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40LjEyX1N0cmluZy5wcm90b3R5
cGUuc2VhcmNoL1MxNS41LjQuMTJfQTFfVDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNwdXRu
aWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUu
NC4xM19TdHJpbmcucHJvdG90eXBlLnNsaWNlL1MxNS41LjQuMTNfQTFfVDMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9T
dHJpbmcvMTUuNS40LzE1LjUuNC4xNF9TdHJpbmcucHJvdG90eXBlLnNwbGl0L1MxNS41LjQuMTRf
QTFfVDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0
aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xNV9TdHJpbmcucHJvdG90eXBl
LnN1YnN0cmluZy9TMTUuNS40LjE1X0ExX1QzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzcHV0
bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41
LjQuNF9TdHJpbmcucHJvdG90eXBlLmNoYXJBdC9TMTUuNS40LjRfQTFfVDMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9T
dHJpbmcvMTUuNS40LzE1LjUuNC41X1N0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC9TMTUuNS40
LjVfQTFfVDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTVf
TmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC42X1N0cmluZy5wcm90b3R5
cGUuY29uY2F0L1MxNS41LjQuNl9BMV9UMy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3B1dG5p
ay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40
LjdfU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mL1MxNS41LjQuN19BMV9UMy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0
cmluZy8xNS41LjQvMTUuNS40LjhfU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi9TMTUuNS40
LjhfQTFfVDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAgICAgLSBTbGlnaHQgY2hhbmdlIGluIGV4
cGVjdGVkIHJlc3VsdHMsIHRoZXNlIHRlc3RzIGFyZSBhbGwgaW5jb3JyZWN0LCB3ZXJlIGFsbCBG
QUlMaW5nLCBhbmQgYXJlIHN0aWxsIGFsbCBGQUlMaW5nLgorCiAyMDExLTA3LTE5ICBOYXRlIENo
YXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVGVzdCBmb3IgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NTUyLgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9qcy9vYmplY3QtcHJvdG90eXBlLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvb2JqZWN0LXByb3RvdHlwZS1wcm9wZXJ0aWVzLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gOTEzMDYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL29iamVj
dC1wcm90b3R5cGUtcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMs
MTIgKzMsMTMgQEAgVGhpcyBpcyBhIHRlc3QgY2FzZSBmb3IgYnVnIDY0Njc4LgogT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1MgdG9TdHJpbmcoKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiAndW5kZWZpbmVkJyBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0b1N0cmlu
ZygpJykuCi1QQVNTIHRvTG9jYWxlU3RyaW5nKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
J3VuZGVmaW5lZCcgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndG9Mb2NhbGVTdHJpbmco
KScpLgotUEFTUyB2YWx1ZU9mKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogJ3VuZGVmaW5l
ZCcgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndmFsdWVPZigpJykuCi1QQVNTIGhhc1By
b3BlcnR5KCdoYXNQcm9wZXJ0eScpIHRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogaGFzUHJvcGVydHkuCi1QQVNTIHByb3BlcnR5SXNFbnVtZXJhYmxl
KCdoYXNQcm9wZXJ0eScpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICd1bmRlZmluZWQnIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3Byb3BlcnR5SXNFbnVtZXJhYmxlKCdoYXNQcm9w
ZXJ0eScpJykuCi1QQVNTIGlzUHJvdG90eXBlT2YodGhpcykgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogJ3VuZGVmaW5lZCcgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnaXNQcm90b3R5
cGVPZih0aGlzKScpLgorUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodW5kZWZp
bmVkKSBpcyAiW29iamVjdCBVbmRlZmluZWRdIgorUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwobnVsbCkgaXMgIltvYmplY3QgTnVsbF0iCitQQVNTIE9iamVjdC5wcm90b3R5cGUu
dG9Mb2NhbGVTdHJpbmcuY2FsbCh1bmRlZmluZWQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ09iamVjdC5wcm90b3R5
cGUudG9Mb2NhbGVTdHJpbmcuY2FsbCh1bmRlZmluZWQpJykuCitQQVNTIE9iamVjdC5wcm90b3R5
cGUudmFsdWVPZi5jYWxsKHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogJ3Vu
ZGVmaW5lZCcgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnT2JqZWN0LnByb3RvdHlwZS52
YWx1ZU9mLmNhbGwodW5kZWZpbmVkKScpLgorUEFTUyBPYmplY3QucHJvdG90eXBlLmhhc093blBy
b3BlcnR5LmNhbGwodW5kZWZpbmVkLCAnaGFzT3duUHJvcGVydHknKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiAndW5kZWZpbmVkJyBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdPYmpl
Y3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodW5kZWZpbmVkLCAnaGFzT3duUHJvcGVy
dHknKScpLgorUEFTUyBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwo
dW5kZWZpbmVkLCAncHJvcGVydHlJc0VudW1lcmFibGUnKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiAndW5kZWZpbmVkJyBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdPYmplY3QucHJv
dG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodW5kZWZpbmVkLCAncHJvcGVydHlJc0Vu
dW1lcmFibGUnKScpLgorUEFTUyBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuY2FsbCh1
bmRlZmluZWQsIHRoaXMpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICd1bmRlZmluZWQnIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ09iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVP
Zi5jYWxsKHVuZGVmaW5lZCwgdGhpcyknKS4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKIAogVEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVz
dHMvb2JqZWN0LXByb3RvdHlwZS1wcm9wZXJ0aWVzLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL29iamVjdC1wcm90b3R5cGUtcHJvcGVydGllcy5qcwko
cmV2aXNpb24gOTEzMDYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9vYmpl
Y3QtcHJvdG90eXBlLXByb3BlcnRpZXMuanMJKHdvcmtpbmcgY29weSkKQEAgLTIsMTIgKzIsMTUg
QEAgZGVzY3JpcHRpb24oCiAnVGhpcyBpcyBhIHRlc3QgY2FzZSBmb3IgPGEgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0Njc4Ij5idWcgNjQ2Nzg8L2E+LicKICk7CiAK
LS8vIFRoZXNlIGNhbGwgcGFzcyB1bmRlZmluZWQgYXMgdGhpcyB2YWx1ZSwgYW5kIGFzIHN1Y2gg
c2hvdWxkIHNob3cgaW4gdG9PYmplY3QuCi1zaG91bGRUaHJvdygidG9TdHJpbmcoKSIpOwotc2hv
dWxkVGhyb3coInRvTG9jYWxlU3RyaW5nKCkiKTsKLXNob3VsZFRocm93KCJ2YWx1ZU9mKCkiKTsK
LXNob3VsZFRocm93KCJoYXNQcm9wZXJ0eSgnaGFzUHJvcGVydHknKSIpOwotc2hvdWxkVGhyb3co
InByb3BlcnR5SXNFbnVtZXJhYmxlKCdoYXNQcm9wZXJ0eScpIik7Ci1zaG91bGRUaHJvdygiaXNQ
cm90b3R5cGVPZih0aGlzKSIpOworLy9FUyA1LjEgYWxsb3dzIGZvciBPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nIGJlaW5nIGNhbGxlZCB3aXRoIHVuZGVmaW5lZC9udWxsLgorc2hvdWxkQmUoIk9i
amVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh1bmRlZmluZWQpIiwgJyJbb2JqZWN0IFVuZGVm
aW5lZF0iJyk7CitzaG91bGRCZSgiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG51bGwp
IiwgJyJbb2JqZWN0IE51bGxdIicpOworCisvLyBUaGVzZSBjYWxscyBwYXNzIHVuZGVmaW5lZCBh
cyB0aGlzIHZhbHVlLCBhbmQgYXMgc3VjaCBzaG91bGQgdGhyb3cgaW4gdG9PYmplY3QuCitzaG91
bGRUaHJvdygiT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5jYWxsKHVuZGVmaW5lZCki
KTsKK3Nob3VsZFRocm93KCJPYmplY3QucHJvdG90eXBlLnZhbHVlT2YuY2FsbCh1bmRlZmluZWQp
Iik7CitzaG91bGRUaHJvdygiT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHVu
ZGVmaW5lZCwgJ2hhc093blByb3BlcnR5JykiKTsKK3Nob3VsZFRocm93KCJPYmplY3QucHJvdG90
eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodW5kZWZpbmVkLCAncHJvcGVydHlJc0VudW1l
cmFibGUnKSIpOworc2hvdWxkVGhyb3coIk9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5j
YWxsKHVuZGVmaW5lZCwgdGhpcykiKTsKIAogdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CkluZGV4OiBMYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzExX0V4cHJlc3Npb25zLzEx
LjFfUHJpbWFyeV9FeHByZXNzaW9ucy8xMS4xLjFfVGhlX3RoaXNfS2V5d29yZC9TMTEuMS4xX0Ey
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1h
bmNlLzExX0V4cHJlc3Npb25zLzExLjFfUHJpbWFyeV9FeHByZXNzaW9ucy8xMS4xLjFfVGhlX3Ro
aXNfS2V5d29yZC9TMTEuMS4xX0EyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gOTEzMDYpCisrKyBM
YXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzExX0V4cHJlc3Npb25zLzExLjFfUHJpbWFy
eV9FeHByZXNzaW9ucy8xMS4xLjFfVGhlX3RoaXNfS2V5d29yZC9TMTEuMS4xX0EyLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIFMxMS4xLjFfQTIKIAotRkFJTCBU
eXBlRXJyb3I6ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RvU3Ry
aW5nKCknKQorRkFJTCBTcHV0bmlrRXJyb3I6ICMxOiB0aGlzLnRvU3RyaW5nKCkgPT09IHRvU3Ry
aW5nKCkuIEFjdHVhbDogW29iamVjdCBET01XaW5kb3ddCiAKIFRFU1QgQ09NUExFVEUKIApJbmRl
eDogTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41
X1N0cmluZy8xNS41LjQvMTUuNS40LjRfU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQvUzE1LjUuNC40
X0ExX1QzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zcHV0bmlrL0Nv
bmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuNF9T
dHJpbmcucHJvdG90eXBlLmNoYXJBdC9TMTUuNS40LjRfQTFfVDMtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA5MTMwNikKKysrIExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZl
X09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC40X1N0cmluZy5wcm90b3R5cGUuY2hh
ckF0L1MxNS41LjQuNF9BMV9UMy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiAr
MSw2IEBACiBTMTUuNS40LjRfQTFfVDMKIAotRkFJTCBUeXBlRXJyb3I6ICd1bmRlZmluZWQnIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RvU3RyaW5nKCknKQorRkFJTCBUeXBlRXJyb3I6
IFR5cGUgZXJyb3IKIAogVEVTVCBDT01QTEVURQogCkluZGV4OiBMYXlvdXRUZXN0cy9zcHV0bmlr
L0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQu
NV9TdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQvUzE1LjUuNC41X0ExX1QzLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2
ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQuNV9TdHJpbmcucHJvdG90eXBlLmNo
YXJDb2RlQXQvUzE1LjUuNC41X0ExX1QzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gOTEzMDYpCisr
KyBMYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVf
U3RyaW5nLzE1LjUuNC8xNS41LjQuNV9TdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQvUzE1LjUu
NC41X0ExX1QzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIFMx
NS41LjQuNV9BMV9UMwogCi1GQUlMIFR5cGVFcnJvcjogJ3VuZGVmaW5lZCcgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAndG9TdHJpbmcoKScpCitGQUlMIFR5cGVFcnJvcjogVHlwZSBlcnJv
cgogCiBURVNUIENPTVBMRVRFCiAKSW5kZXg6IExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFu
Y2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC42X1N0cmluZy5w
cm90b3R5cGUuY29uY2F0L1MxNS41LjQuNl9BMV9UMy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41
X1N0cmluZy8xNS41LjQvMTUuNS40LjZfU3RyaW5nLnByb3RvdHlwZS5jb25jYXQvUzE1LjUuNC42
X0ExX1QzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gOTEzMDYpCisrKyBMYXlvdXRUZXN0cy9zcHV0
bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41
LjQuNl9TdHJpbmcucHJvdG90eXBlLmNvbmNhdC9TMTUuNS40LjZfQTFfVDMtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogUzE1LjUuNC42X0ExX1QzCiAKLUZBSUwg
VHlwZUVycm9yOiAndW5kZWZpbmVkJyBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0b1N0
cmluZygpJykKK0ZBSUwgVHlwZUVycm9yOiBUeXBlIGVycm9yCiAKIFRFU1QgQ09NUExFVEUKIApJ
bmRleDogTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8x
NS41X1N0cmluZy8xNS41LjQvMTUuNS40LjdfU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mL1MxNS41
LjQuN19BMV9UMy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3B1dG5p
ay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40
LjdfU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mL1MxNS41LjQuN19BMV9UMy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDkxMzA2KQorKysgTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9O
YXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40LjdfU3RyaW5nLnByb3RvdHlw
ZS5pbmRleE9mL1MxNS41LjQuN19BMV9UMy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsNiArMSw2IEBACiBTMTUuNS40LjdfQTFfVDMKIAotRkFJTCBUeXBlRXJyb3I6ICd1bmRlZmlu
ZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RvU3RyaW5nKCknKQorRkFJTCBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IKIAogVEVTVCBDT01QTEVURQogCkluZGV4OiBMYXlvdXRUZXN0cy9z
cHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8x
NS41LjQuOF9TdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mL1MxNS41LjQuOF9BMV9UMy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8x
NV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40LjhfU3RyaW5nLnByb3Rv
dHlwZS5sYXN0SW5kZXhPZi9TMTUuNS40LjhfQTFfVDMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5
MTMwNikKKysrIExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVj
dHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC44X1N0cmluZy5wcm90b3R5cGUubGFzdEluZGV4
T2YvUzE1LjUuNC44X0ExX1QzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsx
LDYgQEAKIFMxNS41LjQuOF9BMV9UMwogCi1GQUlMIFR5cGVFcnJvcjogJ3VuZGVmaW5lZCcgaXMg
bm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndG9TdHJpbmcoKScpCitGQUlMIFR5cGVFcnJvcjog
VHlwZSBlcnJvcgogCiBURVNUIENPTVBMRVRFCiAKSW5kZXg6IExheW91dFRlc3RzL3NwdXRuaWsv
Q29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4x
MF9TdHJpbmcucHJvdG90eXBlLm1hdGNoL1MxNS41LjQuMTBfQTFfVDMtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09i
amVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xMF9TdHJpbmcucHJvdG90eXBlLm1hdGNo
L1MxNS41LjQuMTBfQTFfVDMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5MTMwNikKKysrIExheW91
dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcv
MTUuNS40LzE1LjUuNC4xMF9TdHJpbmcucHJvdG90eXBlLm1hdGNoL1MxNS41LjQuMTBfQTFfVDMt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogUzE1LjUuNC4xMF9B
MV9UMwogCi1GQUlMIFR5cGVFcnJvcjogJ3VuZGVmaW5lZCcgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAndG9TdHJpbmcoKScpCitGQUlMIFR5cGVFcnJvcjogVHlwZSBlcnJvcgogCiBURVNU
IENPTVBMRVRFCiAKSW5kZXg6IExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0
aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xMV9TdHJpbmcucHJvdG90eXBl
LnJlcGxhY2UvUzE1LjUuNC4xMV9BMV9UMy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmlu
Zy8xNS41LjQvMTUuNS40LjExX1N0cmluZy5wcm90b3R5cGUucmVwbGFjZS9TMTUuNS40LjExX0Ex
X1QzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gOTEzMDYpCisrKyBMYXlvdXRUZXN0cy9zcHV0bmlr
L0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41LjQu
MTFfU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlL1MxNS41LjQuMTFfQTFfVDMtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogUzE1LjUuNC4xMV9BMV9UMwogCi1GQUlM
IFR5cGVFcnJvcjogJ3VuZGVmaW5lZCcgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndG9T
dHJpbmcoKScpCitGQUlMIFR5cGVFcnJvcjogVHlwZSBlcnJvcgogCiBURVNUIENPTVBMRVRFCiAK
SW5kZXg6IExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMv
MTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xMl9TdHJpbmcucHJvdG90eXBlLnNlYXJjaC9TMTUu
NS40LjEyX0ExX1QzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zcHV0
bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1LjUuNC8xNS41
LjQuMTJfU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gvUzE1LjUuNC4xMl9BMV9UMy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDkxMzA2KQorKysgTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8x
NV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40LjEyX1N0cmluZy5wcm90
b3R5cGUuc2VhcmNoL1MxNS41LjQuMTJfQTFfVDMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogUzE1LjUuNC4xMl9BMV9UMwogCi1GQUlMIFR5cGVFcnJvcjogJ3Vu
ZGVmaW5lZCcgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndG9TdHJpbmcoKScpCitGQUlM
IFR5cGVFcnJvcjogVHlwZSBlcnJvcgogCiBURVNUIENPTVBMRVRFCiAKSW5kZXg6IExheW91dFRl
c3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUu
NS40LzE1LjUuNC4xM19TdHJpbmcucHJvdG90eXBlLnNsaWNlL1MxNS41LjQuMTNfQTFfVDMtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2Uv
MTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xM19TdHJpbmcucHJv
dG90eXBlLnNsaWNlL1MxNS41LjQuMTNfQTFfVDMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5MTMw
NikKKysrIExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMv
MTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xM19TdHJpbmcucHJvdG90eXBlLnNsaWNlL1MxNS41
LjQuMTNfQTFfVDMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAog
UzE1LjUuNC4xM19BMV9UMwogCi1GQUlMIFR5cGVFcnJvcjogJ3VuZGVmaW5lZCcgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAndG9TdHJpbmcoKScpCitGQUlMIFR5cGVFcnJvcjogVHlwZSBl
cnJvcgogCiBURVNUIENPTVBMRVRFCiAKSW5kZXg6IExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9y
bWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xNF9TdHJp
bmcucHJvdG90eXBlLnNwbGl0L1MxNS41LjQuMTRfQTFfVDMtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMv
MTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xNF9TdHJpbmcucHJvdG90eXBlLnNwbGl0L1MxNS41
LjQuMTRfQTFfVDMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5MTMwNikKKysrIExheW91dFRlc3Rz
L3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40
LzE1LjUuNC4xNF9TdHJpbmcucHJvdG90eXBlLnNwbGl0L1MxNS41LjQuMTRfQTFfVDMtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogUzE1LjUuNC4xNF9BMV9UMwog
Ci1GQUlMIFR5cGVFcnJvcjogJ3VuZGVmaW5lZCcgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAndG9TdHJpbmcoKScpCitGQUlMIFR5cGVFcnJvcjogVHlwZSBlcnJvcgogCiBURVNUIENPTVBM
RVRFCiAKSW5kZXg6IExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09i
amVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xNV9TdHJpbmcucHJvdG90eXBlLnN1YnN0
cmluZy9TMTUuNS40LjE1X0ExX1QzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjVfU3RyaW5nLzE1
LjUuNC8xNS41LjQuMTVfU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcvUzE1LjUuNC4xNV9BMV9U
My1leHBlY3RlZC50eHQJKHJldmlzaW9uIDkxMzA2KQorKysgTGF5b3V0VGVzdHMvc3B1dG5pay9D
b25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40LjE1
X1N0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nL1MxNS41LjQuMTVfQTFfVDMtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogUzE1LjUuNC4xNV9BMV9UMwogCi1GQUlM
IFR5cGVFcnJvcjogJ3VuZGVmaW5lZCcgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndG9T
dHJpbmcoKScpCitGQUlMIFR5cGVFcnJvcjogVHlwZSBlcnJvcgogCiBURVNUIENPTVBMRVRFCiAK
</data>
<flag name="review"
          id="96312"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>