<?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>154873</bug_id>
          
          <creation_ts>2016-03-01 13:41:12 -0800</creation_ts>
          <short_desc>[ES6] Implement Proxy.[[PreventExtensions]]</short_desc>
          <delta_ts>2016-03-01 15:59:01 -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>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>1169558</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-03-01 13:41:12 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169584</commentid>
    <comment_count>1</comment_count>
      <attachid>272595</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-03-01 15:14:11 -0800</bug_when>
    <thetext>Created attachment 272595
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169587</commentid>
    <comment_count>2</comment_count>
      <attachid>272595</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2016-03-01 15:23:46 -0800</bug_when>
    <thetext>Comment on attachment 272595
patch

I do so wish these methods could actually be in JS as well (just because the error handling is more complex than is pleasant to read)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169599</commentid>
    <comment_count>3</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-03-01 15:38:44 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 272595 [details]
&gt; patch
&gt; 
&gt; I do so wish these methods could actually be in JS as well (just because the
&gt; error handling is more complex than is pleasant to read)

I agree.
I was speaking with Yusuke on IRC yesterday about this.
I think version 2 implementation of Proxy will be written
in JS + implement necessary intrinsics to make it work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169600</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-03-01 15:42:48 -0800</bug_when>
    <thetext>landed in:
http://trac.webkit.org/changeset/197418</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169608</commentid>
    <comment_count>5</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-03-01 15:59:01 -0800</bug_when>
    <thetext>landed follow up to uncomment commented-out test cases in:
http://trac.webkit.org/changeset/197422</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>272595</attachid>
            <date>2016-03-01 15:14:11 -0800</date>
            <delta_ts>2016-03-01 15:23:46 -0800</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>12799</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk3NDE0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBA
CisyMDE2LTAzLTAxICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IFtFUzZdIEltcGxlbWVudCBQcm94eS5bW1ByZXZlbnRFeHRlbnNpb25zXV0KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDg3MworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaXMgYSBkaXJl
Y3QgaW1wbGVtZW50YXRpb24gb2YgUHJveHkuW1tQcmV2ZW50RXh0ZW5zaW9uc11dIHdpdGggcmVz
cGVjdCB0byBzZWN0aW9uIDkuNS40CisgICAgICAgIG9mIHRoZSBFQ01BU2NyaXB0IDYgc3BlYy4K
KyAgICAgICAgaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtcHJveHktb2JqZWN0
LWludGVybmFsLW1ldGhvZHMtYW5kLWludGVybmFsLXNsb3RzLXByZXZlbnRleHRlbnNpb25zCisK
KyAgICAgICAgKiBydW50aW1lL1Byb3h5T2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6UHJveHlP
YmplY3Q6OmRlbGV0ZVByb3BlcnR5QnlJbmRleCk6CisgICAgICAgIChKU0M6OlByb3h5T2JqZWN0
OjpwZXJmb3JtUHJldmVudEV4dGVuc2lvbnMpOgorICAgICAgICAoSlNDOjpQcm94eU9iamVjdDo6
cHJldmVudEV4dGVuc2lvbnMpOgorICAgICAgICAoSlNDOjpQcm94eU9iamVjdDo6dmlzaXRDaGls
ZHJlbik6CisgICAgICAgICogcnVudGltZS9Qcm94eU9iamVjdC5oOgorICAgICAgICAqIHRlc3Rz
L2VzNi55YW1sOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9wcm94eS1wcmV2ZW50LWV4dGVuc2lv
bnMuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHRocm93Lm5ldy5FcnJv
ci5sZXQuaGFuZGxlci5nZXQgcHJldmVudEV4dGVuc2lvbnMpOgorICAgICAgICAodGhyb3cubmV3
LkVycm9yKToKKyAgICAgICAgKGFzc2VydC5sZXQuaGFuZGxlci5wcmV2ZW50RXh0ZW5zaW9ucyk6
CisgICAgICAgIChhc3NlcnQuKToKKyAgICAgICAgKGxldC5oYW5kbGVyLnByZXZlbnRFeHRlbnNp
b25zKToKKyAgICAgICAgKGFzc2VydC5PYmplY3QuaXNTZWFsZWQubGV0LmhhbmRsZXIucHJldmVu
dEV4dGVuc2lvbnMpOgorICAgICAgICAoYXNzZXJ0Lk9iamVjdC5pc1NlYWxlZCk6CisKIDIwMTYt
MDMtMDEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBSZWR1Y2Ugc2l6ZSBvZiBpbnRlcm5hbCB3aW5kb3dzIGJ1aWxkIG91dHB1dApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJveHlPYmplY3QuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3h5T2JqZWN0LmNwcAkocmV2aXNp
b24gMTk3NDEzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJveHlPYmplY3Qu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTcsNiArNTk3LDU0IEBAIGJvb2wgUHJveHlPYmplY3Q6
OmRlbGV0ZVByb3BlcnR5QnlJbmRleCgKICAgICByZXR1cm4gdGhpc09iamVjdC0+cGVyZm9ybURl
bGV0ZShleGVjLCBpZGVudC5pbXBsKCksIHBlcmZvcm1EZWZhdWx0RGVsZXRlKTsKIH0KIAorYm9v
bCBQcm94eU9iamVjdDo6cGVyZm9ybVByZXZlbnRFeHRlbnNpb25zKEV4ZWNTdGF0ZSogZXhlYykK
K3sKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworCisgICAgSlNWYWx1ZSBoYW5kbGVyVmFsdWUg
PSB0aGlzLT5oYW5kbGVyKCk7CisgICAgaWYgKGhhbmRsZXJWYWx1ZS5pc051bGwoKSkgeworICAg
ICAgICB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgiUHJveHkgJ2hhbmRsZXIn
IGlzIG51bGwuIEl0IHNob3VsZCBiZSBhbiBPYmplY3QuIikpOworICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorCisgICAgSlNPYmplY3QqIGhhbmRsZXIgPSBqc0Nhc3Q8SlNPYmplY3QqPiho
YW5kbGVyVmFsdWUpOworICAgIENhbGxEYXRhIGNhbGxEYXRhOworICAgIENhbGxUeXBlIGNhbGxU
eXBlOworICAgIEpTVmFsdWUgcHJldmVudEV4dGVuc2lvbnNNZXRob2QgPSBoYW5kbGVyLT5nZXRN
ZXRob2QoZXhlYywgY2FsbERhdGEsIGNhbGxUeXBlLCBtYWtlSWRlbnRpZmllcih2bSwgInByZXZl
bnRFeHRlbnNpb25zIiksIEFTQ0lJTGl0ZXJhbCgiJ3ByZXZlbnRFeHRlbnNpb25zJyBwcm9wZXJ0
eSBvZiBhIFByb3h5J3MgaGFuZGxlciBzaG91bGQgYmUgY2FsbGFibGUuIikpOworICAgIGlmIChl
eGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIEpTT2JqZWN0
KiB0YXJnZXQgPSB0aGlzLT50YXJnZXQoKTsKKyAgICBpZiAocHJldmVudEV4dGVuc2lvbnNNZXRo
b2QuaXNVbmRlZmluZWQoKSkKKyAgICAgICAgcmV0dXJuIHRhcmdldC0+bWV0aG9kVGFibGUodm0p
LT5wcmV2ZW50RXh0ZW5zaW9ucyh0YXJnZXQsIGV4ZWMpOworCisgICAgTWFya2VkQXJndW1lbnRC
dWZmZXIgYXJndW1lbnRzOworICAgIGFyZ3VtZW50cy5hcHBlbmQodGFyZ2V0KTsKKyAgICBKU1Zh
bHVlIHRyYXBSZXN1bHQgPSBjYWxsKGV4ZWMsIHByZXZlbnRFeHRlbnNpb25zTWV0aG9kLCBjYWxs
VHlwZSwgY2FsbERhdGEsIGhhbmRsZXIsIGFyZ3VtZW50cyk7CisgICAgaWYgKGV4ZWMtPmhhZEV4
Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBib29sIHRyYXBSZXN1bHRB
c0Jvb2wgPSB0cmFwUmVzdWx0LnRvQm9vbGVhbihleGVjKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhj
ZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICh0cmFwUmVzdWx0QXNC
b29sKSB7CisgICAgICAgIGJvb2wgdGFyZ2V0SXNFeHRlbnNpYmxlID0gdGFyZ2V0LT5pc0V4dGVu
c2libGVJbmxpbmUoZXhlYyk7CisgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKHRhcmdldElzRXh0ZW5zaWJsZSkg
eworICAgICAgICAgICAgdGhyb3dWTVR5cGVFcnJvcihleGVjLCBBU0NJSUxpdGVyYWwoIlByb3h5
J3MgJ3ByZXZlbnRFeHRlbnNpb25zJyB0cmFwIHJldHVybmVkIHRydWUgZXZlbiB0aG91Z2ggaXRz
IHRhcmdldCBpcyBleHRlbnNpYmxlLiBJdCBzaG91bGQgaGF2ZSByZXR1cm5lZCBmYWxzZS4iKSk7
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1
cm4gdHJhcFJlc3VsdEFzQm9vbDsKK30KKworYm9vbCBQcm94eU9iamVjdDo6cHJldmVudEV4dGVu
c2lvbnMoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjKQoreworICAgIHJldHVybiBq
c0Nhc3Q8UHJveHlPYmplY3QqPihvYmplY3QpLT5wZXJmb3JtUHJldmVudEV4dGVuc2lvbnMoZXhl
Yyk7Cit9CisKIHZvaWQgUHJveHlPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBT
bG90VmlzaXRvciYgdmlzaXRvcikKIHsKICAgICBQcm94eU9iamVjdCogdGhpc09iamVjdCA9IGpz
Q2FzdDxQcm94eU9iamVjdCo+KGNlbGwpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUHJveHlPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Qcm94eU9iamVjdC5oCShyZXZpc2lvbiAxOTc0MTMpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Qcm94eU9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2
OSw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0
YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVy
dHkoSlNDZWxsKiwgRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lKTsKICAgICBzdGF0aWMgYm9vbCBk
ZWxldGVQcm9wZXJ0eUJ5SW5kZXgoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVy
dHlOYW1lKTsKKyAgICBzdGF0aWMgYm9vbCBwcmV2ZW50RXh0ZW5zaW9ucyhKU09iamVjdCosIEV4
ZWNTdGF0ZSopOwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZp
c2l0b3ImKTsKIAogICAgIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90Q29tbW9uKEV4ZWNTdGF0ZSos
IFByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CkBAIC03OCw2ICs3OSw3IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBwZXJmb3JtRGVsZXRlKEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSwgRGVmYXVs
dERlbGV0ZUZ1bmN0aW9uKTsKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgUGVyZm9ybURlZmF1bHRQ
dXRGdW5jdGlvbj4KICAgICB2b2lkIHBlcmZvcm1QdXQoRXhlY1N0YXRlKiwgSlNWYWx1ZSBwdXRW
YWx1ZSwgSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSwgUGVyZm9ybURlZmF1bHRQdXRG
dW5jdGlvbik7CisgICAgYm9vbCBwZXJmb3JtUHJldmVudEV4dGVuc2lvbnMoRXhlY1N0YXRlKik7
CiAKICAgICBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+IG1fdGFyZ2V0OwogICAgIFdyaXRlQmFycmll
cjxVbmtub3duPiBtX2hhbmRsZXI7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
ZXM2LnlhbWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL2VzNi55
YW1sCShyZXZpc2lvbiAxOTc0MTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvZXM2
LnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTEwNjEsNyArMTA2MSw3IEBACiAtIHBhdGg6IGVzNi9Q
cm94eV9vd25LZXlzX2hhbmRsZXIuanMKICAgY21kOiBydW5FUzYgOmZhaWwKIC0gcGF0aDogZXM2
L1Byb3h5X3ByZXZlbnRFeHRlbnNpb25zX2hhbmRsZXIuanMKLSAgY21kOiBydW5FUzYgOmZhaWwK
KyAgY21kOiBydW5FUzYgOm5vcm1hbAogLSBwYXRoOiBlczYvUHJveHlfUHJveHkucmV2b2NhYmxl
LmpzCiAgIGNtZDogcnVuRVM2IDpmYWlsCiAtIHBhdGg6IGVzNi9Qcm94eV9zZXRfaGFuZGxlci5q
cwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9wcm94eS1wcmV2ZW50
LWV4dGVuc2lvbnMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9wcm94eS1wcmV2ZW50LWV4dGVuc2lvbnMuanMJKHJldmlzaW9uIDApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3Byb3h5LXByZXZlbnQtZXh0ZW5zaW9ucy5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4MCBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsK
KyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc2VydGlvbi4iKTsK
K30KKworeworICAgIGxldCB0YXJnZXQgPSB7fTsKKyAgICBsZXQgZXJyb3IgPSBudWxsOworICAg
IGxldCBoYW5kbGVyID0geworICAgICAgICBnZXQgcHJldmVudEV4dGVuc2lvbnMoKSB7CisgICAg
ICAgICAgICBlcnJvciA9IG5ldyBFcnJvcjsKKyAgICAgICAgICAgIHRocm93IGVycm9yOworICAg
ICAgICB9CisgICAgfTsKKyAgICAKKyAgICBsZXQgcHJveHkgPSBuZXcgUHJveHkodGFyZ2V0LCBo
YW5kbGVyKTsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDUwMDsgaSsrKSB7CisgICAgICAgIGxl
dCB0aHJldyA9IGZhbHNlOworICAgICAgICB0cnkgeworICAgICAgICAgICAgUmVmbGVjdC5wcmV2
ZW50RXh0ZW5zaW9ucyhwcm94eSk7CisgICAgICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAg
YXNzZXJ0KGUgPT09IGVycm9yKTsKKyAgICAgICAgICAgIHRocmV3ID0gdHJ1ZTsKKyAgICAgICAg
fQorICAgICAgICBhc3NlcnQodGhyZXcpOworICAgIH0KK30KKworeworICAgIGxldCB0YXJnZXQg
PSB7fTsKKyAgICBsZXQgZXJyb3IgPSBudWxsOworICAgIGxldCBoYW5kbGVyID0geworICAgICAg
ICBwcmV2ZW50RXh0ZW5zaW9uczogZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBlcnJvciA9IG5l
dyBFcnJvcjsKKyAgICAgICAgICAgIHRocm93IGVycm9yOworICAgICAgICB9CisgICAgfTsKKyAg
ICAKKyAgICBsZXQgcHJveHkgPSBuZXcgUHJveHkodGFyZ2V0LCBoYW5kbGVyKTsKKyAgICBmb3Ig
KGxldCBpID0gMDsgaSA8IDUwMDsgaSsrKSB7CisgICAgICAgIGxldCB0aHJldyA9IGZhbHNlOwor
ICAgICAgICB0cnkgeworICAgICAgICAgICAgUmVmbGVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhwcm94
eSk7CisgICAgICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAgYXNzZXJ0KGUgPT09IGVycm9y
KTsKKyAgICAgICAgICAgIHRocmV3ID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICBhc3NlcnQo
dGhyZXcpOworICAgIH0KK30KKworeworICAgIGxldCBlcnJvciA9IG51bGw7CisgICAgbGV0IHRh
cmdldCA9IG5ldyBQcm94eSh7fSwgeworICAgICAgICBwcmV2ZW50RXh0ZW5zaW9uczogZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICBlcnJvciA9IG5ldyBFcnJvcjsKKyAgICAgICAgICAgIHRocm93
IGVycm9yOworICAgICAgICB9CisgICAgfSk7CisgICAgbGV0IGhhbmRsZXIgPSB7CisgICAgICAg
IHByZXZlbnRFeHRlbnNpb25zOiBmdW5jdGlvbih0aGVUYXJnZXQpIHsKKyAgICAgICAgICAgIHJl
dHVybiBSZWZsZWN0LnByZXZlbnRFeHRlbnNpb25zKHRoZVRhcmdldCk7CisgICAgICAgIH0KKyAg
ICB9OworICAgIAorICAgIGxldCBwcm94eSA9IG5ldyBQcm94eSh0YXJnZXQsIGhhbmRsZXIpOwor
ICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTAwOyBpKyspIHsKKyAgICAgICAgbGV0IHRocmV3ID0g
ZmFsc2U7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBSZWZsZWN0LnByZXZlbnRFeHRlbnNp
b25zKHByb3h5KTsKKyAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgICAgICBhc3NlcnQoZSA9
PT0gZXJyb3IpOworICAgICAgICAgICAgdGhyZXcgPSB0cnVlOworICAgICAgICB9CisgICAgICAg
IGFzc2VydCh0aHJldyk7CisgICAgfQorfQorCit7CisgICAgbGV0IHRhcmdldCA9IHt9OworICAg
IGxldCBoYW5kbGVyID0geworICAgICAgICBwcmV2ZW50RXh0ZW5zaW9uczogNDUKKyAgICB9Owor
ICAgIAorICAgIGxldCBwcm94eSA9IG5ldyBQcm94eSh0YXJnZXQsIGhhbmRsZXIpOworICAgIGZv
ciAobGV0IGkgPSAwOyBpIDwgNTAwOyBpKyspIHsKKyAgICAgICAgbGV0IHRocmV3ID0gZmFsc2U7
CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBSZWZsZWN0LnByZXZlbnRFeHRlbnNpb25zKHBy
b3h5KTsKKyAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgICAgICBhc3NlcnQoZS50b1N0cmlu
ZygpID09PSAiVHlwZUVycm9yOiAncHJldmVudEV4dGVuc2lvbnMnIHByb3BlcnR5IG9mIGEgUHJv
eHkncyBoYW5kbGVyIHNob3VsZCBiZSBjYWxsYWJsZS4iKTsKKyAgICAgICAgICAgIHRocmV3ID0g
dHJ1ZTsKKyAgICAgICAgfQorICAgICAgICBhc3NlcnQodGhyZXcpOworICAgIH0KK30KKworewor
ICAgIGxldCB0YXJnZXQgPSB7fTsKKyAgICBsZXQgaGFuZGxlciA9IHsKKyAgICAgICAgcHJldmVu
dEV4dGVuc2lvbnM6IG51bGwKKyAgICB9OworICAgIAorICAgIGxldCBwcm94eSA9IG5ldyBQcm94
eSh0YXJnZXQsIGhhbmRsZXIpOworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTAwOyBpKyspIHsK
KyAgICAgICAgbGV0IHJlc3VsdCA9IFJlZmxlY3QucHJldmVudEV4dGVuc2lvbnMocHJveHkpOwor
ICAgICAgICBhc3NlcnQocmVzdWx0KTsKKyAgICAgICAgYXNzZXJ0KCFSZWZsZWN0LmlzRXh0ZW5z
aWJsZSh0YXJnZXQpKTsKKyAgICB9Cit9CisKK3sKKyAgICBsZXQgdGFyZ2V0ID0ge307CisgICAg
bGV0IGhhbmRsZXIgPSB7CisgICAgICAgIHByZXZlbnRFeHRlbnNpb25zOiB1bmRlZmluZWQKKyAg
ICB9OworICAgIAorICAgIGxldCBwcm94eSA9IG5ldyBQcm94eSh0YXJnZXQsIGhhbmRsZXIpOwor
ICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTAwOyBpKyspIHsKKyAgICAgICAgbGV0IHJlc3VsdCA9
IFJlZmxlY3QucHJldmVudEV4dGVuc2lvbnMocHJveHkpOworICAgICAgICBhc3NlcnQocmVzdWx0
KTsKKyAgICAgICAgYXNzZXJ0KCFSZWZsZWN0LmlzRXh0ZW5zaWJsZSh0YXJnZXQpKTsKKyAgICB9
Cit9CisKK3sKKyAgICBsZXQgdGFyZ2V0ID0ge307CisgICAgbGV0IGhhbmRsZXIgPSB7CisgICAg
ICAgIHByZXZlbnRFeHRlbnNpb25zOiBmdW5jdGlvbih0aGVUYXJnZXQpIHsKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgfTsKKyAgICAKKyAgICBsZXQgcHJveHkgPSBu
ZXcgUHJveHkodGFyZ2V0LCBoYW5kbGVyKTsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDUwMDsg
aSsrKSB7CisgICAgICAgIGxldCB0aHJldyA9IGZhbHNlOworICAgICAgICB0cnkgeworICAgICAg
ICAgICAgUmVmbGVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhwcm94eSk7CisgICAgICAgIH0gY2F0Y2go
ZSkgeworICAgICAgICAgICAgYXNzZXJ0KGUudG9TdHJpbmcoKSA9PT0gIlR5cGVFcnJvcjogUHJv
eHkncyAncHJldmVudEV4dGVuc2lvbnMnIHRyYXAgcmV0dXJuZWQgdHJ1ZSBldmVuIHRob3VnaCBp
dHMgdGFyZ2V0IGlzIGV4dGVuc2libGUuIEl0IHNob3VsZCBoYXZlIHJldHVybmVkIGZhbHNlLiIp
OworICAgICAgICAgICAgdGhyZXcgPSB0cnVlOworICAgICAgICB9CisgICAgICAgIGFzc2VydCh0
aHJldyk7CisgICAgfQorfQorCit7CisgICAgbGV0IHRhcmdldCA9IHt9OworICAgIGxldCBjYWxs
ZWQgPSBmYWxzZTsKKyAgICBsZXQgaGFuZGxlciA9IHsKKyAgICAgICAgcHJldmVudEV4dGVuc2lv
bnM6IGZ1bmN0aW9uKHRoZVRhcmdldCkgeworICAgICAgICAgICAgYXNzZXJ0KHRoZVRhcmdldCA9
PT0gdGFyZ2V0KTsKKyAgICAgICAgICAgIGNhbGxlZCA9IHRydWU7CisgICAgICAgICAgICByZXR1
cm4gUmVmbGVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh0aGVUYXJnZXQpOworICAgICAgICB9CisgICAg
fTsKKyAgICAKKyAgICBsZXQgcHJveHkgPSBuZXcgUHJveHkodGFyZ2V0LCBoYW5kbGVyKTsKKyAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IDUwMDsgaSsrKSB7CisgICAgICAgIGxldCByZXN1bHQgPSBS
ZWZsZWN0LnByZXZlbnRFeHRlbnNpb25zKHByb3h5KTsKKyAgICAgICAgYXNzZXJ0KHJlc3VsdCk7
CisgICAgICAgIGFzc2VydChjYWxsZWQpOworICAgICAgICBjYWxsZWQgPSBmYWxzZTsKKyAgICB9
Cit9CisKK3sKKyAgICBsZXQgdGFyZ2V0ID0ge307CisgICAgbGV0IGNhbGxlZCA9IGZhbHNlOwor
ICAgIGxldCBoYW5kbGVyID0geworICAgICAgICBwcmV2ZW50RXh0ZW5zaW9uczogZnVuY3Rpb24o
dGhlVGFyZ2V0KSB7CisgICAgICAgICAgICBhc3NlcnQodGhlVGFyZ2V0ID09PSB0YXJnZXQpOwor
ICAgICAgICAgICAgY2FsbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgfQorICAgIH07CisgICAgCisgICAgbGV0IHByb3h5ID0gbmV3IFByb3h5KHRhcmdldCwg
aGFuZGxlcik7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1MDA7IGkrKykgeworICAgICAgICBs
ZXQgcmVzdWx0ID0gUmVmbGVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhwcm94eSk7CisgICAgICAgIGFz
c2VydCghcmVzdWx0KTsKKyAgICAgICAgYXNzZXJ0KGNhbGxlZCk7CisgICAgICAgIGNhbGxlZCA9
IGZhbHNlOworICAgIH0KK30KKworeworICAgIGxldCB0YXJnZXQgPSB7fTsKKyAgICBsZXQgY2Fs
bGVkID0gZmFsc2U7CisgICAgbGV0IGhhbmRsZXIgPSB7CisgICAgICAgIHByZXZlbnRFeHRlbnNp
b25zOiBmdW5jdGlvbih0aGVUYXJnZXQpIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGVUYXJnZXQg
PT09IHRhcmdldCk7CisgICAgICAgICAgICBjYWxsZWQgPSB0cnVlOworICAgICAgICAgICAgcmV0
dXJuIFJlZmxlY3QucHJldmVudEV4dGVuc2lvbnModGhlVGFyZ2V0KTsKKyAgICAgICAgfQorICAg
IH07CisgICAgCisgICAgbGV0IHByb3h5ID0gbmV3IFByb3h5KHRhcmdldCwgaGFuZGxlcik7Cisg
ICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1MDA7IGkrKykgeworICAgICAgICBsZXQgcmVzdWx0ID0g
UmVmbGVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhwcm94eSk7CisgICAgICAgIGFzc2VydChyZXN1bHQp
OworICAgICAgICBhc3NlcnQoY2FsbGVkKTsKKyAgICAgICAgY2FsbGVkID0gZmFsc2U7CisKKyAg
ICAgICAgLy8gRklYTUU6IFRoaXMgaXMgdHJ1ZSBvbmNlIHdlIGltcGxlbWVudCBQcm94eS5bW0lz
RXh0ZW5zaWJsZV1dCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTQ4NzIKKyAgICAgICAgLyoKKyAgICAgICAgYXNzZXJ0KCFSZWZsZWN0LmlzRXh0
ZW5zaWJsZShwcm94eSkpOworICAgICAgICAqLworCisgICAgICAgIGFzc2VydCghUmVmbGVjdC5p
c0V4dGVuc2libGUodGFyZ2V0KSk7CisgICAgICAgIGFzc2VydCghT2JqZWN0LmlzRXh0ZW5zaWJs
ZSh0YXJnZXQpKTsKKyAgICAgICAgYXNzZXJ0KE9iamVjdC5pc0Zyb3plbih0YXJnZXQpKTsKKyAg
ICAgICAgYXNzZXJ0KE9iamVjdC5pc1NlYWxlZCh0YXJnZXQpKTsKKyAgICB9Cit9CisKK3sKKyAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IDUwMDsgaSsrKSB7CisgICAgICAgIGxldCB0YXJnZXQgPSB7
fTsKKyAgICAgICAgbGV0IGNhbGxlZCA9IGZhbHNlOworICAgICAgICBsZXQgaGFuZGxlciA9IHsK
KyAgICAgICAgICAgIHByZXZlbnRFeHRlbnNpb25zOiBmdW5jdGlvbih0aGVUYXJnZXQpIHsKKyAg
ICAgICAgICAgICAgICBhc3NlcnQodGhlVGFyZ2V0ID09PSB0YXJnZXQpOworICAgICAgICAgICAg
ICAgIGNhbGxlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgcmV0dXJuIFJlZmxlY3QucHJldmVu
dEV4dGVuc2lvbnModGhlVGFyZ2V0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAg
ICAgCisgICAgICAgIGxldCBwcm94eSA9IG5ldyBQcm94eSh0YXJnZXQsIGhhbmRsZXIpOworCisg
ICAgICAgIGxldCByZXN1bHQgPSBSZWZsZWN0LnByZXZlbnRFeHRlbnNpb25zKHByb3h5KTsKKyAg
ICAgICAgYXNzZXJ0KHJlc3VsdCk7CisgICAgICAgIGFzc2VydChjYWxsZWQpOworICAgICAgICBj
YWxsZWQgPSBmYWxzZTsKKworICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyB0cnVlIG9uY2Ugd2Ug
aW1wbGVtZW50IFByb3h5LltbSXNFeHRlbnNpYmxlXV0KKyAgICAgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDg3MgorICAgICAgICAvKgorICAgICAgICBh
c3NlcnQoIVJlZmxlY3QuaXNFeHRlbnNpYmxlKHByb3h5KSk7CisgICAgICAgICovCisKKyAgICAg
ICAgYXNzZXJ0KCFSZWZsZWN0LmlzRXh0ZW5zaWJsZSh0YXJnZXQpKTsKKyAgICAgICAgYXNzZXJ0
KCFPYmplY3QuaXNFeHRlbnNpYmxlKHRhcmdldCkpOworICAgICAgICBhc3NlcnQoT2JqZWN0Lmlz
RnJvemVuKHRhcmdldCkpOworICAgICAgICBhc3NlcnQoT2JqZWN0LmlzU2VhbGVkKHRhcmdldCkp
OworICAgIH0KK30KKworeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTAwOyBpKyspIHsKKyAg
ICAgICAgbGV0IHRhcmdldCA9IHt9OworICAgICAgICBsZXQgY2FsbGVkID0gZmFsc2U7CisgICAg
ICAgIGxldCBoYW5kbGVyID0geworICAgICAgICAgICAgcHJldmVudEV4dGVuc2lvbnM6IGZ1bmN0
aW9uKHRoZVRhcmdldCkgeworICAgICAgICAgICAgICAgIGFzc2VydCh0aGVUYXJnZXQgPT09IHRh
cmdldCk7CisgICAgICAgICAgICAgICAgY2FsbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHRoZVRhcmdldCk7CisgICAgICAgICAgICB9
CisgICAgICAgIH07CisgICAgICAgIAorICAgICAgICBsZXQgcHJveHkgPSBuZXcgUHJveHkodGFy
Z2V0LCBoYW5kbGVyKTsKKworICAgICAgICBsZXQgcmVzdWx0ID0gUmVmbGVjdC5wcmV2ZW50RXh0
ZW5zaW9ucyhwcm94eSk7CisgICAgICAgIGFzc2VydChyZXN1bHQpOworICAgICAgICBhc3NlcnQo
Y2FsbGVkKTsKKyAgICAgICAgY2FsbGVkID0gZmFsc2U7CisKKyAgICAgICAgLy8gRklYTUU6IFRo
aXMgaXMgdHJ1ZSBvbmNlIHdlIGltcGxlbWVudCBQcm94eS5bW0lzRXh0ZW5zaWJsZV1dCisgICAg
ICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ4NzIKKyAg
ICAgICAgLyoKKyAgICAgICAgYXNzZXJ0KCFSZWZsZWN0LmlzRXh0ZW5zaWJsZShwcm94eSkpOwor
ICAgICAgICAqLworCisgICAgICAgIGFzc2VydCghUmVmbGVjdC5pc0V4dGVuc2libGUodGFyZ2V0
KSk7CisgICAgICAgIGFzc2VydCghT2JqZWN0LmlzRXh0ZW5zaWJsZSh0YXJnZXQpKTsKKyAgICAg
ICAgYXNzZXJ0KE9iamVjdC5pc0Zyb3plbih0YXJnZXQpKTsKKyAgICAgICAgYXNzZXJ0KE9iamVj
dC5pc1NlYWxlZCh0YXJnZXQpKTsKKyAgICB9Cit9Cg==
</data>
<flag name="review"
          id="297364"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>