<?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>155179</bug_id>
          
          <creation_ts>2016-03-08 11:43:01 -0800</creation_ts>
          <short_desc>Array.isArray support for Proxy</short_desc>
          <delta_ts>2016-03-09 16:35:59 -0800</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>WebKit 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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sukolsak</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1172117</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-03-08 11:43:01 -0800</bug_when>
    <thetext>Array.isArray(new Proxy([], {})) should be true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172829</commentid>
    <comment_count>1</comment_count>
      <attachid>273494</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-03-09 15:47:34 -0800</bug_when>
    <thetext>Created attachment 273494
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172831</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-09 15:48:44 -0800</bug_when>
    <thetext>Attachment 273494 did not pass style-queue:


ERROR: Source/JavaScriptCore/runtime/ArrayConstructor.cpp:36:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172834</commentid>
    <comment_count>3</comment_count>
      <attachid>273494</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-03-09 15:50:22 -0800</bug_when>
    <thetext>Comment on attachment 273494
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172839</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-09 15:52:14 -0800</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=273494&amp;action=review

&gt; Source/JavaScriptCore/tests/stress/proxy-is-array.js:19
&gt; +

It would be good to test 
    assert(Array.isArray(proxy));
before revoke()

&gt; Source/JavaScriptCore/tests/stress/proxy-is-array.js:22
&gt; +    try {

Don&apos;t we have shouldAssert()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172853</commentid>
    <comment_count>5</comment_count>
      <attachid>273494</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-03-09 16:03:10 -0800</bug_when>
    <thetext>Comment on attachment 273494
patch

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

&gt; Source/JavaScriptCore/runtime/ArrayConstructor.cpp:136
&gt; +        JSValue::encode(jsBoolean(false));

Oops. This should obviously be a return.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172859</commentid>
    <comment_count>6</comment_count>
      <attachid>273504</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-03-09 16:13:11 -0800</bug_when>
    <thetext>Created attachment 273504
for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172861</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-09 16:14:00 -0800</bug_when>
    <thetext>Attachment 273504 did not pass style-queue:


ERROR: Source/JavaScriptCore/runtime/ArrayConstructor.cpp:36:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172873</commentid>
    <comment_count>8</comment_count>
      <attachid>273504</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-09 16:35:55 -0800</bug_when>
    <thetext>Comment on attachment 273504
for landing

Clearing flags on attachment: 273504

Committed r197899: &lt;http://trac.webkit.org/changeset/197899&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172874</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-09 16:35:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273494</attachid>
            <date>2016-03-09 15:47:34 -0800</date>
            <delta_ts>2016-03-09 16:13:11 -0800</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>7376</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk3ODkzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBA
CisyMDE2LTAzLTA5ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IEFycmF5LmlzQXJyYXkgc3VwcG9ydCBmb3IgUHJveHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTE3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBBcnJheS5pc0Fy
cmF5IHRvIGJlIGNvbXBsaWFudAorICAgICAgICB3aXRoIHRoZSBFUzYgc3BlYy4gU3BlY2lmaWNh
bGx5LCBpdCBuZWVkcyB0byBpbnRlcmZhY2UKKyAgICAgICAgcHJvcGVybHkgd2l0aCBQcm94eSBh
cmd1bWVudHMuCisgICAgICAgIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWlz
YXJyYXkKKworICAgICAgICAqIHJ1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAg
IChKU0M6OkFycmF5Q29uc3RydWN0b3I6OmdldENhbGxEYXRhKToKKyAgICAgICAgKEpTQzo6YXJy
YXlDb25zdHJ1Y3RvcklzQXJyYXkpOgorICAgICAgICAoSlNDOjphcnJheUNvbnN0cnVjdG9yUHJp
dmF0ZUZ1bmNJc0FycmF5Q29uc3RydWN0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90
b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpzcGVjaWVzQ29uc3RydWN0QXJyYXkpOgorICAgICAg
ICAqIHJ1bnRpbWUvUHJveHlPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpQcm94eU9iamVjdDo6
cmV2b2tlKToKKyAgICAgICAgKEpTQzo6UHJveHlPYmplY3Q6OmlzUmV2b2tlZCk6CisgICAgICAg
IChKU0M6OlByb3h5T2JqZWN0Ojp2aXNpdENoaWxkcmVuKToKKyAgICAgICAgKiBydW50aW1lL1By
b3h5T2JqZWN0Lmg6CisgICAgICAgIChKU0M6OlByb3h5T2JqZWN0Ojp0YXJnZXQpOgorICAgICAg
ICAoSlNDOjpQcm94eU9iamVjdDo6aGFuZGxlcik6CisgICAgICAgICogdGVzdHMvZXM2LnlhbWw6
CisgICAgICAgICogdGVzdHMvc3RyZXNzL3Byb3h5LWlzLWFycmF5LmpzOiBBZGRlZC4KKyAgICAg
ICAgKGFzc2VydCk6CisgICAgICAgICh0ZXN0KToKKwogMjAxNi0wMy0wOSAgQ29tbWl0IFF1ZXVl
ICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjE5Nzg3My4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5
Q29uc3RydWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwCShyZXZpc2lvbiAxOTc4ODgpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkpTQXJyYXkuaCIKICNpbmNsdWRlICJKU0Z1bmN0
aW9uLmgiCiAjaW5jbHVkZSAiTG9va3VwLmgiCisjaW5jbHVkZSAiUHJveHlPYmplY3QuaCIKICNp
bmNsdWRlICJKU0NJbmxpbmVzLmgiCiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtMTI1LDkgKzEyNiwz
MCBAQCBDYWxsVHlwZSBBcnJheUNvbnN0cnVjdG9yOjpnZXRDYWxsRGF0YShKCiAgICAgcmV0dXJu
IENhbGxUeXBlOjpIb3N0OwogfQogCisvLyBFUzYgNy4yLjIKKy8vIGh0dHBzOi8vdGMzOS5naXRo
dWIuaW8vZWNtYTI2Mi8jc2VjLWlzYXJyYXkKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
YXJyYXlDb25zdHJ1Y3RvcklzQXJyYXkoRXhlY1N0YXRlKiBleGVjKQogewotICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKGV4ZWMtPmFyZ3VtZW50KDApLmluaGVyaXRzKEpTQXJy
YXk6OmluZm8oKSkpKTsKKyAgICBKU1ZhbHVlIGFyZ3VtZW50VmFsdWUgPSBleGVjLT5hcmd1bWVu
dCgwKTsKKworICAgIGlmICghYXJndW1lbnRWYWx1ZS5pc09iamVjdCgpKQorICAgICAgICBKU1Zh
bHVlOjplbmNvZGUoanNCb29sZWFuKGZhbHNlKSk7CisKKyAgICBKU09iamVjdCogYXJndW1lbnQg
PSBqc0Nhc3Q8SlNPYmplY3QqPihhcmd1bWVudFZhbHVlKTsKKyAgICB3aGlsZSAodHJ1ZSkgewor
ICAgICAgICBpZiAoYXJndW1lbnQtPmluaGVyaXRzKEpTQXJyYXk6OmluZm8oKSkpCisgICAgICAg
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbih0cnVlKSk7CisKKyAgICAgICAg
aWYgKGFyZ3VtZW50LT50eXBlKCkgIT0gUHJveHlPYmplY3RUeXBlKQorICAgICAgICAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4oZmFsc2UpKTsKKworICAgICAgICBQcm94eU9i
amVjdCogcHJveHkgPSBqc0Nhc3Q8UHJveHlPYmplY3QqPihhcmd1bWVudCk7CisgICAgICAgIGlm
IChwcm94eS0+aXNSZXZva2VkKCkpCisgICAgICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJv
cihleGVjLCBBU0NJSUxpdGVyYWwoIkFycmF5LmlzQXJyYXkgY2FuIG5vdCBiZSBjYWxsZWQgb24g
YSBQcm94eSB0aGF0IGhhcyBiZWVuIHJldm9rZWQuIikpOworICAgICAgICBhcmd1bWVudCA9IHBy
b3h5LT50YXJnZXQoKTsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAog
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheUNvbnN0cnVjdG9yUHJpdmF0ZUZ1bmNJ
c0FycmF5Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjKQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkocmV2aXNpb24gMTk3ODg4
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDUsNyArMjA1LDcgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgc3Rk
OjpwYWlyPFNwZWNpZXNDbwogICAgICAgICB9CiAgICAgfQogICAgIGlmIChjb25zdHJ1Y3Rvci5p
c1VuZGVmaW5lZCgpKQotICAgICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoU3BlY2llc0NvbnN0
cnVjdFJlc3VsdDo6RmFzdFBhdGgsIG51bGxwdHIpOzsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWFr
ZV9wYWlyKFNwZWNpZXNDb25zdHJ1Y3RSZXN1bHQ6OkZhc3RQYXRoLCBudWxscHRyKTsKIAogICAg
IE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CiAgICAgYXJncy5hcHBlbmQoanNOdW1iZXIobGVu
Z3RoKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eU9iamVjdC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJveHlPYmpl
Y3QuY3BwCShyZXZpc2lvbiAxOTc4ODgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Qcm94eU9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwODUsNiArMTA4NSwxMSBAQCB2
b2lkIFByb3h5T2JqZWN0OjpyZXZva2UoVk0mIHZtKQogICAgIG1faGFuZGxlci5zZXQodm0sIHRo
aXMsIGpzTnVsbCgpKTsKIH0KIAorYm9vbCBQcm94eU9iamVjdDo6aXNSZXZva2VkKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gaGFuZGxlcigpLmlzTnVsbCgpOworfQorCiB2b2lkIFByb3h5T2JqZWN0
Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiB7CiAg
ICAgUHJveHlPYmplY3QqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8UHJveHlPYmplY3QqPihjZWxsKTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3h5T2JqZWN0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJveHlPYmplY3QuaAkocmV2
aXNpb24gMTk3ODg4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJveHlPYmpl
Y3QuaAkod29ya2luZyBjb3B5KQpAQCAtNTksMTQgKzU5LDE1IEBAIHB1YmxpYzoKIAogICAgIERF
Q0xBUkVfRVhQT1JUX0lORk87CiAKLSAgICBKU09iamVjdCogdGFyZ2V0KCkgeyByZXR1cm4gbV90
YXJnZXQuZ2V0KCk7IH0KLSAgICBKU1ZhbHVlIGhhbmRsZXIoKSB7IHJldHVybiBtX2hhbmRsZXIu
Z2V0KCk7IH0KKyAgICBKU09iamVjdCogdGFyZ2V0KCkgY29uc3QgeyByZXR1cm4gbV90YXJnZXQu
Z2V0KCk7IH0KKyAgICBKU1ZhbHVlIGhhbmRsZXIoKSBjb25zdCB7IHJldHVybiBtX2hhbmRsZXIu
Z2V0KCk7IH0KIAogICAgIHN0YXRpYyB2b2lkIHB1dChKU0NlbGwqLCBFeGVjU3RhdGUqLCBQcm9w
ZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwogICAgIHN0YXRpYyB2b2lkIHB1
dEJ5SW5kZXgoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU1Zh
bHVlLCBib29sIHNob3VsZFRocm93KTsKICAgICB2b2lkIHB1dEJ5SW5kZXhDb21tb24oRXhlY1N0
YXRlKiwgSlNWYWx1ZSB0aGlzVmFsdWUsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSBw
dXRWYWx1ZSwgYm9vbCBzaG91bGRUaHJvdyk7CiAgICAgSlNWYWx1ZSBwZXJmb3JtR2V0UHJvdG90
eXBlKEV4ZWNTdGF0ZSopOwogICAgIHZvaWQgcmV2b2tlKFZNJik7CisgICAgYm9vbCBpc1Jldm9r
ZWQoKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBQcm94eU9iamVjdChWTSYsIFN0cnVjdHVyZSop
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL2VzNi55YW1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9lczYueWFtbAkocmV2aXNpb24gMTk3ODg4
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL2VzNi55YW1sCSh3b3JraW5nIGNvcHkp
CkBAIC05MDksNyArOTA5LDcgQEAKIC0gcGF0aDogZXM2L1Byb3h5X2FwcGx5X2hhbmRsZXIuanMK
ICAgY21kOiBydW5FUzYgOm5vcm1hbAogLSBwYXRoOiBlczYvUHJveHlfQXJyYXkuaXNBcnJheV9z
dXBwb3J0LmpzCi0gIGNtZDogcnVuRVM2IDpmYWlsCisgIGNtZDogcnVuRVM2IDpub3JtYWwKIC0g
cGF0aDogZXM2L1Byb3h5X2NvbnN0cnVjdF9oYW5kbGVyLmpzCiAgIGNtZDogcnVuRVM2IDpub3Jt
YWwKIC0gcGF0aDogZXM2L1Byb3h5X2NvbnN0cnVjdG9yX3JlcXVpcmVzX25ldy5qcwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9wcm94eS1pcy1hcnJheS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3Byb3h5LWlzLWFy
cmF5LmpzCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9wcm94eS1pcy1hcnJheS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYxIEBACitmdW5j
dGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJC
YWQgYXNzZXJ0aW9uLiIpCit9CisKK2Z1bmN0aW9uIHRlc3QoZikgeworICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgNTAwOyBpKyspCisgICAgICAgIGYoKTsKK30KKwordGVzdChmdW5jdGlvbigpIHsK
KyAgICBsZXQgcHJveHkgPSBuZXcgUHJveHkoW10sIHt9KTsKKyAgICBhc3NlcnQoQXJyYXkuaXNB
cnJheShwcm94eSkpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHtwcm94eSwg
cmV2b2tlfSA9IFByb3h5LnJldm9jYWJsZShbXSwge30pOworICAgIGFzc2VydChBcnJheS5pc0Fy
cmF5KHByb3h5KSk7CisKKyAgICByZXZva2UoKTsKKyAgICBsZXQgdGhyZXcgPSBmYWxzZTsKKyAg
ICB0cnkgeworICAgICAgICBBcnJheS5pc0FycmF5KHByb3h5KTsKKyAgICB9IGNhdGNoKGUpIHsK
KyAgICAgICAgdGhyZXcgPSB0cnVlOworICAgICAgICBhc3NlcnQoZS50b1N0cmluZygpID09PSAi
VHlwZUVycm9yOiBBcnJheS5pc0FycmF5IGNhbiBub3QgYmUgY2FsbGVkIG9uIGEgUHJveHkgdGhh
dCBoYXMgYmVlbiByZXZva2VkLiIpOworICAgIH0KKyAgICBhc3NlcnQodGhyZXcpOworfSk7CisK
K3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHByb3h5Q2hhaW4gPSBuZXcgUHJveHkoW10sIHt9
KTsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQwMDsgaSsrKQorICAgICAgICBwcm94eUNoYWlu
ID0gbmV3IFByb3h5KHByb3h5Q2hhaW4sIHt9KTsKKyAgICBhc3NlcnQoQXJyYXkuaXNBcnJheShw
cm94eUNoYWluKSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcHJveHlDaGFp
biA9IG5ldyBQcm94eShbXSwge30pOworICAgIGxldCByZXZva2UgPSBudWxsOworICAgIGZvciAo
bGV0IGkgPSAwOyBpIDwgNDAwOyBpKyspIHsKKyAgICAgICAgaWYgKGkgIT09IDI1MCkgeworICAg
ICAgICAgICAgcHJveHlDaGFpbiA9IG5ldyBQcm94eShwcm94eUNoYWluLCB7fSk7CisgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICBsZXQgcmVzdWx0ID0gUHJveHkucmV2b2NhYmxlKHByb3h5
Q2hhaW4sIHt9KTsKKyAgICAgICAgICAgIHByb3h5Q2hhaW4gPSByZXN1bHQucHJveHk7CisgICAg
ICAgICAgICByZXZva2UgPSByZXN1bHQucmV2b2tlOworICAgICAgICB9CisgICAgfQorICAgIGFz
c2VydChBcnJheS5pc0FycmF5KHByb3h5Q2hhaW4pKTsKKworICAgIHJldm9rZSgpOworICAgIGxl
dCB0aHJldyA9IGZhbHNlOworICAgIHRyeSB7CisgICAgICAgIEFycmF5LmlzQXJyYXkocHJveHlD
aGFpbik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIHRocmV3ID0gdHJ1ZTsKKyAgICAgICAg
YXNzZXJ0KGUudG9TdHJpbmcoKSA9PT0gIlR5cGVFcnJvcjogQXJyYXkuaXNBcnJheSBjYW4gbm90
IGJlIGNhbGxlZCBvbiBhIFByb3h5IHRoYXQgaGFzIGJlZW4gcmV2b2tlZC4iKTsKKyAgICB9Cisg
ICAgYXNzZXJ0KHRocmV3KTsKK30pOwo=
</data>
<flag name="review"
          id="298100"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273504</attachid>
            <date>2016-03-09 16:13:11 -0800</date>
            <delta_ts>2016-03-09 16:35:55 -0800</delta_ts>
            <desc>for landing</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>7377</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk3ODkzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBA
CisyMDE2LTAzLTA5ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IEFycmF5LmlzQXJyYXkgc3VwcG9ydCBmb3IgUHJveHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTE3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE1h
cmsgTGFtLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBBcnJheS5pc0FycmF5IHRv
IGJlIGNvbXBsaWFudAorICAgICAgICB3aXRoIHRoZSBFUzYgc3BlYy4gU3BlY2lmaWNhbGx5LCBp
dCBuZWVkcyB0byBpbnRlcmZhY2UKKyAgICAgICAgcHJvcGVybHkgd2l0aCBQcm94eSBhcmd1bWVu
dHMuCisgICAgICAgIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWlzYXJyYXkK
KworICAgICAgICAqIHJ1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6
OkFycmF5Q29uc3RydWN0b3I6OmdldENhbGxEYXRhKToKKyAgICAgICAgKEpTQzo6YXJyYXlDb25z
dHJ1Y3RvcklzQXJyYXkpOgorICAgICAgICAoSlNDOjphcnJheUNvbnN0cnVjdG9yUHJpdmF0ZUZ1
bmNJc0FycmF5Q29uc3RydWN0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUu
Y3BwOgorICAgICAgICAoSlNDOjpzcGVjaWVzQ29uc3RydWN0QXJyYXkpOgorICAgICAgICAqIHJ1
bnRpbWUvUHJveHlPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpQcm94eU9iamVjdDo6cmV2b2tl
KToKKyAgICAgICAgKEpTQzo6UHJveHlPYmplY3Q6OmlzUmV2b2tlZCk6CisgICAgICAgIChKU0M6
OlByb3h5T2JqZWN0Ojp2aXNpdENoaWxkcmVuKToKKyAgICAgICAgKiBydW50aW1lL1Byb3h5T2Jq
ZWN0Lmg6CisgICAgICAgIChKU0M6OlByb3h5T2JqZWN0Ojp0YXJnZXQpOgorICAgICAgICAoSlND
OjpQcm94eU9iamVjdDo6aGFuZGxlcik6CisgICAgICAgICogdGVzdHMvZXM2LnlhbWw6CisgICAg
ICAgICogdGVzdHMvc3RyZXNzL3Byb3h5LWlzLWFycmF5LmpzOiBBZGRlZC4KKyAgICAgICAgKGFz
c2VydCk6CisgICAgICAgICh0ZXN0KToKKwogMjAxNi0wMy0wOSAgQ29tbWl0IFF1ZXVlICA8Y29t
bWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjE5Nzg3My4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3Ry
dWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
cmF5Q29uc3RydWN0b3IuY3BwCShyZXZpc2lvbiAxOTc4ODgpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMs
NiArMzMsNyBAQAogI2luY2x1ZGUgIkpTQXJyYXkuaCIKICNpbmNsdWRlICJKU0Z1bmN0aW9uLmgi
CiAjaW5jbHVkZSAiTG9va3VwLmgiCisjaW5jbHVkZSAiUHJveHlPYmplY3QuaCIKICNpbmNsdWRl
ICJKU0NJbmxpbmVzLmgiCiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtMTI1LDkgKzEyNiwzMCBAQCBD
YWxsVHlwZSBBcnJheUNvbnN0cnVjdG9yOjpnZXRDYWxsRGF0YShKCiAgICAgcmV0dXJuIENhbGxU
eXBlOjpIb3N0OwogfQogCisvLyBFUzYgNy4yLjIKKy8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8v
ZWNtYTI2Mi8jc2VjLWlzYXJyYXkKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlD
b25zdHJ1Y3RvcklzQXJyYXkoRXhlY1N0YXRlKiBleGVjKQogewotICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNCb29sZWFuKGV4ZWMtPmFyZ3VtZW50KDApLmluaGVyaXRzKEpTQXJyYXk6Omlu
Zm8oKSkpKTsKKyAgICBKU1ZhbHVlIGFyZ3VtZW50VmFsdWUgPSBleGVjLT5hcmd1bWVudCgwKTsK
KworICAgIGlmICghYXJndW1lbnRWYWx1ZS5pc09iamVjdCgpKQorICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihmYWxzZSkpOworCisgICAgSlNPYmplY3QqIGFyZ3VtZW50
ID0ganNDYXN0PEpTT2JqZWN0Kj4oYXJndW1lbnRWYWx1ZSk7CisgICAgd2hpbGUgKHRydWUpIHsK
KyAgICAgICAgaWYgKGFyZ3VtZW50LT5pbmhlcml0cyhKU0FycmF5OjppbmZvKCkpKQorICAgICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4odHJ1ZSkpOworCisgICAgICAg
IGlmIChhcmd1bWVudC0+dHlwZSgpICE9IFByb3h5T2JqZWN0VHlwZSkKKyAgICAgICAgICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKGZhbHNlKSk7CisKKyAgICAgICAgUHJveHlP
YmplY3QqIHByb3h5ID0ganNDYXN0PFByb3h5T2JqZWN0Kj4oYXJndW1lbnQpOworICAgICAgICBp
ZiAocHJveHktPmlzUmV2b2tlZCgpKQorICAgICAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJy
b3IoZXhlYywgQVNDSUlMaXRlcmFsKCJBcnJheS5pc0FycmF5IGNhbiBub3QgYmUgY2FsbGVkIG9u
IGEgUHJveHkgdGhhdCBoYXMgYmVlbiByZXZva2VkLiIpKTsKKyAgICAgICAgYXJndW1lbnQgPSBw
cm94eS0+dGFyZ2V0KCk7CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAK
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlDb25zdHJ1Y3RvclByaXZhdGVGdW5j
SXNBcnJheUNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYykKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDE5Nzg4
OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjA1LDcgKzIwNSw3IEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIHN0
ZDo6cGFpcjxTcGVjaWVzQ28KICAgICAgICAgfQogICAgIH0KICAgICBpZiAoY29uc3RydWN0b3Iu
aXNVbmRlZmluZWQoKSkKLSAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKFNwZWNpZXNDb25z
dHJ1Y3RSZXN1bHQ6OkZhc3RQYXRoLCBudWxscHRyKTs7CisgICAgICAgIHJldHVybiBzdGQ6Om1h
a2VfcGFpcihTcGVjaWVzQ29uc3RydWN0UmVzdWx0OjpGYXN0UGF0aCwgbnVsbHB0cik7CiAKICAg
ICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOwogICAgIGFyZ3MuYXBwZW5kKGpzTnVtYmVyKGxl
bmd0aCkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJveHlPYmplY3Qu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3h5T2Jq
ZWN0LmNwcAkocmV2aXNpb24gMTk3ODg4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUHJveHlPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDg1LDYgKzEwODUsMTEgQEAg
dm9pZCBQcm94eU9iamVjdDo6cmV2b2tlKFZNJiB2bSkKICAgICBtX2hhbmRsZXIuc2V0KHZtLCB0
aGlzLCBqc051bGwoKSk7CiB9CiAKK2Jvb2wgUHJveHlPYmplY3Q6OmlzUmV2b2tlZCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIGhhbmRsZXIoKS5pc051bGwoKTsKK30KKwogdm9pZCBQcm94eU9iamVj
dDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogewog
ICAgIFByb3h5T2JqZWN0KiB0aGlzT2JqZWN0ID0ganNDYXN0PFByb3h5T2JqZWN0Kj4oY2VsbCk7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eU9iamVjdC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3h5T2JqZWN0LmgJKHJl
dmlzaW9uIDE5Nzg4OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3h5T2Jq
ZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTU5LDE0ICs1OSwxNSBAQCBwdWJsaWM6CiAKICAgICBE
RUNMQVJFX0VYUE9SVF9JTkZPOwogCi0gICAgSlNPYmplY3QqIHRhcmdldCgpIHsgcmV0dXJuIG1f
dGFyZ2V0LmdldCgpOyB9Ci0gICAgSlNWYWx1ZSBoYW5kbGVyKCkgeyByZXR1cm4gbV9oYW5kbGVy
LmdldCgpOyB9CisgICAgSlNPYmplY3QqIHRhcmdldCgpIGNvbnN0IHsgcmV0dXJuIG1fdGFyZ2V0
LmdldCgpOyB9CisgICAgSlNWYWx1ZSBoYW5kbGVyKCkgY29uc3QgeyByZXR1cm4gbV9oYW5kbGVy
LmdldCgpOyB9CiAKICAgICBzdGF0aWMgdm9pZCBwdXQoSlNDZWxsKiwgRXhlY1N0YXRlKiwgUHJv
cGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKICAgICBzdGF0aWMgdm9pZCBw
dXRCeUluZGV4KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgSlNW
YWx1ZSwgYm9vbCBzaG91bGRUaHJvdyk7CiAgICAgdm9pZCBwdXRCeUluZGV4Q29tbW9uKEV4ZWNT
dGF0ZSosIEpTVmFsdWUgdGhpc1ZhbHVlLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUg
cHV0VmFsdWUsIGJvb2wgc2hvdWxkVGhyb3cpOwogICAgIEpTVmFsdWUgcGVyZm9ybUdldFByb3Rv
dHlwZShFeGVjU3RhdGUqKTsKICAgICB2b2lkIHJldm9rZShWTSYpOworICAgIGJvb2wgaXNSZXZv
a2VkKCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgUHJveHlPYmplY3QoVk0mLCBTdHJ1Y3R1cmUq
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9lczYueWFtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvZXM2LnlhbWwJKHJldmlzaW9uIDE5Nzg4
OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9lczYueWFtbAkod29ya2luZyBjb3B5
KQpAQCAtOTA5LDcgKzkwOSw3IEBACiAtIHBhdGg6IGVzNi9Qcm94eV9hcHBseV9oYW5kbGVyLmpz
CiAgIGNtZDogcnVuRVM2IDpub3JtYWwKIC0gcGF0aDogZXM2L1Byb3h5X0FycmF5LmlzQXJyYXlf
c3VwcG9ydC5qcwotICBjbWQ6IHJ1bkVTNiA6ZmFpbAorICBjbWQ6IHJ1bkVTNiA6bm9ybWFsCiAt
IHBhdGg6IGVzNi9Qcm94eV9jb25zdHJ1Y3RfaGFuZGxlci5qcwogICBjbWQ6IHJ1bkVTNiA6bm9y
bWFsCiAtIHBhdGg6IGVzNi9Qcm94eV9jb25zdHJ1Y3Rvcl9yZXF1aXJlc19uZXcuanMKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvcHJveHktaXMtYXJyYXkuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9wcm94eS1pcy1h
cnJheS5qcwkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvcHJveHktaXMtYXJyYXkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2MSBAQAorZnVu
Y3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigi
QmFkIGFzc2VydGlvbi4iKQorfQorCitmdW5jdGlvbiB0ZXN0KGYpIHsKKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDUwMDsgaSsrKQorICAgICAgICBmKCk7Cit9CisKK3Rlc3QoZnVuY3Rpb24oKSB7
CisgICAgbGV0IHByb3h5ID0gbmV3IFByb3h5KFtdLCB7fSk7CisgICAgYXNzZXJ0KEFycmF5Lmlz
QXJyYXkocHJveHkpKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB7cHJveHks
IHJldm9rZX0gPSBQcm94eS5yZXZvY2FibGUoW10sIHt9KTsKKyAgICBhc3NlcnQoQXJyYXkuaXNB
cnJheShwcm94eSkpOworCisgICAgcmV2b2tlKCk7CisgICAgbGV0IHRocmV3ID0gZmFsc2U7Cisg
ICAgdHJ5IHsKKyAgICAgICAgQXJyYXkuaXNBcnJheShwcm94eSk7CisgICAgfSBjYXRjaChlKSB7
CisgICAgICAgIHRocmV3ID0gdHJ1ZTsKKyAgICAgICAgYXNzZXJ0KGUudG9TdHJpbmcoKSA9PT0g
IlR5cGVFcnJvcjogQXJyYXkuaXNBcnJheSBjYW4gbm90IGJlIGNhbGxlZCBvbiBhIFByb3h5IHRo
YXQgaGFzIGJlZW4gcmV2b2tlZC4iKTsKKyAgICB9CisgICAgYXNzZXJ0KHRocmV3KTsKK30pOwor
Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBwcm94eUNoYWluID0gbmV3IFByb3h5KFtdLCB7
fSk7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA0MDA7IGkrKykKKyAgICAgICAgcHJveHlDaGFp
biA9IG5ldyBQcm94eShwcm94eUNoYWluLCB7fSk7CisgICAgYXNzZXJ0KEFycmF5LmlzQXJyYXko
cHJveHlDaGFpbikpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHByb3h5Q2hh
aW4gPSBuZXcgUHJveHkoW10sIHt9KTsKKyAgICBsZXQgcmV2b2tlID0gbnVsbDsKKyAgICBmb3Ig
KGxldCBpID0gMDsgaSA8IDQwMDsgaSsrKSB7CisgICAgICAgIGlmIChpICE9PSAyNTApIHsKKyAg
ICAgICAgICAgIHByb3h5Q2hhaW4gPSBuZXcgUHJveHkocHJveHlDaGFpbiwge30pOworICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgbGV0IHJlc3VsdCA9IFByb3h5LnJldm9jYWJsZShwcm94
eUNoYWluLCB7fSk7CisgICAgICAgICAgICBwcm94eUNoYWluID0gcmVzdWx0LnByb3h5OworICAg
ICAgICAgICAgcmV2b2tlID0gcmVzdWx0LnJldm9rZTsKKyAgICAgICAgfQorICAgIH0KKyAgICBh
c3NlcnQoQXJyYXkuaXNBcnJheShwcm94eUNoYWluKSk7CisKKyAgICByZXZva2UoKTsKKyAgICBs
ZXQgdGhyZXcgPSBmYWxzZTsKKyAgICB0cnkgeworICAgICAgICBBcnJheS5pc0FycmF5KHByb3h5
Q2hhaW4pOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICB0aHJldyA9IHRydWU7CisgICAgICAg
IGFzc2VydChlLnRvU3RyaW5nKCkgPT09ICJUeXBlRXJyb3I6IEFycmF5LmlzQXJyYXkgY2FuIG5v
dCBiZSBjYWxsZWQgb24gYSBQcm94eSB0aGF0IGhhcyBiZWVuIHJldm9rZWQuIik7CisgICAgfQor
ICAgIGFzc2VydCh0aHJldyk7Cit9KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>