<?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>185906</bug_id>
          
          <creation_ts>2018-05-23 02:47:53 -0700</creation_ts>
          <short_desc>Unexpected constructor / instanceof  behavior when retrieving indexedDB data in an iframe</short_desc>
          <delta_ts>2018-11-29 10:53:20 -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>WebCore Misc.</component>
          <version>Safari 11</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>macOS 10.13</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Maxime Réty">maxime.rety</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dpaddock</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>jsbell</cc>
    
    <cc>kangil.han</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>stefan</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1426519</commentid>
    <comment_count>0</comment_count>
    <who name="Maxime Réty">maxime.rety</who>
    <bug_when>2018-05-23 02:47:53 -0700</bug_when>
    <thetext>There&apos;s an unexpected behavior in Safari 11.1 after retrieving data from indexedDB inside an iframe: the values cannot be properly checked against constructors with instanceof.

Pseudo code run in an iframe:

  // Store this record in indexedDB
  const record = { array: [1, 2, 3] };

  // Same record retrieved later from indexedDB:
  const record = event.target.result;
  record.array instanceof Array;               // expected true but false in Safari 11.1
  record.array instanceof window.parent.Array; // expected false but true in Safari 11.1

Tested on Safari Version 11.1 (13605.1.33.1.4) on macOS High Sierra 10.13.4.

The issue also occurs for Uint8Array, a.s.o. and probably all &quot;constructed&quot; types.

A lot of libraries and home-made code rely on instanceof to work as expected on values retrieved from indexedDB in an iframe.

Full test case: https://gist.github.com/maximerety/92431f6f4cc9ea8f684de8c124469995

Related issue: https://github.com/feross/buffer/issues/166</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1426695</commentid>
    <comment_count>1</comment_count>
      <attachid>341118</attachid>
    <who name="John Vilk">webkit</who>
    <bug_when>2018-05-23 12:49:45 -0700</bug_when>
    <thetext>Created attachment 341118
Minimal test case

I have attached a minimal test case that demonstrates the issue.

Note: You cannot run this from a file:// URL, as those cannot create IndexedDB databases. I believe Safari also restricts IndexedDB databases in private browsing mode, so it must be a regular browser window.

Expected output (in console) (you see this output in Chrome and Firefox):

Testing in main context!
result.array instanceof Array: true
result.array instanceof window.top.Array: true
Array.isArray(result.array): true
result.arrayBuffer instanceof ArrayBuffer: true
result.arrayBuffer instanceof window.top.ArrayBuffer: true
Testing in iframe context!
result.array instanceof Array: true
result.array instanceof window.top.Array: false
Array.isArray(result.array): true
result.arrayBuffer instanceof ArrayBuffer: true
result.arrayBuffer instanceof window.top.ArrayBuffer: false
test complete.


Actual output:

[Log] Testing in main context! (idb_bug.html, line 36)
[Log] result.array instanceof Array: true (idb_bug.html, line 23)
[Log] result.array instanceof window.top.Array: true (idb_bug.html, line 24)
[Log] Array.isArray(result.array): true (idb_bug.html, line 25)
[Log] result.arrayBuffer instanceof ArrayBuffer: true (idb_bug.html, line 26)
[Log] result.arrayBuffer instanceof window.top.ArrayBuffer: true (idb_bug.html, line 27)
[Log] Testing in iframe context! (about:srcdoc, line 30)
[Log] result.array instanceof Array: false (about:srcdoc, line 19)
[Log] result.array instanceof window.top.Array: true (about:srcdoc, line 20)
[Log] Array.isArray(result.array): true (about:srcdoc, line 21)
[Log] result.arrayBuffer instanceof ArrayBuffer: false (about:srcdoc, line 22)
[Log] result.arrayBuffer instanceof window.top.ArrayBuffer: true (about:srcdoc, line 23)
[Log] test complete. (about:srcdoc, line 30)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427793</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-05-26 19:33:53 -0700</bug_when>
    <thetext>&lt;rdar://problem/40583100&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472064</commentid>
    <comment_count>3</comment_count>
    <who name="Stefan Sechelmann">stefan</who>
    <bug_when>2018-10-25 08:30:25 -0700</bug_when>
    <thetext>Possibly a duplicate of https://bugs.webkit.org/show_bug.cgi?id=182097</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482233</commentid>
    <comment_count>4</comment_count>
      <attachid>355815</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2018-11-27 16:37:15 -0800</bug_when>
    <thetext>Created attachment 355815
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482830</commentid>
    <comment_count>5</comment_count>
      <attachid>355815</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2018-11-28 20:27:32 -0800</bug_when>
    <thetext>Comment on attachment 355815
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483029</commentid>
    <comment_count>6</comment_count>
      <attachid>355815</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-29 10:41:57 -0800</bug_when>
    <thetext>Comment on attachment 355815
Patch

Clearing flags on attachment: 355815

Committed r238676: &lt;https://trac.webkit.org/changeset/238676&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483030</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-29 10:41:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483038</commentid>
    <comment_count>8</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2018-11-29 10:53:20 -0800</bug_when>
    <thetext>*** Bug 182097 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>341118</attachid>
            <date>2018-05-23 12:49:45 -0700</date>
            <delta_ts>2018-05-23 12:49:45 -0700</delta_ts>
            <desc>Minimal test case</desc>
            <filename>idb_bug.html</filename>
            <type>text/html</type>
            <size>1917</size>
            <attacher name="John Vilk">webkit</attacher>
            
              <data encoding="base64">PCFkb2N0eXBlIGh0bWw+CjxodG1sPgogIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
ICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICAgZnVuY3Rpb24gdGVzdChjYikg
ewogICAgICAgIGNvbnN0IHRlc3RkYiA9IGluZGV4ZWREQi5vcGVuKCd0ZXN0ZGInLCAxKTsKICAg
ICAgICB0ZXN0ZGIub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBjb25z
dCBkYiA9IHRlc3RkYi5yZXN1bHQ7CiAgICAgICAgICBkYi5jcmVhdGVPYmplY3RTdG9yZSgiVGVz
dE9iamVjdHMiLCB7a2V5UGF0aDogImlkIn0pOwogICAgICAgIH07CiAgICAgICAgdGVzdGRiLm9u
c3VjY2VzcyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgY29uc3QgZGIgPSB0ZXN0ZGIucmVzdWx0
OwogICAgICAgICAgY29uc3QgdHggPSBkYi50cmFuc2FjdGlvbigiVGVzdE9iamVjdHMiLCAicmVh
ZHdyaXRlIik7CiAgICAgICAgICBjb25zdCBzdG9yZSA9IHR4Lm9iamVjdFN0b3JlKCJUZXN0T2Jq
ZWN0cyIpOwoKICAgICAgICAgIC8vIEFkZCBzb21lIGRhdGEKICAgICAgICAgIHN0b3JlLnB1dCh7
aWQ6IDEyMzQ1LCBhcnJheTogWzEsMiwzLDQsNV0sIGFycmF5QnVmZmVyOiBuZXcgQXJyYXlCdWZm
ZXIoMTApIH0pOwoKICAgICAgICAgIC8vIFF1ZXJ5IHRoZSBkYXRhCiAgICAgICAgICBjb25zdCBn
ZXRUZXN0RGF0YSA9IHN0b3JlLmdldCgxMjM0NSk7CiAgICAgICAgICBnZXRUZXN0RGF0YS5vbnN1
Y2Nlc3MgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gZ2V0VGVzdERh
dGEucmVzdWx0OwogICAgICAgICAgICBjb25zb2xlLmxvZygicmVzdWx0LmFycmF5IGluc3RhbmNl
b2YgQXJyYXk6ICIgKyAocmVzdWx0LmFycmF5IGluc3RhbmNlb2YgQXJyYXkpKTsKICAgICAgICAg
ICAgY29uc29sZS5sb2coInJlc3VsdC5hcnJheSBpbnN0YW5jZW9mIHdpbmRvdy50b3AuQXJyYXk6
ICIgKyAocmVzdWx0LmFycmF5IGluc3RhbmNlb2Ygd2luZG93LnRvcC5BcnJheSkpOwogICAgICAg
ICAgICBjb25zb2xlLmxvZygiQXJyYXkuaXNBcnJheShyZXN1bHQuYXJyYXkpOiAiICsgIEFycmF5
LmlzQXJyYXkocmVzdWx0LmFycmF5KSk7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCJyZXN1bHQu
YXJyYXlCdWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcjogIiArIChyZXN1bHQuYXJyYXlCdWZm
ZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikpOwogICAgICAgICAgICBjb25zb2xlLmxvZygicmVz
dWx0LmFycmF5QnVmZmVyIGluc3RhbmNlb2Ygd2luZG93LnRvcC5BcnJheUJ1ZmZlcjogIiArIChy
ZXN1bHQuYXJyYXlCdWZmZXIgaW5zdGFuY2VvZiB3aW5kb3cudG9wLkFycmF5QnVmZmVyKSk7CiAg
ICAgICAgICB9OwogICAgICAgICAgdHgub25jb21wbGV0ZSA9IGZ1bmN0aW9uKCkgewogICAgICAg
ICAgICBkYi5jbG9zZSgpOwogICAgICAgICAgICBjYigpOwogICAgICAgICAgfTsKICAgICAgICB9
OwogICAgICB9CgogICAgICBjb25zb2xlLmxvZyhgVGVzdGluZyBpbiBtYWluIGNvbnRleHQhYCk7
CiAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgIGNvbnN0IGlmciA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwogICAgICAgICAgaWZyLnNyY2RvYyA9IGA8IWRvY3R5
cGUgaHRtbD48aHRtbD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+JHt0ZXN0LnRvU3Ry
aW5nKCl9IGNvbnNvbGUubG9nKCJUZXN0aW5nIGluIGlmcmFtZSBjb250ZXh0ISIpOyB0ZXN0KGZ1
bmN0aW9uKCkgeyBjb25zb2xlLmxvZygidGVzdCBjb21wbGV0ZS4iKTsgfSk7PC9gICsgYHNjcmlw
dD48L2h0bWw+YDsKICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyKTsKICAg
ICAgICB9KTsKICAgIH07CiAgPC9zY3JpcHQ+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355815</attachid>
            <date>2018-11-27 16:37:15 -0800</date>
            <delta_ts>2018-11-29 10:41:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185906-20181127163715.patch</filename>
            <type>text/plain</type>
            <size>8343</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTk1MzRmZTQzODkyYjk1
MmJlZDRhNjlkZmRkZTYxODEyNjgyNTBlOS4uODE0MzllMmJjODNiMTgyYTc3MmNmMjQzNTBlNmM5
ZjE1ZmFiYmJlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTExLTI3ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIFVuZXhwZWN0ZWQgY29uc3Ry
dWN0b3IgLyBpbnN0YW5jZW9mICBiZWhhdmlvciB3aGVuIHJldHJpZXZpbmcgaW5kZXhlZERCIGRh
dGEgaW4gYW4gaWZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xODU5MDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQwNTgzMTAwPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OmV4ZWNTdGF0ZSgpIHJldHVybmVkIHN0YXRlIG9mIG1haW4gZnJhbWUsIHNvIGRl
c2VyaWFsaXphdGlvbiBvZiAKKyAgICAgICAgSURCVmFsdWUgaW4gaWZyYW1lIHVzZWQgY29uc3Ry
dWN0b3JzIG9mIG1haW4gZnJhbWUsIHdoaWNoIGlzIHdyb25nLgorCisgICAgICAgIFRlc3Q6IHN0
b3JhZ2UvaW5kZXhlZGRiL2luc3RhbmNlb2YtaWZyYW1lLmh0bWwKKworICAgICAgICAqIGRvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OmV4ZWNTdGF0ZSk6CisKIDIwMTgtMTEtMjYgIFJ5YW4gSGFkZGFkICA8cnlh
bmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIz
ODM1Ny4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApp
bmRleCBkOGY2MGUyOWQzOWNmZmE5OTgyMDFkOTI4YWRhOGIzNzI0ZjZiYmI5Li43NjBkYmI2OWU5
MWUxYTIwYjk5ZmZhYjIwNDRhYzcwMmNlMjUyNWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCkBAIC01MjUsNyArNTI1LDggQEAgSlNDOjpFeGVj
U3RhdGUqIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmV4ZWNTdGF0ZSgpCiB7CiAgICAgaWYgKGlz
PERvY3VtZW50PigqdGhpcykpIHsKICAgICAgICAgRG9jdW1lbnQmIGRvY3VtZW50ID0gZG93bmNh
c3Q8RG9jdW1lbnQ+KCp0aGlzKTsKLSAgICAgICAgcmV0dXJuIGV4ZWNTdGF0ZUZyb21QYWdlKG1h
aW5UaHJlYWROb3JtYWxXb3JsZCgpLCBkb2N1bWVudC5wYWdlKCkpOworICAgICAgICBhdXRvKiBm
cmFtZSA9IGRvY3VtZW50LmZyYW1lKCk7CisgICAgICAgIHJldHVybiBmcmFtZSA/IGZyYW1lLT5z
Y3JpcHQoKS5nbG9iYWxPYmplY3QobWFpblRocmVhZE5vcm1hbFdvcmxkKCkpLT5nbG9iYWxFeGVj
KCkgOiBudWxscHRyOwogICAgIH0KIAogICAgIGlmIChpczxXb3JrZXJHbG9iYWxTY29wZT4oKnRo
aXMpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDRjNjE2NGU4ZjhjMGM3YWI3YTQzZmZkN2U0NGI1MDRkMzhiMTM1ODEuLjdm
OTY0ZGNiNzBlMWZhMmMwOWJjZjlkZmYyNzVmYmM2NzZmYzI1YjIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MSBAQAorMjAxOC0xMS0yNyAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAg
ICAgICBVbmV4cGVjdGVkIGNvbnN0cnVjdG9yIC8gaW5zdGFuY2VvZiAgYmVoYXZpb3Igd2hlbiBy
ZXRyaWV2aW5nIGluZGV4ZWREQiBkYXRhIGluIGFuIGlmcmFtZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1OTA2CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS80MDU4MzEwMD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2luc3RhbmNlb2YtaWZyYW1lLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW5zdGFuY2VvZi1pZnJhbWUu
aHRtbDogQWRkZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2luc3Rh
bmNlb2YtaWZyYW1lLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3QuZWxzZS5zaG91bGRCZSk6Cisg
ICAgICAgICh0ZXN0LmVsc2Uuc2hvdWxkQmVUcnVlKToKKyAgICAgICAgKHRlc3QuZWxzZS5zaG91
bGRCZUZhbHNlKToKKyAgICAgICAgKHRlc3QuZWxzZS5ldmFsQW5kTG9nKToKKyAgICAgICAgKHRl
c3QpOgorICAgICAgICAoY2FsbGJhY2spOgorCiAyMDE4LTExLTI2ICBSeWFuIEhhZGRhZCAgPHJ5
YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIy
MzgzNTcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnN0YW5j
ZW9mLWlmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9p
bnN0YW5jZW9mLWlmcmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTViM2Q3Y2ViMThhMzk0
NzU2NTQ1Nzg1NGY4ZGYzMDA4YmExZGJhMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2luc3RhbmNlb2YtaWZyYW1lLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM1IEBACitpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoJ3Rlc3REQicpCitpbmRleGVkREIu
b3BlbigndGVzdERCJywgMSkKK29wZW5SZXF1ZXN0LnJlc3VsdC5jcmVhdGVPYmplY3RTdG9yZSgn
dGVzdE9iamVjdFN0b3JlJywge2tleVBhdGg6ICdpZCd9KQordHggPSBvcGVuUmVxdWVzdC5yZXN1
bHQudHJhbnNhY3Rpb24oJ3Rlc3RPYmplY3RTdG9yZScsICdyZWFkd3JpdGUnKQorc3RvcmUgPSB0
eC5vYmplY3RTdG9yZSgndGVzdE9iamVjdFN0b3JlJykKK3N0b3JlLnB1dCh7aWQ6IDEsIGFycmF5
OlsxLDIsM10sIGFycmF5QnVmZmVyOiBuZXcgQXJyYXlCdWZmZXIoMyksIHNldDogbmV3IFNldChb
MSwyLDNdKSwgbWFwOiBuZXcgTWFwKFtbMSwgJ29uZSddXSksIG9iamVjdDogeyBuYW1lOiAndGVz
dCcgfX0pCitzdG9yZS5nZXQoMSkKK1BBU1MgcmVzdWx0LmFycmF5IGluc3RhbmNlb2YgQXJyYXkg
aXMgdHJ1ZQorUEFTUyByZXN1bHQuYXJyYXlCdWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciBp
cyB0cnVlCitQQVNTIHJlc3VsdC5zZXQgaW5zdGFuY2VvZiBTZXQgaXMgdHJ1ZQorUEFTUyByZXN1
bHQubWFwIGluc3RhbmNlb2YgTWFwIGlzIHRydWUKK1BBU1MgcmVzdWx0Lm9iamVjdCBpbnN0YW5j
ZW9mIE9iamVjdCBpcyB0cnVlCitQQVNTIHJlc3VsdC5hcnJheSBpbnN0YW5jZW9mIHdpbmRvdy50
b3AuQXJyYXkgaXMgdHJ1ZQorUEFTUyByZXN1bHQuYXJyYXlCdWZmZXIgaW5zdGFuY2VvZiB3aW5k
b3cudG9wLkFycmF5QnVmZmVyIGlzIHRydWUKK1BBU1MgcmVzdWx0LnNldCBpbnN0YW5jZW9mIHdp
bmRvdy50b3AuU2V0IGlzIHRydWUKK1BBU1MgcmVzdWx0Lm1hcCBpbnN0YW5jZW9mIHdpbmRvdy50
b3AuTWFwIGlzIHRydWUKK1BBU1MgcmVzdWx0Lm9iamVjdCBpbnN0YW5jZW9mIHdpbmRvdy50b3Au
T2JqZWN0IGlzIHRydWUKK2luZGV4ZWREQi5vcGVuKCd0ZXN0REInLCAxKQordHggPSBvcGVuUmVx
dWVzdC5yZXN1bHQudHJhbnNhY3Rpb24oJ3Rlc3RPYmplY3RTdG9yZScsICdyZWFkd3JpdGUnKQor
c3RvcmUgPSB0eC5vYmplY3RTdG9yZSgndGVzdE9iamVjdFN0b3JlJykKK3N0b3JlLmdldCgxKQor
UEFTUyByZXN1bHQuYXJyYXkgaW5zdGFuY2VvZiBBcnJheSBlcXVhbHMgdG8gdHJ1ZS4KK1BBU1Mg
cmVzdWx0LmFycmF5QnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIgZXF1YWxzIHRvIHRydWUu
CitQQVNTIHJlc3VsdC5zZXQgaW5zdGFuY2VvZiBTZXQgZXF1YWxzIHRvIHRydWUuCitQQVNTIHJl
c3VsdC5tYXAgaW5zdGFuY2VvZiBNYXAgZXF1YWxzIHRvIHRydWUuCitQQVNTIHJlc3VsdC5vYmpl
Y3QgaW5zdGFuY2VvZiBPYmplY3QgZXF1YWxzIHRvIHRydWUuCitQQVNTIHJlc3VsdC5hcnJheSBp
bnN0YW5jZW9mIHdpbmRvdy50b3AuQXJyYXkgZXF1YWxzIHRvIGZhbHNlLgorUEFTUyByZXN1bHQu
YXJyYXlCdWZmZXIgaW5zdGFuY2VvZiB3aW5kb3cudG9wLkFycmF5QnVmZmVyIGVxdWFscyB0byBm
YWxzZS4KK1BBU1MgcmVzdWx0LnNldCBpbnN0YW5jZW9mIHdpbmRvdy50b3AuU2V0IGVxdWFscyB0
byBmYWxzZS4KK1BBU1MgcmVzdWx0Lm1hcCBpbnN0YW5jZW9mIHdpbmRvdy50b3AuTWFwIGVxdWFs
cyB0byBmYWxzZS4KK1BBU1MgcmVzdWx0Lm9iamVjdCBpbnN0YW5jZW9mIHdpbmRvdy50b3AuT2Jq
ZWN0IGVxdWFscyB0byBmYWxzZS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9pbnN0YW5jZW9mLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
aW5zdGFuY2VvZi1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YjUzYjg1ZTA1MThkNzAzOTM5ZDYy
ZDc0NWJiZjUzYTQxZTZhMzkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvaW5zdGFuY2VvZi1pZnJhbWUuaHRtbApAQCAtMCwwICsxLDEwIEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9pbnN0YW5jZW9mLWlmcmFtZS5qcyI+
PC9zY3JpcHQ+Cis8aWZyYW1lIGlkPSJ0ZXN0SWZyYW1lIj48L2lmcmFtZT4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW5zdGFuY2VvZi1pZnJhbWUuanMgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW5zdGFuY2VvZi1pZnJhbWUuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjMxN2JhYjEwZjFjZmY5ODU0NDIxNGEzZWRmZDJkYWUwYmM3OWVmYQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9p
bnN0YW5jZW9mLWlmcmFtZS5qcwpAQCAtMCwwICsxLDYzIEBACitmdW5jdGlvbiB0ZXN0KGNhbGxi
YWNrKSB7CisgICAgaXNNYWluRnJhbWUgPSBzZWxmID09IHRvcDsKKyAgICBpZiAoaXNNYWluRnJh
bWUpCisgICAgICAgIGV2YWxBbmRMb2coImluZGV4ZWREQi5kZWxldGVEYXRhYmFzZSgndGVzdERC
JykiKTsKKyAgICBlbHNlIHsKKyAgICAgICAgc2hvdWxkQmUgPSBmdW5jdGlvbihhLCBiKSB7Cisg
ICAgICAgICAgICBhVmFsID0gZXZhbChhKTsKKyAgICAgICAgICAgIGJWYWwgPSBldmFsKGIpOwor
ICAgICAgICAgICAgaWYgKGFWYWwgIT0gYlZhbCkKKyAgICAgICAgICAgICAgICBwYXJlbnQudGVz
dEZhaWxlZChhICsgIiBpcyAiICsgYVZhbCArICIsIG5vdCAiICsgYlZhbCArICIuIik7CisgICAg
ICAgICAgICBlbHNlIAorICAgICAgICAgICAgICAgIHBhcmVudC50ZXN0UGFzc2VkKGEgKyAiIGVx
dWFscyB0byAiICsgYiAgKyAiLiIpOworICAgICAgICB9CisgICAgICAgIHNob3VsZEJlVHJ1ZSA9
IGZ1bmN0aW9uKGEpIHsKKyAgICAgICAgICAgIHNob3VsZEJlKGEsICJ0cnVlIik7CisgICAgICAg
IH0KKyAgICAgICAgc2hvdWxkQmVGYWxzZSA9IGZ1bmN0aW9uKGEpIHsKKyAgICAgICAgICAgIHNo
b3VsZEJlKGEsICJmYWxzZSIpOworICAgICAgICB9CisgICAgICAgIGV2YWxBbmRMb2cgPSBmdW5j
dGlvbihhKSB7CisgICAgICAgICAgICBwYXJlbnQuZGVidWcoYSk7CisgICAgICAgICAgICByZXR1
cm4gZXZhbChhKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIG9wZW5SZXF1ZXN0ID0gZXZhbEFu
ZExvZygiaW5kZXhlZERCLm9wZW4oJ3Rlc3REQicsIDEpIik7CisgICAgb3BlblJlcXVlc3Qub251
cGdyYWRlbmVlZGVkID0gKCkgPT4geyAKKyAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coIm9w
ZW5SZXF1ZXN0LnJlc3VsdC5jcmVhdGVPYmplY3RTdG9yZSgndGVzdE9iamVjdFN0b3JlJywge2tl
eVBhdGg6ICdpZCd9KSIpOyAKKyAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVy
cm9yQ2FsbGJhY2s7CisgICAgfQorICAgIG9wZW5SZXF1ZXN0Lm9uc3VjY2VzcyA9ICgpID0+IHsK
KyAgICAgICAgdHggPSBldmFsQW5kTG9nKCJ0eCA9IG9wZW5SZXF1ZXN0LnJlc3VsdC50cmFuc2Fj
dGlvbigndGVzdE9iamVjdFN0b3JlJywgJ3JlYWR3cml0ZScpIik7CisgICAgICAgIHR4Lm9uY29t
cGxldGUgPSAoKSA9PiB7IGNhbGxiYWNrKCk7IH0KKyAgICAgICAgc3RvcmUgPSBldmFsQW5kTG9n
KCJzdG9yZSA9IHR4Lm9iamVjdFN0b3JlKCd0ZXN0T2JqZWN0U3RvcmUnKSIpOworCisgICAgICAg
IGlmIChpc01haW5GcmFtZSkKKyAgICAgICAgICAgIGV2YWxBbmRMb2coInN0b3JlLnB1dCh7aWQ6
IDEsIGFycmF5OlsxLDIsM10sIGFycmF5QnVmZmVyOiBuZXcgQXJyYXlCdWZmZXIoMyksIHNldDog
bmV3IFNldChbMSwyLDNdKSwgbWFwOiBuZXcgTWFwKFtbMSwgJ29uZSddXSksIG9iamVjdDogeyBu
YW1lOiAndGVzdCcgfX0pIik7CisKKyAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInN0b3Jl
LmdldCgxKSIpOworICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IChldmVudCkgPT4geworICAg
ICAgICAgICAgcmVzdWx0ID0gcmVxdWVzdC5yZXN1bHQ7CisKKyAgICAgICAgICAgIHNob3VsZEJl
VHJ1ZSgicmVzdWx0LmFycmF5IGluc3RhbmNlb2YgQXJyYXkiKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlVHJ1ZSgicmVzdWx0LmFycmF5QnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIiKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlVHJ1ZSgicmVzdWx0LnNldCBpbnN0YW5jZW9mIFNldCIpOworICAg
ICAgICAgICAgc2hvdWxkQmVUcnVlKCJyZXN1bHQubWFwIGluc3RhbmNlb2YgTWFwIik7CisgICAg
ICAgICAgICBzaG91bGRCZVRydWUoInJlc3VsdC5vYmplY3QgaW5zdGFuY2VvZiBPYmplY3QiKTsK
KyAgICAgICAgICAgIGV4cGVjdGVkID0gaXNNYWluRnJhbWUudG9TdHJpbmcoKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCJyZXN1bHQuYXJyYXkgaW5zdGFuY2VvZiB3aW5kb3cudG9wLkFycmF5Iiwg
ZXhwZWN0ZWQpOworICAgICAgICAgICAgc2hvdWxkQmUoInJlc3VsdC5hcnJheUJ1ZmZlciBpbnN0
YW5jZW9mIHdpbmRvdy50b3AuQXJyYXlCdWZmZXIiLCBleHBlY3RlZCk7CisgICAgICAgICAgICBz
aG91bGRCZSgicmVzdWx0LnNldCBpbnN0YW5jZW9mIHdpbmRvdy50b3AuU2V0IiwgZXhwZWN0ZWQp
OworICAgICAgICAgICAgc2hvdWxkQmUoInJlc3VsdC5tYXAgaW5zdGFuY2VvZiB3aW5kb3cudG9w
Lk1hcCIsIGV4cGVjdGVkKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJyZXN1bHQub2JqZWN0IGlu
c3RhbmNlb2Ygd2luZG93LnRvcC5PYmplY3QiLCBleHBlY3RlZCk7CisgICAgICAgIH0KKyAgICB9
Cit9CisKK2Z1bmN0aW9uIGNhbGxiYWNrKCkgeworICAgIGlmcmFtZSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0ZXN0SWZyYW1lIik7CisgICAgaWZyYW1lLnNyY2RvYyA9IGA8IURPQ1RZUEUg
aHRtbD48aHRtbD48L2AgKyBgc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4k
e3Rlc3QudG9TdHJpbmcoKX0gdGVzdChmdW5jdGlvbigpIHsgcGFyZW50LmZpbmlzaEpTVGVzdCgp
O30pOzwvYCArIGBzY3JpcHQ+PC9odG1sPmA7Cit9CisKK3Rlc3QoY2FsbGJhY2spOwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>