<?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>64679</bug_id>
          
          <creation_ts>2011-07-17 23:29:04 -0700</creation_ts>
          <short_desc>Fix bugs in Array.prototype this handling.</short_desc>
          <delta_ts>2011-09-28 14:24:50 -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>aroben</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>paulirish</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>438350</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-17 23:29:04 -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>438355</commentid>
    <comment_count>1</comment_count>
      <attachid>101131</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-17 23:31:37 -0700</bug_when>
    <thetext>Created attachment 101131
Preliminary patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439310</commentid>
    <comment_count>2</comment_count>
      <attachid>101353</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-19 11:48:17 -0700</bug_when>
    <thetext>Created attachment 101353
The patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439346</commentid>
    <comment_count>3</comment_count>
      <attachid>101353</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-19 12:16:43 -0700</bug_when>
    <thetext>Comment on attachment 101353
The patch

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

New failing tests:
fast/js/string-prototype-properties.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439425</commentid>
    <comment_count>4</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-19 13:52:11 -0700</bug_when>
    <thetext>Fixed in r91290</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444540</commentid>
    <comment_count>5</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-31 23:33:02 -0700</bug_when>
    <thetext>Rolled out in 92093.
This caused web compatibility issues, particularly with Mac App Store content.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448629</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-08-09 09:51:31 -0700</bug_when>
    <thetext>*** Bug 65885 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474881</commentid>
    <comment_count>7</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-09-28 12:02:12 -0700</bug_when>
    <thetext>Re-landed in r96243.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474893</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-09-28 12:09:12 -0700</bug_when>
    <thetext>Is it possible to write a regression test for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474906</commentid>
    <comment_count>9</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-09-28 12:25:14 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Is it possible to write a regression test for this?

Errrrrr, I did!  And when I rolled the patch out I left them in the tree.  So...

Ooops!, forgot to commit updated (passing) LayoutTest results, landed in r96246.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475014</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-28 14:24:36 -0700</bug_when>
    <thetext>No test case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475015</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-28 14:24:50 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; No test case?

LOL, I see the earlier comments now.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101131</attachid>
            <date>2011-07-17 23:31:37 -0700</date>
            <delta_ts>2011-07-19 11:48:17 -0700</delta_ts>
            <desc>Preliminary patch</desc>
            <filename>64679.patch</filename>
            <type>text/plain</type>
            <size>9106</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlw
ZS5jcHAJKHJldmlzaW9uIDkxMTY0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjcsNyArMjY3LDcgQEAgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogCiBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jSm9pbihFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAg
SlNPYmplY3QqIHRoaXNPYmogPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCkudG9UaGlzT2JqZWN0KGV4
ZWMpOworICAgIEpTT2JqZWN0KiB0aGlzT2JqID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpLnRvT2Jq
ZWN0KGV4ZWMpOwogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRoaXNPYmotPmdldChleGVjLCBleGVj
LT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoKS50b1VJbnQzMihleGVjKTsKICAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmlu
ZWQoKSk7CkBAIC0zMzcsNyArMzM3LDkgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBh
cnJheVByb3RvRgogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgp
OwogICAgIEpTQXJyYXkqIGFyciA9IGNvbnN0cnVjdEVtcHR5QXJyYXkoZXhlYyk7CiAgICAgdW5z
aWduZWQgbiA9IDA7Ci0gICAgSlNWYWx1ZSBjdXJBcmcgPSB0aGlzVmFsdWUudG9UaGlzT2JqZWN0
KGV4ZWMpOworICAgIEpTVmFsdWUgY3VyQXJnID0gdGhpc1ZhbHVlLnRvT2JqZWN0KGV4ZWMpOwor
ICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1VuZGVmaW5lZCgpKTsKICAgICBzaXplX3QgaSA9IDA7CiAgICAgc2l6ZV90IGFyZ0Nv
dW50ID0gZXhlYy0+YXJndW1lbnRDb3VudCgpOwogICAgIHdoaWxlICgxKSB7CkBAIC0zNjksNyAr
MzcxLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgIGlm
IChpc0pTQXJyYXkoJmV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpc1ZhbHVlKSkKICAgICAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShhc0FycmF5KHRoaXNWYWx1ZSktPnBvcCgpKTsKIAotICAgIEpT
T2JqZWN0KiB0aGlzT2JqID0gdGhpc1ZhbHVlLnRvVGhpc09iamVjdChleGVjKTsKKyAgICBKU09i
amVjdCogdGhpc09iaiA9IHRoaXNWYWx1ZS50b09iamVjdChleGVjKTsKICAgICB1bnNpZ25lZCBs
ZW5ndGggPSB0aGlzT2JqLT5nZXQoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCku
dG9VSW50MzIoZXhlYyk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwpAQCAtMzk2LDcgKzM5OCw3IEBA
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc051bWJlcihhcnJheS0+bGVuZ3RoKCkpKTsKICAgICB9CiAKLSAg
ICBKU09iamVjdCogdGhpc09iaiA9IHRoaXNWYWx1ZS50b1RoaXNPYmplY3QoZXhlYyk7CisgICAg
SlNPYmplY3QqIHRoaXNPYmogPSB0aGlzVmFsdWUudG9PYmplY3QoZXhlYyk7CiAgICAgdW5zaWdu
ZWQgbGVuZ3RoID0gdGhpc09iai0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5n
dGgpLnRvVUludDMyKGV4ZWMpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKQEAgLTQxOCw3ICs0MjAs
NyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAKIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNSZXZlcnNlKEV4ZWNTdGF0ZSogZXhl
YykKIHsKLSAgICBKU09iamVjdCogdGhpc09iaiA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKS50b1Ro
aXNPYmplY3QoZXhlYyk7CisgICAgSlNPYmplY3QqIHRoaXNPYmogPSBleGVjLT5ob3N0VGhpc1Zh
bHVlKCkudG9PYmplY3QoZXhlYyk7CiAgICAgdW5zaWduZWQgbGVuZ3RoID0gdGhpc09iai0+Z2V0
KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgpLnRvVUludDMyKGV4ZWMpOwogICAg
IGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKQEAgLTQ0NCwxMyArNDQ2LDEyIEBAIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgYXJyYXlQcm90b0YKIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBh
cnJheVByb3RvRnVuY1NoaWZ0KEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICBKU09iamVjdCogdGhp
c09iaiA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKS50b1RoaXNPYmplY3QoZXhlYyk7Ci0gICAgSlNW
YWx1ZSByZXN1bHQ7Ci0KKyAgICBKU09iamVjdCogdGhpc09iaiA9IGV4ZWMtPmhvc3RUaGlzVmFs
dWUoKS50b09iamVjdChleGVjKTsKICAgICB1bnNpZ25lZCBsZW5ndGggPSB0aGlzT2JqLT5nZXQo
ZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCkudG9VSW50MzIoZXhlYyk7CiAgICAg
aWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOwogCisgICAgSlNWYWx1ZSByZXN1bHQ7CiAgICAgaWYgKGxlbmd0aCA9
PSAwKSB7CiAgICAgICAgIHB1dFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGV4ZWMtPnByb3BlcnR5
TmFtZXMoKS5sZW5ndGgsIGpzTnVtYmVyKGxlbmd0aCkpOwogICAgICAgICByZXN1bHQgPSBqc1Vu
ZGVmaW5lZCgpOwpAQCAtNDc1LDE2ICs0NzYsMTUgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBhcnJheVByb3RvRgogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3Rv
RnVuY1NsaWNlKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICAvLyBodHRwOi8vZGV2ZWxvcGVyLm5l
dHNjYXBlLmNvbS9kb2NzL21hbnVhbHMvanMvY2xpZW50L2pzcmVmL2FycmF5Lmh0bSMxMTkzNzEz
IG9yIDE1LjQuNC4xMAotICAgIEpTT2JqZWN0KiB0aGlzT2JqID0gZXhlYy0+aG9zdFRoaXNWYWx1
ZSgpLnRvVGhpc09iamVjdChleGVjKTsKKyAgICBKU09iamVjdCogdGhpc09iaiA9IGV4ZWMtPmhv
c3RUaGlzVmFsdWUoKS50b09iamVjdChleGVjKTsKKyAgICB1bnNpZ25lZCBsZW5ndGggPSB0aGlz
T2JqLT5nZXQoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCkudG9VSW50MzIoZXhl
Yyk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogCiAgICAgLy8gV2UgcmV0dXJuIGEgbmV3IGFycmF5
CiAgICAgSlNBcnJheSogcmVzT2JqID0gY29uc3RydWN0RW1wdHlBcnJheShleGVjKTsKICAgICBK
U1ZhbHVlIHJlc3VsdCA9IHJlc09iajsKIAotICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRoaXNPYmot
PmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoKS50b1VJbnQzMihleGVjKTsK
LSAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNVbmRlZmluZWQoKSk7Ci0KICAgICB1bnNpZ25lZCBiZWdpbiA9IGFyZ3VtZW50Q2xh
bXBlZEluZGV4RnJvbVN0YXJ0T3JFbmQoZXhlYywgMCwgbGVuZ3RoKTsKICAgICB1bnNpZ25lZCBl
bmQgPSBhcmd1bWVudENsYW1wZWRJbmRleEZyb21TdGFydE9yRW5kKGV4ZWMsIDEsIGxlbmd0aCwg
bGVuZ3RoKTsKIApAQCAtNDk5LDcgKzQ5OSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgYXJyYXlQcm90b0YKIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3Rv
RnVuY1NvcnQoRXhlY1N0YXRlKiBleGVjKQogewotICAgIEpTT2JqZWN0KiB0aGlzT2JqID0gZXhl
Yy0+aG9zdFRoaXNWYWx1ZSgpLnRvVGhpc09iamVjdChleGVjKTsKKyAgICBKU09iamVjdCogdGhp
c09iaiA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKS50b09iamVjdChleGVjKTsKICAgICB1bnNpZ25l
ZCBsZW5ndGggPSB0aGlzT2JqLT5nZXQoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0
aCkudG9VSW50MzIoZXhlYyk7CiAgICAgaWYgKCFsZW5ndGggfHwgZXhlYy0+aGFkRXhjZXB0aW9u
KCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iaik7CkBAIC01NjEsNyAr
NTYxLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogewogICAg
IC8vIDE1LjQuNC4xMgogCi0gICAgSlNPYmplY3QqIHRoaXNPYmogPSBleGVjLT5ob3N0VGhpc1Zh
bHVlKCkudG9UaGlzT2JqZWN0KGV4ZWMpOworICAgIEpTT2JqZWN0KiB0aGlzT2JqID0gZXhlYy0+
aG9zdFRoaXNWYWx1ZSgpLnRvT2JqZWN0KGV4ZWMpOwogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRo
aXNPYmotPmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoKS50b1VJbnQzMihl
eGVjKTsKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CkBAIC02MjksNyArNjI5LDcgQEAgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogewogICAgIC8vIDE1LjQuNC4xMwogCi0g
ICAgSlNPYmplY3QqIHRoaXNPYmogPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCkudG9UaGlzT2JqZWN0
KGV4ZWMpOworICAgIEpTT2JqZWN0KiB0aGlzT2JqID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpLnRv
T2JqZWN0KGV4ZWMpOwogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRoaXNPYmotPmdldChleGVjLCBl
eGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoKS50b1VJbnQzMihleGVjKTsKICAgICBpZiAoZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSk7CkBAIC02NTYsNyArNjU2LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBhcnJheVByb3RvRgogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9G
dW5jRmlsdGVyKEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICBKU09iamVjdCogdGhpc09iaiA9IGV4
ZWMtPmhvc3RUaGlzVmFsdWUoKS50b1RoaXNPYmplY3QoZXhlYyk7CisgICAgSlNPYmplY3QqIHRo
aXNPYmogPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCkudG9PYmplY3QoZXhlYyk7CiAgICAgdW5zaWdu
ZWQgbGVuZ3RoID0gdGhpc09iai0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5n
dGgpLnRvVUludDMyKGV4ZWMpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKQEAgLTcxNSw3ICs3MTUs
NyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAKIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNNYXAoRXhlY1N0YXRlKiBleGVjKQog
ewotICAgIEpTT2JqZWN0KiB0aGlzT2JqID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpLnRvVGhpc09i
amVjdChleGVjKTsKKyAgICBKU09iamVjdCogdGhpc09iaiA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUo
KS50b09iamVjdChleGVjKTsKICAgICB1bnNpZ25lZCBsZW5ndGggPSB0aGlzT2JqLT5nZXQoZXhl
YywgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCkudG9VSW50MzIoZXhlYyk7CiAgICAgaWYg
KGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
VW5kZWZpbmVkKCkpOwpAQCAtNzc3LDcgKzc3Nyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgYXJyYXlQcm90b0YKIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVBy
b3RvRnVuY0V2ZXJ5KEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICBKU09iamVjdCogdGhpc09iaiA9
IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKS50b1RoaXNPYmplY3QoZXhlYyk7CisgICAgSlNPYmplY3Qq
IHRoaXNPYmogPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCkudG9PYmplY3QoZXhlYyk7CiAgICAgdW5z
aWduZWQgbGVuZ3RoID0gdGhpc09iai0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5s
ZW5ndGgpLnRvVUludDMyKGV4ZWMpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKQEAgLTgzNSw3ICs4
MzUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAKIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNGb3JFYWNoKEV4ZWNTdGF0ZSog
ZXhlYykKIHsKLSAgICBKU09iamVjdCogdGhpc09iaiA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKS50
b1RoaXNPYmplY3QoZXhlYyk7CisgICAgSlNPYmplY3QqIHRoaXNPYmogPSBleGVjLT5ob3N0VGhp
c1ZhbHVlKCkudG9PYmplY3QoZXhlYyk7CiAgICAgdW5zaWduZWQgbGVuZ3RoID0gdGhpc09iai0+
Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgpLnRvVUludDMyKGV4ZWMpOwog
ICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1VuZGVmaW5lZCgpKTsKQEAgLTg4NSw3ICs4ODUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
YXJyYXlQcm90b0Z1bmNTb21lKEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICBKU09iamVjdCogdGhp
c09iaiA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKS50b1RoaXNPYmplY3QoZXhlYyk7CisgICAgSlNP
YmplY3QqIHRoaXNPYmogPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCkudG9PYmplY3QoZXhlYyk7CiAg
ICAgdW5zaWduZWQgbGVuZ3RoID0gdGhpc09iai0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFt
ZXMoKS5sZW5ndGgpLnRvVUludDMyKGV4ZWMpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24o
KSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKQEAgLTk0
Miw3ICs5NDIsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAK
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNSZWR1Y2UoRXhlY1N0
YXRlKiBleGVjKQogewotICAgIEpTT2JqZWN0KiB0aGlzT2JqID0gZXhlYy0+aG9zdFRoaXNWYWx1
ZSgpLnRvVGhpc09iamVjdChleGVjKTsKKyAgICBKU09iamVjdCogdGhpc09iaiA9IGV4ZWMtPmhv
c3RUaGlzVmFsdWUoKS50b09iamVjdChleGVjKTsKICAgICB1bnNpZ25lZCBsZW5ndGggPSB0aGlz
T2JqLT5nZXQoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCkudG9VSW50MzIoZXhl
Yyk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwpAQCAtMTAxNyw3ICsxMDE3LDcgQEAgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGFycmF5UHJvdG9GdW5jUmVkdWNlUmlnaHQoRXhlY1N0YXRlKiBleGVjKQogewotICAg
IEpTT2JqZWN0KiB0aGlzT2JqID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpLnRvVGhpc09iamVjdChl
eGVjKTsKKyAgICBKU09iamVjdCogdGhpc09iaiA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKS50b09i
amVjdChleGVjKTsKICAgICB1bnNpZ25lZCBsZW5ndGggPSB0aGlzT2JqLT5nZXQoZXhlYywgZXhl
Yy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCkudG9VSW50MzIoZXhlYyk7CiAgICAgaWYgKGV4ZWMt
PmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOwpAQCAtMTA5Miw3ICsxMDkyLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBhcnJheVByb3RvRgogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVu
Y0luZGV4T2YoRXhlY1N0YXRlKiBleGVjKQogewogICAgIC8vIDE1LjQuNC4xNAotICAgIEpTT2Jq
ZWN0KiB0aGlzT2JqID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpLnRvVGhpc09iamVjdChleGVjKTsK
KyAgICBKU09iamVjdCogdGhpc09iaiA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKS50b09iamVjdChl
eGVjKTsKICAgICB1bnNpZ25lZCBsZW5ndGggPSB0aGlzT2JqLT5nZXQoZXhlYywgZXhlYy0+cHJv
cGVydHlOYW1lcygpLmxlbmd0aCkudG9VSW50MzIoZXhlYyk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4
Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkp
OwpAQCAtMTExMyw3ICsxMTEzLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJh
eVByb3RvRgogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY0xhc3RJ
bmRleE9mKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICAvLyAxNS40LjQuMTUKLSAgICBKU09iamVj
dCogdGhpc09iaiA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKS50b1RoaXNPYmplY3QoZXhlYyk7Cisg
ICAgSlNPYmplY3QqIHRoaXNPYmogPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCkudG9PYmplY3QoZXhl
Yyk7CiAgICAgdW5zaWduZWQgbGVuZ3RoID0gdGhpc09iai0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3Bl
cnR5TmFtZXMoKS5sZW5ndGgpLnRvVUludDMyKGV4ZWMpOwogICAgIGlmICghbGVuZ3RoKQogICAg
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKC0xKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101353</attachid>
            <date>2011-07-19 11:48:17 -0700</date>
            <delta_ts>2011-07-19 12:16:43 -0700</delta_ts>
            <desc>The patch</desc>
            <filename>64679.patch</filename>
            <type>text/plain</type>
            <size>23655</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTEyNzcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDYgQEAK
KzIwMTEtMDctMTkgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY3Nwor
ICAgICAgICBGaXggYnVncyBpbiBTdHJpbmcucHJvdG90eXBlIHRoaXMgaGFuZGxpbmcuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgdW5kZWZpbmVkL251
bGwgdGhpcyB2YWx1ZXMgc2hvdWxkIHRocm93IFR5cGVFcnJvcnMsIG5vdCBjb252ZXJ0IHRvCisg
ICAgICAgIHRoZSBnbG9iYWwgb2JqZWN0LCBhbmQgcHJpbWl0aXZlIHZhbHVlcyBzaG91bGQgbm90
IGJlIGNvbnZlcnRlZCB2aWEKKyAgICAgICAgb2JqZWN0IHR5cGVzLgorCisgICAgICAgICogcnVu
dGltZS9TdHJpbmdQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpzdHJpbmdQcm90b0Z1bmNS
ZXBsYWNlKToKKyAgICAgICAgKEpTQzo6c3RyaW5nUHJvdG9GdW5jQ2hhckF0KToKKyAgICAgICAg
KEpTQzo6c3RyaW5nUHJvdG9GdW5jQ2hhckNvZGVBdCk6CisgICAgICAgIChKU0M6OnN0cmluZ1By
b3RvRnVuY0luZGV4T2YpOgorICAgICAgICAoSlNDOjpzdHJpbmdQcm90b0Z1bmNMYXN0SW5kZXhP
Zik6CisgICAgICAgIChKU0M6OnN0cmluZ1Byb3RvRnVuY01hdGNoKToKKyAgICAgICAgKEpTQzo6
c3RyaW5nUHJvdG9GdW5jU2VhcmNoKToKKyAgICAgICAgKEpTQzo6c3RyaW5nUHJvdG9GdW5jU2xp
Y2UpOgorICAgICAgICAoSlNDOjpzdHJpbmdQcm90b0Z1bmNTcGxpdCk6CisgICAgICAgIChKU0M6
OnN0cmluZ1Byb3RvRnVuY1N1YnN0cik6CisgICAgICAgIChKU0M6OnN0cmluZ1Byb3RvRnVuY1N1
YnN0cmluZyk6CisgICAgICAgIChKU0M6OnN0cmluZ1Byb3RvRnVuY1RvTG93ZXJDYXNlKToKKyAg
ICAgICAgKEpTQzo6c3RyaW5nUHJvdG9GdW5jVG9VcHBlckNhc2UpOgorICAgICAgICAoSlNDOjpz
dHJpbmdQcm90b0Z1bmNMb2NhbGVDb21wYXJlKToKKyAgICAgICAgKEpTQzo6c3RyaW5nUHJvdG9G
dW5jQmlnKToKKyAgICAgICAgKEpTQzo6c3RyaW5nUHJvdG9GdW5jU21hbGwpOgorICAgICAgICAo
SlNDOjpzdHJpbmdQcm90b0Z1bmNCbGluayk6CisgICAgICAgIChKU0M6OnN0cmluZ1Byb3RvRnVu
Y0JvbGQpOgorICAgICAgICAoSlNDOjpzdHJpbmdQcm90b0Z1bmNGaXhlZCk6CisgICAgICAgIChK
U0M6OnN0cmluZ1Byb3RvRnVuY0l0YWxpY3MpOgorICAgICAgICAoSlNDOjpzdHJpbmdQcm90b0Z1
bmNTdHJpa2UpOgorICAgICAgICAoSlNDOjpzdHJpbmdQcm90b0Z1bmNTdWIpOgorICAgICAgICAo
SlNDOjpzdHJpbmdQcm90b0Z1bmNTdXApOgorICAgICAgICAoSlNDOjpzdHJpbmdQcm90b0Z1bmNG
b250Y29sb3IpOgorICAgICAgICAoSlNDOjpzdHJpbmdQcm90b0Z1bmNGb250c2l6ZSk6CisgICAg
ICAgIChKU0M6OnN0cmluZ1Byb3RvRnVuY0FuY2hvcik6CisgICAgICAgIChKU0M6OnN0cmluZ1By
b3RvRnVuY0xpbmspOgorICAgICAgICAoSlNDOjp0cmltU3RyaW5nKToKKyAgICAgICAgICAgIC0g
VGhlc2UgbWV0aG9kcyBzaG91bGQgdGhyb3cgaWYgdGhpcyB2YWx1ZSBpcyB1bmRlZmluZWQsCisg
ICAgICAgICAgICAgIGNvbnZlcnQgVG9TdHJpbmcgZGlyZWN0bHksIG5vdCB2aWEgVG9PYmplY3Qu
CisKIDIwMTEtMDctMTkgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAg
IEFSTXY3IGJhY2tlbmQgYnJva2VuLCBsYWNrcyAzIHBhcmFtZXRlciByc2hpZnQzMiBtZXRob2QK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90
eXBlLmNwcAkocmV2aXNpb24gOTEyMjUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJpbmdQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOTcsNyArMjk3LDkgQEAg
c3RhdGljIEFMV0FZU19JTkxJTkUgSlNWYWx1ZSBqc1NwbGljZVN1YgogRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBzdHJpbmdQcm90b0Z1bmNSZXBsYWNlKEV4ZWNTdGF0ZSogZXhlYykKIHsK
ICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKLSAgICBKU1N0
cmluZyogc291cmNlVmFsID0gdGhpc1ZhbHVlLnRvVGhpc0pTU3RyaW5nKGV4ZWMpOworICAgIGlm
ICh0aGlzVmFsdWUuaXNVbmRlZmluZWRPck51bGwoKSkgLy8gQ2hlY2tPYmplY3RDb2VyY2libGUK
KyAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CisgICAgSlNTdHJpbmcqIHNv
dXJjZVZhbCA9IHRoaXNWYWx1ZS5pc1N0cmluZygpID8gYXNTdHJpbmcodGhpc1ZhbHVlKSA6IGpz
U3RyaW5nKGV4ZWMsIHRoaXNWYWx1ZS50b1N0cmluZyhleGVjKSk7CiAgICAgSlNWYWx1ZSBwYXR0
ZXJuID0gZXhlYy0+YXJndW1lbnQoMCk7CiAgICAgSlNWYWx1ZSByZXBsYWNlbWVudCA9IGV4ZWMt
PmFyZ3VtZW50KDEpOwogICAgIEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSA9ICZleGVjLT5nbG9i
YWxEYXRhKCk7CkBAIC00ODcsNyArNDg5LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBzdHJpbmdQcm90bwogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1
ZSgpOwogICAgIGlmICh0aGlzVmFsdWUuaXNVbmRlZmluZWRPck51bGwoKSkgLy8gQ2hlY2tPYmpl
Y3RDb2VyY2libGUKICAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7Ci0gICAg
VVN0cmluZyBzID0gdGhpc1ZhbHVlLnRvVGhpc1N0cmluZyhleGVjKTsKKyAgICBVU3RyaW5nIHMg
PSB0aGlzVmFsdWUudG9TdHJpbmcoZXhlYyk7CiAgICAgdW5zaWduZWQgbGVuID0gcy5sZW5ndGgo
KTsKICAgICBKU1ZhbHVlIGEwID0gZXhlYy0+YXJndW1lbnQoMCk7CiAgICAgaWYgKGEwLmlzVUlu
dDMyKCkpIHsKQEAgLTUwNyw3ICs1MDksNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IHN0cmluZ1Byb3RvCiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVl
KCk7CiAgICAgaWYgKHRoaXNWYWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKSAvLyBDaGVja09iamVj
dENvZXJjaWJsZQogICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKLSAgICBV
U3RyaW5nIHMgPSB0aGlzVmFsdWUudG9UaGlzU3RyaW5nKGV4ZWMpOworICAgIFVTdHJpbmcgcyA9
IHRoaXNWYWx1ZS50b1N0cmluZyhleGVjKTsKICAgICB1bnNpZ25lZCBsZW4gPSBzLmxlbmd0aCgp
OwogICAgIEpTVmFsdWUgYTAgPSBleGVjLT5hcmd1bWVudCgwKTsKICAgICBpZiAoYTAuaXNVSW50
MzIoKSkgewpAQCAtNTQxLDcgKzU0Myw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
c3RyaW5nUHJvdG8KICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUo
KTsKICAgICBpZiAodGhpc1ZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpIC8vIENoZWNrT2JqZWN0
Q29lcmNpYmxlCiAgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOwotICAgIFVT
dHJpbmcgcyA9IHRoaXNWYWx1ZS50b1RoaXNTdHJpbmcoZXhlYyk7CisgICAgVVN0cmluZyBzID0g
dGhpc1ZhbHVlLnRvU3RyaW5nKGV4ZWMpOwogICAgIGludCBsZW4gPSBzLmxlbmd0aCgpOwogCiAg
ICAgSlNWYWx1ZSBhMCA9IGV4ZWMtPmFyZ3VtZW50KDApOwpAQCAtNTcyLDcgKzU3NCw3IEBAIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgc3RyaW5nUHJvdG8KICAgICBKU1ZhbHVlIHRoaXNW
YWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKICAgICBpZiAodGhpc1ZhbHVlLmlzVW5kZWZp
bmVkT3JOdWxsKCkpIC8vIENoZWNrT2JqZWN0Q29lcmNpYmxlCiAgICAgICAgIHJldHVybiB0aHJv
d1ZNVHlwZUVycm9yKGV4ZWMpOwotICAgIFVTdHJpbmcgcyA9IHRoaXNWYWx1ZS50b1RoaXNTdHJp
bmcoZXhlYyk7CisgICAgVVN0cmluZyBzID0gdGhpc1ZhbHVlLnRvU3RyaW5nKGV4ZWMpOwogICAg
IGludCBsZW4gPSBzLmxlbmd0aCgpOwogCiAgICAgSlNWYWx1ZSBhMCA9IGV4ZWMtPmFyZ3VtZW50
KDApOwpAQCAtNjAxLDcgKzYwMyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgc3Ry
aW5nUHJvdG8KICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsK
ICAgICBpZiAodGhpc1ZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpIC8vIENoZWNrT2JqZWN0Q29l
cmNpYmxlCiAgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOwotICAgIFVTdHJp
bmcgcyA9IHRoaXNWYWx1ZS50b1RoaXNTdHJpbmcoZXhlYyk7CisgICAgVVN0cmluZyBzID0gdGhp
c1ZhbHVlLnRvU3RyaW5nKGV4ZWMpOwogICAgIEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSA9ICZl
eGVjLT5nbG9iYWxEYXRhKCk7CiAKICAgICBKU1ZhbHVlIGEwID0gZXhlYy0+YXJndW1lbnQoMCk7
CkBAIC02NTAsNyArNjUyLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzdHJpbmdQ
cm90bwogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOwogICAg
IGlmICh0aGlzVmFsdWUuaXNVbmRlZmluZWRPck51bGwoKSkgLy8gQ2hlY2tPYmplY3RDb2VyY2li
bGUKICAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7Ci0gICAgVVN0cmluZyBz
ID0gdGhpc1ZhbHVlLnRvVGhpc1N0cmluZyhleGVjKTsKKyAgICBVU3RyaW5nIHMgPSB0aGlzVmFs
dWUudG9TdHJpbmcoZXhlYyk7CiAgICAgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhID0gJmV4ZWMt
Pmdsb2JhbERhdGEoKTsKIAogICAgIEpTVmFsdWUgYTAgPSBleGVjLT5hcmd1bWVudCgwKTsKQEAg
LTY3OCw3ICs2ODAsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN0cmluZ1Byb3Rv
CiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7CiAgICAgaWYg
KHRoaXNWYWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKSAvLyBDaGVja09iamVjdENvZXJjaWJsZQog
ICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKLSAgICBVU3RyaW5nIHMgPSB0
aGlzVmFsdWUudG9UaGlzU3RyaW5nKGV4ZWMpOworICAgIFVTdHJpbmcgcyA9IHRoaXNWYWx1ZS50
b1N0cmluZyhleGVjKTsKICAgICBpbnQgbGVuID0gcy5sZW5ndGgoKTsKIAogICAgIEpTVmFsdWUg
YTAgPSBleGVjLT5hcmd1bWVudCgwKTsKQEAgLTcwNSw3ICs3MDcsNyBAQCBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIHN0cmluZ1Byb3RvCiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVj
LT5ob3N0VGhpc1ZhbHVlKCk7CiAgICAgaWYgKHRoaXNWYWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgp
KSAvLyBDaGVja09iamVjdENvZXJjaWJsZQogICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJv
cihleGVjKTsKLSAgICBVU3RyaW5nIHMgPSB0aGlzVmFsdWUudG9UaGlzU3RyaW5nKGV4ZWMpOwor
ICAgIFVTdHJpbmcgcyA9IHRoaXNWYWx1ZS50b1N0cmluZyhleGVjKTsKICAgICBKU0dsb2JhbERh
dGEqIGdsb2JhbERhdGEgPSAmZXhlYy0+Z2xvYmFsRGF0YSgpOwogCiAgICAgSlNWYWx1ZSBhMCA9
IGV4ZWMtPmFyZ3VtZW50KDApOwpAQCAtNzY5LDE2ICs3NzEsMTkgQEAgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBzdHJpbmdQcm90bwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBz
dHJpbmdQcm90b0Z1bmNTdWJzdHIoRXhlY1N0YXRlKiBleGVjKQogewogICAgIEpTVmFsdWUgdGhp
c1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOwotICAgIGlmICh0aGlzVmFsdWUuaXNVbmRl
ZmluZWRPck51bGwoKSkgLy8gQ2hlY2tPYmplY3RDb2VyY2libGUKLSAgICAgICAgcmV0dXJuIHRo
cm93Vk1UeXBlRXJyb3IoZXhlYyk7CiAgICAgdW5zaWduZWQgbGVuOwogICAgIEpTU3RyaW5nKiBq
c1N0cmluZyA9IDA7CiAgICAgVVN0cmluZyB1U3RyaW5nOwogICAgIGlmICh0aGlzVmFsdWUuaXNT
dHJpbmcoKSkgewogICAgICAgICBqc1N0cmluZyA9IHN0YXRpY19jYXN0PEpTU3RyaW5nKj4odGhp
c1ZhbHVlLmFzQ2VsbCgpKTsKICAgICAgICAgbGVuID0ganNTdHJpbmctPmxlbmd0aCgpOworICAg
IH0gZWxzZSBpZiAodGhpc1ZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpIHsKKyAgICAgICAgLy8g
Q2hlY2tPYmplY3RDb2VyY2libGUKKyAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhl
Yyk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgdVN0cmluZyA9IHRoaXNWYWx1ZS50b1RoaXNPYmpl
Y3QoZXhlYyktPnRvU3RyaW5nKGV4ZWMpOworICAgICAgICB1U3RyaW5nID0gdGhpc1ZhbHVlLnRv
U3RyaW5nKGV4ZWMpOworICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAg
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogICAgICAgICBsZW4g
PSB1U3RyaW5nLmxlbmd0aCgpOwogICAgIH0KIApAQCAtODA2LDE2ICs4MTEsMTkgQEAgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzdHJpbmdQcm90bwogRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBzdHJpbmdQcm90b0Z1bmNTdWJzdHJpbmcoRXhlY1N0YXRlKiBleGVjKQogewogICAg
IEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOwotICAgIGlmICh0aGlz
VmFsdWUuaXNVbmRlZmluZWRPck51bGwoKSkgLy8gQ2hlY2tPYmplY3RDb2VyY2libGUKLSAgICAg
ICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CiAgICAgaW50IGxlbjsKICAgICBKU1N0
cmluZyoganNTdHJpbmcgPSAwOwogICAgIFVTdHJpbmcgdVN0cmluZzsKICAgICBpZiAodGhpc1Zh
bHVlLmlzU3RyaW5nKCkpIHsKICAgICAgICAganNTdHJpbmcgPSBzdGF0aWNfY2FzdDxKU1N0cmlu
Zyo+KHRoaXNWYWx1ZS5hc0NlbGwoKSk7CiAgICAgICAgIGxlbiA9IGpzU3RyaW5nLT5sZW5ndGgo
KTsKKyAgICB9IGVsc2UgaWYgKHRoaXNWYWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKSB7CisgICAg
ICAgIC8vIENoZWNrT2JqZWN0Q29lcmNpYmxlCisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVy
cm9yKGV4ZWMpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIHVTdHJpbmcgPSB0aGlzVmFsdWUudG9U
aGlzT2JqZWN0KGV4ZWMpLT50b1N0cmluZyhleGVjKTsKKyAgICAgICAgdVN0cmluZyA9IHRoaXNW
YWx1ZS50b1N0cmluZyhleGVjKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQor
ICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAgICAg
ICAgbGVuID0gdVN0cmluZy5sZW5ndGgoKTsKICAgICB9CiAKQEAgLTg1NCw3ICs4NjIsNyBAQCBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN0cmluZ1Byb3RvCiAgICAgSlNWYWx1ZSB0aGlz
VmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7CiAgICAgaWYgKHRoaXNWYWx1ZS5pc1VuZGVm
aW5lZE9yTnVsbCgpKSAvLyBDaGVja09iamVjdENvZXJjaWJsZQogICAgICAgICByZXR1cm4gdGhy
b3dWTVR5cGVFcnJvcihleGVjKTsKLSAgICBKU1N0cmluZyogc1ZhbCA9IHRoaXNWYWx1ZS50b1Ro
aXNKU1N0cmluZyhleGVjKTsKKyAgICBKU1N0cmluZyogc1ZhbCA9IHRoaXNWYWx1ZS5pc1N0cmlu
ZygpID8gYXNTdHJpbmcodGhpc1ZhbHVlKSA6IGpzU3RyaW5nKGV4ZWMsIHRoaXNWYWx1ZS50b1N0
cmluZyhleGVjKSk7CiAgICAgY29uc3QgVVN0cmluZyYgcyA9IHNWYWwtPnZhbHVlKGV4ZWMpOwog
CiAgICAgaW50IHNTaXplID0gcy5sZW5ndGgoKTsKQEAgLTg5NCw3ICs5MDIsNyBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN0cmluZ1Byb3RvCiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUg
PSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7CiAgICAgaWYgKHRoaXNWYWx1ZS5pc1VuZGVmaW5lZE9y
TnVsbCgpKSAvLyBDaGVja09iamVjdENvZXJjaWJsZQogICAgICAgICByZXR1cm4gdGhyb3dWTVR5
cGVFcnJvcihleGVjKTsKLSAgICBKU1N0cmluZyogc1ZhbCA9IHRoaXNWYWx1ZS50b1RoaXNKU1N0
cmluZyhleGVjKTsKKyAgICBKU1N0cmluZyogc1ZhbCA9IHRoaXNWYWx1ZS5pc1N0cmluZygpID8g
YXNTdHJpbmcodGhpc1ZhbHVlKSA6IGpzU3RyaW5nKGV4ZWMsIHRoaXNWYWx1ZS50b1N0cmluZyhl
eGVjKSk7CiAgICAgY29uc3QgVVN0cmluZyYgcyA9IHNWYWwtPnZhbHVlKGV4ZWMpOwogCiAgICAg
aW50IHNTaXplID0gcy5sZW5ndGgoKTsKQEAgLTkzNyw4ICs5NDUsOCBAQCBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIHN0cmluZ1Byb3RvCiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVj
LT5ob3N0VGhpc1ZhbHVlKCk7CiAgICAgaWYgKHRoaXNWYWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgp
KSAvLyBDaGVja09iamVjdENvZXJjaWJsZQogICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJv
cihleGVjKTsKKyAgICBVU3RyaW5nIHMgPSB0aGlzVmFsdWUudG9TdHJpbmcoZXhlYyk7CiAKLSAg
ICBVU3RyaW5nIHMgPSB0aGlzVmFsdWUudG9UaGlzU3RyaW5nKGV4ZWMpOwogICAgIEpTVmFsdWUg
YTAgPSBleGVjLT5hcmd1bWVudCgwKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVt
YmVyKGxvY2FsZUNvbXBhcmUocywgYTAudG9TdHJpbmcoZXhlYykpKSk7CiB9CkBAIC05NDYsNzAg
Kzk1NCw5MCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN0cmluZ1Byb3RvCiBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN0cmluZ1Byb3RvRnVuY0JpZyhFeGVjU3RhdGUqIGV4
ZWMpCiB7CiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7Ci0g
ICAgVVN0cmluZyBzID0gdGhpc1ZhbHVlLnRvVGhpc1N0cmluZyhleGVjKTsKKyAgICBpZiAodGhp
c1ZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpIC8vIENoZWNrT2JqZWN0Q29lcmNpYmxlCisgICAg
ICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOworICAgIFVTdHJpbmcgcyA9IHRoaXNW
YWx1ZS50b1N0cmluZyhleGVjKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTWFrZU5v
bnRyaXZpYWxTdHJpbmcoZXhlYywgIjxiaWc+IiwgcywgIjwvYmlnPiIpKTsKIH0KIAogRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzdHJpbmdQcm90b0Z1bmNTbWFsbChFeGVjU3RhdGUqIGV4
ZWMpCiB7CiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7Ci0g
ICAgVVN0cmluZyBzID0gdGhpc1ZhbHVlLnRvVGhpc1N0cmluZyhleGVjKTsKKyAgICBpZiAodGhp
c1ZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpIC8vIENoZWNrT2JqZWN0Q29lcmNpYmxlCisgICAg
ICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOworICAgIFVTdHJpbmcgcyA9IHRoaXNW
YWx1ZS50b1N0cmluZyhleGVjKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTWFrZU5v
bnRyaXZpYWxTdHJpbmcoZXhlYywgIjxzbWFsbD4iLCBzLCAiPC9zbWFsbD4iKSk7CiB9CiAKIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgc3RyaW5nUHJvdG9GdW5jQmxpbmsoRXhlY1N0YXRl
KiBleGVjKQogewogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgp
OwotICAgIFVTdHJpbmcgcyA9IHRoaXNWYWx1ZS50b1RoaXNTdHJpbmcoZXhlYyk7CisgICAgaWYg
KHRoaXNWYWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKSAvLyBDaGVja09iamVjdENvZXJjaWJsZQor
ICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKKyAgICBVU3RyaW5nIHMgPSB0
aGlzVmFsdWUudG9TdHJpbmcoZXhlYyk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc01h
a2VOb250cml2aWFsU3RyaW5nKGV4ZWMsICI8Ymxpbms+IiwgcywgIjwvYmxpbms+IikpOwogfQog
CiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN0cmluZ1Byb3RvRnVuY0JvbGQoRXhlY1N0
YXRlKiBleGVjKQogewogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1
ZSgpOwotICAgIFVTdHJpbmcgcyA9IHRoaXNWYWx1ZS50b1RoaXNTdHJpbmcoZXhlYyk7CisgICAg
aWYgKHRoaXNWYWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKSAvLyBDaGVja09iamVjdENvZXJjaWJs
ZQorICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKKyAgICBVU3RyaW5nIHMg
PSB0aGlzVmFsdWUudG9TdHJpbmcoZXhlYyk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c01ha2VOb250cml2aWFsU3RyaW5nKGV4ZWMsICI8Yj4iLCBzLCAiPC9iPiIpKTsKIH0KIAogRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzdHJpbmdQcm90b0Z1bmNGaXhlZChFeGVjU3RhdGUq
IGV4ZWMpCiB7CiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7
Ci0gICAgVVN0cmluZyBzID0gdGhpc1ZhbHVlLnRvVGhpc1N0cmluZyhleGVjKTsKKyAgICBpZiAo
dGhpc1ZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpIC8vIENoZWNrT2JqZWN0Q29lcmNpYmxlCisg
ICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOworICAgIFVTdHJpbmcgcyA9IHRo
aXNWYWx1ZS50b1N0cmluZyhleGVjKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTWFr
ZU5vbnRyaXZpYWxTdHJpbmcoZXhlYywgIjx0dD4iLCBzLCAiPC90dD4iKSk7CiB9CiAKIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgc3RyaW5nUHJvdG9GdW5jSXRhbGljcyhFeGVjU3RhdGUq
IGV4ZWMpCiB7CiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7
Ci0gICAgVVN0cmluZyBzID0gdGhpc1ZhbHVlLnRvVGhpc1N0cmluZyhleGVjKTsKKyAgICBpZiAo
dGhpc1ZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpIC8vIENoZWNrT2JqZWN0Q29lcmNpYmxlCisg
ICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOworICAgIFVTdHJpbmcgcyA9IHRo
aXNWYWx1ZS50b1N0cmluZyhleGVjKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTWFr
ZU5vbnRyaXZpYWxTdHJpbmcoZXhlYywgIjxpPiIsIHMsICI8L2k+IikpOwogfQogCiBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN0cmluZ1Byb3RvRnVuY1N0cmlrZShFeGVjU3RhdGUqIGV4
ZWMpCiB7CiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7Ci0g
ICAgVVN0cmluZyBzID0gdGhpc1ZhbHVlLnRvVGhpc1N0cmluZyhleGVjKTsKKyAgICBpZiAodGhp
c1ZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpIC8vIENoZWNrT2JqZWN0Q29lcmNpYmxlCisgICAg
ICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOworICAgIFVTdHJpbmcgcyA9IHRoaXNW
YWx1ZS50b1N0cmluZyhleGVjKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTWFrZU5v
bnRyaXZpYWxTdHJpbmcoZXhlYywgIjxzdHJpa2U+IiwgcywgIjwvc3RyaWtlPiIpKTsKIH0KIAog
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzdHJpbmdQcm90b0Z1bmNTdWIoRXhlY1N0YXRl
KiBleGVjKQogewogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgp
OwotICAgIFVTdHJpbmcgcyA9IHRoaXNWYWx1ZS50b1RoaXNTdHJpbmcoZXhlYyk7CisgICAgaWYg
KHRoaXNWYWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKSAvLyBDaGVja09iamVjdENvZXJjaWJsZQor
ICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKKyAgICBVU3RyaW5nIHMgPSB0
aGlzVmFsdWUudG9TdHJpbmcoZXhlYyk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc01h
a2VOb250cml2aWFsU3RyaW5nKGV4ZWMsICI8c3ViPiIsIHMsICI8L3N1Yj4iKSk7CiB9CiAKIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgc3RyaW5nUHJvdG9GdW5jU3VwKEV4ZWNTdGF0ZSog
ZXhlYykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsK
LSAgICBVU3RyaW5nIHMgPSB0aGlzVmFsdWUudG9UaGlzU3RyaW5nKGV4ZWMpOworICAgIGlmICh0
aGlzVmFsdWUuaXNVbmRlZmluZWRPck51bGwoKSkgLy8gQ2hlY2tPYmplY3RDb2VyY2libGUKKyAg
ICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CisgICAgVVN0cmluZyBzID0gdGhp
c1ZhbHVlLnRvU3RyaW5nKGV4ZWMpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNNYWtl
Tm9udHJpdmlhbFN0cmluZyhleGVjLCAiPHN1cD4iLCBzLCAiPC9zdXA+IikpOwogfQogCiBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN0cmluZ1Byb3RvRnVuY0ZvbnRjb2xvcihFeGVjU3Rh
dGUqIGV4ZWMpCiB7CiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVl
KCk7Ci0gICAgVVN0cmluZyBzID0gdGhpc1ZhbHVlLnRvVGhpc1N0cmluZyhleGVjKTsKKyAgICBp
ZiAodGhpc1ZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpIC8vIENoZWNrT2JqZWN0Q29lcmNpYmxl
CisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOworICAgIFVTdHJpbmcgcyA9
IHRoaXNWYWx1ZS50b1N0cmluZyhleGVjKTsKICAgICBKU1ZhbHVlIGEwID0gZXhlYy0+YXJndW1l
bnQoMCk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc01ha2VOb250cml2aWFsU3RyaW5n
KGV4ZWMsICI8Zm9udCBjb2xvcj1cIiIsIGEwLnRvU3RyaW5nKGV4ZWMpLCAiXCI+IiwgcywgIjwv
Zm9udD4iKSk7CiB9CkBAIC0xMDE3LDcgKzEwNDUsOSBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIHN0cmluZ1Byb3RvCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN0cmluZ1By
b3RvRnVuY0ZvbnRzaXplKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1
ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKLSAgICBVU3RyaW5nIHMgPSB0aGlzVmFsdWUudG9U
aGlzU3RyaW5nKGV4ZWMpOworICAgIGlmICh0aGlzVmFsdWUuaXNVbmRlZmluZWRPck51bGwoKSkg
Ly8gQ2hlY2tPYmplY3RDb2VyY2libGUKKyAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3Io
ZXhlYyk7CisgICAgVVN0cmluZyBzID0gdGhpc1ZhbHVlLnRvU3RyaW5nKGV4ZWMpOwogICAgIEpT
VmFsdWUgYTAgPSBleGVjLT5hcmd1bWVudCgwKTsKIAogICAgIHVpbnQzMl90IHNtYWxsSW50ZWdl
cjsKQEAgLTEwNjAsNyArMTA5MCw5IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgc3Ry
aW5nUHJvdG8KIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgc3RyaW5nUHJvdG9GdW5jQW5j
aG9yKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhv
c3RUaGlzVmFsdWUoKTsKLSAgICBVU3RyaW5nIHMgPSB0aGlzVmFsdWUudG9UaGlzU3RyaW5nKGV4
ZWMpOworICAgIGlmICh0aGlzVmFsdWUuaXNVbmRlZmluZWRPck51bGwoKSkgLy8gQ2hlY2tPYmpl
Y3RDb2VyY2libGUKKyAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CisgICAg
VVN0cmluZyBzID0gdGhpc1ZhbHVlLnRvU3RyaW5nKGV4ZWMpOwogICAgIEpTVmFsdWUgYTAgPSBl
eGVjLT5hcmd1bWVudCgwKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTWFrZU5vbnRy
aXZpYWxTdHJpbmcoZXhlYywgIjxhIG5hbWU9XCIiLCBhMC50b1N0cmluZyhleGVjKSwgIlwiPiIs
IHMsICI8L2E+IikpOwogfQpAQCAtMTA2OCw3ICsxMTAwLDkgQEAgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBzdHJpbmdQcm90bwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzdHJp
bmdQcm90b0Z1bmNMaW5rKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1
ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKLSAgICBVU3RyaW5nIHMgPSB0aGlzVmFsdWUudG9U
aGlzU3RyaW5nKGV4ZWMpOworICAgIGlmICh0aGlzVmFsdWUuaXNVbmRlZmluZWRPck51bGwoKSkg
Ly8gQ2hlY2tPYmplY3RDb2VyY2libGUKKyAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3Io
ZXhlYyk7CisgICAgVVN0cmluZyBzID0gdGhpc1ZhbHVlLnRvU3RyaW5nKGV4ZWMpOwogICAgIEpT
VmFsdWUgYTAgPSBleGVjLT5hcmd1bWVudCgwKTsKICAgICBVU3RyaW5nIGxpbmtUZXh0ID0gYTAu
dG9TdHJpbmcoZXhlYyk7CiAKQEAgLTExMTMsNyArMTE0Nyw3IEBAIHN0YXRpYyBpbmxpbmUgSlNW
YWx1ZSB0cmltU3RyaW5nKEV4ZWNTdGEKIHsKICAgICBpZiAodGhpc1ZhbHVlLmlzVW5kZWZpbmVk
T3JOdWxsKCkpIC8vIENoZWNrT2JqZWN0Q29lcmNpYmxlCiAgICAgICAgIHJldHVybiB0aHJvd1R5
cGVFcnJvcihleGVjKTsKLSAgICBVU3RyaW5nIHN0ciA9IHRoaXNWYWx1ZS50b1RoaXNTdHJpbmco
ZXhlYyk7CisgICAgVVN0cmluZyBzdHIgPSB0aGlzVmFsdWUudG9TdHJpbmcoZXhlYyk7CiAgICAg
dW5zaWduZWQgbGVmdCA9IDA7CiAgICAgaWYgKHRyaW1LaW5kICYgVHJpbUxlZnQpIHsKICAgICAg
ICAgd2hpbGUgKGxlZnQgPCBzdHIubGVuZ3RoKCkgJiYgaXNUcmltV2hpdGVzcGFjZShzdHJbbGVm
dF0pKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL0NoYW5nZUxvZwkocmV2aXNpb24gOTEyNzcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wNy0xOSAgR2F2aW4gQmFycmFj
bG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0Njc3CisgICAgICAgIEZpeCBidWdzIGluIFN0cmlu
Zy5wcm90b3R5cGUgdGhpcyBoYW5kbGluZy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvanMvc2NyaXB0LXRlc3RzL3N0cmluZy1wcm90b3R5
cGUtcHJvcGVydGllcy5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9zdHJpbmctcHJvdG90
eXBlLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3N0
cmluZy1wcm90b3R5cGUtcHJvcGVydGllcy5odG1sOiBBZGRlZC4KKyAgICAgICAgICAgIC0gQWRk
ZWQgbGF5b3V0IHRlc3QgZm9yIHN0cmluZyBwcm90b3R5cGUgZnVuY3Rpb25zIHdpdGggdW5kZWZp
bmVkL251bWJlciBhcyB0aGlzIHZhbHVlLgorCiAyMDExLTA3LTE5ICBSb2JlcnQgSG9nYW4gIDxy
b2JlcnRAd2Via2l0Lm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OOiBJbmNvcnJlY3QgbGF5b3V0
IGF0IHJlY2xpbmUtb25saW5lLmNvbQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9zdHJpbmct
cHJvdG90eXBlLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvanMvc3RyaW5nLXByb3RvdHlwZS1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvc3RyaW5nLXByb3RvdHlwZS1wcm9wZXJ0
aWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MSBAQAorVGhpcyBpcyBh
IHRlc3QgY2FzZSBmb3IgYnVnIDY0Njc3LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodW5kZWZpbmVkKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBTdHJpbmcucHJvdG90eXBlLnZh
bHVlT2YuY2FsbCh1bmRlZmluZWQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJy
b3IuCitQQVNTIFN0cmluZy5wcm90b3R5cGUuY2hhckF0LmNhbGwodW5kZWZpbmVkLCAwKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBTdHJpbmcucHJvdG90eXBl
LmNoYXJDb2RlQXQuY2FsbCh1bmRlZmluZWQsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IFR5cGUgZXJyb3IuCitQQVNTIFN0cmluZy5wcm90b3R5cGUuY29uY2F0LmNhbGwodW5kZWZpbmVk
LCAnZml2ZScpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIFN0
cmluZy5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHVuZGVmaW5lZCwgJzInKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRl
eE9mLmNhbGwodW5kZWZpbmVkLCAnMicpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IuCitQQVNTIFN0cmluZy5wcm90b3R5cGUubWF0Y2guY2FsbCh1bmRlZmluZWQsIC8yKy8p
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIFN0cmluZy5wcm90
b3R5cGUucmVwbGFjZS5jYWxsKHVuZGVmaW5lZCwgLzIrLywgJy0nKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5jYWxs
KHVuZGVmaW5lZCwgJzQnKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgor
UEFTUyBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmNhbGwodW5kZWZpbmVkLCAxLCAzKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBTdHJpbmcucHJvdG90eXBlLnNw
bGl0LmNhbGwodW5kZWZpbmVkLCAnMicpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IuCitQQVNTIFN0cmluZy5wcm90b3R5cGUuc2xpY2UuY2FsbCh1bmRlZmluZWQsIDEsIDMp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIFN0cmluZy5wcm90
b3R5cGUuc3Vic3RyLmNhbGwodW5kZWZpbmVkLCAxLCAzKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBUeXBlIGVycm9yLgorUEFTUyBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5jYWxsKHVu
ZGVmaW5lZCwgMSwgMykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BB
U1MgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5jYWxsKHVuZGVmaW5lZCkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgU3RyaW5nLnByb3RvdHlwZS50b1Vw
cGVyQ2FzZS5jYWxsKHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBl
cnJvci4KK1BBU1MgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmNhbGwodW5kZWZpbmVk
LCAnMTIyNCcpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIFN0
cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuY2FsbCh1bmRlZmluZWQpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIFN0cmluZy5wcm90b3R5cGUudG9M
b2NhbGVVcHBlckNhc2UuY2FsbCh1bmRlZmluZWQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IFR5cGUgZXJyb3IuCitQQVNTIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKHVuZGVmaW5lZCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgU3RyaW5nLnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKDEyMjQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IuCitQQVNTIFN0cmluZy5wcm90b3R5cGUudmFsdWVPZi5jYWxsKDEyMjQpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIFN0cmluZy5wcm90b3R5cGUuY2hh
ckF0LmNhbGwoMTIyNCwgMCkgaXMgIjEiCitQQVNTIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVB
dC5jYWxsKDEyMjQsIDApIGlzIDB4MzEKK1BBU1MgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQuY2Fs
bCgxMjI0LCAnZml2ZScpIGlzICIxMjI0Zml2ZSIKK1BBU1MgU3RyaW5nLnByb3RvdHlwZS5pbmRl
eE9mLmNhbGwoMTIyNCwgJzInKSBpcyAxCitQQVNTIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4
T2YuY2FsbCgxMjI0LCAnMicpIGlzIDIKK1BBU1MgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5jYWxs
KDEyMjQsIC8yKy8pIGlzIFsiMjIiXQorUEFTUyBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UuY2Fs
bCgxMjI0LCAvMisvLCAnLScpIGlzICIxLTQiCitQQVNTIFN0cmluZy5wcm90b3R5cGUuc2VhcmNo
LmNhbGwoMTIyNCwgJzQnKSBpcyAzCitQQVNTIFN0cmluZy5wcm90b3R5cGUuc2xpY2UuY2FsbCgx
MjI0LCAxLCAzKSBpcyAiMjIiCitQQVNTIFN0cmluZy5wcm90b3R5cGUuc3BsaXQuY2FsbCgxMjI0
LCAnMicpIGlzIFsiMSIsIiIsIjQiXQorUEFTUyBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmNhbGwo
MTIyNCwgMSwgMykgaXMgIjIyIgorUEFTUyBTdHJpbmcucHJvdG90eXBlLnN1YnN0ci5jYWxsKDEy
MjQsIDEsIDMpIGlzICIyMjQiCitQQVNTIFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmNhbGwo
MTIyNCwgMSwgMykgaXMgIjIyIgorUEFTUyBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmNh
bGwoMTIyNCkgaXMgIjEyMjQiCitQQVNTIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuY2Fs
bCgxMjI0KSBpcyAiMTIyNCIKK1BBU1MgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmNh
bGwoMTIyNCwgJzEyMjQnKSBpcyAwCitQQVNTIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dl
ckNhc2UuY2FsbCgxMjI0KSBpcyAiMTIyNCIKK1BBU1MgU3RyaW5nLnByb3RvdHlwZS50b0xvY2Fs
ZVVwcGVyQ2FzZS5jYWxsKDEyMjQpIGlzICIxMjI0IgorUEFTUyBTdHJpbmcucHJvdG90eXBlLnRy
aW0uY2FsbCgxMjI0KSBpcyAiMTIyNCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3N0cmluZy1wcm90
b3R5cGUtcHJvcGVydGllcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMv
c3RyaW5nLXByb3RvdHlwZS1wcm9wZXJ0aWVzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2pzL3N0cmluZy1wcm90b3R5cGUtcHJvcGVydGllcy5odG1sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJy
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRl
c3RzL3N0cmluZy1wcm90b3R5cGUtcHJvcGVydGllcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9zdHJpbmctcHJvdG90eXBl
LXByb3BlcnRpZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQt
dGVzdHMvc3RyaW5nLXByb3RvdHlwZS1wcm9wZXJ0aWVzLmpzCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvc3RyaW5nLXByb3RvdHlwZS1wcm9wZXJ0aWVz
LmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU2IEBACitkZXNjcmlwdGlvbigKKydUaGlzIGlz
IGEgdGVzdCBjYXNlIGZvciA8YSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjQ2NzciPmJ1ZyA2NDY3NzwvYT4uJworKTsKKworLy8gVGhlc2UgY2FsbHMgcGFzcyB1bmRl
ZmluZWQgYXMgdGhpcyB2YWx1ZSwgYW5kIGFzIHN1Y2ggc2hvdWxkIHNob3cgaW4gdG9PYmplY3Qu
CitzaG91bGRUaHJvdygiU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHVuZGVmaW5lZCki
KTsKK3Nob3VsZFRocm93KCJTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YuY2FsbCh1bmRlZmluZWQp
Iik7CitzaG91bGRUaHJvdygiU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQuY2FsbCh1bmRlZmluZWQs
IDApIik7CitzaG91bGRUaHJvdygiU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0LmNhbGwodW5k
ZWZpbmVkLCAwKSIpOworc2hvdWxkVGhyb3coIlN0cmluZy5wcm90b3R5cGUuY29uY2F0LmNhbGwo
dW5kZWZpbmVkLCAnZml2ZScpIik7CitzaG91bGRUaHJvdygiU3RyaW5nLnByb3RvdHlwZS5pbmRl
eE9mLmNhbGwodW5kZWZpbmVkLCAnMicpIik7CitzaG91bGRUaHJvdygiU3RyaW5nLnByb3RvdHlw
ZS5sYXN0SW5kZXhPZi5jYWxsKHVuZGVmaW5lZCwgJzInKSIpOworc2hvdWxkVGhyb3coIlN0cmlu
Zy5wcm90b3R5cGUubWF0Y2guY2FsbCh1bmRlZmluZWQsIC8yKy8pIik7CitzaG91bGRUaHJvdygi
U3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmNhbGwodW5kZWZpbmVkLCAvMisvLCAnLScpIik7Citz
aG91bGRUaHJvdygiU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guY2FsbCh1bmRlZmluZWQsICc0Jyki
KTsKK3Nob3VsZFRocm93KCJTdHJpbmcucHJvdG90eXBlLnNsaWNlLmNhbGwodW5kZWZpbmVkLCAx
LCAzKSIpOworc2hvdWxkVGhyb3coIlN0cmluZy5wcm90b3R5cGUuc3BsaXQuY2FsbCh1bmRlZmlu
ZWQsICcyJykiKTsKK3Nob3VsZFRocm93KCJTdHJpbmcucHJvdG90eXBlLnNsaWNlLmNhbGwodW5k
ZWZpbmVkLCAxLCAzKSIpOworc2hvdWxkVGhyb3coIlN0cmluZy5wcm90b3R5cGUuc3Vic3RyLmNh
bGwodW5kZWZpbmVkLCAxLCAzKSIpOworc2hvdWxkVGhyb3coIlN0cmluZy5wcm90b3R5cGUuc3Vi
c3RyaW5nLmNhbGwodW5kZWZpbmVkLCAxLCAzKSIpOworc2hvdWxkVGhyb3coIlN0cmluZy5wcm90
b3R5cGUudG9Mb3dlckNhc2UuY2FsbCh1bmRlZmluZWQpIik7CitzaG91bGRUaHJvdygiU3RyaW5n
LnByb3RvdHlwZS50b1VwcGVyQ2FzZS5jYWxsKHVuZGVmaW5lZCkiKTsKK3Nob3VsZFRocm93KCJT
dHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUuY2FsbCh1bmRlZmluZWQsICcxMjI0JykiKTsK
K3Nob3VsZFRocm93KCJTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmNhbGwodW5k
ZWZpbmVkKSIpOworc2hvdWxkVGhyb3coIlN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNh
c2UuY2FsbCh1bmRlZmluZWQpIik7CitzaG91bGRUaHJvdygiU3RyaW5nLnByb3RvdHlwZS50cmlt
LmNhbGwodW5kZWZpbmVkKSIpOworCisvLyBUaGVzZSBjYWxscyBwYXNzIGEgcHJpbWl0aXZlIG51
bWJlciBhcyB0aGlzIHZhbHVlLCB0b1N0cmluZyBhbmQgdmFsdWVPZgorLy8gc2hvdWxkIHRocm93
LCBhbGwgb3RoZXIgbWV0aG9kIHNob3VsZCBjb252ZXJ0IFRvU3RyaW5nLCB3aXRob3V0IGNvbnZl
cnRpbmcKKy8vIHZpYSB0aGUgTnVtYmVyIG9iamVjdCB0eXBlLgorc2hvdWxkVGhyb3coIlN0cmlu
Zy5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCgxMjI0KSIpOworc2hvdWxkVGhyb3coIlN0cmluZy5w
cm90b3R5cGUudmFsdWVPZi5jYWxsKDEyMjQpIik7Cit2YXIgbnVtYmVyUHJvdG90eXBlVG9TdHJp
bmcgPSBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nOworTnVtYmVyLnByb3RvdHlwZS50b1N0cmlu
ZyA9IChmdW5jdGlvbigpeyB0aHJvdyAiU0hPVUxEIE5PVCBCRSBSRUFDSEVEIjsgfSk7CitzaG91
bGRCZSgiU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQuY2FsbCgxMjI0LCAwKSIsICciMSInKTsKK3No
b3VsZEJlKCJTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQuY2FsbCgxMjI0LCAwKSIsICcweDMx
Jyk7CitzaG91bGRCZSgiU3RyaW5nLnByb3RvdHlwZS5jb25jYXQuY2FsbCgxMjI0LCAnZml2ZScp
IiwgJyIxMjI0Zml2ZSInKTsKK3Nob3VsZEJlKCJTdHJpbmcucHJvdG90eXBlLmluZGV4T2YuY2Fs
bCgxMjI0LCAnMicpIiwgJzEnKTsKK3Nob3VsZEJlKCJTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRl
eE9mLmNhbGwoMTIyNCwgJzInKSIsICcyJyk7CitzaG91bGRCZSgiU3RyaW5nLnByb3RvdHlwZS5t
YXRjaC5jYWxsKDEyMjQsIC8yKy8pIiwgJ1siMjIiXScpOworc2hvdWxkQmUoIlN0cmluZy5wcm90
b3R5cGUucmVwbGFjZS5jYWxsKDEyMjQsIC8yKy8sICctJykiLCAnIjEtNCInKTsKK3Nob3VsZEJl
KCJTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5jYWxsKDEyMjQsICc0JykiLCAnMycpOworc2hvdWxk
QmUoIlN0cmluZy5wcm90b3R5cGUuc2xpY2UuY2FsbCgxMjI0LCAxLCAzKSIsICciMjIiJyk7Citz
aG91bGRCZSgiU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5jYWxsKDEyMjQsICcyJykiLCAnWyIxIiwi
IiwiNCJdJyk7CitzaG91bGRCZSgiU3RyaW5nLnByb3RvdHlwZS5zbGljZS5jYWxsKDEyMjQsIDEs
IDMpIiwgJyIyMiInKTsKK3Nob3VsZEJlKCJTdHJpbmcucHJvdG90eXBlLnN1YnN0ci5jYWxsKDEy
MjQsIDEsIDMpIiwgJyIyMjQiJyk7CitzaG91bGRCZSgiU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJp
bmcuY2FsbCgxMjI0LCAxLCAzKSIsICciMjIiJyk7CitzaG91bGRCZSgiU3RyaW5nLnByb3RvdHlw
ZS50b0xvd2VyQ2FzZS5jYWxsKDEyMjQpIiwgJyIxMjI0IicpOworc2hvdWxkQmUoIlN0cmluZy5w
cm90b3R5cGUudG9VcHBlckNhc2UuY2FsbCgxMjI0KSIsICciMTIyNCInKTsKK3Nob3VsZEJlKCJT
dHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUuY2FsbCgxMjI0LCAnMTIyNCcpIiwgJzAnKTsK
K3Nob3VsZEJlKCJTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmNhbGwoMTIyNCki
LCAnIjEyMjQiJyk7CitzaG91bGRCZSgiU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2Fz
ZS5jYWxsKDEyMjQpIiwgJyIxMjI0IicpOworc2hvdWxkQmUoIlN0cmluZy5wcm90b3R5cGUudHJp
bS5jYWxsKDEyMjQpIiwgJyIxMjI0IicpOworTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyA9IG51
bWJlclByb3RvdHlwZVRvU3RyaW5nOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>
<flag name="review"
          id="96239"
          type_id="1"
          status="+"
          setter="oliver"
    />
    <flag name="commit-queue"
          id="96247"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>