Merge remote-tracking branch 'upstream/pull/3270'
authorTom Hughes <tom@compton.nu>
Mon, 26 Jul 2021 18:11:08 +0000 (19:11 +0100)
committerTom Hughes <tom@compton.nu>
Mon, 26 Jul 2021 18:11:08 +0000 (19:11 +0100)
275 files changed:
app/assets/javascripts/edit/id.js.erb
vendor/assets/iD/iD.css.erb
vendor/assets/iD/iD.js
vendor/assets/iD/iD/data/deprecated.min.json [deleted file]
vendor/assets/iD/iD/data/discarded.min.json [deleted file]
vendor/assets/iD/iD/data/imagery.min.json
vendor/assets/iD/iD/data/locales.min.json [deleted file]
vendor/assets/iD/iD/data/preset_categories.min.json [deleted file]
vendor/assets/iD/iD/data/preset_defaults.min.json [deleted file]
vendor/assets/iD/iD/data/preset_fields.min.json [deleted file]
vendor/assets/iD/iD/data/preset_presets.min.json [deleted file]
vendor/assets/iD/iD/data/shortcuts.min.json
vendor/assets/iD/iD/data/taginfo.min.json [deleted file]
vendor/assets/iD/iD/img/community-sprite.svg
vendor/assets/iD/iD/img/fa-sprite.svg
vendor/assets/iD/iD/img/temaki-sprite.svg
vendor/assets/iD/iD/locales/af.json [deleted file]
vendor/assets/iD/iD/locales/af.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ak.min.json [moved from vendor/assets/iD/iD/locales/ak.json with 92% similarity]
vendor/assets/iD/iD/locales/am.min.json [moved from vendor/assets/iD/iD/locales/am.json with 100% similarity]
vendor/assets/iD/iD/locales/ar-AA.min.json [moved from vendor/assets/iD/iD/locales/ar-AA.json with 100% similarity]
vendor/assets/iD/iD/locales/ar.json [deleted file]
vendor/assets/iD/iD/locales/ar.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/as.min.json [moved from vendor/assets/iD/iD/locales/as.json with 100% similarity]
vendor/assets/iD/iD/locales/ast.json [deleted file]
vendor/assets/iD/iD/locales/ast.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ay.json [deleted file]
vendor/assets/iD/iD/locales/ay.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/az.min.json [moved from vendor/assets/iD/iD/locales/az.json with 100% similarity]
vendor/assets/iD/iD/locales/ba.json [deleted file]
vendor/assets/iD/iD/locales/ba.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/be.json [deleted file]
vendor/assets/iD/iD/locales/be.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/bg-BG.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/bg.json [deleted file]
vendor/assets/iD/iD/locales/bg.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/bn.json [deleted file]
vendor/assets/iD/iD/locales/bn.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/bo.min.json [moved from vendor/assets/iD/iD/locales/bo.json with 100% similarity]
vendor/assets/iD/iD/locales/bs.json [deleted file]
vendor/assets/iD/iD/locales/bs.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ca.json [deleted file]
vendor/assets/iD/iD/locales/ca.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ckb.json [deleted file]
vendor/assets/iD/iD/locales/ckb.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/cs.json [deleted file]
vendor/assets/iD/iD/locales/cs.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/cv.json [deleted file]
vendor/assets/iD/iD/locales/cv.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/cy.json [deleted file]
vendor/assets/iD/iD/locales/cy.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/da.json [deleted file]
vendor/assets/iD/iD/locales/da.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/de.json [deleted file]
vendor/assets/iD/iD/locales/de.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/dv.json [deleted file]
vendor/assets/iD/iD/locales/dv.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ee.min.json [moved from vendor/assets/iD/iD/locales/ee.json with 100% similarity]
vendor/assets/iD/iD/locales/el.json [deleted file]
vendor/assets/iD/iD/locales/el.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/en-AU.json [deleted file]
vendor/assets/iD/iD/locales/en-AU.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/en-GB.json [deleted file]
vendor/assets/iD/iD/locales/en-GB.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/en-IN.min.json [moved from vendor/assets/iD/iD/locales/en-IN.json with 100% similarity]
vendor/assets/iD/iD/locales/en-NZ.min.json [moved from vendor/assets/iD/iD/locales/en-NZ.json with 100% similarity]
vendor/assets/iD/iD/locales/en.json [deleted file]
vendor/assets/iD/iD/locales/en.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/eo.json [deleted file]
vendor/assets/iD/iD/locales/eo.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/es.json [deleted file]
vendor/assets/iD/iD/locales/es.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/et.json [deleted file]
vendor/assets/iD/iD/locales/et.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/eu.json [deleted file]
vendor/assets/iD/iD/locales/eu.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/fa-IR.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/fa.json [deleted file]
vendor/assets/iD/iD/locales/fa.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ff.min.json [moved from vendor/assets/iD/iD/locales/ff.json with 92% similarity]
vendor/assets/iD/iD/locales/fi.json [deleted file]
vendor/assets/iD/iD/locales/fi.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/fil.min.json [moved from vendor/assets/iD/iD/locales/fil.json with 100% similarity]
vendor/assets/iD/iD/locales/fr-FR.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/fr.json [deleted file]
vendor/assets/iD/iD/locales/fr.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/gan.min.json [moved from vendor/assets/iD/iD/locales/gan.json with 80% similarity]
vendor/assets/iD/iD/locales/gl.json [deleted file]
vendor/assets/iD/iD/locales/gl.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/grt.json [deleted file]
vendor/assets/iD/iD/locales/grt.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/gu.min.json [moved from vendor/assets/iD/iD/locales/gu.json with 100% similarity]
vendor/assets/iD/iD/locales/ha.min.json [moved from vendor/assets/iD/iD/locales/ha.json with 100% similarity]
vendor/assets/iD/iD/locales/he-IL.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/he.json [deleted file]
vendor/assets/iD/iD/locales/he.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/hi.json [deleted file]
vendor/assets/iD/iD/locales/hi.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/hr.json [deleted file]
vendor/assets/iD/iD/locales/hr.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/hu.json [deleted file]
vendor/assets/iD/iD/locales/hu.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/hy.json [deleted file]
vendor/assets/iD/iD/locales/hy.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ia.min.json [moved from vendor/assets/iD/iD/locales/ia.json with 100% similarity]
vendor/assets/iD/iD/locales/id.json [deleted file]
vendor/assets/iD/iD/locales/id.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ig.min.json [moved from vendor/assets/iD/iD/locales/ig.json with 100% similarity]
vendor/assets/iD/iD/locales/index.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/is.json [deleted file]
vendor/assets/iD/iD/locales/is.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/it.json [deleted file]
vendor/assets/iD/iD/locales/it.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ja.json [deleted file]
vendor/assets/iD/iD/locales/ja.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/jam.json [deleted file]
vendor/assets/iD/iD/locales/jam.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/jv.min.json [moved from vendor/assets/iD/iD/locales/jv.json with 100% similarity]
vendor/assets/iD/iD/locales/ka.min.json [moved from vendor/assets/iD/iD/locales/ka.json with 100% similarity]
vendor/assets/iD/iD/locales/kbd.json [deleted file]
vendor/assets/iD/iD/locales/kbd.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/kha.json [deleted file]
vendor/assets/iD/iD/locales/kha.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ki.min.json [moved from vendor/assets/iD/iD/locales/ki.json with 91% similarity]
vendor/assets/iD/iD/locales/kk.min.json [moved from vendor/assets/iD/iD/locales/kk.json with 100% similarity]
vendor/assets/iD/iD/locales/km.json [deleted file]
vendor/assets/iD/iD/locales/km.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/kn.json [deleted file]
vendor/assets/iD/iD/locales/kn.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ko.json [deleted file]
vendor/assets/iD/iD/locales/ko.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ks.min.json [moved from vendor/assets/iD/iD/locales/ks.json with 100% similarity]
vendor/assets/iD/iD/locales/ku.json [deleted file]
vendor/assets/iD/iD/locales/ku.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ky.min.json [moved from vendor/assets/iD/iD/locales/ky.json with 100% similarity]
vendor/assets/iD/iD/locales/lg.min.json [moved from vendor/assets/iD/iD/locales/lg.json with 96% similarity]
vendor/assets/iD/iD/locales/lij.min.json [moved from vendor/assets/iD/iD/locales/lij.json with 87% similarity]
vendor/assets/iD/iD/locales/ln.min.json [moved from vendor/assets/iD/iD/locales/ln.json with 91% similarity]
vendor/assets/iD/iD/locales/lo.min.json [moved from vendor/assets/iD/iD/locales/lo.json with 100% similarity]
vendor/assets/iD/iD/locales/lt.json [deleted file]
vendor/assets/iD/iD/locales/lt.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/lus.json [deleted file]
vendor/assets/iD/iD/locales/lus.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/lv.json [deleted file]
vendor/assets/iD/iD/locales/lv.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/mg.min.json [moved from vendor/assets/iD/iD/locales/mg.json with 92% similarity]
vendor/assets/iD/iD/locales/mi.min.json [moved from vendor/assets/iD/iD/locales/mi.json with 100% similarity]
vendor/assets/iD/iD/locales/mk.json [deleted file]
vendor/assets/iD/iD/locales/mk.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ml.json [deleted file]
vendor/assets/iD/iD/locales/ml.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/mn.min.json [moved from vendor/assets/iD/iD/locales/mn.json with 100% similarity]
vendor/assets/iD/iD/locales/mr.min.json [moved from vendor/assets/iD/iD/locales/mr.json with 100% similarity]
vendor/assets/iD/iD/locales/ms.json [deleted file]
vendor/assets/iD/iD/locales/ms.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/my.json [deleted file]
vendor/assets/iD/iD/locales/my.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/nd.min.json [moved from vendor/assets/iD/iD/locales/nd.json with 94% similarity]
vendor/assets/iD/iD/locales/ne.json [deleted file]
vendor/assets/iD/iD/locales/ne.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/nl-NL.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/nl.json [deleted file]
vendor/assets/iD/iD/locales/nl.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/nn.json [deleted file]
vendor/assets/iD/iD/locales/nn.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/no.json [deleted file]
vendor/assets/iD/iD/locales/no.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/nr.json [deleted file]
vendor/assets/iD/iD/locales/nr.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/nso.json [deleted file]
vendor/assets/iD/iD/locales/nso.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/nv.min.json [moved from vendor/assets/iD/iD/locales/nv.json with 89% similarity]
vendor/assets/iD/iD/locales/ny.json [deleted file]
vendor/assets/iD/iD/locales/ny.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/oc.json [deleted file]
vendor/assets/iD/iD/locales/oc.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/om.min.json [moved from vendor/assets/iD/iD/locales/om.json with 100% similarity]
vendor/assets/iD/iD/locales/or.min.json [moved from vendor/assets/iD/iD/locales/or.json with 100% similarity]
vendor/assets/iD/iD/locales/pa.json [deleted file]
vendor/assets/iD/iD/locales/pa.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/pap.min.json [moved from vendor/assets/iD/iD/locales/pap.json with 59% similarity]
vendor/assets/iD/iD/locales/pl.json [deleted file]
vendor/assets/iD/iD/locales/pl.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ps.min.json [moved from vendor/assets/iD/iD/locales/ps.json with 100% similarity]
vendor/assets/iD/iD/locales/pt-BR.json [deleted file]
vendor/assets/iD/iD/locales/pt-BR.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/pt.json [deleted file]
vendor/assets/iD/iD/locales/pt.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/qu.min.json [moved from vendor/assets/iD/iD/locales/qu.json with 99% similarity]
vendor/assets/iD/iD/locales/rm.min.json [moved from vendor/assets/iD/iD/locales/rm.json with 100% similarity]
vendor/assets/iD/iD/locales/ro.json [deleted file]
vendor/assets/iD/iD/locales/ro.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ru.json [deleted file]
vendor/assets/iD/iD/locales/ru.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/rw.min.json [moved from vendor/assets/iD/iD/locales/rw.json with 97% similarity]
vendor/assets/iD/iD/locales/sat.json [deleted file]
vendor/assets/iD/iD/locales/sat.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/sc.min.json [moved from vendor/assets/iD/iD/locales/sc.json with 84% similarity]
vendor/assets/iD/iD/locales/sd.min.json [moved from vendor/assets/iD/iD/locales/sd.json with 100% similarity]
vendor/assets/iD/iD/locales/sg.min.json [moved from vendor/assets/iD/iD/locales/sg.json with 94% similarity]
vendor/assets/iD/iD/locales/si.json [deleted file]
vendor/assets/iD/iD/locales/si.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/sk.json [deleted file]
vendor/assets/iD/iD/locales/sk.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/sl.json [deleted file]
vendor/assets/iD/iD/locales/sl.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/sm.json [deleted file]
vendor/assets/iD/iD/locales/sm.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/sn.min.json [moved from vendor/assets/iD/iD/locales/sn.json with 95% similarity]
vendor/assets/iD/iD/locales/so.json [deleted file]
vendor/assets/iD/iD/locales/so.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/sq.min.json [moved from vendor/assets/iD/iD/locales/sq.json with 56% similarity]
vendor/assets/iD/iD/locales/sr.json [deleted file]
vendor/assets/iD/iD/locales/sr.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ss.json [deleted file]
vendor/assets/iD/iD/locales/ss.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/st.json [deleted file]
vendor/assets/iD/iD/locales/st.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/su.json [deleted file]
vendor/assets/iD/iD/locales/su.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/sv.json [deleted file]
vendor/assets/iD/iD/locales/sv.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/sw.min.json [moved from vendor/assets/iD/iD/locales/sw.json with 100% similarity]
vendor/assets/iD/iD/locales/ta.json [deleted file]
vendor/assets/iD/iD/locales/ta.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/te.json [deleted file]
vendor/assets/iD/iD/locales/te.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/tg.min.json [moved from vendor/assets/iD/iD/locales/tg.json with 100% similarity]
vendor/assets/iD/iD/locales/th.json [deleted file]
vendor/assets/iD/iD/locales/th.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ti.min.json [moved from vendor/assets/iD/iD/locales/ti.json with 100% similarity]
vendor/assets/iD/iD/locales/tk.min.json [moved from vendor/assets/iD/iD/locales/tk.json with 100% similarity]
vendor/assets/iD/iD/locales/tl.min.json [moved from vendor/assets/iD/iD/locales/tl.json with 59% similarity]
vendor/assets/iD/iD/locales/tn.json [deleted file]
vendor/assets/iD/iD/locales/tn.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/tr.json [deleted file]
vendor/assets/iD/iD/locales/tr.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ts.json [deleted file]
vendor/assets/iD/iD/locales/ts.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/tt.min.json [moved from vendor/assets/iD/iD/locales/tt.json with 100% similarity]
vendor/assets/iD/iD/locales/tum.json [deleted file]
vendor/assets/iD/iD/locales/tum.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ug.min.json [moved from vendor/assets/iD/iD/locales/ug.json with 100% similarity]
vendor/assets/iD/iD/locales/uk.json [deleted file]
vendor/assets/iD/iD/locales/uk.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/ur.min.json [moved from vendor/assets/iD/iD/locales/ur.json with 100% similarity]
vendor/assets/iD/iD/locales/uz.min.json [moved from vendor/assets/iD/iD/locales/uz.json with 100% similarity]
vendor/assets/iD/iD/locales/ve.json [deleted file]
vendor/assets/iD/iD/locales/ve.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/vi.json [deleted file]
vendor/assets/iD/iD/locales/vi.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/wo.min.json [moved from vendor/assets/iD/iD/locales/wo.json with 100% similarity]
vendor/assets/iD/iD/locales/xh.min.json [moved from vendor/assets/iD/iD/locales/xh.json with 62% similarity]
vendor/assets/iD/iD/locales/yo.min.json [moved from vendor/assets/iD/iD/locales/yo.json with 100% similarity]
vendor/assets/iD/iD/locales/yue.json [deleted file]
vendor/assets/iD/iD/locales/yue.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/zh-CN.json [deleted file]
vendor/assets/iD/iD/locales/zh-CN.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/zh-HK.json [deleted file]
vendor/assets/iD/iD/locales/zh-HK.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/zh-TW.json [deleted file]
vendor/assets/iD/iD/locales/zh-TW.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/zh.json [deleted file]
vendor/assets/iD/iD/locales/zh.min.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/zu.min.json [moved from vendor/assets/iD/iD/locales/zu.json with 100% similarity]
vendor/assets/iD/iD/mapillary-js/mapillary.css [new file with mode: 0644]
vendor/assets/iD/iD/mapillary-js/mapillary.d.ts [new file with mode: 0644]
vendor/assets/iD/iD/mapillary-js/mapillary.js
vendor/assets/iD/iD/mapillary-js/mapillary.js.map
vendor/assets/iD/iD/mapillary-js/mapillary.min.css [deleted file]
vendor/assets/iD/iD/mapillary-js/mapillary.min.js [deleted file]
vendor/assets/iD/iD/mapillary-js/mapillary.module.js [new file with mode: 0644]
vendor/assets/iD/iD/mapillary-js/mapillary.module.js.map [new file with mode: 0644]
vendor/assets/iD/iD/mapillary-js/mapillary.unminified.js [new file with mode: 0644]
vendor/assets/iD/iD/mapillary-js/mapillary.unminified.js.map [new file with mode: 0644]

index 3937f738172592a5fe00703069b5583c39b38fa1..1891c5adc4dd23b8ad27d476098cda347149bf20 100644 (file)
@@ -33,6 +33,9 @@ $(document).ready(function () {
     if (hashParams.photo_username) params.photo_username = hashParams.photo_username;
     if (hashParams.presets) params.presets = hashParams.presets;
     if (hashParams.source) params.source = hashParams.source;
+    if (hashParams.validationDisable) params.validationDisable = hashParams.validationDisable;
+    if (hashParams.validationWarning) params.validationWarning = hashParams.validationWarning;
+    if (hashParams.validationError) params.validationError = hashParams.validationError;
     if (hashParams.walkthrough) params.walkthrough = hashParams.walkthrough;
 
     if (id.data("gpx")) {
index 39f6ea5893a4da6324a3b1cdd69129905afd1e94..28916fbc622b05b1c453dc3432527bd0c532fb3f 100644 (file)
     top: -25px;
 }
 
-.ideditor .mly-wrapper .AttributionContainer .AttributionIconContainer .AttributionMapillaryLogo {
-    margin-top: 3px;
+.ideditor .mly-wrapper .mapillary-attribution-container {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+        -ms-flex-align: center;
+            align-items: center;
 }
 
-.ideditor .mly-wrapper .AttributionContainer .AttributionImageContainer {
-    color: #fff;
-    font-size: 10px;
-    font-weight: 300;
-    overflow: hidden;
+.ideditor .mly-wrapper .mapillary-attribution-container .mapillary-attribution-icon-container {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+        -ms-flex-align: center;
+            align-items: center;
+}
+
+.ideditor .mly-wrapper .mapillary-attribution-container .mapillary-attribution-username {
+    display: none;
 }
 
+.ideditor .mly-wrapper .mapillary-attribution-container .mapillary-attribution-date {
+    margin-right: 6px;
+}
 
 /* OpenStreetCam viewer */
 .ideditor .osc-wrapper {
     visibility: visible;
 }
 .ideditor .preset-icon-container.showing-img *:not(.image-icon) {
-    visibility: hidden;
+    display: none;
 }
 
 .ideditor .preset-icon-point-border path {
     fill: transparent;
 }
 
+.ideditor .preset-icon-category-border path {
+    stroke: #999;
+    stroke-width: 1px;
+    fill: transparent;
+    -webkit-backface-visibility: hidden;
+            backface-visibility: hidden;
+    vector-effect: non-scaling-stroke;
+}
+
 .ideditor .preset-icon-line {
     margin: auto;
     position: absolute;
         -ms-transform: scale(0.4);
             transform: scale(0.4);
 }
-.ideditor .preset-icon.framed.line-geom .icon,
+.ideditor .preset-icon.framed.line-geom:not(.category) .icon,
 .ideditor .preset-icon.framed.route-geom .icon {
     top: 20%;
     -webkit-transform: translateY(-30%) scale(0.4);
         -ms-transform: scale(0.74);
             transform: scale(0.74);
 }
-.ideditor .preset-icon-iD.framed.line-geom .icon,
+.ideditor .preset-icon-iD.framed.line-geom:not(.category) .icon,
 .ideditor .preset-icon-iD.framed.route-geom .icon {
     -webkit-transform: translateY(-30%) scale(0.74);
         -ms-transform: translateY(-30%) scale(0.74);
     display: none;
 }
 
+.ideditor .form-field-input-combo input.raw-value {
+    font-family: monospace;
+}
+.ideditor .form-field-input-combo input.known-value {
+    color: #7092ff;
+}
+
 .ideditor .form-field-input-multicombo ul.chiplist {
     padding: 5px 8px 5px 8px;
     background: #fff;
     background-color: #eff2f7;
     border: 1px solid #ccd5e3;
     max-width: 100%;
+    color: #7092ff;
 }
 .ideditor[dir='ltr'] .form-field-input-multicombo li.chip {
     padding: 2px 0px 2px 5px;
     cursor: -webkit-grabbing;
     cursor: grabbing;
 }
+.ideditor .form-field-input-multicombo li.chip.raw-value {
+    font-family: monospace;
+    color: #333;
+}
 .ideditor .form-field-input-multicombo li.mixed {
     border-color: #eff2f7;
     color: #888;
 }
 
 
-/* Field - Maxspeed
+/* Field - roadspeed
 ------------------------------------------------------- */
-.ideditor .form-field-input-maxspeed input.maxspeed-number {
+.ideditor .form-field-input-roadspeed input.roadspeed-number {
     -ms-flex-preferred-size: 0;
         flex-basis: 0;
 }
-.ideditor .form-field-input-maxspeed input.maxspeed-unit {
+.ideditor .form-field-input-roadspeed input.roadspeed-unit {
     -webkit-box-flex: 0;
         -ms-flex: 0 1 auto;
             flex: 0 1 auto;
     width: 80px;
 }
-.ideditor[dir='ltr'] .form-field-input-maxspeed > input:first-of-type {
+.ideditor[dir='ltr'] .form-field-input-roadspeed > input:first-of-type {
     border-radius: 0 0 0 4px;
 }
-.ideditor[dir='rtl'] .form-field-input-maxspeed > input:first-of-type {
+.ideditor[dir='rtl'] .form-field-input-roadspeed > input:first-of-type {
     border-radius: 0 0 4px 0;
 }
-.ideditor[dir='ltr'] .form-field-input-maxspeed > input:last-of-type {
+.ideditor[dir='ltr'] .form-field-input-roadspeed > input:last-of-type {
     border-left: 0;
     border-radius: 0 0 4px 0;
 }
-.ideditor[dir='rtl'] .form-field-input-maxspeed > input:last-of-type {
+.ideditor[dir='rtl'] .form-field-input-roadspeed > input:last-of-type {
     border-right: 0;
     border-radius: 0 0 0 4px;
 }
     border-right: 5px solid transparent;
 }
 
+.ideditor .combobox .combobox-option.raw-option {
+    font-family: monospace;
+    color: #333;
+}
+
 
 /* Field Help
 ------------------------------------------------------- */
     -webkit-box-flex: 0;
         -ms-flex: 0 0 auto;
             flex: 0 0 auto;
-    padding: 5px 7px;
+    padding: 2px 3px;
 }
 .ideditor .issue-text .issue-message {
     -webkit-box-flex: 1;
         -ms-flex: 1 1 auto;
             flex: 1 1 auto;
-    padding: 5px 0;
+    padding: 4px 5px;
 }
 .ideditor .issue-label .issue-autofix {
     -webkit-box-flex: 0;
 .ideditor .issue-container:not(.active) ul.issue-fix-list {
     display: none;
 }
+.ideditor .issue-container:not(.active) .issue-info {
+    display: none;
+}
 
 .ideditor .issue-info {
     -webkit-box-flex: 1;
         -ms-flex-align: end;
             align-items: flex-end;
     z-index: 0;
+    pointer-events: none;
 }
 
-.ideditor .attribution-wrap * { pointer-events: all; }
+.ideditor .attribution-wrap > * {
+    pointer-events: auto;
+}
 
 .ideditor .attribution-wrap .base-layer-attribution,
 .ideditor .attribution-wrap .overlay-layer-attribution {
     height: 100px;
     width: 100px;
     color: #7092ff;
-}
+}
\ No newline at end of file
index 24cb83d9fde13bd007f17358c2acda98dc09a2d5..6ac452788fbd27e1c5715ac6b4b86aff4aeb0d37 100644 (file)
@@ -2,18 +2,9 @@
 
        var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
 
-       function createCommonjsModule(fn, basedir, module) {
-               return module = {
-                       path: basedir,
-                       exports: {},
-                       require: function (path, base) {
-                               return commonjsRequire(path, (base === undefined || base === null) ? module.path : base);
-                       }
-               }, fn(module, module.exports), module.exports;
-       }
-
-       function commonjsRequire () {
-               throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
+       function createCommonjsModule(fn) {
+         var module = { exports: {} };
+               return fn(module, module.exports), module.exports;
        }
 
        var check = function (it) {
        };
 
        // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-       var global_1 =
-         /* global globalThis -- safe */
+       var global$2 =
+         // eslint-disable-next-line es/no-global-this -- safe
          check(typeof globalThis == 'object' && globalThis) ||
          check(typeof window == 'object' && window) ||
+         // eslint-disable-next-line no-restricted-globals -- safe
          check(typeof self == 'object' && self) ||
          check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
          // eslint-disable-next-line no-new-func -- fallback
 
        // Detect IE8's incomplete defineProperty implementation
        var descriptors = !fails(function () {
+         // eslint-disable-next-line es/no-object-defineproperty -- required for testing
          return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
        });
 
-       var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-       var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
+       var $propertyIsEnumerable$1 = {}.propertyIsEnumerable;
+       // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
+       var getOwnPropertyDescriptor$5 = Object.getOwnPropertyDescriptor;
 
        // Nashorn ~ JDK8 bug
-       var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
+       var NASHORN_BUG = getOwnPropertyDescriptor$5 && !$propertyIsEnumerable$1.call({ 1: 2 }, 1);
 
        // `Object.prototype.propertyIsEnumerable` method implementation
        // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
-       var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-         var descriptor = getOwnPropertyDescriptor(this, V);
+       var f$7 = NASHORN_BUG ? function propertyIsEnumerable(V) {
+         var descriptor = getOwnPropertyDescriptor$5(this, V);
          return !!descriptor && descriptor.enumerable;
-       } : nativePropertyIsEnumerable;
+       } : $propertyIsEnumerable$1;
 
        var objectPropertyIsEnumerable = {
-               f: f
+               f: f$7
        };
 
        var createPropertyDescriptor = function (bitmap, value) {
          };
        };
 
-       var toString = {}.toString;
+       var toString$1 = {}.toString;
 
        var classofRaw = function (it) {
-         return toString.call(it).slice(8, -1);
+         return toString$1.call(it).slice(8, -1);
        };
 
-       var split = ''.split;
+       var split$2 = ''.split;
 
        // fallback for non-array-like ES3 and non-enumerable old V8 strings
        var indexedObject = fails(function () {
@@ -83,7 +77,7 @@
          // eslint-disable-next-line no-prototype-builtins -- safe
          return !Object('z').propertyIsEnumerable(0);
        }) ? function (it) {
-         return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
+         return classofRaw(it) == 'String' ? split$2.call(it, '') : Object(it);
        } : Object;
 
        // `RequireObjectCoercible` abstract operation
          return indexedObject(requireObjectCoercible(it));
        };
 
-       var isObject = function (it) {
+       var isObject$4 = function (it) {
          return typeof it === 'object' ? it !== null : typeof it === 'function';
        };
 
        // instead of the ES6 spec version, we didn't implement @@toPrimitive case
        // and the second argument - flag - preferred type is a string
        var toPrimitive = function (input, PREFERRED_STRING) {
-         if (!isObject(input)) return input;
+         if (!isObject$4(input)) return input;
          var fn, val;
-         if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-         if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-         if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
+         if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject$4(val = fn.call(input))) return val;
+         if (typeof (fn = input.valueOf) == 'function' && !isObject$4(val = fn.call(input))) return val;
+         if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject$4(val = fn.call(input))) return val;
          throw TypeError("Can't convert object to primitive value");
        };
 
-       var hasOwnProperty = {}.hasOwnProperty;
+       // `ToObject` abstract operation
+       // https://tc39.es/ecma262/#sec-toobject
+       var toObject = function (argument) {
+         return Object(requireObjectCoercible(argument));
+       };
+
+       var hasOwnProperty$3 = {}.hasOwnProperty;
 
-       var has = function (it, key) {
-         return hasOwnProperty.call(it, key);
+       var has$1 = Object.hasOwn || function hasOwn(it, key) {
+         return hasOwnProperty$3.call(toObject(it), key);
        };
 
-       var document$1 = global_1.document;
+       var document$3 = global$2.document;
        // typeof document.createElement is 'object' in old IE
-       var EXISTS = isObject(document$1) && isObject(document$1.createElement);
+       var EXISTS = isObject$4(document$3) && isObject$4(document$3.createElement);
 
        var documentCreateElement = function (it) {
-         return EXISTS ? document$1.createElement(it) : {};
+         return EXISTS ? document$3.createElement(it) : {};
        };
 
        // Thank's IE8 for his funny defineProperty
        var ie8DomDefine = !descriptors && !fails(function () {
+         // eslint-disable-next-line es/no-object-defineproperty -- requied for testing
          return Object.defineProperty(documentCreateElement('div'), 'a', {
            get: function () { return 7; }
          }).a != 7;
        });
 
-       var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
+       // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
+       var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
 
        // `Object.getOwnPropertyDescriptor` method
        // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
-       var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
+       var f$6 = descriptors ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) {
          O = toIndexedObject(O);
          P = toPrimitive(P, true);
          if (ie8DomDefine) try {
-           return nativeGetOwnPropertyDescriptor(O, P);
+           return $getOwnPropertyDescriptor$1(O, P);
          } catch (error) { /* empty */ }
-         if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
+         if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
        };
 
        var objectGetOwnPropertyDescriptor = {
-               f: f$1
+               f: f$6
        };
 
        var anObject = function (it) {
-         if (!isObject(it)) {
+         if (!isObject$4(it)) {
            throw TypeError(String(it) + ' is not an object');
          } return it;
        };
 
-       var nativeDefineProperty = Object.defineProperty;
+       // eslint-disable-next-line es/no-object-defineproperty -- safe
+       var $defineProperty$1 = Object.defineProperty;
 
        // `Object.defineProperty` method
        // https://tc39.es/ecma262/#sec-object.defineproperty
-       var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
+       var f$5 = descriptors ? $defineProperty$1 : function defineProperty(O, P, Attributes) {
          anObject(O);
          P = toPrimitive(P, true);
          anObject(Attributes);
          if (ie8DomDefine) try {
-           return nativeDefineProperty(O, P, Attributes);
+           return $defineProperty$1(O, P, Attributes);
          } catch (error) { /* empty */ }
          if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
          if ('value' in Attributes) O[P] = Attributes.value;
        };
 
        var objectDefineProperty = {
-               f: f$2
+               f: f$5
        };
 
        var createNonEnumerableProperty = descriptors ? function (object, key, value) {
 
        var setGlobal = function (key, value) {
          try {
-           createNonEnumerableProperty(global_1, key, value);
+           createNonEnumerableProperty(global$2, key, value);
          } catch (error) {
-           global_1[key] = value;
+           global$2[key] = value;
          } return value;
        };
 
        var SHARED = '__core-js_shared__';
-       var store = global_1[SHARED] || setGlobal(SHARED, {});
+       var store$1 = global$2[SHARED] || setGlobal(SHARED, {});
 
-       var sharedStore = store;
+       var sharedStore = store$1;
 
        var functionToString = Function.toString;
 
-       // this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
+       // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
        if (typeof sharedStore.inspectSource != 'function') {
          sharedStore.inspectSource = function (it) {
            return functionToString.call(it);
 
        var inspectSource = sharedStore.inspectSource;
 
-       var WeakMap = global_1.WeakMap;
+       var WeakMap$1 = global$2.WeakMap;
 
-       var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
+       var nativeWeakMap = typeof WeakMap$1 === 'function' && /native code/.test(inspectSource(WeakMap$1));
 
        var isPure = false;
 
        (module.exports = function (key, value) {
          return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
        })('versions', []).push({
-         version: '3.9.1',
-         mode:  'global',
+         version: '3.15.2',
+         mode: 'global',
          copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
        });
        });
 
-       var id = 0;
+       var id$1 = 0;
        var postfix = Math.random();
 
        var uid = function (key) {
-         return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
+         return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id$1 + postfix).toString(36);
        };
 
-       var keys = shared('keys');
+       var keys$3 = shared('keys');
 
        var sharedKey = function (key) {
-         return keys[key] || (keys[key] = uid(key));
+         return keys$3[key] || (keys$3[key] = uid(key));
        };
 
-       var hiddenKeys = {};
+       var hiddenKeys$1 = {};
 
-       var WeakMap$1 = global_1.WeakMap;
-       var set, get, has$1;
+       var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
+       var WeakMap = global$2.WeakMap;
+       var set$4, get$5, has;
 
        var enforce = function (it) {
-         return has$1(it) ? get(it) : set(it, {});
+         return has(it) ? get$5(it) : set$4(it, {});
        };
 
        var getterFor = function (TYPE) {
          return function (it) {
            var state;
-           if (!isObject(it) || (state = get(it)).type !== TYPE) {
+           if (!isObject$4(it) || (state = get$5(it)).type !== TYPE) {
              throw TypeError('Incompatible receiver, ' + TYPE + ' required');
            } return state;
          };
        };
 
-       if (nativeWeakMap) {
-         var store$1 = sharedStore.state || (sharedStore.state = new WeakMap$1());
-         var wmget = store$1.get;
-         var wmhas = store$1.has;
-         var wmset = store$1.set;
-         set = function (it, metadata) {
+       if (nativeWeakMap || sharedStore.state) {
+         var store = sharedStore.state || (sharedStore.state = new WeakMap());
+         var wmget = store.get;
+         var wmhas = store.has;
+         var wmset = store.set;
+         set$4 = function (it, metadata) {
+           if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
            metadata.facade = it;
-           wmset.call(store$1, it, metadata);
+           wmset.call(store, it, metadata);
            return metadata;
          };
-         get = function (it) {
-           return wmget.call(store$1, it) || {};
+         get$5 = function (it) {
+           return wmget.call(store, it) || {};
          };
-         has$1 = function (it) {
-           return wmhas.call(store$1, it);
+         has = function (it) {
+           return wmhas.call(store, it);
          };
        } else {
          var STATE = sharedKey('state');
-         hiddenKeys[STATE] = true;
-         set = function (it, metadata) {
+         hiddenKeys$1[STATE] = true;
+         set$4 = function (it, metadata) {
+           if (has$1(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
            metadata.facade = it;
            createNonEnumerableProperty(it, STATE, metadata);
            return metadata;
          };
-         get = function (it) {
-           return has(it, STATE) ? it[STATE] : {};
+         get$5 = function (it) {
+           return has$1(it, STATE) ? it[STATE] : {};
          };
-         has$1 = function (it) {
-           return has(it, STATE);
+         has = function (it) {
+           return has$1(it, STATE);
          };
        }
 
        var internalState = {
-         set: set,
-         get: get,
-         has: has$1,
+         set: set$4,
+         get: get$5,
+         has: has,
          enforce: enforce,
          getterFor: getterFor
        };
          var noTargetGet = options ? !!options.noTargetGet : false;
          var state;
          if (typeof value == 'function') {
-           if (typeof key == 'string' && !has(value, 'name')) {
+           if (typeof key == 'string' && !has$1(value, 'name')) {
              createNonEnumerableProperty(value, 'name', key);
            }
            state = enforceInternalState(value);
              state.source = TEMPLATE.join(typeof key == 'string' ? key : '');
            }
          }
-         if (O === global_1) {
+         if (O === global$2) {
            if (simple) O[key] = value;
            else setGlobal(key, value);
            return;
        });
        });
 
-       var path = global_1;
+       var path = global$2;
 
-       var aFunction = function (variable) {
+       var aFunction$1 = function (variable) {
          return typeof variable == 'function' ? variable : undefined;
        };
 
        var getBuiltIn = function (namespace, method) {
-         return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-           : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
+         return arguments.length < 2 ? aFunction$1(path[namespace]) || aFunction$1(global$2[namespace])
+           : path[namespace] && path[namespace][method] || global$2[namespace] && global$2[namespace][method];
        };
 
-       var ceil = Math.ceil;
-       var floor = Math.floor;
+       var ceil$1 = Math.ceil;
+       var floor$7 = Math.floor;
 
        // `ToInteger` abstract operation
        // https://tc39.es/ecma262/#sec-tointeger
        var toInteger = function (argument) {
-         return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
+         return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor$7 : ceil$1)(argument);
        };
 
-       var min = Math.min;
+       var min$9 = Math.min;
 
        // `ToLength` abstract operation
        // https://tc39.es/ecma262/#sec-tolength
        var toLength = function (argument) {
-         return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
+         return argument > 0 ? min$9(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
        };
 
-       var max = Math.max;
-       var min$1 = Math.min;
+       var max$4 = Math.max;
+       var min$8 = Math.min;
 
        // Helper for a popular repeating case of the spec:
        // Let integer be ? ToInteger(index).
        // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
        var toAbsoluteIndex = function (index, length) {
          var integer = toInteger(index);
-         return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
+         return integer < 0 ? max$4(integer + length, 0) : min$8(integer, length);
        };
 
        // `Array.prototype.{ indexOf, includes }` methods implementation
-       var createMethod = function (IS_INCLUDES) {
+       var createMethod$6 = function (IS_INCLUDES) {
          return function ($this, el, fromIndex) {
            var O = toIndexedObject($this);
            var length = toLength(O.length);
        var arrayIncludes = {
          // `Array.prototype.includes` method
          // https://tc39.es/ecma262/#sec-array.prototype.includes
-         includes: createMethod(true),
+         includes: createMethod$6(true),
          // `Array.prototype.indexOf` method
          // https://tc39.es/ecma262/#sec-array.prototype.indexof
-         indexOf: createMethod(false)
+         indexOf: createMethod$6(false)
        };
 
        var indexOf = arrayIncludes.indexOf;
          var i = 0;
          var result = [];
          var key;
-         for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
+         for (key in O) !has$1(hiddenKeys$1, key) && has$1(O, key) && result.push(key);
          // Don't enum bug & hidden keys
-         while (names.length > i) if (has(O, key = names[i++])) {
+         while (names.length > i) if (has$1(O, key = names[i++])) {
            ~indexOf(result, key) || result.push(key);
          }
          return result;
          'valueOf'
        ];
 
-       var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
+       var hiddenKeys = enumBugKeys.concat('length', 'prototype');
 
        // `Object.getOwnPropertyNames` method
        // https://tc39.es/ecma262/#sec-object.getownpropertynames
-       var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-         return objectKeysInternal(O, hiddenKeys$1);
+       // eslint-disable-next-line es/no-object-getownpropertynames -- safe
+       var f$4 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
+         return objectKeysInternal(O, hiddenKeys);
        };
 
        var objectGetOwnPropertyNames = {
-               f: f$3
+               f: f$4
        };
 
-       var f$4 = Object.getOwnPropertySymbols;
+       // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
+       var f$3 = Object.getOwnPropertySymbols;
 
        var objectGetOwnPropertySymbols = {
-               f: f$4
+               f: f$3
        };
 
        // all object keys, includes non-enumerable and symbols
          var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
          for (var i = 0; i < keys.length; i++) {
            var key = keys[i];
-           if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
+           if (!has$1(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
          }
        };
 
        var replacement = /#|\.prototype\./;
 
        var isForced = function (feature, detection) {
-         var value = data[normalize(feature)];
+         var value = data[normalize$1(feature)];
          return value == POLYFILL ? true
            : value == NATIVE ? false
            : typeof detection == 'function' ? fails(detection)
            : !!detection;
        };
 
-       var normalize = isForced.normalize = function (string) {
+       var normalize$1 = isForced.normalize = function (string) {
          return String(string).replace(replacement, '.').toLowerCase();
        };
 
 
        var isForced_1 = isForced;
 
-       var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
+       var getOwnPropertyDescriptor$4 = objectGetOwnPropertyDescriptor.f;
 
 
 
          var STATIC = options.stat;
          var FORCED, target, key, targetProperty, sourceProperty, descriptor;
          if (GLOBAL) {
-           target = global_1;
+           target = global$2;
          } else if (STATIC) {
-           target = global_1[TARGET] || setGlobal(TARGET, {});
+           target = global$2[TARGET] || setGlobal(TARGET, {});
          } else {
-           target = (global_1[TARGET] || {}).prototype;
+           target = (global$2[TARGET] || {}).prototype;
          }
          if (target) for (key in source) {
            sourceProperty = source[key];
            if (options.noTargetGet) {
-             descriptor = getOwnPropertyDescriptor$1(target, key);
+             descriptor = getOwnPropertyDescriptor$4(target, key);
              targetProperty = descriptor && descriptor.value;
            } else targetProperty = target[key];
            FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
          }
        });
 
-       var DatePrototype = Date.prototype;
+       var DatePrototype$1 = Date.prototype;
        var INVALID_DATE = 'Invalid Date';
-       var TO_STRING = 'toString';
-       var nativeDateToString = DatePrototype[TO_STRING];
-       var getTime = DatePrototype.getTime;
+       var TO_STRING$1 = 'toString';
+       var nativeDateToString = DatePrototype$1[TO_STRING$1];
+       var getTime$1 = DatePrototype$1.getTime;
 
        // `Date.prototype.toString` method
        // https://tc39.es/ecma262/#sec-date.prototype.tostring
        if (new Date(NaN) + '' != INVALID_DATE) {
-         redefine(DatePrototype, TO_STRING, function toString() {
-           var value = getTime.call(this);
+         redefine(DatePrototype$1, TO_STRING$1, function toString() {
+           var value = getTime$1.call(this);
            // eslint-disable-next-line no-self-compare -- NaN check
            return value === value ? nativeDateToString.call(this) : INVALID_DATE;
          });
          return _typeof(obj);
        }
 
-       function _classCallCheck(instance, Constructor) {
+       function _classCallCheck$1(instance, Constructor) {
          if (!(instance instanceof Constructor)) {
            throw new TypeError("Cannot call a class as a function");
          }
        }
 
-       function _defineProperties(target, props) {
+       function _defineProperties$1(target, props) {
          for (var i = 0; i < props.length; i++) {
            var descriptor = props[i];
            descriptor.enumerable = descriptor.enumerable || false;
          }
        }
 
-       function _createClass(Constructor, protoProps, staticProps) {
-         if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-         if (staticProps) _defineProperties(Constructor, staticProps);
+       function _createClass$1(Constructor, protoProps, staticProps) {
+         if (protoProps) _defineProperties$1(Constructor.prototype, protoProps);
+         if (staticProps) _defineProperties$1(Constructor, staticProps);
          return Constructor;
        }
 
        }
 
        function _iterableToArray(iter) {
-         if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
+         if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
        }
 
        function _iterableToArrayLimit(arr, i) {
-         if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
+         var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
+
+         if (_i == null) return;
          var _arr = [];
          var _n = true;
          var _d = false;
-         var _e = undefined;
+
+         var _s, _e;
 
          try {
-           for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
+           for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
              _arr.push(_s.value);
 
              if (i && _arr.length === i) break;
        }
 
        function _createForOfIteratorHelper(o, allowArrayLike) {
-         var it;
+         var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
 
-         if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
+         if (!it) {
            if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
              if (it) o = it;
              var i = 0;
              err;
          return {
            s: function () {
-             it = o[Symbol.iterator]();
+             it = it.call(o);
            },
            n: function () {
              var step = it.next();
          };
        }
 
-       var engineIsNode = classofRaw(global_1.process) == 'process';
-
        var engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';
 
-       var process$1 = global_1.process;
-       var versions = process$1 && process$1.versions;
+       var process$4 = global$2.process;
+       var versions = process$4 && process$4.versions;
        var v8 = versions && versions.v8;
-       var match, version;
+       var match, version$1;
 
        if (v8) {
          match = v8.split('.');
-         version = match[0] + match[1];
+         version$1 = match[0] < 4 ? 1 : match[0] + match[1];
        } else if (engineUserAgent) {
          match = engineUserAgent.match(/Edge\/(\d+)/);
          if (!match || match[1] >= 74) {
            match = engineUserAgent.match(/Chrome\/(\d+)/);
-           if (match) version = match[1];
+           if (match) version$1 = match[1];
          }
        }
 
-       var engineV8Version = version && +version;
+       var engineV8Version = version$1 && +version$1;
+
+       /* eslint-disable es/no-symbol -- required for testing */
 
+       // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
        var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-         /* global Symbol -- required for testing */
-         return !Symbol.sham &&
-           // Chrome 38 Symbol has incorrect toString conversion
+         var symbol = Symbol();
+         // Chrome 38 Symbol has incorrect toString conversion
+         // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
+         return !String(symbol) || !(Object(symbol) instanceof Symbol) ||
            // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
-           (engineIsNode ? engineV8Version === 38 : engineV8Version > 37 && engineV8Version < 41);
+           !Symbol.sham && engineV8Version && engineV8Version < 41;
        });
 
+       /* eslint-disable es/no-symbol -- required for testing */
+
        var useSymbolAsUid = nativeSymbol
-         /* global Symbol -- safe */
          && !Symbol.sham
          && typeof Symbol.iterator == 'symbol';
 
-       var WellKnownSymbolsStore = shared('wks');
-       var Symbol$1 = global_1.Symbol;
+       var WellKnownSymbolsStore$1 = shared('wks');
+       var Symbol$1 = global$2.Symbol;
        var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid;
 
        var wellKnownSymbol = function (name) {
-         if (!has(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) {
-           if (nativeSymbol && has(Symbol$1, name)) {
-             WellKnownSymbolsStore[name] = Symbol$1[name];
+         if (!has$1(WellKnownSymbolsStore$1, name) || !(nativeSymbol || typeof WellKnownSymbolsStore$1[name] == 'string')) {
+           if (nativeSymbol && has$1(Symbol$1, name)) {
+             WellKnownSymbolsStore$1[name] = Symbol$1[name];
            } else {
-             WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
+             WellKnownSymbolsStore$1[name] = createWellKnownSymbol('Symbol.' + name);
            }
-         } return WellKnownSymbolsStore[name];
+         } return WellKnownSymbolsStore$1[name];
        };
 
-       var f$5 = wellKnownSymbol;
+       var f$2 = wellKnownSymbol;
 
        var wellKnownSymbolWrapped = {
-               f: f$5
+               f: f$2
        };
 
-       var defineProperty = objectDefineProperty.f;
+       var defineProperty$9 = objectDefineProperty.f;
 
        var defineWellKnownSymbol = function (NAME) {
          var Symbol = path.Symbol || (path.Symbol = {});
-         if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
+         if (!has$1(Symbol, NAME)) defineProperty$9(Symbol, NAME, {
            value: wellKnownSymbolWrapped.f(NAME)
          });
        };
        // https://tc39.es/ecma262/#sec-symbol.iterator
        defineWellKnownSymbol('iterator');
 
-       var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-       var test = {};
-
-       test[TO_STRING_TAG] = 'z';
-
-       var toStringTagSupport = String(test) === '[object z]';
-
-       var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
-       // ES3 wrong here
-       var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
-
-       // fallback for IE11 Script Access Denied error
-       var tryGet = function (it, key) {
-         try {
-           return it[key];
-         } catch (error) { /* empty */ }
-       };
-
-       // getting tag from ES6+ `Object.prototype.toString`
-       var classof = toStringTagSupport ? classofRaw : function (it) {
-         var O, tag, result;
-         return it === undefined ? 'Undefined' : it === null ? 'Null'
-           // @@toStringTag case
-           : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$1)) == 'string' ? tag
-           // builtinTag case
-           : CORRECT_ARGUMENTS ? classofRaw(O)
-           // ES3 arguments fallback
-           : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
-       };
-
-       // `Object.prototype.toString` method implementation
-       // https://tc39.es/ecma262/#sec-object.prototype.tostring
-       var objectToString = toStringTagSupport ? {}.toString : function toString() {
-         return '[object ' + classof(this) + ']';
-       };
-
-       // `Object.prototype.toString` method
-       // https://tc39.es/ecma262/#sec-object.prototype.tostring
-       if (!toStringTagSupport) {
-         redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
-       }
-
-       // `String.prototype.{ codePointAt, at }` methods implementation
-       var createMethod$1 = function (CONVERT_TO_STRING) {
-         return function ($this, pos) {
-           var S = String(requireObjectCoercible($this));
-           var position = toInteger(pos);
-           var size = S.length;
-           var first, second;
-           if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
-           first = S.charCodeAt(position);
-           return first < 0xD800 || first > 0xDBFF || position + 1 === size
-             || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
-               ? CONVERT_TO_STRING ? S.charAt(position) : first
-               : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
-         };
-       };
-
-       var stringMultibyte = {
-         // `String.prototype.codePointAt` method
-         // https://tc39.es/ecma262/#sec-string.prototype.codepointat
-         codeAt: createMethod$1(false),
-         // `String.prototype.at` method
-         // https://github.com/mathiasbynens/String.prototype.at
-         charAt: createMethod$1(true)
-       };
-
-       // `ToObject` abstract operation
-       // https://tc39.es/ecma262/#sec-toobject
-       var toObject = function (argument) {
-         return Object(requireObjectCoercible(argument));
-       };
-
-       var correctPrototypeGetter = !fails(function () {
-         function F() { /* empty */ }
-         F.prototype.constructor = null;
-         return Object.getPrototypeOf(new F()) !== F.prototype;
-       });
-
-       var IE_PROTO = sharedKey('IE_PROTO');
-       var ObjectPrototype = Object.prototype;
-
-       // `Object.getPrototypeOf` method
-       // https://tc39.es/ecma262/#sec-object.getprototypeof
-       var objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) {
-         O = toObject(O);
-         if (has(O, IE_PROTO)) return O[IE_PROTO];
-         if (typeof O.constructor == 'function' && O instanceof O.constructor) {
-           return O.constructor.prototype;
-         } return O instanceof Object ? ObjectPrototype : null;
-       };
-
-       var ITERATOR = wellKnownSymbol('iterator');
-       var BUGGY_SAFARI_ITERATORS = false;
-
-       var returnThis = function () { return this; };
-
-       // `%IteratorPrototype%` object
-       // https://tc39.es/ecma262/#sec-%iteratorprototype%-object
-       var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
-
-       if ([].keys) {
-         arrayIterator = [].keys();
-         // Safari 8 has buggy iterators w/o `next`
-         if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
-         else {
-           PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));
-           if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
-         }
-       }
-
-       var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {
-         var test = {};
-         // FF44- legacy iterators case
-         return IteratorPrototype[ITERATOR].call(test) !== test;
-       });
-
-       if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};
-
-       // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
-       if ( !has(IteratorPrototype, ITERATOR)) {
-         createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
-       }
-
-       var iteratorsCore = {
-         IteratorPrototype: IteratorPrototype,
-         BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
-       };
-
        // `Object.keys` method
        // https://tc39.es/ecma262/#sec-object.keys
+       // eslint-disable-next-line es/no-object-keys -- safe
        var objectKeys = Object.keys || function keys(O) {
          return objectKeysInternal(O, enumBugKeys);
        };
 
        // `Object.defineProperties` method
        // https://tc39.es/ecma262/#sec-object.defineproperties
+       // eslint-disable-next-line es/no-object-defineproperties -- safe
        var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
          anObject(O);
          var keys = objectKeys(Properties);
 
        var GT = '>';
        var LT = '<';
-       var PROTOTYPE = 'prototype';
+       var PROTOTYPE$2 = 'prototype';
        var SCRIPT = 'script';
        var IE_PROTO$1 = sharedKey('IE_PROTO');
 
          } catch (error) { /* ignore */ }
          NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
          var length = enumBugKeys.length;
-         while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
+         while (length--) delete NullProtoObject[PROTOTYPE$2][enumBugKeys[length]];
          return NullProtoObject();
        };
 
-       hiddenKeys[IE_PROTO$1] = true;
+       hiddenKeys$1[IE_PROTO$1] = true;
 
        // `Object.create` method
        // https://tc39.es/ecma262/#sec-object.create
        var objectCreate = Object.create || function create(O, Properties) {
          var result;
          if (O !== null) {
-           EmptyConstructor[PROTOTYPE] = anObject(O);
+           EmptyConstructor[PROTOTYPE$2] = anObject(O);
            result = new EmptyConstructor();
-           EmptyConstructor[PROTOTYPE] = null;
+           EmptyConstructor[PROTOTYPE$2] = null;
            // add "__proto__" for Object.getPrototypeOf polyfill
            result[IE_PROTO$1] = O;
          } else result = NullProtoObject();
          return Properties === undefined ? result : objectDefineProperties(result, Properties);
        };
 
-       var defineProperty$1 = objectDefineProperty.f;
+       var UNSCOPABLES = wellKnownSymbol('unscopables');
+       var ArrayPrototype$1 = Array.prototype;
+
+       // Array.prototype[@@unscopables]
+       // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
+       if (ArrayPrototype$1[UNSCOPABLES] == undefined) {
+         objectDefineProperty.f(ArrayPrototype$1, UNSCOPABLES, {
+           configurable: true,
+           value: objectCreate(null)
+         });
+       }
 
+       // add a key to Array.prototype[@@unscopables]
+       var addToUnscopables = function (key) {
+         ArrayPrototype$1[UNSCOPABLES][key] = true;
+       };
 
+       var iterators = {};
 
-       var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');
+       var correctPrototypeGetter = !fails(function () {
+         function F() { /* empty */ }
+         F.prototype.constructor = null;
+         // eslint-disable-next-line es/no-object-getprototypeof -- required for testing
+         return Object.getPrototypeOf(new F()) !== F.prototype;
+       });
 
-       var setToStringTag = function (it, TAG, STATIC) {
-         if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG$2)) {
-           defineProperty$1(it, TO_STRING_TAG$2, { configurable: true, value: TAG });
+       var IE_PROTO = sharedKey('IE_PROTO');
+       var ObjectPrototype$3 = Object.prototype;
+
+       // `Object.getPrototypeOf` method
+       // https://tc39.es/ecma262/#sec-object.getprototypeof
+       // eslint-disable-next-line es/no-object-getprototypeof -- safe
+       var objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) {
+         O = toObject(O);
+         if (has$1(O, IE_PROTO)) return O[IE_PROTO];
+         if (typeof O.constructor == 'function' && O instanceof O.constructor) {
+           return O.constructor.prototype;
+         } return O instanceof Object ? ObjectPrototype$3 : null;
+       };
+
+       var ITERATOR$8 = wellKnownSymbol('iterator');
+       var BUGGY_SAFARI_ITERATORS$1 = false;
+
+       var returnThis$2 = function () { return this; };
+
+       // `%IteratorPrototype%` object
+       // https://tc39.es/ecma262/#sec-%iteratorprototype%-object
+       var IteratorPrototype$2, PrototypeOfArrayIteratorPrototype, arrayIterator;
+
+       /* eslint-disable es/no-array-prototype-keys -- safe */
+       if ([].keys) {
+         arrayIterator = [].keys();
+         // Safari 8 has buggy iterators w/o `next`
+         if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS$1 = true;
+         else {
+           PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));
+           if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype$2 = PrototypeOfArrayIteratorPrototype;
          }
+       }
+
+       var NEW_ITERATOR_PROTOTYPE = IteratorPrototype$2 == undefined || fails(function () {
+         var test = {};
+         // FF44- legacy iterators case
+         return IteratorPrototype$2[ITERATOR$8].call(test) !== test;
+       });
+
+       if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype$2 = {};
+
+       // `%IteratorPrototype%[@@iterator]()` method
+       // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
+       if (!has$1(IteratorPrototype$2, ITERATOR$8)) {
+         createNonEnumerableProperty(IteratorPrototype$2, ITERATOR$8, returnThis$2);
+       }
+
+       var iteratorsCore = {
+         IteratorPrototype: IteratorPrototype$2,
+         BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS$1
        };
 
-       var iterators = {};
+       var defineProperty$8 = objectDefineProperty.f;
+
+
+
+       var TO_STRING_TAG$4 = wellKnownSymbol('toStringTag');
+
+       var setToStringTag = function (it, TAG, STATIC) {
+         if (it && !has$1(it = STATIC ? it : it.prototype, TO_STRING_TAG$4)) {
+           defineProperty$8(it, TO_STRING_TAG$4, { configurable: true, value: TAG });
+         }
+       };
 
        var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
 
        };
 
        var aPossiblePrototype = function (it) {
-         if (!isObject(it) && it !== null) {
+         if (!isObject$4(it) && it !== null) {
            throw TypeError("Can't set " + String(it) + ' as a prototype');
          } return it;
        };
 
        /* eslint-disable no-proto -- safe */
 
-
-
        // `Object.setPrototypeOf` method
        // https://tc39.es/ecma262/#sec-object.setprototypeof
        // Works with __proto__ only. Old v8 can't work with null proto objects.
+       // eslint-disable-next-line es/no-object-setprototypeof -- safe
        var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
          var CORRECT_SETTER = false;
          var test = {};
          var setter;
          try {
+           // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
            setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
            setter.call(test, []);
            CORRECT_SETTER = test instanceof Array;
          };
        }() : undefined);
 
-       var IteratorPrototype$2 = iteratorsCore.IteratorPrototype;
-       var BUGGY_SAFARI_ITERATORS$1 = iteratorsCore.BUGGY_SAFARI_ITERATORS;
-       var ITERATOR$1 = wellKnownSymbol('iterator');
+       var IteratorPrototype = iteratorsCore.IteratorPrototype;
+       var BUGGY_SAFARI_ITERATORS = iteratorsCore.BUGGY_SAFARI_ITERATORS;
+       var ITERATOR$7 = wellKnownSymbol('iterator');
        var KEYS = 'keys';
        var VALUES = 'values';
        var ENTRIES = 'entries';
 
-       var returnThis$2 = function () { return this; };
+       var returnThis = function () { return this; };
 
        var defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
          createIteratorConstructor(IteratorConstructor, NAME, next);
 
          var getIterationMethod = function (KIND) {
            if (KIND === DEFAULT && defaultIterator) return defaultIterator;
-           if (!BUGGY_SAFARI_ITERATORS$1 && KIND in IterablePrototype) return IterablePrototype[KIND];
+           if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];
            switch (KIND) {
              case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
              case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
          var TO_STRING_TAG = NAME + ' Iterator';
          var INCORRECT_VALUES_NAME = false;
          var IterablePrototype = Iterable.prototype;
-         var nativeIterator = IterablePrototype[ITERATOR$1]
+         var nativeIterator = IterablePrototype[ITERATOR$7]
            || IterablePrototype['@@iterator']
            || DEFAULT && IterablePrototype[DEFAULT];
-         var defaultIterator = !BUGGY_SAFARI_ITERATORS$1 && nativeIterator || getIterationMethod(DEFAULT);
+         var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
          var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
          var CurrentIteratorPrototype, methods, KEY;
 
          // fix native
          if (anyNativeIterator) {
            CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable()));
-           if (IteratorPrototype$2 !== Object.prototype && CurrentIteratorPrototype.next) {
-             if ( objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype$2) {
+           if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
+             if (objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
                if (objectSetPrototypeOf) {
-                 objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype$2);
-               } else if (typeof CurrentIteratorPrototype[ITERATOR$1] != 'function') {
-                 createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$1, returnThis$2);
+                 objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
+               } else if (typeof CurrentIteratorPrototype[ITERATOR$7] != 'function') {
+                 createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$7, returnThis);
                }
              }
              // Set @@toStringTag to native iterators
            }
          }
 
-         // fix Array#{values, @@iterator}.name in V8 / FF
+         // fix Array.prototype.{ values, @@iterator }.name in V8 / FF
          if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
            INCORRECT_VALUES_NAME = true;
            defaultIterator = function values() { return nativeIterator.call(this); };
          }
 
          // define iterator
-         if ( IterablePrototype[ITERATOR$1] !== defaultIterator) {
-           createNonEnumerableProperty(IterablePrototype, ITERATOR$1, defaultIterator);
+         if (IterablePrototype[ITERATOR$7] !== defaultIterator) {
+           createNonEnumerableProperty(IterablePrototype, ITERATOR$7, defaultIterator);
          }
          iterators[NAME] = defaultIterator;
 
              entries: getIterationMethod(ENTRIES)
            };
            if (FORCED) for (KEY in methods) {
-             if (BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
+             if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
                redefine(IterablePrototype, KEY, methods[KEY]);
              }
-           } else _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME }, methods);
+           } else _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
          }
 
          return methods;
        };
 
-       var charAt = stringMultibyte.charAt;
-
-
-
-       var STRING_ITERATOR = 'String Iterator';
-       var setInternalState = internalState.set;
-       var getInternalState = internalState.getterFor(STRING_ITERATOR);
-
-       // `String.prototype[@@iterator]` method
-       // https://tc39.es/ecma262/#sec-string.prototype-@@iterator
-       defineIterator(String, 'String', function (iterated) {
-         setInternalState(this, {
-           type: STRING_ITERATOR,
-           string: String(iterated),
-           index: 0
-         });
-       // `%StringIteratorPrototype%.next` method
-       // https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next
-       }, function next() {
-         var state = getInternalState(this);
-         var string = state.string;
-         var index = state.index;
-         var point;
-         if (index >= string.length) return { value: undefined, done: true };
-         point = charAt(string, index);
-         state.index += point.length;
-         return { value: point, done: false };
-       });
-
-       var UNSCOPABLES = wellKnownSymbol('unscopables');
-       var ArrayPrototype = Array.prototype;
-
-       // Array.prototype[@@unscopables]
-       // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
-       if (ArrayPrototype[UNSCOPABLES] == undefined) {
-         objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-           configurable: true,
-           value: objectCreate(null)
-         });
-       }
-
-       // add a key to Array.prototype[@@unscopables]
-       var addToUnscopables = function (key) {
-         ArrayPrototype[UNSCOPABLES][key] = true;
-       };
-
        var ARRAY_ITERATOR = 'Array Iterator';
-       var setInternalState$1 = internalState.set;
-       var getInternalState$1 = internalState.getterFor(ARRAY_ITERATOR);
+       var setInternalState$7 = internalState.set;
+       var getInternalState$5 = internalState.getterFor(ARRAY_ITERATOR);
 
        // `Array.prototype.entries` method
        // https://tc39.es/ecma262/#sec-array.prototype.entries
        // `CreateArrayIterator` internal method
        // https://tc39.es/ecma262/#sec-createarrayiterator
        var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {
-         setInternalState$1(this, {
+         setInternalState$7(this, {
            type: ARRAY_ITERATOR,
            target: toIndexedObject(iterated), // target
            index: 0,                          // next index
        // `%ArrayIteratorPrototype%.next` method
        // https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next
        }, function () {
-         var state = getInternalState$1(this);
+         var state = getInternalState$5(this);
          var target = state.target;
          var kind = state.kind;
          var index = state.index++;
        addToUnscopables('values');
        addToUnscopables('entries');
 
+       var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');
+       var test$2 = {};
+
+       test$2[TO_STRING_TAG$3] = 'z';
+
+       var toStringTagSupport = String(test$2) === '[object z]';
+
+       var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');
+       // ES3 wrong here
+       var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
+
+       // fallback for IE11 Script Access Denied error
+       var tryGet = function (it, key) {
+         try {
+           return it[key];
+         } catch (error) { /* empty */ }
+       };
+
+       // getting tag from ES6+ `Object.prototype.toString`
+       var classof = toStringTagSupport ? classofRaw : function (it) {
+         var O, tag, result;
+         return it === undefined ? 'Undefined' : it === null ? 'Null'
+           // @@toStringTag case
+           : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$2)) == 'string' ? tag
+           // builtinTag case
+           : CORRECT_ARGUMENTS ? classofRaw(O)
+           // ES3 arguments fallback
+           : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
+       };
+
+       // `Object.prototype.toString` method implementation
+       // https://tc39.es/ecma262/#sec-object.prototype.tostring
+       var objectToString$1 = toStringTagSupport ? {}.toString : function toString() {
+         return '[object ' + classof(this) + ']';
+       };
+
+       // `Object.prototype.toString` method
+       // https://tc39.es/ecma262/#sec-object.prototype.tostring
+       if (!toStringTagSupport) {
+         redefine(Object.prototype, 'toString', objectToString$1, { unsafe: true });
+       }
+
+       // `String.prototype.{ codePointAt, at }` methods implementation
+       var createMethod$5 = function (CONVERT_TO_STRING) {
+         return function ($this, pos) {
+           var S = String(requireObjectCoercible($this));
+           var position = toInteger(pos);
+           var size = S.length;
+           var first, second;
+           if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
+           first = S.charCodeAt(position);
+           return first < 0xD800 || first > 0xDBFF || position + 1 === size
+             || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
+               ? CONVERT_TO_STRING ? S.charAt(position) : first
+               : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
+         };
+       };
+
+       var stringMultibyte = {
+         // `String.prototype.codePointAt` method
+         // https://tc39.es/ecma262/#sec-string.prototype.codepointat
+         codeAt: createMethod$5(false),
+         // `String.prototype.at` method
+         // https://github.com/mathiasbynens/String.prototype.at
+         charAt: createMethod$5(true)
+       };
+
+       var charAt$1 = stringMultibyte.charAt;
+
+
+
+       var STRING_ITERATOR = 'String Iterator';
+       var setInternalState$6 = internalState.set;
+       var getInternalState$4 = internalState.getterFor(STRING_ITERATOR);
+
+       // `String.prototype[@@iterator]` method
+       // https://tc39.es/ecma262/#sec-string.prototype-@@iterator
+       defineIterator(String, 'String', function (iterated) {
+         setInternalState$6(this, {
+           type: STRING_ITERATOR,
+           string: String(iterated),
+           index: 0
+         });
+       // `%StringIteratorPrototype%.next` method
+       // https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next
+       }, function next() {
+         var state = getInternalState$4(this);
+         var string = state.string;
+         var index = state.index;
+         var point;
+         if (index >= string.length) return { value: undefined, done: true };
+         point = charAt$1(string, index);
+         state.index += point.length;
+         return { value: point, done: false };
+       });
+
        // iterable DOM collections
        // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
        var domIterables = {
          TouchList: 0
        };
 
-       var ITERATOR$2 = wellKnownSymbol('iterator');
-       var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');
+       var ITERATOR$6 = wellKnownSymbol('iterator');
+       var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
        var ArrayValues = es_array_iterator.values;
 
-       for (var COLLECTION_NAME in domIterables) {
-         var Collection = global_1[COLLECTION_NAME];
-         var CollectionPrototype = Collection && Collection.prototype;
-         if (CollectionPrototype) {
+       for (var COLLECTION_NAME$1 in domIterables) {
+         var Collection$1 = global$2[COLLECTION_NAME$1];
+         var CollectionPrototype$1 = Collection$1 && Collection$1.prototype;
+         if (CollectionPrototype$1) {
            // some Chrome versions have non-configurable methods on DOMTokenList
-           if (CollectionPrototype[ITERATOR$2] !== ArrayValues) try {
-             createNonEnumerableProperty(CollectionPrototype, ITERATOR$2, ArrayValues);
+           if (CollectionPrototype$1[ITERATOR$6] !== ArrayValues) try {
+             createNonEnumerableProperty(CollectionPrototype$1, ITERATOR$6, ArrayValues);
            } catch (error) {
-             CollectionPrototype[ITERATOR$2] = ArrayValues;
+             CollectionPrototype$1[ITERATOR$6] = ArrayValues;
            }
-           if (!CollectionPrototype[TO_STRING_TAG$3]) {
-             createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG$3, COLLECTION_NAME);
+           if (!CollectionPrototype$1[TO_STRING_TAG$1]) {
+             createNonEnumerableProperty(CollectionPrototype$1, TO_STRING_TAG$1, COLLECTION_NAME$1);
            }
-           if (domIterables[COLLECTION_NAME]) for (var METHOD_NAME in es_array_iterator) {
+           if (domIterables[COLLECTION_NAME$1]) for (var METHOD_NAME in es_array_iterator) {
              // some Chrome versions have non-configurable methods on DOMTokenList
-             if (CollectionPrototype[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) try {
-               createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, es_array_iterator[METHOD_NAME]);
+             if (CollectionPrototype$1[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) try {
+               createNonEnumerableProperty(CollectionPrototype$1, METHOD_NAME, es_array_iterator[METHOD_NAME]);
              } catch (error) {
-               CollectionPrototype[METHOD_NAME] = es_array_iterator[METHOD_NAME];
+               CollectionPrototype$1[METHOD_NAME] = es_array_iterator[METHOD_NAME];
              }
            }
          }
 
        // `IsArray` abstract operation
        // https://tc39.es/ecma262/#sec-isarray
+       // eslint-disable-next-line es/no-array-isarray -- safe
        var isArray = Array.isArray || function isArray(arg) {
          return classofRaw(arg) == 'Array';
        };
 
-       var nativeGetOwnPropertyNames = objectGetOwnPropertyNames.f;
+       /* eslint-disable es/no-object-getownpropertynames -- safe */
 
-       var toString$1 = {}.toString;
+       var $getOwnPropertyNames$1 = objectGetOwnPropertyNames.f;
+
+       var toString = {}.toString;
 
        var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
          ? Object.getOwnPropertyNames(window) : [];
 
        var getWindowNames = function (it) {
          try {
-           return nativeGetOwnPropertyNames(it);
+           return $getOwnPropertyNames$1(it);
          } catch (error) {
            return windowNames.slice();
          }
        };
 
        // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
-       var f$6 = function getOwnPropertyNames(it) {
-         return windowNames && toString$1.call(it) == '[object Window]'
+       var f$1 = function getOwnPropertyNames(it) {
+         return windowNames && toString.call(it) == '[object Window]'
            ? getWindowNames(it)
-           : nativeGetOwnPropertyNames(toIndexedObject(it));
+           : $getOwnPropertyNames$1(toIndexedObject(it));
        };
 
        var objectGetOwnPropertyNamesExternal = {
-               f: f$6
+               f: f$1
        };
 
-       var aFunction$1 = function (it) {
+       var aFunction = function (it) {
          if (typeof it != 'function') {
            throw TypeError(String(it) + ' is not a function');
          } return it;
 
        // optional / simple context binding
        var functionBindContext = function (fn, that, length) {
-         aFunction$1(fn);
+         aFunction(fn);
          if (that === undefined) return fn;
          switch (length) {
            case 0: return function () {
          };
        };
 
-       var SPECIES = wellKnownSymbol('species');
+       var SPECIES$6 = wellKnownSymbol('species');
 
        // `ArraySpeciesCreate` abstract operation
        // https://tc39.es/ecma262/#sec-arrayspeciescreate
            C = originalArray.constructor;
            // cross-realm fallback
            if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-           else if (isObject(C)) {
-             C = C[SPECIES];
+           else if (isObject$4(C)) {
+             C = C[SPECIES$6];
              if (C === null) C = undefined;
            }
          } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
        var push = [].push;
 
        // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation
-       var createMethod$2 = function (TYPE) {
+       var createMethod$4 = function (TYPE) {
          var IS_MAP = TYPE == 1;
          var IS_FILTER = TYPE == 2;
          var IS_SOME = TYPE == 3;
        var arrayIteration = {
          // `Array.prototype.forEach` method
          // https://tc39.es/ecma262/#sec-array.prototype.foreach
-         forEach: createMethod$2(0),
+         forEach: createMethod$4(0),
          // `Array.prototype.map` method
          // https://tc39.es/ecma262/#sec-array.prototype.map
-         map: createMethod$2(1),
+         map: createMethod$4(1),
          // `Array.prototype.filter` method
          // https://tc39.es/ecma262/#sec-array.prototype.filter
-         filter: createMethod$2(2),
+         filter: createMethod$4(2),
          // `Array.prototype.some` method
          // https://tc39.es/ecma262/#sec-array.prototype.some
-         some: createMethod$2(3),
+         some: createMethod$4(3),
          // `Array.prototype.every` method
          // https://tc39.es/ecma262/#sec-array.prototype.every
-         every: createMethod$2(4),
+         every: createMethod$4(4),
          // `Array.prototype.find` method
          // https://tc39.es/ecma262/#sec-array.prototype.find
-         find: createMethod$2(5),
+         find: createMethod$4(5),
          // `Array.prototype.findIndex` method
          // https://tc39.es/ecma262/#sec-array.prototype.findIndex
-         findIndex: createMethod$2(6),
+         findIndex: createMethod$4(6),
          // `Array.prototype.filterOut` method
          // https://github.com/tc39/proposal-array-filtering
-         filterOut: createMethod$2(7)
+         filterOut: createMethod$4(7)
        };
 
-       var $forEach = arrayIteration.forEach;
+       var $forEach$2 = arrayIteration.forEach;
 
        var HIDDEN = sharedKey('hidden');
        var SYMBOL = 'Symbol';
        var PROTOTYPE$1 = 'prototype';
        var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
-       var setInternalState$2 = internalState.set;
-       var getInternalState$2 = internalState.getterFor(SYMBOL);
-       var ObjectPrototype$1 = Object[PROTOTYPE$1];
-       var $Symbol = global_1.Symbol;
+       var setInternalState$5 = internalState.set;
+       var getInternalState$3 = internalState.getterFor(SYMBOL);
+       var ObjectPrototype$2 = Object[PROTOTYPE$1];
+       var $Symbol = global$2.Symbol;
        var $stringify = getBuiltIn('JSON', 'stringify');
        var nativeGetOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-       var nativeDefineProperty$1 = objectDefineProperty.f;
-       var nativeGetOwnPropertyNames$1 = objectGetOwnPropertyNamesExternal.f;
-       var nativePropertyIsEnumerable$1 = objectPropertyIsEnumerable.f;
+       var nativeDefineProperty = objectDefineProperty.f;
+       var nativeGetOwnPropertyNames = objectGetOwnPropertyNamesExternal.f;
+       var nativePropertyIsEnumerable = objectPropertyIsEnumerable.f;
        var AllSymbols = shared('symbols');
        var ObjectPrototypeSymbols = shared('op-symbols');
        var StringToSymbolRegistry = shared('string-to-symbol-registry');
        var SymbolToStringRegistry = shared('symbol-to-string-registry');
-       var WellKnownSymbolsStore$1 = shared('wks');
-       var QObject = global_1.QObject;
+       var WellKnownSymbolsStore = shared('wks');
+       var QObject = global$2.QObject;
        // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
        var USE_SETTER = !QObject || !QObject[PROTOTYPE$1] || !QObject[PROTOTYPE$1].findChild;
 
        // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
        var setSymbolDescriptor = descriptors && fails(function () {
-         return objectCreate(nativeDefineProperty$1({}, 'a', {
-           get: function () { return nativeDefineProperty$1(this, 'a', { value: 7 }).a; }
+         return objectCreate(nativeDefineProperty({}, 'a', {
+           get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }
          })).a != 7;
        }) ? function (O, P, Attributes) {
-         var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor$1(ObjectPrototype$1, P);
-         if (ObjectPrototypeDescriptor) delete ObjectPrototype$1[P];
-         nativeDefineProperty$1(O, P, Attributes);
-         if (ObjectPrototypeDescriptor && O !== ObjectPrototype$1) {
-           nativeDefineProperty$1(ObjectPrototype$1, P, ObjectPrototypeDescriptor);
+         var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor$1(ObjectPrototype$2, P);
+         if (ObjectPrototypeDescriptor) delete ObjectPrototype$2[P];
+         nativeDefineProperty(O, P, Attributes);
+         if (ObjectPrototypeDescriptor && O !== ObjectPrototype$2) {
+           nativeDefineProperty(ObjectPrototype$2, P, ObjectPrototypeDescriptor);
          }
-       } : nativeDefineProperty$1;
+       } : nativeDefineProperty;
 
-       var wrap = function (tag, description) {
+       var wrap$2 = function (tag, description) {
          var symbol = AllSymbols[tag] = objectCreate($Symbol[PROTOTYPE$1]);
-         setInternalState$2(symbol, {
+         setInternalState$5(symbol, {
            type: SYMBOL,
            tag: tag,
            description: description
          return symbol;
        };
 
-       var isSymbol = useSymbolAsUid ? function (it) {
+       var isSymbol$1 = useSymbolAsUid ? function (it) {
          return typeof it == 'symbol';
        } : function (it) {
          return Object(it) instanceof $Symbol;
        };
 
        var $defineProperty = function defineProperty(O, P, Attributes) {
-         if (O === ObjectPrototype$1) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
+         if (O === ObjectPrototype$2) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
          anObject(O);
          var key = toPrimitive(P, true);
          anObject(Attributes);
-         if (has(AllSymbols, key)) {
+         if (has$1(AllSymbols, key)) {
            if (!Attributes.enumerable) {
-             if (!has(O, HIDDEN)) nativeDefineProperty$1(O, HIDDEN, createPropertyDescriptor(1, {}));
+             if (!has$1(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
              O[HIDDEN][key] = true;
            } else {
-             if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
+             if (has$1(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
              Attributes = objectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
            } return setSymbolDescriptor(O, key, Attributes);
-         } return nativeDefineProperty$1(O, key, Attributes);
+         } return nativeDefineProperty(O, key, Attributes);
        };
 
        var $defineProperties = function defineProperties(O, Properties) {
          anObject(O);
          var properties = toIndexedObject(Properties);
          var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
-         $forEach(keys, function (key) {
+         $forEach$2(keys, function (key) {
            if (!descriptors || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
          });
          return O;
 
        var $propertyIsEnumerable = function propertyIsEnumerable(V) {
          var P = toPrimitive(V, true);
-         var enumerable = nativePropertyIsEnumerable$1.call(this, P);
-         if (this === ObjectPrototype$1 && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
-         return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
+         var enumerable = nativePropertyIsEnumerable.call(this, P);
+         if (this === ObjectPrototype$2 && has$1(AllSymbols, P) && !has$1(ObjectPrototypeSymbols, P)) return false;
+         return enumerable || !has$1(this, P) || !has$1(AllSymbols, P) || has$1(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
        };
 
        var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
          var it = toIndexedObject(O);
          var key = toPrimitive(P, true);
-         if (it === ObjectPrototype$1 && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
+         if (it === ObjectPrototype$2 && has$1(AllSymbols, key) && !has$1(ObjectPrototypeSymbols, key)) return;
          var descriptor = nativeGetOwnPropertyDescriptor$1(it, key);
-         if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
+         if (descriptor && has$1(AllSymbols, key) && !(has$1(it, HIDDEN) && it[HIDDEN][key])) {
            descriptor.enumerable = true;
          }
          return descriptor;
        };
 
        var $getOwnPropertyNames = function getOwnPropertyNames(O) {
-         var names = nativeGetOwnPropertyNames$1(toIndexedObject(O));
+         var names = nativeGetOwnPropertyNames(toIndexedObject(O));
          var result = [];
-         $forEach(names, function (key) {
-           if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
+         $forEach$2(names, function (key) {
+           if (!has$1(AllSymbols, key) && !has$1(hiddenKeys$1, key)) result.push(key);
          });
          return result;
        };
 
        var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
-         var IS_OBJECT_PROTOTYPE = O === ObjectPrototype$1;
-         var names = nativeGetOwnPropertyNames$1(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
+         var IS_OBJECT_PROTOTYPE = O === ObjectPrototype$2;
+         var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
          var result = [];
-         $forEach(names, function (key) {
-           if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype$1, key))) {
+         $forEach$2(names, function (key) {
+           if (has$1(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has$1(ObjectPrototype$2, key))) {
              result.push(AllSymbols[key]);
            }
          });
            var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
            var tag = uid(description);
            var setter = function (value) {
-             if (this === ObjectPrototype$1) setter.call(ObjectPrototypeSymbols, value);
-             if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
+             if (this === ObjectPrototype$2) setter.call(ObjectPrototypeSymbols, value);
+             if (has$1(this, HIDDEN) && has$1(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
              setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
            };
-           if (descriptors && USE_SETTER) setSymbolDescriptor(ObjectPrototype$1, tag, { configurable: true, set: setter });
-           return wrap(tag, description);
+           if (descriptors && USE_SETTER) setSymbolDescriptor(ObjectPrototype$2, tag, { configurable: true, set: setter });
+           return wrap$2(tag, description);
          };
 
          redefine($Symbol[PROTOTYPE$1], 'toString', function toString() {
-           return getInternalState$2(this).tag;
+           return getInternalState$3(this).tag;
          });
 
          redefine($Symbol, 'withoutSetter', function (description) {
-           return wrap(uid(description), description);
+           return wrap$2(uid(description), description);
          });
 
          objectPropertyIsEnumerable.f = $propertyIsEnumerable;
          objectGetOwnPropertySymbols.f = $getOwnPropertySymbols;
 
          wellKnownSymbolWrapped.f = function (name) {
-           return wrap(wellKnownSymbol(name), name);
+           return wrap$2(wellKnownSymbol(name), name);
          };
 
          if (descriptors) {
            // https://github.com/tc39/proposal-Symbol-description
-           nativeDefineProperty$1($Symbol[PROTOTYPE$1], 'description', {
+           nativeDefineProperty($Symbol[PROTOTYPE$1], 'description', {
              configurable: true,
              get: function description() {
-               return getInternalState$2(this).description;
+               return getInternalState$3(this).description;
              }
            });
            {
-             redefine(ObjectPrototype$1, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
+             redefine(ObjectPrototype$2, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
            }
          }
        }
          Symbol: $Symbol
        });
 
-       $forEach(objectKeys(WellKnownSymbolsStore$1), function (name) {
+       $forEach$2(objectKeys(WellKnownSymbolsStore), function (name) {
          defineWellKnownSymbol(name);
        });
 
          // https://tc39.es/ecma262/#sec-symbol.for
          'for': function (key) {
            var string = String(key);
-           if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
+           if (has$1(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
            var symbol = $Symbol(string);
            StringToSymbolRegistry[string] = symbol;
            SymbolToStringRegistry[symbol] = string;
          // `Symbol.keyFor` method
          // https://tc39.es/ecma262/#sec-symbol.keyfor
          keyFor: function keyFor(sym) {
-           if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
-           if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
+           if (!isSymbol$1(sym)) throw TypeError(sym + ' is not a symbol');
+           if (has$1(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
          },
          useSetter: function () { USE_SETTER = true; },
          useSimple: function () { USE_SETTER = false; }
              var $replacer;
              while (arguments.length > index) args.push(arguments[index++]);
              $replacer = replacer;
-             if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
+             if (!isObject$4(replacer) && it === undefined || isSymbol$1(it)) return; // IE8 returns string on undefined
              if (!isArray(replacer)) replacer = function (key, value) {
                if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
-               if (!isSymbol(value)) return value;
+               if (!isSymbol$1(value)) return value;
              };
              args[1] = replacer;
              return $stringify.apply(null, args);
        // https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag
        setToStringTag($Symbol, SYMBOL);
 
-       hiddenKeys[HIDDEN] = true;
+       hiddenKeys$1[HIDDEN] = true;
 
-       var defineProperty$2 = objectDefineProperty.f;
+       var defineProperty$7 = objectDefineProperty.f;
 
 
-       var NativeSymbol = global_1.Symbol;
+       var NativeSymbol = global$2.Symbol;
 
        if (descriptors && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||
          // Safari 12 bug
          var symbolToString = symbolPrototype.toString;
          var native = String(NativeSymbol('test')) == 'Symbol(test)';
          var regexp = /^Symbol\((.*)\)[^)]+$/;
-         defineProperty$2(symbolPrototype, 'description', {
+         defineProperty$7(symbolPrototype, 'description', {
            configurable: true,
            get: function description() {
-             var symbol = isObject(this) ? this.valueOf() : this;
+             var symbol = isObject$4(this) ? this.valueOf() : this;
              var string = symbolToString.call(symbol);
-             if (has(EmptyStringDescriptionStore, symbol)) return '';
+             if (has$1(EmptyStringDescriptionStore, symbol)) return '';
              var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
              return desc === '' ? undefined : desc;
            }
          });
        }
 
+       // eslint-disable-next-line es/no-typed-arrays -- safe
        var arrayBufferNative = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';
 
        var redefineAll = function (target, src, options) {
        };
 
        // IEEE754 conversions based on https://github.com/feross/ieee754
-       var abs = Math.abs;
-       var pow = Math.pow;
-       var floor$1 = Math.floor;
-       var log = Math.log;
+       var abs$4 = Math.abs;
+       var pow$2 = Math.pow;
+       var floor$6 = Math.floor;
+       var log$2 = Math.log;
        var LN2 = Math.LN2;
 
        var pack = function (number, mantissaLength, bytes) {
          var exponentLength = bytes * 8 - mantissaLength - 1;
          var eMax = (1 << exponentLength) - 1;
          var eBias = eMax >> 1;
-         var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;
+         var rt = mantissaLength === 23 ? pow$2(2, -24) - pow$2(2, -77) : 0;
          var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;
          var index = 0;
          var exponent, mantissa, c;
-         number = abs(number);
+         number = abs$4(number);
          // eslint-disable-next-line no-self-compare -- NaN check
          if (number != number || number === Infinity) {
            // eslint-disable-next-line no-self-compare -- NaN check
            mantissa = number != number ? 1 : 0;
            exponent = eMax;
          } else {
-           exponent = floor$1(log(number) / LN2);
-           if (number * (c = pow(2, -exponent)) < 1) {
+           exponent = floor$6(log$2(number) / LN2);
+           if (number * (c = pow$2(2, -exponent)) < 1) {
              exponent--;
              c *= 2;
            }
            if (exponent + eBias >= 1) {
              number += rt / c;
            } else {
-             number += rt * pow(2, 1 - eBias);
+             number += rt * pow$2(2, 1 - eBias);
            }
            if (number * c >= 2) {
              exponent++;
              mantissa = 0;
              exponent = eMax;
            } else if (exponent + eBias >= 1) {
-             mantissa = (number * c - 1) * pow(2, mantissaLength);
+             mantissa = (number * c - 1) * pow$2(2, mantissaLength);
              exponent = exponent + eBias;
            } else {
-             mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);
+             mantissa = number * pow$2(2, eBias - 1) * pow$2(2, mantissaLength);
              exponent = 0;
            }
          }
          } else if (exponent === eMax) {
            return mantissa ? NaN : sign ? -Infinity : Infinity;
          } else {
-           mantissa = mantissa + pow(2, mantissaLength);
+           mantissa = mantissa + pow$2(2, mantissaLength);
            exponent = exponent - eBias;
-         } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);
+         } return (sign ? -1 : 1) * mantissa * pow$2(2, exponent - mantissaLength);
        };
 
-       var ieee754 = {
+       var ieee754$1 = {
          pack: pack,
          unpack: unpack
        };
          return O;
        };
 
-       var getOwnPropertyNames = objectGetOwnPropertyNames.f;
-       var defineProperty$3 = objectDefineProperty.f;
+       var getOwnPropertyNames$3 = objectGetOwnPropertyNames.f;
+       var defineProperty$6 = objectDefineProperty.f;
 
 
 
 
-       var getInternalState$3 = internalState.get;
-       var setInternalState$3 = internalState.set;
-       var ARRAY_BUFFER = 'ArrayBuffer';
+       var getInternalState$2 = internalState.get;
+       var setInternalState$4 = internalState.set;
+       var ARRAY_BUFFER$1 = 'ArrayBuffer';
        var DATA_VIEW = 'DataView';
-       var PROTOTYPE$2 = 'prototype';
+       var PROTOTYPE = 'prototype';
        var WRONG_LENGTH = 'Wrong length';
        var WRONG_INDEX = 'Wrong index';
-       var NativeArrayBuffer = global_1[ARRAY_BUFFER];
-       var $ArrayBuffer = NativeArrayBuffer;
-       var $DataView = global_1[DATA_VIEW];
-       var $DataViewPrototype = $DataView && $DataView[PROTOTYPE$2];
-       var ObjectPrototype$2 = Object.prototype;
-       var RangeError$1 = global_1.RangeError;
+       var NativeArrayBuffer$1 = global$2[ARRAY_BUFFER$1];
+       var $ArrayBuffer = NativeArrayBuffer$1;
+       var $DataView = global$2[DATA_VIEW];
+       var $DataViewPrototype = $DataView && $DataView[PROTOTYPE];
+       var ObjectPrototype$1 = Object.prototype;
+       var RangeError$1 = global$2.RangeError;
 
-       var packIEEE754 = ieee754.pack;
-       var unpackIEEE754 = ieee754.unpack;
+       var packIEEE754 = ieee754$1.pack;
+       var unpackIEEE754 = ieee754$1.unpack;
 
        var packInt8 = function (number) {
          return [number & 0xFF];
        };
 
        var addGetter = function (Constructor, key) {
-         defineProperty$3(Constructor[PROTOTYPE$2], key, { get: function () { return getInternalState$3(this)[key]; } });
+         defineProperty$6(Constructor[PROTOTYPE], key, { get: function () { return getInternalState$2(this)[key]; } });
        };
 
-       var get$1 = function (view, count, index, isLittleEndian) {
+       var get$4 = function (view, count, index, isLittleEndian) {
          var intIndex = toIndex(index);
-         var store = getInternalState$3(view);
+         var store = getInternalState$2(view);
          if (intIndex + count > store.byteLength) throw RangeError$1(WRONG_INDEX);
-         var bytes = getInternalState$3(store.buffer).bytes;
+         var bytes = getInternalState$2(store.buffer).bytes;
          var start = intIndex + store.byteOffset;
          var pack = bytes.slice(start, start + count);
          return isLittleEndian ? pack : pack.reverse();
        };
 
-       var set$1 = function (view, count, index, conversion, value, isLittleEndian) {
+       var set$3 = function (view, count, index, conversion, value, isLittleEndian) {
          var intIndex = toIndex(index);
-         var store = getInternalState$3(view);
+         var store = getInternalState$2(view);
          if (intIndex + count > store.byteLength) throw RangeError$1(WRONG_INDEX);
-         var bytes = getInternalState$3(store.buffer).bytes;
+         var bytes = getInternalState$2(store.buffer).bytes;
          var start = intIndex + store.byteOffset;
          var pack = conversion(+value);
          for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];
 
        if (!arrayBufferNative) {
          $ArrayBuffer = function ArrayBuffer(length) {
-           anInstance(this, $ArrayBuffer, ARRAY_BUFFER);
+           anInstance(this, $ArrayBuffer, ARRAY_BUFFER$1);
            var byteLength = toIndex(length);
-           setInternalState$3(this, {
+           setInternalState$4(this, {
              bytes: arrayFill.call(new Array(byteLength), 0),
              byteLength: byteLength
            });
          $DataView = function DataView(buffer, byteOffset, byteLength) {
            anInstance(this, $DataView, DATA_VIEW);
            anInstance(buffer, $ArrayBuffer, DATA_VIEW);
-           var bufferLength = getInternalState$3(buffer).byteLength;
+           var bufferLength = getInternalState$2(buffer).byteLength;
            var offset = toInteger(byteOffset);
            if (offset < 0 || offset > bufferLength) throw RangeError$1('Wrong offset');
            byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
            if (offset + byteLength > bufferLength) throw RangeError$1(WRONG_LENGTH);
-           setInternalState$3(this, {
+           setInternalState$4(this, {
              buffer: buffer,
              byteLength: byteLength,
              byteOffset: offset
            addGetter($DataView, 'byteOffset');
          }
 
-         redefineAll($DataView[PROTOTYPE$2], {
+         redefineAll($DataView[PROTOTYPE], {
            getInt8: function getInt8(byteOffset) {
-             return get$1(this, 1, byteOffset)[0] << 24 >> 24;
+             return get$4(this, 1, byteOffset)[0] << 24 >> 24;
            },
            getUint8: function getUint8(byteOffset) {
-             return get$1(this, 1, byteOffset)[0];
+             return get$4(this, 1, byteOffset)[0];
            },
            getInt16: function getInt16(byteOffset /* , littleEndian */) {
-             var bytes = get$1(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
+             var bytes = get$4(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
              return (bytes[1] << 8 | bytes[0]) << 16 >> 16;
            },
            getUint16: function getUint16(byteOffset /* , littleEndian */) {
-             var bytes = get$1(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
+             var bytes = get$4(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
              return bytes[1] << 8 | bytes[0];
            },
            getInt32: function getInt32(byteOffset /* , littleEndian */) {
-             return unpackInt32(get$1(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));
+             return unpackInt32(get$4(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));
            },
            getUint32: function getUint32(byteOffset /* , littleEndian */) {
-             return unpackInt32(get$1(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;
+             return unpackInt32(get$4(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;
            },
            getFloat32: function getFloat32(byteOffset /* , littleEndian */) {
-             return unpackIEEE754(get$1(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);
+             return unpackIEEE754(get$4(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);
            },
            getFloat64: function getFloat64(byteOffset /* , littleEndian */) {
-             return unpackIEEE754(get$1(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);
+             return unpackIEEE754(get$4(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);
            },
            setInt8: function setInt8(byteOffset, value) {
-             set$1(this, 1, byteOffset, packInt8, value);
+             set$3(this, 1, byteOffset, packInt8, value);
            },
            setUint8: function setUint8(byteOffset, value) {
-             set$1(this, 1, byteOffset, packInt8, value);
+             set$3(this, 1, byteOffset, packInt8, value);
            },
            setInt16: function setInt16(byteOffset, value /* , littleEndian */) {
-             set$1(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);
+             set$3(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);
            },
            setUint16: function setUint16(byteOffset, value /* , littleEndian */) {
-             set$1(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);
+             set$3(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);
            },
            setInt32: function setInt32(byteOffset, value /* , littleEndian */) {
-             set$1(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);
+             set$3(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);
            },
            setUint32: function setUint32(byteOffset, value /* , littleEndian */) {
-             set$1(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);
+             set$3(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);
            },
            setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {
-             set$1(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);
+             set$3(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);
            },
            setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {
-             set$1(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);
+             set$3(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);
            }
          });
        } else {
          /* eslint-disable no-new -- required for testing */
          if (!fails(function () {
-           NativeArrayBuffer(1);
+           NativeArrayBuffer$1(1);
          }) || !fails(function () {
-           new NativeArrayBuffer(-1);
+           new NativeArrayBuffer$1(-1);
          }) || fails(function () {
-           new NativeArrayBuffer();
-           new NativeArrayBuffer(1.5);
-           new NativeArrayBuffer(NaN);
-           return NativeArrayBuffer.name != ARRAY_BUFFER;
+           new NativeArrayBuffer$1();
+           new NativeArrayBuffer$1(1.5);
+           new NativeArrayBuffer$1(NaN);
+           return NativeArrayBuffer$1.name != ARRAY_BUFFER$1;
          })) {
          /* eslint-enable no-new -- required for testing */
            $ArrayBuffer = function ArrayBuffer(length) {
              anInstance(this, $ArrayBuffer);
-             return new NativeArrayBuffer(toIndex(length));
+             return new NativeArrayBuffer$1(toIndex(length));
            };
-           var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE$2] = NativeArrayBuffer[PROTOTYPE$2];
-           for (var keys$1 = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys$1.length > j;) {
-             if (!((key = keys$1[j++]) in $ArrayBuffer)) {
-               createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);
+           var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer$1[PROTOTYPE];
+           for (var keys$2 = getOwnPropertyNames$3(NativeArrayBuffer$1), j$2 = 0, key$1; keys$2.length > j$2;) {
+             if (!((key$1 = keys$2[j$2++]) in $ArrayBuffer)) {
+               createNonEnumerableProperty($ArrayBuffer, key$1, NativeArrayBuffer$1[key$1]);
              }
            }
            ArrayBufferPrototype.constructor = $ArrayBuffer;
          }
 
          // WebKit bug - the same parent prototype for typed arrays and data view
-         if (objectSetPrototypeOf && objectGetPrototypeOf($DataViewPrototype) !== ObjectPrototype$2) {
-           objectSetPrototypeOf($DataViewPrototype, ObjectPrototype$2);
+         if (objectSetPrototypeOf && objectGetPrototypeOf($DataViewPrototype) !== ObjectPrototype$1) {
+           objectSetPrototypeOf($DataViewPrototype, ObjectPrototype$1);
          }
 
          // iOS Safari 7.x bug
          var testView = new $DataView(new $ArrayBuffer(2));
-         var nativeSetInt8 = $DataViewPrototype.setInt8;
+         var $setInt8 = $DataViewPrototype.setInt8;
          testView.setInt8(0, 2147483648);
          testView.setInt8(1, 2147483649);
          if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {
            setInt8: function setInt8(byteOffset, value) {
-             nativeSetInt8.call(this, byteOffset, value << 24 >> 24);
+             $setInt8.call(this, byteOffset, value << 24 >> 24);
            },
            setUint8: function setUint8(byteOffset, value) {
-             nativeSetInt8.call(this, byteOffset, value << 24 >> 24);
+             $setInt8.call(this, byteOffset, value << 24 >> 24);
            }
          }, { unsafe: true });
        }
 
-       setToStringTag($ArrayBuffer, ARRAY_BUFFER);
+       setToStringTag($ArrayBuffer, ARRAY_BUFFER$1);
        setToStringTag($DataView, DATA_VIEW);
 
        var arrayBuffer = {
          DataView: $DataView
        };
 
-       // `DataView` constructor
-       // https://tc39.es/ecma262/#sec-dataview-constructor
-       _export({ global: true, forced: !arrayBufferNative }, {
-         DataView: arrayBuffer.DataView
-       });
-
-       var SPECIES$1 = wellKnownSymbol('species');
+       var SPECIES$5 = wellKnownSymbol('species');
 
        // `SpeciesConstructor` abstract operation
        // https://tc39.es/ecma262/#sec-speciesconstructor
        var speciesConstructor = function (O, defaultConstructor) {
          var C = anObject(O).constructor;
          var S;
-         return C === undefined || (S = anObject(C)[SPECIES$1]) == undefined ? defaultConstructor : aFunction$1(S);
+         return C === undefined || (S = anObject(C)[SPECIES$5]) == undefined ? defaultConstructor : aFunction(S);
        };
 
-       var ArrayBuffer$1 = arrayBuffer.ArrayBuffer;
+       var ArrayBuffer$3 = arrayBuffer.ArrayBuffer;
        var DataView$1 = arrayBuffer.DataView;
-       var nativeArrayBufferSlice = ArrayBuffer$1.prototype.slice;
+       var nativeArrayBufferSlice = ArrayBuffer$3.prototype.slice;
 
        var INCORRECT_SLICE = fails(function () {
-         return !new ArrayBuffer$1(2).slice(1, undefined).byteLength;
+         return !new ArrayBuffer$3(2).slice(1, undefined).byteLength;
        });
 
        // `ArrayBuffer.prototype.slice` method
            var length = anObject(this).byteLength;
            var first = toAbsoluteIndex(start, length);
            var fin = toAbsoluteIndex(end === undefined ? length : end, length);
-           var result = new (speciesConstructor(this, ArrayBuffer$1))(toLength(fin - first));
+           var result = new (speciesConstructor(this, ArrayBuffer$3))(toLength(fin - first));
            var viewSource = new DataView$1(this);
            var viewTarget = new DataView$1(result);
            var index = 0;
          }
        });
 
-       var defineProperty$4 = objectDefineProperty.f;
+       // `DataView` constructor
+       // https://tc39.es/ecma262/#sec-dataview-constructor
+       _export({ global: true, forced: !arrayBufferNative }, {
+         DataView: arrayBuffer.DataView
+       });
+
+       var defineProperty$5 = objectDefineProperty.f;
 
 
 
 
 
-       var Int8Array$1 = global_1.Int8Array;
-       var Int8ArrayPrototype = Int8Array$1 && Int8Array$1.prototype;
-       var Uint8ClampedArray = global_1.Uint8ClampedArray;
+       var Int8Array$3 = global$2.Int8Array;
+       var Int8ArrayPrototype = Int8Array$3 && Int8Array$3.prototype;
+       var Uint8ClampedArray = global$2.Uint8ClampedArray;
        var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;
-       var TypedArray = Int8Array$1 && objectGetPrototypeOf(Int8Array$1);
+       var TypedArray = Int8Array$3 && objectGetPrototypeOf(Int8Array$3);
        var TypedArrayPrototype = Int8ArrayPrototype && objectGetPrototypeOf(Int8ArrayPrototype);
-       var ObjectPrototype$3 = Object.prototype;
-       var isPrototypeOf = ObjectPrototype$3.isPrototypeOf;
+       var ObjectPrototype = Object.prototype;
+       var isPrototypeOf = ObjectPrototype.isPrototypeOf;
 
-       var TO_STRING_TAG$4 = wellKnownSymbol('toStringTag');
+       var TO_STRING_TAG = wellKnownSymbol('toStringTag');
        var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');
        // Fixing native typed arrays in Opera Presto crashes the browser, see #595
-       var NATIVE_ARRAY_BUFFER_VIEWS = arrayBufferNative && !!objectSetPrototypeOf && classof(global_1.opera) !== 'Opera';
+       var NATIVE_ARRAY_BUFFER_VIEWS$2 = arrayBufferNative && !!objectSetPrototypeOf && classof(global$2.opera) !== 'Opera';
        var TYPED_ARRAY_TAG_REQIRED = false;
-       var NAME;
+       var NAME$1;
 
        var TypedArrayConstructorsList = {
          Int8Array: 1,
        };
 
        var isView = function isView(it) {
-         if (!isObject(it)) return false;
+         if (!isObject$4(it)) return false;
          var klass = classof(it);
          return klass === 'DataView'
-           || has(TypedArrayConstructorsList, klass)
-           || has(BigIntArrayConstructorsList, klass);
+           || has$1(TypedArrayConstructorsList, klass)
+           || has$1(BigIntArrayConstructorsList, klass);
        };
 
        var isTypedArray = function (it) {
-         if (!isObject(it)) return false;
+         if (!isObject$4(it)) return false;
          var klass = classof(it);
-         return has(TypedArrayConstructorsList, klass)
-           || has(BigIntArrayConstructorsList, klass);
+         return has$1(TypedArrayConstructorsList, klass)
+           || has$1(BigIntArrayConstructorsList, klass);
        };
 
-       var aTypedArray = function (it) {
+       var aTypedArray$m = function (it) {
          if (isTypedArray(it)) return it;
          throw TypeError('Target is not a typed array');
        };
 
-       var aTypedArrayConstructor = function (C) {
+       var aTypedArrayConstructor$4 = function (C) {
          if (objectSetPrototypeOf) {
            if (isPrototypeOf.call(TypedArray, C)) return C;
-         } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {
-           var TypedArrayConstructor = global_1[ARRAY];
+         } else for (var ARRAY in TypedArrayConstructorsList) if (has$1(TypedArrayConstructorsList, NAME$1)) {
+           var TypedArrayConstructor = global$2[ARRAY];
            if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {
              return C;
            }
          } throw TypeError('Target is not a typed array constructor');
        };
 
-       var exportTypedArrayMethod = function (KEY, property, forced) {
+       var exportTypedArrayMethod$n = function (KEY, property, forced) {
          if (!descriptors) return;
          if (forced) for (var ARRAY in TypedArrayConstructorsList) {
-           var TypedArrayConstructor = global_1[ARRAY];
-           if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {
+           var TypedArrayConstructor = global$2[ARRAY];
+           if (TypedArrayConstructor && has$1(TypedArrayConstructor.prototype, KEY)) try {
              delete TypedArrayConstructor.prototype[KEY];
-           }
+           } catch (error) { /* empty */ }
          }
          if (!TypedArrayPrototype[KEY] || forced) {
            redefine(TypedArrayPrototype, KEY, forced ? property
-             : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);
+             : NATIVE_ARRAY_BUFFER_VIEWS$2 && Int8ArrayPrototype[KEY] || property);
          }
        };
 
-       var exportTypedArrayStaticMethod = function (KEY, property, forced) {
+       var exportTypedArrayStaticMethod$1 = function (KEY, property, forced) {
          var ARRAY, TypedArrayConstructor;
          if (!descriptors) return;
          if (objectSetPrototypeOf) {
            if (forced) for (ARRAY in TypedArrayConstructorsList) {
-             TypedArrayConstructor = global_1[ARRAY];
-             if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {
+             TypedArrayConstructor = global$2[ARRAY];
+             if (TypedArrayConstructor && has$1(TypedArrayConstructor, KEY)) try {
                delete TypedArrayConstructor[KEY];
-             }
+             } catch (error) { /* empty */ }
            }
            if (!TypedArray[KEY] || forced) {
              // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable
              try {
-               return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array$1[KEY] || property);
+               return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS$2 && TypedArray[KEY] || property);
              } catch (error) { /* empty */ }
            } else return;
          }
          for (ARRAY in TypedArrayConstructorsList) {
-           TypedArrayConstructor = global_1[ARRAY];
+           TypedArrayConstructor = global$2[ARRAY];
            if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {
              redefine(TypedArrayConstructor, KEY, property);
            }
          }
        };
 
-       for (NAME in TypedArrayConstructorsList) {
-         if (!global_1[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;
+       for (NAME$1 in TypedArrayConstructorsList) {
+         if (!global$2[NAME$1]) NATIVE_ARRAY_BUFFER_VIEWS$2 = false;
        }
 
        // WebKit bug - typed arrays constructors prototype is Object.prototype
-       if (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {
+       if (!NATIVE_ARRAY_BUFFER_VIEWS$2 || typeof TypedArray != 'function' || TypedArray === Function.prototype) {
          // eslint-disable-next-line no-shadow -- safe
          TypedArray = function TypedArray() {
            throw TypeError('Incorrect invocation');
          };
-         if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {
-           if (global_1[NAME]) objectSetPrototypeOf(global_1[NAME], TypedArray);
+         if (NATIVE_ARRAY_BUFFER_VIEWS$2) for (NAME$1 in TypedArrayConstructorsList) {
+           if (global$2[NAME$1]) objectSetPrototypeOf(global$2[NAME$1], TypedArray);
          }
        }
 
-       if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype$3) {
+       if (!NATIVE_ARRAY_BUFFER_VIEWS$2 || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {
          TypedArrayPrototype = TypedArray.prototype;
-         if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {
-           if (global_1[NAME]) objectSetPrototypeOf(global_1[NAME].prototype, TypedArrayPrototype);
+         if (NATIVE_ARRAY_BUFFER_VIEWS$2) for (NAME$1 in TypedArrayConstructorsList) {
+           if (global$2[NAME$1]) objectSetPrototypeOf(global$2[NAME$1].prototype, TypedArrayPrototype);
          }
        }
 
        // WebKit bug - one more object in Uint8ClampedArray prototype chain
-       if (NATIVE_ARRAY_BUFFER_VIEWS && objectGetPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {
+       if (NATIVE_ARRAY_BUFFER_VIEWS$2 && objectGetPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {
          objectSetPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);
        }
 
-       if (descriptors && !has(TypedArrayPrototype, TO_STRING_TAG$4)) {
+       if (descriptors && !has$1(TypedArrayPrototype, TO_STRING_TAG)) {
          TYPED_ARRAY_TAG_REQIRED = true;
-         defineProperty$4(TypedArrayPrototype, TO_STRING_TAG$4, { get: function () {
-           return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;
+         defineProperty$5(TypedArrayPrototype, TO_STRING_TAG, { get: function () {
+           return isObject$4(this) ? this[TYPED_ARRAY_TAG] : undefined;
          } });
-         for (NAME in TypedArrayConstructorsList) if (global_1[NAME]) {
-           createNonEnumerableProperty(global_1[NAME], TYPED_ARRAY_TAG, NAME);
+         for (NAME$1 in TypedArrayConstructorsList) if (global$2[NAME$1]) {
+           createNonEnumerableProperty(global$2[NAME$1], TYPED_ARRAY_TAG, NAME$1);
          }
        }
 
        var arrayBufferViewCore = {
-         NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,
+         NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS$2,
          TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,
-         aTypedArray: aTypedArray,
-         aTypedArrayConstructor: aTypedArrayConstructor,
-         exportTypedArrayMethod: exportTypedArrayMethod,
-         exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,
+         aTypedArray: aTypedArray$m,
+         aTypedArrayConstructor: aTypedArrayConstructor$4,
+         exportTypedArrayMethod: exportTypedArrayMethod$n,
+         exportTypedArrayStaticMethod: exportTypedArrayStaticMethod$1,
          isView: isView,
          isTypedArray: isTypedArray,
          TypedArray: TypedArray,
          isView: arrayBufferViewCore.isView
        });
 
-       var SPECIES$2 = wellKnownSymbol('species');
+       var SPECIES$4 = wellKnownSymbol('species');
 
        var setSpecies = function (CONSTRUCTOR_NAME) {
          var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
          var defineProperty = objectDefineProperty.f;
 
-         if (descriptors && Constructor && !Constructor[SPECIES$2]) {
-           defineProperty(Constructor, SPECIES$2, {
+         if (descriptors && Constructor && !Constructor[SPECIES$4]) {
+           defineProperty(Constructor, SPECIES$4, {
              configurable: true,
              get: function () { return this; }
            });
          }
        };
 
-       var ARRAY_BUFFER$1 = 'ArrayBuffer';
-       var ArrayBuffer$2 = arrayBuffer[ARRAY_BUFFER$1];
-       var NativeArrayBuffer$1 = global_1[ARRAY_BUFFER$1];
+       var ARRAY_BUFFER = 'ArrayBuffer';
+       var ArrayBuffer$2 = arrayBuffer[ARRAY_BUFFER];
+       var NativeArrayBuffer = global$2[ARRAY_BUFFER];
 
        // `ArrayBuffer` constructor
        // https://tc39.es/ecma262/#sec-arraybuffer-constructor
-       _export({ global: true, forced: NativeArrayBuffer$1 !== ArrayBuffer$2 }, {
+       _export({ global: true, forced: NativeArrayBuffer !== ArrayBuffer$2 }, {
          ArrayBuffer: ArrayBuffer$2
        });
 
-       setSpecies(ARRAY_BUFFER$1);
+       setSpecies(ARRAY_BUFFER);
 
        var arrayMethodIsStrict = function (METHOD_NAME, argument) {
          var method = [][METHOD_NAME];
          });
        };
 
-       var $indexOf = arrayIncludes.indexOf;
+       /* eslint-disable es/no-array-prototype-indexof -- required for testing */
+
+       var $indexOf$1 = arrayIncludes.indexOf;
 
 
        var nativeIndexOf = [].indexOf;
 
-       var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
-       var STRICT_METHOD = arrayMethodIsStrict('indexOf');
+       var NEGATIVE_ZERO$1 = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
+       var STRICT_METHOD$7 = arrayMethodIsStrict('indexOf');
 
        // `Array.prototype.indexOf` method
        // https://tc39.es/ecma262/#sec-array.prototype.indexof
-       _export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {
+       _export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO$1 || !STRICT_METHOD$7 }, {
          indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
-           return NEGATIVE_ZERO
+           return NEGATIVE_ZERO$1
              // convert -0 to +0
              ? nativeIndexOf.apply(this, arguments) || 0
-             : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
+             : $indexOf$1(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
          }
        });
 
          });
        };
 
-       var $map = arrayIteration.map;
+       var $map$1 = arrayIteration.map;
 
 
-       var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');
+       var HAS_SPECIES_SUPPORT$3 = arrayMethodHasSpeciesSupport('map');
 
        // `Array.prototype.map` method
        // https://tc39.es/ecma262/#sec-array.prototype.map
        // with adding support of @@species
-       _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
+       _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$3 }, {
          map: function map(callbackfn /* , thisArg */) {
-           return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+           return $map$1(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
          }
        });
 
        var $forEach$1 = arrayIteration.forEach;
 
 
-       var STRICT_METHOD$1 = arrayMethodIsStrict('forEach');
+       var STRICT_METHOD$6 = arrayMethodIsStrict('forEach');
 
        // `Array.prototype.forEach` method implementation
        // https://tc39.es/ecma262/#sec-array.prototype.foreach
-       var arrayForEach = !STRICT_METHOD$1 ? function forEach(callbackfn /* , thisArg */) {
+       var arrayForEach = !STRICT_METHOD$6 ? function forEach(callbackfn /* , thisArg */) {
          return $forEach$1(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+       // eslint-disable-next-line es/no-array-prototype-foreach -- safe
        } : [].forEach;
 
        // `Array.prototype.forEach` method
        // https://tc39.es/ecma262/#sec-array.prototype.foreach
+       // eslint-disable-next-line es/no-array-prototype-foreach -- safe
        _export({ target: 'Array', proto: true, forced: [].forEach != arrayForEach }, {
          forEach: arrayForEach
        });
 
-       for (var COLLECTION_NAME$1 in domIterables) {
-         var Collection$1 = global_1[COLLECTION_NAME$1];
-         var CollectionPrototype$1 = Collection$1 && Collection$1.prototype;
+       for (var COLLECTION_NAME in domIterables) {
+         var Collection = global$2[COLLECTION_NAME];
+         var CollectionPrototype = Collection && Collection.prototype;
          // some Chrome versions have non-configurable methods on DOMTokenList
-         if (CollectionPrototype$1 && CollectionPrototype$1.forEach !== arrayForEach) try {
-           createNonEnumerableProperty(CollectionPrototype$1, 'forEach', arrayForEach);
+         if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) try {
+           createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach);
          } catch (error) {
-           CollectionPrototype$1.forEach = arrayForEach;
+           CollectionPrototype.forEach = arrayForEach;
          }
        }
 
          isArray: isArray
        });
 
-       var nativeGetOwnPropertyNames$2 = objectGetOwnPropertyNamesExternal.f;
+       var getOwnPropertyNames$2 = objectGetOwnPropertyNamesExternal.f;
 
-       var FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); });
+       // eslint-disable-next-line es/no-object-getownpropertynames -- required for testing
+       var FAILS_ON_PRIMITIVES$4 = fails(function () { return !Object.getOwnPropertyNames(1); });
 
        // `Object.getOwnPropertyNames` method
        // https://tc39.es/ecma262/#sec-object.getownpropertynames
-       _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
-         getOwnPropertyNames: nativeGetOwnPropertyNames$2
+       _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$4 }, {
+         getOwnPropertyNames: getOwnPropertyNames$2
        });
 
-       var nativePromiseConstructor = global_1.Promise;
+       var nativePromiseConstructor = global$2.Promise;
 
-       var ITERATOR$3 = wellKnownSymbol('iterator');
-       var ArrayPrototype$1 = Array.prototype;
+       var ITERATOR$5 = wellKnownSymbol('iterator');
+       var ArrayPrototype = Array.prototype;
 
        // check on default Array iterator
        var isArrayIteratorMethod = function (it) {
-         return it !== undefined && (iterators.Array === it || ArrayPrototype$1[ITERATOR$3] === it);
+         return it !== undefined && (iterators.Array === it || ArrayPrototype[ITERATOR$5] === it);
        };
 
        var ITERATOR$4 = wellKnownSymbol('iterator');
          } return new Result(false);
        };
 
-       var ITERATOR$5 = wellKnownSymbol('iterator');
+       var ITERATOR$3 = wellKnownSymbol('iterator');
        var SAFE_CLOSING = false;
 
        try {
              SAFE_CLOSING = true;
            }
          };
-         iteratorWithReturn[ITERATOR$5] = function () {
+         iteratorWithReturn[ITERATOR$3] = function () {
            return this;
          };
-         // eslint-disable-next-line no-throw-literal -- required for testing
+         // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing
          Array.from(iteratorWithReturn, function () { throw 2; });
        } catch (error) { /* empty */ }
 
          var ITERATION_SUPPORT = false;
          try {
            var object = {};
-           object[ITERATOR$5] = function () {
+           object[ITERATOR$3] = function () {
              return {
                next: function () {
                  return { done: ITERATION_SUPPORT = true };
          return ITERATION_SUPPORT;
        };
 
-       var engineIsIos = /(iphone|ipod|ipad).*applewebkit/i.test(engineUserAgent);
+       var engineIsIos = /(?:iphone|ipod|ipad).*applewebkit/i.test(engineUserAgent);
+
+       var engineIsNode = classofRaw(global$2.process) == 'process';
 
-       var location$1 = global_1.location;
-       var set$2 = global_1.setImmediate;
-       var clear = global_1.clearImmediate;
-       var process$2 = global_1.process;
-       var MessageChannel = global_1.MessageChannel;
-       var Dispatch = global_1.Dispatch;
+       var location$1 = global$2.location;
+       var set$2 = global$2.setImmediate;
+       var clear = global$2.clearImmediate;
+       var process$3 = global$2.process;
+       var MessageChannel = global$2.MessageChannel;
+       var Dispatch$1 = global$2.Dispatch;
        var counter = 0;
        var queue = {};
        var ONREADYSTATECHANGE = 'onreadystatechange';
 
        var post = function (id) {
          // old engines have not location.origin
-         global_1.postMessage(id + '', location$1.protocol + '//' + location$1.host);
+         global$2.postMessage(id + '', location$1.protocol + '//' + location$1.host);
        };
 
        // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
          // Node.js 0.8-
          if (engineIsNode) {
            defer = function (id) {
-             process$2.nextTick(runner(id));
+             process$3.nextTick(runner(id));
            };
          // Sphere (JS game engine) Dispatch API
-         } else if (Dispatch && Dispatch.now) {
+         } else if (Dispatch$1 && Dispatch$1.now) {
            defer = function (id) {
-             Dispatch.now(runner(id));
+             Dispatch$1.now(runner(id));
            };
          // Browsers with MessageChannel, includes WebWorkers
          // except iOS - https://github.com/zloirock/core-js/issues/624
          // Browsers with postMessage, skip WebWorkers
          // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
          } else if (
-           global_1.addEventListener &&
+           global$2.addEventListener &&
            typeof postMessage == 'function' &&
-           !global_1.importScripts &&
+           !global$2.importScripts &&
            location$1 && location$1.protocol !== 'file:' &&
            !fails(post)
          ) {
            defer = post;
-           global_1.addEventListener('message', listener, false);
+           global$2.addEventListener('message', listener, false);
          // IE8-
          } else if (ONREADYSTATECHANGE in documentCreateElement('script')) {
            defer = function (id) {
          }
        }
 
-       var task = {
+       var task$1 = {
          set: set$2,
          clear: clear
        };
 
        var engineIsWebosWebkit = /web0s(?!.*chrome)/i.test(engineUserAgent);
 
-       var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
-       var macrotask = task.set;
+       var getOwnPropertyDescriptor$3 = objectGetOwnPropertyDescriptor.f;
+       var macrotask = task$1.set;
 
 
 
 
-       var MutationObserver = global_1.MutationObserver || global_1.WebKitMutationObserver;
-       var document$2 = global_1.document;
-       var process$3 = global_1.process;
-       var Promise$1 = global_1.Promise;
+       var MutationObserver = global$2.MutationObserver || global$2.WebKitMutationObserver;
+       var document$2 = global$2.document;
+       var process$2 = global$2.process;
+       var Promise$1 = global$2.Promise;
        // Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
-       var queueMicrotaskDescriptor = getOwnPropertyDescriptor$2(global_1, 'queueMicrotask');
+       var queueMicrotaskDescriptor = getOwnPropertyDescriptor$3(global$2, 'queueMicrotask');
        var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
 
-       var flush, head, last, notify, toggle, node, promise, then;
+       var flush, head, last, notify$1, toggle, node, promise, then;
 
        // modern engines have queueMicrotask method
        if (!queueMicrotask) {
          flush = function () {
            var parent, fn;
-           if (engineIsNode && (parent = process$3.domain)) parent.exit();
+           if (engineIsNode && (parent = process$2.domain)) parent.exit();
            while (head) {
              fn = head.fn;
              head = head.next;
              try {
                fn();
              } catch (error) {
-               if (head) notify();
+               if (head) notify$1();
                else last = undefined;
                throw error;
              }
            toggle = true;
            node = document$2.createTextNode('');
            new MutationObserver(flush).observe(node, { characterData: true });
-           notify = function () {
+           notify$1 = function () {
              node.data = toggle = !toggle;
            };
          // environments with maybe non-completely correct, but existent Promise
          } else if (Promise$1 && Promise$1.resolve) {
            // Promise.resolve without an argument throws an error in LG WebOS 2
            promise = Promise$1.resolve(undefined);
+           // workaround of WebKit ~ iOS Safari 10.1 bug
+           promise.constructor = Promise$1;
            then = promise.then;
-           notify = function () {
+           notify$1 = function () {
              then.call(promise, flush);
            };
          // Node.js without promises
          } else if (engineIsNode) {
-           notify = function () {
-             process$3.nextTick(flush);
+           notify$1 = function () {
+             process$2.nextTick(flush);
            };
          // for other environments - macrotask based on:
          // - setImmediate
          // - onreadystatechange
          // - setTimeout
          } else {
-           notify = function () {
+           notify$1 = function () {
              // strange IE + webpack dev server bug - use .call(global)
-             macrotask.call(global_1, flush);
+             macrotask.call(global$2, flush);
            };
          }
        }
          if (last) last.next = task;
          if (!head) {
            head = task;
-           notify();
+           notify$1();
          } last = task;
        };
 
            resolve = $$resolve;
            reject = $$reject;
          });
-         this.resolve = aFunction$1(resolve);
-         this.reject = aFunction$1(reject);
+         this.resolve = aFunction(resolve);
+         this.reject = aFunction(reject);
        };
 
-       // 25.4.1.5 NewPromiseCapability(C)
-       var f$7 = function (C) {
+       // `NewPromiseCapability` abstract operation
+       // https://tc39.es/ecma262/#sec-newpromisecapability
+       var f = function (C) {
          return new PromiseCapability(C);
        };
 
-       var newPromiseCapability = {
-               f: f$7
+       var newPromiseCapability$1 = {
+               f: f
        };
 
        var promiseResolve = function (C, x) {
          anObject(C);
-         if (isObject(x) && x.constructor === C) return x;
-         var promiseCapability = newPromiseCapability.f(C);
+         if (isObject$4(x) && x.constructor === C) return x;
+         var promiseCapability = newPromiseCapability$1.f(C);
          var resolve = promiseCapability.resolve;
          resolve(x);
          return promiseCapability.promise;
        };
 
        var hostReportErrors = function (a, b) {
-         var console = global_1.console;
+         var console = global$2.console;
          if (console && console.error) {
            arguments.length === 1 ? console.error(a) : console.error(a, b);
          }
          }
        };
 
-       var task$1 = task.set;
+       var engineIsBrowser = typeof window == 'object';
 
+       var task = task$1.set;
 
 
 
 
 
 
-       var SPECIES$4 = wellKnownSymbol('species');
+
+
+       var SPECIES$2 = wellKnownSymbol('species');
        var PROMISE = 'Promise';
-       var getInternalState$4 = internalState.get;
-       var setInternalState$4 = internalState.set;
+       var getInternalState$1 = internalState.get;
+       var setInternalState$3 = internalState.set;
        var getInternalPromiseState = internalState.getterFor(PROMISE);
+       var NativePromisePrototype = nativePromiseConstructor && nativePromiseConstructor.prototype;
        var PromiseConstructor = nativePromiseConstructor;
-       var TypeError$1 = global_1.TypeError;
-       var document$3 = global_1.document;
-       var process$4 = global_1.process;
-       var $fetch = getBuiltIn('fetch');
-       var newPromiseCapability$1 = newPromiseCapability.f;
-       var newGenericPromiseCapability = newPromiseCapability$1;
-       var DISPATCH_EVENT = !!(document$3 && document$3.createEvent && global_1.dispatchEvent);
+       var PromiseConstructorPrototype = NativePromisePrototype;
+       var TypeError$1 = global$2.TypeError;
+       var document$1 = global$2.document;
+       var process$1 = global$2.process;
+       var newPromiseCapability = newPromiseCapability$1.f;
+       var newGenericPromiseCapability = newPromiseCapability;
+       var DISPATCH_EVENT = !!(document$1 && document$1.createEvent && global$2.dispatchEvent);
        var NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';
        var UNHANDLED_REJECTION = 'unhandledrejection';
        var REJECTION_HANDLED = 'rejectionhandled';
        var REJECTED = 2;
        var HANDLED = 1;
        var UNHANDLED = 2;
+       var SUBCLASSING = false;
        var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
 
-       var FORCED = isForced_1(PROMISE, function () {
-         var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);
-         if (!GLOBAL_CORE_JS_PROMISE) {
-           // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
-           // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
-           // We can't detect it synchronously, so just check versions
-           if (engineV8Version === 66) return true;
-           // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
-           if (!engineIsNode && !NATIVE_REJECTION_EVENT) return true;
-         }
+       var FORCED$f = isForced_1(PROMISE, function () {
+         var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor);
+         var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor);
+         // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
+         // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
+         // We can't detect it synchronously, so just check versions
+         if (!GLOBAL_CORE_JS_PROMISE && engineV8Version === 66) return true;
          // We can't use @@species feature detection in V8 since it causes
          // deoptimization and performance degradation
          // https://github.com/zloirock/core-js/issues/679
-         if (engineV8Version >= 51 && /native code/.test(PromiseConstructor)) return false;
+         if (engineV8Version >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false;
          // Detect correctness of subclassing with @@species support
-         var promise = PromiseConstructor.resolve(1);
+         var promise = new PromiseConstructor(function (resolve) { resolve(1); });
          var FakePromise = function (exec) {
            exec(function () { /* empty */ }, function () { /* empty */ });
          };
          var constructor = promise.constructor = {};
-         constructor[SPECIES$4] = FakePromise;
-         return !(promise.then(function () { /* empty */ }) instanceof FakePromise);
+         constructor[SPECIES$2] = FakePromise;
+         SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;
+         if (!SUBCLASSING) return true;
+         // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
+         return !GLOBAL_CORE_JS_PROMISE && engineIsBrowser && !NATIVE_REJECTION_EVENT;
        });
 
-       var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
+       var INCORRECT_ITERATION$1 = FORCED$f || !checkCorrectnessOfIteration(function (iterable) {
          PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });
        });
 
        // helpers
        var isThenable = function (it) {
          var then;
-         return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
+         return isObject$4(it) && typeof (then = it.then) == 'function' ? then : false;
        };
 
-       var notify$1 = function (state, isReject) {
+       var notify = function (state, isReject) {
          if (state.notified) return;
          state.notified = true;
          var chain = state.reactions;
          });
        };
 
-       var dispatchEvent = function (name, promise, reason) {
+       var dispatchEvent$1 = function (name, promise, reason) {
          var event, handler;
          if (DISPATCH_EVENT) {
-           event = document$3.createEvent('Event');
+           event = document$1.createEvent('Event');
            event.promise = promise;
            event.reason = reason;
            event.initEvent(name, false, true);
-           global_1.dispatchEvent(event);
+           global$2.dispatchEvent(event);
          } else event = { promise: promise, reason: reason };
-         if (!NATIVE_REJECTION_EVENT && (handler = global_1['on' + name])) handler(event);
+         if (!NATIVE_REJECTION_EVENT && (handler = global$2['on' + name])) handler(event);
          else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
        };
 
        var onUnhandled = function (state) {
-         task$1.call(global_1, function () {
+         task.call(global$2, function () {
            var promise = state.facade;
            var value = state.value;
            var IS_UNHANDLED = isUnhandled(state);
            if (IS_UNHANDLED) {
              result = perform(function () {
                if (engineIsNode) {
-                 process$4.emit('unhandledRejection', value, promise);
-               } else dispatchEvent(UNHANDLED_REJECTION, promise, value);
+                 process$1.emit('unhandledRejection', value, promise);
+               } else dispatchEvent$1(UNHANDLED_REJECTION, promise, value);
              });
              // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
              state.rejection = engineIsNode || isUnhandled(state) ? UNHANDLED : HANDLED;
        };
 
        var onHandleUnhandled = function (state) {
-         task$1.call(global_1, function () {
+         task.call(global$2, function () {
            var promise = state.facade;
            if (engineIsNode) {
-             process$4.emit('rejectionHandled', promise);
-           } else dispatchEvent(REJECTION_HANDLED, promise, state.value);
+             process$1.emit('rejectionHandled', promise);
+           } else dispatchEvent$1(REJECTION_HANDLED, promise, state.value);
          });
        };
 
-       var bind = function (fn, state, unwrap) {
+       var bind$2 = function (fn, state, unwrap) {
          return function (value) {
            fn(state, value, unwrap);
          };
          if (unwrap) state = unwrap;
          state.value = value;
          state.state = REJECTED;
-         notify$1(state, true);
+         notify(state, true);
        };
 
        var internalResolve = function (state, value, unwrap) {
                var wrapper = { done: false };
                try {
                  then.call(value,
-                   bind(internalResolve, wrapper, state),
-                   bind(internalReject, wrapper, state)
+                   bind$2(internalResolve, wrapper, state),
+                   bind$2(internalReject, wrapper, state)
                  );
                } catch (error) {
                  internalReject(wrapper, error, state);
            } else {
              state.value = value;
              state.state = FULFILLED;
-             notify$1(state, false);
+             notify(state, false);
            }
          } catch (error) {
            internalReject({ done: false }, error, state);
        };
 
        // constructor polyfill
-       if (FORCED) {
+       if (FORCED$f) {
          // 25.4.3.1 Promise(executor)
          PromiseConstructor = function Promise(executor) {
            anInstance(this, PromiseConstructor, PROMISE);
-           aFunction$1(executor);
+           aFunction(executor);
            Internal.call(this);
-           var state = getInternalState$4(this);
+           var state = getInternalState$1(this);
            try {
-             executor(bind(internalResolve, state), bind(internalReject, state));
+             executor(bind$2(internalResolve, state), bind$2(internalReject, state));
            } catch (error) {
              internalReject(state, error);
            }
          };
+         PromiseConstructorPrototype = PromiseConstructor.prototype;
          // eslint-disable-next-line no-unused-vars -- required for `.length`
          Internal = function Promise(executor) {
-           setInternalState$4(this, {
+           setInternalState$3(this, {
              type: PROMISE,
              done: false,
              notified: false,
              value: undefined
            });
          };
-         Internal.prototype = redefineAll(PromiseConstructor.prototype, {
+         Internal.prototype = redefineAll(PromiseConstructorPrototype, {
            // `Promise.prototype.then` method
            // https://tc39.es/ecma262/#sec-promise.prototype.then
            then: function then(onFulfilled, onRejected) {
              var state = getInternalPromiseState(this);
-             var reaction = newPromiseCapability$1(speciesConstructor(this, PromiseConstructor));
+             var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
              reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
              reaction.fail = typeof onRejected == 'function' && onRejected;
-             reaction.domain = engineIsNode ? process$4.domain : undefined;
+             reaction.domain = engineIsNode ? process$1.domain : undefined;
              state.parent = true;
              state.reactions.push(reaction);
-             if (state.state != PENDING) notify$1(state, false);
+             if (state.state != PENDING) notify(state, false);
              return reaction.promise;
            },
            // `Promise.prototype.catch` method
          });
          OwnPromiseCapability = function () {
            var promise = new Internal();
-           var state = getInternalState$4(promise);
+           var state = getInternalState$1(promise);
            this.promise = promise;
-           this.resolve = bind(internalResolve, state);
-           this.reject = bind(internalReject, state);
+           this.resolve = bind$2(internalResolve, state);
+           this.reject = bind$2(internalReject, state);
          };
-         newPromiseCapability.f = newPromiseCapability$1 = function (C) {
+         newPromiseCapability$1.f = newPromiseCapability = function (C) {
            return C === PromiseConstructor || C === PromiseWrapper
              ? new OwnPromiseCapability(C)
              : newGenericPromiseCapability(C);
          };
 
-         if ( typeof nativePromiseConstructor == 'function') {
-           nativeThen = nativePromiseConstructor.prototype.then;
+         if (typeof nativePromiseConstructor == 'function' && NativePromisePrototype !== Object.prototype) {
+           nativeThen = NativePromisePrototype.then;
 
-           // wrap native Promise#then for native async functions
-           redefine(nativePromiseConstructor.prototype, 'then', function then(onFulfilled, onRejected) {
-             var that = this;
-             return new PromiseConstructor(function (resolve, reject) {
-               nativeThen.call(that, resolve, reject);
-             }).then(onFulfilled, onRejected);
-           // https://github.com/zloirock/core-js/issues/640
-           }, { unsafe: true });
+           if (!SUBCLASSING) {
+             // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs
+             redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {
+               var that = this;
+               return new PromiseConstructor(function (resolve, reject) {
+                 nativeThen.call(that, resolve, reject);
+               }).then(onFulfilled, onRejected);
+             // https://github.com/zloirock/core-js/issues/640
+             }, { unsafe: true });
 
-           // wrap fetch result
-           if (typeof $fetch == 'function') _export({ global: true, enumerable: true, forced: true }, {
-             // eslint-disable-next-line no-unused-vars -- required for `.length`
-             fetch: function fetch(input /* , init */) {
-               return promiseResolve(PromiseConstructor, $fetch.apply(global_1, arguments));
-             }
-           });
+             // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`
+             redefine(NativePromisePrototype, 'catch', PromiseConstructorPrototype['catch'], { unsafe: true });
+           }
+
+           // make `.constructor === Promise` work for native promise-based APIs
+           try {
+             delete NativePromisePrototype.constructor;
+           } catch (error) { /* empty */ }
+
+           // make `instanceof Promise` work for native promise-based APIs
+           if (objectSetPrototypeOf) {
+             objectSetPrototypeOf(NativePromisePrototype, PromiseConstructorPrototype);
+           }
          }
        }
 
-       _export({ global: true, wrap: true, forced: FORCED }, {
+       _export({ global: true, wrap: true, forced: FORCED$f }, {
          Promise: PromiseConstructor
        });
 
        PromiseWrapper = getBuiltIn(PROMISE);
 
        // statics
-       _export({ target: PROMISE, stat: true, forced: FORCED }, {
+       _export({ target: PROMISE, stat: true, forced: FORCED$f }, {
          // `Promise.reject` method
          // https://tc39.es/ecma262/#sec-promise.reject
          reject: function reject(r) {
-           var capability = newPromiseCapability$1(this);
+           var capability = newPromiseCapability(this);
            capability.reject.call(undefined, r);
            return capability.promise;
          }
        });
 
-       _export({ target: PROMISE, stat: true, forced:  FORCED }, {
+       _export({ target: PROMISE, stat: true, forced: FORCED$f }, {
          // `Promise.resolve` method
          // https://tc39.es/ecma262/#sec-promise.resolve
          resolve: function resolve(x) {
-           return promiseResolve( this, x);
+           return promiseResolve(this, x);
          }
        });
 
-       _export({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
+       _export({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION$1 }, {
          // `Promise.all` method
          // https://tc39.es/ecma262/#sec-promise.all
          all: function all(iterable) {
            var C = this;
-           var capability = newPromiseCapability$1(C);
+           var capability = newPromiseCapability(C);
            var resolve = capability.resolve;
            var reject = capability.reject;
            var result = perform(function () {
-             var $promiseResolve = aFunction$1(C.resolve);
+             var $promiseResolve = aFunction(C.resolve);
              var values = [];
              var counter = 0;
              var remaining = 1;
          // https://tc39.es/ecma262/#sec-promise.race
          race: function race(iterable) {
            var C = this;
-           var capability = newPromiseCapability$1(C);
+           var capability = newPromiseCapability(C);
            var reject = capability.reject;
            var result = perform(function () {
-             var $promiseResolve = aFunction$1(C.resolve);
+             var $promiseResolve = aFunction(C.resolve);
              iterate(iterable, function (promise) {
                $promiseResolve.call(C, promise).then(capability.resolve, reject);
              });
 
        /* eslint-disable no-new -- required for testing */
 
+       var NATIVE_ARRAY_BUFFER_VIEWS = arrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;
 
+       var ArrayBuffer$1 = global$2.ArrayBuffer;
+       var Int8Array$2 = global$2.Int8Array;
 
-       var NATIVE_ARRAY_BUFFER_VIEWS$2 = arrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;
-
-       var ArrayBuffer$3 = global_1.ArrayBuffer;
-       var Int8Array$2 = global_1.Int8Array;
-
-       var typedArrayConstructorsRequireWrappers = !NATIVE_ARRAY_BUFFER_VIEWS$2 || !fails(function () {
+       var typedArrayConstructorsRequireWrappers = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {
          Int8Array$2(1);
        }) || !fails(function () {
          new Int8Array$2(-1);
          new Int8Array$2(iterable);
        }, true) || fails(function () {
          // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill
-         return new Int8Array$2(new ArrayBuffer$3(2), 1, undefined).length !== 1;
+         return new Int8Array$2(new ArrayBuffer$1(2), 1, undefined).length !== 1;
        });
 
        var toPositiveInteger = function (it) {
          return offset;
        };
 
-       var aTypedArrayConstructor$1 = arrayBufferViewCore.aTypedArrayConstructor;
+       var aTypedArrayConstructor$3 = arrayBufferViewCore.aTypedArrayConstructor;
 
        var typedArrayFrom = function from(source /* , mapfn, thisArg */) {
          var O = toObject(source);
            mapfn = functionBindContext(mapfn, arguments[2], 2);
          }
          length = toLength(O.length);
-         result = new (aTypedArrayConstructor$1(this))(length);
+         result = new (aTypedArrayConstructor$3(this))(length);
          for (i = 0; length > i; i++) {
            result[i] = mapping ? mapfn(O[i], i) : O[i];
          }
            // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
            typeof (NewTarget = dummy.constructor) == 'function' &&
            NewTarget !== Wrapper &&
-           isObject(NewTargetPrototype = NewTarget.prototype) &&
+           isObject$4(NewTargetPrototype = NewTarget.prototype) &&
            NewTargetPrototype !== Wrapper.prototype
          ) objectSetPrototypeOf($this, NewTargetPrototype);
          return $this;
        var nativeDefineProperty = objectDefineProperty.f;
        var nativeGetOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
        var round = Math.round;
-       var RangeError = global_1.RangeError;
+       var RangeError = global$2.RangeError;
        var ArrayBuffer = arrayBuffer.ArrayBuffer;
        var DataView = arrayBuffer.DataView;
        var NATIVE_ARRAY_BUFFER_VIEWS = arrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;
 
        var wrappedDefineProperty = function defineProperty(target, key, descriptor) {
          if (isTypedArrayIndex(target, key = toPrimitive(key, true))
-           && isObject(descriptor)
-           && has(descriptor, 'value')
-           && !has(descriptor, 'get')
-           && !has(descriptor, 'set')
+           && isObject$4(descriptor)
+           && has$1(descriptor, 'value')
+           && !has$1(descriptor, 'get')
+           && !has$1(descriptor, 'set')
            // TODO: add validation descriptor w/o calling accessors
            && !descriptor.configurable
-           && (!has(descriptor, 'writable') || descriptor.writable)
-           && (!has(descriptor, 'enumerable') || descriptor.enumerable)
+           && (!has$1(descriptor, 'writable') || descriptor.writable)
+           && (!has$1(descriptor, 'enumerable') || descriptor.enumerable)
          ) {
            target[key] = descriptor.value;
            return target;
            var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';
            var GETTER = 'get' + TYPE;
            var SETTER = 'set' + TYPE;
-           var NativeTypedArrayConstructor = global_1[CONSTRUCTOR_NAME];
+           var NativeTypedArrayConstructor = global$2[CONSTRUCTOR_NAME];
            var TypedArrayConstructor = NativeTypedArrayConstructor;
            var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;
            var exported = {};
                var index = 0;
                var byteOffset = 0;
                var buffer, byteLength, length;
-               if (!isObject(data)) {
+               if (!isObject$4(data)) {
                  length = toIndex(data);
                  byteLength = length * BYTES;
                  buffer = new ArrayBuffer(byteLength);
              TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {
                anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);
                return inheritIfRequired(function () {
-                 if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));
+                 if (!isObject$4(data)) return new NativeTypedArrayConstructor(toIndex(data));
                  if (isArrayBuffer(data)) return $length !== undefined
                    ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)
                    : typedArrayOffset !== undefined
          };
        });
 
-       var min$2 = Math.min;
+       var min$7 = Math.min;
 
        // `Array.prototype.copyWithin` method implementation
        // https://tc39.es/ecma262/#sec-array.prototype.copywithin
+       // eslint-disable-next-line es/no-array-prototype-copywithin -- safe
        var arrayCopyWithin = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {
          var O = toObject(this);
          var len = toLength(O.length);
          var to = toAbsoluteIndex(target, len);
          var from = toAbsoluteIndex(start, len);
          var end = arguments.length > 2 ? arguments[2] : undefined;
-         var count = min$2((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);
+         var count = min$7((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);
          var inc = 1;
          if (from < to && to < from + count) {
            inc = -1;
          } return O;
        };
 
-       var aTypedArray$1 = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$1 = arrayBufferViewCore.exportTypedArrayMethod;
+       var aTypedArray$l = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$m = arrayBufferViewCore.exportTypedArrayMethod;
 
        // `%TypedArray%.prototype.copyWithin` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin
-       exportTypedArrayMethod$1('copyWithin', function copyWithin(target, start /* , end */) {
-         return arrayCopyWithin.call(aTypedArray$1(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
+       exportTypedArrayMethod$m('copyWithin', function copyWithin(target, start /* , end */) {
+         return arrayCopyWithin.call(aTypedArray$l(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
        });
 
-       var $every = arrayIteration.every;
+       var $every$1 = arrayIteration.every;
 
-       var aTypedArray$2 = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$2 = arrayBufferViewCore.exportTypedArrayMethod;
+       var aTypedArray$k = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$l = arrayBufferViewCore.exportTypedArrayMethod;
 
        // `%TypedArray%.prototype.every` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.every
-       exportTypedArrayMethod$2('every', function every(callbackfn /* , thisArg */) {
-         return $every(aTypedArray$2(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+       exportTypedArrayMethod$l('every', function every(callbackfn /* , thisArg */) {
+         return $every$1(aTypedArray$k(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
        });
 
-       var aTypedArray$3 = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$3 = arrayBufferViewCore.exportTypedArrayMethod;
+       var aTypedArray$j = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$k = arrayBufferViewCore.exportTypedArrayMethod;
 
        // `%TypedArray%.prototype.fill` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill
        // eslint-disable-next-line no-unused-vars -- required for `.length`
-       exportTypedArrayMethod$3('fill', function fill(value /* , start, end */) {
-         return arrayFill.apply(aTypedArray$3(this), arguments);
+       exportTypedArrayMethod$k('fill', function fill(value /* , start, end */) {
+         return arrayFill.apply(aTypedArray$j(this), arguments);
        });
 
        var aTypedArrayConstructor$2 = arrayBufferViewCore.aTypedArrayConstructor;
          return result;
        };
 
-       var $filter = arrayIteration.filter;
+       var $filter$1 = arrayIteration.filter;
 
 
-       var aTypedArray$4 = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$4 = arrayBufferViewCore.exportTypedArrayMethod;
+       var aTypedArray$i = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$j = arrayBufferViewCore.exportTypedArrayMethod;
 
        // `%TypedArray%.prototype.filter` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter
-       exportTypedArrayMethod$4('filter', function filter(callbackfn /* , thisArg */) {
-         var list = $filter(aTypedArray$4(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+       exportTypedArrayMethod$j('filter', function filter(callbackfn /* , thisArg */) {
+         var list = $filter$1(aTypedArray$i(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
          return typedArrayFromSpeciesAndList(this, list);
        });
 
-       var $find = arrayIteration.find;
+       var $find$1 = arrayIteration.find;
 
-       var aTypedArray$5 = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$5 = arrayBufferViewCore.exportTypedArrayMethod;
+       var aTypedArray$h = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$i = arrayBufferViewCore.exportTypedArrayMethod;
 
        // `%TypedArray%.prototype.find` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.find
-       exportTypedArrayMethod$5('find', function find(predicate /* , thisArg */) {
-         return $find(aTypedArray$5(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
+       exportTypedArrayMethod$i('find', function find(predicate /* , thisArg */) {
+         return $find$1(aTypedArray$h(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
        });
 
-       var $findIndex = arrayIteration.findIndex;
+       var $findIndex$1 = arrayIteration.findIndex;
 
-       var aTypedArray$6 = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$6 = arrayBufferViewCore.exportTypedArrayMethod;
+       var aTypedArray$g = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$h = arrayBufferViewCore.exportTypedArrayMethod;
 
        // `%TypedArray%.prototype.findIndex` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex
-       exportTypedArrayMethod$6('findIndex', function findIndex(predicate /* , thisArg */) {
-         return $findIndex(aTypedArray$6(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
+       exportTypedArrayMethod$h('findIndex', function findIndex(predicate /* , thisArg */) {
+         return $findIndex$1(aTypedArray$g(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
        });
 
-       var $forEach$2 = arrayIteration.forEach;
+       var $forEach = arrayIteration.forEach;
 
-       var aTypedArray$7 = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$7 = arrayBufferViewCore.exportTypedArrayMethod;
+       var aTypedArray$f = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$g = arrayBufferViewCore.exportTypedArrayMethod;
 
        // `%TypedArray%.prototype.forEach` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach
-       exportTypedArrayMethod$7('forEach', function forEach(callbackfn /* , thisArg */) {
-         $forEach$2(aTypedArray$7(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+       exportTypedArrayMethod$g('forEach', function forEach(callbackfn /* , thisArg */) {
+         $forEach(aTypedArray$f(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
        });
 
-       var $includes = arrayIncludes.includes;
+       var $includes$1 = arrayIncludes.includes;
 
-       var aTypedArray$8 = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$8 = arrayBufferViewCore.exportTypedArrayMethod;
+       var aTypedArray$e = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$f = arrayBufferViewCore.exportTypedArrayMethod;
 
        // `%TypedArray%.prototype.includes` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes
-       exportTypedArrayMethod$8('includes', function includes(searchElement /* , fromIndex */) {
-         return $includes(aTypedArray$8(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
+       exportTypedArrayMethod$f('includes', function includes(searchElement /* , fromIndex */) {
+         return $includes$1(aTypedArray$e(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
        });
 
-       var $indexOf$1 = arrayIncludes.indexOf;
+       var $indexOf = arrayIncludes.indexOf;
 
-       var aTypedArray$9 = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$9 = arrayBufferViewCore.exportTypedArrayMethod;
+       var aTypedArray$d = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$e = arrayBufferViewCore.exportTypedArrayMethod;
 
        // `%TypedArray%.prototype.indexOf` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof
-       exportTypedArrayMethod$9('indexOf', function indexOf(searchElement /* , fromIndex */) {
-         return $indexOf$1(aTypedArray$9(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
+       exportTypedArrayMethod$e('indexOf', function indexOf(searchElement /* , fromIndex */) {
+         return $indexOf(aTypedArray$d(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
        });
 
-       var ITERATOR$6 = wellKnownSymbol('iterator');
-       var Uint8Array$1 = global_1.Uint8Array;
+       var ITERATOR$2 = wellKnownSymbol('iterator');
+       var Uint8Array$2 = global$2.Uint8Array;
        var arrayValues = es_array_iterator.values;
        var arrayKeys = es_array_iterator.keys;
        var arrayEntries = es_array_iterator.entries;
-       var aTypedArray$a = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$a = arrayBufferViewCore.exportTypedArrayMethod;
-       var nativeTypedArrayIterator = Uint8Array$1 && Uint8Array$1.prototype[ITERATOR$6];
+       var aTypedArray$c = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$d = arrayBufferViewCore.exportTypedArrayMethod;
+       var nativeTypedArrayIterator = Uint8Array$2 && Uint8Array$2.prototype[ITERATOR$2];
 
        var CORRECT_ITER_NAME = !!nativeTypedArrayIterator
          && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);
 
        var typedArrayValues = function values() {
-         return arrayValues.call(aTypedArray$a(this));
+         return arrayValues.call(aTypedArray$c(this));
        };
 
        // `%TypedArray%.prototype.entries` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries
-       exportTypedArrayMethod$a('entries', function entries() {
-         return arrayEntries.call(aTypedArray$a(this));
+       exportTypedArrayMethod$d('entries', function entries() {
+         return arrayEntries.call(aTypedArray$c(this));
        });
        // `%TypedArray%.prototype.keys` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys
-       exportTypedArrayMethod$a('keys', function keys() {
-         return arrayKeys.call(aTypedArray$a(this));
+       exportTypedArrayMethod$d('keys', function keys() {
+         return arrayKeys.call(aTypedArray$c(this));
        });
        // `%TypedArray%.prototype.values` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.values
-       exportTypedArrayMethod$a('values', typedArrayValues, !CORRECT_ITER_NAME);
+       exportTypedArrayMethod$d('values', typedArrayValues, !CORRECT_ITER_NAME);
        // `%TypedArray%.prototype[@@iterator]` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator
-       exportTypedArrayMethod$a(ITERATOR$6, typedArrayValues, !CORRECT_ITER_NAME);
+       exportTypedArrayMethod$d(ITERATOR$2, typedArrayValues, !CORRECT_ITER_NAME);
 
        var aTypedArray$b = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$b = arrayBufferViewCore.exportTypedArrayMethod;
+       var exportTypedArrayMethod$c = arrayBufferViewCore.exportTypedArrayMethod;
        var $join = [].join;
 
        // `%TypedArray%.prototype.join` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.join
        // eslint-disable-next-line no-unused-vars -- required for `.length`
-       exportTypedArrayMethod$b('join', function join(separator) {
+       exportTypedArrayMethod$c('join', function join(separator) {
          return $join.apply(aTypedArray$b(this), arguments);
        });
 
-       var min$3 = Math.min;
-       var nativeLastIndexOf = [].lastIndexOf;
-       var NEGATIVE_ZERO$1 = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;
-       var STRICT_METHOD$2 = arrayMethodIsStrict('lastIndexOf');
-       var FORCED$1 = NEGATIVE_ZERO$1 || !STRICT_METHOD$2;
+       /* eslint-disable es/no-array-prototype-lastindexof -- safe */
+
+
+
+
+
+       var min$6 = Math.min;
+       var $lastIndexOf = [].lastIndexOf;
+       var NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;
+       var STRICT_METHOD$5 = arrayMethodIsStrict('lastIndexOf');
+       var FORCED$e = NEGATIVE_ZERO || !STRICT_METHOD$5;
 
        // `Array.prototype.lastIndexOf` method implementation
        // https://tc39.es/ecma262/#sec-array.prototype.lastindexof
-       var arrayLastIndexOf = FORCED$1 ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
+       var arrayLastIndexOf = FORCED$e ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
          // convert -0 to +0
-         if (NEGATIVE_ZERO$1) return nativeLastIndexOf.apply(this, arguments) || 0;
+         if (NEGATIVE_ZERO) return $lastIndexOf.apply(this, arguments) || 0;
          var O = toIndexedObject(this);
          var length = toLength(O.length);
          var index = length - 1;
-         if (arguments.length > 1) index = min$3(index, toInteger(arguments[1]));
+         if (arguments.length > 1) index = min$6(index, toInteger(arguments[1]));
          if (index < 0) index = length + index;
          for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;
          return -1;
-       } : nativeLastIndexOf;
+       } : $lastIndexOf;
 
-       var aTypedArray$c = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$c = arrayBufferViewCore.exportTypedArrayMethod;
+       var aTypedArray$a = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$b = arrayBufferViewCore.exportTypedArrayMethod;
 
        // `%TypedArray%.prototype.lastIndexOf` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof
        // eslint-disable-next-line no-unused-vars -- required for `.length`
-       exportTypedArrayMethod$c('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {
-         return arrayLastIndexOf.apply(aTypedArray$c(this), arguments);
+       exportTypedArrayMethod$b('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {
+         return arrayLastIndexOf.apply(aTypedArray$a(this), arguments);
        });
 
-       var $map$1 = arrayIteration.map;
+       var $map = arrayIteration.map;
 
 
-       var aTypedArray$d = arrayBufferViewCore.aTypedArray;
-       var aTypedArrayConstructor$3 = arrayBufferViewCore.aTypedArrayConstructor;
-       var exportTypedArrayMethod$d = arrayBufferViewCore.exportTypedArrayMethod;
+       var aTypedArray$9 = arrayBufferViewCore.aTypedArray;
+       var aTypedArrayConstructor$1 = arrayBufferViewCore.aTypedArrayConstructor;
+       var exportTypedArrayMethod$a = arrayBufferViewCore.exportTypedArrayMethod;
 
        // `%TypedArray%.prototype.map` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.map
-       exportTypedArrayMethod$d('map', function map(mapfn /* , thisArg */) {
-         return $map$1(aTypedArray$d(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {
-           return new (aTypedArrayConstructor$3(speciesConstructor(O, O.constructor)))(length);
+       exportTypedArrayMethod$a('map', function map(mapfn /* , thisArg */) {
+         return $map(aTypedArray$9(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {
+           return new (aTypedArrayConstructor$1(speciesConstructor(O, O.constructor)))(length);
          });
        });
 
        // `Array.prototype.{ reduce, reduceRight }` methods implementation
        var createMethod$3 = function (IS_RIGHT) {
          return function (that, callbackfn, argumentsLength, memo) {
-           aFunction$1(callbackfn);
+           aFunction(callbackfn);
            var O = toObject(that);
            var self = indexedObject(O);
            var length = toLength(O.length);
          right: createMethod$3(true)
        };
 
-       var $reduce = arrayReduce.left;
+       var $reduce$1 = arrayReduce.left;
 
-       var aTypedArray$e = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$e = arrayBufferViewCore.exportTypedArrayMethod;
+       var aTypedArray$8 = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$9 = arrayBufferViewCore.exportTypedArrayMethod;
 
        // `%TypedArray%.prototype.reduce` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce
-       exportTypedArrayMethod$e('reduce', function reduce(callbackfn /* , initialValue */) {
-         return $reduce(aTypedArray$e(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
+       exportTypedArrayMethod$9('reduce', function reduce(callbackfn /* , initialValue */) {
+         return $reduce$1(aTypedArray$8(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
        });
 
        var $reduceRight = arrayReduce.right;
 
-       var aTypedArray$f = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$f = arrayBufferViewCore.exportTypedArrayMethod;
+       var aTypedArray$7 = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$8 = arrayBufferViewCore.exportTypedArrayMethod;
 
        // `%TypedArray%.prototype.reduceRicht` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright
-       exportTypedArrayMethod$f('reduceRight', function reduceRight(callbackfn /* , initialValue */) {
-         return $reduceRight(aTypedArray$f(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
+       exportTypedArrayMethod$8('reduceRight', function reduceRight(callbackfn /* , initialValue */) {
+         return $reduceRight(aTypedArray$7(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
        });
 
-       var aTypedArray$g = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$g = arrayBufferViewCore.exportTypedArrayMethod;
-       var floor$2 = Math.floor;
+       var aTypedArray$6 = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$7 = arrayBufferViewCore.exportTypedArrayMethod;
+       var floor$5 = Math.floor;
 
        // `%TypedArray%.prototype.reverse` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse
-       exportTypedArrayMethod$g('reverse', function reverse() {
+       exportTypedArrayMethod$7('reverse', function reverse() {
          var that = this;
-         var length = aTypedArray$g(that).length;
-         var middle = floor$2(length / 2);
+         var length = aTypedArray$6(that).length;
+         var middle = floor$5(length / 2);
          var index = 0;
          var value;
          while (index < middle) {
          } return that;
        });
 
-       var aTypedArray$h = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$h = arrayBufferViewCore.exportTypedArrayMethod;
+       var aTypedArray$5 = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$6 = arrayBufferViewCore.exportTypedArrayMethod;
 
-       var FORCED$2 = fails(function () {
-         /* global Int8Array -- safe */
+       var FORCED$d = fails(function () {
+         // eslint-disable-next-line es/no-typed-arrays -- required for testing
          new Int8Array(1).set({});
        });
 
        // `%TypedArray%.prototype.set` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.set
-       exportTypedArrayMethod$h('set', function set(arrayLike /* , offset */) {
-         aTypedArray$h(this);
+       exportTypedArrayMethod$6('set', function set(arrayLike /* , offset */) {
+         aTypedArray$5(this);
          var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);
          var length = this.length;
          var src = toObject(arrayLike);
          var index = 0;
          if (len + offset > length) throw RangeError('Wrong length');
          while (index < len) this[offset + index] = src[index++];
-       }, FORCED$2);
+       }, FORCED$d);
 
-       var aTypedArray$i = arrayBufferViewCore.aTypedArray;
-       var aTypedArrayConstructor$4 = arrayBufferViewCore.aTypedArrayConstructor;
-       var exportTypedArrayMethod$i = arrayBufferViewCore.exportTypedArrayMethod;
-       var $slice = [].slice;
+       var aTypedArray$4 = arrayBufferViewCore.aTypedArray;
+       var aTypedArrayConstructor = arrayBufferViewCore.aTypedArrayConstructor;
+       var exportTypedArrayMethod$5 = arrayBufferViewCore.exportTypedArrayMethod;
+       var $slice$1 = [].slice;
 
-       var FORCED$3 = fails(function () {
-         /* global Int8Array -- safe */
+       var FORCED$c = fails(function () {
+         // eslint-disable-next-line es/no-typed-arrays -- required for testing
          new Int8Array(1).slice();
        });
 
        // `%TypedArray%.prototype.slice` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice
-       exportTypedArrayMethod$i('slice', function slice(start, end) {
-         var list = $slice.call(aTypedArray$i(this), start, end);
+       exportTypedArrayMethod$5('slice', function slice(start, end) {
+         var list = $slice$1.call(aTypedArray$4(this), start, end);
          var C = speciesConstructor(this, this.constructor);
          var index = 0;
          var length = list.length;
-         var result = new (aTypedArrayConstructor$4(C))(length);
+         var result = new (aTypedArrayConstructor(C))(length);
          while (length > index) result[index] = list[index++];
          return result;
-       }, FORCED$3);
+       }, FORCED$c);
 
-       var $some = arrayIteration.some;
+       var $some$1 = arrayIteration.some;
 
-       var aTypedArray$j = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$j = arrayBufferViewCore.exportTypedArrayMethod;
+       var aTypedArray$3 = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$4 = arrayBufferViewCore.exportTypedArrayMethod;
 
        // `%TypedArray%.prototype.some` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.some
-       exportTypedArrayMethod$j('some', function some(callbackfn /* , thisArg */) {
-         return $some(aTypedArray$j(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+       exportTypedArrayMethod$4('some', function some(callbackfn /* , thisArg */) {
+         return $some$1(aTypedArray$3(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
        });
 
-       var aTypedArray$k = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$k = arrayBufferViewCore.exportTypedArrayMethod;
-       var $sort = [].sort;
+       // TODO: use something more complex like timsort?
+       var floor$4 = Math.floor;
+
+       var mergeSort = function (array, comparefn) {
+         var length = array.length;
+         var middle = floor$4(length / 2);
+         return length < 8 ? insertionSort(array, comparefn) : merge$5(
+           mergeSort(array.slice(0, middle), comparefn),
+           mergeSort(array.slice(middle), comparefn),
+           comparefn
+         );
+       };
+
+       var insertionSort = function (array, comparefn) {
+         var length = array.length;
+         var i = 1;
+         var element, j;
+
+         while (i < length) {
+           j = i;
+           element = array[i];
+           while (j && comparefn(array[j - 1], element) > 0) {
+             array[j] = array[--j];
+           }
+           if (j !== i++) array[j] = element;
+         } return array;
+       };
+
+       var merge$5 = function (left, right, comparefn) {
+         var llength = left.length;
+         var rlength = right.length;
+         var lindex = 0;
+         var rindex = 0;
+         var result = [];
+
+         while (lindex < llength || rindex < rlength) {
+           if (lindex < llength && rindex < rlength) {
+             result.push(comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]);
+           } else {
+             result.push(lindex < llength ? left[lindex++] : right[rindex++]);
+           }
+         } return result;
+       };
+
+       var arraySort = mergeSort;
+
+       var firefox = engineUserAgent.match(/firefox\/(\d+)/i);
+
+       var engineFfVersion = !!firefox && +firefox[1];
+
+       var engineIsIeOrEdge = /MSIE|Trident/.test(engineUserAgent);
+
+       var webkit = engineUserAgent.match(/AppleWebKit\/(\d+)\./);
+
+       var engineWebkitVersion = !!webkit && +webkit[1];
+
+       var aTypedArray$2 = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$3 = arrayBufferViewCore.exportTypedArrayMethod;
+       var Uint16Array = global$2.Uint16Array;
+       var nativeSort$1 = Uint16Array && Uint16Array.prototype.sort;
+
+       // WebKit
+       var ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort$1 && !fails(function () {
+         var array = new Uint16Array(2);
+         array.sort(null);
+         array.sort({});
+       });
+
+       var STABLE_SORT$1 = !!nativeSort$1 && !fails(function () {
+         // feature detection can be too slow, so check engines versions
+         if (engineV8Version) return engineV8Version < 74;
+         if (engineFfVersion) return engineFfVersion < 67;
+         if (engineIsIeOrEdge) return true;
+         if (engineWebkitVersion) return engineWebkitVersion < 602;
+
+         var array = new Uint16Array(516);
+         var expected = Array(516);
+         var index, mod;
+
+         for (index = 0; index < 516; index++) {
+           mod = index % 4;
+           array[index] = 515 - index;
+           expected[index] = index - 2 * mod + 3;
+         }
+
+         array.sort(function (a, b) {
+           return (a / 4 | 0) - (b / 4 | 0);
+         });
+
+         for (index = 0; index < 516; index++) {
+           if (array[index] !== expected[index]) return true;
+         }
+       });
+
+       var getSortCompare$1 = function (comparefn) {
+         return function (x, y) {
+           if (comparefn !== undefined) return +comparefn(x, y) || 0;
+           // eslint-disable-next-line no-self-compare -- NaN check
+           if (y !== y) return -1;
+           // eslint-disable-next-line no-self-compare -- NaN check
+           if (x !== x) return 1;
+           if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;
+           return x > y;
+         };
+       };
 
        // `%TypedArray%.prototype.sort` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort
-       exportTypedArrayMethod$k('sort', function sort(comparefn) {
-         return $sort.call(aTypedArray$k(this), comparefn);
-       });
+       exportTypedArrayMethod$3('sort', function sort(comparefn) {
+         var array = this;
+         if (comparefn !== undefined) aFunction(comparefn);
+         if (STABLE_SORT$1) return nativeSort$1.call(array, comparefn);
 
-       var aTypedArray$l = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$l = arrayBufferViewCore.exportTypedArrayMethod;
+         aTypedArray$2(array);
+         var arrayLength = toLength(array.length);
+         var items = Array(arrayLength);
+         var index;
+
+         for (index = 0; index < arrayLength; index++) {
+           items[index] = array[index];
+         }
+
+         items = arraySort(array, getSortCompare$1(comparefn));
+
+         for (index = 0; index < arrayLength; index++) {
+           array[index] = items[index];
+         }
+
+         return array;
+       }, !STABLE_SORT$1 || ACCEPT_INCORRECT_ARGUMENTS);
+
+       var aTypedArray$1 = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$2 = arrayBufferViewCore.exportTypedArrayMethod;
 
        // `%TypedArray%.prototype.subarray` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray
-       exportTypedArrayMethod$l('subarray', function subarray(begin, end) {
-         var O = aTypedArray$l(this);
+       exportTypedArrayMethod$2('subarray', function subarray(begin, end) {
+         var O = aTypedArray$1(this);
          var length = O.length;
          var beginIndex = toAbsoluteIndex(begin, length);
          return new (speciesConstructor(O, O.constructor))(
          );
        });
 
-       var Int8Array$3 = global_1.Int8Array;
-       var aTypedArray$m = arrayBufferViewCore.aTypedArray;
-       var exportTypedArrayMethod$m = arrayBufferViewCore.exportTypedArrayMethod;
+       var Int8Array$1 = global$2.Int8Array;
+       var aTypedArray = arrayBufferViewCore.aTypedArray;
+       var exportTypedArrayMethod$1 = arrayBufferViewCore.exportTypedArrayMethod;
        var $toLocaleString = [].toLocaleString;
-       var $slice$1 = [].slice;
+       var $slice = [].slice;
 
        // iOS Safari 6.x fails here
-       var TO_LOCALE_STRING_BUG = !!Int8Array$3 && fails(function () {
-         $toLocaleString.call(new Int8Array$3(1));
+       var TO_LOCALE_STRING_BUG = !!Int8Array$1 && fails(function () {
+         $toLocaleString.call(new Int8Array$1(1));
        });
 
-       var FORCED$4 = fails(function () {
-         return [1, 2].toLocaleString() != new Int8Array$3([1, 2]).toLocaleString();
+       var FORCED$b = fails(function () {
+         return [1, 2].toLocaleString() != new Int8Array$1([1, 2]).toLocaleString();
        }) || !fails(function () {
-         Int8Array$3.prototype.toLocaleString.call([1, 2]);
+         Int8Array$1.prototype.toLocaleString.call([1, 2]);
        });
 
        // `%TypedArray%.prototype.toLocaleString` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring
-       exportTypedArrayMethod$m('toLocaleString', function toLocaleString() {
-         return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice$1.call(aTypedArray$m(this)) : aTypedArray$m(this), arguments);
-       }, FORCED$4);
+       exportTypedArrayMethod$1('toLocaleString', function toLocaleString() {
+         return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);
+       }, FORCED$b);
 
-       var exportTypedArrayMethod$n = arrayBufferViewCore.exportTypedArrayMethod;
+       var exportTypedArrayMethod = arrayBufferViewCore.exportTypedArrayMethod;
 
 
 
-       var Uint8Array$2 = global_1.Uint8Array;
-       var Uint8ArrayPrototype = Uint8Array$2 && Uint8Array$2.prototype || {};
+       var Uint8Array$1 = global$2.Uint8Array;
+       var Uint8ArrayPrototype = Uint8Array$1 && Uint8Array$1.prototype || {};
        var arrayToString = [].toString;
        var arrayJoin = [].join;
 
 
        // `%TypedArray%.prototype.toString` method
        // https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring
-       exportTypedArrayMethod$n('toString', arrayToString, IS_NOT_ARRAY_METHOD);
+       exportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);
 
        var nativeJoin = [].join;
 
        var ES3_STRINGS = indexedObject != Object;
-       var STRICT_METHOD$3 = arrayMethodIsStrict('join', ',');
+       var STRICT_METHOD$4 = arrayMethodIsStrict('join', ',');
 
        // `Array.prototype.join` method
        // https://tc39.es/ecma262/#sec-array.prototype.join
-       _export({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD$3 }, {
+       _export({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD$4 }, {
          join: function join(separator) {
            return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
          }
          else object[propertyKey] = value;
        };
 
-       var HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport('slice');
+       var HAS_SPECIES_SUPPORT$2 = arrayMethodHasSpeciesSupport('slice');
 
-       var SPECIES$5 = wellKnownSymbol('species');
+       var SPECIES$1 = wellKnownSymbol('species');
        var nativeSlice = [].slice;
-       var max$1 = Math.max;
+       var max$3 = Math.max;
 
        // `Array.prototype.slice` method
        // https://tc39.es/ecma262/#sec-array.prototype.slice
        // fallback for not array-like ES3 strings and DOM objects
-       _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$1 }, {
+       _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$2 }, {
          slice: function slice(start, end) {
            var O = toIndexedObject(this);
            var length = toLength(O.length);
              // cross-realm fallback
              if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
                Constructor = undefined;
-             } else if (isObject(Constructor)) {
-               Constructor = Constructor[SPECIES$5];
+             } else if (isObject$4(Constructor)) {
+               Constructor = Constructor[SPECIES$1];
                if (Constructor === null) Constructor = undefined;
              }
              if (Constructor === Array || Constructor === undefined) {
                return nativeSlice.call(O, k, fin);
              }
            }
-           result = new (Constructor === undefined ? Array : Constructor)(max$1(fin - k, 0));
+           result = new (Constructor === undefined ? Array : Constructor)(max$3(fin - k, 0));
            for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
            result.length = n;
            return result;
          }
        });
 
-       var ITERATOR$7 = wellKnownSymbol('iterator');
+       var ITERATOR$1 = wellKnownSymbol('iterator');
 
        var nativeUrl = !fails(function () {
          var url = new URL('b?a=1&b=2&c=3', 'http://a');
            || url.href !== 'http://a/c%20d?a=1&c=3'
            || searchParams.get('c') !== '3'
            || String(new URLSearchParams('?a=1')) !== 'a=1'
-           || !searchParams[ITERATOR$7]
+           || !searchParams[ITERATOR$1]
            // throws in Edge
            || new URL('https://a@b').username !== 'a'
            || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'
            || new URL('http://x', undefined).host !== 'x';
        });
 
-       var nativeAssign = Object.assign;
-       var defineProperty$5 = Object.defineProperty;
+       // eslint-disable-next-line es/no-object-assign -- safe
+       var $assign = Object.assign;
+       // eslint-disable-next-line es/no-object-defineproperty -- required for testing
+       var defineProperty$4 = Object.defineProperty;
 
        // `Object.assign` method
        // https://tc39.es/ecma262/#sec-object.assign
-       var objectAssign = !nativeAssign || fails(function () {
+       var objectAssign = !$assign || fails(function () {
          // should have correct order of operations (Edge bug)
-         if (descriptors && nativeAssign({ b: 1 }, nativeAssign(defineProperty$5({}, 'a', {
+         if (descriptors && $assign({ b: 1 }, $assign(defineProperty$4({}, 'a', {
            enumerable: true,
            get: function () {
-             defineProperty$5(this, 'b', {
+             defineProperty$4(this, 'b', {
                value: 3,
                enumerable: false
              });
          // should work with symbols and should have deterministic property order (V8 bug)
          var A = {};
          var B = {};
-         /* global Symbol -- required for testing */
+         // eslint-disable-next-line es/no-symbol -- safe
          var symbol = Symbol();
          var alphabet = 'abcdefghijklmnopqrst';
          A[symbol] = 7;
          alphabet.split('').forEach(function (chr) { B[chr] = chr; });
-         return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
+         return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;
        }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
          var T = toObject(target);
          var argumentsLength = arguments.length;
              if (!descriptors || propertyIsEnumerable.call(S, key)) T[key] = S[key];
            }
          } return T;
-       } : nativeAssign;
+       } : $assign;
 
        // call something on iterator step with safe closing on error
        var callWithSafeIterationClosing = function (iterator, fn, value, ENTRIES) {
          try {
            return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
-         // 7.4.6 IteratorClose(iterator, completion)
          } catch (error) {
            iteratorClose(iterator);
            throw error;
 
 
 
-       var $fetch$1 = getBuiltIn('fetch');
-       var Headers = getBuiltIn('Headers');
-       var ITERATOR$8 = wellKnownSymbol('iterator');
+       var $fetch = getBuiltIn('fetch');
+       var Headers$1 = getBuiltIn('Headers');
+       var ITERATOR = wellKnownSymbol('iterator');
        var URL_SEARCH_PARAMS = 'URLSearchParams';
        var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
-       var setInternalState$5 = internalState.set;
+       var setInternalState$2 = internalState.set;
        var getInternalParamsState = internalState.getterFor(URL_SEARCH_PARAMS);
        var getInternalIteratorState = internalState.getterFor(URL_SEARCH_PARAMS_ITERATOR);
 
          }
        };
 
-       var find = /[!'()~]|%20/g;
+       var find$1 = /[!'()~]|%20/g;
 
-       var replace = {
+       var replace$1 = {
          '!': '%21',
          "'": '%27',
          '(': '%28',
        };
 
        var replacer = function (match) {
-         return replace[match];
+         return replace$1[match];
        };
 
        var serialize = function (it) {
-         return encodeURIComponent(it).replace(find, replacer);
+         return encodeURIComponent(it).replace(find$1, replacer);
        };
 
        var parseSearchParams = function (result, query) {
        };
 
        var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
-         setInternalState$5(this, {
+         setInternalState$2(this, {
            type: URL_SEARCH_PARAMS_ITERATOR,
            iterator: getIterator(getInternalParamsState(params).entries),
            kind: kind
          var entries = [];
          var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;
 
-         setInternalState$5(that, {
+         setInternalState$2(that, {
            type: URL_SEARCH_PARAMS,
            entries: entries,
            updateURL: function () { /* empty */ },
          });
 
          if (init !== undefined) {
-           if (isObject(init)) {
+           if (isObject$4(init)) {
              iteratorMethod = getIteratorMethod(init);
              if (typeof iteratorMethod === 'function') {
                iterator = iteratorMethod.call(init);
                  ) throw TypeError('Expected sequence with length 2');
                  entries.push({ key: first.value + '', value: second.value + '' });
                }
-             } else for (key in init) if (has(init, key)) entries.push({ key: key, value: init[key] + '' });
+             } else for (key in init) if (has$1(init, key)) entries.push({ key: key, value: init[key] + '' });
            } else {
              parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');
            }
        }, { enumerable: true });
 
        // `URLSearchParams.prototype[@@iterator]` method
-       redefine(URLSearchParamsPrototype, ITERATOR$8, URLSearchParamsPrototype.entries);
+       redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);
 
        // `URLSearchParams.prototype.toString` method
        // https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior
 
        // Wrap `fetch` for correct work with polyfilled `URLSearchParams`
        // https://github.com/zloirock/core-js/issues/674
-       if (!nativeUrl && typeof $fetch$1 == 'function' && typeof Headers == 'function') {
+       if (!nativeUrl && typeof $fetch == 'function' && typeof Headers$1 == 'function') {
          _export({ global: true, enumerable: true, forced: true }, {
            fetch: function fetch(input /* , init */) {
              var args = [input];
              var init, body, headers;
              if (arguments.length > 1) {
                init = arguments[1];
-               if (isObject(init)) {
+               if (isObject$4(init)) {
                  body = init.body;
                  if (classof(body) === URL_SEARCH_PARAMS) {
-                   headers = init.headers ? new Headers(init.headers) : new Headers();
+                   headers = init.headers ? new Headers$1(init.headers) : new Headers$1();
                    if (!headers.has('content-type')) {
                      headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
                    }
                  }
                }
                args.push(init);
-             } return $fetch$1.apply(this, args);
+             } return $fetch.apply(this, args);
            }
          });
        }
 
 
 
-       var NativeURL = global_1.URL;
+       var NativeURL = global$2.URL;
        var URLSearchParams$1 = web_urlSearchParams.URLSearchParams;
        var getInternalSearchParamsState = web_urlSearchParams.getState;
-       var setInternalState$6 = internalState.set;
+       var setInternalState$1 = internalState.set;
        var getInternalURLState = internalState.getterFor('URL');
-       var floor$4 = Math.floor;
+       var floor$2 = Math.floor;
        var pow$1 = Math.pow;
 
        var INVALID_AUTHORITY = 'Invalid authority';
        var INVALID_PORT = 'Invalid port';
 
        var ALPHA = /[A-Za-z]/;
+       // eslint-disable-next-line regexp/no-obscure-range -- safe
        var ALPHANUMERIC = /[\d+-.A-Za-z]/;
        var DIGIT = /\d/;
-       var HEX_START = /^(0x|0X)/;
+       var HEX_START = /^0x/i;
        var OCT = /^[0-7]+$/;
        var DEC = /^\d+$/;
        var HEX = /^[\dA-Fa-f]+$/;
        /* eslint-disable no-control-regex -- safe */
-       var FORBIDDEN_HOST_CODE_POINT = /[\u0000\t\u000A\u000D #%/:?@[\\]]/;
-       var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\t\u000A\u000D #/:?@[\\]]/;
+       var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/;
+       var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/;
        var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;
-       var TAB_AND_NEW_LINE = /[\t\u000A\u000D]/g;
+       var TAB_AND_NEW_LINE = /[\t\n\r]/g;
        /* eslint-enable no-control-regex -- safe */
        var EOF;
 
            result = [];
            for (index = 0; index < 4; index++) {
              result.unshift(host % 256);
-             host = floor$4(host / 256);
+             host = floor$2(host / 256);
            } return result.join('.');
          // ipv6
          } else if (typeof host == 'object') {
 
        var percentEncode = function (char, set) {
          var code = codeAt(char, 0);
-         return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);
+         return code > 0x20 && code < 0x7F && !has$1(set, char) ? char : encodeURIComponent(char);
        };
 
        var specialSchemes = {
        };
 
        var isSpecial = function (url) {
-         return has(specialSchemes, url.scheme);
+         return has$1(specialSchemes, url.scheme);
        };
 
        var includesCredentials = function (url) {
                  buffer += char.toLowerCase();
                } else if (char == ':') {
                  if (stateOverride && (
-                   (isSpecial(url) != has(specialSchemes, buffer)) ||
+                   (isSpecial(url) != has$1(specialSchemes, buffer)) ||
                    (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||
                    (url.scheme == 'file' && !url.host)
                  )) return;
          var that = anInstance(this, URLConstructor, 'URL');
          var base = arguments.length > 1 ? arguments[1] : undefined;
          var urlString = String(url);
-         var state = setInternalState$6(that, { type: 'URL' });
+         var state = setInternalState$1(that, { type: 'URL' });
          var baseState, failure;
          if (base !== undefined) {
            if (base instanceof URLConstructor) baseState = getInternalURLState(base);
          var scheme = url.scheme;
          var port = url.port;
          if (scheme == 'blob') try {
-           return new URL(scheme.path[0]).origin;
+           return new URLConstructor(scheme.path[0]).origin;
          } catch (error) {
            return 'null';
          }
          return result;
        };
 
-       var TO_STRING$1 = 'toString';
-       var RegExpPrototype = RegExp.prototype;
-       var nativeToString = RegExpPrototype[TO_STRING$1];
+       var TO_STRING = 'toString';
+       var RegExpPrototype$2 = RegExp.prototype;
+       var nativeToString = RegExpPrototype$2[TO_STRING];
 
        var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
        // FF44- RegExp#toString has a wrong name
-       var INCORRECT_NAME = nativeToString.name != TO_STRING$1;
+       var INCORRECT_NAME = nativeToString.name != TO_STRING;
 
        // `RegExp.prototype.toString` method
        // https://tc39.es/ecma262/#sec-regexp.prototype.tostring
        if (NOT_GENERIC || INCORRECT_NAME) {
-         redefine(RegExp.prototype, TO_STRING$1, function toString() {
+         redefine(RegExp.prototype, TO_STRING, function toString() {
            var R = anObject(this);
            var p = String(R.source);
            var rf = R.flags;
-           var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? regexpFlags.call(R) : rf);
+           var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype$2) ? regexpFlags.call(R) : rf);
            return '/' + p + '/' + f;
          }, { unsafe: true });
        }
 
        // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
-       // so we use an intermediate function.
-       function RE(s, f) {
+       var RE = function (s, f) {
          return RegExp(s, f);
-       }
+       };
 
-       var UNSUPPORTED_Y = fails(function () {
-         // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
+       var UNSUPPORTED_Y$3 = fails(function () {
          var re = RE('a', 'y');
          re.lastIndex = 2;
          return re.exec('abcd') != null;
        });
 
        var regexpStickyHelpers = {
-               UNSUPPORTED_Y: UNSUPPORTED_Y,
+               UNSUPPORTED_Y: UNSUPPORTED_Y$3,
                BROKEN_CARET: BROKEN_CARET
        };
 
+       var regexpUnsupportedDotAll = fails(function () {
+         // babel-minify transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
+         var re = RegExp('.', (typeof '').charAt(0));
+         return !(re.dotAll && re.exec('\n') && re.flags === 's');
+       });
+
+       var regexpUnsupportedNcg = fails(function () {
+         // babel-minify transpiles RegExp('.', 'g') -> /./g and it causes SyntaxError
+         var re = RegExp('(?<a>b)', (typeof '').charAt(5));
+         return re.exec('b').groups.a !== 'b' ||
+           'b'.replace(re, '$<a>c') !== 'bc';
+       });
+
+       /* eslint-disable regexp/no-assertion-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */
+       /* eslint-disable regexp/no-useless-quantifier -- testing */
+
+
+
+
+       var getInternalState = internalState.get;
+
+
+
        var nativeExec = RegExp.prototype.exec;
-       // This always refers to the native implementation, because the
-       // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
-       // which loads this file before patching the method.
-       var nativeReplace = String.prototype.replace;
+       var nativeReplace = shared('native-string-replace', String.prototype.replace);
 
        var patchedExec = nativeExec;
 
          return re1.lastIndex !== 0 || re2.lastIndex !== 0;
        })();
 
-       var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
+       var UNSUPPORTED_Y$2 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
 
        // nonparticipating capturing group, copied from es5-shim's String#split patch.
-       // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
        var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
 
-       var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
+       var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$2 || regexpUnsupportedDotAll || regexpUnsupportedNcg;
 
        if (PATCH) {
+         // eslint-disable-next-line max-statements -- TODO
          patchedExec = function exec(str) {
            var re = this;
-           var lastIndex, reCopy, match, i;
-           var sticky = UNSUPPORTED_Y$1 && re.sticky;
+           var state = getInternalState(re);
+           var raw = state.raw;
+           var result, reCopy, lastIndex, match, i, object, group;
+
+           if (raw) {
+             raw.lastIndex = re.lastIndex;
+             result = patchedExec.call(raw, str);
+             re.lastIndex = raw.lastIndex;
+             return result;
+           }
+
+           var groups = state.groups;
+           var sticky = UNSUPPORTED_Y$2 && re.sticky;
            var flags = regexpFlags.call(re);
            var source = re.source;
            var charsAdded = 0;
              });
            }
 
+           if (match && groups) {
+             match.groups = object = objectCreate(null);
+             for (i = 0; i < groups.length; i++) {
+               group = groups[i];
+               object[group[0]] = match[group[1]];
+             }
+           }
+
            return match;
          };
        }
 
 
 
-       var SPECIES$6 = wellKnownSymbol('species');
-
-       var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
-         // #replace needs built-in support for named groups.
-         // #match works fine because it just return the exec results, even if it has
-         // a "grops" property.
-         var re = /./;
-         re.exec = function () {
-           var result = [];
-           result.groups = { a: '7' };
-           return result;
-         };
-         return ''.replace(re, '$<a>') !== '7';
-       });
-
-       // IE <= 11 replaces $0 with the whole match, as if it was $&
-       // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
-       var REPLACE_KEEPS_$0 = (function () {
-         return 'a'.replace(/./, '$0') === '$0';
-       })();
-
-       var REPLACE = wellKnownSymbol('replace');
-       // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
-       var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
-         if (/./[REPLACE]) {
-           return /./[REPLACE]('a', '$0') === '';
-         }
-         return false;
-       })();
-
-       // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
-       // Weex JS has frozen built-in prototypes, so use try / catch wrapper
-       var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
-         // eslint-disable-next-line regexp/no-empty-group -- required for testing
-         var re = /(?:)/;
-         var originalExec = re.exec;
-         re.exec = function () { return originalExec.apply(this, arguments); };
-         var result = 'ab'.split(re);
-         return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
-       });
+       var SPECIES = wellKnownSymbol('species');
+       var RegExpPrototype$1 = RegExp.prototype;
 
-       var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
+       var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
          var SYMBOL = wellKnownSymbol(KEY);
 
          var DELEGATES_TO_SYMBOL = !fails(function () {
              // RegExp[@@split] doesn't call the regex's exec method, but first creates
              // a new one. We need to return the patched regex when creating the new one.
              re.constructor = {};
-             re.constructor[SPECIES$6] = function () { return re; };
+             re.constructor[SPECIES] = function () { return re; };
              re.flags = '';
              re[SYMBOL] = /./[SYMBOL];
            }
          if (
            !DELEGATES_TO_SYMBOL ||
            !DELEGATES_TO_EXEC ||
-           (KEY === 'replace' && !(
-             REPLACE_SUPPORTS_NAMED_GROUPS &&
-             REPLACE_KEEPS_$0 &&
-             !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
-           )) ||
-           (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
+           FORCED
          ) {
            var nativeRegExpMethod = /./[SYMBOL];
            var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
-             if (regexp.exec === regexpExec) {
+             var $exec = regexp.exec;
+             if ($exec === regexpExec || $exec === RegExpPrototype$1.exec) {
                if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
                  // The native String method already delegates to @@method (this
                  // polyfilled function), leasing to infinite recursion.
                return { done: true, value: nativeMethod.call(str, regexp, arg2) };
              }
              return { done: false };
-           }, {
-             REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,
-             REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
-           });
-           var stringMethod = methods[0];
-           var regexMethod = methods[1];
-
-           redefine(String.prototype, KEY, stringMethod);
-           redefine(RegExp.prototype, SYMBOL, length == 2
-             // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
-             // 21.2.5.11 RegExp.prototype[@@split](string, limit)
-             ? function (string, arg) { return regexMethod.call(string, this, arg); }
-             // 21.2.5.6 RegExp.prototype[@@match](string)
-             // 21.2.5.9 RegExp.prototype[@@search](string)
-             : function (string) { return regexMethod.call(string, this); }
-           );
+           });
+
+           redefine(String.prototype, KEY, methods[0]);
+           redefine(RegExpPrototype$1, SYMBOL, methods[1]);
          }
 
-         if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
+         if (SHAM) createNonEnumerableProperty(RegExpPrototype$1[SYMBOL], 'sham', true);
        };
 
-       var charAt$1 = stringMultibyte.charAt;
+       var charAt = stringMultibyte.charAt;
 
        // `AdvanceStringIndex` abstract operation
        // https://tc39.es/ecma262/#sec-advancestringindex
        var advanceStringIndex = function (S, index, unicode) {
-         return index + (unicode ? charAt$1(S, index).length : 1);
+         return index + (unicode ? charAt(S, index).length : 1);
        };
 
-       var floor$5 = Math.floor;
-       var replace$1 = ''.replace;
+       var floor$1 = Math.floor;
+       var replace = ''.replace;
        var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
        var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
 
+       // `GetSubstitution` abstract operation
        // https://tc39.es/ecma262/#sec-getsubstitution
        var getSubstitution = function (matched, str, position, captures, namedCaptures, replacement) {
          var tailPos = position + matched.length;
            namedCaptures = toObject(namedCaptures);
            symbols = SUBSTITUTION_SYMBOLS;
          }
-         return replace$1.call(replacement, symbols, function (match, ch) {
+         return replace.call(replacement, symbols, function (match, ch) {
            var capture;
            switch (ch.charAt(0)) {
              case '$': return '$';
                var n = +ch;
                if (n === 0) return match;
                if (n > m) {
-                 var f = floor$5(n / 10);
+                 var f = floor$1(n / 10);
                  if (f === 0) return match;
                  if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
                  return match;
          return regexpExec.call(R, S);
        };
 
+       var REPLACE = wellKnownSymbol('replace');
        var max$2 = Math.max;
-       var min$4 = Math.min;
+       var min$5 = Math.min;
 
        var maybeToString = function (it) {
          return it === undefined ? it : String(it);
        };
 
+       // IE <= 11 replaces $0 with the whole match, as if it was $&
+       // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
+       var REPLACE_KEEPS_$0 = (function () {
+         // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing
+         return 'a'.replace(/./, '$0') === '$0';
+       })();
+
+       // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
+       var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
+         if (/./[REPLACE]) {
+           return /./[REPLACE]('a', '$0') === '';
+         }
+         return false;
+       })();
+
+       var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
+         var re = /./;
+         re.exec = function () {
+           var result = [];
+           result.groups = { a: '7' };
+           return result;
+         };
+         return ''.replace(re, '$<a>') !== '7';
+       });
+
        // @@replace logic
-       fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
-         var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
-         var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
+       fixRegexpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {
          var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
 
          return [
            },
            // `RegExp.prototype[@@replace]` method
            // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
-           function (regexp, replaceValue) {
+           function (string, replaceValue) {
              if (
-               (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||
-               (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)
+               typeof replaceValue === 'string' &&
+               replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1 &&
+               replaceValue.indexOf('$<') === -1
              ) {
-               var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
+               var res = maybeCallNative(nativeReplace, this, string, replaceValue);
                if (res.done) return res.value;
              }
 
-             var rx = anObject(regexp);
-             var S = String(this);
+             var rx = anObject(this);
+             var S = String(string);
 
              var functionalReplace = typeof replaceValue === 'function';
              if (!functionalReplace) replaceValue = String(replaceValue);
                result = results[i];
 
                var matched = String(result[0]);
-               var position = max$2(min$4(toInteger(result.index), S.length), 0);
+               var position = max$2(min$5(toInteger(result.index), S.length), 0);
                var captures = [];
                // NOTE: This is equivalent to
                //   captures = result.slice(1).map(maybeToString)
              return accumulatedResult + S.slice(nextSourcePosition);
            }
          ];
-       });
+       }, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);
 
-       var MATCH = wellKnownSymbol('match');
+       var MATCH$2 = wellKnownSymbol('match');
 
        // `IsRegExp` abstract operation
        // https://tc39.es/ecma262/#sec-isregexp
        var isRegexp = function (it) {
          var isRegExp;
-         return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
+         return isObject$4(it) && ((isRegExp = it[MATCH$2]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
        };
 
+       var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y;
        var arrayPush = [].push;
-       var min$5 = Math.min;
+       var min$4 = Math.min;
        var MAX_UINT32 = 0xFFFFFFFF;
 
-       // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
-       var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
+       // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
+       // Weex JS has frozen built-in prototypes, so use try / catch wrapper
+       var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
+         // eslint-disable-next-line regexp/no-empty-group -- required for testing
+         var re = /(?:)/;
+         var originalExec = re.exec;
+         re.exec = function () { return originalExec.apply(this, arguments); };
+         var result = 'ab'.split(re);
+         return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
+       });
 
        // @@split logic
-       fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
+       fixRegexpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {
          var internalSplit;
          if (
            'abbc'.split(/(b)*/)[1] == 'c' ||
            //
            // NOTE: This cannot be properly polyfilled in engines that don't support
            // the 'y' flag.
-           function (regexp, limit) {
-             var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
+           function (string, limit) {
+             var res = maybeCallNative(internalSplit, this, string, limit, internalSplit !== nativeSplit);
              if (res.done) return res.value;
 
-             var rx = anObject(regexp);
-             var S = String(this);
+             var rx = anObject(this);
+             var S = String(string);
              var C = speciesConstructor(rx, RegExp);
 
              var unicodeMatching = rx.unicode;
              var flags = (rx.ignoreCase ? 'i' : '') +
                          (rx.multiline ? 'm' : '') +
                          (rx.unicode ? 'u' : '') +
-                         (SUPPORTS_Y ? 'y' : 'g');
+                         (UNSUPPORTED_Y$1 ? 'g' : 'y');
 
              // ^(? + rx + ) is needed, in combination with some S slicing, to
              // simulate the 'y' flag.
-             var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
+             var splitter = new C(UNSUPPORTED_Y$1 ? '^(?:' + rx.source + ')' : rx, flags);
              var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
              if (lim === 0) return [];
              if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];
              var q = 0;
              var A = [];
              while (q < S.length) {
-               splitter.lastIndex = SUPPORTS_Y ? q : 0;
-               var z = regexpExecAbstract(splitter, SUPPORTS_Y ? S : S.slice(q));
+               splitter.lastIndex = UNSUPPORTED_Y$1 ? 0 : q;
+               var z = regexpExecAbstract(splitter, UNSUPPORTED_Y$1 ? S.slice(q) : S);
                var e;
                if (
                  z === null ||
-                 (e = min$5(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
+                 (e = min$4(toLength(splitter.lastIndex + (UNSUPPORTED_Y$1 ? q : 0)), S.length)) === p
                ) {
                  q = advanceStringIndex(S, q, unicodeMatching);
                } else {
              return A;
            }
          ];
-       }, !SUPPORTS_Y);
+       }, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y$1);
 
        // a string of all valid unicode whitespaces
        var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
 
        var whitespace = '[' + whitespaces + ']';
        var ltrim = RegExp('^' + whitespace + whitespace + '*');
-       var rtrim = RegExp(whitespace + whitespace + '*$');
+       var rtrim$2 = RegExp(whitespace + whitespace + '*$');
 
        // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
-       var createMethod$4 = function (TYPE) {
+       var createMethod$2 = function (TYPE) {
          return function ($this) {
            var string = String(requireObjectCoercible($this));
            if (TYPE & 1) string = string.replace(ltrim, '');
-           if (TYPE & 2) string = string.replace(rtrim, '');
+           if (TYPE & 2) string = string.replace(rtrim$2, '');
            return string;
          };
        };
        var stringTrim = {
          // `String.prototype.{ trimLeft, trimStart }` methods
          // https://tc39.es/ecma262/#sec-string.prototype.trimstart
-         start: createMethod$4(1),
+         start: createMethod$2(1),
          // `String.prototype.{ trimRight, trimEnd }` methods
          // https://tc39.es/ecma262/#sec-string.prototype.trimend
-         end: createMethod$4(2),
+         end: createMethod$2(2),
          // `String.prototype.trim` method
          // https://tc39.es/ecma262/#sec-string.prototype.trim
-         trim: createMethod$4(3)
+         trim: createMethod$2(3)
        };
 
        var non = '\u200B\u0085\u180E';
          }
        });
 
-       var defineProperty$6 = objectDefineProperty.f;
+       var defineProperty$3 = objectDefineProperty.f;
 
        var FunctionPrototype = Function.prototype;
        var FunctionPrototypeToString = FunctionPrototype.toString;
        var nameRE = /^\s*function ([^ (]*)/;
-       var NAME$1 = 'name';
+       var NAME = 'name';
 
        // Function instances `.name` property
        // https://tc39.es/ecma262/#sec-function-instances-name
-       if (descriptors && !(NAME$1 in FunctionPrototype)) {
-         defineProperty$6(FunctionPrototype, NAME$1, {
+       if (descriptors && !(NAME in FunctionPrototype)) {
+         defineProperty$3(FunctionPrototype, NAME, {
            configurable: true,
            get: function () {
              try {
          create: objectCreate
        });
 
-       var slice = [].slice;
+       var slice$3 = [].slice;
        var MSIE = /MSIE .\./.test(engineUserAgent); // <- dirty ie9- check
 
        var wrap$1 = function (scheduler) {
          return function (handler, timeout /* , ...arguments */) {
            var boundArgs = arguments.length > 2;
-           var args = boundArgs ? slice.call(arguments, 2) : undefined;
+           var args = boundArgs ? slice$3.call(arguments, 2) : undefined;
            return scheduler(boundArgs ? function () {
              // eslint-disable-next-line no-new-func -- spec requirement
              (typeof handler == 'function' ? handler : Function(handler)).apply(this, args);
        _export({ global: true, bind: true, forced: MSIE }, {
          // `setTimeout` method
          // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout
-         setTimeout: wrap$1(global_1.setTimeout),
+         setTimeout: wrap$1(global$2.setTimeout),
          // `setInterval` method
          // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval
-         setInterval: wrap$1(global_1.setInterval)
+         setInterval: wrap$1(global$2.setInterval)
        });
 
        var global$1 = typeof globalThis !== 'undefined' && globalThis || typeof self !== 'undefined' && self || typeof global$1 !== 'undefined' && global$1;
          return iterator;
        }
 
-       function Headers$1(headers) {
+       function Headers(headers) {
          this.map = {};
 
-         if (headers instanceof Headers$1) {
+         if (headers instanceof Headers) {
            headers.forEach(function (value, name) {
              this.append(name, value);
            }, this);
          }
        }
 
-       Headers$1.prototype.append = function (name, value) {
+       Headers.prototype.append = function (name, value) {
          name = normalizeName(name);
          value = normalizeValue(value);
          var oldValue = this.map[name];
          this.map[name] = oldValue ? oldValue + ', ' + value : value;
        };
 
-       Headers$1.prototype['delete'] = function (name) {
+       Headers.prototype['delete'] = function (name) {
          delete this.map[normalizeName(name)];
        };
 
-       Headers$1.prototype.get = function (name) {
+       Headers.prototype.get = function (name) {
          name = normalizeName(name);
          return this.has(name) ? this.map[name] : null;
        };
 
-       Headers$1.prototype.has = function (name) {
+       Headers.prototype.has = function (name) {
          return this.map.hasOwnProperty(normalizeName(name));
        };
 
-       Headers$1.prototype.set = function (name, value) {
+       Headers.prototype.set = function (name, value) {
          this.map[normalizeName(name)] = normalizeValue(value);
        };
 
-       Headers$1.prototype.forEach = function (callback, thisArg) {
+       Headers.prototype.forEach = function (callback, thisArg) {
          for (var name in this.map) {
            if (this.map.hasOwnProperty(name)) {
              callback.call(thisArg, this.map[name], name, this);
          }
        };
 
-       Headers$1.prototype.keys = function () {
+       Headers.prototype.keys = function () {
          var items = [];
          this.forEach(function (value, name) {
            items.push(name);
          return iteratorFor(items);
        };
 
-       Headers$1.prototype.values = function () {
+       Headers.prototype.values = function () {
          var items = [];
          this.forEach(function (value) {
            items.push(value);
          return iteratorFor(items);
        };
 
-       Headers$1.prototype.entries = function () {
+       Headers.prototype.entries = function () {
          var items = [];
          this.forEach(function (value, name) {
            items.push([name, value]);
        };
 
        if (support.iterable) {
-         Headers$1.prototype[Symbol.iterator] = Headers$1.prototype.entries;
+         Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
        }
 
        function consumed(body) {
            this.credentials = input.credentials;
 
            if (!options.headers) {
-             this.headers = new Headers$1(input.headers);
+             this.headers = new Headers(input.headers);
            }
 
            this.method = input.method;
          this.credentials = options.credentials || this.credentials || 'same-origin';
 
          if (options.headers || !this.headers) {
-           this.headers = new Headers$1(options.headers);
+           this.headers = new Headers(options.headers);
          }
 
          this.method = normalizeMethod(options.method || this.method || 'GET');
        }
 
        function parseHeaders(rawHeaders) {
-         var headers = new Headers$1(); // Replace instances of \r\n and \n followed by at least one space or horizontal tab with a space
+         var headers = new Headers(); // Replace instances of \r\n and \n followed by at least one space or horizontal tab with a space
          // https://tools.ietf.org/html/rfc7230#section-3.2
 
          var preProcessedHeaders = rawHeaders.replace(/\r?\n[\t ]+/g, ' '); // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill
          this.status = options.status === undefined ? 200 : options.status;
          this.ok = this.status >= 200 && this.status < 300;
          this.statusText = options.statusText === undefined ? '' : '' + options.statusText;
-         this.headers = new Headers$1(options.headers);
+         this.headers = new Headers(options.headers);
          this.url = options.url || '';
 
          this._initBody(bodyInit);
          return new Response(this._bodyInit, {
            status: this.status,
            statusText: this.statusText,
-           headers: new Headers$1(this.headers),
+           headers: new Headers(this.headers),
            url: this.url
          });
        };
          });
        };
 
-       var DOMException$1 = global$1.DOMException;
+       var DOMException$2 = global$1.DOMException;
 
        try {
-         new DOMException$1();
+         new DOMException$2();
        } catch (err) {
-         DOMException$1 = function DOMException(message, name) {
+         DOMException$2 = function DOMException(message, name) {
            this.message = message;
            this.name = name;
            var error = Error(message);
            this.stack = error.stack;
          };
 
-         DOMException$1.prototype = Object.create(Error.prototype);
-         DOMException$1.prototype.constructor = DOMException$1;
+         DOMException$2.prototype = Object.create(Error.prototype);
+         DOMException$2.prototype.constructor = DOMException$2;
        }
 
        function fetch$1(input, init) {
            var request = new Request(input, init);
 
            if (request.signal && request.signal.aborted) {
-             return reject(new DOMException$1('Aborted', 'AbortError'));
+             return reject(new DOMException$2('Aborted', 'AbortError'));
            }
 
            var xhr = new XMLHttpRequest();
 
            xhr.onabort = function () {
              setTimeout(function () {
-               reject(new DOMException$1('Aborted', 'AbortError'));
+               reject(new DOMException$2('Aborted', 'AbortError'));
              }, 0);
            };
 
              }
            }
 
-           if (init && _typeof(init.headers) === 'object' && !(init.headers instanceof Headers$1)) {
+           if (init && _typeof(init.headers) === 'object' && !(init.headers instanceof Headers)) {
              Object.getOwnPropertyNames(init.headers).forEach(function (name) {
                xhr.setRequestHeader(name, normalizeValue(init.headers[name]));
              });
 
        if (!global$1.fetch) {
          global$1.fetch = fetch$1;
-         global$1.Headers = Headers$1;
+         global$1.Headers = Headers;
          global$1.Request = Request;
          global$1.Response = Response;
        }
          setPrototypeOf: objectSetPrototypeOf
        });
 
-       var FAILS_ON_PRIMITIVES$1 = fails(function () { objectGetPrototypeOf(1); });
+       var FAILS_ON_PRIMITIVES$3 = fails(function () { objectGetPrototypeOf(1); });
 
        // `Object.getPrototypeOf` method
        // https://tc39.es/ecma262/#sec-object.getprototypeof
-       _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$1, sham: !correctPrototypeGetter }, {
+       _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$3, sham: !correctPrototypeGetter }, {
          getPrototypeOf: function getPrototypeOf(it) {
            return objectGetPrototypeOf(toObject(it));
          }
        });
 
-       var slice$1 = [].slice;
+       var slice$2 = [].slice;
        var factories = {};
 
        var construct = function (C, argsLength, args) {
        // `Function.prototype.bind` method implementation
        // https://tc39.es/ecma262/#sec-function.prototype.bind
        var functionBind = Function.bind || function bind(that /* , ...args */) {
-         var fn = aFunction$1(this);
-         var partArgs = slice$1.call(arguments, 1);
+         var fn = aFunction(this);
+         var partArgs = slice$2.call(arguments, 1);
          var boundFunction = function bound(/* args... */) {
-           var args = partArgs.concat(slice$1.call(arguments));
+           var args = partArgs.concat(slice$2.call(arguments));
            return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);
          };
-         if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;
+         if (isObject$4(fn.prototype)) boundFunction.prototype = fn.prototype;
          return boundFunction;
        };
 
        var ARGS_BUG = !fails(function () {
          nativeConstruct(function () { /* empty */ });
        });
-       var FORCED$5 = NEW_TARGET_BUG || ARGS_BUG;
+       var FORCED$a = NEW_TARGET_BUG || ARGS_BUG;
 
-       _export({ target: 'Reflect', stat: true, forced: FORCED$5, sham: FORCED$5 }, {
+       _export({ target: 'Reflect', stat: true, forced: FORCED$a, sham: FORCED$a }, {
          construct: function construct(Target, args /* , newTarget */) {
-           aFunction$1(Target);
+           aFunction(Target);
            anObject(args);
-           var newTarget = arguments.length < 3 ? Target : aFunction$1(arguments[2]);
+           var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
            if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);
            if (Target == newTarget) {
              // w/o altered newTarget, optimization for 0-4 arguments
            }
            // with altered newTarget, not support built-in constructors
            var proto = newTarget.prototype;
-           var instance = objectCreate(isObject(proto) ? proto : Object.prototype);
+           var instance = objectCreate(isObject$4(proto) ? proto : Object.prototype);
            var result = Function.apply.call(Target, instance, args);
-           return isObject(result) ? result : instance;
+           return isObject$4(result) ? result : instance;
          }
        });
 
        // `Reflect.get` method
        // https://tc39.es/ecma262/#sec-reflect.get
-       function get$2(target, propertyKey /* , receiver */) {
+       function get$3(target, propertyKey /* , receiver */) {
          var receiver = arguments.length < 3 ? target : arguments[2];
          var descriptor, prototype;
          if (anObject(target) === receiver) return target[propertyKey];
-         if (descriptor = objectGetOwnPropertyDescriptor.f(target, propertyKey)) return has(descriptor, 'value')
+         if (descriptor = objectGetOwnPropertyDescriptor.f(target, propertyKey)) return has$1(descriptor, 'value')
            ? descriptor.value
            : descriptor.get === undefined
              ? undefined
              : descriptor.get.call(receiver);
-         if (isObject(prototype = objectGetPrototypeOf(target))) return get$2(prototype, propertyKey, receiver);
+         if (isObject$4(prototype = objectGetPrototypeOf(target))) return get$3(prototype, propertyKey, receiver);
        }
 
        _export({ target: 'Reflect', stat: true }, {
-         get: get$2
+         get: get$3
        });
 
-       var nativeGetOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
+       var nativeGetOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
 
 
-       var FAILS_ON_PRIMITIVES$2 = fails(function () { nativeGetOwnPropertyDescriptor$2(1); });
-       var FORCED$6 = !descriptors || FAILS_ON_PRIMITIVES$2;
+       var FAILS_ON_PRIMITIVES$2 = fails(function () { nativeGetOwnPropertyDescriptor(1); });
+       var FORCED$9 = !descriptors || FAILS_ON_PRIMITIVES$2;
 
        // `Object.getOwnPropertyDescriptor` method
        // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
-       _export({ target: 'Object', stat: true, forced: FORCED$6, sham: !descriptors }, {
+       _export({ target: 'Object', stat: true, forced: FORCED$9, sham: !descriptors }, {
          getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {
-           return nativeGetOwnPropertyDescriptor$2(toIndexedObject(it), key);
+           return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);
          }
        });
 
-       var HAS_SPECIES_SUPPORT$2 = arrayMethodHasSpeciesSupport('splice');
+       var HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport('splice');
 
-       var max$3 = Math.max;
-       var min$6 = Math.min;
-       var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
+       var max$1 = Math.max;
+       var min$3 = Math.min;
+       var MAX_SAFE_INTEGER$1 = 0x1FFFFFFFFFFFFF;
        var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';
 
        // `Array.prototype.splice` method
        // https://tc39.es/ecma262/#sec-array.prototype.splice
        // with adding support of @@species
-       _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$2 }, {
+       _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$1 }, {
          splice: function splice(start, deleteCount /* , ...items */) {
            var O = toObject(this);
            var len = toLength(O.length);
              actualDeleteCount = len - actualStart;
            } else {
              insertCount = argumentsLength - 2;
-             actualDeleteCount = min$6(max$3(toInteger(deleteCount), 0), len - actualStart);
+             actualDeleteCount = min$3(max$1(toInteger(deleteCount), 0), len - actualStart);
            }
-           if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {
+           if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER$1) {
              throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);
            }
            A = arraySpeciesCreate(O, actualDeleteCount);
        // https://tc39.es/ecma262/#sec-symbol.tostringtag
        defineWellKnownSymbol('toStringTag');
 
+       // JSON[@@toStringTag] property
+       // https://tc39.es/ecma262/#sec-json-@@tostringtag
+       setToStringTag(global$2.JSON, 'JSON', true);
+
        // Math[@@toStringTag] property
        // https://tc39.es/ecma262/#sec-math-@@tostringtag
        setToStringTag(Math, 'Math', true);
 
-       // JSON[@@toStringTag] property
-       // https://tc39.es/ecma262/#sec-json-@@tostringtag
-       setToStringTag(global_1.JSON, 'JSON', true);
-
        (function (factory) {
-          factory();
+         factory();
        })(function () {
 
          function _classCallCheck(instance, Constructor) {
            if (typeof Proxy === "function") return true;
 
            try {
-             Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
+             Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
              return true;
            } catch (e) {
              return false;
        }
 
        var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-       var MAX_SAFE_INTEGER$1 = 0x1FFFFFFFFFFFFF;
+       var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
        var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
 
        // We can't use this feature detection in V8 since it causes
        var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
 
        var isConcatSpreadable = function (O) {
-         if (!isObject(O)) return false;
+         if (!isObject$4(O)) return false;
          var spreadable = O[IS_CONCAT_SPREADABLE];
          return spreadable !== undefined ? !!spreadable : isArray(O);
        };
 
-       var FORCED$7 = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
+       var FORCED$8 = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
 
        // `Array.prototype.concat` method
        // https://tc39.es/ecma262/#sec-array.prototype.concat
        // with adding support of @@isConcatSpreadable and @@species
-       _export({ target: 'Array', proto: true, forced: FORCED$7 }, {
+       _export({ target: 'Array', proto: true, forced: FORCED$8 }, {
          // eslint-disable-next-line no-unused-vars -- required for `.length`
          concat: function concat(arg) {
            var O = toObject(this);
              E = i === -1 ? O : arguments[i];
              if (isConcatSpreadable(E)) {
                len = toLength(E.length);
-               if (n + len > MAX_SAFE_INTEGER$1) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
+               if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
                for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
              } else {
-               if (n >= MAX_SAFE_INTEGER$1) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
+               if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
                createProperty(A, n++, E);
              }
            }
 
        // `Object.assign` method
        // https://tc39.es/ecma262/#sec-object.assign
+       // eslint-disable-next-line es/no-object-assign -- required for testing
        _export({ target: 'Object', stat: true, forced: Object.assign !== objectAssign }, {
          assign: objectAssign
        });
 
-       var $filter$1 = arrayIteration.filter;
+       var $filter = arrayIteration.filter;
 
 
-       var HAS_SPECIES_SUPPORT$3 = arrayMethodHasSpeciesSupport('filter');
+       var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
 
        // `Array.prototype.filter` method
        // https://tc39.es/ecma262/#sec-array.prototype.filter
        // with adding support of @@species
-       _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$3 }, {
+       _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
          filter: function filter(callbackfn /* , thisArg */) {
-           return $filter$1(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+           return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
          }
        });
 
-       var FAILS_ON_PRIMITIVES$3 = fails(function () { objectKeys(1); });
+       var FAILS_ON_PRIMITIVES$1 = fails(function () { objectKeys(1); });
 
        // `Object.keys` method
        // https://tc39.es/ecma262/#sec-object.keys
-       _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$3 }, {
+       _export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$1 }, {
          keys: function keys(it) {
            return objectKeys(toObject(it));
          }
          }
        });
 
-       var trim = stringTrim.trim;
+       var trim$4 = stringTrim.trim;
 
 
-       var $parseFloat = global_1.parseFloat;
-       var FORCED$8 = 1 / $parseFloat(whitespaces + '-0') !== -Infinity;
+       var $parseFloat = global$2.parseFloat;
+       var FORCED$7 = 1 / $parseFloat(whitespaces + '-0') !== -Infinity;
 
        // `parseFloat` method
        // https://tc39.es/ecma262/#sec-parsefloat-string
-       var numberParseFloat = FORCED$8 ? function parseFloat(string) {
-         var trimmedString = trim(String(string));
+       var numberParseFloat = FORCED$7 ? function parseFloat(string) {
+         var trimmedString = trim$4(String(string));
          var result = $parseFloat(trimmedString);
          return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;
        } : $parseFloat;
          tidal_channel: true
        };
 
-       var trim$1 = stringTrim.trim;
+       var trim$3 = stringTrim.trim;
 
 
-       var $parseInt = global_1.parseInt;
-       var hex$1 = /^[+-]?0[Xx]/;
-       var FORCED$9 = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22;
+       var $parseInt = global$2.parseInt;
+       var hex$2 = /^[+-]?0[Xx]/;
+       var FORCED$6 = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22;
 
        // `parseInt` method
        // https://tc39.es/ecma262/#sec-parseint-string-radix
-       var numberParseInt = FORCED$9 ? function parseInt(string, radix) {
-         var S = trim$1(String(string));
-         return $parseInt(S, (radix >>> 0) || (hex$1.test(S) ? 16 : 10));
+       var numberParseInt = FORCED$6 ? function parseInt(string, radix) {
+         var S = trim$3(String(string));
+         return $parseInt(S, (radix >>> 0) || (hex$2.test(S) ? 16 : 10));
        } : $parseInt;
 
        // `parseInt` method
        });
 
        var freezing = !fails(function () {
+         // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing
          return Object.isExtensible(Object.preventExtensions({}));
        });
 
        var METADATA = uid('meta');
        var id = 0;
 
+       // eslint-disable-next-line es/no-object-isextensible -- safe
        var isExtensible = Object.isExtensible || function () {
          return true;
        };
 
        var setMetadata = function (it) {
          defineProperty(it, METADATA, { value: {
-           objectID: 'O' + ++id, // object ID
+           objectID: 'O' + id++, // object ID
            weakData: {}          // weak collections IDs
          } });
        };
 
        var fastKey = function (it, create) {
          // return a primitive with prefix
-         if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
-         if (!has(it, METADATA)) {
+         if (!isObject$4(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
+         if (!has$1(it, METADATA)) {
            // can't set metadata to uncaught frozen object
            if (!isExtensible(it)) return 'F';
            // not necessary to add metadata
        };
 
        var getWeakData = function (it, create) {
-         if (!has(it, METADATA)) {
+         if (!has$1(it, METADATA)) {
            // can't set metadata to uncaught frozen object
            if (!isExtensible(it)) return true;
            // not necessary to add metadata
 
        // add metadata on freeze-family methods calling
        var onFreeze = function (it) {
-         if (freezing && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);
+         if (freezing && meta.REQUIRED && isExtensible(it) && !has$1(it, METADATA)) setMetadata(it);
          return it;
        };
 
          onFreeze: onFreeze
        };
 
-       hiddenKeys[METADATA] = true;
+       hiddenKeys$1[METADATA] = true;
        });
 
        var collection = function (CONSTRUCTOR_NAME, wrapper, common) {
          var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;
          var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;
          var ADDER = IS_MAP ? 'set' : 'add';
-         var NativeConstructor = global_1[CONSTRUCTOR_NAME];
+         var NativeConstructor = global$2[CONSTRUCTOR_NAME];
          var NativePrototype = NativeConstructor && NativeConstructor.prototype;
          var Constructor = NativeConstructor;
          var exported = {};
                nativeMethod.call(this, value === 0 ? 0 : value);
                return this;
              } : KEY == 'delete' ? function (key) {
-               return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
+               return IS_WEAK && !isObject$4(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
              } : KEY == 'get' ? function get(key) {
-               return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
+               return IS_WEAK && !isObject$4(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
              } : KEY == 'has' ? function has(key) {
-               return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
+               return IS_WEAK && !isObject$4(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
              } : function set(key, value) {
                nativeMethod.call(this, key === 0 ? 0 : key, value);
                return this;
          return Constructor;
        };
 
-       var defineProperty$7 = objectDefineProperty.f;
+       var defineProperty$2 = objectDefineProperty.f;
 
 
 
        var fastKey = internalMetadata.fastKey;
 
 
-       var setInternalState$7 = internalState.set;
+       var setInternalState = internalState.set;
        var internalStateGetterFor = internalState.getterFor;
 
        var collectionStrong = {
          getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
            var C = wrapper(function (that, iterable) {
              anInstance(that, C, CONSTRUCTOR_NAME);
-             setInternalState$7(that, {
+             setInternalState(that, {
                type: CONSTRUCTOR_NAME,
                index: objectCreate(null),
                first: undefined,
            };
 
            redefineAll(C.prototype, {
-             // 23.1.3.1 Map.prototype.clear()
-             // 23.2.3.2 Set.prototype.clear()
+             // `{ Map, Set }.prototype.clear()` methods
+             // https://tc39.es/ecma262/#sec-map.prototype.clear
+             // https://tc39.es/ecma262/#sec-set.prototype.clear
              clear: function clear() {
                var that = this;
                var state = getInternalState(that);
                if (descriptors) state.size = 0;
                else that.size = 0;
              },
-             // 23.1.3.3 Map.prototype.delete(key)
-             // 23.2.3.4 Set.prototype.delete(value)
+             // `{ Map, Set }.prototype.delete(key)` methods
+             // https://tc39.es/ecma262/#sec-map.prototype.delete
+             // https://tc39.es/ecma262/#sec-set.prototype.delete
              'delete': function (key) {
                var that = this;
                var state = getInternalState(that);
                  else that.size--;
                } return !!entry;
              },
-             // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
-             // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
+             // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods
+             // https://tc39.es/ecma262/#sec-map.prototype.foreach
+             // https://tc39.es/ecma262/#sec-set.prototype.foreach
              forEach: function forEach(callbackfn /* , that = undefined */) {
                var state = getInternalState(this);
                var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
                  while (entry && entry.removed) entry = entry.previous;
                }
              },
-             // 23.1.3.7 Map.prototype.has(key)
-             // 23.2.3.7 Set.prototype.has(value)
+             // `{ Map, Set}.prototype.has(key)` methods
+             // https://tc39.es/ecma262/#sec-map.prototype.has
+             // https://tc39.es/ecma262/#sec-set.prototype.has
              has: function has(key) {
                return !!getEntry(this, key);
              }
            });
 
            redefineAll(C.prototype, IS_MAP ? {
-             // 23.1.3.6 Map.prototype.get(key)
+             // `Map.prototype.get(key)` method
+             // https://tc39.es/ecma262/#sec-map.prototype.get
              get: function get(key) {
                var entry = getEntry(this, key);
                return entry && entry.value;
              },
-             // 23.1.3.9 Map.prototype.set(key, value)
+             // `Map.prototype.set(key, value)` method
+             // https://tc39.es/ecma262/#sec-map.prototype.set
              set: function set(key, value) {
                return define(this, key === 0 ? 0 : key, value);
              }
            } : {
-             // 23.2.3.1 Set.prototype.add(value)
+             // `Set.prototype.add(value)` method
+             // https://tc39.es/ecma262/#sec-set.prototype.add
              add: function add(value) {
                return define(this, value = value === 0 ? 0 : value, value);
              }
            });
-           if (descriptors) defineProperty$7(C.prototype, 'size', {
+           if (descriptors) defineProperty$2(C.prototype, 'size', {
              get: function () {
                return getInternalState(this).size;
              }
            var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';
            var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);
            var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);
-           // add .keys, .values, .entries, [@@iterator]
-           // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
+           // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods
+           // https://tc39.es/ecma262/#sec-map.prototype.entries
+           // https://tc39.es/ecma262/#sec-map.prototype.keys
+           // https://tc39.es/ecma262/#sec-map.prototype.values
+           // https://tc39.es/ecma262/#sec-map.prototype-@@iterator
+           // https://tc39.es/ecma262/#sec-set.prototype.entries
+           // https://tc39.es/ecma262/#sec-set.prototype.keys
+           // https://tc39.es/ecma262/#sec-set.prototype.values
+           // https://tc39.es/ecma262/#sec-set.prototype-@@iterator
            defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {
-             setInternalState$7(this, {
+             setInternalState(this, {
                type: ITERATOR_NAME,
                target: iterated,
                state: getInternalCollectionState(iterated),
              return { value: [entry.key, entry.value], done: false };
            }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
 
-           // add [@@species], 23.1.2.2, 23.2.2.2
+           // `{ Map, Set }.prototype[@@species]` accessors
+           // https://tc39.es/ecma262/#sec-get-map-@@species
+           // https://tc39.es/ecma262/#sec-get-set-@@species
            setSpecies(CONSTRUCTOR_NAME);
          }
        };
 
        // `Set` constructor
        // https://tc39.es/ecma262/#sec-set-objects
-       var es_set = collection('Set', function (init) {
+       collection('Set', function (init) {
          return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };
        }, collectionStrong);
 
        // https://tc39.es/ecma262/#sec-symbol.asynciterator
        defineWellKnownSymbol('asyncIterator');
 
-       var runtime_1 = createCommonjsModule(function (module) {
-         /**
-          * Copyright (c) 2014-present, Facebook, Inc.
-          *
-          * This source code is licensed under the MIT license found in the
-          * LICENSE file in the root directory of this source tree.
-          */
+       createCommonjsModule(function (module) {
          var runtime = function (exports) {
 
            var Op = Object.prototype;
          // as the regeneratorRuntime namespace. Otherwise create a new empty
          // object. Either way, the resulting object will be used to initialize
          // the regeneratorRuntime variable at the top of this file.
-          module.exports );
+         module.exports );
 
          try {
            regeneratorRuntime = runtime;
          }
        });
 
-       var _marked = /*#__PURE__*/regeneratorRuntime.mark(numbers);
+       var _marked$2 = /*#__PURE__*/regeneratorRuntime.mark(numbers);
 
-       function number (x) {
+       function number$1 (x) {
          return x === null ? NaN : +x;
        }
        function numbers(values, valueof) {
                  return _context.stop();
              }
            }
-         }, _marked, null, [[2, 13, 16, 19], [23, 34, 37, 40]]);
+         }, _marked$2, null, [[2, 13, 16, 19], [23, 34, 37, 40]]);
        }
 
        var ascendingBisect = d3_bisector(d3_ascending);
        var bisectRight = ascendingBisect.right;
-       var bisectCenter = d3_bisector(number).center;
+       d3_bisector(number$1).center;
 
-       var INCORRECT_ITERATION$1 = !checkCorrectnessOfIteration(function (iterable) {
+       var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
+         // eslint-disable-next-line es/no-array-from -- required for testing
          Array.from(iterable);
        });
 
        // `Array.from` method
        // https://tc39.es/ecma262/#sec-array.from
-       _export({ target: 'Array', stat: true, forced: INCORRECT_ITERATION$1 }, {
+       _export({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {
          from: arrayFrom
        });
 
        // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
        addToUnscopables('fill');
 
-       var $some$1 = arrayIteration.some;
+       var $some = arrayIteration.some;
 
 
-       var STRICT_METHOD$4 = arrayMethodIsStrict('some');
+       var STRICT_METHOD$3 = arrayMethodIsStrict('some');
 
        // `Array.prototype.some` method
        // https://tc39.es/ecma262/#sec-array.prototype.some
-       _export({ target: 'Array', proto: true, forced: !STRICT_METHOD$4 }, {
+       _export({ target: 'Array', proto: true, forced: !STRICT_METHOD$3 }, {
          some: function some(callbackfn /* , thisArg */) {
-           return $some$1(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+           return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
          }
        });
 
-       var exportTypedArrayStaticMethod$1 = arrayBufferViewCore.exportTypedArrayStaticMethod;
+       var exportTypedArrayStaticMethod = arrayBufferViewCore.exportTypedArrayStaticMethod;
 
 
        // `%TypedArray%.from` method
        // https://tc39.es/ecma262/#sec-%typedarray%.from
-       exportTypedArrayStaticMethod$1('from', typedArrayFrom, typedArrayConstructorsRequireWrappers);
+       exportTypedArrayStaticMethod('from', typedArrayFrom, typedArrayConstructorsRequireWrappers);
 
        // `Float64Array` constructor
        // https://tc39.es/ecma262/#sec-typedarray-objects
        // https://github.com/python/cpython/blob/a74eea238f5baba15797e2e8b570d153bc8690a7/Modules/mathmodule.c#L1423
        var Adder = /*#__PURE__*/function () {
          function Adder() {
-           _classCallCheck(this, Adder);
+           _classCallCheck$1(this, Adder);
 
            this._partials = new Float64Array(32);
            this._n = 0;
          }
 
-         _createClass(Adder, [{
+         _createClass$1(Adder, [{
            key: "add",
            value: function add(x) {
              var p = this._partials;
 
        // `Map` constructor
        // https://tc39.es/ecma262/#sec-map-objects
-       var es_map = collection('Map', function (init) {
+       collection('Map', function (init) {
          return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };
        }, collectionStrong);
 
-       var test$2 = [];
-       var nativeSort = test$2.sort;
+       var test = [];
+       var nativeSort = test.sort;
 
        // IE8-
        var FAILS_ON_UNDEFINED = fails(function () {
-         test$2.sort(undefined);
+         test.sort(undefined);
        });
        // V8 bug
        var FAILS_ON_NULL = fails(function () {
-         test$2.sort(null);
+         test.sort(null);
        });
        // Old WebKit
-       var STRICT_METHOD$5 = arrayMethodIsStrict('sort');
+       var STRICT_METHOD$2 = arrayMethodIsStrict('sort');
+
+       var STABLE_SORT = !fails(function () {
+         // feature detection can be too slow, so check engines versions
+         if (engineV8Version) return engineV8Version < 70;
+         if (engineFfVersion && engineFfVersion > 3) return;
+         if (engineIsIeOrEdge) return true;
+         if (engineWebkitVersion) return engineWebkitVersion < 603;
+
+         var result = '';
+         var code, chr, value, index;
+
+         // generate an array with more 512 elements (Chakra and old V8 fails only in this case)
+         for (code = 65; code < 76; code++) {
+           chr = String.fromCharCode(code);
+
+           switch (code) {
+             case 66: case 69: case 70: case 72: value = 3; break;
+             case 68: case 71: value = 4; break;
+             default: value = 2;
+           }
+
+           for (index = 0; index < 47; index++) {
+             test.push({ k: chr + index, v: value });
+           }
+         }
+
+         test.sort(function (a, b) { return b.v - a.v; });
 
-       var FORCED$a = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD$5;
+         for (index = 0; index < test.length; index++) {
+           chr = test[index].k.charAt(0);
+           if (result.charAt(result.length - 1) !== chr) result += chr;
+         }
+
+         return result&