diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..d026035 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +ethan.a.obrien@gmail.com. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/README.md b/README.md index d104bad..c25dc40 100644 --- a/README.md +++ b/README.md @@ -32,12 +32,6 @@ Self-hosted **Javascript** emulation for various system.
-### Audio - -*The **Screen Recording** option currently doesn't support **Audio** .* - -
- ### Extensions  **[GameLibrary]** diff --git a/data/emu-main.js b/data/emu-main.js index 9cafb0c..aa82f01 100644 --- a/data/emu-main.js +++ b/data/emu-main.js @@ -98,6 +98,7 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { 'tabFocus': 'ejs__tab-focus' } }, + renderErrorPage = _0x2c1832(0), _0x5127f4 = _0x2c1832(0x9d), _0x48e5ff = _0x2c1832.n(_0x5127f4), _0x406e79 = function(_0x2aa74f) { @@ -1636,7 +1637,7 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { }); _0x3512e9(_0x139f1c, _0x17edbf); }).catch(function(_0x2e4d62) { - void 0 === _0x2e4d62.response ? _0x2c1832.innerHTML = ''+_0xa88a13.localization('CORS Error')+'' : _0x2c1832.innerHTML = ''+_0xa88a13.localization('Network Error')+''; + renderErrorPage(_0x2e4d62, _0x2c1832, _0xa88a13); }); }; _0x1ffb98.db ? _0x1ffb98.get(_0x107e8a, function(_0x5afc4a) { @@ -1660,7 +1661,7 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { else _0x43a689(); }) : _0x43a689(); }).catch(function(_0x5ec6be) { - void 0 === _0x5ec6be.response ? _0x2c1832.innerHTML = ''+_0xa88a13.localization('CORS Error')+'' : _0x2c1832.innerHTML = ''+_0xa88a13.localization('Network Error')+''; + renderErrorPage(_0x5ec6be, _0x2c1832, _0xa88a13); }); }, _0x139f68 = function() { @@ -1710,7 +1711,7 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { }), _0x4c332a = true), _0x4c332a || (_0x468801 += _0x1097ca.length, _0x4d7024.gamePatch = '/' .concat(_0xe531f0), _0x4d7024._FS.createDataFile('/', _0xe531f0, _0x1097ca, true, !0x1), _0x5048db()); }(_0x179b43, _0x39a81f); }).catch(function(_0x314293) { - void 0 === _0x314293.response ? _0x2c1832.innerHTML = ''+_0xa88a13.localization('CORS Error')+'' : _0x2c1832.innerHTML = ''+_0xa88a13.localization('Network Error')+''; + renderErrorPage(_0x314293, _0x2c1832, _0xa88a13); }); } else _0x5048db(); }, @@ -1775,7 +1776,7 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { console.log(_0x125736); } }).catch(function(_0x516cc3) { - void 0 === _0x516cc3.response ? _0x2c1832.innerHTML = ''+_0xa88a13.localization('CORS Error')+'' : _0x2c1832.innerHTML = ''+_0xa88a13.localization('Network Error')+''; + renderErrorPage(_0x516cc3, _0x2c1832, _0xa88a13); }); }; _0x1ffb98.db ? _0x1ffb98.get(_0x316472, function(_0x3e612b) { @@ -1795,7 +1796,7 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { else _0x31f098(); }) : _0x31f098(); }).catch(function(_0x20f2e3) { - void 0 === _0x20f2e3.response ? _0x2c1832.innerHTML = ''+_0xa88a13.localization('CORS Error')+'' : _0x2c1832.innerHTML = ''+_0xa88a13.localization('Network Error')+''; + renderErrorPage(_0x20f2e3, _0x2c1832, _0xa88a13); }); } else _0x139f68(); }, @@ -1904,14 +1905,14 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { 'data': _0x17edbf }), _0x57d85d(_0x103241, _0x17edbf); }).catch(function(_0x58e374) { - void 0 === _0x58e374.response ? _0x1f8424.innerHTML = ''+_0xa88a13.localization('CORS Error')+'' : _0x1f8424.innerHTML = ''+_0xa88a13.localization('Network Error')+''; + renderErrorPage(_0x58e374, _0x1f8424, _0xa88a13); }); }; _0xa884ea.db ? _0xa884ea.get(_0x51bfef, function(_0x5cac21) { _0x5cac21 && _0x5cac21.filename === _0x103241 && _0x5cac21.filesize - _0x8e30bf == 0x0 && _0x5cac21.filetype === _0x14309b ? _0x57d85d(_0x5cac21.filename, _0x5cac21.data) : _0x574747(); }) : _0x574747(); }).catch(function(_0x4f39c1) { - void 0 === _0x4f39c1.response ? _0x1f8424.innerHTML = ''+_0xa88a13.localization('CORS Error')+'' : _0x1f8424.innerHTML = ''+_0xa88a13.localization('Network Error')+''; + renderErrorPage(_0x4f39c1, _0x1f8424, _0xa88a13); }); } else _0x452592(); }, @@ -2043,7 +2044,7 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { } }).catch(function(_0x2e06c8) { - void 0 === _0x2e06c8.response ? _0x3787ba.innerHTML = ''+_0xc6823.localization('CORS Error')+'' : _0x3787ba.innerHTML = ''+_0xc6823.localization('Network Error')+''; + renderErrorPage(_0x2e06c8, _0x3787ba, _0xc6823); }); }; _0x550f17.a.get(_0xa88a13, {}).then(function(_0x578a2b) { @@ -2152,7 +2153,7 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { _0x254bc2 || _0x1e2c68.element(_0x2c1832.elements.buttons.netplay) && _0x132da7(_0x2c1832.elements.buttons.netplay, true), _0x1e2c68.element(_0x2c1832.elements.buttons.saveState) && _0x132da7(_0x2c1832.elements.buttons.saveState, !_0x5b1dcd), _0x1e2c68.element(_0x2c1832.elements.buttons.loadState) && _0x132da7(_0x2c1832.elements.buttons.loadState, !_0x5b1dcd), _0x132da7(_0x2593da.contextMenu.querySelectorAll('ul li').item(0x2), !_0x5b1dcd), _0x132da7(_0x2593da.contextMenu.querySelectorAll('ul li').item(0x3), !_0x5b1dcd); _0xc6823.setStatesSupported(_0x5b1dcd); }).catch(function(_0x2d06a9) { - void 0 === _0x2d06a9.response ? _0x3787ba.innerHTML = ''+_0xc6823.localization('CORS Error')+'' : _0x3787ba.innerHTML = ''+_0xc6823.localization('Network Error')+''; + renderErrorPage(_0x2d06a9, _0x3787ba, _0xc6823); }), clearInterval(_0x1c9c57), _0x4d7024.romdb = _0x4e171c; } }, 0x1f4); @@ -3827,30 +3828,12 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { inputLocation = _0x2593da.getCoreOptionsValues()['joystick-input']; } if (inputLocation === 'd-pad') { - return { - downVal: 1, - 4: 4, - 5: 5, - 6: 6, - 7: 7 - } + return {downVal:1,4:4,5:5,6:6,7:7}; } else { - return { - downVal: 0x7fff, - 4: 19, - 5: 18, - 6: 17, - 7: 16 - } + return {downVal:0x7fff,4:19,5:18,6:17,7:16}; } } else { - return { - downVal: 1, - 4: 4, - 5: 5, - 6: 6, - 7: 7 - } + return {downVal:1,4:4,5:5,6:6,7:7}; } } _0x17edbf.on('end', function(_0x27f006, _0x1fb527) { @@ -3885,92 +3868,28 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { _0x2ae626.stopPropagation(); }); } - _0x1093f4.call(this, _0x530042.call(this, '.' .concat(_0x2c1832, ' .').concat(_0x449eac({ - 'b_a': true - }))), 'touchstart touchend mousedown mouseup mouseout', function(_0x185083) { - ['touchend', 'mouseup', 'mouseout'].includes(_0x185083.type) ? (_0x3a8e2f(_0x185083.target, _0x2ec721, !0x1), window.setTimeout(function() { - _0x378b5c.syncInput(0x0, 0x8, 0x0); - }, 0x1e)) : (_0x3a8e2f(_0x185083.target, _0x2ec721, true), _0x378b5c.syncInput(0x0, 0x8, 0x1)), _0x185083.stopPropagation(); + [ + {id: {"b_a":true},number: 8}, + {id: {"b_b":true},number: 0}, + {id: {"b_x":true},number: 9}, + {id: {"b_y":true},number: 1}, + {id: {"b_l":true},number: 10}, + {id: {"b_z":true},number: 12}, + {id: {"b_r":true},number: 11}, + {id: {"b_start":true},number: 3}, + {id: {"b_select":true},number: 2}, + {id: {"b_cu":true},number: 23}, + {id: {"b_cd":true},number: 22}, + {id: {"b_cl":true},number: 21}, + {id: {"b_cr":true},number: 20} + ].forEach((a) => { + _0x1093f4.call(this, _0x530042.call(this, '.'.concat(_0x2c1832, ' .').concat(_0x449eac(a.id))), + 'touchstart touchend mousedown mouseup mouseout', function(e) { + ['touchend', 'mouseup', 'mouseout'].includes(e.type) ? (_0x3a8e2f(e.target, _0x2ec721, false), window.setTimeout(function() { + _0x378b5c.syncInput(0, a.number, 0); + }, 30)) : (_0x3a8e2f(e.target, _0x2ec721, true), _0x378b5c.syncInput(0, a.number, 1)), e.stopPropagation(); + }) }); - _0x1093f4.call(this, _0x530042.call(this, '.' .concat(_0x2c1832, ' .').concat(_0x449eac({ - 'b_b': true - }))), 'touchstart touchend mousedown mouseup mouseout', function(_0x213c3d) { - ['touchend', 'mouseup', 'mouseout'].includes(_0x213c3d.type) ? (_0x3a8e2f(_0x213c3d.target, _0x2ec721, !0x1), window.setTimeout(function() { - _0x378b5c.syncInput(0x0, 0x0, 0x0); - }, 0x1e)) : (_0x3a8e2f(_0x213c3d.target, _0x2ec721, true), _0x378b5c.syncInput(0x0, 0x0, 0x1)), _0x213c3d.stopPropagation(); - }); - _0x1093f4.call(this, _0x530042.call(this, '.' .concat(_0x2c1832, ' .').concat(_0x449eac({ - 'b_x': true - }))), 'touchstart touchend mousedown mouseup mouseout', function(_0x5ce708) { - ['touchend', 'mouseup', 'mouseout'].includes(_0x5ce708.type) ? (_0x3a8e2f(_0x5ce708.target, _0x2ec721, !0x1), window.setTimeout(function() { - _0x378b5c.syncInput(0x0, 0x9, 0x0); - }, 0x1e)) : (_0x3a8e2f(_0x5ce708.target, _0x2ec721, true), _0x378b5c.syncInput(0x0, 0x9, 0x1)), _0x5ce708.stopPropagation(); - }); - _0x1093f4.call(this, _0x530042.call(this, '.' .concat(_0x2c1832, ' .').concat(_0x449eac({ - 'b_y': true - }))), 'touchstart touchend mousedown mouseup mouseout', function(_0x1cfae6) { - ['touchend', 'mouseup', 'mouseout'].includes(_0x1cfae6.type) ? (_0x3a8e2f(_0x1cfae6.target, _0x2ec721, !0x1), window.setTimeout(function() { - _0x378b5c.syncInput(0x0, 0x1, 0x0); - }, 0x1e)) : (_0x3a8e2f(_0x1cfae6.target, _0x2ec721, true), _0x378b5c.syncInput(0x0, 0x1, 0x1)), _0x1cfae6.stopPropagation(); - }); - _0x1093f4.call(this, _0x530042.call(this, '.' .concat(_0x2c1832, ' .').concat(_0x449eac({ - 'b_l': true - }))), 'touchstart touchend mousedown mouseup mouseout', function(_0x1a50ab) { - ['touchend', 'mouseup', 'mouseout'].includes(_0x1a50ab.type) ? (_0x3a8e2f(_0x1a50ab.target, _0x2ec721, !0x1), window.setTimeout(function() { - _0x378b5c.syncInput(0x0, 0xa, 0x0); - }, 0x1e)) : (_0x3a8e2f(_0x1a50ab.target, _0x2ec721, true), _0x378b5c.syncInput(0x0, 0xa, 0x1)), _0x1a50ab.stopPropagation(); - }); - _0x1093f4.call(this, _0x530042.call(this, '.' .concat(_0x2c1832, ' .').concat(_0x449eac({ - 'b_z': true - }))), 'touchstart touchend mousedown mouseup mouseout', function(_0x1a50ab) { - ['touchend', 'mouseup', 'mouseout'].includes(_0x1a50ab.type) ? (_0x3a8e2f(_0x1a50ab.target, _0x2ec721, !0x1), window.setTimeout(function() { - _0x378b5c.syncInput(0x0, 12, 0x0); - }, 0x1e)) : (_0x3a8e2f(_0x1a50ab.target, _0x2ec721, true), _0x378b5c.syncInput(0x0, 12, 0x1)), _0x1a50ab.stopPropagation(); - }); - _0x1093f4.call(this, _0x530042.call(this, '.' .concat(_0x2c1832, ' .').concat(_0x449eac({ - 'b_r': true - }))), 'touchstart touchend mousedown mouseup mouseout', function(_0x3b8139) { - ['touchend', 'mouseup', 'mouseout'].includes(_0x3b8139.type) ? (_0x3a8e2f(_0x3b8139.target, _0x2ec721, !0x1), window.setTimeout(function() { - _0x378b5c.syncInput(0x0, 0xb, 0x0); - }, 0x1e)) : (_0x3a8e2f(_0x3b8139.target, _0x2ec721, true), _0x378b5c.syncInput(0x0, 0xb, 0x1)), _0x3b8139.stopPropagation(); - }); - _0x1093f4.call(this, _0x530042.call(this, '.' .concat(_0x2c1832, ' .').concat(_0x449eac({ - 'b_start': true - }))), 'touchstart touchend mousedown mouseup mouseout', function(_0x47af91) { - ['touchend', 'mouseup', 'mouseout'].includes(_0x47af91.type) ? (_0x3a8e2f(_0x47af91.target, _0x2ec721, !0x1), window.setTimeout(function() { - _0x378b5c.syncInput(0x0, 0x3, 0x0); - }, 0x1e)) : (_0x3a8e2f(_0x47af91.target, _0x2ec721, true), _0x378b5c.syncInput(0x0, 0x3, 0x1)), _0x47af91.stopPropagation(); - }); - - _0x1093f4.call(this, _0x530042.call(this, '.' .concat(_0x2c1832, ' .').concat(_0x449eac({ - 'b_cu': true - }))), 'touchstart touchend mousedown mouseup mouseout', function(_0x47af91) { - ['touchend', 'mouseup', 'mouseout'].includes(_0x47af91.type) ? (_0x3a8e2f(_0x47af91.target, _0x2ec721, !0x1), window.setTimeout(function() { - _0x378b5c.syncInput(0, 23, 0); - }, 0x1e)) : (_0x3a8e2f(_0x47af91.target, _0x2ec721, true), _0x378b5c.syncInput(0, 23, 0x7fff)), _0x47af91.stopPropagation(); - }); - _0x1093f4.call(this, _0x530042.call(this, '.' .concat(_0x2c1832, ' .').concat(_0x449eac({ - 'b_cd': true - }))), 'touchstart touchend mousedown mouseup mouseout', function(_0x47af91) { - ['touchend', 'mouseup', 'mouseout'].includes(_0x47af91.type) ? (_0x3a8e2f(_0x47af91.target, _0x2ec721, !0x1), window.setTimeout(function() { - _0x378b5c.syncInput(0, 22, 0); - }, 0x1e)) : (_0x3a8e2f(_0x47af91.target, _0x2ec721, true), _0x378b5c.syncInput(0, 22, 0x7fff)), _0x47af91.stopPropagation(); - }); - _0x1093f4.call(this, _0x530042.call(this, '.' .concat(_0x2c1832, ' .').concat(_0x449eac({ - 'b_cl': true - }))), 'touchstart touchend mousedown mouseup mouseout', function(_0x47af91) { - ['touchend', 'mouseup', 'mouseout'].includes(_0x47af91.type) ? (_0x3a8e2f(_0x47af91.target, _0x2ec721, !0x1), window.setTimeout(function() { - _0x378b5c.syncInput(0, 21, 0); - }, 0x1e)) : (_0x3a8e2f(_0x47af91.target, _0x2ec721, true), _0x378b5c.syncInput(0, 21, 0x7fff)), _0x47af91.stopPropagation(); - }); - _0x1093f4.call(this, _0x530042.call(this, '.' .concat(_0x2c1832, ' .').concat(_0x449eac({ - 'b_cr': true - }))), 'touchstart touchend mousedown mouseup mouseout', function(_0x47af91) { - ['touchend', 'mouseup', 'mouseout'].includes(_0x47af91.type) ? (_0x3a8e2f(_0x47af91.target, _0x2ec721, !0x1), window.setTimeout(function() { - _0x378b5c.syncInput(0, 20, 0); - }, 0x1e)) : (_0x3a8e2f(_0x47af91.target, _0x2ec721, true), _0x378b5c.syncInput(0, 20, 0x7fff)), _0x47af91.stopPropagation(); - }); - var hideTimeout; _0x1093f4.call(this, _0x530042.call(this, '.' .concat(_0x2c1832, ' .').concat(_0x449eac({ 'b_c': true @@ -3986,13 +3905,6 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { }, 5000) } }); - _0x1093f4.call(this, _0x530042.call(this, '.' .concat(_0x2c1832, ' .').concat(_0x449eac({ - 'b_select': true - }))), 'touchstart touchend mousedown mouseup mouseout', function(_0x37f594) { - ['touchend', 'mouseup', 'mouseout'].includes(_0x37f594.type) ? (_0x3a8e2f(_0x37f594.target, _0x2ec721, !0x1), window.setTimeout(function() { - _0x378b5c.syncInput(0x0, 0x2, 0x0); - }, 0x1e)) : (_0x3a8e2f(_0x37f594.target, _0x2ec721, true), _0x378b5c.syncInput(0x0, 0x2, 0x1)), _0x37f594.stopPropagation(); - }); } else _0x132da7(_0x378b5c.virtualGamepadContainer, !_0x1ed80b); }, 'setup': function() { @@ -4070,7 +3982,7 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { } if (! _0xa88a13.recordData.started) { //start recording if (MediaRecorder.isTypeSupported('video/webm; codecs=h264')) { - var options = {mimeType: 'video/webm; codecs=h264'}; // video/webm; codecs=h264,opus + var options = {mimeType: 'video/webm; codecs=h264'}; } else if (MediaRecorder.isTypeSupported('video/webm; codecs=H264')) { var options = {mimeType: 'video/webm; codecs=H264'}; } else if (MediaRecorder.isTypeSupported('video/webm; codecs=vp9')) { @@ -4087,7 +3999,9 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { var options = {}; } function gotStreams(stream) { - _0xa88a13.elements.buttons.screenRecord.getElementsByClassName('ejs--74c6d4176d27e37a19d2e9e61de8f4')[0].innerHTML = _0xa88a13.localization('Stop Screen Recording'); + _0xa88a13.elements.buttons.screenRecord.querySelector('.'.concat(_0x449eac({ + 'ejs__tooltip': true + }))).innerHTML = _0xa88a13.localization('Stop Screen Recording'); _0xa88a13.recordData.stream = stream; _0xa88a13.recordData.recorder = new MediaRecorder(_0xa88a13.recordData.stream, options); _0xa88a13.recordData.recorder.ondataavailable = function(e) { @@ -4104,7 +4018,9 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { a.click() window.URL.revokeObjectURL(a.href) delete _0xa88a13.recordData - _0xa88a13.elements.buttons.screenRecord.getElementsByClassName('ejs--74c6d4176d27e37a19d2e9e61de8f4')[0].innerHTML = _0xa88a13.localization('Start Screen Recording'); + _0xa88a13.elements.buttons.screenRecord.querySelector('.'.concat(_0x449eac({ + 'ejs__tooltip': true + }))).innerHTML = _0xa88a13.localization('Start Screen Recording'); } } _0xa88a13.recordData.recorder.start() @@ -5622,16 +5538,20 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { 'ejs__contextmenu': true }), ' ul')); if (_0x4b9d55) { - _0x7f9f36.contextMenu.style.display = 'block', _0x7f9f36.contextMenu.style.left = '' .concat(_0x24b1f3.layerX, 'px'), _0x7f9f36.contextMenu.style.top = '' .concat(_0x24b1f3.layerY, 'px'); + _0x7f9f36.contextMenu.style.display = 'block'; + _0x7f9f36.contextMenu.style.left = ''.concat(_0x24b1f3.layerX, 'px'); + _0x7f9f36.contextMenu.style.top = ''.concat(_0x24b1f3.layerY, 'px'); var _0x1b48e7 = _0x23ffa1.call(this, '.' .concat(_0x449eac({ 'ejs__contextmenu': true }), ' ul li')); - if (Array.from(_0x1b48e7).forEach(function(_0x228a1f, _0x123a07) {}), null === _0x2a1dda.getAttribute('menu')) { + if (null === _0x2a1dda.getAttribute('menu')) { var _0x14264d = _0x428003('li', {}); _0x14264d.appendChild(_0x428003('a', { 'target': '_blank', 'href': 'https://github.com/ethanaobrien/emulatorjs' - }, 'EmulatorJS v' .concat(this.version))), _0x2a1dda.appendChild(_0x14264d), _0x2a1dda.setAttribute('menu', ''); + }, 'EmulatorJS v' .concat(this.version))); + _0x2a1dda.appendChild(_0x14264d); + _0x2a1dda.setAttribute('menu', ''); } _0x2c1832 && clearTimeout(_0x2c1832), _0x2c1832 = setTimeout(function() {}, 0xfa0), _0x7f9f36.contextMenu.timer = _0x2c1832; } else _0x7f9f36.contextMenu.style.display = 'none'; @@ -5736,7 +5656,8 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { }); _0x530042.call(this, '.' .concat(_0x449eac({ 'ejs__dialogs': true - }))).appendChild(_0x2c1832), this.elements.dialogs.cache = _0x2c1832; + }))).appendChild(_0x2c1832); + this.elements.dialogs.cache = _0x2c1832; var _0x3c66db = _0x428003('div', { 'class': _0x449eac({ 'ejs__dialog': true, @@ -5773,7 +5694,9 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { 'step': 0.01, 'value': this.config.volume }; - _0xd299b.appendChild(_0x7f9f36.createRange.call(this, 'volume', _0x5dc0c0(_0x4bbcd0, {}))), this.elements.volume = _0xd299b, _0x17edbf.appendChild(_0xd299b); + _0xd299b.appendChild(_0x7f9f36.createRange.call(this, 'volume', _0x5dc0c0(_0x4bbcd0, {}))); + this.elements.volume = _0xd299b; + _0x17edbf.appendChild(_0xd299b); var _0x2746ab = _0x428003('div', { 'class': _0x449eac({ 'ejs__menu': true @@ -6314,7 +6237,7 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { var a = function(_0x154660, _0x15626f) { if (!(_0x154660 instanceof _0x15626f)) throw new TypeError('Cannot call a class as a function'); }(this, _0x6954aa); - this.version = '1.1.2'; + this.version = '1.1.5'; this.system = ''; this.adUrl = null; this.gameName = null; @@ -6342,11 +6265,9 @@ window.EJS_main = function(_0xa88a13, _0x17edbf, _0x2c1832) { /*if (['dos'].includes(core)) { return 2; }*/ - if (useBeta === true) { - if (window.WebAssembly) { - var supportedCores = ['nes', 'snes', 'gb', 'nds']; - return supportedCores.includes(core) ? 2 : 1; - } + if (useBeta === true && window.WebAssembly) { + var supportedCores = ['nes', 'snes', 'gb', 'nds']; + return supportedCores.includes(core) ? 2 : 1; } return 1; }(this.config.system, this.config.useBeta); // 2 = beta cores, 1 = old cores diff --git a/data/emu-min.js b/data/emu-min.js index 9b7e664..018adb1 100644 --- a/data/emu-min.js +++ b/data/emu-min.js @@ -1 +1 @@ -var EJS=function(n){window.EJS_MODULES=n;var o={},a=[];function i(e){if(o[e])return o[e].exports;a.push(e);var t=o[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}return window.aba=function(){return a.sort(function(e,t){return te.length)&&(n=e.length),n-=t.length;e=e.indexOf(t,n);return-1!==e&&e===n},toArray:function(e){if(!e)return null;var t=e.length;if(l(t))return null;for(var n=new Array(t);0>16&255,a[i++]=t>>8&255,a[i++]=255&t;return 2===n&&(t=c[e.charCodeAt(s)]<<2|c[e.charCodeAt(s+1)]>>4,a[i++]=255&t),1===n&&(t=c[e.charCodeAt(s)]<<10|c[e.charCodeAt(s+1)]<<4|c[e.charCodeAt(s+2)]>>2,a[i++]=t>>8&255,a[i++]=255&t),a},n.fromByteArray=function(e){for(var t,n=e.length,o=n%3,a=[],i=0,r=n-o;i>18&63]+s[o>>12&63]+s[o>>6&63]+s[63&o]);return a.join("")}(e,i,r>2]+s[t<<4&63]+"==")):2==o&&(t=(e[n-2]<<8)+e[n-1],a.push(s[t>>10]+s[t>>4&63]+s[t<<2&63]+"=")),a.join("")};for(var s=[],c=[],l="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,i=o.length;a>>1;case"base64":return S(e).length;default:if(a)return o?-1:_(e).length;t=(""+t).toLowerCase(),a=!0}}function n(e,t,n){var o=e[t];e[t]=e[n],e[n]=o}function s(e,t,n,o,a){if(0===e.length)return-1;if("string"==typeof n?(o=n,n=0):2147483647=e.length){if(a)return-1;n=e.length-1}else if(n<0){if(!a)return-1;n=0}if("string"==typeof t&&(t=u.from(t,o)),u.isBuffer(t))return 0===t.length?-1:c(e,t,n,o,a);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?(a?Uint8Array.prototype.indexOf:Uint8Array.prototype.lastIndexOf).call(e,t,n):c(e,[t],n,o,a);throw new TypeError("val must be string, number or Buffer")}function c(e,t,n,o,a){var i=1,r=e.length,s=t.length;if(void 0!==o&&("ucs2"===(o=String(o).toLowerCase())||"ucs-2"===o||"utf16le"===o||"utf-16le"===o)){if(e.length<2||t.length<2)return-1;r/=i=2,s/=2,n/=2}function c(e,t){return 1===i?e[t]:e.readUInt16BE(t*i)}if(a)for(var l=-1,d=n;d>>10&1023|55296),d=56320|1023&d),o.push(d),a+=u}var f=o,p=f.length;if(p<=g)return String.fromCharCode.apply(String,f);for(var h="",m=0;mthis.length)return"";if((n=void 0===n||n>this.length?this.length:n)<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e=e||"utf8";;)switch(e){case"hex":var i=this,r=t,s=n,c=i.length;(!s||s<0||ct&&(e+=" ... "),""},u.prototype.compare=function(e,t,n,o,a){if(A(e,Uint8Array)&&(e=u.from(e,e.offset,e.byteLength)),!u.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===n&&(n=e?e.length:0),void 0===o&&(o=0),void 0===a&&(a=this.length),(t=void 0===t?0:t)<0||n>e.length||o<0||a>this.length)throw new RangeError("out of range index");if(a<=o&&n<=t)return 0;if(a<=o)return-1;if(n<=t)return 1;if(this===e)return 0;for(var i=(a>>>=0)-(o>>>=0),r=(n>>>=0)-(t>>>=0),s=Math.min(i,r),c=this.slice(o,a),l=e.slice(t,n),d=0;d>>=0,isFinite(n)?(n>>>=0,void 0===o&&(o="utf8")):(o=n,n=void 0)}var a=this.length-t;if((void 0===n||athis.length)throw new RangeError("Attempt to write outside buffer bounds");o=o||"utf8";for(var i,r,s,c,l,d=!1;;)switch(o){case"hex":var u=this,f=e,p=t,h=n,m=(p=Number(p)||0,u.length-p);(!h||(h=Number(h))>m)&&(h=m),(m=f.length)/2>8,a.push(n%256),a.push(o);return a}(e,(i=this).length-s),i,s,r);default:if(d)throw new TypeError("Unknown encoding: "+o);o=(""+o).toLowerCase(),d=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var g=4096;function l(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(ne.length)throw new RangeError("Index out of range")}function b(e,t,n,o){if(n+o>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function v(e,t,n,o,a){return t=+t,n>>>=0,a||b(e,0,n,4),i.write(e,t,n,o,23,4),n+4}function w(e,t,n,o,a){return t=+t,n>>>=0,a||b(e,0,n,8),i.write(e,t,n,o,52,8),n+8}u.prototype.slice=function(e,t){var n=this.length,n=((e=~~e)<0?(e+=n)<0&&(e=0):n>>=0,t>>>=0,n||l(e,t,this.length);for(var o=this[e],a=1,i=0;++i>>=0,t>>>=0,n||l(e,t,this.length);for(var o=this[e+--t],a=1;0>>=0,t||l(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return e>>>=0,t||l(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return e>>>=0,t||l(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return e>>>=0,t||l(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function(e,t){return e>>>=0,t||l(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||l(e,t,this.length);for(var o=this[e],a=1,i=0;++i=(a*=128)&&(o-=Math.pow(2,8*t)),o},u.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||l(e,t,this.length);for(var o=t,a=1,i=this[e+--o];0=(a*=128)&&(i-=Math.pow(2,8*t)),i},u.prototype.readInt8=function(e,t){return e>>>=0,t||l(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){e>>>=0,t||l(e,2,this.length);t=this[e]|this[e+1]<<8;return 32768&t?4294901760|t:t},u.prototype.readInt16BE=function(e,t){e>>>=0,t||l(e,2,this.length);t=this[e+1]|this[e]<<8;return 32768&t?4294901760|t:t},u.prototype.readInt32LE=function(e,t){return e>>>=0,t||l(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return e>>>=0,t||l(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return e>>>=0,t||l(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return e>>>=0,t||l(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return e>>>=0,t||l(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return e>>>=0,t||l(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,n,o){e=+e,t>>>=0,n>>>=0,o||m(this,e,t,n,Math.pow(2,8*n)-1,0);var a=1,i=0;for(this[t]=255&e;++i>>=0,n>>>=0,o||m(this,e,t,n,Math.pow(2,8*n)-1,0);var a=n-1,i=1;for(this[t+a]=255&e;0<=--a&&(i*=256);)this[t+a]=e/i&255;return t+n},u.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||m(this,e,t,1,255,0),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||m(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||m(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||m(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||m(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},u.prototype.writeIntLE=function(e,t,n,o){e=+e,t>>>=0,o||m(this,e,t,n,(o=Math.pow(2,8*n-1))-1,-o);var a=0,i=1,r=0;for(this[t]=255&e;++a>0)-r&255;return t+n},u.prototype.writeIntBE=function(e,t,n,o){e=+e,t>>>=0,o||m(this,e,t,n,(o=Math.pow(2,8*n-1))-1,-o);var a=n-1,i=1,r=0;for(this[t+a]=255&e;0<=--a&&(i*=256);)e<0&&0===r&&0!==this[t+a+1]&&(r=1),this[t+a]=(e/i>>0)-r&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||m(this,e,t,1,127,-128),this[t]=255&(e=e<0?255+e+1:e),t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||m(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||m(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||m(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||m(this,e,t,4,2147483647,-2147483648),this[t]=(e=e<0?4294967295+e+1:e)>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},u.prototype.writeFloatLE=function(e,t,n){return v(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return v(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return w(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return w(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,o){if(!u.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n=n||0,o||0===o||(o=this.length),t>=e.length&&(t=e.length),(o=0=this.length)throw new RangeError("Index out of range");if(o<0)throw new RangeError("sourceEnd out of bounds");o>this.length&&(o=this.length);var a=(o=e.length-t>>=0,n=void 0===n?this.length:n>>>0,"number"==typeof(e=e||0))for(i=t;i>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function S(e){return T.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(x,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function E(e,t,n,o){for(var a=0;a=t.length||a>=e.length);++a)t[a+n]=e[a];return a}function A(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function k(e){return e!=e}}.call(this)}.call(this,O("buffer").Buffer)},{"base64-js":2,buffer:3,ieee754:4}],4:[function(e,t,n){n.read=function(e,t,n,o,a){var i,r,s=8*a-o-1,c=(1<>1,d=-7,u=n?a-1:0,f=n?-1:1,a=e[t+u];for(u+=f,i=a&(1<<-d)-1,a>>=-d,d+=s;0>=-d,d+=o;0>1,u=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,f=o?0:i-1,p=o?1:-1,i=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,r=l):(r=Math.floor(Math.log(t)/Math.LN2),t*(o=Math.pow(2,-r))<1&&(r--,o*=2),2<=(t+=1<=r+d?u/o:u*Math.pow(2,1-d))*o&&(r++,o/=2),l<=r+d?(s=0,r=l):1<=r+d?(s=(t*o-1)*Math.pow(2,a),r+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,a),r=0));8<=a;e[n+f]=255&s,f+=p,s/=256,a-=8);for(r=r<=this._reconnectionAttempts?(d("reconnect failed"),this.backoff.reset(),this.emitAll("reconnect_failed"),this.reconnecting=!1):(e=this.backoff.duration(),d("will wait %dms before reconnect attempt",e),this.reconnecting=!0,t=setTimeout(function(){n.skipReconnect||(d("attempting reconnect"),n.emitAll("reconnect_attempt",n.backoff.attempts),n.emitAll("reconnecting",n.backoff.attempts),n.skipReconnect||n.open(function(e){e?(d("reconnect attempt error"),n.reconnecting=!1,n.reconnect(),n.emitAll("reconnect_error",e.data)):(d("reconnect success"),n.onreconnect())}))},e),this.subs.push({destroy:function(){clearTimeout(t)}}))},p.prototype.onreconnect=function(){var e=this.backoff.attempts;this.reconnecting=!1,this.backoff.reset(),this.updateSocketIds(),this.emitAll("reconnect",e)}},function(e,t,n){var r=n(106),s=n(381),c=n(390),n=n(391);t.polling=function(e){var t,n,o=!1,a=!1,i=!1!==e.jsonp;if("undefined"!=typeof location&&(t="https:"===location.protocol,n=(n=location.port)||(t?443:80),o=e.hostname!==location.hostname||n!==e.port,a=e.secure!==t),e.xdomain=o,e.xscheme=a,"open"in new r(e)&&!e.forceJSONP)return new s(e);if(i)return new c(e);throw new Error("JSONP disabled")},t.websocket=n},function(e,t,n){var o=n(107),a=n(75),i=n(51),r=n(76),s=n(152),c=n(77)("engine.io-client:polling"),l=(e.exports=d,null!=new(n(106))({xdomain:!1}).responseType);function d(e){var t=e&&e.forceBase64;l&&!t||(this.supportsBinary=!1),o.call(this,e)}r(d,o),d.prototype.name="polling",d.prototype.doOpen=function(){this.poll()},d.prototype.pause=function(e){var t,n=this;function o(){c("paused"),n.readyState="paused",e()}this.readyState="pausing",this.polling||!this.writable?(t=0,this.polling&&(c("we are currently polling - waiting to pause"),t++,this.once("pollComplete",function(){c("pre-pause polling complete"),--t||o()})),this.writable||(c("we are currently writing - waiting to pause"),t++,this.once("drain",function(){c("pre-pause writing complete"),--t||o()}))):o()},d.prototype.poll=function(){c("polling"),this.polling=!0,this.doPoll(),this.emit("poll")},d.prototype.onData=function(e){var o=this;c("polling got data %s",e),i.decodePayload(e,this.socket.binaryType,function(e,t,n){if("opening"===o.readyState&&o.onOpen(),"close"===e.type)return o.onClose(),!1;o.onPacket(e)}),"closed"!==this.readyState&&(this.polling=!1,this.emit("pollComplete"),"open"===this.readyState?this.poll():c('ignoring poll - transport state "%s"',this.readyState))},d.prototype.doClose=function(){var e=this;function t(){c("writing close packet"),e.write([{type:"close"}])}"open"===this.readyState?(c("transport open - closing"),t()):(c("transport not open - deferring close"),this.once("open",t))},d.prototype.write=function(e){function t(){n.writable=!0,n.emit("drain")}var n=this;this.writable=!1;i.encodePayload(e,this.supportsBinary,function(e){n.doWrite(e,t)})},d.prototype.uri=function(){var e=this.query||{},t=this.secure?"https":"http",n="";return!1!==this.timestampRequests&&(e[this.timestampParam]=s()),this.supportsBinary||e.sid||(e.b64=1),e=a.encode(e),this.port&&("https"==t&&443!==Number(this.port)||"http"==t&&80!==Number(this.port))&&(n=":"+this.port),e.length&&(e="?"+e),t+"://"+(-1!==this.hostname.indexOf(":")?"["+this.hostname+"]":this.hostname)+n+this.path+e}},function(t,e,n){!function(i){var e=Object.prototype.toString,r="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===e.call(Blob),s="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===e.call(File);t.exports=function e(t){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t)){for(var n=0,o=t.length;nthis.options.threshold){var s={};for(c in this.direction)this.direction.hasOwnProperty(c)&&(s[c]=this.direction[c]);var c,l={};for(c in this.direction={x:n,y:o,angle:t},e.direction=this.direction,s)s[c]===this.direction[c]&&(l[c]=!0);if(l.x&&l.y&&l.angle)return e;l.x&&l.y||this.trigger("plain",e),l.x||this.trigger("plain:"+n,e),l.y||this.trigger("plain:"+o,e),l.angle||this.trigger("dir dir:"+t,e)}return e},o.prototype=new e,(o.constructor=o).id=0,o.prototype.prepareNipples=function(){var e=this,o=e.nipples;o.on=e.on.bind(e),o.off=e.off.bind(e),o.options=e.options,o.destroy=e.destroy.bind(e),o.ids=e.ids,o.id=e.id,o.processOnMove=e.processOnMove.bind(e),o.processOnEnd=e.processOnEnd.bind(e),o.get=function(e){if(void 0===e)return o[0];for(var t=0,n=o.length;t