===========================================================
                                      .___ __  __   
          _________________  __ __  __| _/|__|/  |_ 
         / ___\_` __ \__  \ |  |  \/ __ | | \\_  __\
        / /_/  >  | \// __ \|  |  / /_/ | |  ||  |  
        \___  /|__|  (____  /____/\____ | |__||__|  
       /_____/            \/           \/           
              grep rough audit - static analysis tool
                  v2.8 written by @Wireghoul
=================================[justanotherhacker.com]===
odoo-14.0.0+dfsg/addons/crm/models/crm_lead.py-1429-                if email and self.email_from and email.lower() == self.email_from.lower():
odoo-14.0.0+dfsg/addons/crm/models/crm_lead.py:1430:                    partner_info['full_name'] = tools.formataddr((self.contact_name or self.partner_name, email))
odoo-14.0.0+dfsg/addons/crm/models/crm_lead.py-1431-                    break
##############################################
odoo-14.0.0+dfsg/addons/crm/tests/common.py-173-            for idx, lead_data in enumerate(leads_data):
odoo-14.0.0+dfsg/addons/crm/tests/common.py:174:                lead_data['email_from'] = tools.formataddr((
odoo-14.0.0+dfsg/addons/crm/tests/common.py-175-                    'TestCustomer_%02d' % (idx),
##############################################
odoo-14.0.0+dfsg/addons/google_recaptcha/static/src/js/recaptcha.js-23-        if (this._publicKey) {
odoo-14.0.0+dfsg/addons/google_recaptcha/static/src/js/recaptcha.js:24:            this._recaptchaReady = ajax.loadJS(`https://www.recaptcha.net/recaptcha/api.js?render=${this._publicKey}`)
odoo-14.0.0+dfsg/addons/google_recaptcha/static/src/js/recaptcha.js-25-                .then(() => new Promise(resolve => window.grecaptcha.ready(() => resolve())));
##############################################
odoo-14.0.0+dfsg/addons/hr/static/src/models/employee/employee.js-164-        static _createRecordLocalId(data) {
odoo-14.0.0+dfsg/addons/hr/static/src/models/employee/employee.js:165:            return `${this.modelName}_${data.id}`;
odoo-14.0.0+dfsg/addons/hr/static/src/models/employee/employee.js-166-        }
##############################################
odoo-14.0.0+dfsg/addons/hr/static/tests/many2one_avatar_employee_tests.js-70-                if (args.method === 'read') {
odoo-14.0.0+dfsg/addons/hr/static/tests/many2one_avatar_employee_tests.js:71:                    assert.step(`read ${args.model} ${args.args[0]}`);
odoo-14.0.0+dfsg/addons/hr/static/tests/many2one_avatar_employee_tests.js-72-                }
##############################################
odoo-14.0.0+dfsg/addons/hr/static/tests/many2one_avatar_employee_tests.js-178-                if (args.method === 'read') {
odoo-14.0.0+dfsg/addons/hr/static/tests/many2one_avatar_employee_tests.js:179:                    assert.step(`read ${args.model} ${args.args[0]}`);
odoo-14.0.0+dfsg/addons/hr/static/tests/many2one_avatar_employee_tests.js-180-                }
##############################################
odoo-14.0.0+dfsg/addons/hr/static/tests/many2one_avatar_employee_tests.js-187-            if (ev.data.service === 'notification') {
odoo-14.0.0+dfsg/addons/hr/static/tests/many2one_avatar_employee_tests.js:188:                assert.step(`display notification "${ev.data.args[0].message}"`);
odoo-14.0.0+dfsg/addons/hr/static/tests/many2one_avatar_employee_tests.js-189-            }
##############################################
odoo-14.0.0+dfsg/addons/hr_recruitment/models/hr_recruitment.py-404-                if applicant.partner_name:
odoo-14.0.0+dfsg/addons/hr_recruitment/models/hr_recruitment.py:405:                    email_from = tools.formataddr((applicant.partner_name, email_from))
odoo-14.0.0+dfsg/addons/hr_recruitment/models/hr_recruitment.py-406-                applicant._message_add_suggested_recipient(recipients, email=email_from, reason=_('Contact Email'))
##############################################
odoo-14.0.0+dfsg/addons/http_routing/geoipresolver.py-43-        if self.version == 1:
odoo-14.0.0+dfsg/addons/http_routing/geoipresolver.py:44:            return self._db.record_by_addr(ip) or {}
odoo-14.0.0+dfsg/addons/http_routing/geoipresolver.py-45-        elif self.version == 2:
##############################################
odoo-14.0.0+dfsg/addons/http_routing/geoipresolver.py-62-    # compat
odoo-14.0.0+dfsg/addons/http_routing/geoipresolver.py:63:    def record_by_addr(self, addr):
odoo-14.0.0+dfsg/addons/http_routing/geoipresolver.py-64-        return self.resolve(addr)
##############################################
odoo-14.0.0+dfsg/addons/im_livechat/static/src/js/im_livechat_channel_form_controller.js-21-        for (const name in colorValues) {
odoo-14.0.0+dfsg/addons/im_livechat/static/src/js/im_livechat_channel_form_controller.js:22:            this.$(`[name="${name}"] .o_field_color`).css('background-color', colorValues[name]);
odoo-14.0.0+dfsg/addons/im_livechat/static/src/js/im_livechat_channel_form_controller.js-23-        }
##############################################
odoo-14.0.0+dfsg/addons/im_livechat/static/src/models/thread/thread.js-82-            if (this.correspondent.country) {
odoo-14.0.0+dfsg/addons/im_livechat/static/src/models/thread/thread.js:83:                return `${this.correspondent.nameOrDisplayName} (${this.correspondent.country.name})`;
odoo-14.0.0+dfsg/addons/im_livechat/static/src/models/thread/thread.js-84-            }
##############################################
odoo-14.0.0+dfsg/addons/lunch/static/tests/lunch_test_utils.js-14-    params.archs = params.archs || {};
odoo-14.0.0+dfsg/addons/lunch/static/tests/lunch_test_utils.js:15:    var searchArch = params.archs[`${params.model},false,search`] || '<search></search>';
odoo-14.0.0+dfsg/addons/lunch/static/tests/lunch_test_utils.js-16-    var searchPanelArch = `
##############################################
odoo-14.0.0+dfsg/addons/lunch/static/tests/lunch_test_utils.js-22-    searchArch = searchArch.split('</search>')[0] + searchPanelArch + '</search>';
odoo-14.0.0+dfsg/addons/lunch/static/tests/lunch_test_utils.js:23:    params.archs[`${params.model},false,search`] = searchArch;
odoo-14.0.0+dfsg/addons/lunch/static/tests/lunch_test_utils.js-24-    if (!params.services || !params.services.local_storage) {
##############################################
odoo-14.0.0+dfsg/addons/mail/models/mail_channel.py-338-            return {
odoo-14.0.0+dfsg/addons/mail/models/mail_channel.py:339:                'email_to': ','.join(formataddr((partner.name, partner.email_normalized)) for partner in whitelist if partner.email_normalized),
odoo-14.0.0+dfsg/addons/mail/models/mail_channel.py-340-                'recipient_ids': [],
##############################################
odoo-14.0.0+dfsg/addons/mail/models/mail_mail.py-206-        if partner:
odoo-14.0.0+dfsg/addons/mail/models/mail_mail.py:207:            email_to = [tools.formataddr((partner.name or 'False', partner.email or 'False'))]
odoo-14.0.0+dfsg/addons/mail/models/mail_mail.py-208-        else:
##############################################
odoo-14.0.0+dfsg/addons/mail/models/mail_thread.py-678-        if bounce_from:
odoo-14.0.0+dfsg/addons/mail/models/mail_thread.py:679:            bounce_mail_values['email_from'] = tools.formataddr(('MAILER-DAEMON', bounce_from))
odoo-14.0.0+dfsg/addons/mail/models/mail_thread.py-680-        elif self.env['ir.config_parameter'].sudo().get_param("mail.catchall.alias") not in message['To']:
##############################################
odoo-14.0.0+dfsg/addons/mail/models/mail_thread.py-682-        else:
odoo-14.0.0+dfsg/addons/mail/models/mail_thread.py:683:            bounce_mail_values['email_from'] = tools.formataddr(('MAILER-DAEMON', self.env.user.email_normalized))
odoo-14.0.0+dfsg/addons/mail/models/mail_thread.py-684-        bounce_mail_values.update(mail_values)
##############################################
odoo-14.0.0+dfsg/addons/mail/models/mail_thread_cc.py-17-            return {}
odoo-14.0.0+dfsg/addons/mail/models/mail_thread_cc.py:18:        return {tools.email_normalize(email): tools.formataddr((name, tools.email_normalize(email)))
odoo-14.0.0+dfsg/addons/mail/models/mail_thread_cc.py-19-            for (name, email) in tools.email_split_tuples(cc_string)}
##############################################
odoo-14.0.0+dfsg/addons/mail/models/models.py-144-                name = '%s%s%s' % (company_name, ' ' if doc_names.get(res_id) else '', doc_names.get(res_id, ''))
odoo-14.0.0+dfsg/addons/mail/models/models.py:145:                result[res_id] = tools.formataddr((name, result_email[res_id]))
odoo-14.0.0+dfsg/addons/mail/models/models.py-146-
##############################################
odoo-14.0.0+dfsg/addons/mail/models/res_company.py-22-                company.catchall_email = '%s@%s' % (alias, domain)
odoo-14.0.0+dfsg/addons/mail/models/res_company.py:23:                company.catchall_formatted = tools.formataddr((company.name, company.catchall_email))
odoo-14.0.0+dfsg/addons/mail/models/res_company.py-24-        else:
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment/attachment.js-92-        }
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment/attachment.js:93:        return `background-image:url(/web/image/${this.attachment.id}/${size}/?crop=true);`;
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment/attachment.js-94-    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment/attachment.js-107-        ev.stopPropagation();
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment/attachment.js:108:        window.location = `/web/content/ir.attachment/${this.attachment.id}/datas?download=true`;
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment/attachment.js-109-    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment_viewer/attachment_viewer.js-102-        let style = `transform: ` +
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment_viewer/attachment_viewer.js:103:            `scale3d(${attachmentViewer.scale}, ${attachmentViewer.scale}, 1) ` +
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment_viewer/attachment_viewer.js:104:            `rotate(${attachmentViewer.angle}deg);`;
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment_viewer/attachment_viewer.js-105-
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment_viewer/attachment_viewer.js-107-            style += `` +
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment_viewer/attachment_viewer.js:108:                `max-height: ${window.innerWidth}px; ` +
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment_viewer/attachment_viewer.js:109:                `max-width: ${window.innerHeight}px;`;
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment_viewer/attachment_viewer.js-110-        } else {
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment_viewer/attachment_viewer.js-148-        const id = this.attachmentViewer.attachment.id;
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment_viewer/attachment_viewer.js:149:        this.env.services.navigate(`/web/content/ir.attachment/${id}/datas`, { download: true });
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment_viewer/attachment_viewer.js-150-    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment_viewer/attachment_viewer.js-275-        this._zoomerRef.el.style = `transform: ` +
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment_viewer/attachment_viewer.js:276:            `translate(${tx}px, ${ty}px)`;
odoo-14.0.0+dfsg/addons/mail/static/src/components/attachment_viewer/attachment_viewer.js-277-    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/autocomplete_input/autocomplete_input.js-48-        }
odoo-14.0.0+dfsg/addons/mail/static/src/components/autocomplete_input/autocomplete_input.js:49:        const element = document.querySelector(`.${this.props.customClass}`);
odoo-14.0.0+dfsg/addons/mail/static/src/components/autocomplete_input/autocomplete_input.js-50-        if (!element) {
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_hidden_menu/chat_window_hidden_menu.js-72-        const height = device.globalWindowInnerHeight / 2;
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_hidden_menu/chat_window_hidden_menu.js:73:        this._listRef.el.style['max-height'] = `${height}px`;
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_hidden_menu/chat_window_hidden_menu.js-74-    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_hidden_menu/chat_window_hidden_menu.js-83-        const offset = this.env.messaging.chatWindowManager.visual.hidden.offset;
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_hidden_menu/chat_window_hidden_menu.js:84:        this.el.style[offsetFrom] = `${offset}px`;
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_hidden_menu/chat_window_hidden_menu.js-85-        this.el.style[oppositeFrom] = 'auto';
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_manager/chat_window_manager_tests.js-464-            if (args.method === 'channel_fold') {
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_manager/chat_window_manager_tests.js:465:                assert.step(`rpc:${args.method}/${args.kwargs.state}`);
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_manager/chat_window_manager_tests.js-466-            }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_manager/chat_window_manager_tests.js-518-            if (args.method === 'channel_fold') {
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_manager/chat_window_manager_tests.js:519:                assert.step(`rpc:channel_fold/${args.kwargs.state}`);
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_manager/chat_window_manager_tests.js-520-            }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_manager/chat_window_manager_tests.js-580-            if (args.method === 'channel_fold') {
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_manager/chat_window_manager_tests.js:581:                assert.step(`rpc:channel_fold/${args.kwargs.state}`);
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_manager/chat_window_manager_tests.js-582-            }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_manager/chat_window_manager_tests.js-1852-                assert.strictEqual(channel_ids.length, 1, "messages should be fetched channel per channel");
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_manager/chat_window_manager_tests.js:1853:                assert.step(`rpc:message_fetch:${channel_ids[0]}`);
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_manager/chat_window_manager_tests.js-1854-            }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_manager/chat_window_manager_tests.js-1941-                assert.strictEqual(channel_uuid, 'channel-10-uuid', "chat window fold state should have been sent to server");
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_manager/chat_window_manager_tests.js:1942:                assert.step(`rpc:channel_fold:${channel_uuid}`);
odoo-14.0.0+dfsg/addons/mail/static/src/components/chat_window_manager/chat_window_manager_tests.js-1943-            }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/chatter_topbar/chatter_topbar.scss-9-    // We need the +1 to handle the status bar border-bottom.
odoo-14.0.0+dfsg/addons/mail/static/src/components/chatter_topbar/chatter_topbar.scss:10:    // The var is called `$o-statusbar-height`, but is used on button, therefore
odoo-14.0.0+dfsg/addons/mail/static/src/components/chatter_topbar/chatter_topbar.scss-11-    // doesn't include the border-bottom.
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/composer/composer_tests.js-1534-            if (args.method === 'notify_typing') {
odoo-14.0.0+dfsg/addons/mail/static/src/components/composer/composer_tests.js:1535:                assert.step(`notify_typing:${args.kwargs.is_typing}`);
odoo-14.0.0+dfsg/addons/mail/static/src/components/composer/composer_tests.js-1536-            }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/composer/composer_tests.js-1566-            if (args.method === 'notify_typing') {
odoo-14.0.0+dfsg/addons/mail/static/src/components/composer/composer_tests.js:1567:                assert.step(`notify_typing:${args.kwargs.is_typing}`);
odoo-14.0.0+dfsg/addons/mail/static/src/components/composer/composer_tests.js-1568-            }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/composer/composer_tests.js-1605-            if (args.method === 'notify_typing') {
odoo-14.0.0+dfsg/addons/mail/static/src/components/composer/composer_tests.js:1606:                assert.step(`notify_typing:${args.kwargs.is_typing}`);
odoo-14.0.0+dfsg/addons/mail/static/src/components/composer/composer_tests.js-1607-            }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/composer/composer_tests.js-1643-            if (args.method === 'notify_typing') {
odoo-14.0.0+dfsg/addons/mail/static/src/components/composer/composer_tests.js:1644:                assert.step(`notify_typing:${args.kwargs.is_typing}`);
odoo-14.0.0+dfsg/addons/mail/static/src/components/composer/composer_tests.js-1645-            }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_moderation_tests.js-914-        document.body,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_moderation_tests.js:915:        `.o_Message[data-message-local-id="${message.localId}"]`,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_moderation_tests.js-916-        "the pending moderation message should be in the channel"
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_moderation_tests.js-927-        document.body,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_moderation_tests.js:928:        `.o_Message[data-message-local-id="${message.localId}"]`,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_moderation_tests.js-929-        "the pending moderation message should be in moderation box"
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_moderation_tests.js-958-        document.body,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_moderation_tests.js:959:        `.o_Message[data-message-local-id="${message.localId}"]`,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_moderation_tests.js-960-        "the pending moderation message should be in the channel"
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_moderation_tests.js-1006-        document.body,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_moderation_tests.js:1007:        `.o_Message[data-message-local-id="${message.localId}"]`,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_moderation_tests.js-1008-        "the pending moderation message should be in the channel"
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_moderation_tests.js-1019-        document.body,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_moderation_tests.js:1020:        `.o_Message[data-message-local-id="${message.localId}"]`,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_moderation_tests.js-1021-        "the pending moderation message should be in moderation box"
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js-41-        document.body,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js:42:        `.o_Discuss_thread[data-thread-local-id="${this.env.messaging.inbox.localId}"]`,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js-43-        "The Inbox is opened in discuss"
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js-73-        document.body,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js:74:        `.o_Discuss_thread[data-thread-local-id="${threadGeneral.localId}"]`,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js-75-        "The channel #General is displayed in discuss"
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js-127-        document.body,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js:128:        `.o_DiscussSidebarItem[data-thread-local-id="${threadGeneral.localId}"]`,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js-129-        "The channel must have been removed from discuss sidebar"
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js-150-        document.body,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js:151:        `.o_Discuss_thread[data-thread-local-id="${this.env.messaging.inbox.localId}"]`,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js-152-        "The Inbox is opened in discuss"
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js-155-        document.body,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js:156:        `.o_DiscussSidebarItem[data-thread-local-id="${threadGeneral.localId}"]`,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js-157-        "1 channel is present in discuss sidebar and it is 'general'"
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js-166-        document.body,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js:167:        `.o_Discuss_thread[data-thread-local-id="${threadGeneral.localId}"]`,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js-168-        "The channel #General is opened in discuss"
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js-193-        document.body,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js:194:        `.o_DiscussSidebarItem[data-thread-local-id="${threadGeneral.localId}"]`,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js-195-        "The channel must have been removed from discuss sidebar"
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js-218-        document.body,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js:219:        `.o_DiscussSidebarItem[data-thread-local-id="${threadGeneral.localId}"]`,
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_pinned_tests.js-220-        "The channel #General is in discuss sidebar"
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_tests.js-2355-    for (let id = 1; id <= 20; id++) {
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_tests.js:2356:        this.data['mail.channel'].records.push({ id, name: `channel${id}` });
odoo-14.0.0+dfsg/addons/mail/static/src/components/discuss/tests/discuss_tests.js-2357-    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/notification_list/notification_list.js-200-        } else {
odoo-14.0.0+dfsg/addons/mail/static/src/components/notification_list/notification_list.js:201:            throw new Error(`Unsupported filter ${props.filter}`);
odoo-14.0.0+dfsg/addons/mail/static/src/components/notification_list/notification_list.js-202-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/thread_needaction_preview/thread_needaction_preview.js-69-        if (this.thread.model === 'mail.channel') {
odoo-14.0.0+dfsg/addons/mail/static/src/components/thread_needaction_preview/thread_needaction_preview.js:70:            return `/web/image/mail.channel/${this.thread.id}/image_128`;
odoo-14.0.0+dfsg/addons/mail/static/src/components/thread_needaction_preview/thread_needaction_preview.js-71-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/components/thread_preview/thread_preview.js-63-        }
odoo-14.0.0+dfsg/addons/mail/static/src/components/thread_preview/thread_preview.js:64:        return `/web/image/mail.channel/${this.thread.id}/image_128`;
odoo-14.0.0+dfsg/addons/mail/static/src/components/thread_preview/thread_preview.js-65-    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/js/many2one_avatar_user.js-31-            if (!this.supportedModels.includes(this.field.relation)) {
odoo-14.0.0+dfsg/addons/mail/static/src/js/many2one_avatar_user.js:32:                throw new Error(`This widget is only supported on many2one fields pointing to ${JSON.stringify(this.supportedModels)}`);
odoo-14.0.0+dfsg/addons/mail/static/src/js/many2one_avatar_user.js-33-            }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/js/utils.js-101-    } catch (e) {
odoo-14.0.0+dfsg/addons/mail/static/src/js/utils.js:102:        div.innerHTML = `<pre>${htmlString}</pre>`;
odoo-14.0.0+dfsg/addons/mail/static/src/js/utils.js-103-    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_core.js-103-    if (entry.factory) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_core.js:104:        throw new Error(`Model "${name}" has already been registered!`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_core.js-105-    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_field.js-328-        }
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_field.js:329:        throw new Error(`cannot get field with unsupported type ${this.fieldType}.`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_field.js-330-    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_field.js-812-        if (!OtherModel.get(record.localId, { isCheckingInheritance: true })) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_field.js:813:            throw Error(`Record ${record.localId} is not valid for relational field ${this.fieldName}.`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_field.js-814-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-298-                if (!(['attribute', 'relation'].includes(field.fieldType))) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:299:                    throw new Error(`Field "${Model.modelName}/${fieldName}" has unsupported type ${field.fieldType}.`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-300-                }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-312-                    if (invalidKeys.length > 0) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:313:                        throw new Error(`Field "${Model.modelName}/${fieldName}" contains some invalid keys: "${invalidKeys.join(", ")}".`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-314-                    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-330-                    if (invalidKeys.length > 0) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:331:                        throw new Error(`Field "${Model.modelName}/${fieldName}" contains some invalid keys: "${invalidKeys.join(", ")}".`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-332-                    }
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-333-                    if (!Models[field.to]) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:334:                        throw new Error(`Relational field "${Model.modelName}/${fieldName}" targets to unknown model name "${field.to}".`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-335-                    }
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-336-                    if (field.isCausal && !(['one2many', 'one2one'].includes(field.relationType))) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:337:                        throw new Error(`Relational field "${Model.modelName}/${fieldName}" has "isCausal" true with a relation of type "${field.relationType}" but "isCausal" is only supported for "one2many" and "one2one".`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-338-                    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-341-                if (field.compute && !(typeof field.compute === 'string')) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:342:                    throw new Error(`Field "${Model.modelName}/${fieldName}" property "compute" must be a string (instance method name).`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-343-                }
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-344-                if (field.compute && !(Model.prototype[field.compute])) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:345:                    throw new Error(`Field "${Model.modelName}/${fieldName}" property "compute" does not refer to an instance method of this Model.`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-346-                }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-350-                ) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:351:                    throw new Error(`Field "${Model.modelName}/${fieldName} contains dependendencies but no compute method in itself or parented matching fields (dependencies only make sense for compute fields)."`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-352-                }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-357-                    if (!(field.dependencies instanceof Array)) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:358:                        throw new Error(`Compute field "${Model.modelName}/${fieldName}" dependencies must be an array of field names.`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-359-                    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-361-                    if (unknownDependencies.length > 0) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:362:                        throw new Error(`Compute field "${Model.modelName}/${fieldName}" contains some unknown dependencies: "${unknownDependencies.join(", ")}".`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-363-                    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-366-                if (field.compute && field.related) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:367:                    throw new Error(`Field "${Model.modelName}/${fieldName}" cannot be a related and compute field at the same time.`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-368-                }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-370-                    if (!(typeof field.related === 'string')) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:371:                        throw new Error(`Field "${Model.modelName}/${fieldName}" property "related" has invalid format.`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-372-                    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-374-                    if (!relationName || !relatedFieldName || other) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:375:                        throw new Error(`Field "${Model.modelName}/${fieldName}" property "related" has invalid format.`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-376-                    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-386-                    if (!relatedRelation) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:387:                        throw new Error(`Related field "${Model.modelName}/${fieldName}" relates to unknown relation name "${relationName}".`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-388-                    }
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-389-                    if (relatedRelation.fieldType !== 'relation') {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:390:                        throw new Error(`Related field "${Model.modelName}/${fieldName}" relates to non-relational field "${relationName}".`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-391-                    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-403-                    if (!relatedField) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:404:                        throw new Error(`Related field "${Model.modelName}/${fieldName}" relates to unknown related model field "${relatedFieldName}".`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-405-                    }
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-406-                    if (relatedField.fieldType !== field.fieldType) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:407:                        throw new Error(`Related field "${Model.modelName}/${fieldName}" has mismatch type with its related model field.`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-408-                    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-412-                    ) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:413:                        throw new Error(`Related field "${Model.modelName}/${fieldName}" has mismatch target model name with its related model field.`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-414-                    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-429-                if (!(['attribute', 'relation'].includes(field.fieldType))) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:430:                    throw new Error(`Field "${Model.modelName}/${fieldName}" has unsupported type ${field.fieldType}.`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-431-                }
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-432-                if (field.compute && field.related) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:433:                    throw new Error(`Field "${Model.modelName}/${fieldName}" cannot be a related and compute field at the same time.`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-434-                }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-439-                    throw new Error(
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:440:                        `Field "${Model.modelName}/${fieldName}" must define a relation type in "relationType".`
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-441-                    );
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-444-                    throw new Error(
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:445:                        `Field "${Model.modelName}/${fieldName}" has invalid relation type "${field.relationType}".`
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-446-                    );
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-468-                    throw new Error(
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:469:                        `Model name of relation "${Model.modelName}/${fieldName}" does not exist.`
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-470-                    );
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-513-                        }", should instead refer to this model or parented models: ${
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:514:                            allSelfAndParentNames.map(name => `"${name}"`).join(', ')
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-515-                        }?)`
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-559-            if (Model.get(localId)) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:560:                throw Error(`A record already exists for model "${Model.modelName}" with localId "${localId}".`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-561-            }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-627-        if (!record.exists()) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:628:            throw Error(`Cannot delete already deleted record ${record.localId}.`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-629-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-660-                if (!record.exists()) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:661:                    throw Error(`Cannot execute computes for already deleted record ${record.localId}.`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-662-                }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-687-                if (!record.exists()) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:688:                    throw Error(`Cannot _updateAfter for already deleted record ${record.localId}.`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-689-                }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-700-                if (!record.exists()) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:701:                    throw Error(`Cannot call _created for already deleted record ${record.localId}.`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-702-                }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-740-            if (!generatable) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:741:                throw new Error(`Cannot generate following Model: ${toGenerateNames.join(', ')}`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-742-            }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-763-            if (!Object.prototype.hasOwnProperty.call(Model, 'modelName')) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:764:                throw new Error(`Missing static property "modelName" on Model class "${Model.name}".`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-765-            }
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-766-            if (generatedNames.includes(Model.modelName)) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:767:                throw new Error(`Duplicate model name "${Model.modelName}" shared on 2 distinct Model classes.`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-768-            }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-827-        if (!relFunc) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:828:            throw new Error(`Cannot compute inverse Relation of "${Model.modelName}/${field.fieldName}".`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-829-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-834-                env: this.env,
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:835:                fieldName: `_inverse_${Model.modelName}/${field.fieldName}`,
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-836-                modelManager: this,
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-1059-        if (!record.exists()) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:1060:            throw Error(`Cannot update already deleted record ${record.localId}.`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-1061-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-1075-            if (!field) {
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js:1076:                throw new Error(`Cannot create/update record with data unrelated to a field. (model: "${Model.modelName}", non-field attempted update: "${fieldName}")`);
odoo-14.0.0+dfsg/addons/mail/static/src/model/model_manager.js-1077-            }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/activity/activity.js-228-        static _createRecordLocalId(data) {
odoo-14.0.0+dfsg/addons/mail/static/src/models/activity/activity.js:229:            return `${this.modelName}_${data.id}`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/activity/activity.js-230-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/activity_type/activity_type.js-18-        static _createRecordLocalId(data) {
odoo-14.0.0+dfsg/addons/mail/static/src/models/activity_type/activity_type.js:19:            return `${this.modelName}_${data.id}`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/activity_type/activity_type.js-20-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/attachment/attachment.js-119-        static _createRecordLocalId(data) {
odoo-14.0.0+dfsg/addons/mail/static/src/models/attachment/attachment.js:120:            return `${this.modelName}_${data.id}`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/attachment/attachment.js-121-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/attachment/attachment.js-149-            if (this.fileType === 'image') {
odoo-14.0.0+dfsg/addons/mail/static/src/models/attachment/attachment.js:150:                return `/web/image/${this.id}?unique=1&amp;signature=${this.checksum}&amp;model=ir.attachment`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/attachment/attachment.js-151-            }
odoo-14.0.0+dfsg/addons/mail/static/src/models/attachment/attachment.js-152-            if (this.fileType === 'application/pdf') {
odoo-14.0.0+dfsg/addons/mail/static/src/models/attachment/attachment.js:153:                return `/web/static/lib/pdfjs/web/viewer.html?file=/web/content/${this.id}?model%3Dir.attachment`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/attachment/attachment.js-154-            }
odoo-14.0.0+dfsg/addons/mail/static/src/models/attachment/attachment.js-155-            if (this.fileType && this.fileType.includes('text')) {
odoo-14.0.0+dfsg/addons/mail/static/src/models/attachment/attachment.js:156:                return `/web/content/${this.id}?model%3Dir.attachment`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/attachment/attachment.js-157-            }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/attachment/attachment.js-167-                }
odoo-14.0.0+dfsg/addons/mail/static/src/models/attachment/attachment.js:168:                return `https://www.youtube.com/embed/${token}`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/attachment/attachment.js-169-            }
odoo-14.0.0+dfsg/addons/mail/static/src/models/attachment/attachment.js-170-            if (this.fileType === 'video') {
odoo-14.0.0+dfsg/addons/mail/static/src/models/attachment/attachment.js:171:                return `/web/image/${this.id}?model=ir.attachment`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/attachment/attachment.js-172-            }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/composer/composer.js-596-                    const baseHREF = this.env.session.url('/web');
odoo-14.0.0+dfsg/addons/mail/static/src/models/composer/composer.js:597:                    const href = `href='${baseHREF}#model=${model}&id=${mention.id}'`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/composer/composer.js:598:                    const attClass = `class='${cssClass}'`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/composer/composer.js:599:                    const dataOeId = `data-oe-id='${mention.id}'`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/composer/composer.js:600:                    const dataOeModel = `data-oe-model='${model}'`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/composer/composer.js-601-                    const target = `target='_blank'`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/composer/composer.js:602:                    mentionLink = `<a ${href} ${attClass} ${dataOeId} ${dataOeModel} ${target} >${suggestionDelimiter}${matchName}</a>`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/composer/composer.js-603-                }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/country/country.js-19-        static _createRecordLocalId(data) {
odoo-14.0.0+dfsg/addons/mail/static/src/models/country/country.js:20:            return `${this.modelName}_${data.id}`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/country/country.js-21-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/country/country.js-30-            }
odoo-14.0.0+dfsg/addons/mail/static/src/models/country/country.js:31:            return `/base/static/img/country_flags/${this.code}.png`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/country/country.js-32-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/dialog_manager/dialog_manager.js-24-            if (!Model) {
odoo-14.0.0+dfsg/addons/mail/static/src/models/dialog_manager/dialog_manager.js:25:                throw new Error(`No model exists with name ${modelName}`);
odoo-14.0.0+dfsg/addons/mail/static/src/models/dialog_manager/dialog_manager.js-26-            }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/discuss/discuss.js-97-                label: _.str.sprintf(
odoo-14.0.0+dfsg/addons/mail/static/src/models/discuss/discuss.js:98:                    `<strong>${this.env._t('Create %s')}</strong>`,
odoo-14.0.0+dfsg/addons/mail/static/src/models/discuss/discuss.js:99:                    `<em><span class="fa fa-hashtag"/>${escapedValue}</em>`,
odoo-14.0.0+dfsg/addons/mail/static/src/models/discuss/discuss.js-100-                ),
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/discuss/discuss.js-104-                label: _.str.sprintf(
odoo-14.0.0+dfsg/addons/mail/static/src/models/discuss/discuss.js:105:                    `<strong>${this.env._t('Create %s')}</strong>`,
odoo-14.0.0+dfsg/addons/mail/static/src/models/discuss/discuss.js:106:                    `<em><span class="fa fa-lock"/>${escapedValue}</em>`,
odoo-14.0.0+dfsg/addons/mail/static/src/models/discuss/discuss.js-107-                ),
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/discuss/discuss.js-229-        threadToActiveId(thread) {
odoo-14.0.0+dfsg/addons/mail/static/src/models/discuss/discuss.js:230:            return `${thread.model}_${thread.id}`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/discuss/discuss.js-231-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/follower/follower.js-172-        static _createRecordLocalId(data) {
odoo-14.0.0+dfsg/addons/mail/static/src/models/follower/follower.js:173:            return `${this.modelName}_${data.id}`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/follower/follower.js-174-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/follower_subtype/follower_subtype.js-53-        static _createRecordLocalId(data) {
odoo-14.0.0+dfsg/addons/mail/static/src/models/follower_subtype/follower_subtype.js:54:            return `${this.modelName}_${data.id}`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/follower_subtype/follower_subtype.js-55-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/mail_template/mail_template.js-62-        static _createRecordLocalId(data) {
odoo-14.0.0+dfsg/addons/mail/static/src/models/mail_template/mail_template.js:63:            return `${this.modelName}_${data.id}`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/mail_template/mail_template.js-64-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/message/message.js-359-        static _createRecordLocalId(data) {
odoo-14.0.0+dfsg/addons/mail/static/src/models/message/message.js:360:            return `${this.modelName}_${data.id}`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/message/message.js-361-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/message/message.js-449-                const regexp = new RegExp(
odoo-14.0.0+dfsg/addons/mail/static/src/models/message/message.js:450:                    `(?:^|\\s|<[a-z]*>)(${unicode})(?=\\s|$|</[a-z]*>)`,
odoo-14.0.0+dfsg/addons/mail/static/src/models/message/message.js-451-                    "g"
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/message/message.js-455-                    regexp,
odoo-14.0.0+dfsg/addons/mail/static/src/models/message/message.js:456:                    ` <span class="o_mail_emoji">${unicode}</span> `
odoo-14.0.0+dfsg/addons/mail/static/src/models/message/message.js-457-                );
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/message_seen_indicator/message_seen_indicator.js-59-            const { channelId, messageId } = data;
odoo-14.0.0+dfsg/addons/mail/static/src/models/message_seen_indicator/message_seen_indicator.js:60:            return `${this.modelName}_${channelId}_${messageId}`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/message_seen_indicator/message_seen_indicator.js-61-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/messaging_notification_handler/messaging_notification_handler.js-88-                    default:
odoo-14.0.0+dfsg/addons/mail/static/src/models/messaging_notification_handler/messaging_notification_handler.js:89:                        console.warn(`mail.messaging_notification_handler: Unhandled notification "${model}"`);
odoo-14.0.0+dfsg/addons/mail/static/src/models/messaging_notification_handler/messaging_notification_handler.js-90-                        return;
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/model/model.js-231-        static _createRecordLocalId(data) {
odoo-14.0.0+dfsg/addons/mail/static/src/models/model/model.js:232:            return _.uniqueId(`${this.modelName}_`);
odoo-14.0.0+dfsg/addons/mail/static/src/models/model/model.js-233-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/notification/notification.js-56-        static _createRecordLocalId(data) {
odoo-14.0.0+dfsg/addons/mail/static/src/models/notification/notification.js:57:            return `${this.modelName}_${data.id}`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/notification/notification.js-58-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/notification_group/notification_group.js-66-        static _createRecordLocalId(data) {
odoo-14.0.0+dfsg/addons/mail/static/src/models/notification_group/notification_group.js:67:            return `${this.modelName}_${data.id}`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/notification_group/notification_group.js-68-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/notification_group_manager/notification_group_manager.js-27-                const channelId = thread.model === 'mail.channel' ? thread.id : null;
odoo-14.0.0+dfsg/addons/mail/static/src/models/notification_group_manager/notification_group_manager.js:28:                const id = `${thread.model}/${channelId}/${notification.notification_type}`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/notification_group_manager/notification_group_manager.js-29-                const group = this.env.models['mail.notification_group'].insert({
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/partner/partner.js-206-        _computeAvatarUrl() {
odoo-14.0.0+dfsg/addons/mail/static/src/models/partner/partner.js:207:            return `/web/image/res.partner/${this.id}/image_128`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/partner/partner.js-208-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/partner/partner.js-213-        static _createRecordLocalId(data) {
odoo-14.0.0+dfsg/addons/mail/static/src/models/partner/partner.js:214:            return `${this.modelName}_${data.id}`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/partner/partner.js-215-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/thread/thread.js-986-            }
odoo-14.0.0+dfsg/addons/mail/static/src/models/thread/thread.js:987:            return `${this.modelName}_${threadModel}_${id}`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/thread/thread.js-988-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/thread_cache/thread_cache.js-76-            } = data;
odoo-14.0.0+dfsg/addons/mail/static/src/models/thread_cache/thread_cache.js:77:            return `${this.modelName}_[${thread.localId}]_<${stringifiedDomain}>`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/thread_cache/thread_cache.js-78-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/thread_partner_seen_info/thread_partner_seen_info.js-19-            const { channelId, partnerId } = data;
odoo-14.0.0+dfsg/addons/mail/static/src/models/thread_partner_seen_info/thread_partner_seen_info.js:20:            return `${this.modelName}_${channelId}_${partnerId}`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/thread_partner_seen_info/thread_partner_seen_info.js-21-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/models/user/user.js-184-        static _createRecordLocalId(data) {
odoo-14.0.0+dfsg/addons/mail/static/src/models/user/user.js:185:            return `${this.modelName}_${data.id}`;
odoo-14.0.0+dfsg/addons/mail/static/src/models/user/user.js-186-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/utils/test_utils.js-455-    if (!['none', 'created', 'initialized'].includes(waitUntilMessagingCondition)) {
odoo-14.0.0+dfsg/addons/mail/static/src/utils/test_utils.js:456:        throw Error(`Unknown parameter value ${waitUntilMessagingCondition} for 'waitUntilMessaging'.`);
odoo-14.0.0+dfsg/addons/mail/static/src/utils/test_utils.js-457-    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/utils/test_utils.js-628-                    ? new Error(message)
odoo-14.0.0+dfsg/addons/mail/static/src/utils/test_utils.js:629:                    : new Error(`Timeout: the event ${eventName} was not triggered.`);
odoo-14.0.0+dfsg/addons/mail/static/src/utils/test_utils.js-630-                console.error(error);
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/utils/throttle/throttle_tests.js-95-            funcCalledAmount++;
odoo-14.0.0+dfsg/addons/mail/static/src/utils/throttle/throttle_tests.js:96:            return `func_result_${funcCalledAmount}`;
odoo-14.0.0+dfsg/addons/mail/static/src/utils/throttle/throttle_tests.js-97-        },
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/utils/throttle/throttle_tests.js-154-            funcCalledAmount++;
odoo-14.0.0+dfsg/addons/mail/static/src/utils/throttle/throttle_tests.js:155:            return `func_result_${funcCalledAmount}`;
odoo-14.0.0+dfsg/addons/mail/static/src/utils/throttle/throttle_tests.js-156-        },
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/utils/utils.js-91-    if (metadata.patches[patchName]) {
odoo-14.0.0+dfsg/addons/mail/static/src/utils/utils.js:92:        throw new Error(`Patch [${patchName}] already exists`);
odoo-14.0.0+dfsg/addons/mail/static/src/utils/utils.js-93-    }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/src/widgets/discuss/discuss.js-294-                : '';
odoo-14.0.0+dfsg/addons/mail/static/src/widgets/discuss/discuss.js:295:            title = `${prefix}${this.discuss.thread.displayName}`;
odoo-14.0.0+dfsg/addons/mail/static/src/widgets/discuss/discuss.js-296-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/tests/chatter_tests.js-537-    for (let i = 100; i < 200; i++) {
odoo-14.0.0+dfsg/addons/mail/static/tests/chatter_tests.js:538:        this.data['res.users'].records.push({ id: i, display_name: `partner${i}` });
odoo-14.0.0+dfsg/addons/mail/static/tests/chatter_tests.js-539-        user11.partner_ids.push(i);
##############################################
odoo-14.0.0+dfsg/addons/mail/static/tests/helpers/mock_server.js-304-            author_id = author.partner_id;
odoo-14.0.0+dfsg/addons/mail/static/tests/helpers/mock_server.js:305:            email_from = `${author.display_name} <${author.email}>`;
odoo-14.0.0+dfsg/addons/mail/static/tests/helpers/mock_server.js-306-        } else {
##############################################
odoo-14.0.0+dfsg/addons/mail/static/tests/helpers/mock_server.js-621-                {
odoo-14.0.0+dfsg/addons/mail/static/tests/helpers/mock_server.js:622:                    id: `${channel.id}/${this.currentPartnerId}`, // simulate channel.partner id
odoo-14.0.0+dfsg/addons/mail/static/tests/helpers/mock_server.js-623-                    info: 'channel_fetched',
##############################################
odoo-14.0.0+dfsg/addons/mail/static/tests/helpers/mock_server.js-774-            ]);
odoo-14.0.0+dfsg/addons/mail/static/tests/helpers/mock_server.js:775:            const body = `<div class="o_mail_notification">joined <a href="#" class="o_channel_redirect" data-oe-id="${channel.id}">#${channel.name}</a></div>`;
odoo-14.0.0+dfsg/addons/mail/static/tests/helpers/mock_server.js-776-            const message_type = "notification";
##############################################
odoo-14.0.0+dfsg/addons/mail/static/tests/helpers/mock_server.js-869-        }
odoo-14.0.0+dfsg/addons/mail/static/tests/helpers/mock_server.js:870:        throw new Error(`mail/mock_server: the route execute_command doesn't implement the command "${commandName}"`);
odoo-14.0.0+dfsg/addons/mail/static/tests/helpers/mock_server.js-871-    },
##############################################
odoo-14.0.0+dfsg/addons/mail/static/tests/helpers/mock_server.js-1435-            author_id = author.id;
odoo-14.0.0+dfsg/addons/mail/static/tests/helpers/mock_server.js:1436:            email_from = `${author.display_name} <${author.email}>`;
odoo-14.0.0+dfsg/addons/mail/static/tests/helpers/mock_server.js-1437-        }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/tests/helpers/mock_server.js-1445-                )[0];
odoo-14.0.0+dfsg/addons/mail/static/tests/helpers/mock_server.js:1446:                email_from = `${author.display_name} <${author.email}>`;
odoo-14.0.0+dfsg/addons/mail/static/tests/helpers/mock_server.js-1447-            }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/tests/many2one_avatar_user_tests.js-60-                if (args.method === 'read') {
odoo-14.0.0+dfsg/addons/mail/static/tests/many2one_avatar_user_tests.js:61:                    assert.step(`read ${args.model} ${args.args[0]}`);
odoo-14.0.0+dfsg/addons/mail/static/tests/many2one_avatar_user_tests.js-62-                }
##############################################
odoo-14.0.0+dfsg/addons/mail/static/tests/tours/mail_full_composer_test_tour.js-54-            console.error(
odoo-14.0.0+dfsg/addons/mail/static/tests/tours/mail_full_composer_test_tour.js:55:                `Full composer should have "Re: Test User" in subject input (actual: ${subjectValue})`
odoo-14.0.0+dfsg/addons/mail/static/tests/tours/mail_full_composer_test_tour.js-56-            );
##############################################
odoo-14.0.0+dfsg/addons/mail/static/tests/tours/mail_full_composer_test_tour.js-65-            console.error(
odoo-14.0.0+dfsg/addons/mail/static/tests/tours/mail_full_composer_test_tour.js:66:                `Full composer should contain text from small composer ("blahblah") in body input (actual: ${bodyContent})`
odoo-14.0.0+dfsg/addons/mail/static/tests/tours/mail_full_composer_test_tour.js-67-            );
##############################################
odoo-14.0.0+dfsg/addons/mail/tests/common.py-100-        cls.env['ir.config_parameter'].set_param('mail.catchall.alias', cls.alias_catchall)
odoo-14.0.0+dfsg/addons/mail/tests/common.py:101:        cls.mailer_daemon_email = formataddr(('MAILER-DAEMON', '%s@%s' % (cls.alias_bounce, cls.alias_domain)))
odoo-14.0.0+dfsg/addons/mail/tests/common.py-102-
##############################################
odoo-14.0.0+dfsg/addons/mail/tests/common.py-274-        if isinstance(author, self.env['res.partner'].__class__):
odoo-14.0.0+dfsg/addons/mail/tests/common.py:275:            expected['email_from'] = formataddr((author.name, author.email))
odoo-14.0.0+dfsg/addons/mail/tests/common.py-276-        else:
##############################################
odoo-14.0.0+dfsg/addons/mail/tests/common.py-281-            if isinstance(email_to, self.env['res.partner'].__class__):
odoo-14.0.0+dfsg/addons/mail/tests/common.py:282:                email_to_list.append(formataddr((email_to.name, email_to.email)))
odoo-14.0.0+dfsg/addons/mail/tests/common.py-283-            else:
##############################################
odoo-14.0.0+dfsg/addons/mass_mailing/tests/test_mailing_internals.py-171-                set(email['email_to']),
odoo-14.0.0+dfsg/addons/mass_mailing/tests/test_mailing_internals.py:172:                set([formataddr((test_partner.name, test_partner.email))]),
odoo-14.0.0+dfsg/addons/mass_mailing/tests/test_mailing_internals.py-173-                'email_to incorrect. Should be equal to "%s"' % (
odoo-14.0.0+dfsg/addons/mass_mailing/tests/test_mailing_internals.py:174:                    formataddr((test_partner.name, test_partner.email))))
odoo-14.0.0+dfsg/addons/mass_mailing/tests/test_mailing_internals.py-175-
##############################################
odoo-14.0.0+dfsg/addons/mrp/static/src/js/mrp_documents_kanban_record.js-27-        ev.preventDefault();
odoo-14.0.0+dfsg/addons/mrp/static/src/js/mrp_documents_kanban_record.js:28:        window.location = `/web/content/${this.modelName}/${this.id}/datas?download=true`;
odoo-14.0.0+dfsg/addons/mrp/static/src/js/mrp_documents_kanban_record.js-29-    },
##############################################
odoo-14.0.0+dfsg/addons/payment/static/lib/jquery.payment/jquery.payment.js-207-      value = value.replace(/\D/g, '');
odoo-14.0.0+dfsg/addons/payment/static/lib/jquery.payment/jquery.payment.js:208:      return safeVal(value, $target);
odoo-14.0.0+dfsg/addons/payment/static/lib/jquery.payment/jquery.payment.js-209-    });
##############################################
odoo-14.0.0+dfsg/addons/payment/static/lib/jquery.payment/jquery.payment.js-219-      value = $.payment.formatCardNumber(value);
odoo-14.0.0+dfsg/addons/payment/static/lib/jquery.payment/jquery.payment.js:220:      return safeVal(value, $target);
odoo-14.0.0+dfsg/addons/payment/static/lib/jquery.payment/jquery.payment.js-221-    });
##############################################
odoo-14.0.0+dfsg/addons/payment/static/lib/jquery.payment/jquery.payment.js-292-      value = $.payment.formatExpiry(value);
odoo-14.0.0+dfsg/addons/payment/static/lib/jquery.payment/jquery.payment.js:293:      return safeVal(value, $target);
odoo-14.0.0+dfsg/addons/payment/static/lib/jquery.payment/jquery.payment.js-294-    });
##############################################
odoo-14.0.0+dfsg/addons/payment/static/lib/jquery.payment/jquery.payment.js-376-      value = value.replace(/\D/g, '').slice(0, 4);
odoo-14.0.0+dfsg/addons/payment/static/lib/jquery.payment/jquery.payment.js:377:      return safeVal(value, $target);
odoo-14.0.0+dfsg/addons/payment/static/lib/jquery.payment/jquery.payment.js-378-    });
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/lib/backbone/backbone.js-1086-    // Ensure that the View has a DOM element to render into.
odoo-14.0.0+dfsg/addons/point_of_sale/static/lib/backbone/backbone.js:1087:    // If `this.el` is a string, pass it through `$()`, take the first
odoo-14.0.0+dfsg/addons/point_of_sale/static/lib/backbone/backbone.js-1088-    // matching element, and re-assign it to `el`. Otherwise, create
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Chrome.js-305-            if (this.progressbar.el) {
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Chrome.js:306:                this.progressbar.el.style.width = `${Math.floor(fac * 100)}%`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Chrome.js-307-            }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Chrome.js-351-                const image = new Image();
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Chrome.js:352:                image.src = `/web/image?model=product.product&field=image_128&id=${product.id}&write_date=${product.write_date}&unique=1`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Chrome.js-353-            }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Chrome.js-356-                const image = new Image();
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Chrome.js:357:                image.src = `/web/image?model=pos.category&field=image_128&id=${category.id}&write_date=${category.write_date}&unique=1`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Chrome.js-358-            }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Chrome.js-361-                const image = new Image();
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Chrome.js:362:                image.src = `/point_of_sale/static/src/img/${imageName}`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Chrome.js-363-            }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/ChromeWidgets/DebugWidget.js-117-        get paidOrdersFilename() {
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/ChromeWidgets/DebugWidget.js:118:            return `${this.env._t('paid orders')} ${moment().format('YYYY-MM-DD-HH-mm-ss')}.json`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/ChromeWidgets/DebugWidget.js-119-        }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/ChromeWidgets/DebugWidget.js-132-        get unpaidOrdersFilename() {
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/ChromeWidgets/DebugWidget.js:133:            return `${this.env._t('unpaid orders')} ${moment().format('YYYY-MM-DD-HH-mm-ss')}.json`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/ChromeWidgets/DebugWidget.js-134-        }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/ChromeWidgets/DebugWidget.js-152-        get bufferRepr() {
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/ChromeWidgets/DebugWidget.js:153:            return `"${this.state.buffer}"`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/ChromeWidgets/DebugWidget.js-154-        }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/ClassRegistry.js-166-                throw new Error(
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/ClassRegistry.js:167:                    `'${base.name}' is not in the Registry. Add it to Registry before extending.`
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/ClassRegistry.js-168-                );
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/ControlButtonsMixin.js-72-                    let warningMessage =
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/ControlButtonsMixin.js:73:                        `'${controlButton.name}' has invalid 'position' ([${locator}, ${relativeTo}]).` +
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/ControlButtonsMixin.js-74-                        'It is pushed to the controlButtons stack instead.';
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Misc/Draggable.js-69-            const elBoundingRect = this.el.getBoundingClientRect();
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Misc/Draggable.js:70:            this.el.style.top = `${elBoundingRect.top}px`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Misc/Draggable.js:71:            this.el.style.left = `${elBoundingRect.left}px`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Misc/Draggable.js-72-            this.el.style.transform = 'none';
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Misc/Draggable.js-91-                const posTop = this._getPosTop(pointerY, this.dy);
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Misc/Draggable.js:92:                this.el.style.left = `${posLeft}px`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Misc/Draggable.js:93:                this.el.style.top = `${posTop}px`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Misc/Draggable.js-94-            }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Popups/ErrorTracebackPopup.js-14-        get tracebackFilename() {
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Popups/ErrorTracebackPopup.js:15:            return `${this.env._t('error')} ${moment().format('YYYY-MM-DD-HH-mm-ss')}.txt`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Popups/ErrorTracebackPopup.js-16-        }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Popups/ProductConfiguratorPopup.js-51-            if (selected_value.is_custom && this.state.custom_value) {
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Popups/ProductConfiguratorPopup.js:52:                value += `: ${this.state.custom_value}`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Popups/ProductConfiguratorPopup.js-53-            }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/ClientListScreen/ClientDetailsEdit.js-26-            } else if (partner.id) {
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/ClientListScreen/ClientDetailsEdit.js:27:                return `/web/image?model=res.partner&id=${partner.id}&field=image_128&write_date=${partner.write_date}&unique=1`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/ClientListScreen/ClientDetailsEdit.js-28-            } else {
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/OrderManagementScreen/OrderManagementControlPanel.js-24-        const orSymbols = Array(fields.length - 1).fill('|');
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/OrderManagementScreen/OrderManagementControlPanel.js:25:        return orSymbols.concat(fields.map((field) => [field, 'ilike', `%${toSearch}%`]));
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/OrderManagementScreen/OrderManagementControlPanel.js-26-    }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/OrderManagementScreen/OrderManagementControlPanel.js-53-            const lastPage = OrderFetcher.lastPage;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/OrderManagementScreen/OrderManagementControlPanel.js:54:            return isNaN(lastPage) ? '' : `(${currentPage}/${lastPage})`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/OrderManagementScreen/OrderManagementControlPanel.js-55-        }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/OrderManagementScreen/OrderManagementControlPanel.js-109-                if (!this.validSearchTags.has(tag)) continue;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/OrderManagementScreen/OrderManagementControlPanel.js:110:                domain.push([this.fieldMap[tag], 'ilike', `%${value}%`]);
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/OrderManagementScreen/OrderManagementControlPanel.js-111-            }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/OrderManagementScreen/OrderlineDetails.js-46-        get pricePerUnit() {
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/OrderManagementScreen/OrderlineDetails.js:47:            return ` ${this.unit} at ${this.unitPrice} / ${this.unit}`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/OrderManagementScreen/OrderlineDetails.js-48-        }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/ProductScreen/CategoryButton.js-9-            const category = this.props.category
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/ProductScreen/CategoryButton.js:10:            return `/web/image?model=pos.category&field=image_128&id=${category.id}&write_date=${category.write_date}&unique=1`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/ProductScreen/CategoryButton.js-11-        }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/ProductScreen/ProductItem.js-20-            const product = this.props.product;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/ProductScreen/ProductItem.js:21:            return `/web/image?model=product.product&field=image_128&id=${product.id}&write_date=${product.write_date}&unique=1`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/ProductScreen/ProductItem.js-22-        }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/ReceiptScreen/ReceiptScreen.js-57-                const tipAmountStr = this.env.pos.format_currency(tipAmount);
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/ReceiptScreen/ReceiptScreen.js:58:                return `${orderAmountStr} + ${tipAmountStr} tip`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/Screens/ReceiptScreen/ReceiptScreen.js-59-            }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/models.js-889-                var product = orderline.product;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/models.js:890:                var image_url = `/web/image?model=product.product&field=image_128&id=${product.id}&write_date=${product.write_date}&unique=1`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/models.js-891-
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/models.js-1384-        const currency = this.currency || { decimals: 2 };
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/models.js:1385:        return `${Number(value.toFixed(currency.decimals || 0))}`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/models.js-1386-    },
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/models.js-1832-        if (this.description) {
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/models.js:1833:            full_name += ` (${this.description})`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/src/js/models.js-1834-        }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ClientListScreenTourMethods.js-9-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ClientListScreenTourMethods.js:10:                    content: `click client '${name}' from client list screen`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ClientListScreenTourMethods.js:11:                    trigger: `.clientlist-screen .client-list-contents .client-line td:contains("${name}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ClientListScreenTourMethods.js-12-                },
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ClientListScreenTourMethods.js-13-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ClientListScreenTourMethods.js:14:                    content: `check if client '${name}' is highlighted`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ClientListScreenTourMethods.js:15:                    trigger: `.clientlist-screen .client-list-contents .client-line.highlight td:contains("${name}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ClientListScreenTourMethods.js-16-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/NumberPopupTourMethods.js-19-                if (numberChars.includes(key)) {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/NumberPopupTourMethods.js:20:                    trigger = `.popup-numpad .number-char:contains("${key}")`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/NumberPopupTourMethods.js-21-                } else if (modeButtons.includes(key)) {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/NumberPopupTourMethods.js:22:                    trigger = `.popup-numpad .mode-button:contains("${key}")`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/NumberPopupTourMethods.js-23-                } else if (key === 'Backspace') {
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/NumberPopupTourMethods.js-28-                return {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/NumberPopupTourMethods.js:29:                    content: `'${key}' pressed in numpad`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/NumberPopupTourMethods.js-30-                    trigger,
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/NumberPopupTourMethods.js-62-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/NumberPopupTourMethods.js:63:                    content: `input shown is '${val}'`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/NumberPopupTourMethods.js:64:                    trigger: `.modal-dialog .popup-number .popup-input:contains("${val}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/NumberPopupTourMethods.js-65-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-15-        clickOrder(name, [otherCol, otherColVal] = [null, null]) {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:16:            let trigger = `.order-management-screen .order-list .order-row .item.name:contains("${name}")`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-17-            if (otherCol) {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:18:                trigger = `${trigger} ~ .item.${otherCol}:contains("${otherColVal}")`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-19-            }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-21-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:22:                    content: `clicking order '${name}' from orderlist`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-23-                    trigger,
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-73-            steps.push({
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:74:                content: `order list has row having: name '${orderName}', total '${total}'`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:75:                trigger: `.order-list .order-row .item:contains("${orderName}") ~ .item:contains("${total}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-76-                run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-79-                steps.push({
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:80:                    content: `order list has row having: name '${orderName}', customer '${customer}'`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:81:                    trigger: `.order-list .order-row .item:contains("${orderName}") ~ .item:contains("${customer}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-82-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-89-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:90:                    content: `order '${name}' in orderlist is highligted`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:91:                    trigger: `.order-list .order-row.highlight:has(> .item:contains("${name}"))`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-92-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-98-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:99:                    content: `order '${name}' in orderlist is not highligted`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:100:                    trigger: `.order-list .order-row:not(:has(.highlight)):has(> .item:contains("${name}"))`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-101-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-108-                steps.push({
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:109:                    content: `order details has product '${product}' and quantity '${quantity}'`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:110:                    trigger: `.orderlines .product-name:contains("${product}") ~ .info strong:contains("${quantity}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-111-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-115-                steps.push({
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:116:                    content: `order details has total amount of ${total}`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:117:                    trigger: `.order-container .summary .total .value:contains("${total}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-118-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-125-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:126:                    content: `set customer is '${name}'`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:127:                    trigger: `.order-management-screen .actionpad .set-customer:contains("${name}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-128-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-143-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:144:                    content: `receipt change is ${amount}`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:145:                    trigger: `.pos-receipt-amount.receipt-change:contains("${amount}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-146-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-152-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:153:                    content: `order data contains ${orderInfo}`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:154:                    trigger: `.pos-receipt-order-data:contains("${orderInfo}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-155-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-161-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:162:                    content: `receipt amount is ${amount}`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js:163:                    trigger: `.pos-receipt-amount:contains("${amount}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/OrderManagementScreenTourMethods.js-164-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-9-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js:10:                    content: `click '${name}' payment method`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js:11:                    trigger: `.paymentmethods .button.paymentmethod:contains("${name}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-12-                },
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-23-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js:24:                    content: `delete ${name} paymentline with ${amount} amount`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js:25:                    trigger: `.paymentlines .paymentline .payment-name:contains("${name}") ~ .delete-button`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-26-                },
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-72-                if (numberChars.includes(key)) {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js:73:                    trigger = `.payment-numpad .number-char:contains("${key}")`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-74-                } else if (modeButtons.includes(key)) {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js:75:                    trigger = `.payment-numpad .mode-button:contains("${key}")`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-76-                } else if (key === 'Backspace') {
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-79-                return {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js:80:                    content: `'${key}' pressed in payment numpad`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-81-                    trigger,
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-121-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js:122:                    content: `change is ${amount}`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js:123:                    trigger: `.payment-status-change .amount:contains("${amount}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-124-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-135-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js:136:                    content: `remaining amount is ${amount}`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js:137:                    trigger: `.payment-status-remaining .amount:contains("${amount}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-138-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-172-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js:173:                    content: `amount to pay is '${amountToPay}'`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js:174:                    trigger: `.paymentlines-empty .total:contains("${amountToPay}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-175-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-187-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js:188:                    content: `line paid via '${paymentMethodName}' is selected`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js:189:                    trigger: `.paymentlines .paymentline.selected .payment-name:contains("${paymentMethodName}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-190-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-192-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js:193:                    content: `amount tendered in the line is '${amount}'`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js:194:                    trigger: `.paymentlines .paymentline.selected .payment-amount:contains("${amount}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/PaymentScreenTourMethods.js-195-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductConfiguratorTourMethods.js-9-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductConfiguratorTourMethods.js:10:                    content: `picking radio attribute with name ${name}`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductConfiguratorTourMethods.js:11:                    trigger: `.product-configurator-popup .radio_attribute_label:contains('${name}')`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductConfiguratorTourMethods.js-12-                },
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductConfiguratorTourMethods.js-18-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductConfiguratorTourMethods.js:19:                    content: `picking select attribute with name ${name}`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductConfiguratorTourMethods.js:20:                    trigger: `.product-configurator-popup .configurator_select:has(option:contains('${name}'))`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductConfiguratorTourMethods.js:21:                    run: `text ${name}`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductConfiguratorTourMethods.js-22-                },
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductConfiguratorTourMethods.js-28-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductConfiguratorTourMethods.js:29:                    content: `picking color attribute with name ${name}`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductConfiguratorTourMethods.js:30:                    trigger: `.product-configurator-popup .configurator_color[data-color='${name}']`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductConfiguratorTourMethods.js-31-                },
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductConfiguratorTourMethods.js-37-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductConfiguratorTourMethods.js:38:                    content: `filling custom attribute with value ${value}`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductConfiguratorTourMethods.js-39-                    trigger: `.product-configurator-popup .custom_value`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductConfiguratorTourMethods.js:40:                    run: `text ${value}`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductConfiguratorTourMethods.js-41-                },
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-9-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:10:                    content: `click product '${name}'`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:11:                    trigger: `.product-list .product-name:contains("${name}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-12-                },
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-18-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:19:                    content: `selecting orderline with product '${name}' and quantity '${quantity}'`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:20:                    trigger: `.order .orderline:not(:has(.selected)) .product-name:contains("${name}") ~ .info-list em:contains("${quantity}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-21-                },
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-22-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:23:                    content: `orderline with product '${name}' and quantity '${quantity}' has been selected`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:24:                    trigger: `.order .orderline.selected .product-name:contains("${name}") ~ .info-list em:contains("${quantity}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-25-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-32-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:33:                    content: `selecting '${name}' subcategory`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:34:                    trigger: `.products-widget > .products-widget-control .category-simple-button:contains("${name}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-35-                },
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-36-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:37:                    content: `'${name}' subcategory selected`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:38:                    trigger: `.breadcrumbs .breadcrumb-button:contains("${name}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-39-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-65-                if (numberChars.includes(key)) {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:66:                    trigger = `.numpad .number-char:contains("${key}")`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-67-                } else if (modeButtons.includes(key)) {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:68:                    trigger = `.numpad .mode-button:contains("${key}")`;
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-69-                } else if (key === 'Backspace') {
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-74-                return {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:75:                    content: `'${key}' pressed in product screen numpad`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-76-                    trigger,
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-106-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:107:                    content: `select customer '${name}'`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:108:                    trigger: `.clientlist-screen .client-line td:contains("${name}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-109-                },
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-110-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:111:                    content: `client line '${name}' is highlighted`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:112:                    trigger: `.clientlist-screen .client-line.highlight td:contains("${name}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-113-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-146-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:147:                    content: `'${name}' is selected`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:148:                    trigger: `.order .orderline.selected .product-name:contains("${name}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-149-                    run: function () {}, // it's a check
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-153-                res.push({
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:154:                    content: `selected line has ${quantity} quantity`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:155:                    trigger: `.order .orderline.selected .product-name:contains("${name}") ~ .info-list em:contains("${quantity}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-156-                    run: function () {}, // it's a check
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-160-                res.push({
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:161:                    content: `selected line has total price of ${price}`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:162:                    trigger: `.order .orderline.selected .product-name:contains("${name}") ~ .price:contains("${price}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-163-                    run: function () {}, // it's a check
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-180-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:181:                    content: `'${name}' should be displayed`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:182:                    trigger: `.product-list .product-name:contains("${name}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-183-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-189-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:190:                    content: `order total amount is '${amount}'`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:191:                    trigger: `.order-container .order .summary .value:contains("${amount}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-192-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-198-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:199:                    content: `'${mode}' is active`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js:200:                    trigger: `.numpad button.selected-mode:contains('${mode}')`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ProductScreenTourMethods.js-201-                    run: function () {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ReceiptScreenTourMethods.js-18-                    trigger: '.receipt-screen .input-email input',
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ReceiptScreenTourMethods.js:19:                    run: `text ${email}`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ReceiptScreenTourMethods.js-20-                },
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ReceiptScreenTourMethods.js-25-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ReceiptScreenTourMethods.js:26:                    trigger: `.receipt-screen .input-email .send${isHighlighted ? '.highlight' : ''}`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ReceiptScreenTourMethods.js-27-                },
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ReceiptScreenTourMethods.js-55-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ReceiptScreenTourMethods.js:56:                    trigger: `.receipt-screen .top-content h1:contains("${value}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/ReceiptScreenTourMethods.js-57-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/SelectionPopupTourMethods.js-9-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/SelectionPopupTourMethods.js:10:                    content: `click selection '${name}'`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/SelectionPopupTourMethods.js:11:                    trigger: `.selection-item:contains("${name}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/SelectionPopupTourMethods.js-12-                },
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/SelectionPopupTourMethods.js-20-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/SelectionPopupTourMethods.js:21:                    content: `selection popup has '${name}'`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/SelectionPopupTourMethods.js:22:                    trigger: `.selection-item:contains("${name}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/SelectionPopupTourMethods.js-23-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js-15-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js:16:                    trigger: `.ticket-screen .order-row > .col:nth-child(2):contains("${orderName}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js-17-                },
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js-22-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js:23:                    trigger: `.ticket-screen .orders > .order-row > .col:contains("${orderName}") ~ .col[name="delete"]`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js-24-                },
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js-36-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js:37:                    trigger: `.pos-search-bar .filter ul li:contains("${name}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js-38-                },
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js-44-                    trigger: '.pos-search-bar input',
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js:45:                    run: `text ${searchWord}`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js-46-                },
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js-59-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js:60:                    trigger: `.pos-search-bar .search ul li:contains("${field}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js-61-                },
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js-76-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js:77:                    trigger: `.ticket-screen .order-row > .col:nth-child(2):contains("${orderName}") ~ .col:nth-child(6):contains(${status})`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js-78-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js-88-                {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js:89:                    trigger: `.ticket-screen .orders > .order-row:nth-child(${n}):contains("${string}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js-90-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/utils.js-83-                const argList = args
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/utils.js:84:                    .map((a) => (typeof a === 'string' ? `'${a}'` : `${a}`))
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/utils.js-85-                    .join(', ');
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/utils.js-86-                steps.push({
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/utils.js:87:                    content: `DOING "${constructor}.${methodName}(${argList})"`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/utils.js-88-                    trigger: '.pos',
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/utils.js-101-            if (!method) {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/utils.js:102:                throw new Error(`Tour method '${key}' is not available.`);
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/utils.js-103-            }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/utils.js-126-    function createTourMethods(name, Do, Check = class {}, Execute = class {}) {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/utils.js:127:        Object.defineProperty(Do, 'name', { value: `${name}.do` });
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/utils.js:128:        Object.defineProperty(Check, 'name', { value: `${name}.check` });
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/utils.js-129-        Object.defineProperty(Execute, 'name', {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/utils.js:130:            value: `${name}.exec`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/helpers/utils.js-131-        });
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js-262-        return [{
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js:263:            content: `press ${val} on payment screen numpad`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js:264:            trigger: `.payment-numpad .input-button:contains("${val}"):visible`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js-265-        }]
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js-269-        return [{
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js:270:            content: `press ${val} on product screen numpad`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js:271:            trigger: `.numpad .input-button:contains("${val}"):visible`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js-272-        }]
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js-276-        return [{
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js:277:            content: `selected payment is ${name} and has ${val}`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js:278:            trigger: `.paymentlines .paymentline.selected .payment-name:contains("${name}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js:279:            extra_trigger: `.paymentlines .paymentline.selected .payment-name:contains("${name}") ~ .payment-amount:contains("${val}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js-280-            run: function () {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js-287-            result.push({
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js:288:                content: `Selected line has product '${product}' and price '${price}'`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js:289:                trigger: `.order-container .orderlines .orderline.selected .product-name:contains("${product}") ~ span.price:contains("${price}")`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js-290-                run: function () {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js-294-            result.push({
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js:295:                content: `Selected line has product '${product}' and quantity '${quantity}'`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js:296:                trigger: `.order-container .orderlines .orderline.selected .product-name:contains('${product}') ~ .info-list .info em:contains('${quantity}')`,
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/tours/point_of_sale.js-297-                run: function () {},
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/unit/test_PaymentScreen.js-52-            _inputFromNumpad({ detail: { key } }) {
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/unit/test_PaymentScreen.js:53:                assert.step(`${key}-input`);
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/unit/test_PaymentScreen.js-54-            }
##############################################
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/unit/test_ProductScreen.js-241-                this.state.selectedCategoryId = id;
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/unit/test_ProductScreen.js:242:                assert.step(`${id}`);
odoo-14.0.0+dfsg/addons/point_of_sale/static/tests/unit/test_ProductScreen.js-243-            }
##############################################
odoo-14.0.0+dfsg/addons/portal/static/src/js/portal_chatter.js-301-        // scroll to the right place after chatter loaded
odoo-14.0.0+dfsg/addons/portal/static/src/js/portal_chatter.js:302:        if (window.location.hash === `#${this.el.id}`) {
odoo-14.0.0+dfsg/addons/portal/static/src/js/portal_chatter.js-303-            dom.scrollTo(this.el, {duration: 0});
##############################################
odoo-14.0.0+dfsg/addons/pos_epson_printer/static/lib/epos-2.12.0.js-1-/*! Epson ePOS SDK Version 2.12.0 Copyright(C) Seiko Epson Corporation 2016 - 2019. All rights reserved. */
odoo-14.0.0+dfsg/addons/pos_epson_printer/static/lib/epos-2.12.0.js:2:(function(window,undefined){function callbackInfo(){this.callbackInfoList=new Object()}callbackInfo.prototype={addCallback:function(callback,sq){this.callbackInfoList[sq]=callback},removeCallback:function(sq){for(var i in this.callbackInfoList){if(i==sq){delete this.callbackInfoList[i];return}}},getCallback:function(sq){if(this.callbackInfoList[sq]!=null){return this.callbackInfoList[sq]}return null}};function CommBox(boxID,commBoxManager,callbackInfo){this.ERROR_OK="OK";this.ERROR_NOT_OPENED="NOT_OPENED";this.ERROR_MEMBER_NOT_FOUND="MEMBER_NOT_FOUND";this.ERROR_SYSTEM_ERROR="SYSTEM_ERROR";this.boxID=boxID;this.commBoxManager=commBoxManager;this.callbackInfo=callbackInfo;this.onreceive=null;this.connectionObj=this.commBoxManager.connectionObj}CommBox.prototype={getCommHistory:function(option,callback){var _option=(typeof(option)=="function")?null:option;var _callback=(typeof(option)=="function")?option:callback;var allHistory=((_option==null)||(_option.allHistory==null))?false:option.allHistory;var data={type:"getcommhistory",box_id:this.boxID,all_history:allHistory};var eposmsg=MessageFactory.getCommBoxDataMessage(data);if(!this.commBoxManager.isOpened(this.getBoxId())){if(_callback!=null){_callback(this.ERROR_NOT_OPENED,null,eposmsg.sequence)}return eposmsg.sequence}this.callbackInfo.addCallback(_callback,eposmsg.sequence);this.connectionObj.emit(eposmsg);return eposmsg.sequence},send:function(message,memberID,callback){var data={type:"send",box_id:this.boxID,message:message,member_id:memberID};var eposmsg=MessageFactory.getCommBoxDataMessage(data);if(!this.commBoxManager.isOpened(this.getBoxId())){if(callback!=null){callback(this.ERROR_NOT_OPENED,0,eposmsg.sequence)}return eposmsg.sequence}this.callbackInfo.addCallback(callback,eposmsg.sequence);this.connectionObj.emit(eposmsg);return eposmsg.sequence},client_getcommhistory:function(data,sq){var code=data.code;var historyList=data.history_list;var getCommHistoryCB=this.callbackInfo.getCallback(sq);this.callbackInfo.removeCallback(sq);if(getCommHistoryCB!=null){getCommHistoryCB(code,historyList,sq)}return},client_send:function(data,sq){var code=data.code;var count=data.count;var sendCB=this.callbackInfo.getCallback(sq);this.callbackInfo.removeCallback(sq);if(sendCB!=null){sendCB(code,count,sq)}return},client_onreceive:function(data,sq){var rcvData=new Object();rcvData.senderId=data.sender_id;rcvData.receiverId=data.receiver_id;rcvData.message=data.message;if(this.onreceive!=null){this.onreceive(rcvData)}return},getBoxId:function(){return this.boxID}};function CommBoxManager(){this.ERROR_OK="OK";this.ERROR_BOX_COUNT_OVER="BOX_COUNT_OVER";this.ERROR_BOX_CLIENT_OVER="BOX_CLIENT_OVER";this.ERROR_MEMBERID_ALREADY_USED="MEMBERID_ALREADY_USED";this.ERROR_ALREADY_OPENED="ALREADY_OPENED";this.ERROR_NOT_OPENED="NOT_OPENED";this.ERROR_PARAMETER_ERROR="PARAMETER_ERROR";this.ERROR_SYSTEM_ERROR="SYSTEM_ERROR";this.callbackInfo=new callbackInfo();this.commBoxList=new Array();this.connectionObj=null}CommBoxManager.prototype={setConnectionObject:function(connectionObj){this.connectionObj=connectionObj},openCommBox:function(boxID,option,callback){var memberID="";if(option!=null&&option.memberID!=null){memberID=option.memberID}var data={box_id:boxID,member_id:memberID};var eposmsg=MessageFactory.getOpenCommBoxMessage(data);if(!this.connectionObj.isUsableDeviceIF()){callback(null,this.ERROR_SYSTEM_ERROR,eposmsg.sequence);return eposmsg.sequence}this.connectionObj.emit(eposmsg);this.callbackInfo.addCallback(callback,eposmsg.sequence);return eposmsg.sequence},closeCommBox:function(boxObj,callback){var data={box_id:boxID};var eposmsg=MessageFactory.getCloseCommBoxMessage(data);try{var boxID=boxObj.getBoxId();data.box_id=boxID;eposmsg=MessageFactory.getCloseCommBoxMessage(data);if(!this.isOpened(boxID)){if(callback!=null){callback(this.ERROR_NOT_OPENED,eposmsg.sequence)}return eposmsg.sequence}this.connectionObj.emit(eposmsg)}catch(e){if(callback!=null){callback(this.ERROR_PARAMETER_ERROR,eposmsg.sequence)}}this.callbackInfo.addCallback(callback,eposmsg.sequence);return eposmsg.sequence},client_opencommbox:function(data,sq){var boxID=data.box_id;var code=data.code;var commBoxObj=null;if(code==this.ERROR_OK&&this.getCommBox(boxID)==null){commBoxObj=new CommBox(boxID,this,this.callbackInfo)}if(commBoxObj!=null){this.commBoxList.push(commBoxObj)}var openCommBoxCB=this.callbackInfo.getCallback(sq);this.callbackInfo.removeCallback(sq);if(openCommBoxCB!=null){openCommBoxCB(commBoxObj,code,sq)}return},client_closecommbox:function(data,sq){var boxID=data.box_id;var code=data.code;this.removeCommBox(boxID);var closeCommBoxCB=this.callbackInfo.getCallback(sq);this.callbackInfo.removeCallback(sq);if(closeCommBoxCB!=null){closeCommBoxCB(code,sq)}return},executeCommDataCallback:function(data,sq){var boxID=data.box_id;var commBoxObj=this.getCommBox(boxID);var method="client_"+data.type;try{eval("commBoxObj."+method+"(data, sq)")}catch(e){throw new Error("")}return},getCommBox:function(boxID){var commBoxObj=null;for(var i=0;i<this.commBoxList.length;i++){if(this.commBoxList[i].getBoxId()==boxID){commBoxObj=this.commBoxList[i];break}}return commBoxObj},removeCommBox:function(boxID){var result=false;for(var i=0;i<this.commBoxList.length;i++){if(this.commBoxList[i].getBoxId()==boxID){this.commBoxList.splice(i,1);result=true;break}}return result},isOpened:function(boxID){var result=false;for(var i=0;i<this.commBoxList.length;i++){if(this.commBoxList[i].getBoxId()==boxID){result=true;break}}return result}};function DeviceObjectSelector(){this.type2objectMap={type_scanner:"Scanner",type_keyboard:"Keyboard",type_poskeyboard:"POSKeyboard",type_msr:"MSR",type_cat:"CAT",type_cash_changer:"CashChanger",type_printer:"Printer",type_display:"Display",type_simple_serial:"SimpleSerial",type_hybrid_printer:"HybridPrinter",type_hybrid_printer2:"HybridPrinter2",type_dt:"DeviceTerminal",type_other_peripheral:"OtherPeripheral"};this.connectionObj=null}DeviceObjectSelector.prototype={setConnectionObject:function(connectionObj){this.connectionObj=connectionObj},isSelectable:function(deviceType){if(this.connectionObj.isUsableDeviceIF()){return true}else{if(deviceType=="type_printer"&&this.connectionObj.isUsablePrintIF()){return true}else{if(deviceType=="type_display"&&this.connectionObj.isUsableDisplayIF()){return true}}}return false},select:function(deviceId,deviceType,specificDevice,isCrypto,ePOSDeviceContext){var deviceObjectName="";if(typeof(specificDevice)=="string"){deviceObjectName=specificDevice}else{deviceObjectName=this.type2objectMap[deviceType]}var templateObject=null;try{templateObject=eval(deviceObjectName)}catch(e){throw new Error("ERROR_PARAMETER")}if(typeof(templateObject)!="function"){throw new Error("ERROR_PARAMETER")}if((deviceObjectName=="Printer")||(deviceObjectName=="Display")||(deviceObjectName=="HybridPrinter")||(deviceObjectName=="HybridPrinter2")){return new templateObject(deviceId,isCrypto,ePOSDeviceContext)}else{return new templateObject(deviceId,isCrypto)}}};function CashChanger(deviceID,isCrypto){this.CONFIG_LEFT_CASH="CONFIG_LEFT_CASH";this.CONFIG_COUNT_MODE="CONFIG_COUNT_MODE";this.MODE_MANUAL_INPUT="MODE_MANUAL_INPUT";this.MODE_AUTOCOUNT="MODE_AUTO_COUNT";this.DEPOSIT_CHANGE="DEPOSIT_CHANGE";this.DEPOSIT_NOCHANGE="DEPOSIT_NOCHANGE";this.DEPOSIT_REPAY="DEPOSIT_REPAY";this.COLLECT_ALL_CASH="ALL_CASH";this.COLLECT_PART_OF_CASH="PART_OF_CASH";this.SUE_POWER_ONLINE=2001;this.SUE_POWER_OFF=2002;this.SUE_POWER_OFFLINE=2003;this.SUE_POWER_OFF_OFFLINE=2004;this.SUE_STATUS_EMPTY=11;this.SUE_STATUS_NEAREMPTY=12;this.SUE_STATUS_EMPTYOK=13;this.SUE_STATUS_FULL=21;this.SUE_STATUS_NEARFULL=22;this.SUE_STATUS_FULLOK=23;this.SUE_STATUS_JAM=31;this.SUE_STATUS_JAMOK=32;this.deviceID=deviceID;this.isCrypto=isCrypto;this.connectionObj=null}CashChanger.prototype={setConnectionObject:function(connectionObj){this.connectionObj=connectionObj},client_oncashcounts:function(data){try{if(this.oncashcounts==null){return}this.oncashcounts(data)}catch(e){}return},client_onstatuschange:function(data){try{if(this.onstatuschange==null){return}this.onstatuschange(data)}catch(e){}return},client_ondeposit:function(data){try{if(this.ondeposit==null){return}this.ondeposit(data)}catch(e){}return},client_ondispense:function(data){try{if(this.ondispense==null){return}this.ondispense(data)}catch(e){}return},client_oncollect:function(data){try{if(this.oncollect==null){return}this.oncollect(data)}catch(e){}return},client_onconfigchange:function(data){try{if(this.onconfigchange==null){return}this.onconfigchange(data)}catch(e){}return},client_oncommandreply:function(data){try{if(this.oncommandreply==null){return}if(typeof data.command!=""){}else{var hexData=data.data;hexData=hexData.replace(/[0-9a-fA-F]{2}/g,function(c){var hexNum=parseInt(c,16);return String.fromCharCode(hexNum)});data.data=hexData}this.oncommandreply(data)}catch(e){}return},client_ondirectio:function(data){try{if(this.ondirectio==null){return}this.ondirectio(data)}catch(e){}return},client_onstatusupdate:function(data){try{if(this.onstatusupdate==null){return}this.onstatusupdate(data)}catch(e){}return},readCashCounts:function(){var data={type:"readcashcounts"};return this.send(data)},beginDeposit:function(){var data={type:"begindeposit"};return this.send(data)},pauseDeposit:function(){var data={type:"pausedeposit"};return this.send(data)},restartDeposit:function(){var data={type:"restartdeposit"};return this.send(data)},endDeposit:function(cmd){var data={type:"enddeposit",cmd:cmd};return this.send(data)},dispenseCash:function(data){var data_;if(typeof data=="object"){data_=data;data_.type="dispensecash"}else{data_={type:"dispensecash",cash:data}}return this.send(data_)},dispenseChange:function(cash){var data_;if(typeof cash=="object"){data_=cash;data_.type="dispensechange"}else{data_={type:"dispensechange",cash:cash}}return this.send(data_)},openDrawer:function(){var data={type:"opendrawer"};return this.send(data)},collectCash:function(collectMode){var data={type:"collectcash",collectmode:collectMode};return this.send(data)},setConfig:function(config,value){var data=null;switch(config){case this.CONFIG_COUNT_MODE:data={type:"setconfig",config:config,mode:value.mode};break;case this.CONFIG_LEFT_CASH:if((value.bills==null)||(value.bills=="")){value.bills="0"}if((value.coins==null)||(value.coins=="")){value.coins="0"}data={type:"setconfig",config:config,bills:value.bills,coins:value.coins};break;default:break}var sq=-1;if(data!=null){sq=this.send(data)}return sq},sendCommand:function(command){var data;if(typeof command=="object"){data=command;data.type="sendcommand"}else{data={type:"sendcommand",command:toHexBinary(command)}}return this.send(data)},callEvent:function(eventName,data){var eventReq=data;eventReq.type=eventName;return this.send(eventReq)},send:function(data){var eposmsg=MessageFactory.getDeviceDataMessage(this.deviceID,data,this.isCrypto);var sequence=-1;try{this.connectionObj.emit(eposmsg);sequence=eposmsg.sequence}catch(e){}return sequence}};function CAT(deviceID,isCrypto){this.SUE_LOGSTATUS_OK=0;this.SUE_LOGSTATUS_NEARFULL=1;this.SUE_LOGSTATUS_FULL=2;this.SUE_POWER_ONLINE=2001;this.SUE_POWER_OFF_OFFLINE=2004;this.deviceID=deviceID;this.isCrypto=isCrypto;this.timeout=0;this.trainingMode=false;this.connectionObj=null}CAT.prototype={setConnectionObject:function(connectionObj){this.connectionObj=connectionObj},authorizeSales:function(data){var _data={service:data.service,total_amount:data.totalAmount,sequence:data.sequence};_data.type="authorizesales";_data.training=this.trainingMode;_data.timeout=this.timeout;return this.send(_data)},authorizeVoid:function(data){var _data={service:data.service,total_amount:data.totalAmount,sequence:data.sequence};_data.type="authorizevoid";_data.training=this.trainingMode;_data.timeout=this.timeout;return this.send(_data)},authorizeRefund:function(data){var _data={service:data.service,total_amount:data.totalAmount,sequence:data.sequence};_data.type="authorizerefund";_data.training=this.trainingMode;_data.timeout=this.timeout;return this.send(_data)},authorizeCompletion:function(data){var _data={service:data.service,total_amount:data.totalAmount,sequence:data.sequence};_data.type="authorizecompletion";_data.training=this.trainingMode;_data.timeout=this.timeout;return this.send(_data)},accessDailyLog:function(data){var _data={service:data.service,total_amount:data.totalAmount,sequence:data.sequence};_data.type="accessdailylog";_data.training=this.trainingMode;_data.timeout=this.timeout;return this.send(_data)},sendCommand:function(data){var _data={service:data.service,command:data.command,data:data.data,string:data.string};_data.type="sendcommand";_data.training=this.trainingMode;return this.send(_data)},send:function(data){var tmp=this.deviceID;var eposmsg=MessageFactory.getDeviceDataMessage(this.deviceID,data,this.isCrypto);var sequence=-1;try{this.connectionObj.emit(eposmsg);sequence=eposmsg.sequence}catch(e){}return sequence},client_onauthorizesales:function(data){try{if(this.onauthorizesales==null){return}this.onauthorizesales(this.getResultObject(data))}catch(e){}return},client_onauthorizevoid:function(data){try{if(this.onauthorizevoid==null){return}this.onauthorizevoid(this.getResultObject(data))}catch(e){}return},client_onauthorizerefund:function(data){try{if(this.onauthorizerefund==null){return}this.onauthorizerefund(this.getResultObject(data))}catch(e){}return},client_onauthorizecompletion:function(data){try{if(this.onauthorizecompletion==null){return}this.onauthorizecompletion(this.getResultObject(data))}catch(e){}return},client_onaccessdailylog:function(data){try{if(this.onaccessdailylog==null){return}this.onaccessdailylog(this.getDailyLogObject(data))}catch(e){}return},client_oncommandreply:function(data){try{if(this.oncommandreply==null){return}this.oncommandreply(this.getCommandReplyObject(data))}catch(e){}return},client_onstatusupdate:function(data){try{if(this.onstatusupdate==null){return}this.onstatusupdate(data)}catch(e){}return},getResultObject:function(data){return({status:data.status,sequence:data.sequence,service:data.service,accountNumber:data.account_number,settledAmount:data.settled_amount,slipNumber:data.slip_number,kid:data.kid,approvalCode:data.approval_code,transactionNumber:data.transaction_number,paymentCondition:data.payment_condition,voidSlipNumber:data.void_slip_number,balance:data.balance})},getDailyLogObject:function(data){var dailylogData={};dailylogData.status=data.status;dailylogData.service=data.service;dailylogData.sequence=data.sequence;var logList=[];try{data.daily_log.forEach(function(log){var logData={};if(log===0){throw logList}logData.kid=log.kid;logData.salesCount=log.sales_count;logData.salesAmount=log.sales_amount;logData.voidCount=log.void_count;logData.voidAmount=log.void_amount;logList.push(logData)})}catch(e){}dailylogData.dailyLog=logList;return dailylogData},getCommandReplyObject:function(data){return({status:data.status,command:data.command,data:data.data,string:data.string,service:data.service,sequence:data.sequence,accountNumber:data.account_number,settledAmount:data.settled_amount,slipNumber:data.slip_number,transactionNumber:data.transaction_number,paymentCondition:data.payment_condition,balance:data.balance,additionalSecurityInformation:data.additional_security_information,})},callEvent:function(eventName,data){var eventReq=data;eventReq.type=eventName;return this.send(eventReq)}};function DeviceTerminal(deviceID,isCrypto){this.deviceID=deviceID;this.isCrypto=isCrypto;this.onshutdown=null;this.onrestart=null;this.connectionObj=null}DeviceTerminal.prototype={setConnectionObject:function(connectionObj){this.connectionObj=connectionObj},shutdown:function(password,callback){this.onshutdown=callback;var data={type:"shutdown",password:password};return this.send(data)},client_onshutdown:function(data){try{if(typeof(this.onshutdown)!="function"){return}this.onshutdown(data)}catch(e){}return},restart:function(password,callback){this.onrestart=callback;var data={type:"restart",password:password};return this.send(data)},client_onrestart:function(data){try{if(typeof(this.onrestart)!="function"){return}this.onrestart(data)}catch(e){}return},send:function(data){var eposmsg=MessageFactory.getDeviceDataMessage(this.deviceID,data,this.isCrypto);var sequence=-1;try{this.connectionObj.emit(eposmsg);sequence=eposmsg.sequence}catch(e){}return sequence}};function Display(deviceID,isCrypto,ePOSDeviceContext){this.message="";this.deviceID=deviceID;this.isCrypto=isCrypto;this.ePosDev=ePOSDeviceContext;this.timeout=10000;this.onreceive=null;this.onerror=null;this.ASB_NO_RESPONSE=1;this.ASB_DISPLAY_SUCCESS=2;this.SCROLL_OVERWRITE="overwrite";this.SCROLL_VERTICAL="v_scroll";this.SCROLL_HORIZONTAL="h_scroll";this.MOVE_TOP_LEFT="top_left";this.MOVE_TOP_RIGHT="top_right";this.MOVE_BOTTOM_LEFT="bottom_left";this.MOVE_BOTTOM_RIGHT="bottom_right";this.CURSOR_NONE="none";this.CURSOR_UNDERLINE="underline";this.BRIGHTNESS_20=20;this.BRIGHTNESS_40=40;this.BRIGHTNESS_60=60;this.BRIGHTNESS_100=100;this.MARQUEE_WALK="walk";this.MARQUEE_PLACE="place";this.connectionObj=null}Display.prototype.setConnectionObject=function(connectionObj){this.connectionObj=connectionObj};Display.prototype.reset=function(){try{this.message+="<reset />"}catch(e){throw e}return this};Display.prototype.createWindow=function(number,x,y,width,hight,scrollMode){try{var s="";s+=getIntAttr("number",number,1,4);s+=getIntAttr("x",x,1,20);s+=getIntAttr("y",y,1,2);s+=getIntAttr("width",width,1,(21-x));s+=getIntAttr("height",hight,1,(3-y));s+=getEnumAttr("scrollmode",scrollMode,regexScrollMode);this.message+="<window"+s+"/>"}catch(e){throw e}return this};Display.prototype.destroyWindow=function(number){try{var s="";s+=getIntAttr("number",number,1,4);this.message+="<window"+s+' destroy="true"/>'}catch(e){throw e}return this};Display.prototype.setCurrentWindow=function(number){try{var s="";s+=getIntAttr("number",number,1,4);this.message+="<window"+s+"/>"}catch(e){throw e}return this};Display.prototype.setCursorPosition=function(){try{var s="";s+=getIntAttr("x",arguments[0],1,20);s+=getIntAttr("y",arguments[1],1,2);this.message+="<cursor"+s+"/>"}catch(e){throw e}return this};Display.prototype.moveCursorPosition=function(){try{var s="";s+=getEnumAttr("moveto",arguments[0],regexMoveto);this.message+="<cursor"+s+"/>"}catch(e){throw e}return this};Display.prototype.setCursorType=function(underline){try{var s="";s+=getEnumAttr("type",underline,regexUnderline);this.message+="<cursor"+s+"/>"}catch(e){throw e}return this};Display.prototype.addText=function(){try{var s="";switch(arguments.length){case 1:break;case 2:s+=' lang="'+arguments[1]+'"';break;case 3:s+=getIntAttr("x",arguments[1],1,20);s+=getIntAttr("y",arguments[2],1,2);break;case 4:s+=getIntAttr("x",arguments[1],1,20);s+=getIntAttr("y",arguments[2],1,2);s+=' lang="'+arguments[3]+'"';break;default:throw new Error("Parameters are invalid");break}this.message+="<text"+s+">"+escapeMarkup(arguments[0])+"</text>"}catch(e){throw e}return this};Display.prototype.addReverseText=function(){try{var s="";switch(arguments.length){case 1:s+=getBoolAttr("reverse",true);break;case 2:s+=' lang="'+arguments[1]+'"';s+=getBoolAttr("reverse",true);break;case 3:s+=getIntAttr("x",arguments[1],1,20);s+=getIntAttr("y",arguments[2],1,2);s+=getBoolAttr("reverse",true);break;case 4:s+=getIntAttr("x",arguments[1],1,20);s+=getIntAttr("y",arguments[2],1,2);s+=' lang="'+arguments[3]+'"';s+=getBoolAttr("reverse",true);break;default:throw new Error("Parameters are invalid");break}this.message+="<text"+s+">"+escapeMarkup(arguments[0])+"</text>"}catch(e){throw e}return this};Display.prototype.clearWindow=function(){try{this.message+="<clear/>"}catch(e){throw e}return this};Display.prototype.setBlink=function(interval){try{var s="";s+=getUShortAttr("interval",interval);this.message+="<blink"+s+"/>"}catch(e){throw e}return this};Display.prototype.setBrightness=function(value){try{var s="";s+=getEnumAttr("value",value,regexBrightness);this.message+="<brightness"+s+"/>"}catch(e){throw e}return this};Display.prototype.addMarquee=function(text,format,uwait,rwait,repeat,lang){try{var s="";s+=getEnumAttr("format",format,regexMarquee);s+=getIntAttr("uwait",uwait,0,2000);s+=getIntAttr("rwait",rwait,100,2000);s+=getIntAttr("repeat",repeat,0,127);if((typeof lang)!=="undefined"){s+=' lang="'+lang+'"'}this.message+="<marquee"+s+">"+escapeMarkup(text)+"</marquee>"}catch(e){throw e}return this};Display.prototype.showClock=function(){try{this.message+="<clock/>"}catch(e){throw e}return this};Display.prototype.addCommand=function(text){try{this.message+="<command>"+toHexBinary(text)+"</command>"}catch(e){throw e}return this};Display.prototype.send=function(){var sq=-1;if((!this.ePosDev.eposprint)&&(this.connectionObj.isUsableDeviceIF())){try{var xml=this.toString();var data={type:"display",timeout:this.timeout,displaydata:xml};var eposmsg=MessageFactory.getDeviceDataMessage(this.deviceID,data,this.isCrypto);this.connectionObj.emit(eposmsg);sq=eposmsg.sequence;this.message=""}catch(e){sq=-1}}else{var self=this,address=this.connectionObj.getAddressWithProtocol()+"/cgi-bin/eposDisp/service.cgi?devid="+this.deviceID+"&timeout="+this.timeout,soap,xhr,tid,res,success,code,status;res={};soap='<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">';soap+="<s:Body>"+this.toString()+"</s:Body></s:Envelope>";if(window.XMLHttpRequest){xhr=new XMLHttpRequest();if(!("withCredentials" in xhr)&&window.XDomainRequest){xhr=new XDomainRequest();xhr.open("POST",address,true);xhr.onload=function(){res=xhr.responseText;if(/response/.test(res)){success=/success\s*=\s*"\s*(1|true)\s*"/.test(res);code=res.match(/code\s*=\s*"\s*(\S*)\s*"/)?RegExp.$1:"";status=res.match(/status\s*=\s*"\s*(\d+)\s*"/)?parseInt(RegExp.$1):0;self.fireReceiveEvent(success,code,status,0)}else{self.fireErrorEvent(0,xhr.responseText,0)}};xhr.onerror=function(){self.fireErrorEvent(0,xhr.responseText,0)};xhr.onprogress=function(){};xhr.ontimeout=xhr.onerror;xhr.timeout=self.timeout;xhr.send(soap)}else{xhr.open("POST",address,true);xhr.setRequestHeader("Content-Type","text/xml; charset=utf-8");xhr.setRequestHeader("If-Modified-Since","Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("SOAPAction",'""');xhr.onreadystatechange=function(){if(xhr.readyState==4){clearTimeout(tid);if(xhr.status==200&&xhr.responseXML){res=xhr.responseXML.getElementsByTagName("response");if(res.length>0){success=/^(1|true)$/.test(res[0].getAttribute("success"));code=res[0].hasAttribute("code")?res[0].getAttribute("code"):"";status=res[0].hasAttribute("status")?parseInt(res[0].getAttribute("status")):0;self.fireReceiveEvent(success,code,status,0)}else{self.fireErrorEvent(xhr.status,xhr.responseText,0)}}else{self.fireErrorEvent(xhr.status,xhr.responseText,0)}}};tid=setTimeout(function(){xhr.abort()},this.timeout);xhr.send(soap)}this.message=""}else{throw new Error("XMLHttpRequest is not supported")}sq=0}return sq};Display.prototype.fireReceiveEvent=function(success,code,status,sq){if(code=="EX_ENPC_TIMEOUT"){code="ERROR_DEVICE_BUSY"}if(this.onreceive){this.onreceive({success:success,code:code,status:status},sq)}};Display.prototype.fireErrorEvent=function(status,responseText,sq){if(this.onerror){this.onerror({status:0,responseText:this.ASB_NO_RESPONSE},sq)}this.ePosDev.cleanup()};Display.prototype.client_onxmlresult=function(res,sq){if(res){var xml=res.resultdata;var success=/success\s*=\s*"\s*(1|true)\s*"/.test(xml);xml.match(/code\s*=\s*"\s*(\S*)\s*"/);var code=RegExp.$1;xml.match(/status\s*=\s*"\s*(\d+)\s*"/);var status=parseInt(RegExp.$1);if(this.onreceive){this.onreceive({success:success,code:code,status:status},sq)}}else{if(this.onerror){this.onerror({status:0,responseText:this.ASB_NO_RESPONSE},sq)}this.ePosDev.cleanup()}};Display.prototype.toString=function(){var epos='<epos-display xmlns="http://www.epson-pos.com/schemas/2012/09/epos-display">'+this.message+"</epos-display>";return epos};Display.prototype.setXmlString=function(xml){this.message=xml};Display.prototype.getXmlString=function(){return this.message};Display.prototype.callEvent=function(eventName,data){var eventReq={type:eventName,data:data};var eposmsg=MessageFactory.getDeviceDataMessage(this.deviceID,data,this.isCrypto);var sequence=-1;try{this.connectionObj.emit(eposmsg);sequence=eposmsg.sequence}catch(e){}return sequence};var regexBrightness=/^(20|40|60|100)$/;var regexScrollMode=/^(overwrite|v_scroll|h_scroll)$/;var regexMoveto=/^(top_left|top_right|bottom_left|bottom_right)$/;var regexUnderline=/^(none|underline)$/;var regexMarquee=/^(walk|place)$/;function OtherPeripheral(deviceID,isCrypto){this.deviceID=deviceID;this.isCrypto=isCrypto;this.connectionObj=null}OtherPeripheral.prototype={setConnectionObject:function(connectionObj){this.connectionObj=connectionObj},send:function(methodName,data){var _data={};for(var key in data){_data[key]=data[key]}_data.type=methodName;var eposmsg=MessageFactory.getDeviceDataMessage(this.deviceID,_data,this.isCrypto);var sequence=-1;try{this.connectionObj.emit(eposmsg);sequence=eposmsg.sequence}catch(e){}return sequence},client_onreceive:function(data){try{var eventData=data;delete eventData.type;this.onreceive(data.type,eventData)}catch(e){}return},callEvent:function(eventName,data){var eventReq={type:eventName,data:data};var eposmsg=MessageFactory.getDeviceDataMessage(this.deviceID,data,this.isCrypto);var sequence=-1;try{this.connectionObj.emit(eposmsg);sequence=eposmsg.sequence}catch(e){}return sequence}};function Keyboard(deviceID,isCrypto){this.VK_CANCEL=3;this.VK_BACK=8;this.VK_TAB=9;this.VK_RETURN=13;this.VK_SHIFT=16;this.VK_CONTROL=17;this.VK_MENU=18;this.VK_PAUSE=19;this.VK_CAPITAL=20;this.VK_KANA=21;this.VK_ESCAPE=27;this.VK_CONVERT=28;this.VK_NONCONVERT=29;this.VK_SPACE=32;this.VK_PRIOR=33;this.VK_NEXT=34;this.VK_END=35;this.VK_HOME=36;this.VK_LEFT=37;this.VK_UP=38;this.VK_RIGHT=39;this.VK_DOWN=40;this.VK_INSERT=45;this.VK_DELETE=46;this.VK_0=48;this.VK_1=49;this.VK_2=50;this.VK_3=51;this.VK_4=52;this.VK_5=53;this.VK_6=54;this.VK_7=55;this.VK_8=56;this.VK_9=57;this.VK_A=65;this.VK_B=66;this.VK_C=67;this.VK_D=68;this.VK_E=69;this.VK_F=70;this.VK_G=71;this.VK_H=72;this.VK_I=73;this.VK_J=74;this.VK_K=75;this.VK_L=76;this.VK_M=77;this.VK_N=78;this.VK_O=79;this.VK_P=80;this.VK_Q=81;this.VK_R=82;this.VK_S=83;this.VK_T=84;this.VK_U=85;this.VK_V=86;this.VK_W=87;this.VK_X=88;this.VK_Y=89;this.VK_Z=90;this.VK_LWIN=91;this.VK_RWIN=92;this.VK_APPS=93;this.VK_NUMPAD0=96;this.VK_NUMPAD1=97;this.VK_NUMPAD2=98;this.VK_NUMPAD3=99;this.VK_NUMPAD4=100;this.VK_NUMPAD5=101;this.VK_NUMPAD6=102;this.VK_NUMPAD7=103;this.VK_NUMPAD8=104;this.VK_NUMPAD9=105;this.VK_MULTIPLY=106;this.VK_ADD=107;this.VK_SEPARATOR=108;this.VK_SUBTRACT=109;this.VK_DECIMAL=110;this.VK_DIVIDE=111;this.VK_F1=112;this.VK_F2=113;this.VK_F3=114;this.VK_F4=115;this.VK_F5=116;this.VK_F6=117;this.VK_F7=118;this.VK_F8=119;this.VK_F9=120;this.VK_F10=121;this.VK_F11=122;this.VK_F12=123;this.VK_NUMLOCK=144;this.VK_SCROLL=145;this.VK_LSHIFT=160;this.VK_RSHIFT=161;this.VK_LCONTROL=162;this.VK_RCONTROL=163;this.VK_LMENU=164;this.VK_RMENU=165;this.VK_OEM_1=186;this.VK_OEM_PLUS=187;this.VK_OEM_COMMA=188;this.VK_OEM_MINUS=189;this.VK_OEM_PERIOD=190;this.VK_OEM_2=191;this.VK_OEM_3=192;this.VK_OEM_4=219;this.VK_OEM_5=220;this.VK_OEM_6=221;this.VK_OEM_7=222;this.VK_OEM_102=226;this.VK_OEM_ATTN=240;this.deviceID=deviceID;this.isCrypto=isCrypto;this.connectionObj=null}Keyboard.prototype={setConnectionObject:function(connectionObj){this.connectionObj=connectionObj},client_onkeypress:function(data){try{if(this.onkeypress==null){return}this.onkeypress(data)}catch(e){}return},client_onstring:function(data){try{if(this.onstring==null){return}this.onstring(data)}catch(e){}return},setPrefix:function(keycodes){var data={type:"setprefix"};if(typeof keycodes=="object"){if((keycodes.length==0)){return -1}data.keycodes=keycodes}else{if((keycodes==null)||(keycodes=="")){return -1}data.keycodes=[keycodes]}var eposmsg=MessageFactory.getDeviceDataMessage(this.deviceID,data,this.isCrypto);var sequence=-1;try{this.connectionObj.emit(eposmsg);sequence=eposmsg.sequence}catch(e){}return sequence},callEvent:function(eventName,data){var eventReq=data;eventReq.type=eventName;var eposmsg=MessageFactory.getDeviceDataMessage(this.deviceID,eventReq,this.isCrypto);var sequence=-1;try{this.connectionObj.emit(eposmsg);sequence=eposmsg.sequence}catch(e){}return sequence}};function MSR(deviceID,isCrypto){this.deviceID=deviceID;this.isCrypto=isCrypto;this.connectionObj=null}MSR.prototype={setConnectionObject:function(connectionObj){this.connectionObj=connectionObj},client_ondata:function(data){try{if(this.ondata==null){return}this.ondata(data)}catch(e){}return},callEvent:function(eventName,data){var eventReq=data;eventReq.type=eventName;var eposmsg=MessageFactory.getDeviceDataMessage(this.deviceID,eventReq,this.isCrypto);var sequence=-1;try{this.connectionObj.emit(eposmsg);sequence=eposmsg.sequence}catch(e){}return sequence}};
odoo-14.0.0+dfsg/addons/pos_epson_printer/static/lib/epos-2.12.0.js-3-/*! Based JavaScript is ePOS-Print API Version 5.0.0 */
odoo-14.0.0+dfsg/addons/pos_epson_printer/static/lib/epos-2.12.0.js:4:function ePOSBuilder(){this.message="";this.halftone=0;this.brightness=1;this.force=false;this.FONT_A="font_a";this.FONT_B="font_b";this.FONT_C="font_c";this.FONT_D="font_d";this.FONT_E="font_e";this.FONT_SPECIAL_A="special_a";this.FONT_SPECIAL_B="special_b";this.ALIGN_LEFT="left";this.ALIGN_CENTER="center";this.ALIGN_RIGHT="right";this.COLOR_NONE="none";this.COLOR_1="color_1";this.COLOR_2="color_2";this.COLOR_3="color_3";this.COLOR_4="color_4";this.FEED_PEELING="peeling";this.FEED_CUTTING="cutting";this.FEED_CURRENT_TOF="current_tof";this.FEED_NEXT_TOF="next_tof";this.MODE_MONO="mono";this.MODE_GRAY16="gray16";this.BARCODE_UPC_A="upc_a";this.BARCODE_UPC_E="upc_e";this.BARCODE_EAN13="ean13";this.BARCODE_JAN13="jan13";this.BARCODE_EAN8="ean8";this.BARCODE_JAN8="jan8";this.BARCODE_CODE39="code39";this.BARCODE_ITF="itf";this.BARCODE_CODABAR="codabar";this.BARCODE_CODE93="code93";this.BARCODE_CODE128="code128";this.BARCODE_GS1_128="gs1_128";this.BARCODE_GS1_DATABAR_OMNIDIRECTIONAL="gs1_databar_omnidirectional";this.BARCODE_GS1_DATABAR_TRUNCATED="gs1_databar_truncated";this.BARCODE_GS1_DATABAR_LIMITED="gs1_databar_limited";this.BARCODE_GS1_DATABAR_EXPANDED="gs1_databar_expanded";this.HRI_NONE="none";this.HRI_ABOVE="above";this.HRI_BELOW="below";this.HRI_BOTH="both";this.SYMBOL_PDF417_STANDARD="pdf417_standard";this.SYMBOL_PDF417_TRUNCATED="pdf417_truncated";this.SYMBOL_QRCODE_MODEL_1="qrcode_model_1";this.SYMBOL_QRCODE_MODEL_2="qrcode_model_2";this.SYMBOL_QRCODE_MICRO="qrcode_micro";this.SYMBOL_MAXICODE_MODE_2="maxicode_mode_2";this.SYMBOL_MAXICODE_MODE_3="maxicode_mode_3";this.SYMBOL_MAXICODE_MODE_4="maxicode_mode_4";this.SYMBOL_MAXICODE_MODE_5="maxicode_mode_5";this.SYMBOL_MAXICODE_MODE_6="maxicode_mode_6";this.SYMBOL_GS1_DATABAR_STACKED="gs1_databar_stacked";this.SYMBOL_GS1_DATABAR_STACKED_OMNIDIRECTIONAL="gs1_databar_stacked_omnidirectional";this.SYMBOL_GS1_DATABAR_EXPANDED_STACKED="gs1_databar_expanded_stacked";this.SYMBOL_AZTECCODE_FULLRANGE="azteccode_fullrange";this.SYMBOL_AZTECCODE_COMPACT="azteccode_compact";this.SYMBOL_DATAMATRIX_SQUARE="datamatrix_square";this.SYMBOL_DATAMATRIX_RECTANGLE_8="datamatrix_rectangle_8";this.SYMBOL_DATAMATRIX_RECTANGLE_12="datamatrix_rectangle_12";this.SYMBOL_DATAMATRIX_RECTANGLE_16="datamatrix_rectangle_16";this.LEVEL_0="level_0";this.LEVEL_1="level_1";this.LEVEL_2="level_2";this.LEVEL_3="level_3";this.LEVEL_4="level_4";this.LEVEL_5="level_5";this.LEVEL_6="level_6";this.LEVEL_7="level_7";this.LEVEL_8="level_8";this.LEVEL_L="level_l";this.LEVEL_M="level_m";this.LEVEL_Q="level_q";this.LEVEL_H="level_h";this.LEVEL_DEFAULT="default";this.LINE_THIN="thin";this.LINE_MEDIUM="medium";this.LINE_THICK="thick";this.LINE_THIN_DOUBLE="thin_double";this.LINE_MEDIUM_DOUBLE="medium_double";this.LINE_THICK_DOUBLE="thick_double";this.DIRECTION_LEFT_TO_RIGHT="left_to_right";this.DIRECTION_BOTTOM_TO_TOP="bottom_to_top";this.DIRECTION_RIGHT_TO_LEFT="right_to_left";this.DIRECTION_TOP_TO_BOTTOM="top_to_bottom";this.CUT_NO_FEED="no_feed";this.CUT_FEED="feed";this.CUT_RESERVE="reserve";this.DRAWER_1="drawer_1";this.DRAWER_2="drawer_2";this.PULSE_100="pulse_100";this.PULSE_200="pulse_200";this.PULSE_300="pulse_300";this.PULSE_400="pulse_400";this.PULSE_500="pulse_500";this.PATTERN_NONE="none";this.PATTERN_0="pattern_0";this.PATTERN_1="pattern_1";this.PATTERN_2="pattern_2";this.PATTERN_3="pattern_3";this.PATTERN_4="pattern_4";this.PATTERN_5="pattern_5";this.PATTERN_6="pattern_6";this.PATTERN_7="pattern_7";this.PATTERN_8="pattern_8";this.PATTERN_9="pattern_9";this.PATTERN_10="pattern_10";this.PATTERN_A="pattern_a";this.PATTERN_B="pattern_b";this.PATTERN_C="pattern_c";this.PATTERN_D="pattern_d";this.PATTERN_E="pattern_e";this.PATTERN_ERROR="error";this.PATTERN_PAPER_END="paper_end";this.LAYOUT_RECEIPT="receipt";this.LAYOUT_RECEIPT_BM="receipt_bm";this.LAYOUT_LABEL="label";this.LAYOUT_LABEL_BM="label_bm";this.HALFTONE_DITHER=0;this.HALFTONE_ERROR_DIFFUSION=1;this.HALFTONE_THRESHOLD=2}ePOSBuilder.prototype.addText=function(data){this.message+="<text>"+escapeMarkup(data)+"</text>";return this};ePOSBuilder.prototype.addTextLang=function(lang){this.message+='<text lang="'+lang+'"/>';return this};ePOSBuilder.prototype.addTextAlign=function(align){var s="";s+=getEnumAttr("align",align,regexAlign);this.message+="<text"+s+"/>";return this};ePOSBuilder.prototype.addTextRotate=function(rotate){var s="";s+=getBoolAttr("rotate",rotate);this.message+="<text"+s+"/>";return this};ePOSBuilder.prototype.addTextLineSpace=function(linespc){var s="";s+=getUByteAttr("linespc",linespc);this.message+="<text"+s+"/>";return this};ePOSBuilder.prototype.addTextFont=function(font){var s="";s+=getEnumAttr("font",font,regexFont);this.message+="<text"+s+"/>";return this};ePOSBuilder.prototype.addTextSmooth=function(smooth){var s="";s+=getBoolAttr("smooth",smooth);this.message+="<text"+s+"/>";return this};ePOSBuilder.prototype.addTextDouble=function(dw,dh){var s="";if(dw!==undefined){s+=getBoolAttr("dw",dw)}if(dh!==undefined){s+=getBoolAttr("dh",dh)}this.message+="<text"+s+"/>";return this};ePOSBuilder.prototype.addTextSize=function(width,height){var s="";if(width!==undefined){s+=getIntAttr("width",width,1,8)}if(height!==undefined){s+=getIntAttr("height",height,1,8)}this.message+="<text"+s+"/>";return this};ePOSBuilder.prototype.addTextStyle=function(reverse,ul,em,color){var s="";if(reverse!==undefined){s+=getBoolAttr("reverse",reverse)}if(ul!==undefined){s+=getBoolAttr("ul",ul)}if(em!==undefined){s+=getBoolAttr("em",em)}if(color!==undefined){s+=getEnumAttr("color",color,regexColor)}this.message+="<text"+s+"/>";return this};ePOSBuilder.prototype.addTextPosition=function(x){var s="";s+=getUShortAttr("x",x);this.message+="<text"+s+"/>";return this};ePOSBuilder.prototype.addTextVPosition=function(y){var s="";s+=getUShortAttr("y",y);this.message+="<text"+s+"/>";return this};ePOSBuilder.prototype.addFeedUnit=function(unit){var s="";s+=getUByteAttr("unit",unit);this.message+="<feed"+s+"/>";return this};ePOSBuilder.prototype.addFeedLine=function(line){var s="";s+=getUByteAttr("line",line);this.message+="<feed"+s+"/>";return this};ePOSBuilder.prototype.addFeed=function(){this.message+="<feed/>";return this};ePOSBuilder.prototype.addFeedPosition=function(pos){var s="";s+=getEnumAttr("pos",pos,regexFeed);this.message+="<feed"+s+"/>";return this};ePOSBuilder.prototype.addImage=function(context,x,y,width,height,color,mode){var s="",ht=this.halftone,br=this.brightness,imgdata,raster;getUShortAttr("x",x);getUShortAttr("y",y);s+=getUShortAttr("width",width);s+=getUShortAttr("height",height);if(color!==undefined){s+=getEnumAttr("color",color,regexColor)}if(mode!==undefined){s+=getEnumAttr("mode",mode,regexMode)}if(isNaN(ht)||ht<0||ht>2){throw new Error('Property "halftone" is invalid')}if(isNaN(br)||br<0.1||br>10){throw new Error('Property "brightness" is invalid')}imgdata=context.getImageData(x,y,width,height);raster=(mode==this.MODE_GRAY16)?toGrayImage(imgdata,br):toMonoImage(imgdata,ht,br);this.message+="<image"+s+">"+toBase64Binary(raster)+"</image>";return this};ePOSBuilder.prototype.addLogo=function(key1,key2){var s="";s+=getUByteAttr("key1",key1);s+=getUByteAttr("key2",key2);this.message+="<logo"+s+"/>";return this};ePOSBuilder.prototype.addBarcode=function(data,type,hri,font,width,height){var s="";s+=getEnumAttr("type",type,regexBarcode);if(hri!==undefined){s+=getEnumAttr("hri",hri,regexHri)}if(font!==undefined){s+=getEnumAttr("font",font,regexFont)}if(width!==undefined){s+=getUByteAttr("width",width)}if(height!==undefined){s+=getUByteAttr("height",height)}this.message+="<barcode"+s+">"+escapeControl(escapeMarkup(data))+"</barcode>";return this};ePOSBuilder.prototype.addSymbol=function(data,type,level,width,height,size){var s="";s+=getEnumAttr("type",type,regexSymbol);if(level!==undefined){s+=getEnumIntAttr("level",level,regexLevel,0,255)}if(width!==undefined){s+=getUByteAttr("width",width)}if(height!==undefined){s+=getUByteAttr("height",height)}if(size!==undefined){s+=getUShortAttr("size",size)}this.message+="<symbol"+s+">"+escapeControl(escapeMarkup(data))+"</symbol>";return this};ePOSBuilder.prototype.addHLine=function(x1,x2,style){var s="";s+=getUShortAttr("x1",x1);s+=getUShortAttr("x2",x2);if(style!==undefined){s+=getEnumAttr("style",style,regexLine)}this.message+="<hline"+s+"/>";return this};ePOSBuilder.prototype.addVLineBegin=function(x,style){var s="";s+=getUShortAttr("x",x);if(style!==undefined){s+=getEnumAttr("style",style,regexLine)}this.message+="<vline-begin"+s+"/>";return this};ePOSBuilder.prototype.addVLineEnd=function(x,style){var s="";s+=getUShortAttr("x",x);if(style!==undefined){s+=getEnumAttr("style",style,regexLine)}this.message+="<vline-end"+s+"/>";return this};ePOSBuilder.prototype.addPageBegin=function(){this.message+="<page>";return this};ePOSBuilder.prototype.addPageEnd=function(){this.message+="</page>";return this};ePOSBuilder.prototype.addPageArea=function(x,y,width,height){var s="";s+=getUShortAttr("x",x);s+=getUShortAttr("y",y);s+=getUShortAttr("width",width);s+=getUShortAttr("height",height);this.message+="<area"+s+"/>";return this};ePOSBuilder.prototype.addPageDirection=function(dir){var s="";s+=getEnumAttr("dir",dir,regexDirection);this.message+="<direction"+s+"/>";return this};ePOSBuilder.prototype.addPagePosition=function(x,y){var s="";s+=getUShortAttr("x",x);s+=getUShortAttr("y",y);this.message+="<position"+s+"/>";return this};ePOSBuilder.prototype.addPageLine=function(x1,y1,x2,y2,style){var s="";s+=getUShortAttr("x1",x1);s+=getUShortAttr("y1",y1);s+=getUShortAttr("x2",x2);s+=getUShortAttr("y2",y2);if(style!==undefined){s+=getEnumAttr("style",style,regexLine)}this.message+="<line"+s+"/>";return this};ePOSBuilder.prototype.addPageRectangle=function(x1,y1,x2,y2,style){var s="";s+=getUShortAttr("x1",x1);s+=getUShortAttr("y1",y1);s+=getUShortAttr("x2",x2);s+=getUShortAttr("y2",y2);if(style!==undefined){s+=getEnumAttr("style",style,regexLine)}this.message+="<rectangle"+s+"/>";return this};ePOSBuilder.prototype.addCut=function(type){var s="";if(type!==undefined){s+=getEnumAttr("type",type,regexCut)}this.message+="<cut"+s+"/>";return this};ePOSBuilder.prototype.addPulse=function(drawer,time){var s="";if(drawer!==undefined){s+=getEnumAttr("drawer",drawer,regexDrawer)}if(time!==undefined){s+=getEnumAttr("time",time,regexPulse)}this.message+="<pulse"+s+"/>";return this};ePOSBuilder.prototype.addSound=function(pattern,repeat,cycle){var s="";if(pattern!==undefined){s+=getEnumAttr("pattern",pattern,regexPattern)}if(repeat!==undefined){s+=getUByteAttr("repeat",repeat)}if(cycle!==undefined){s+=getUShortAttr("cycle",cycle)}this.message+="<sound"+s+"/>";return this};ePOSBuilder.prototype.addLayout=function(type,width,height,margin_top,margin_bottom,offset_cut,offset_label){var s="";s+=getEnumAttr("type",type,regexLayout);if(width!==undefined){s+=getUShortAttr("width",width)}if(height!==undefined){s+=getUShortAttr("height",height)}if(margin_top!==undefined){s+=getShortAttr("margin-top",margin_top)}if(margin_bottom!==undefined){s+=getShortAttr("margin-bottom",margin_bottom)}if(offset_cut!==undefined){s+=getShortAttr("offset-cut",offset_cut)}if(offset_label!==undefined){s+=getShortAttr("offset-label",offset_label)}this.message+="<layout"+s+"/>";return this};ePOSBuilder.prototype.addRecovery=function(){this.message+="<recovery/>";return this};ePOSBuilder.prototype.addReset=function(){this.message+="<reset/>";return this};ePOSBuilder.prototype.addCommand=function(data){this.message+="<command>"+toHexBinary(data)+"</command>";return this};ePOSBuilder.prototype.toString=function(){var s="";if(this.force){s+=getBoolAttr("force",true)}return'<epos-print xmlns="http://www.epson-pos.com/schemas/2011/03/epos-print"'+s+">"+this.message+"</epos-print>"};function toHexBinary(s){var l=s.length,r=new Array(l),i;for(i=0;i<l;i++){r[i]=("0"+s.charCodeAt(i).toString(16)).slice(-2)}return r.join("")}function toBase64Binary(s){var l=s.length,r=new Array((l+2)/3<<2),t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",p=(3-l%3)%3,j=0,i=0,n;s+="\x00\x00";while(i<l){n=s.charCodeAt(i++)<<16|s.charCodeAt(i++)<<8|s.charCodeAt(i++);r[j++]=t.charAt(n>>18&63);r[j++]=t.charAt(n>>12&63);r[j++]=t.charAt(n>>6&63);r[j++]=t.charAt(n&63)}while(p--){r[--j]="="}return r.join("")}function toMonoImage(imgdata,s,g){var x=String.fromCharCode,m8=[[2,130,34,162,10,138,42,170],[194,66,226,98,202,74,234,106],[50,178,18,146,58,186,26,154],[242,114,210,82,250,122,218,90],[14,142,46,174,6,134,38,166],[206,78,238,110,198,70,230,102],[62,190,30,158,54,182,22,150],[254,126,222,94,246,118,214,86]],d=imgdata.data,w=imgdata.width,h=imgdata.height,r=new Array((w+7>>3)*h),n=0,p=0,q=0,t=128,e=new Array(),e1,e2,b,v,f,i,j;if(s==1){i=w;while(i--){e.push(0)}}for(j=0;j<h;j++){e1=0;e2=0;i=0;while(i<w){b=i&7;if(s==0){t=m8[j&7][b]}v=Math.pow(((d[p++]*0.29891+d[p++]*0.58661+d[p++]*0.11448)*d[p]/255+255-d[p++])/255,1/g)*255|0;if(s==1){v+=e[i]+e1>>4;f=v-(v<t?0:255);if(i>0){e[i-1]+=f}e[i]=f*7+e2;e1=f*5;e2=f*3}if(v<t){n|=128>>b}i++;if(b==7||i==w){r[q++]=x(n==16?32:n);n=0}}}return r.join("")}function toGrayImage(imgdata,g){var x=String.fromCharCode,m4=[[0,9,2,11],[13,4,15,6],[3,12,1,10],[16,7,14,5]],thermal=[0,7,13,19,23,27,31,35,40,44,49,52,54,55,57,59,61,62,64,66,67,69,70,70,71,72,73,74,75,76,77,78,79,80,81,82,83,83,84,85,86,86,87,88,88,89,90,90,91,91,92,93,93,94,94,95,96,96,97,98,98,99,99,100,101,101,102,102,103,103,104,104,105,105,106,106,107,107,108,108,109,109,110,110,111,111,112,112,112,113,113,114,114,115,115,116,116,117,117,118,118,119,119,120,120,120,121,121,122,122,123,123,123,124,124,125,125,125,126,126,127,127,127,128,128,129,129,130,130,130,131,131,132,132,132,133,133,134,134,135,135,135,136,136,137,137,137,138,138,139,139,139,140,140,141,141,141,142,142,143,143,143,144,144,145,145,146,146,146,147,147,148,148,148,149,149,150,150,150,151,151,152,152,152,153,153,154,154,155,155,155,156,156,157,157,158,158,159,159,160,160,161,161,161,162,162,163,163,164,164,165,165,166,166,166,167,167,168,168,169,169,170,170,171,171,172,173,173,174,175,175,176,177,178,178,179,180,180,181,182,182,183,184,184,185,186,186,187,189,191,193,195,198,200,202,255],d=imgdata.data,w=imgdata.width,h=imgdata.height,r=new Array((w+1>>1)*h),n=0,p=0,q=0,b,v,v1,i,j;for(j=0;j<h;j++){i=0;while(i<w){b=i&1;v=thermal[Math.pow(((d[p++]*0.29891+d[p++]*0.58661+d[p++]*0.11448)*d[p]/255+255-d[p++])/255,1/g)*255|0];v1=v/17|0;if(m4[j&3][i&3]<v%17){v1++}n|=v1<<((1-b)<<2);i++;if(b==1||i==w){r[q++]=x(n);n=0}}}return r.join("")}function escapeMarkup(s){var markup=/[<>&'"\t\n\r]/g;if(markup.test(s)){s=s.replace(markup,function(c){var r="";switch(c){case"<":r="&lt;";break;case">":r="&gt;";break;case"&":r="&amp;";break;case"'":r="&apos;";break;case'"':r="&quot;";break;case"\t":r="&#9;";break;case"\n":r="&#10;";break;case"\r":r="&#13;";break;default:break}return r})}return s}function escapeControl(s){var control=/[\\\x00-\x1f\x7f-\xff]/g;if(control.test(s)){s=s.replace(control,function(c){return(c=="\\")?"\\\\":"\\x"+("0"+c.charCodeAt(0).toString(16)).slice(-2)})}return s}var regexFont=/^(font_[a-e]|special_[ab])$/,regexAlign=/^(left|center|right)$/,regexColor=/^(none|color_[1-4])$/,regexFeed=/^(peeling|cutting|current_tof|next_tof)$/,regexMode=/^(mono|gray16)$/,regexBarcode=/^(upc_[ae]|[ej]an13|[ej]an8|code(39|93|128)|itf|codabar|gs1_128|gs1_databar_(omnidirectional|truncated|limited|expanded))$/,regexHri=/^(none|above|below|both)$/,regexSymbol=/^(pdf417_(standard|truncated)|qrcode_(model_[12]|micro)|maxicode_mode_[2-6]|gs1_databar_(stacked(_omnidirectional)?|expanded_stacked)|azteccode_(fullrange|compact)|datamatrix_(square|rectangle_(8|12|16)))$/,regexLevel=/^(level_[0-8lmqh]|default)$/,regexLine=/^(thin|medium|thick)(_double)?$/,regexDirection=/^(left_to_right|bottom_to_top|right_to_left|top_to_bottom)$/,regexCut=/^(no_feed|feed|reserve)$/,regexDrawer=/^drawer_[12]$/,regexPulse=/^pulse_[1-5]00$/,regexPattern=/^(none|pattern_(10|[0-9a-e])|error|paper_end)$/,regexLayout=/^(receipt|label)(_bm)?$/;function getEnumAttr(name,value,regex){if(!regex.test(value)){throw new Error('Parameter "'+name+'" is invalid')}return" "+name+'="'+value+'"'}function getBoolAttr(name,value){return" "+name+'="'+!!value+'"'}function getIntAttr(name,value,min,max){if(isNaN(value)||value<min||value>max){throw new Error('Parameter "'+name+'" is invalid')}return" "+name+'="'+value+'"'}function getUByteAttr(name,value){return getIntAttr(name,value,0,255)}function getUShortAttr(name,value){return getIntAttr(name,value,0,65535)}function getShortAttr(name,value){return getIntAttr(name,value,-32768,32767)}function getEnumIntAttr(name,value,regex,min,max){if(!regex.test(value)){if(isNaN(value)||value<min||value>max){throw new Error('Parameter "'+name+'" is invalid')}}return" "+name+'="'+value+'"'}function ePOSPrint(address){this.address=address;this.enabled=false;this.interval=3000;this.timeout=300000;this.status=0;this.battery=0;this.drawerOpenLevel=0;this.onreceive=null;this.onerror=null;this.onstatuschange=null;this.ononline=null;this.onoffline=null;this.onpoweroff=null;this.oncoverok=null;this.oncoveropen=null;this.onpaperok=null;this.onpaperend=null;this.onpapernearend=null;this.ondrawerclosed=null;this.ondraweropen=null;this.onbatterylow=null;this.onbatteryok=null;this.onbatterystatuschange=null;this.ASB_NO_RESPONSE=1;this.ASB_PRINT_SUCCESS=2;this.ASB_DRAWER_KICK=4;this.ASB_BATTERY_OFFLINE=4;this.ASB_OFF_LINE=8;this.ASB_COVER_OPEN=32;this.ASB_PAPER_FEED=64;this.ASB_WAIT_ON_LINE=256;this.ASB_PANEL_SWITCH=512;this.ASB_MECHANICAL_ERR=1024;this.ASB_AUTOCUTTER_ERR=2048;this.ASB_UNRECOVER_ERR=8192;this.ASB_AUTORECOVER_ERR=16384;this.ASB_RECEIPT_NEAR_END=131072;this.ASB_RECEIPT_END=524288;this.ASB_BUZZER=16777216;this.ASB_WAIT_REMOVE_LABEL=16777216;this.ASB_NO_LABEL=67108864;this.ASB_SPOOLER_IS_STOPPED=2147483648;this.DRAWER_OPEN_LEVEL_LOW=0;this.DRAWER_OPEN_LEVEL_HIGH=1}ePOSPrint.prototype=new ePOSBuilder();ePOSPrint.prototype.constructor=ePOSPrint;ePOSPrint.prototype.open=function(){if(!this.enabled){this.enabled=true;this.status=0;this.battery=0;this.send()}};ePOSPrint.prototype.close=function(){this.enabled=false;if(this.intervalid){clearTimeout(this.intervalid);delete this.intervalid}if(this.intervalxhr){this.intervalxhr.abort();delete this.intervalxhr}};ePOSPrint.prototype.getPrintJobStatus=function(printjobid){this.send(printjobid)};ePOSPrint.prototype.send=function(request,printjobid){var args=arguments.length,epos=this,address=epos.address,soap,xhr,tid,res,success,code,status,battery;if(!/^<epos/.test(request)){if(args<2){printjobid=request;request=new ePOSBuilder().toString()}else{address=request;request=printjobid;printjobid=arguments[2]}}soap='<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">';if(printjobid){soap+='<s:Header><parameter xmlns="http://www.epson-pos.com/schemas/2011/03/epos-print"><printjobid>'+printjobid+"</printjobid></parameter></s:Header>"}soap+="<s:Body>"+request+"</s:Body></s:Envelope>";if(window.XMLHttpRequest){xhr=new XMLHttpRequest();if(!("withCredentials" in xhr)&&window.XDomainRequest){xhr=new XDomainRequest();xhr.open("POST",address,true);xhr.onload=function(){res=xhr.responseText;if(/response/.test(res)){success=/success\s*=\s*"\s*(1|true)\s*"/.test(res);code=res.match(/code\s*=\s*"\s*(\S*)\s*"/)?RegExp.$1:"";status=res.match(/status\s*=\s*"\s*(\d+)\s*"/)?parseInt(RegExp.$1):0;battery=res.match(/battery\s*=\s*"\s*(\d+)\s*"/)?parseInt(RegExp.$1):0;printjobid=res.match(/<printjobid>\s*(\S*)\s*<\/printjobid>/)?RegExp.$1:"";if(args>0){fireReceiveEvent(epos,success,code,status,battery,printjobid)}else{fireStatusEvent(epos,status,battery)}}else{if(args>0){fireErrorEvent(epos,0,xhr.responseText)}else{fireStatusEvent(epos,epos.ASB_NO_RESPONSE,0)}}if(args<1){updateStatus(epos)}};xhr.onerror=function(){if(args>0){fireErrorEvent(epos,0,xhr.responseText)}else{fireStatusEvent(epos,epos.ASB_NO_RESPONSE,0);updateStatus(epos)}};xhr.onprogress=function(){};xhr.ontimeout=xhr.onerror;xhr.timeout=epos.timeout;xhr.send(soap)}else{xhr.open("POST",address,true);xhr.setRequestHeader("Content-Type","text/xml; charset=utf-8");xhr.setRequestHeader("If-Modified-Since","Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("SOAPAction",'""');xhr.onreadystatechange=function(){if(xhr.readyState==4){clearTimeout(tid);if(xhr.status==200&&xhr.responseXML){res=xhr.responseXML.getElementsByTagName("response");if(res.length>0){success=/^(1|true)$/.test(res[0].getAttribute("success"));code=res[0].hasAttribute("code")?res[0].getAttribute("code"):"";status=res[0].hasAttribute("status")?parseInt(res[0].getAttribute("status")):0;battery=res[0].hasAttribute("battery")?parseInt(res[0].getAttribute("battery")):0;res=xhr.responseXML.getElementsByTagName("printjobid");printjobid=res.length>0?res[0].textContent:"";if(args>0){fireReceiveEvent(epos,success,code,status,battery,printjobid)}else{fireStatusEvent(epos,status,battery)}}else{if(args>0){fireErrorEvent(epos,xhr.status,xhr.responseText)}else{fireStatusEvent(epos,epos.ASB_NO_RESPONSE,0)}}}else{if(args>0){fireErrorEvent(epos,xhr.status,xhr.responseText)}else{fireStatusEvent(epos,epos.ASB_NO_RESPONSE,0)}}if(args<1){updateStatus(epos)}}};tid=setTimeout(function(){xhr.abort()},epos.timeout);xhr.send(soap)}if(args<1){epos.intervalxhr=xhr}}else{throw new Error("XMLHttpRequest is not supported")}};function fireReceiveEvent(epos,success,code,status,battery,printjobid){if(code=="EX_ENPC_TIMEOUT"){code="ERROR_DEVICE_BUSY"}if(epos.onreceive){epos.onreceive({success:success,code:code,status:status,battery:battery,printjobid:printjobid})}}function fireStatusEvent(epos,status,battery){var diff,difb;if(status==0||status==epos.ASB_NO_RESPONSE){status=epos.status|epos.ASB_NO_RESPONSE}diff=epos.status==0?~0:epos.status^status;difb=epos.status==0?~0:epos.battery^battery;epos.status=status;epos.battery=battery;if(diff&&epos.onstatuschange){epos.onstatuschange(status)}if(difb&&epos.onbatterystatuschange){epos.onbatterystatuschange(battery)}if(diff&(epos.ASB_NO_RESPONSE|epos.ASB_OFF_LINE)){if(status&epos.ASB_NO_RESPONSE){if(epos.onpoweroff){epos.onpoweroff()}}else{if(status&epos.ASB_OFF_LINE){if(epos.onoffline){epos.onoffline()}}else{if(epos.ononline){epos.ononline()}}}}if(diff&epos.ASB_COVER_OPEN){if(status&epos.ASB_NO_RESPONSE){}else{if(status&epos.ASB_COVER_OPEN){if(epos.oncoveropen){epos.oncoveropen()}}else{if(epos.oncoverok){epos.oncoverok()}}}}if(diff&(epos.ASB_RECEIPT_END|epos.ASB_RECEIPT_NEAR_END)){if(status&epos.ASB_NO_RESPONSE){}else{if(status&epos.ASB_RECEIPT_END){if(epos.onpaperend){epos.onpaperend()}}else{if(status&epos.ASB_RECEIPT_NEAR_END){if(epos.onpapernearend){epos.onpapernearend()}}else{if(epos.onpaperok){epos.onpaperok()}}}}}if(diff&epos.ASB_DRAWER_KICK){if(status&epos.ASB_NO_RESPONSE){}else{if(status&epos.ASB_DRAWER_KICK){if(epos.drawerOpenLevel==epos.DRAWER_OPEN_LEVEL_HIGH){if(epos.ondraweropen){epos.ondraweropen()}}else{if(epos.ondrawerclosed){epos.ondrawerclosed()}}if(epos.onbatterylow){epos.onbatterylow()}}else{if(epos.drawerOpenLevel==epos.DRAWER_OPEN_LEVEL_HIGH){if(epos.ondrawerclosed){epos.ondrawerclosed()}}else{if(epos.ondraweropen){epos.ondraweropen()}}if(epos.onbatteryok){epos.onbatteryok()}}}}}function fireErrorEvent(epos,status,responseText){if(epos.onerror){epos.onerror({status:status,responseText:responseText})}}function updateStatus(epos){var delay=epos.interval;if(epos.enabled){if(isNaN(delay)||delay<1000){delay=3000}epos.intervalid=setTimeout(function(){delete epos.intervalid;if(epos.enabled){epos.send()}},delay)}delete epos.intervalxhr}function CanvasPrint(address){this.address=address;this.mode="mono";this.halftone=0;this.brightness=1;this.align="left";this.color="color_1";this.paper="receipt";this.feed="current_tof";this.cut=false;this.layout=null;this.ALIGN_LEFT="left";this.ALIGN_CENTER="center";this.ALIGN_RIGHT="right";this.COLOR_NONE="none";this.COLOR_1="color_1";this.COLOR_2="color_2";this.COLOR_3="color_3";this.COLOR_4="color_4";this.FEED_PEELING="peeling";this.FEED_CUTTING="cutting";this.FEED_CURRENT_TOF="current_tof";this.FEED_NEXT_TOF="next_tof";this.HALFTONE_DITHER=0;this.HALFTONE_ERROR_DIFFUSION=1;this.HALFTONE_THRESHOLD=2;this.MODE_MONO="mono";this.MODE_GRAY16="gray16";this.PAPER_RECEIPT="receipt";this.PAPER_RECEIPT_BM="receipt_bm";this.PAPER_LABEL="label";this.PAPER_LABEL_BM="label_bm";this.connectionObj=null}CanvasPrint.prototype=new ePOSPrint();CanvasPrint.prototype.constructor=CanvasPrint;CanvasPrint.prototype.setConnectionObject=function(connectionObj){this.connectionObj=connectionObj};CanvasPrint.prototype.print=function(){var args=arguments.length;var address=this.address,layout=this.layout,paper=this.paper;var canvas=arguments[0],cut=this.cut,mode=this.mode,printjobid=undefined;switch(args){case 2:printjobid=arguments[1];break;case 4:printjobid=arguments[3];case 3:cut=arguments[1];mode=arguments[2];break}if((typeof(canvas)=="undefined")||(canvas==null)){throw new Error("Canvas is not supported")}if(!canvas.getContext){throw new Error("Canvas is not supported")}if(layout){this.addLayout(paper,layout.width,layout.height,layout.margin_top,layout.margin_bottom,layout.offset_cut,layout.offset_label)}if(paper!=this.PAPER_RECEIPT){this.addFeedPosition(this.FEED_CURRENT_TOF);if(layout){this.addFeedPosition(this.FEED_NEXT_TOF)}}this.addTextAlign(this.align);this.addImage(canvas.getContext("2d"),0,0,canvas.width,canvas.height,this.color,mode);if(paper!=this.PAPER_RECEIPT){this.addFeedPosition(this.feed);if(cut){this.addCut(this.CUT_NO_FEED)}}else{if(cut){this.addCut(this.CUT_FEED)}}this.send(address,this.toString(),printjobid)};CanvasPrint.prototype.recover=function(){this.force=true;this.addRecovery();this.send(this.address,this.toString())};CanvasPrint.prototype.reset=function(){this.addReset();this.send(this.address,this.toString())};if(!window.epson){window.epson={}}window.epson.ePOSBuilder=ePOSBuilder;window.epson.ePOSPrint=ePOSPrint;window.epson.CanvasPrint=CanvasPrint;function POSKeyboard(deviceID,isCrypto){this.deviceID=deviceID;this.isCrypto=isCrypto;this.connectionObj=null}POSKeyboard.prototype={setConnectionObject:function(connectionObj){this.connectionObj=connectionObj},client_onkeypress:function(data){try{if(this.onkeypress==null){return}this.onkeypress(data)}catch(e){}return},callEvent:function(eventName,data){var eventReq=data;eventReq.type=eventName;var eposmsg=MessageFactory.getDeviceDataMessage(this.deviceID,eventReq,this.isCrypto);var sequence=-1;try{this.connectionObj.emit(eposmsg);sequence=eposmsg.sequence}catch(e){}return sequence}};function Printer(deviceID,isCrypto,ePOSDeviceContext){this.deviceID=deviceID;this.isCrypto=isCrypto;this.ePosDev=ePOSDeviceContext;this.timeout=10000}Printer.prototype=new CanvasPrint();Printer.prototype.finalize=function(){this.stopMonitor()};Printer.prototype.toString=function(){var str=ePOSBuilder.prototype.toString.apply(this);return str};Printer.prototype.addFeedUnit=function(unit){try{ePOSBuilder.prototype.addFeedUnit.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addFeedLine=function(line){try{ePOSBuilder.prototype.addFeedLine.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addFeed=function(unit){try{ePOSBuilder.prototype.addFeed.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addFeedPosition=function(line){try{ePOSBuilder.prototype.addFeedPosition.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addText=function(text){try{ePOSBuilder.prototype.addText.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addTextLang=function(lang){try{ePOSBuilder.prototype.addTextLang.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addTextAlign=function(align){try{ePOSBuilder.prototype.addTextAlign.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addTextRotate=function(rotate){try{ePOSBuilder.prototype.addTextRotate.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addTextLineSpace=function(linespc){try{ePOSBuilder.prototype.addTextLineSpace.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addTextFont=function(font){try{ePOSBuilder.prototype.addTextFont.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addTextSmooth=function(smooth){try{ePOSBuilder.prototype.addTextSmooth.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addTextDouble=function(dw,dh){try{ePOSBuilder.prototype.addTextDouble.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addTextSize=function(width,height){try{ePOSBuilder.prototype.addTextSize.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addTextStyle=function(reverse,ul,em,color){try{ePOSBuilder.prototype.addTextStyle.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addTextPosition=function(x){try{ePOSBuilder.prototype.addTextPosition.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addTextVPosition=function(y){try{ePOSBuilder.prototype.addTextVPosition.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addImage=function(context,x,y,width,height,color,mode){try{ePOSBuilder.prototype.addImage.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addLogo=function(key1,key2){try{ePOSBuilder.prototype.addLogo.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addBarcode=function(barCodeData,type,hri,font,width,height){try{ePOSBuilder.prototype.addBarcode.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addSymbol=function(symbolData,type,level,width,height,size){try{ePOSBuilder.prototype.addSymbol.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addCommand=function(data){try{ePOSBuilder.prototype.addCommand.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addHLine=function(x1,x2,style){try{ePOSBuilder.prototype.addHLine.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addVLineBegin=function(x,style){try{ePOSBuilder.prototype.addVLineBegin.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addVLineEnd=function(x,style){try{ePOSBuilder.prototype.addVLineEnd.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addPageBegin=function(){try{ePOSBuilder.prototype.addPageBegin.apply(this)}catch(e){throw e}return this};Printer.prototype.addPageEnd=function(){try{ePOSBuilder.prototype.addPageEnd.apply(this)}catch(e){throw e}return this};Printer.prototype.addPageArea=function(x,y,width,height){try{ePOSBuilder.prototype.addPageArea.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addPageDirection=function(dir){try{ePOSBuilder.prototype.addPageDirection.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addPagePosition=function(x,y){try{ePOSBuilder.prototype.addPagePosition.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addPageLine=function(x1,y1,x2,y2,style){try{ePOSBuilder.prototype.addPageLine.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addPageRectangle=function(x1,y1,x2,y2,style){try{ePOSBuilder.prototype.addPageRectangle.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addCut=function(type){try{ePOSBuilder.prototype.addCut.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addPulse=function(drawer,time){try{ePOSBuilder.prototype.addPulse.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addSound=function(pattern,repeat,cycle){try{ePOSBuilder.prototype.addSound.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.addLayout=function(type,width,height,margin_top,margin_bottom,offset_cut,offset_label){try{ePOSBuilder.prototype.addLayout.apply(this,arguments)}catch(e){throw e}return this};Printer.prototype.setXmlString=function(xml){this.message=xml};Printer.prototype.getXmlString=function(){return this.message};Printer.prototype.getPrintJobStatus=function(printjobid){this.setXmlString("");this.send(printjobid)};Printer.prototype.send=function(printjobid){var sq=-1;if((!this.ePosDev.eposprint)&&(this.connectionObj.isUsableDeviceIF())){try{var data={type:"print",timeout:this.timeout,printdata:this.toString()};switch(arguments.length){case 0:data.printdata=this.toString();break;case 1:data.printdata=this.toString();data.printjobid=printjobid;break;case 2:case 3:data.printdata=arguments[1];data.printjobid=arguments[2]}var eposmsg=MessageFactory.getDeviceDataMessage(this.deviceID,data,this.isCrypto);var sequence=-1;try{this.connectionObj.emit(eposmsg);sequence=eposmsg.sequence}catch(e){}this.force=false;this.setXmlString("")}catch(e){sq=-1}}else{var self=this,address=this.connectionObj.getAddressWithProtocol()+"/cgi-bin/epos/service.cgi?devid="+this.deviceID+"&timeout="+this.timeout,soap,xhr,tid,res,success,code,status,battery;soap='<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">';if(printjobid){soap+='<s:Header><parameter xmlns="http://www.epson-pos.com/schemas/2011/03/epos-print"><printjobid>'+printjobid+"</printjobid></parameter></s:Header>"}soap+="<s:Body>"+this.toString()+"</s:Body></s:Envelope>";if(window.XMLHttpRequest){xhr=new XMLHttpRequest();if(!("withCredentials" in xhr)&&window.XDomainRequest){xhr=new XDomainRequest();xhr.open("POST",address,true);xhr.onload=function(){res=xhr.responseText;if(/response/.test(res)){success=/success\s*=\s*"\s*(1|true)\s*"/.test(res);code=res.match(/code\s*=\s*"\s*(\S*)\s*"/)?RegExp.$1:"";status=res.match(/status\s*=\s*"\s*(\d+)\s*"/)?parseInt(RegExp.$1):0;battery=res.match(/battery\s*=\s*"\s*(\d+)\s*"/)?parseInt(RegExp.$1):0;printjobid=res.match(/<printjobid>\s*(\S*)\s*<\/printjobid>/)?RegExp.$1:"";self.fireReceiveEvent(success,code,status,battery,printjobid,0)}else{self.fireErrorEvent(0,xhr.responseText,0)}};xhr.onerror=function(){self.fireErrorEvent(0,xhr.responseText,0)};xhr.onprogress=function(){};xhr.ontimeout=xhr.onerror;xhr.timeout=self.timeout;xhr.send(soap)}else{xhr.open("POST",address,true);xhr.setRequestHeader("Content-Type","text/xml; charset=utf-8");xhr.setRequestHeader("If-Modified-Since","Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("SOAPAction",'""');xhr.onreadystatechange=function(){if(xhr.readyState==4){clearTimeout(tid);if(xhr.status==200&&xhr.responseXML){res=xhr.responseXML.getElementsByTagName("response");if(res.length>0){success=/^(1|true)$/.test(res[0].getAttribute("success"));code=res[0].hasAttribute("code")?res[0].getAttribute("code"):"";status=res[0].hasAttribute("status")?parseInt(res[0].getAttribute("status")):0;battery=res[0].hasAttribute("battery")?parseInt(res[0].getAttribute("battery")):0;res=xhr.responseXML.getElementsByTagName("printjobid");printjobid=res.length>0?res[0].textContent:"";self.fireReceiveEvent(success,code,status,battery,printjobid,0)}else{self.fireErrorEvent(xhr.status,xhr.responseText,0)}}else{self.fireErrorEvent(xhr.status,xhr.responseText,0)}}};tid=setTimeout(function(){xhr.abort()},this.timeout);xhr.send(soap)}this.setXmlString("")}else{throw new Error("XMLHttpRequest is not supported")}sq=0}return sq};Printer.prototype.client_onxmlresult=function(res,sq){if(res){var xml=res.resultdata;var success=/success\s*=\s*"\s*(1|true)\s*"/.test(xml);xml.match(/code\s*=\s*"\s*(\S*)\s*"/);var code=RegExp.$1;xml.match(/status\s*=\s*"\s*(\d+)\s*"/);var status=parseInt(RegExp.$1);xml.match(/battery\s*=\s*"\s*(\d+)\s*"/);var battery=parseInt(RegExp.$1);this.fireReceiveEvent(success,code,status,battery,res.printjobid,sq)}else{this.fireErrorEvent(0,this.ASB_NO_RESPONSE,sq)}};Printer.prototype.startMonitor=function(){var result=false;var address=this.connectionObj.getAddressWithProtocol()+"/cgi-bin/epos/service.cgi?devid="+this.deviceID+"&timeout=10000";try{if(!this.enabled){this.address=address;this.enabled=true;this.status=this.ASB_DRAWER_KICK;this.sendStartMonitorCommand()}result=true}catch(e){throw e}return result};Printer.prototype.sendStartMonitorCommand=function(){var self=this;var address=this.address;var request=new ePOSBuilder().toString();var soap='<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body>'+request+"</s:Body></s:Envelope>";var epos=this;if(window.XDomainRequest){var xdr=new XDomainRequest();xdr.open("POST",address,true);xdr.onload=function(){var res=xdr.responseText;if(/response/.test(res)){var success=/success\s*=\s*"\s*(1|true)\s*"/.test(res);res.match(/code\s*=\s*"\s*(\S*)\s*"/);var code=RegExp.$1;res.match(/status\s*=\s*"\s*(\d+)\s*"/);var status=parseInt(RegExp.$1);res.match(/battery\s*=\s*"\s*(\d+)\s*"/);var battery=parseInt(RegExp.$1);self.fireStatusEvent(epos,status,battery)}else{self.fireStatusEvent(epos,epos.ASB_NO_RESPONSE,0)}self.updateStatus(epos)};xdr.onerror=function(){self.fireStatusEvent(epos,epos.ASB_NO_RESPONSE);self.updateStatus(epos)};xdr.onprogress=function(){};xdr.ontimeout=xdr.onerror;xdr.send(soap)}else{if(window.XMLHttpRequest){var xhr=new XMLHttpRequest();xhr.open("POST",address,true);xhr.setRequestHeader("Content-Type","text/xml; charset=utf-8");xhr.setRequestHeader("If-Modified-Since","Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("SOAPAction",'""');xhr.onreadystatechange=function(){if(xhr.readyState==4){if(xhr.status==200&&xhr.responseXML){var res=xhr.responseXML.getElementsByTagName("response");if(res.length>0){var success=/^(1|true)$/.test(res[0].getAttribute("success"));var code=res[0].getAttribute("code");var status=parseInt(res[0].getAttribute("status"));var battery=res[0].hasAttribute("battery")?parseInt(res[0].getAttribute("battery")):0;self.fireStatusEvent(epos,status,battery)}else{self.fireStatusEvent(epos,epos.ASB_NO_RESPONSE,0)}}else{self.fireStatusEvent(epos,epos.ASB_NO_RESPONSE,0)}self.updateStatus(epos)}};xhr.send(soap)}else{throw new Error("XMLHttpRequest is not supported")}}};Printer.prototype.stopMonitor=function(){var result=false;try{this.enabled=false;if(this.timeoutid){clearTimeout(this.timeoutid);delete this.timeoutid}result=true}catch(e){throw e}return result};Printer.prototype.fireReceiveEvent=function(success,code,status,battery,printjobid,sq){delete this.isPrint;if(code=="EX_ENPC_TIMEOUT"){code="ERROR_DEVICE_BUSY"}if(this.onreceive){this.onreceive({success:success,code:code,status:status,battery:battery,printjobid:printjobid},sq)}};Printer.prototype.fireErrorEvent=function(status,responseText,sq){if(this.onerror){this.onerror({status:status,responseText:responseText},sq)}this.ePosDev.cleanup()};Printer.prototype.fireStatusEvent=function(epos,status,battery){if(status==0||status==this.ASB_NO_RESPONSE){status=this.status|this.ASB_NO_RESPONSE}var diff=this.status==this.ASB_DRAWER_KICK?~0:this.status^status;var difb=this.status==0?~0:this.battery^battery;this.status=status;this.battery=battery;if(diff&&this.onstatuschange){this.onstatuschange(status)}if(difb&&this.onbatterystatuschange){this.onbatterystatuschange(battery)}if(diff&(this.ASB_NO_RESPONSE|this.ASB_OFF_LINE)){if(status&this.ASB_NO_RESPONSE){if(this.onpoweroff){this.onpoweroff()}}else{if(status&this.ASB_OFF_LINE){if(this.onoffline){this.onoffline()}}else{if(this.ononline){this.ononline()}}}}if(diff&this.ASB_COVER_OPEN){if(status&this.ASB_NO_RESPONSE){}else{if(status&this.ASB_COVER_OPEN){if(this.oncoveropen){this.oncoveropen()}}else{if(this.oncoverok){this.oncoverok()}}}}if(diff&(this.ASB_RECEIPT_END|this.ASB_RECEIPT_NEAR_END)){if(status&this.ASB_NO_RESPONSE){}else{if(status&this.ASB_RECEIPT_END){if(this.onpaperend){this.onpaperend()}}else{if(status&this.ASB_RECEIPT_NEAR_END){if(this.onpapernearend){this.onpapernearend()}}else{if(this.onpaperok){this.onpaperok()}}}}}if(diff&this.ASB_DRAWER_KICK){if(status&this.ASB_NO_RESPONSE){}else{if(status&this.ASB_DRAWER_KICK){if(this.drawerOpenLevel==this.DRAWER_OPEN_LEVEL_HIGH){if(this.ondraweropen){this.ondraweropen()}}else{if(this.ondrawerclosed){this.ondrawerclosed()}}if(this.onbatterylow){this.onbatterylow()}}else{if(this.drawerOpenLevel==this.DRAWER_OPEN_LEVEL_HIGH){if(this.ondrawerclosed){this.ondrawerclosed()}}else{if(this.ondraweropen){this.ondraweropen()}}if(this.onbatteryok){this.onbatteryok()}}}}};Printer.prototype.updateStatus=function(){var self=this;if(this.enabled){var delay=this.interval;if(isNaN(delay)||delay<1000){delay=3000}this.timeoutid=setTimeout(function(){delete self.timeoutid;if(self.enabled){self.sendStartMonitorCommand()}},delay)}};Printer.prototype.print=function(canvas,cut,mode,printjobid){try{CanvasPrint.prototype.print.apply(this,arguments)}catch(e){throw e}};Printer.prototype.reset=function(){try{CanvasPrint.prototype.reset.apply(this,arguments)}catch(e){throw e}};Printer.prototype.recover=function(){try{CanvasPrint.prototype.recover.apply(this,arguments)}catch(e){throw e}};function HybridPrinter(deviceID,isCrypto,ePOSDeviceContext){this.deviceID=deviceID;this.isCrypto=isCrypto;this.ePosDev=ePOSDeviceContext;this.connectionObj=null;this.ReceiptPrinter;this.SlipPrinter;this.EndorsePrinter;this.MICRReader;this.force=false;this.onstatuschange;this.ononline;this.onoffline;this.onpoweroff;this.oncoveropen;this.onpaperok;this.onpapernearend;this.onpaperend;this.ondrawerclosed;this.ondraweropen;this.ASB_NO_RESPONSE=1;this.ASB_PRINT_SUCCESS=2;this.ASB_DRAWER_KICK=4;this.ASB_OFF_LINE=8;this.ASB_COVER_OPEN=32;this.ASB_PAPER_FEED=64;this.ASB_WAIT_ON_LINE=256;this.ASB_PANEL_SWITCH=512;this.ASB_MECHANICAL_ERR=1024;this.ASB_AUTOCUTTER_ERR=2048;this.ASB_UNRECOVER_ERR=8192;this.ASB_AUTORECOVER_ERR=16384;this.ASB_RECEIPT_NEAR_END=131072;this.ASB_RECEIPT_END=524288;this.ASB_TOF_NOPAPER=2097152;this.ASB_BOF_NOPAPER=4194304;this.ASB_SLIP_NO_SELECT=16777216;this.ASB_SLIP_IMPOSSIBLE_PRINT=33554432;this.ASB_SPOOLER_IS_STOPPED=2147483648;this.SUCCESS="SUCCESS";this.CANCEL="CANCEL";this.ERROR_PARAMMETER="ERROR_PARAMMETER";this.ERROR_COMMAND="ERROR_COMMAND";this.ERROR_DEVICE_NOT_FOUND="ERROR_DEVICE_NOT_FOUND";this.ERROR_DEVICE_BUSY="ERROR_DEVICE_BUSY";this.ERROR_NOT_SUPPORTED="ERROR_NOT_SUPPORTED";this.ERROR_COVER_OPEN="ERROR_COVER_OPEN";this.ERROR_TIMEOUT="ERROR_TIMEOUT";this.ERROR_AUTOMATICAL="ERROR_AUTOMATICAL";this.ERROR_UNRECOVERABLE="ERROR_UNRECOVERABLE";this.ERROR_BADPORT="ERROR_BADPORT";this.SYSTEM_ERROR="SYSTEM_ERROR";this.init(deviceID)}HybridPrinter.prototype={init:function(deviceID){var obj=this;obj.deviceID=deviceID;obj.ReceiptPrinter=new ReceiptPrinter(this);obj.SlipPrinter=new SlipPrinter(this);obj.EndorsePrinter=new EndorsePrinter(this);obj.MICRReader=new MICRReader(this);obj.ReceiptPrinter.onstatuschange=function(status){if(obj.onstatuschange!=null){obj.onstatuschange(status)}};obj.ReceiptPrinter.ononline=function(){if(obj.ononline!=null){obj.ononline()}};obj.ReceiptPrinter.onoffline=function(){if(obj.onoffline!=null){obj.onoffline()}};obj.ReceiptPrinter.onpoweroff=function(){if(obj.onpoweroff!=null){obj.onpoweroff()}};obj.ReceiptPrinter.oncoveropen=function(){if(obj.oncoveropen!=null){obj.oncoveropen()}};obj.ReceiptPrinter.onpaperok=function(){if(obj.onpaperok!=null){obj.onpaperok()}};obj.ReceiptPrinter.onpapernearend=function(){if(obj.onpapernearend!=null){obj.onpapernearend()}};obj.ReceiptPrinter.onpaperend=function(){if(obj.onpaperend!=null){obj.onpaperend()}};obj.ReceiptPrinter.ondrawerclosed=function(){if(obj.ondrawerclosed!=null){obj.ondrawerclosed()}};obj.ReceiptPrinter.ondraweropen=function(){if(obj.ondraweropen!=null){obj.ondraweropen()}}},setConnectionObject:function(connectionObj){this.connectionObj=connectionObj;this.ReceiptPrinter.setConnectionObject(this.connectionObj)},lock:function(){var data={type:"lock"};return this.send(data)},unlock:function(){var data={type:"unlock"};return this.send(data)},eject:function(){var data={type:"eject"};return this.send(data)},recover:function(){return this.ReceiptPrinter.recover()},reset:function(){this.ReceiptPrinter.force=this.force;var ret=this.ReceiptPrinter.reset();this.force=false;return ret},startMonitor:function(){return this.ReceiptPrinter.startMonitor()},stopMonitor:function(){return this.ReceiptPrinter.stopMonitor()},client_onreceive:function(res,sq){switch(res.eventtype){case"slipprint":case"slipcancel":this.SlipPrinter.fireOnReceive(res,sq);break;case"endorseprint":case"endorsecancel":this.EndorsePrinter.fireOnReceive(res,sq);break;case"micrread":case"micrcleaning":case"micrcancel":this.MICRReader.fireOnReceive(res,sq);break;case"print":var tmp=res;tmp.eventtype=this.ReceiptPrinter.methodName;this.fireOnReceive(tmp,sq);break;default:this.fireOnReceive(res,sq);break}},client_onxmlresult:function(res,sq){this.ReceiptPrinter.fireOnReceive(res,sq)},fireOnReceive:function(res,sq){if(this.onreceive==null){return}if(res==null){return}this.onreceive({eventtype:res.eventtype,success:res.success,code:res.code,status:res.status},sq)},callEvent:function(eventName,data){var eventReq=data;eventReq.type=eventName;return this.send(eventReq)},send:function(data){var eposmsg=MessageFactory.getDeviceDataMessage(this.deviceID,data,this.isCrypto);var sequence=-1;try{this.connectionObj.emit(eposmsg);sequence=eposmsg.sequence}catch(e){}return sequence}};function ReceiptPrinter(parent){this.parent=parent;this.methodName="";this.deviceID=this.parent.deviceID;this.ePosDev=this.parent.ePosDev;this.connectionObj=null;this.SUCCESS="SUCCESS";this.CANCEL="CANCEL";this.ERROR_PARAMMETER="ERROR_PARAMMETER";this.ERROR_COMMAND="ERROR_COMMAND";this.ERROR_DEVICE_NOT_FOUND="DeviceNotFound";this.ERROR_DEVICE_BUSY="ERROR_DEVICE_BUSY";this.ERROR_NOT_SUPPORTED="ERROR_NOT_SUPPORTED";this.ERROR_COVER_OPEN="EPTR_COVER_OPEN";this.ERROR_TIMEOUT="EX_TIMEOUT";this.ERROR_AUTOMATICAL="EPTR_AUTOMATICAL";this.ERROR_UNRECOVERABLE="EPTR_UNRECOVERABLE";this.ERROR_BADPORT="EX_BADPORT";this.SYSTEM_ERROR="SYSTEM_ERROR";this.EPTR_CUTTER="EPTR_CUTTER";this.EPTR_MECHANICAL="EPTR_MECHANICAL";this.EPTR_REC_EMPTY="EPTR_REC_EMPTY";this.EPTR_SCHEMAERROR="SchemaError";this.EPTR_PRINT_SYSTEM_ERROR="PrintSystemError"}ReceiptPrinter.prototype.setConnectionObject=function(connectionObj){this.connectionObj=connectionObj};ReceiptPrinter.prototype=new Printer();ReceiptPrinter.prototype.send=function(){if(this.methodName==""){this.methodName="send"}return Printer.prototype.send.apply(this,arguments)};ReceiptPrinter.prototype.print=function(canvas,cut,mode){this.methodName="print";return Printer.prototype.print.apply(this,arguments)};ReceiptPrinter.prototype.recover=function(){this.methodName="recover";return Printer.prototype.recover.apply(this,arguments)};ReceiptPrinter.prototype.reset=function(){this.methodName="reset";return Printer.prototype.reset.apply(this,arguments)};ReceiptPrinter.prototype.fireOnReceive=function(res,sq){if(this.onreceive==null){return}var eventtype=this.methodName;var success="false";var code="";var status=this.ASB_NO_RESPONSE;if(res){var xml=res.resultdata;success=/success\s*=\s*"\s*(1|true)\s*"/.test(xml);xml.match(/code\s*=\s*"\s*(\S*)\s*"/);code=RegExp.$1;if(code==""){code=(success)?"SUCCESS":"ERROR_DEVICE_NOT_FOUND"}xml.match(/status\s*=\s*"\s*(\d+)\s*"/);status=parseInt(RegExp.$1)}if(code=="EX_ENPC_TIMEOUT"){code="ERROR_DEVICE_BUSY"}this.onreceive({eventtype:eventtype,success:success,code:code,status:status},sq);this.methodName=""};function SlipPrinter(parent){this.parent=parent;this.SUCCESS="SUCCESS";this.CANCEL="CANCEL";this.ERROR_PARAMMETER="ERROR_PARAMMETER";this.ERROR_COMMAND="ERROR_COMMAND";this.ERROR_DEVICE_NOT_FOUND="ERROR_DEVICE_NOT_FOUND";this.ERROR_DEVICE_BUSY="ERROR_DEVICE_BUSY";this.ERROR_NOT_SUPPORTED="ERROR_NOT_SUPPORTED";this.ERROR_COVER_OPEN="ERROR_COVER_OPEN";this.ERROR_TIMEOUT="ERROR_TIMEOUT";this.ERROR_AUTOMATICAL="ERROR_AUTOMATICAL";this.ERROR_UNRECOVERABLE="ERROR_UNRECOVERABLE";this.ERROR_BADPORT="ERROR_BADPORT";this.SYSTEM_ERROR="SYSTEM_ERROR";this.EPTR_CUTTER="EPTR_CUTTER";this.EPTR_MECHANICAL="EPTR_MECHANICAL";this.EPTR_REC_EMPTY="EPTR_REC_EMPTY";this.EPTR_SCHEMAERROR="EPTR_SCHEMAERROR";this.EPTR_PRINT_SYSTEM_ERROR="EPTR_PRINT_SYSTEM_ERROR"}SlipPrinter.prototype=new ePOSBuilder();SlipPrinter.prototype.timeout=60000;SlipPrinter.prototype.send=function(){var xml=(arguments.length<1)?this.toString():arguments[1];var data={type:"slipprint",timeout:this.timeout,printdata:xml};var sequence=this.parent.send(data);this.setXmlString("");return sequence};SlipPrinter.prototype.setXmlString=function(xml){this.message=xml};SlipPrinter.prototype.getXmlString=function(){return this.message};SlipPrinter.prototype.cancel=function(){var data={type:"slipcancel"};return this.parent.send(data)};SlipPrinter.prototype.fireOnReceive=function(res,sq){if(this.onreceive==null){return}if(res==null){return}var eventtype="";switch(res.eventtype){case"slipprint":eventtype="send";break;case"slipcancel":eventtype="cancel";break;default:break}var code=res.code;if(code=="EX_ENPC_TIMEOUT"){code="ERROR_DEVICE_BUSY"}this.onreceive({eventtype:eventtype,success:res.success,code:code,status:res.status},sq)};function EndorsePrinter(parent){this.parent=parent;this.mode40cpl=false;this.SUCCESS="SUCCESS";this.CANCEL="CANCEL";this.ERROR_PARAMMETER="ERROR_PARAMMETER";this.ERROR_COMMAND="ERROR_COMMAND";this.ERROR_DEVICE_NOT_FOUND="ERROR_DEVICE_NOT_FOUND";this.ERROR_DEVICE_BUSY="ERROR_DEVICE_BUSY";this.ERROR_NOT_SUPPORTED="ERROR_NOT_SUPPORTED";this.ERROR_COVER_OPEN="ERROR_COVER_OPEN";this.ERROR_TIMEOUT="ERROR_TIMEOUT";this.ERROR_AUTOMATICAL="ERROR_AUTOMATICAL";this.ERROR_UNRECOVERABLE="ERROR_UNRECOVERABLE";this.ERROR_BADPORT="ERROR_BADPORT";this.SYSTEM_ERROR="SYSTEM_ERROR";this.EPTR_CUTTER="EPTR_CUTTER";this.EPTR_MECHANICAL="EPTR_MECHANICAL";this.EPTR_REC_EMPTY="EPTR_REC_EMPTY";this.EPTR_SCHEMAERROR="EPTR_SCHEMAERROR";this.EPTR_PRINT_SYSTEM_ERROR="EPTR_PRINT_SYSTEM_ERROR"}EndorsePrinter.prototype=new ePOSBuilder();EndorsePrinter.prototype.timeout=60000;EndorsePrinter.prototype.send=function(){var xml=(arguments.length<1)?this.toString():arguments[1];var data={type:"endorseprint",is40cplmode:this.mode40cpl,timeout:this.timeout,printdata:xml};var sequence=this.parent.send(data);this.setXmlString("");return sequence};EndorsePrinter.prototype.setXmlString=function(xml){this.message=xml};EndorsePrinter.prototype.getXmlString=function(){return this.message};EndorsePrinter.prototype.cancel=function(){var data={type:"endorsecancel"};return this.parent.send(data)};EndorsePrinter.prototype.enable40cplmode=function(flag){this.mode40cpl=flag};EndorsePrinter.prototype.fireOnReceive=function(res,sq){if(this.onreceive==null){return}if(res==null){return}var eventtype="";switch(res.eventtype){case"endorseprint":eventtype="send";break;case"endorsecancel":eventtype="cancel";break;default:break}var code=res.code;if(code=="EX_ENPC_TIMEOUT"){code="ERROR_DEVICE_BUSY"}this.onreceive({eventtype:eventtype,success:res.success,code:code,status:res.status},sq)};function MICRReader(parent){this.parent=parent;this.timeout=60000;this.FONT_E13B="MICR_E13B";this.FONT_CMC7="MICR_CMC7";this.SUCCESS="SUCCESS";this.CANCEL="CANCEL";this.ERROR_PARAMMETER="ERROR_PARAMMETER";this.ERROR_COMMAND="ERROR_COMMAND";this.ERROR_DEVICE_NOT_FOUND="ERROR_DEVICE_NOT_FOUND";this.ERROR_DEVICE_BUSY="ERROR_DEVICE_BUSY";this.ERROR_NOT_SUPPORTED="ERROR_NOT_SUPPORTED";this.ERROR_COVER_OPEN="ERROR_COVER_OPEN";this.ERROR_TIMEOUT="ERROR_TIMEOUT";this.ERROR_AUTOMATICAL="ERROR_AUTOMATICAL";this.ERROR_UNRECOVERABLE="ERROR_UNRECOVERABLE";this.ERROR_BADPORT="ERROR_BADPORT";this.SYSTEM_ERROR="SYSTEM_ERROR";this.EMICR_ILLEGAL_LENGTH="EMICR_ILLEGAL_LENGTH";this.EMICR_NO_MICR="EMICR_NO_MICR";this.EMICR_RECOGNITION="EMICR_RECOGNITION";this.EMICR_READ="EMICR_READ";this.EMICR_NOISE_DETECTED="EMICR_NOISE_DETECTED";this.EMICR_COVER_OPENED="EMICR_COVER_OPENED";this.EMICR_PAPER_JAM="EMICR_PAPER_JAM"}MICRReader.prototype.read=function(ignoreerror,font){var data={type:"micrread",ignoreerror:ignoreerror,font:font,timeout:this.timeout};return this.parent.send(data)};MICRReader.prototype.cleaning=function(){var data={type:"micrcleaning",timeout:this.timeout};return this.parent.send(data)};MICRReader.prototype.cancel=function(){var data={type:"micrcancel"};return this.parent.send(data)};MICRReader.prototype.fireOnReceive=function(res,sq){if(this.onreceive==null){return}if(res==null){return}var eventtype="";switch(res.eventtype){case"micrread":eventtype="read";break;case"micrcleaning":eventtype="cleaning";break;case"micrcancel":eventtype="cancel";break;default:break}var code=res.code;if(code=="EX_ENPC_TIMEOUT"){code="ERROR_DEVICE_BUSY"}this.onreceive({eventtype:eventtype,success:res.success,code:code,status:res.status,data:res.data},sq)};function HybridPrinter2(deviceID,isCrypto,ePOSDeviceContext){this.deviceID=deviceID;this.isCrypto=isCrypto;this.ePosDev=ePOSDeviceContext;this.connectionObj=null;this.ReceiptPrinter=null;this.SlipPrinter2=null;this.ValidationPrinter=null;this.EndorsePrinter2=null;this.MICRReader2=null;this.currentPrinter=null;this.isMicrMode=false;this.FONT_A="font_a";this.FONT_B="font_b";this.FONT_C="font_c";this.FONT_D="font_d";this.FONT_E="font_e";this.FONT_SPECIAL_A="special_a";this.FONT_SPECIAL_B="special_b";this.ALIGN_LEFT="left";this.ALIGN_CENTER="center";this.ALIGN_RIGHT="right";this.COLOR_NONE="none";this.COLOR_1="color_1";this.COLOR_2="color_2";this.COLOR_3="color_3";this.COLOR_4="color_4";this.FEED_PEELING="peeling";this.FEED_CUTTING="cutting";this.FEED_CURRENT_TOF="current_tof";this.FEED_NEXT_TOF="next_tof";this.MODE_MONO="mono";this.MODE_GRAY16="gray16";this.BARCODE_UPC_A="upc_a";this.BARCODE_UPC_E="upc_e";this.BARCODE_EAN13="ean13";this.BARCODE_JAN13="jan13";this.BARCODE_EAN8="ean8";this.BARCODE_JAN8="jan8";this.BARCODE_CODE39="code39";this.BARCODE_ITF="itf";this.BARCODE_CODABAR="codabar";this.BARCODE_CODE93="code93";this.BARCODE_CODE128="code128";this.BARCODE_GS1_128="gs1_128";this.BARCODE_GS1_DATABAR_OMNIDIRECTIONAL="gs1_databar_omnidirectional";this.BARCODE_GS1_DATABAR_TRUNCATED="gs1_databar_truncated";this.BARCODE_GS1_DATABAR_LIMITED="gs1_databar_limited";this.BARCODE_GS1_DATABAR_EXPANDED="gs1_databar_expanded";this.HRI_NONE="none";this.HRI_ABOVE="above";this.HRI_BELOW="below";this.HRI_BOTH="both";this.SYMBOL_PDF417_STANDARD="pdf417_standard";this.SYMBOL_PDF417_TRUNCATED="pdf417_truncated";this.SYMBOL_QRCODE_MODEL_1="qrcode_model_1";this.SYMBOL_QRCODE_MODEL_2="qrcode_model_2";this.SYMBOL_QRCODE_MICRO="qrcode_micro";this.SYMBOL_MAXICODE_MODE_2="maxicode_mode_2";this.SYMBOL_MAXICODE_MODE_3="maxicode_mode_3";this.SYMBOL_MAXICODE_MODE_4="maxicode_mode_4";this.SYMBOL_MAXICODE_MODE_5="maxicode_mode_5";this.SYMBOL_MAXICODE_MODE_6="maxicode_mode_6";this.SYMBOL_GS1_DATABAR_STACKED="gs1_databar_stacked";this.SYMBOL_GS1_DATABAR_STACKED_OMNIDIRECTIONAL="gs1_databar_stacked_omnidirectional";this.SYMBOL_GS1_DATABAR_EXPANDED_STACKED="gs1_databar_expanded_stacked";this.SYMBOL_AZTECCODE_FULLRANGE="azteccode_fullrange";this.SYMBOL_AZTECCODE_COMPACT="azteccode_compact";this.SYMBOL_DATAMATRIX_SQUARE="datamatrix_square";this.SYMBOL_DATAMATRIX_RECTANGLE_8="datamatrix_rectangle_8";this.SYMBOL_DATAMATRIX_RECTANGLE_12="datamatrix_rectangle_12";this.SYMBOL_DATAMATRIX_RECTANGLE_16="datamatrix_rectangle_16";this.LEVEL_0="level_0";this.LEVEL_1="level_1";this.LEVEL_2="level_2";this.LEVEL_3="level_3";this.LEVEL_4="level_4";this.LEVEL_5="level_5";this.LEVEL_6="level_6";this.LEVEL_7="level_7";this.LEVEL_8="level_8";this.LEVEL_L="level_l";this.LEVEL_M="level_m";this.LEVEL_Q="level_q";this.LEVEL_H="level_h";this.LEVEL_DEFAULT="default";this.LINE_THIN="thin";this.LINE_MEDIUM="medium";this.LINE_THICK="thick";this.LINE_THIN_DOUBLE="thin_double";this.LINE_MEDIUM_DOUBLE="medium_double";this.LINE_THICK_DOUBLE="thick_double";this.DIRECTION_LEFT_TO_RIGHT="left_to_right";this.DIRECTION_BOTTOM_TO_TOP="bottom_to_top";this.DIRECTION_RIGHT_TO_LEFT="right_to_left";this.DIRECTION_TOP_TO_BOTTOM="top_to_bottom";this.CUT_NO_FEED="no_feed";this.CUT_FEED="feed";this.CUT_RESERVE="reserve";this.DRAWER_1="drawer_1";this.DRAWER_2="drawer_2";this.PULSE_100="pulse_100";this.PULSE_200="pulse_200";this.PULSE_300="pulse_300";this.PULSE_400="pulse_400";this.PULSE_500="pulse_500";this.PATTERN_NONE="none";this.PATTERN_0="pattern_0";this.PATTERN_1="pattern_1";this.PATTERN_2="pattern_2";this.PATTERN_3="pattern_3";this.PATTERN_4="pattern_4";this.PATTERN_5="pattern_5";this.PATTERN_6="pattern_6";this.PATTERN_7="pattern_7";this.PATTERN_8="pattern_8";this.PATTERN_9="pattern_9";this.PATTERN_10="pattern_10";this.PATTERN_A="pattern_a";this.PATTERN_B="pattern_b";this.PATTERN_C="pattern_c";this.PATTERN_D="pattern_d";this.PATTERN_E="pattern_e";this.PATTERN_ERROR="error";this.PATTERN_PAPER_END="paper_end";this.LAYOUT_RECEIPT="receipt";this.LAYOUT_RECEIPT_BM="receipt_bm";this.LAYOUT_LABEL="label";this.LAYOUT_LABEL_BM="label_bm";this.HALFTONE_DITHER=0;this.HALFTONE_ERROR_DIFFUSION=1;this.HALFTONE_THRESHOLD=2;this.ASB_NO_RESPONSE=1;this.ASB_PRINT_SUCCESS=2;this.ASB_DRAWER_KICK=4;this.ASB_OFF_LINE=8;this.ASB_COVER_OPEN=32;this.ASB_PAPER_FEED=64;this.ASB_WAIT_ON_LINE=256;this.ASB_PANEL_SWITCH=512;this.ASB_MECHANICAL_ERR=1024;this.ASB_AUTOCUTTER_ERR=2048;this.ASB_UNRECOVER_ERR=8192;this.ASB_AUTORECOVER_ERR=16384;this.ASB_INSERTION_WAIT_PAPER=65536;this.ASB_RECEIPT_NEAR_END=131072;this.ASB_REMOVAL_WAIT_PAPER=262144;this.ASB_RECEIPT_END=524288;this.ASB_TOF_NOPAPER=2097152;this.ASB_BOF_NOPAPER=4194304;this.ASB_SLIP_NO_SELECT=16777216;this.ASB_SLIP_IMPOSSIBLE_PRINT=33554432;this.ASB_EJD_NOPAPER=1073741824;this.ASB_VALIDATION_NO_SELECT=67108864;this.ASB_VALIDATION_IMPOSSIBLE_PRINT=134217728;this.ASB_SPOOLER_IS_STOPPED=2147483648;this.DRAWER_OPEN_LEVEL_LOW=0;this.DRAWER_OPEN_LEVEL_HIGH=1;this.SUCCESS="SUCCESS";this.CANCEL="CANCEL";this.ERROR_CANCEL_FAILED="ERROR_CANCEL_FAILED";this.ERROR_PARAMMETER="ERROR_PARAMMETER";this.ERROR_COMMAND="ERROR_COMMAND";this.ERROR_DEVICE_NOT_FOUND="ERROR_DEVICE_NOT_FOUND";this.ERROR_DEVICE_BUSY="ERROR_DEVICE_BUSY";this.ERROR_NOT_SUPPORTED="ERROR_NOT_SUPPORTED";this.ERROR_COVER_OPEN="ERROR_COVER_OPEN";this.ERROR_TIMEOUT="ERROR_TIMEOUT";this.ERROR_AUTOMATICAL="ERROR_AUTOMATICAL";this.ERROR_UNRECOVERABLE="ERROR_UNRECOVERABLE";this.ERROR_BADPORT="ERROR_BADPORT";this.SYSTEM_ERROR="SYSTEM_ERROR";this.EPTR_AUTOMATICAL="EPTR_AUTOMATICAL";this.EPTR_COVER_OPEN="EPTR_COVER_OPEN";this.EPTR_CUTTER="EPTR_CUTTER";this.EPTR_MECHANICAL="EPTR_MECHANICAL";this.EPTR_REC_EMPTY="EPTR_REC_EMPTY";this.EPTR_UNRECOVERABLE="EPTR_UNRECOVERABLE";this.EPTR_SCHEMAERROR="EPTR_SCHEMAERROR";this.EPTR_PRINT_SYSTEM_ERROR="EPTR_PRINT_SYSTEM_ERROR";this.EPTR_PAPER_PULLED_OUT="EPTR_PAPER_PULLED_OUT";this.EMICR_ILLEGAL_LENGTH="EMICR_ILLEGAL_LENGTH";this.EMICR_NO_MICR="EMICR_NO_MICR";this.EMICR_RECOGNITION="EMICR_RECOGNITION";this.EMICR_READ="EMICR_READ";this.EMICR_NOISE_DETECTED="EMICR_NOISE_DETECTED";this.EMICR_COVER_OPENED="EMICR_COVER_OPENED";this.EMICR_PAPER_JAM="EMICR_PAPER_JAM";this.EMICR_PAPER_PULLED_OUT="EMICR_PAPER_PULLED_OUT";this.DeviceNotFound="DeviceNotFound";this.EX_TIMEOUT="EX_TIMEOUT";this.EX_BADPORT="EX_BADPORT";this.SchemaError="SchemaError";this.PrintSystemError="PrintSystemError";this.PAPERTYPE_RECEIPT=0;this.PAPERTYPE_SLIP=1;this.PAPERTYPE_ENDORSE=2;this.PAPERTYPE_VALIDATION=3;this.FONT_E13B="MICR_E13B";this.FONT_CMC7="MICR_CMC7";this.halftone=this.HALFTONE_DITHER;this.brightness=1;this.force=false;this.drawerOpenLevel=this.DRAWER_OPEN_LEVEL_LOW;this.paperType=this.PAPERTYPE_RECEIPT;this.interval=3000;this.waitTime=500;this.enable40cplMode=true;this.onstatuschange=null;this.ononline=null;this.onoffline=null;this.onpoweroff=null;this.oncoveropen=null;this.onpaperok=null;this.onpapernearend=null;this.onpaperend=null;this.ondrawerclosed=null;this.ondraweropen=null;this.init(deviceID)}HybridPrinter2.prototype.init=function(deviceID){this.deviceID=deviceID;this.ReceiptPrinter=new ReceiptPrinter(this);this.SlipPrinter2=new SlipPrinter2(this);this.ValidationPrinter=new ValidationPrinter(this);this.EndorsePrinter2=new EndorsePrinter2(this);this.MICRReader2=new MICRReader2(this);this.currentPrinter=this.ReceiptPrinter;this.ReceiptPrinter.onstatuschange=function(status){if(this.parent.onstatuschange!=null){this.parent.onstatuschange(status)}};this.ReceiptPrinter.ononline=function(){if(this.parent.ononline!=null){this.parent.ononline()}};this.ReceiptPrinter.onoffline=function(){if(this.parent.onoffline!=null){this.parent.onoffline()}};this.ReceiptPrinter.onpoweroff=function(){if(this.parent.onpoweroff!=null){this.parent.onpoweroff()}};this.ReceiptPrinter.oncoveropen=function(){if(this.parent.oncoveropen!=null){this.parent.oncoveropen()}};this.ReceiptPrinter.oncoverok=function(){if(this.parent.oncoverok!=null){this.parent.oncoverok()}};this.ReceiptPrinter.onpaperok=function(){if(this.parent.onpaperok!=null){this.parent.onpaperok()}};this.ReceiptPrinter.onpapernearend=function(){if(this.parent.onpapernearend!=null){this.parent.onpapernearend()}};this.ReceiptPrinter.onpaperend=function(){if(this.parent.onpaperend!=null){this.parent.onpaperend()}};this.ReceiptPrinter.ondrawerclosed=function(){if(this.parent.ondrawerclosed!=null){this.parent.ondrawerclosed()}};this.ReceiptPrinter.ondraweropen=function(){if(this.parent.ondraweropen!=undefined){this.parent.ondraweropen()}};this.ReceiptPrinter.onreceive=function(res,sq){this.parent.fireOnReceive(res,sq)};this.SlipPrinter2.onreceive=function(res,sq){this.parent.fireOnReceive(res,sq)};this.EndorsePrinter2.onreceive=function(res,sq){this.parent.fireOnReceive(res,sq)};this.ValidationPrinter.onreceive=function(res,sq){this.parent.fireOnReceive(res,sq)};this.MICRReader2.onreceive=function(res,sq){this.parent.fireOnReceive(res,sq)}};HybridPrinter2.prototype.setConnectionObject=function(connectionObj){this.connectionObj=connectionObj;this.ReceiptPrinter.setConnectionObject(this.connectionObj)};HybridPrinter2.prototype.isValidFunction=function(paperType,supportPaperTypes){var isValid=false;var index=0;if(supportPaperTypes.length!=0){for(index=0;index<supportPaperTypes.length;index++){if(paperType==supportPaperTypes[index]){isValid=true;break}}}return isValid};HybridPrinter2.prototype.addText=function(data){this.currentPrinter.addText.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addTextLang=function(lang){this.currentPrinter.addTextLang.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addTextAlign=function(align){this.currentPrinter.addTextAlign.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addTextRotate=function(rotate){this.currentPrinter.addTextRotate.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addTextLineSpace=function(linespc){this.currentPrinter.addTextLineSpace.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addTextFont=function(font){this.currentPrinter.addTextFont.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addTextSmooth=function(smooth){this.currentPrinter.addTextSmooth.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addTextDouble=function(dw,dh){this.currentPrinter.addTextDouble.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addTextSize=function(width,height){this.currentPrinter.addTextSize.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addTextStyle=function(reverse,ul,em,color){this.currentPrinter.addTextStyle.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addTextPosition=function(x){this.currentPrinter.addTextPosition.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addTextVPosition=function(y){this.currentPrinter.addTextVPosition.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addFeedUnit=function(unit){this.currentPrinter.addFeedUnit.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addFeedLine=function(line){this.currentPrinter.addFeedLine.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addFeed=function(){this.currentPrinter.addFeed.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addFeedPosition=function(pos){this.currentPrinter.addFeedPosition.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addImage=function(context,x,y,width,height,color,mode){this.currentPrinter.halftone=this.halftone;this.currentPrinter.brightness=this.brightness;this.currentPrinter.addImage.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addLogo=function(key1,key2){this.currentPrinter.addLogo.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addBarcode=function(data,type,hri,font,width,height){this.currentPrinter.addBarcode.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addSymbol=function(data,type,level,width,height,size){this.currentPrinter.addSymbol.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addHLine=function(x1,x2,style){this.currentPrinter.addHLine.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addVLineBegin=function(x,style){this.currentPrinter.addVLineBegin.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addVLineEnd=function(x,style){this.currentPrinter.addVLineEnd.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addPageBegin=function(){this.currentPrinter.addPageBegin.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addPageEnd=function(){this.currentPrinter.addPageEnd.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addPageArea=function(x,y,width,height){this.currentPrinter.addPageArea.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addPageDirection=function(dir){this.currentPrinter.addPageDirection.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addPagePosition=function(x,y){this.currentPrinter.addPagePosition.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addPageLine=function(x1,y1,x2,y2,style){this.currentPrinter.addPageLine.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addPageRectangle=function(x1,y1,x2,y2,style){this.currentPrinter.addPageRectangle.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addCut=function(type){this.ReceiptPrinter.addCut.apply(this.ReceiptPrinter,arguments);return this};HybridPrinter2.prototype.addPulse=function(drawer,time){this.currentPrinter.addPulse.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addSound=function(pattern,repeat,cycle){this.currentPrinter.addSound.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.addLayout=function(type,width,height,margin_top,margin_bottom,offset_cut,offset_label){this.ReceiptPrinter.addLayout.apply(this.ReceiptPrinter,arguments);return this};HybridPrinter2.prototype.addRecovery=function(){this.ReceiptPrinter.addRecovery.apply(this.ReceiptPrinter,arguments);return this};HybridPrinter2.prototype.addReset=function(){this.ReceiptPrinter.addReset.apply(this.ReceiptPrinter,arguments);return this};HybridPrinter2.prototype.addCommand=function(data){this.currentPrinter.addCommand.apply(this.currentPrinter,arguments);return this};HybridPrinter2.prototype.recover=function(){this.ReceiptPrinter.recover.apply(this.ReceiptPrinter,arguments);return this};HybridPrinter2.prototype.reset=function(){this.ReceiptPrinter.force=this.force;var ret=this.ReceiptPrinter.reset.apply(this.ReceiptPrinter,arguments);this.force=false;return ret};HybridPrinter2.prototype.setMessage=function(message){this.currentPrinter.message=message};HybridPrinter2.prototype.getMessage=function(){return this.currentPrinter.message};HybridPrinter2.prototype.startMonitor=function(){var delay=this.interval;if((typeof(this.interval)!="number")||delay<1000||6000<delay){delay=3000}this.ReceiptPrinter.interval=delay;return this.ReceiptPrinter.startMonitor()};HybridPrinter2.prototype.stopMonitor=function(){return this.ReceiptPrinter.stopMonitor()};HybridPrinter2.prototype.lock=function(){var data={type:"lock"};return this.send(data)};HybridPrinter2.prototype.unlock=function(){var data={type:"unlock"};return this.send(data)};HybridPrinter2.prototype.selectPaperType=function(paperType){if(this.isValidFunction(paperType,[this.PAPERTYPE_RECEIPT,this.PAPERTYPE_SLIP,this.PAPERTYPE_ENDORSE,this.PAPERTYPE_VALIDATION])!=true){throw new Error('Property "paperType" is invalid')}switch(paperType){case this.PAPERTYPE_RECEIPT:this.currentPrinter=this.ReceiptPrinter;break;case this.PAPERTYPE_SLIP:this.currentPrinter=this.SlipPrinter2;break;case this.PAPERTYPE_ENDORSE:this.currentPrinter=this.EndorsePrinter2;break;case this.PAPERTYPE_VALIDATION:this.currentPrinter=this.ValidationPrinter;break;default:this.currentPrinter=this.ReceiptPrinter;break}this.paperType=paperType;return this};HybridPrinter2.prototype.waitInsertion=function(timeout){if(this.isValidFunction(this.paperType,[this.PAPERTYPE_SLIP,this.PAPERTYPE_ENDORSE,this.PAPERTYPE_VALIDATION])!=true){throw new Error('Property "paperType" is invalid')}this.currentPrinter.waitTime=this.waitTime;var ret=this.currentPrinter.waitInsertion.apply(this.currentPrinter,arguments);return ret};HybridPrinter2.prototype.cancelInsertion=function(){var ret=null;if(this.isMicrMode){ret=this.MICRReader2.cancel.apply(this.MICRReader2,arguments)}else{if(this.isValidFunction(this.paperType,[this.PAPERTYPE_SLIP,this.PAPERTYPE_ENDORSE,this.PAPERTYPE_VALIDATION])!=true){throw new Error('Property "paperType" is invalid')}ret=this.currentPrinter.cancel.apply(this.currentPrinter,arguments)}return ret};HybridPrinter2.prototype.ejectPaper=function(){var data={type:"eject"};return this.send(data)};HybridPrinter2.prototype.sendData=function(timeout){this.currentPrinter.isCrypto=this.isCrypto;if((typeof(timeout)!="number")||(timeout<1)||(timeout>1000000)){this.currentPrinter.timeout=0}else{this.currentPrinter.timeout=timeout}this.EndorsePrinter2.enable40cplmode(this.enable40cplMode);this.currentPrinter.force=this.force;var ret=this.currentPrinter.send();this.force=false;return ret};HybridPrinter2.prototype.print=function(canvas,cut,mode,timeout){if((typeof(timeout)!="number")||(timeout<1)||(timeout>1000000)){this.ReceiptPrinter.timeout=0}else{this.ReceiptPrinter.timeout=timeout}this.ReceiptPrinter.print.apply(this.ReceiptPrinter,[canvas,cut,mode]);return this};HybridPrinter2.prototype.readMicrData=function(ignoreerror,micrFont,timeout){var ignoreerrorMicr=ignoreerror;var micrFontMicr=micrFont;if(typeof(ignoreerror)=="undefined"){ignoreerrorMicr=true}if(typeof(micrFont)=="undefined"){micrFontMicr=this.FONT_E13B}this.MICRReader2.timeout=timeout;this.MICRReader2.waitTime=this.waitTime;this.MICRReader2.read.apply(this.MICRReader2,[ignoreerrorMicr,micrFontMicr]);this.isMicrMode=true;return this};HybridPrinter2.prototype.cleanMicrReader=function(timeout){this.MICRReader2.timeout=timeout;this.MICRReader2.cleaning.apply(this.MICRReader2,[]);this.isMicrMode=true;return this};HybridPrinter2.prototype.client_onreceive=function(res,sq){switch(res.eventtype){case"slipprint2":case"slipcancel":case"slipwaitinsertion":this.SlipPrinter2.fireOnReceive(res,sq);break;case"endorseprint2":case"endorsecancel":case"endorsewaitinsertion":this.EndorsePrinter2.fireOnReceive(res,sq);break;case"validationprint2":case"validationcancel":case"validationwaitinsertion":this.ValidationPrinter.fireOnReceive(res,sq);break;case"micrread":case"micrcleaning":case"micrcancel":this.MICRReader2.fireOnReceive(res,sq);break;case"print":var tmp=res;tmp.eventtype=this.ReceiptPrinter.methodName;this.fireOnReceive(tmp,sq);break;default:this.fireOnReceive(res,sq);break}};HybridPrinter2.prototype.client_onxmlresult=function(res,sq){this.ReceiptPrinter.fireOnReceive(res,sq)};HybridPrinter2.prototype.fireOnReceive=function(res,sq){if(typeof(this.onreceive)==undefined){return}if(res==null){return}var eventtype=res.eventtype;var success=res.success;var code=res.code;var status=res.status;var data=res.data;switch(res.eventtype){case"send":eventtype="sendData";if(code==this.SUCCESS){this.isMicrMode=false}break;case"waitinsertion":eventtype="waitInsertion";if(code==this.SUCCESS){this.isMicrMode=false}break;case"read":eventtype="readMicrData";if(code==this.SUCCESS){this.isMicrMode=true}break;case"cleaning":eventtype="cleanMicrReader";if(code==this.SUCCESS){this.isMicrMode=true}break;case"cancel":eventtype="cancelInsertion";break;case"eject":eventtype="ejectPaper";if(code==this.SUCCESS){this.isMicrMode=false}break;default:break}switch(code){case"EX_ENPC_TIMEOUT":code="ERROR_DEVICE_BUSY";break;case"CANCEL":this.isMicrMode=false;break;default:break}this.onreceive({method:eventtype,success:success,code:code,status:status,data:data},sq)};HybridPrinter2.prototype.callEvent=function(eventName,data){var eventReq=data;eventReq.type=eventName;return this.send(eventReq)};HybridPrinter2.prototype.send=function(data){var eposmsg=MessageFactory.getDeviceDataMessage(this.deviceID,data,this.isCrypto);var sequence=-1;try{this.connectionObj.emit(eposmsg);sequence=eposmsg.sequence}catch(e){}return sequence};function SlipPrinter2(parent){this.parent=parent}SlipPrinter2.prototype=new SlipPrinter();SlipPrinter2.prototype.timeout=60000;SlipPrinter2.prototype.waitTime=500;SlipPrinter2.prototype.send=function(){var xml=null;if(arguments.length<1){xml=this.toString()}else{xml=arguments[1]}if((typeof(this.timeout)!="number")||(this.timeout<5000)||(this.timeout>1000000)){this.timeout=10000}var data={type:"slipprint2",timeout:this.timeout,printdata:xml};var sequence=this.parent.send(data);this.setXmlString("");return sequence};SlipPrinter2.prototype.setXmlString=function(xml){this.message=xml};SlipPrinter2.prototype.getXmlString=function(){return this.message};SlipPrinter2.prototype.waitInsertion=function(timeout){if((typeof(timeout)!="number")||(timeout<5000)||(timeout>900000)){this.timeout=60000}else{this.timeout=timeout}var slipWaitTime=this.waitTime;if((typeof(this.waitTime)!="number")||(this.waitTime<0)||(this.waitTime>6400)){slipWaitTime=500}var data={type:"slipwaitinsertion",timeout:this.timeout,waittime:slipWaitTime};return this.parent.send(data)};SlipPrinter2.prototype.cancel=function(){var data={type:"slipcancel"};return this.parent.send(data)};SlipPrinter2.prototype.fireOnReceive=function(res,sq){if(this.onreceive==null){return}if(res==null){return}var eventtype="";switch(res.eventtype){case"slipprint2":eventtype="send";break;case"slipcancel":eventtype="cancel";break;case"slipwaitinsertion":eventtype="waitinsertion";break;default:break}this.onreceive({eventtype:eventtype,success:res.success,code:res.code,status:res.status},sq)};function EndorsePrinter2(parent){this.parent=parent;this.mode40cpl=false}EndorsePrinter2.prototype=new EndorsePrinter();EndorsePrinter2.prototype.timeout=60000;EndorsePrinter2.prototype.waitTime=500;EndorsePrinter2.prototype.send=function(){var xml=null;if(arguments.length<1){xml=this.toString()}else{xml=arguments[1]}if((typeof(this.timeout)!="number")||(this.timeout<60000)||(this.timeout>900000)){this.timeout=60000}var data={type:"endorseprint2",is40cplmode:this.mode40cpl,timeout:this.timeout,printdata:xml};var sequence=this.parent.send(data);this.setXmlString("");return sequence};EndorsePrinter2.prototype.setXmlString=function(xml){this.message=xml};EndorsePrinter2.prototype.getXmlString=function(){return this.message};EndorsePrinter2.prototype.waitInsertion=function(timeout){if((typeof(timeout)!="number")||(timeout<5000)||(timeout>900000)){this.timeout=60000}else{this.timeout=timeout}var endorseWaitTime=this.waitTime;if((typeof(this.waitTime)!="number")||(this.waitTime<0)||(this.waitTime>6400)){endorseWaitTime=500}var data={type:"endorsewaitinsertion",timeout:this.timeout,waittime:endorseWaitTime};return this.parent.send(data)};EndorsePrinter2.prototype.cancel=function(){var data={type:"endorsecancel"};return this.parent.send(data)};EndorsePrinter2.prototype.enable40cplmode=function(flag){this.mode40cpl=flag};EndorsePrinter2.prototype.fireOnReceive=function(res,sq){if(this.onreceive==null){return}if(res==null){return}var eventtype="";switch(res.eventtype){case"endorseprint2":eventtype="send";break;case"endorsecancel":eventtype="cancel";break;case"endorsewaitinsertion":eventtype="waitinsertion";break;default:break}this.onreceive({eventtype:eventtype,success:res.success,code:res.code,status:res.status},sq)};function MICRReader2(parent){this.parent=parent}MICRReader2.prototype=new MICRReader();MICRReader2.prototype.waitTime=500;MICRReader2.prototype.read=function(ignoreerror,font){if((typeof(this.timeout)!="number")||(this.timeout<5000)||(this.timeout>900000)){this.timeout=60000}var micrWaitTime=this.waitTime;if((typeof(this.waitTime)!="number")||(this.waitTime<0)||(this.waitTime>6400)){micrWaitTime=500}var data={type:"micrread",ignoreerror:ignoreerror,font:font,timeout:this.timeout,waittime:micrWaitTime};return this.parent.send(data)};MICRReader2.prototype.cleaning=function(){var micrWaitTime=this.waitTime;this.timeout=60000;if((typeof(this.waitTime)!="number")||(this.waitTime<0)||(this.waitTime>6400)){micrWaitTime=500}var data={type:"micrcleaning",timeout:this.timeout,waittime:micrWaitTime};return this.parent.send(data)};function ValidationPrinter(parent){this.parent=parent}ValidationPrinter.prototype=new ePOSBuilder();ValidationPrinter.prototype.timeout=10000;ValidationPrinter.prototype.waitTime=500;ValidationPrinter.prototype.send=function(){var xml=null;if(arguments.length<1){xml=this.toString()}else{xml=arguments[1]}if((typeof(this.timeout)!="number")||(this.timeout<5000)||(this.timeout>1000000)){this.timeout=10000}var data={type:"validationprint2",timeout:this.timeout,printdata:xml};var sequence=this.parent.send(data);this.setXmlString("");return sequence};ValidationPrinter.prototype.setXmlString=function(xml){this.message=xml};ValidationPrinter.prototype.getXmlString=function(){return this.message};ValidationPrinter.prototype.waitInsertion=function(timeout){if((typeof(timeout)!="number")||(timeout<5000)||(timeout>900000)){this.timeout=60000}else{this.timeout=timeout}var validationWaitTime=this.waitTime;if((typeof(this.waitTime)!="number")||(this.waitTime<0)||(this.waitTime>6400)){validationWaitTime=500}var data={type:"validationwaitinsertion",timeout:this.timeout,waittime:validationWaitTime};return this.parent.send(data)};ValidationPrinter.prototype.cancel=function(){var data={type:"validationcancel"};return this.parent.send(data)};ValidationPrinter.prototype.fireOnReceive=function(res,sq){if(this.onreceive==null){return}if(res==null){return}var eventtype="";switch(res.eventtype){case"validationprint2":eventtype="send";break;case"validationcancel":eventtype="cancel";break;case"validationwaitinsertion":eventtype="waitinsertion";break;default:break}this.onreceive({eventtype:eventtype,success:res.success,code:res.code,status:res.status},sq)};function Scanner(deviceID,isCrypto){this.deviceID=deviceID;this.isCrypto=isCrypto;this.connectionObj=null}Scanner.prototype={setConnectionObject:function(connectionObj){this.connectionObj=connectionObj},client_ondata:function(data){try{if(this.ondata==null){return}this.ondata(data)}catch(e){}return},client_onbinarydata:function(data){try{if(this.onbinarydata==null){return}this.onbinarydata(data)}catch(e){}return},client_setbinarymode:function(data){try{if(this.onbinarymode==null){return}this.onbinarymode(data)}catch(e){}return},setBinaryMode:function(enable){var str="";if(enable==true){str="true"}else{str="false"}var data={type:"setbinarymode",binarymode:str};var eposmsg=MessageFactory.getDeviceDataMessage(this.deviceID,data,this.isCrypto);var sequence=-1;try{this.connectionObj.emit(eposmsg);sequence=eposmsg.sequence}catch(e){}return sequence},callEvent:function(eventName,data){var eventReq=data;eventReq.type=eventName;var eposmsg=MessageFactory.getDeviceDataMessage(this.deviceID,eventReq,this.isCrypto);var sequence=-1;try{this.connectionObj.emit(eposmsg);sequence=eposmsg.sequence}catch(e){}return sequence}};function SimpleSerial(deviceID,isCrypto){this.deviceID=deviceID;this.isCrypto=isCrypto;this.connectionObj=null}SimpleSerial.prototype={setConnectionObject:function(connectionObj){this.connectionObj=connectionObj},sendCommand:function(command){var data={type:"sendcommand",command:toHexBinary(command)};var eposmsg=MessageFactory.getDeviceDataMessage(this.deviceID,data,this.isCrypto);var sequence=-1;try{this.connectionObj.emit(eposmsg);sequence=eposmsg.sequence}catch(e){}return sequence},client_oncommandreply:function(data){try{if(this.oncommandreply==null){return}var hexData=data.data;hexData=hexData.replace(/[0-9a-fA-F]{2}/g,function(c){var hexNum=parseInt(c,16);return String.fromCharCode(hexNum)});data.data=hexData;this.oncommandreply(data)}catch(e){}return}};function Ofsc(){this.SERVICE_ID="OFSC";this.callback=null;this.connectionObj=null}Ofsc.prototype={setConnectionObject:function(connectionObj){this.connectionObj=connectionObj},send:function(xml,timeout,crypto,callback){this.callback=callback;try{if(this.connectionObj.isUsableDeviceIF()){var data={type:"print",timeout:timeout,printdata:xml};var eposmsg=MessageFactory.getServiceMessage(this.SERVICE_ID,crypto,data);this.connectionObj.emit(eposmsg)}}catch(e){return}},notify:function(eposmsg){var data=null;if(eposmsg.isCrypto=="1"){data=MessageFactory.decrypt(eposmsg.data)}else{data=eposmsg.data}if(this.callback!=null){this.callback(data.resultdata)}},onxmlresult:function(xml){if(this.callback!=null){this.callback(xml)}}};function CookieIO(){this.KEY="EPSON_EPOSDEVICE_CLIENTID";this.EXPIRES_MINUTES=5}CookieIO.prototype={writeId:function(value){var path=location.pathname;if(path.slice(-1)=="/"){path=path+"index.html"}var hostname=location.hostname;var expired=this.getExpiredDate();document.cookie=this.KEY+"_"+hostname+path+"="+escape(value)+"; expires="+expired},readId:function(){var id="";var strCookie=document.cookie+";";var path=location.pathname;if(path.slice(-1)=="/"){path=path+"index.html"}var hostname=location.hostname;var searchKey=this.KEY+"_"+hostname+path+"=";var keyValueFrom=strCookie.indexOf(searchKey);if(keyValueFrom!=-1){keyValueFrom+=searchKey.length;var keyValueTo=strCookie.indexOf(";",keyValueFrom);id=unescape(strCookie.substring(keyValueFrom,keyValueTo))}return id},getExpiredDate:function(){var expire=new Date();var nTime=expire.getTime();expire.setTime(nTime+(1000*60*this.EXPIRE_MINUTES));return expire.toUTCString()}};function DeviceObjElement(deviceId,isCrypto,deviceObject,callback){this.deviceId=deviceId;this.isCrypto=isCrypto;this.deviceObject=deviceObject;this.callback=callback}function DeviceObjElementMap(){this.elementList=new Array()}DeviceObjElementMap.prototype={add:function(element){this.elementList.push(element)},get:function(deviceId){var element=null;for(var i=0;i<this.elementList.length;i++){if(this.elementList[i].deviceId==deviceId){element=this.elementList[i];break}}return element},getByObj:function(deviceObject){var element=null;for(var i=0;i<this.elementList.length;i++){if(this.elementList[i].deviceObject==deviceObject){element=this.elementList[i];break}}return element},remove:function(deviceId){for(var i=0;i<this.elementList.length;i++){if(this.elementList[i].deviceId==deviceId){this.elementList.splice(i,1);break}}},removeAll:function(){this.elementList=[]},getElementList:function(){return this.elementList},};function ePOSDevice(){this.DEVICE_TYPE_SCANNER="type_scanner";this.DEVICE_TYPE_KEYBOARD="type_keyboard";this.DEVICE_TYPE_POSKEYBOARD="type_poskeyboard";this.DEVICE_TYPE_MSR="type_msr";this.DEVICE_TYPE_CAT="type_cat";this.DEVICE_TYPE_CASH_CHANGER="type_cash_changer";this.DEVICE_TYPE_PRINTER="type_printer";this.DEVICE_TYPE_DISPLAY="type_display";this.DEVICE_TYPE_SIMPLE_SERIAL="type_simple_serial";this.DEVICE_TYPE_HYBRID_PRINTER="type_hybrid_printer";this.DEVICE_TYPE_HYBRID_PRINTER2="type_hybrid_printer2";this.DEVICE_TYPE_DT="type_dt";this.DEVICE_TYPE_OTHER_PERIPHERAL="type_other_peripheral";this.RESULT_OK="OK";this.ERROR_SYSTEM="SYSTEM_ERROR";this.ERROR_DEVICE_IN_USE="DEVICE_IN_USE";this.ERROR_DEVICE_OPEN="DEVICE_OPEN_ERROR";this.ERROR_DEVICE_CLOSE="DEVICE_CLOSE_ERROR";this.ERROR_DEVICE_NOT_OPEN="DEVICE_NOT_OPEN";this.ERROR_DEVICE_NOT_FOUND="DEVICE_NOT_FOUND";this.ERROR_PARAMETER="ERROR_PARAMETER";this.IFPORT_EPOSDEVICE=8008;this.IFPORT_EPOSDEVICE_S=8043;this.CONNECT_TIMEOUT=15000;this.RECONNECT_TIMEOUT=3000;this.MAX_RECONNECT_RETRY=5;this.socket=null;this.connectionId=null;this.reconnectTimerId=null;this.reconnectTryCount=0;this.admin="";this.location="";this.recievedDataId=0;this.connectStartTime=0;this.waitRetryConnectId=0;this.conectionObj=new Connection();this.commBoxManager=new CommBoxManager();this.commBoxManager.setConnectionObject(this.conectionObj);this.devObjSelector=new DeviceObjectSelector();this.devObjSelector.setConnectionObject(this.conectionObj);this.devObjElmMap=new DeviceObjElementMap();this.ofsc=new Ofsc();this.ofsc.setConnectionObject(this.conectionObj);this.cookieIo=new CookieIO();this.gbox=new SocketGarbageBox();this.eposprint=false;var self=this;window.onbeforeunload=function(){self.disconnect()};window.onpagehide=function(){self.disconnect()}}ePOSDevice.prototype={connect:function(address,port,callback,options){if((this.conectionObj.status(this.conectionObj.IF_EPOSDEVICE)!=this.conectionObj.DISCONNECT)||(this.conectionObj.status(this.conectionObj.IF_EPOSPRINT)!=this.conectionObj.DISCONNECT)){this.disconnect()}this.connectStartTime=new Date().getTime();var protocol=(port==this.IFPORT_EPOSDEVICE)?"http":"https";this.conectionObj.setAddress(protocol,address,port);this.conectionObj.registCallback(callback);if(arguments.length>=4){this.eposprint=options.eposprint}else{this.eposprint=false}var self=this;if(this.eposprint){var selfofProb=this.conectionObj;this.conectionObj.probeWebServiceIF(function(accessTime){var result=self.ERROR_PARAMETER;if(selfofProb.isUsablePrintIF()){result=self.RESULT_OK}callback(result)})}else{this.connectBySocketIo(this.CONNECT_TIMEOUT,protocol)}},isConnected:function(){var devIsConnect=false;var wsIsConnect=false;switch(this.conectionObj.status(this.conectionObj.IF_EPOSDEVICE)){case this.conectionObj.CONNECT:case this.conectionObj.RECONNECTING:devIsConnect=true;break;case this.conectionObj.DISCONNECT:break}if(this.conectionObj.status(this.conectionObj.IF_EPOSPRINT)==this.conectionObj.CONNECT){wsIsConnect=true}return devIsConnect|wsIsConnect},disconnect:function(){var eposmsg=MessageFactory.getDisconnectMessage(this.connectionId);this.conectionObj.emit(eposmsg);this.cleanup()},createDevice:function(deviceId,deviceType,options,callback){try{if(!this.isConnected()){throw new Error(this.ERROR_SYSTEM)}if(this.devObjElmMap.get(deviceId)!=null){throw new Error(this.ERROR_DEVICE_IN_USE)}if(!this.devObjSelector.isSelectable(deviceType)){throw new Error(this.ERROR_DEVICE_NOT_FOUND)}var isCrypto=false;var isBufferEnable=false;if(typeof(options)=="boolean"){isCrypto=options}else{if(typeof(options.crypto)=="boolean"){isCrypto=options.crypto}if(typeof(options.buffer)=="boolean"){isBufferEnable=options.buffer}}if(deviceType==this.DEVICE_TYPE_DT){isCrypto=true;deviceId="local_dt"}var deviceObject=this.devObjSelector.select(deviceId,deviceType,options.driver,isCrypto,this);deviceObject.setConnectionObject(this.conectionObj);var element=new DeviceObjElement(deviceId,isCrypto,deviceObject,callback);this.devObjElmMap.add(element);if(this.conectionObj.isUsableDeviceIF()){var eposmsg=MessageFactory.getOpenDeviceMessage(deviceId,deviceType,isCrypto,isBufferEnable);this.conectionObj.emit(eposmsg)}else{var self=this;this.checkEposPrintService(deviceId,deviceType,function(result){if(result==self.RESULT_OK){callback(deviceObject,self.RESULT_OK)}else{callback(null,self.ERROR_DEVICE_NOT_FOUND)}})}}catch(e){var message=e.message;if((message==null)||(message=="")){message=this.ERROR_DEVICE_OPEN}if(callback!=null){callback(null,message)}}},deleteDevice:function(deviceObject,callback){try{var element=this.devObjElmMap.getByObj(deviceObject);if(element==null){throw new Error(this.ERROR_DEVICE_NOT_OPEN)}if(this.conectionObj.isUsableDeviceIF()){element.callback=callback;var eposmsg=MessageFactory.getCloseDeviceMessage(element.deviceId);this.conectionObj.emit(eposmsg)}else{try{deviceObject.finalize()}catch(e){}this.devObjElmMap.remove(element.deviceId);callback(this.RESULT_OK)}}catch(e){var message=e.message;if((message==null)||(message=="")){message=this.ERROR_DEVICE_CLOSE}if(callback!=null){callback(message)}}},getAdmin:function(){return this.admin},getLocation:function(){return this.location},sendOfscXml:function(xml,timeout,crypto,callback){this.ofsc.send(xml,timeout,crypto,callback)},getCommBoxManager:function(){if(this.conectionObj.status(this.conectionObj.IF_EPOSDEVICE)!=this.conectionObj.CONNECT){return null}return this.commBoxManager},cleanup:function(){if(this.waitRetryConnectId!=0){clearTimeout(this.waitRetryConnectId);this.waitRetryConnectId=0}this.connectStartTime=0;this.gbox.stock(this.socket);this.gbox.dispose();var devObjList=this.devObjElmMap.getElementList();devObjList.forEach(function(obj){try{obj.deviceObject.finalize()}catch(e){}});devObjList=null;this.devObjElmMap.removeAll();if((this.ondisconnect!=null)&&(this.conectionObj.status(this.conectionObj.IF_EPOSDEVICE)!=this.conectionObj.DISCONNECT||this.conectionObj.status(this.conectionObj.IF_EPOSPRINT)!=this.conectionObj.DISCONNECT)){this.ondisconnect()}this.cookieIo.writeId("");this.conectionObj.changeStatus(this.conectionObj.IF_ALL,this.conectionObj.DISCONNECT);this.socket=null;this.conectionObj.setSocket(null);this.connectionId=null;this.conectionObj.setAddress("","","");if(this.reconnectTimerId!=null){clearInterval(this.reconnectTimerId)}this.reconnectTimerId=null;this.reconnectTryCount=0;this.admin="";this.location="";this.recievedDataId=0;this.eposprint=false},connectBySocketIo:function(timeout){var selfofProb=this.conectionObj;var url=selfofProb.getSocketIoURL();this.socket=io.connect(url,{reconnect:false,"connect timeout":timeout,"force new connection":true});this.conectionObj.setSocket(this.socket);var self=this;this.socket.on("connect",function(data){try{self.gbox.dispose()}catch(e){}});this.socket.on("close",function(){selfofProb.changeStatus(selfofProb.IF_EPOSDEVICE,tselfofProb.DISCONNECT)});this.socket.on("disconnect",function(data){try{if(selfofProb.status(selfofProb.IF_EPOSDEVICE)==selfofProb.RECONNECTING){return}else{if(self.cookieIo.readId()==""&&self.connectionId==null){self.cleanup()}else{self.startReconnectAction()}}}catch(e){}});this.socket.on("error",function(){try{selfofProb.probeWebServiceIF(function(accessTime){if(selfofProb.isUsablePrintIF()){self.eposprint=true;selfofProb.registIFAccessResult(selfofProb.IF_EPOSDEVICE,selfofProb.ACCESS_NONE)}else{selfofProb.changeStatus(selfofProb.IF_EPOSDEVICE,selfofProb.DISCONNECT);selfofProb.registIFAccessResult(selfofProb.IF_EPOSDEVICE,selfofProb.ACCESS_TIMEOUT)}})}catch(e){}});this.socket.on("connect_failed",function(){try{var selfofProb=this.conectionObj;this.conectionObj.probeWebServiceIF(function(accessTime){if(selfofProb.isUsablePrintIF()){self.eposprint=true;selfofProb.registIFAccessResult(selfofProb.IF_EPOSDEVICE,selfofProb.ACCESS_NONE)}else{selfofProb.changeStatus(selfofProb.IF_EPOSDEVICE,selfofProb.DISCONNECT);selfofProb.registIFAccessResult(selfofProb.IF_EPOSDEVICE,selfofProb.ACCESS_TIMEOUT)}})}catch(e){}});this.socket.on("message",function(data){try{var eposmsg=MessageFactory.parseRequestMessage(data);if(eposmsg.data_id!=""){self.recievedDataId=eposmsg.data_id}switch(eposmsg.request){case eposmsg.REQUEST.CONNECT:self.procConnect(eposmsg);break;case eposmsg.REQUEST.PUBKEY:self.procPubkey(eposmsg);break;case eposmsg.REQUEST.ADMININFO:self.procAdminInfo(eposmsg);break;case eposmsg.REQUEST.RECONNECT:self.procReconnect(eposmsg);break;case eposmsg.REQUEST.DISCONNECT:self.procDisconnect(eposmsg);break;case eposmsg.REQUEST.OPENDEVICE:self.procOpenDevice(eposmsg);break;case eposmsg.REQUEST.CLOSEDEVICE:self.procCloseDevice(eposmsg);break;case eposmsg.REQUEST.DEVICEDATA:self.procDeviceData(eposmsg);break;case eposmsg.REQUEST.SERVICEDATA:self.procServiceData(eposmsg);break;case eposmsg.REQUEST.OPENCOMMBOX:self.procOpenCommBox(eposmsg);break;case eposmsg.REQUEST.CLOSECOMMBOX:self.procCloseCommBox(eposmsg);break;case eposmsg.REQUEST.COMMDATA:self.procCommBoxData(eposmsg);break;case eposmsg.REQUEST.ERROR:self.procError(eposmsg);break;default:return}}catch(e){}})},procConnect:function(eposmsg){try{if(this.reconnectTimerId!=null){clearInterval(this.reconnectTimerId);this.reconnectTimerId=null}var response=null;var prevConnectionId=this.cookieIo.readId();if(eposmsg.data.protocol_version<2){response=MessageFactory.getPubkeyMessage(eposmsg.data.prime,eposmsg.data.key);this.conectionObj.emit(response)}else{if(this.connectionId!=null){response=MessageFactory.getReconnectMessage(this.connectionId,eposmsg.data.client_id,this.recievedDataId);this.conectionObj.emit(response)}else{if(prevConnectionId!=""){response=MessageFactory.getDisconnectMessage(prevConnectionId);this.conectionObj.emit(response);response=MessageFactory.getPubkeyMessage(eposmsg.data.prime,eposmsg.data.key);this.conectionObj.emit(response)}else{response=MessageFactory.getPubkeyMessage(eposmsg.data.prime,eposmsg.data.key);this.conectionObj.emit(response)}}}this.cookieIo.writeId(eposmsg.data.client_id);this.connectionId=eposmsg.data.client_id}catch(e){this.conectionObj.registIFAccessResult(this.conectionObj.IF_EPOSDEVICE,this.conectionObj.ACCESS_ERROR);this.cleanup()}},procPubkey:function(eposmsg){try{if(eposmsg.code=="SHARED_KEY_MISMATCH_ERROR"){var mismatchErrTime=new Date().getTime();var mismatchTimeout=0;if(this.connectStartTime!=0){mismatchTimeout=mismatchErrTime-this.connectStartTime;if(mismatchTimeout<this.CONNECT_TIMEOUT){var self=this;this.gbox.stock(this.socket);this.connectionId=null;this.waitRetryConnectId=setTimeout(function(){self.connectBySocketIo(self.CONNECT_TIMEOUT-mismatchTimeout)},100)}else{this.conectionObj.registIFAccessResult(this.conectionObj.IF_EPOSDEVICE,this.conectionObj.ACCESS_TIMEOUT);this.cleanup()}}else{this.conectionObj.registIFAccessResult(this.conectionObj.IF_EPOSDEVICE,this.conectionObj.ACCESS_TIMEOUT);this.cleanup()}}else{if(eposmsg.code=="PARAM_ERROR"){this.conectionObj.registIFAccessResult(this.conectionObj.IF_EPOSDEVICE,this.conectionObj.ACCESS_ERROR);this.cleanup()}else{var response=MessageFactory.getAdminInfoMessage();this.conectionObj.emit(response)}}}catch(e){this.conectionObj.registIFAccessResult(this.conectionObj.IF_EPOSDEVICE,this.conectionObj.ACCESS_ERROR);this.cleanup()}},procAdminInfo:function(eposmsg){if(this.eposprint){return}if(eposmsg.code!=this.RESULT_OK){this.conectionObj.registIFAccessResult(this.conectionObj.IF_EPOSDEVICE,this.conectionObj.ACCESS_ERROR);return}this.admin=eposmsg.data.admin_name;this.location=eposmsg.data.location;this.conectionObj.registIFAccessResult(this.conectionObj.IF_EPOSDEVICE,this.conectionObj.ACCESS_OK)},procReconnect:function(eposmsg){if(this.conectionObj.status(this.conectionObj.IF_EPOSDEVICE)!=this.conectionObj.RECONNECTING){return}if(eposmsg.code==this.RESULT_OK){this.conectionObj.changeStatus(this.conectionObj.IF_EPOSDEVICE,this.conectionObj.CONNECT);if(this.onreconnect!=null){this.onreconnect()}}else{this.cleanup()}},procDisconnect:function(eposmsg){},procOpenDevice:function(eposmsg){var deviceId=eposmsg.deviceId;try{var element=this.devObjElmMap.get(deviceId);if(eposmsg.code==this.RESULT_OK){if(element.callback!=null){element.callback(element.deviceObject,eposmsg.code)}}else{if(element.callback!=null){element.callback(null,eposmsg.code)}this.devObjElmMap.remove(deviceId)}}catch(e){if(this.onerror!=null){this.onerror("0",deviceId,this.ERROR_SYSTEM,null)}}},procCloseDevice:function(eposmsg){var deviceId=eposmsg.deviceId;try{if(eposmsg.code==this.RESULT_OK){var element=this.devObjElmMap.get(deviceId);if(element.callback!=null){element.callback(eposmsg.code)}try{element.deviceObject.finalize()}catch(e){}this.devObjElmMap.remove(deviceId)}}catch(e){if(this.onerror!=null){this.onerror("0",deviceId,this.ERROR_SYSTEM,null)}}},procDeviceData:function(eposmsg){var deviceId=eposmsg.deviceId;var sequence=eposmsg.sequence;var data=eposmsg.data;try{var devObjElm=this.devObjElmMap.get(deviceId);if(devObjElm.isCrypto){data=MessageFactory.decrypt(data)}var deviceObject=devObjElm.deviceObject;var method="client_"+data.type;try{if(deviceObject instanceof OtherPeripheral){deviceObject.client_onreceive(data,sequence)}else{eval("deviceObject."+method+"(data, sequence)")}}catch(e){eval("deviceObject."+data.type+"(data, sequence)")}}catch(e){if(this.onerror!=null){this.onerror(sequence,deviceId,this.ERROR_SYSTEM,null)}}},procServiceData:function(eposmsg){try{switch(eposmsg.serviceId){case"OFSC":this.ofsc.notify(eposmsg);break;default:break}}catch(e){if(this.onerror!=null){this.onerror(eposmsg.sequence,eposmsg.serviceId,this.ERROR_SYSTEM,null)}}},procOpenCommBox:function(eposmsg){var sequence=eposmsg.sequence;try{this.commBoxManager.client_opencommbox(eposmsg.data,sequence)}catch(e){if(this.onerror!=null){this.onerror(sequence,"",this.ERROR_SYSTEM,null)}}},procCloseCommBox:function(eposmsg){var sequence=eposmsg.sequence;try{this.commBoxManager.client_closecommbox(eposmsg.data,sequence)}catch(e){if(this.onerror!=null){this.onerror(sequence,"",this.ERROR_SYSTEM,null)}}},procCommBoxData:function(eposmsg){var sequence=eposmsg.sequence;try{this.commBoxManager.executeCommDataCallback(eposmsg.data,sequence)}catch(e){if(this.onerror!=null){this.onerror(sequence,"",this.ERROR_SYSTEM,null)}}},procError:function(eposmsg){try{if(this.onerror!=null){this.onerror(eposmsg.sequence,eposmsg.deviceId,eposmsg.code,eposmsg.data)}}catch(e){}},startReconnectAction:function(){if(this.conectionObj.status(this.conectionObj.IF_EPOSDEVICE)==this.conectionObj.RECONNECTING){return}this.conectionObj.changeStatus(this.conectionObj.IF_EPOSDEVICE,this.conectionObj.RECONNECTING);this.reconnectTryCount=0;var self=this;this.reconnectTimerId=setInterval(function(){if(self.socket!=null){self.gbox.stock(self.socket)}if(self.reconnectTryCount==self.MAX_RECONNECT_RETRY){clearInterval(self.reconnectTimerId);self.cleanup();return}if(this.conectionObj.status(this.conectionObj.IF_EPOSDEVICE)==this.conectionObj.RECONNECTING){self.connectBySocketIo(self.RECONNECT_TIMEOUT)}self.reconnectTryCount++},this.RECONNECT_TIMEOUT);if(this.reconnectTryCount==0&&this.onreconnecting!=null){this.onreconnecting()}},checkEposPrintService:function(deviceId,deviceType,callback){var OK="OK";var SSL_CONNECT_OK="SSL_CONNECT_OK";var ERROR_TIMEOUT="ERROR_TIMEOUT";var ERROR_PARAMETER="ERROR_PARAMETER";var ERROR_SYSTEM="SYSTEM_ERROR";var postUrl=null;var printUrl=this.conectionObj.getAddressWithProtocol()+"/cgi-bin/epos/service.cgi?devid="+deviceId+"&timeout=10000";var displayUrl=this.conectionObj.getAddressWithProtocol()+"/cgi-bin/eposDisp/service.cgi?devid="+deviceId+"&timeout=10000";var postData=null;var printData='<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><epos-print xmlns="http://www.epson-pos.com/schemas/2011/03/epos-print"></epos-print></s:Body></s:Envelope>';var displayData='<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><epos-display xmlns="http://www.epson-pos.com/schemas/2012/09/epos-display"></epos-display></s:Body></s:Envelope>';var xhr=null;var tid;var success;if(deviceType==this.DEVICE_TYPE_DISPLAY){postUrl=displayUrl;postData=displayData}else{postUrl=printUrl;postData=printData}if(window.XDomainRequest){try{xhr=new XDomainRequest();xhr.open("POST",postUrl);xhr.onload=function(){if(/response/.test(xhr.responseText)){success=/success\s*=\s*"\s*(1|true)\s*"/.test(xhr.responseText);if(success){callback(OK)}else{callback(ERROR_PARAMETER)}}else{callback(ERROR_PARAMETER)}};xhr.onerror=function(){callback(ERROR_PARAMETER)};xhr.ontimeout=function(){callback(ERROR_TIMEOUT)};xhr.onprogress=function(){};xhr.send(postData)}catch(e){callback(ERROR_PARAMETER)}}else{try{xhr=new XMLHttpRequest();xhr.open("POST",postUrl,true);xhr.setRequestHeader("Content-Type","text/xml; charset=utf-8");xhr.setRequestHeader("If-Modified-Since","Thu, 01 Jun 1970 00:00:00 GMT");xhr.setRequestHeader("SOAPAction",'""');xhr.onreadystatechange=function(){if(xhr.readyState==4){clearTimeout(tid);if((xhr.status==200)&&(xhr.responseXML)){var res=xhr.responseXML.getElementsByTagName("response");if(res.length<=0){success=false}else{success=/^(1|true)$/.test(res[0].getAttribute("success"))}if(success){callback(OK)}else{callback(ERROR_PARAMETER)}}else{callback(ERROR_PARAMETER)}}};tid=setTimeout(function(){xhr.abort();callback(ERROR_TIMEOUT)},5000);xhr.timeout=10000;xhr.send(postData)}catch(e){callback(ERROR_PARAMETER)}}}};function SocketGarbageBox(){this.box=new Array()}SocketGarbageBox.prototype={stock:function(socket){if(socket==null){return}socket.removeAllListeners("connect");socket.removeAllListeners("close");socket.removeAllListeners("disconnect");socket.removeAllListeners("error");socket.removeAllListeners("connect_failed");socket.removeAllListeners("message");var clone=function(){};clone.prototype=socket;this.box.push(clone)},dispose:function(){while(0<this.box.length){var socket=this.box.pop();try{socket.disconnect();delete socket}catch(e){}}}};function Connection(){this.OK="OK";this.SSL_CONNECT_OK="SSL_CONNECT_OK";this.ERROR_TIMEOUT="ERROR_TIMEOUT";this.ERROR_PARAMETER="ERROR_PARAMETER";this.ERROR_SYSTEM="SYSTEM_ERROR";this.socket_p=null;this.address_p="";this.protocol_p="";this.port_p="";this.callback_p=null;this.usableIF_p=0;this.ws_status_p=2;this.dev_status_p=2;this.IF_EPOSDEVICE=1;this.IF_EPOSPRINT=2;this.IF_EPOSDISPLAY=4;this.IF_ALL=7;this.ACCESS_OK="OK";this.ACCESS_ERROR="ERROR";this.ACCESS_TIMEOUT="TIMEOUT";this.ACCESS_NONE="NONE";this.CONNECT=1;this.DISCONNECT=2;this.RECONNECTING=4}Connection.prototype.probe=function(url,postdata,callback){var probeSelf=this;var xhr=null;var tid;if(window.XDomainRequest){try{xhr=new XDomainRequest();xhr.open("POST",url);xhr.onload=function(){callback(probeSelf.OK)};xhr.onerror=function(){callback(probeSelf.ERROR_PARAMETER)};xhr.ontimeout=function(){callback(probeSelf.ERROR_TIMEOUT)};xhr.onprogress=function(){};xhr.send(postdata)}catch(e){callback(this.ERROR_PARAMETER)}}else{try{xhr=new XMLHttpRequest();xhr.open("POST",url,true);xhr.setRequestHeader("Content-Type","text/xml; charset=utf-8");xhr.setRequestHeader("If-Modified-Since","Thu, 01 Jun 1970 00:00:00 GMT");xhr.setRequestHeader("SOAPAction",'""');xhr.onreadystatechange=function(){if(xhr.readyState==4){clearTimeout(tid);if(xhr.status==200){callback(probeSelf.OK)}else{callback(probeSelf.ERROR_PARAMETER)}}};tid=setTimeout(function(){xhr.abort();callback(probeSelf.ERROR_TIMEOUT)},5000);xhr.timeout=10000;xhr.send(postdata)}catch(e){callback(this.ERROR_PARAMETER)}}};Connection.prototype.probeWebServiceIF=function(callback){var startTime=(new Date()).getTime();var notify=false;var probeSelf=this;var printUrl=this.getAddressWithProtocol()+"/cgi-bin/epos/service.cgi?devid=local_printer&timeout=10000";var printData='<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><epos-print xmlns="http://www.epson-pos.com/schemas/2011/03/epos-print"></epos-print></s:Body></s:Envelope>';this.probe(printUrl,printData,function(code){var result=probeSelf.ACCESS_ERROR;if(code==probeSelf.OK){result=probeSelf.ACCESS_OK}probeSelf.registIFAccessResult(probeSelf.IF_EPOSPRINT,result);if(notify){callback((new Date()).getTime()-startTime)}notify=!notify});var displayUrl=this.getAddressWithProtocol()+"/cgi-bin/eposDisp/service.cgi?devid=local_display&timeout=10000";var displayData='<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><epos-display xmlns="http://www.epson-pos.com/schemas/2012/09/epos-display"></epos-display></s:Body></s:Envelope>';this.probe(displayUrl,displayData,function(code){var result=probeSelf.ACCESS_ERROR;if(code==probeSelf.OK){result=probeSelf.ACCESS_OK}probeSelf.registIFAccessResult(probeSelf.IF_EPOSDISPLAY,result);if(notify){callback((new Date()).getTime()-startTime)}notify=!notify})};Connection.prototype.setSocket=function(socket){this.socket_p=socket};Connection.prototype.emit=function(eposmsg){try{if(this.socket_p==null){return}this.socket_p.emit("message",eposmsg.toTransmissionForm())}catch(e){throw new Error(this.ERROR_SYSTEM)}};Connection.prototype.setAddress=function(protocol,address,port){this.protocol_p=protocol;this.address_p=address;this.port_p=port;this.usableIF_p=0};Connection.prototype.getAddressWithProtocol=function(){return this.protocol_p+"://"+this.address_p};Connection.prototype.getSocketIoURL=function(){return this.getAddressWithProtocol()+":"+this.port_p};Connection.prototype.registCallback=function(callback){if(typeof(callback)=="function"){this.callback_p=callback}};Connection.prototype.changeStatus=function(target,status){switch(target){case this.IF_ALL:this.dev_status_p=status;this.ws_status_p=status;break;case this.IF_EPOSDEVICE:this.dev_status_p=status;break;default:this.ws_status_p=status;break}};Connection.prototype.status=function(target){if(target==this.IF_EPOSDEVICE){return this.dev_status_p}else{return this.ws_status_p}};Connection.prototype.isUsableDeviceIF=function(){return((this.usableIF_p&this.IF_EPOSDEVICE)==this.IF_EPOSDEVICE)};Connection.prototype.isUsablePrintIF=function(){if(this.isUsableDeviceIF()){return true}return((this.usableIF_p&this.IF_EPOSPRINT)==this.IF_EPOSPRINT)};Connection.prototype.isUsableDisplayIF=function(){if(this.isUsableDeviceIF()){return true}return((this.usableIF_p&this.IF_EPOSDISPLAY)==this.IF_EPOSDISPLAY)};Connection.prototype.registIFAccessResult=function(type,code){if(code==this.ACCESS_OK){this.changeStatus(type,this.CONNECT);this.usableIF_p|=type}if(type==this.IF_EPOSDEVICE){var result=this.ERROR_PARAMETER;if(this.usableIF_p&this.IF_ALL){if(this.protocol_p=="http"){result=this.OK}else{result=this.SSL_CONNECT_OK}}if(code==this.ACCESS_TIMEOUT){result=this.ERROR_TIMEOUT}if(this.callback_p!=null){try{this.callback_p(result)}catch(e){}this.callback_p=null}}};function ePosCrypto(){this.pubkey_c="";this.secretKey=""}ePosCrypto.prototype={genClientKeys:function(arg_prime_s,arg_pubkey_s){var g=str2bigInt("2",10);var prime_c=str2bigInt(arg_prime_s,16);var privkey_c=randBigInt(64,0);this.pubkey_c=powMod(g,privkey_c,prime_c);var intPubkey=str2bigInt(arg_pubkey_s,16);var modNum=powMod(intPubkey,privkey_c,prime_c);var strModNum=bigInt2str(modNum,16);var strSecretKey=strModNum.toLowerCase();while(strSecretKey.length<192){strSecretKey="0"+strSecretKey}this.secretKey=md5.bin(strSecretKey)},bfEncrypt:function(data){try{var enc_req={data:data,key:this.secretKey,mode:"cbc",round:16,iv:blowfish.mkIV()};var enc_data=blowfish.encrypt(enc_req);var cdata=base64.encode(enc_data)}catch(e){return""}return cdata},bfDecrypt:function(data){try{var dec_req={data:base64.decode(data),key:this.secretKey,mode:"cbc"};var ddata=blowfish.decrypt(dec_req)}catch(e){return""}return ddata}};function ePosDeviceMessage(){this.REQUEST={CONNECT:"connect",PUBKEY:"pubkey",ADMININFO:"admin_info",RECONNECT:"reconnect",DISCONNECT:"disconnect",OPENDEVICE:"open_device",CLOSEDEVICE:"close_device",DEVICEDATA:"device_data",SERVICEDATA:"service_data",ERROR:"error",OPENCOMMBOX:"open_commbox",CLOSECOMMBOX:"close_commbox",COMMDATA:"commbox_data"};this.request=null;this.sequence=0;this.deviceId="";this.serviceId="";this.data={};this.isCrypto="0";this.code="";this.data_id=0}ePosDeviceMessage.prototype={toTransmissionForm:function(){var message=null;switch(this.request){case this.REQUEST.PUBKEY:case this.REQUEST.ADMININFO:case this.REQUEST.RECONNECT:case this.REQUEST.DISCONNECT:message=[this.request,this.data];break;case this.REQUEST.OPENDEVICE:case this.REQUEST.CLOSEDEVICE:message=[this.request,this.deviceId,this.data,this.data_id];break;case this.REQUEST.DEVICEDATA:message=[this.request,this.sequence,this.deviceId,this.data,this.data_id];break;case this.REQUEST.SERVICEDATA:message=[this.request,this.sequence,this.serviceId,this.isCrypto,this.data,this.data_id];break;case this.REQUEST.OPENCOMMBOX:case this.REQUEST.CLOSECOMMBOX:case this.REQUEST.COMMDATA:message=[this.request,this.sequence,this.data,this.data_id];break;default:message=null}return message},};var MessageFactory=(function(){var PUBKEY_TEST_TEXT="hello";var sequence=0;var cipher=new ePosCrypto();getNextSequence=function(){sequence++;if(Number.MAX_VALUE==sequence){sequence=1}return String(sequence)};return{parseRequestMessage:function(message){var eposmsg=new ePosDeviceMessage();eposmsg.request=message[0];switch(eposmsg.request){case eposmsg.REQUEST.CONNECT:eposmsg.data=message[1];break;case eposmsg.REQUEST.PUBKEY:case eposmsg.REQUEST.ADMININFO:case eposmsg.REQUEST.RECONNECT:case eposmsg.REQUEST.DISCONNECT:eposmsg.code=message[1];eposmsg.data=message[2];break;case eposmsg.REQUEST.OPENDEVICE:case eposmsg.REQUEST.CLOSEDEVICE:eposmsg.deviceId=message[1];eposmsg.code=message[2];eposmsg.data=message[3];eposmsg.data_id=message[4];break;case eposmsg.REQUEST.DEVICEDATA:eposmsg.sequence=message[1];eposmsg.deviceId=message[2];eposmsg.data=message[3];eposmsg.data_id=message[4];break;case eposmsg.REQUEST.SERVICEDATA:eposmsg.sequence=message[1];eposmsg.serviceId=message[2];eposmsg.isCrypto=message[3];eposmsg.data=message[4];eposmsg.data_id=message[5];break;case eposmsg.REQUEST.OPENCOMMBOX:case eposmsg.REQUEST.CLOSECOMMBOX:case eposmsg.REQUEST.COMMDATA:eposmsg.sequence=message[1];eposmsg.data=message[2];eposmsg.data_id=message[3];break;case eposmsg.REQUEST.ERROR:eposmsg.sequence=message[1];eposmsg.deviceId=message[2];eposmsg.code=message[3];eposmsg.data=message[4];eposmsg.data_id=message[5];break;default:eposmsg=null}return eposmsg},getPubkeyMessage:function(prime,key){var eposmsg=new ePosDeviceMessage();eposmsg.request=eposmsg.REQUEST.PUBKEY;cipher.genClientKeys(prime,key);var testData=cipher.bfEncrypt(PUBKEY_TEST_TEXT);var pubkey=bigInt2str(cipher.pubkey_c,16);while(pubkey.length<192){pubkey="0"+pubkey}eposmsg.data={key:pubkey,testData:testData};return eposmsg},getAdminInfoMessage:function(){var eposmsg=new ePosDeviceMessage();eposmsg.request=eposmsg.REQUEST.ADMININFO;eposmsg.data={};return eposmsg},getReconnectMessage:function(prevId,curId,dataId){var eposmsg=new ePosDeviceMessage();eposmsg.request=eposmsg.REQUEST.RECONNECT;eposmsg.data={old_client_id:prevId,new_client_id:curId,received_id:dataId};return eposmsg},getDisconnectMessage:function(connectionId){var eposmsg=new ePosDeviceMessage();eposmsg.request=eposmsg.REQUEST.DISCONNECT;eposmsg.data={client_id:connectionId};return eposmsg},getOpenDeviceMessage:function(deviceId,deviceType,isCrypto,isBufferEnable){var eposmsg=new ePosDeviceMessage();var deviceTypeName=deviceType;if(deviceTypeName=="type_hybrid_printer2"){deviceTypeName="type_hybrid_printer"}eposmsg.request=eposmsg.REQUEST.OPENDEVICE;eposmsg.deviceId=deviceId;eposmsg.data={type:deviceTypeName,crypto:isCrypto,buffer:isBufferEnable};return eposmsg},getCloseDeviceMessage:function(deviceId){var eposmsg=new ePosDeviceMessage();eposmsg.request=eposmsg.REQUEST.CLOSEDEVICE;eposmsg.deviceId=deviceId;eposmsg.data={};return eposmsg},getDeviceDataMessage:function(deviceId,data,crypto){var eposmsg=new ePosDeviceMessage();eposmsg.request=eposmsg.REQUEST.DEVICEDATA;eposmsg.sequence=getNextSequence();eposmsg.deviceId=deviceId;if(crypto){eposmsg.data=cipher.bfEncrypt(JSON.stringify(data))}else{eposmsg.data=data}return eposmsg},getServiceMessage:function(serviceId,isCrypt,data){var eposmsg=new ePosDeviceMessage();eposmsg.request=eposmsg.REQUEST.SERVICEDATA;eposmsg.sequence=getNextSequence();eposmsg.serviceId=serviceId;eposmsg.isCrypto=isCrypt;if(isCrypt){eposmsg.data=cipher.bfEncrypt(JSON.stringify(data))}else{eposmsg.data=data}return eposmsg},getOpenCommBoxMessage:function(data){var eposmsg=new ePosDeviceMessage();eposmsg.request=eposmsg.REQUEST.OPENCOMMBOX;eposmsg.sequence=getNextSequence();eposmsg.data=data;return eposmsg},getCloseCommBoxMessage:function(data){var eposmsg=new ePosDeviceMessage();eposmsg.request=eposmsg.REQUEST.CLOSECOMMBOX;eposmsg.sequence=getNextSequence();eposmsg.data=data;return eposmsg},getCommBoxDataMessage:function(data){var eposmsg=new ePosDeviceMessage();eposmsg.request=eposmsg.REQUEST.COMMDATA;eposmsg.sequence=getNextSequence();eposmsg.data=data;return eposmsg},decrypt:function(data){var decryptoData=cipher.bfDecrypt(data);return JSON.parse(decryptoData)},}}());function ePOSDeviceConfiguration(address){this.DEVICE_GROUP_ALL="group_all";this.DEVICE_GROUP_PRINTER="group_printer";this.DEVICE_GROUP_DISPLAY="group_display";this.DEVICE_GROUP_HID="group_hid";this.DEVICE_GROUP_SERIAL="group_serial";this.DEVICE_GROUP_OTHER="group_other";this.DEVICE_TYPE_PRINTER="type_printer";this.DEVICE_TYPE_HYBRID_PRINTER="type_hybrid_printer";this.DEVICE_TYPE_DISPLAY="type_display";this.DEVICE_TYPE_KEYBOARD="type_keyboard";this.DEVICE_TYPE_SCANNER="type_scanner";this.DEVICE_TYPE_MSR="type_msr";this.DEVICE_TYPE_CASH_CHANGER="type_cash_changer";this.DEVICE_TYPE_SIMPLE_SERIAL="type_simple_serial";this.DEVICE_TYPE_CASH_DRAWER="type_cash_drawer";this.DEVICE_TYPE_PIN_PAD="type_pin_pad";this.DEVICE_TYPE_CAT="type_cat";this.DEVICE_TYPE_SMARTCARD_RW="type_smartcard_rw";this.CGI_PATH="/epson_eposdevice/getDeviceList.cgi";this.RESULT_OK="OK";this.UNKNOWN="unknown";this.ONLINE="online";this.OFFLINE="offline";this.INTERVAL=500;this.TIMEOUT=60*1000;this.address=address;this.cb=null;this.message=null;this.WEBSOCKET_PORT=8008;this.SSLWEBSOCKET_PORT=8043}ePOSDeviceConfiguration.prototype.getRegisterdDevices=function(type,callback){this.cb=callback;var self=this;var xhr=null;var protocol=window.location.protocol+"//";var param="?group="+type;var url=protocol+this.address+this.CGI_PATH+param;if(window.XDomainRequest){xhr=new XDomainRequest();xhr.open("GET",url);xhr.onload=function(){self.message=self.RESULT_OK;var jsonObj=JSON.parse(xhr.responseText);self.checkDevice(jsonObj,function(resultList){for(var key in resultList){for(var i=0;i<jsonObj.length;i++){if(jsonObj[i].deviceId!=key){continue}jsonObj[i].status=resultList[key]}}if(self.cb!=null){self.cb(self,jsonObj);self.cb=null}})};xhr.onerror=function(){self.message="Failed to get device list.";if(self.cb!=null){self.cb(self,null);self.cb=null}}}else{xhr=new XMLHttpRequest();xhr.open("GET",url,true);xhr.setRequestHeader("Pragma","no-cache");xhr.setRequestHeader("Cache-Control","no-cache");xhr.setRequestHeader("If-Modified-Since","Thu, 01 Jun 1970 00:00:00 GMT");xhr.onreadystatechange=function(){if(xhr.readyState==4){if(xhr.status==200){self.message=self.RESULT_OK;var jsonObj=JSON.parse(xhr.responseText);self.checkDevice(jsonObj,function(resultList){for(var key in resultList){for(var i=0;i<jsonObj.length;i++){if(jsonObj[i].deviceId!=key){continue}jsonObj[i].status=resultList[key]}}if(self.cb!=null){self.cb(self,jsonObj);self.cb=null}})}else{self.message="Failed to get device list.";if(self.cb!=null){self.cb(self,null);self.cb=null}}}}}xhr.send(null)};ePOSDeviceConfiguration.prototype.checkDevice=function(obj,callback){var self=this;var protocol=window.location.protocol;var port=(protocol.match(/^(https:)/))?this.SSLWEBSOCKET_PORT:this.WEBSOCKET_PORT;var ePosDev=new epson.ePOSDevice();var resultList=new Array();for(var i=0;i<obj.length;i++){resultList[obj[i].deviceId]=self.UNKNOWN}ePosDev.onerror=function(sq,deviceId,result){if(deviceId!=""){resultList[deviceId]=self.OFFLINE}};ePosDev.connect(this.address,port,function(data){if((data=="OK")||(data=="SSL_CONNECT_OK")){for(var i=0;i<obj.length;i++){ePosDev.createDevice(obj[i].deviceId,obj[i].deviceType,{},function(data,code){resultList[data.deviceID]=(code=="OK")?self.ONLINE:self.OFFLINE;ePosDev.deleteDevice(data,null)})}}});var timer;timer=window.setInterval(function(){for(var key in resultList){if(resultList[key]==self.UNKNOWN){return}}clearInterval(timer);if(callback!=null){callback(resultList)}},self.INTERVAL);window.setTimeout(function(){clearInterval(timer);if(callback!=null){callback(resultList)}},self.TIMEOUT)};if(typeof JSON!=="object"){JSON={}}(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||"null"}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){if(typeof rep[i]==="string"){k=rep[i];v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}else{for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof JSON.stringify!=="function"){JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number"){for(i=0;i<space;i+=1){indent+=" "}}else{if(typeof space==="string"){indent=space}}rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number")){throw new Error("JSON.stringify")}return str("",{"":value})}}if(typeof JSON.parse!=="function"){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return reviver.call(holder,key,value)}text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}}}());
odoo-14.0.0+dfsg/addons/pos_epson_printer/static/lib/epos-2.12.0.js-5-/*! Socket.IO.js build:0.8.7, development. Copyright(c) 2011 LearnBoost <dev@learnboost.com> MIT Licensed */
odoo-14.0.0+dfsg/addons/pos_epson_printer/static/lib/epos-2.12.0.js:6:(function(exports,global){var io=exports;io.version="0.8.7";io.protocol=1;io.transports=[];io.j=[];io.sockets={};io.connect=function(host,details){var uri=io.util.parseUri(host),uuri,socket;if(global&&global.location){uri.protocol=uri.protocol||global.location.protocol.slice(0,-1);uri.host=uri.host||(global.document?global.document.domain:global.location.hostname);uri.port=uri.port||global.location.port}uuri=io.util.uniqueUri(uri);var options={host:uri.host,secure:"https"==uri.protocol,port:uri.port||("https"==uri.protocol?443:80),query:uri.query||""};io.util.merge(options,details);if(options["force new connection"]||!io.sockets[uuri]){socket=new io.Socket(options)}if(!options["force new connection"]&&socket){io.sockets[uuri]=socket}socket=socket||io.sockets[uuri];return socket.of(uri.path.length>1?uri.path:"")}})("object"===typeof module?module.exports:(this.io={}),this);(function(exports,global){var util=exports.util={};var re=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/;var parts=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];util.parseUri=function(str){var m=re.exec(str||""),uri={},i=14;while(i--){uri[parts[i]]=m[i]||""}return uri};util.uniqueUri=function(uri){var protocol=uri.protocol,host=uri.host,port=uri.port;if("document" in global){host=host||document.domain;port=port||(protocol=="https"&&document.location.protocol!=="https:"?443:document.location.port)}else{host=host||"localhost";if(!port&&protocol=="https"){port=443}}return(protocol||"http")+"://"+host+":"+(port||80)};util.query=function(base,addition){var query=util.chunkQuery(base||""),components=[];util.merge(query,util.chunkQuery(addition||""));for(var part in query){if(query.hasOwnProperty(part)){components.push(part+"="+query[part])}}return components.length?"?"+components.join("&"):""};util.chunkQuery=function(qs){var query={},params=qs.split("&"),i=0,l=params.length,kv;for(;i<l;++i){kv=params[i].split("=");if(kv[0]){query[kv[0]]=decodeURIComponent(kv[1])}}return query};var pageLoaded=false;util.load=function(fn){if("document" in global&&document.readyState==="complete"||pageLoaded){return fn()}util.on(global,"load",fn,false)};util.on=function(element,event,fn,capture){if(element.attachEvent){element.attachEvent("on"+event,fn)}else{if(element.addEventListener){element.addEventListener(event,fn,capture)}}};util.request=function(xdomain){if(xdomain&&"undefined"!=typeof XDomainRequest){return new XDomainRequest()}if("undefined"!=typeof XMLHttpRequest&&(!xdomain||util.ua.hasCORS)){return new XMLHttpRequest()}if(!xdomain){try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}}return null};if("undefined"!=typeof window){util.load(function(){pageLoaded=true})}util.defer=function(fn){if(!util.ua.webkit||"undefined"!=typeof importScripts){return fn()}util.load(function(){setTimeout(fn,100)})};util.merge=function merge(target,additional,deep,lastseen){var seen=lastseen||[],depth=typeof deep=="undefined"?2:deep,prop;for(prop in additional){if(additional.hasOwnProperty(prop)&&util.indexOf(seen,prop)<0){if(typeof target[prop]!=="object"||!depth){target[prop]=additional[prop];seen.push(additional[prop])}else{util.merge(target[prop],additional[prop],depth-1,seen)}}}return target};util.mixin=function(ctor,ctor2){util.merge(ctor.prototype,ctor2.prototype)};util.inherit=function(ctor,ctor2){function f(){}f.prototype=ctor2.prototype;ctor.prototype=new f};util.isArray=Array.isArray||function(obj){return Object.prototype.toString.call(obj)==="[object Array]"};util.intersect=function(arr,arr2){var ret=[],longest=arr.length>arr2.length?arr:arr2,shortest=arr.length>arr2.length?arr2:arr;for(var i=0,l=shortest.length;i<l;i++){if(~util.indexOf(longest,shortest[i])){ret.push(shortest[i])}}return ret};util.indexOf=function(arr,o,i){if(Array.prototype.indexOf){return Array.prototype.indexOf.call(arr,o,i)}for(var j=arr.length,i=i<0?i+j<0?0:i+j:i||0;i<j&&arr[i]!==o;i++){}return j<=i?-1:i};util.toArray=function(enu){var arr=[];for(var i=0,l=enu.length;i<l;i++){arr.push(enu[i])}return arr};util.ua={};util.ua.hasCORS="undefined"!=typeof XMLHttpRequest&&(function(){try{var a=new XMLHttpRequest()}catch(e){return false}return a.withCredentials!=undefined})();util.ua.webkit="undefined"!=typeof navigator&&/webkit/i.test(navigator.userAgent)})("undefined"!=typeof io?io:module.exports,this);(function(exports,io){exports.EventEmitter=EventEmitter;function EventEmitter(){}EventEmitter.prototype.on=function(name,fn){if(!this.$events){this.$events={}}if(!this.$events[name]){this.$events[name]=fn}else{if(io.util.isArray(this.$events[name])){this.$events[name].push(fn)}else{this.$events[name]=[this.$events[name],fn]}}return this};EventEmitter.prototype.addListener=EventEmitter.prototype.on;EventEmitter.prototype.once=function(name,fn){var self=this;function on(){self.removeListener(name,on);fn.apply(this,arguments)}on.listener=fn;this.on(name,on);return this};EventEmitter.prototype.removeListener=function(name,fn){if(this.$events&&this.$events[name]){var list=this.$events[name];if(io.util.isArray(list)){var pos=-1;for(var i=0,l=list.length;i<l;i++){if(list[i]===fn||(list[i].listener&&list[i].listener===fn)){pos=i;break}}if(pos<0){return this}list.splice(pos,1);if(!list.length){delete this.$events[name]}}else{if(list===fn||(list.listener&&list.listener===fn)){delete this.$events[name]}}}return this};EventEmitter.prototype.removeAllListeners=function(name){if(this.$events&&this.$events[name]){this.$events[name]=null}return this};EventEmitter.prototype.listeners=function(name){if(!this.$events){this.$events={}}if(!this.$events[name]){this.$events[name]=[]}if(!io.util.isArray(this.$events[name])){this.$events[name]=[this.$events[name]]}return this.$events[name]};EventEmitter.prototype.emit=function(name){if(!this.$events){return false}var handler=this.$events[name];if(!handler){return false}var args=Array.prototype.slice.call(arguments,1);if("function"==typeof handler){handler.apply(this,args)}else{if(io.util.isArray(handler)){var listeners=handler.slice();for(var i=0,l=listeners.length;i<l;i++){listeners[i].apply(this,args)}}else{return false}}return true}})("undefined"!=typeof io?io:module.exports,"undefined"!=typeof io?io:module.parent.exports);(function(exports,nativeJSON){if(nativeJSON&&nativeJSON.parse){return exports.JSON={parse:nativeJSON.parse,stringify:nativeJSON.stringify}}var JSON=exports.JSON={};function f(n){return n<10?"0"+n:n}function date(d,key){return isFinite(d.valueOf())?d.getUTCFullYear()+"-"+f(d.getUTCMonth()+1)+"-"+f(d.getUTCDate())+"T"+f(d.getUTCHours())+":"+f(d.getUTCMinutes())+":"+f(d.getUTCSeconds())+"Z":null}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value instanceof Date){value=date(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||"null"}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){if(typeof rep[i]==="string"){k=rep[i];v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}else{for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number"){for(i=0;i<space;i+=1){indent+=" "}}else{if(typeof space==="string"){indent=space}}rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number")){throw new Error("JSON.stringify")}return str("",{"":value})};JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return reviver.call(holder,key,value)}text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}})("undefined"!=typeof io?io:module.exports,typeof JSON!=="undefined"?JSON:undefined);(function(exports,io){var parser=exports.parser={};var packets=parser.packets=["disconnect","connect","heartbeat","message","json","event","ack","error","noop"];var reasons=parser.reasons=["transport not supported","client not handshaken","unauthorized"];var advice=parser.advice=["reconnect"];var JSON=io.JSON,indexOf=io.util.indexOf;parser.encodePacket=function(packet){var type=indexOf(packets,packet.type),id=packet.id||"",endpoint=packet.endpoint||"",ack=packet.ack,data=null;switch(packet.type){case"error":var reason=packet.reason?indexOf(reasons,packet.reason):"",adv=packet.advice?indexOf(advice,packet.advice):"";if(reason!==""||adv!==""){data=reason+(adv!==""?("+"+adv):"")}break;case"message":if(packet.data!==""){data=packet.data}break;case"event":var ev={name:packet.name};if(packet.args&&packet.args.length){ev.args=packet.args}data=JSON.stringify(ev);break;case"json":data=JSON.stringify(packet.data);break;case"connect":if(packet.qs){data=packet.qs}break;case"ack":data=packet.ackId+(packet.args&&packet.args.length?"+"+JSON.stringify(packet.args):"");break}var encoded=[type,id+(ack=="data"?"+":""),endpoint];if(data!==null&&data!==undefined){encoded.push(data)}return encoded.join(":")};parser.encodePayload=function(packets){var decoded="";if(packets.length==1){return packets[0]}for(var i=0,l=packets.length;i<l;i++){var packet=packets[i];decoded+="\ufffd"+packet.length+"\ufffd"+packets[i]}return decoded};var regexp=/([^:]+):([0-9]+)?(\+)?:([^:]+)?:?([\s\S]*)?/;parser.decodePacket=function(data){var pieces=data.match(regexp);if(!pieces){return{}}var id=pieces[2]||"",data=pieces[5]||"",packet={type:packets[pieces[1]],endpoint:pieces[4]||""};if(id){packet.id=id;if(pieces[3]){packet.ack="data"}else{packet.ack=true}}switch(packet.type){case"error":var pieces=data.split("+");packet.reason=reasons[pieces[0]]||"";packet.advice=advice[pieces[1]]||"";break;case"message":packet.data=data||"";break;case"event":try{var opts=JSON.parse(data);packet.name=opts.name;packet.args=opts.args}catch(e){}packet.args=packet.args||[];break;case"json":try{packet.data=JSON.parse(data)}catch(e){}break;case"connect":packet.qs=data||"";break;case"ack":var pieces=data.match(/^([0-9]+)(\+)?(.*)/);if(pieces){packet.ackId=pieces[1];packet.args=[];if(pieces[3]){try{packet.args=pieces[3]?JSON.parse(pieces[3]):[]}catch(e){}}}break;case"disconnect":case"heartbeat":break}return packet};parser.decodePayload=function(data){if(data.charAt(0)=="\ufffd"){var ret=[];for(var i=1,length="";i<data.length;i++){if(data.charAt(i)=="\ufffd"){ret.push(parser.decodePacket(data.substr(i+1).substr(0,length)));i+=Number(length)+1;length=""}else{length+=data.charAt(i)}}return ret}else{return[parser.decodePacket(data)]}}})("undefined"!=typeof io?io:module.exports,"undefined"!=typeof io?io:module.parent.exports);(function(exports,io){exports.Transport=Transport;function Transport(socket,sessid){this.socket=socket;this.sessid=sessid}io.util.mixin(Transport,io.EventEmitter);Transport.prototype.onData=function(data){this.clearCloseTimeout();if(this.socket.connected||this.socket.connecting||this.socket.reconnecting){this.setCloseTimeout()}if(data!==""){var msgs=io.parser.decodePayload(data);if(msgs&&msgs.length){for(var i=0,l=msgs.length;i<l;i++){this.onPacket(msgs[i])}}}return this};Transport.prototype.onPacket=function(packet){if(packet.type=="heartbeat"){return this.onHeartbeat()}if(packet.type=="connect"&&packet.endpoint==""){this.onConnect()}this.socket.onPacket(packet);return this};Transport.prototype.setCloseTimeout=function(){if(!this.closeTimeout){var self=this;this.closeTimeout=setTimeout(function(){self.onDisconnect()},this.socket.closeTimeout)}};Transport.prototype.onDisconnect=function(){if(this.close&&this.open){this.close()}this.clearTimeouts();this.socket.onDisconnect();return this};Transport.prototype.onConnect=function(){this.socket.onConnect();return this};Transport.prototype.clearCloseTimeout=function(){if(this.closeTimeout){clearTimeout(this.closeTimeout);this.closeTimeout=null}};Transport.prototype.clearTimeouts=function(){this.clearCloseTimeout();if(this.reopenTimeout){clearTimeout(this.reopenTimeout)}};Transport.prototype.packet=function(packet){this.send(io.parser.encodePacket(packet))};Transport.prototype.onHeartbeat=function(heartbeat){this.packet({type:"heartbeat"})};Transport.prototype.onOpen=function(){this.open=true;this.clearCloseTimeout();this.socket.onOpen()};Transport.prototype.onClose=function(){var self=this;this.open=false;this.socket.onClose();this.onDisconnect()};Transport.prototype.prepareUrl=function(){var options=this.socket.options;return this.scheme()+"://"+options.host+":"+options.port+"/"+options.resource+"/"+io.protocol+"/"+this.name+"/"+this.sessid};Transport.prototype.ready=function(socket,fn){fn.call(this)}})("undefined"!=typeof io?io:module.exports,"undefined"!=typeof io?io:module.parent.exports);(function(exports,io,global){exports.Socket=Socket;function Socket(options){this.options={port:80,secure:false,document:"document" in global?document:false,resource:"socket.io",transports:io.transports,"connect timeout":10000,"try multiple transports":true,reconnect:true,"reconnection delay":500,"reconnection limit":Infinity,"reopen delay":3000,"max reconnection attempts":10,"sync disconnect on unload":true,"auto connect":true,"flash policy port":10843};io.util.merge(this.options,options);this.connected=false;this.open=false;this.connecting=false;this.reconnecting=false;this.namespaces={};this.buffer=[];this.doBuffer=false;if(this.options["sync disconnect on unload"]&&(!this.isXDomain()||io.util.ua.hasCORS)){var self=this;io.util.on(global,"beforeunload",function(){self.disconnectSync()},false)}if(this.options["auto connect"]){this.connect()}}io.util.mixin(Socket,io.EventEmitter);Socket.prototype.of=function(name){if(!this.namespaces[name]){this.namespaces[name]=new io.SocketNamespace(this,name);if(name!==""){this.namespaces[name].packet({type:"connect"})}}return this.namespaces[name]};Socket.prototype.publish=function(){this.emit.apply(this,arguments);var nsp;for(var i in this.namespaces){if(this.namespaces.hasOwnProperty(i)){nsp=this.of(i);nsp.$emit.apply(nsp,arguments)}}};function empty(){}Socket.prototype.handshake=function(fn){var self=this,options=this.options;function complete(data){if(data instanceof Error){self.onError(data.message)}else{fn.apply(null,data.split(":"))}}var url=["http"+(options.secure?"s":"")+":/",options.host+":"+options.port,options.resource,io.protocol,io.util.query(this.options.query,"t="+ +new Date)].join("/");var loadTimeout=setTimeout(function(){if(typeof script!=="undefined"){try{var srcIndex=script.src.lastIndexOf("=")+1;var arrayIndex=script.src.substring(srcIndex);io.j[arrayIndex]=function(data){script.parentNode.removeChild(script)}}catch(e){}}self.publish("connect_failed")},this.options["connect timeout"]);if(this.isXDomain()&&!io.util.ua.hasCORS){var insertAt=document.getElementsByTagName("script")[0],script=document.createElement("script");script.src=url+"&jsonp="+io.j.length;insertAt.parentNode.insertBefore(script,insertAt);io.j.push(function(data){clearTimeout(loadTimeout);complete(data);script.parentNode.removeChild(script)})}else{var xhr=io.util.request();xhr.open("GET",url,true);xhr.onreadystatechange=function(){if(xhr.readyState==4){xhr.onreadystatechange=empty;clearTimeout(loadTimeout);if(xhr.status==200){complete(xhr.responseText)}else{!self.reconnecting&&self.onError(xhr.responseText)}}};xhr.timeout=this.options["connect timeout"];xhr.send(null)}};Socket.prototype.getTransport=function(override){var transports=override||this.transports,match;for(var i=0,transport;transport=transports[i];i++){if(io.Transport[transport]&&io.Transport[transport].check(this)&&(!this.isXDomain()||io.Transport[transport].xdomainCheck())){return new io.Transport[transport](this,this.sessionid)}}return null};Socket.prototype.connect=function(fn){if(this.connecting){return this}var self=this;this.handshake(function(sid,heartbeat,close,transports){self.sessionid=sid;self.closeTimeout=close*1000;self.heartbeatTimeout=heartbeat*1000;self.transports=io.util.intersect(transports.split(","),self.options.transports);function connect(transports){if(self.transport){self.transport.clearTimeouts()}self.transport=self.getTransport(transports);if(!self.transport){return self.publish("connect_failed")}self.transport.ready(self,function(){self.connecting=true;self.publish("connecting",self.transport.name);self.transport.open();if(self.options["connect timeout"]){self.connectTimeoutTimer=setTimeout(function(){if(!self.connected){self.connecting=false;if(self.options["try multiple transports"]){if(!self.remainingTransports){self.remainingTransports=self.transports.slice(0)}var remaining=self.remainingTransports;while(remaining.length>0&&remaining.splice(0,1)[0]!=self.transport.name){}if(remaining.length){connect(remaining)}else{self.publish("connect_failed")}}}},self.options["connect timeout"])}})}connect();self.once("connect",function(){clearTimeout(self.connectTimeoutTimer);fn&&typeof fn=="function"&&fn()})});return this};Socket.prototype.packet=function(data){if(this.connected&&!this.doBuffer){this.transport.packet(data)}else{this.buffer.push(data)}return this};Socket.prototype.setBuffer=function(v){this.doBuffer=v;if(!v&&this.connected&&this.buffer.length){this.transport.payload(this.buffer);this.buffer=[]}};Socket.prototype.disconnect=function(){if(this.connected){if(this.open){this.of("").packet({type:"disconnect"})}this.onDisconnect("booted")}return this};Socket.prototype.disconnectSync=function(){var xhr=io.util.request(),uri=this.resource+"/"+io.protocol+"/"+this.sessionid;xhr.open("GET",uri,true);this.onDisconnect("booted")};Socket.prototype.isXDomain=function(){var port=global.location.port||("https:"==global.location.protocol?443:80);return this.options.host!==global.location.hostname||this.options.port!=port};Socket.prototype.onConnect=function(){if(!this.connected){this.connected=true;this.connecting=false;if(!this.doBuffer){this.setBuffer(false)}this.emit("connect")}};Socket.prototype.onOpen=function(){this.open=true};Socket.prototype.onClose=function(){this.open=false};Socket.prototype.onPacket=function(packet){this.of(packet.endpoint).onPacket(packet)};Socket.prototype.onError=function(err){if(err&&err.advice){if(err.advice==="reconnect"&&this.connected){this.disconnect();this.reconnect()}}this.publish("error",err&&err.reason?err.reason:err)};Socket.prototype.onDisconnect=function(reason){var wasConnected=this.connected;this.connected=false;this.connecting=false;this.open=false;if(wasConnected){this.transport.close();this.transport.clearTimeouts();this.publish("disconnect",reason);if("booted"!=reason&&this.options.reconnect&&!this.reconnecting){this.reconnect()}}};Socket.prototype.reconnect=function(){this.reconnecting=true;this.reconnectionAttempts=0;this.reconnectionDelay=this.options["reconnection delay"];var self=this,maxAttempts=this.options["max reconnection attempts"],tryMultiple=this.options["try multiple transports"],limit=this.options["reconnection limit"];function reset(){if(self.connected){for(var i in self.namespaces){if(self.namespaces.hasOwnProperty(i)&&""!==i){self.namespaces[i].packet({type:"connect"})}}self.publish("reconnect",self.transport.name,self.reconnectionAttempts)}self.removeListener("connect_failed",maybeReconnect);self.removeListener("connect",maybeReconnect);self.reconnecting=false;delete self.reconnectionAttempts;delete self.reconnectionDelay;delete self.reconnectionTimer;delete self.redoTransports;self.options["try multiple transports"]=tryMultiple}function maybeReconnect(){if(!self.reconnecting){return}if(self.connected){return reset()}if(self.connecting&&self.reconnecting){return self.reconnectionTimer=setTimeout(maybeReconnect,1000)}if(self.reconnectionAttempts++>=maxAttempts){if(!self.redoTransports){self.on("connect_failed",maybeReconnect);self.options["try multiple transports"]=true;self.transport=self.getTransport();self.redoTransports=true;self.connect()}else{self.publish("reconnect_failed");reset()}}else{if(self.reconnectionDelay<limit){self.reconnectionDelay*=2}self.connect();self.publish("reconnecting",self.reconnectionDelay,self.reconnectionAttempts);self.reconnectionTimer=setTimeout(maybeReconnect,self.reconnectionDelay)}}this.options["try multiple transports"]=false;this.reconnectionTimer=setTimeout(maybeReconnect,this.reconnectionDelay);this.on("connect",maybeReconnect)}})("undefined"!=typeof io?io:module.exports,"undefined"!=typeof io?io:module.parent.exports,this);(function(exports,io){exports.SocketNamespace=SocketNamespace;function SocketNamespace(socket,name){this.socket=socket;this.name=name||"";this.flags={};this.json=new Flag(this,"json");this.ackPackets=0;this.acks={}}io.util.mixin(SocketNamespace,io.EventEmitter);SocketNamespace.prototype.$emit=io.EventEmitter.prototype.emit;SocketNamespace.prototype.of=function(){return this.socket.of.apply(this.socket,arguments)};SocketNamespace.prototype.packet=function(packet){packet.endpoint=this.name;this.socket.packet(packet);this.flags={};return this};SocketNamespace.prototype.send=function(data,fn){var packet={type:this.flags.json?"json":"message",data:data};if("function"==typeof fn){packet.id=++this.ackPackets;packet.ack=true;this.acks[packet.id]=fn}return this.packet(packet)};SocketNamespace.prototype.emit=function(name){var args=Array.prototype.slice.call(arguments,1),lastArg=args[args.length-1],packet={type:"event",name:name};if("function"==typeof lastArg){packet.id=++this.ackPackets;packet.ack="data";this.acks[packet.id]=lastArg;args=args.slice(0,args.length-1)}packet.args=args;return this.packet(packet)};SocketNamespace.prototype.disconnect=function(){if(this.name===""){this.socket.disconnect()}else{this.packet({type:"disconnect"});this.$emit("disconnect")}return this};SocketNamespace.prototype.onPacket=function(packet){var self=this;function ack(){self.packet({type:"ack",args:io.util.toArray(arguments),ackId:packet.id})}switch(packet.type){case"connect":this.$emit("connect");break;case"disconnect":if(this.name===""){this.socket.onDisconnect(packet.reason||"booted")}else{this.$emit("disconnect",packet.reason)}break;case"message":case"json":var params=["message",packet.data];if(packet.ack=="data"){params.push(ack)}else{if(packet.ack){this.packet({type:"ack",ackId:packet.id})}}this.$emit.apply(this,params);break;case"event":var params=[packet.name].concat(packet.args);if(packet.ack=="data"){params.push(ack)}this.$emit.apply(this,params);break;case"ack":if(this.acks[packet.ackId]){this.acks[packet.ackId].apply(this,packet.args);delete this.acks[packet.ackId]}break;case"error":if(packet.advice){this.socket.onError(packet)}else{if(packet.reason=="unauthorized"){this.$emit("connect_failed",packet.reason)}else{this.$emit("error",packet.reason)}}break}};function Flag(nsp,name){this.namespace=nsp;this.name=name}Flag.prototype.send=function(){this.namespace.flags[this.name]=true;this.namespace.send.apply(this.namespace,arguments)};Flag.prototype.emit=function(){this.namespace.flags[this.name]=true;this.namespace.emit.apply(this.namespace,arguments)}})("undefined"!=typeof io?io:module.exports,"undefined"!=typeof io?io:module.parent.exports);(function(exports,io,global){exports.websocket=WS;function WS(socket){io.Transport.apply(this,arguments)}io.util.inherit(WS,io.Transport);WS.prototype.name="websocket";WS.prototype.open=function(){var query=io.util.query(this.socket.options.query),self=this,Socket;if(!Socket){Socket=global.MozWebSocket||global.WebSocket}this.websocket=new Socket(this.prepareUrl()+query);this.websocket.onopen=function(){self.onOpen();self.socket.setBuffer(false)};this.websocket.onmessage=function(ev){self.onData(ev.data)};this.websocket.onclose=function(){self.onClose();self.socket.setBuffer(true)};this.websocket.onerror=function(e){self.onError(e)};return this};WS.prototype.send=function(data){this.websocket.send(data);return this};WS.prototype.payload=function(arr){for(var i=0,l=arr.length;i<l;i++){this.packet(arr[i])}return this};WS.prototype.close=function(){this.websocket.close();return this};WS.prototype.onError=function(e){this.socket.onError(e)};WS.prototype.scheme=function(){return this.socket.options.secure?"wss":"ws"};WS.check=function(){return("WebSocket" in global&&!("__addTask" in WebSocket))||"MozWebSocket" in global};WS.xdomainCheck=function(){return true};io.transports.push("websocket")})("undefined"!=typeof io?io.Transport:module.exports,"undefined"!=typeof io?io:module.parent.exports,this);(function(exports,io){exports.flashsocket=Flashsocket;function Flashsocket(){io.Transport.websocket.apply(this,arguments)}io.util.inherit(Flashsocket,io.Transport.websocket);Flashsocket.prototype.name="flashsocket";Flashsocket.prototype.open=function(){var self=this,args=arguments;WebSocket.__addTask(function(){io.Transport.websocket.prototype.open.apply(self,args)});return this};Flashsocket.prototype.send=function(){var self=this,args=arguments;WebSocket.__addTask(function(){io.Transport.websocket.prototype.send.apply(self,args)});return this};Flashsocket.prototype.close=function(){WebSocket.__tasks.length=0;io.Transport.websocket.prototype.close.call(this);return this};Flashsocket.prototype.ready=function(socket,fn){function init(){var options=socket.options,port=options["flash policy port"],path=["http"+(options.secure?"s":"")+":/",options.host+":"+options.port,options.resource,"static/flashsocket","WebSocketMain"+(socket.isXDomain()?"Insecure":"")+".swf"];if(!Flashsocket.loaded){if(typeof WEB_SOCKET_SWF_LOCATION==="undefined"){WEB_SOCKET_SWF_LOCATION=path.join("/")}if(port!==843){WebSocket.loadFlashPolicyFile("xmlsocket://"+options.host+":"+port)}WebSocket.__initialize();Flashsocket.loaded=true}fn.call(self)}var self=this;if(document.body){return init()}io.util.load(init)};Flashsocket.check=function(){if(typeof WebSocket=="undefined"||!("__initialize" in WebSocket)||!swfobject){return false}return swfobject.getFlashPlayerVersion().major>=10};Flashsocket.xdomainCheck=function(){return true};if(typeof window!="undefined"){WEB_SOCKET_DISABLE_AUTO_INITIALIZATION=true}io.transports.push("flashsocket")})("undefined"!=typeof io?io.Transport:module.exports,"undefined"!=typeof io?io:module.parent.exports);if("undefined"!=typeof window){var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}()}(function(){if("undefined"==typeof window||window.WebSocket){return}var console=window.console;if(!console||!console.log||!console.error){console={log:function(){},error:function(){}}}if(!swfobject.hasFlashPlayerVersion("10.0.0")){console.error("Flash Player >= 10.0.0 is required.");return}if(location.protocol=="file:"){console.error("WARNING: web-socket-js doesn't work in file:///... URL unless you set Flash Security Settings properly. Open the page via Web server i.e. http://...")}WebSocket=function(url,protocols,proxyHost,proxyPort,headers){var self=this;self.__id=WebSocket.__nextId++;WebSocket.__instances[self.__id]=self;self.readyState=WebSocket.CONNECTING;self.bufferedAmount=0;self.__events={};if(!protocols){protocols=[]}else{if(typeof protocols=="string"){protocols=[protocols]}}setTimeout(function(){WebSocket.__addTask(function(){WebSocket.__flash.create(self.__id,url,protocols,proxyHost||null,proxyPort||0,headers||null)})},0)};WebSocket.prototype.send=function(data){if(this.readyState==WebSocket.CONNECTING){throw"INVALID_STATE_ERR: Web Socket connection has not been established"}var result=WebSocket.__flash.send(this.__id,encodeURIComponent(data));if(result<0){return true}else{this.bufferedAmount+=result;return false}};WebSocket.prototype.close=function(){if(this.readyState==WebSocket.CLOSED||this.readyState==WebSocket.CLOSING){return}this.readyState=WebSocket.CLOSING;WebSocket.__flash.close(this.__id)};WebSocket.prototype.addEventListener=function(type,listener,useCapture){if(!(type in this.__events)){this.__events[type]=[]}this.__events[type].push(listener)};WebSocket.prototype.removeEventListener=function(type,listener,useCapture){if(!(type in this.__events)){return}var events=this.__events[type];for(var i=events.length-1;i>=0;--i){if(events[i]===listener){events.splice(i,1);break}}};WebSocket.prototype.dispatchEvent=function(event){var events=this.__events[event.type]||[];for(var i=0;i<events.length;++i){events[i](event)}var handler=this["on"+event.type];if(handler){handler(event)}};WebSocket.prototype.__handleEvent=function(flashEvent){if("readyState" in flashEvent){this.readyState=flashEvent.readyState}if("protocol" in flashEvent){this.protocol=flashEvent.protocol}var jsEvent;if(flashEvent.type=="open"||flashEvent.type=="error"){jsEvent=this.__createSimpleEvent(flashEvent.type)}else{if(flashEvent.type=="close"){jsEvent=this.__createSimpleEvent("close")}else{if(flashEvent.type=="message"){var data=decodeURIComponent(flashEvent.message);jsEvent=this.__createMessageEvent("message",data)}else{throw"unknown event type: "+flashEvent.type}}}this.dispatchEvent(jsEvent)};WebSocket.prototype.__createSimpleEvent=function(type){if(document.createEvent&&window.Event){var event=document.createEvent("Event");event.initEvent(type,false,false);return event}else{return{type:type,bubbles:false,cancelable:false}}};WebSocket.prototype.__createMessageEvent=function(type,data){if(document.createEvent&&window.MessageEvent&&!window.opera){var event=document.createEvent("MessageEvent");event.initMessageEvent("message",false,false,data,null,null,window,null);return event}else{return{type:type,data:data,bubbles:false,cancelable:false}}};WebSocket.CONNECTING=0;WebSocket.OPEN=1;WebSocket.CLOSING=2;WebSocket.CLOSED=3;WebSocket.__flash=null;WebSocket.__instances={};WebSocket.__tasks=[];WebSocket.__nextId=0;WebSocket.loadFlashPolicyFile=function(url){WebSocket.__addTask(function(){WebSocket.__flash.loadManualPolicyFile(url)})};WebSocket.__initialize=function(){if(WebSocket.__flash){return}if(WebSocket.__swfLocation){window.WEB_SOCKET_SWF_LOCATION=WebSocket.__swfLocation}if(!window.WEB_SOCKET_SWF_LOCATION){console.error("[WebSocket] set WEB_SOCKET_SWF_LOCATION to location of WebSocketMain.swf");return}var container=document.createElement("div");container.id="webSocketContainer";container.style.position="absolute";if(WebSocket.__isFlashLite()){container.style.left="0px";container.style.top="0px"}else{container.style.left="-100px";container.style.top="-100px"}var holder=document.createElement("div");holder.id="webSocketFlash";container.appendChild(holder);document.body.appendChild(container);swfobject.embedSWF(WEB_SOCKET_SWF_LOCATION,"webSocketFlash","1","1","10.0.0",null,null,{hasPriority:true,swliveconnect:true,allowScriptAccess:"always"},null,function(e){if(!e.success){console.error("[WebSocket] swfobject.embedSWF failed")}})};WebSocket.__onFlashInitialized=function(){setTimeout(function(){WebSocket.__flash=document.getElementById("webSocketFlash");WebSocket.__flash.setCallerUrl(location.href);WebSocket.__flash.setDebug(!!window.WEB_SOCKET_DEBUG);for(var i=0;i<WebSocket.__tasks.length;++i){WebSocket.__tasks[i]()}WebSocket.__tasks=[]},0)};WebSocket.__onFlashEvent=function(){setTimeout(function(){try{var events=WebSocket.__flash.receiveEvents();for(var i=0;i<events.length;++i){WebSocket.__instances[events[i].webSocketId].__handleEvent(events[i])}}catch(e){console.error(e)}},0);return true};WebSocket.__log=function(message){console.log(decodeURIComponent(message))};WebSocket.__error=function(message){console.error(decodeURIComponent(message))};WebSocket.__addTask=function(task){if(WebSocket.__flash){task()}else{WebSocket.__tasks.push(task)}};WebSocket.__isFlashLite=function(){if(!window.navigator||!window.navigator.mimeTypes){return false}var mimeType=window.navigator.mimeTypes["application/x-shockwave-flash"];if(!mimeType||!mimeType.enabledPlugin||!mimeType.enabledPlugin.filename){return false}return mimeType.enabledPlugin.filename.match(/flashlite/i)?true:false};if(!window.WEB_SOCKET_DISABLE_AUTO_INITIALIZATION){if(window.addEventListener){window.addEventListener("load",function(){WebSocket.__initialize()},false)}else{window.attachEvent("onload",function(){WebSocket.__initialize()})}}})();(function(exports,io,global){exports.XHR=XHR;function XHR(socket){if(!socket){return}io.Transport.apply(this,arguments);this.sendBuffer=[]}io.util.inherit(XHR,io.Transport);XHR.prototype.open=function(){this.socket.setBuffer(false);this.onOpen();this.get();this.setCloseTimeout();return this};XHR.prototype.payload=function(payload){var msgs=[];for(var i=0,l=payload.length;i<l;i++){msgs.push(io.parser.encodePacket(payload[i]))}this.send(io.parser.encodePayload(msgs))};XHR.prototype.send=function(data){this.post(data);return this};function empty(){}XHR.prototype.post=function(data){var self=this;this.socket.setBuffer(true);function stateChange(){if(this.readyState==4){this.onreadystatechange=empty;self.posting=false;if(this.status==200){self.socket.setBuffer(false)}else{self.onClose()}}}function onload(){this.onload=empty;self.socket.setBuffer(false)}this.sendXHR=this.request("POST");if(global.XDomainRequest&&this.sendXHR instanceof XDomainRequest){this.sendXHR.onload=this.sendXHR.onerror=onload}else{this.sendXHR.onreadystatechange=stateChange}this.sendXHR.send(data)};XHR.prototype.close=function(){this.onClose();return this};XHR.prototype.request=function(method){var req=io.util.request(this.socket.isXDomain()),query=io.util.query(this.socket.options.query,"t="+ +new Date);req.open(method||"GET",this.prepareUrl()+query,true);if(method=="POST"){try{if(req.setRequestHeader){req.setRequestHeader("Content-type","text/plain;charset=UTF-8")}else{req.contentType="text/plain"}}catch(e){}}return req};XHR.prototype.scheme=function(){return this.socket.options.secure?"https":"http"};XHR.check=function(socket,xdomain){try{if(io.util.request(xdomain)){return true}}catch(e){}return false};XHR.xdomainCheck=function(){return XHR.check(null,true)}})("undefined"!=typeof io?io.Transport:module.exports,"undefined"!=typeof io?io:module.parent.exports,this);(function(exports,io){exports.htmlfile=HTMLFile;function HTMLFile(socket){io.Transport.XHR.apply(this,arguments)}io.util.inherit(HTMLFile,io.Transport.XHR);HTMLFile.prototype.name="htmlfile";HTMLFile.prototype.get=function(){this.doc=new ActiveXObject("htmlfile");this.doc.open();this.doc.write("<html></html>");this.doc.close();this.doc.parentWindow.s=this;var iframeC=this.doc.createElement("div");iframeC.className="socketio";this.doc.body.appendChild(iframeC);this.iframe=this.doc.createElement("iframe");iframeC.appendChild(this.iframe);var self=this,query=io.util.query(this.socket.options.query,"t="+ +new Date);this.iframe.src=this.prepareUrl()+query;io.util.on(window,"unload",function(){self.destroy()})};HTMLFile.prototype._=function(data,doc){this.onData(data);try{var script=doc.getElementsByTagName("script")[0];script.parentNode.removeChild(script)}catch(e){}};HTMLFile.prototype.destroy=function(){if(this.iframe){try{this.iframe.src="about:blank"}catch(e){}this.doc=null;this.iframe.parentNode.removeChild(this.iframe);this.iframe=null;CollectGarbage()}};HTMLFile.prototype.close=function(){this.destroy();return io.Transport.XHR.prototype.close.call(this)};HTMLFile.check=function(){if("ActiveXObject" in window){try{var a=new ActiveXObject("htmlfile");return a&&io.Transport.XHR.check()}catch(e){}}return false};HTMLFile.xdomainCheck=function(){return false};io.transports.push("htmlfile")})("undefined"!=typeof io?io.Transport:module.exports,"undefined"!=typeof io?io:module.parent.exports);(function(exports,io,global){exports["xhr-polling"]=XHRPolling;function XHRPolling(){io.Transport.XHR.apply(this,arguments)}io.util.inherit(XHRPolling,io.Transport.XHR);io.util.merge(XHRPolling,io.Transport.XHR);XHRPolling.prototype.name="xhr-polling";XHRPolling.prototype.open=function(){var self=this;io.Transport.XHR.prototype.open.call(self);return false};function empty(){}XHRPolling.prototype.get=function(){if(!this.open){return}var self=this;function stateChange(){if(this.readyState==4){this.onreadystatechange=empty;if(this.status==200){self.onData(this.responseText);self.get()}else{self.onClose()}}}function onload(){this.onload=empty;self.onData(this.responseText);self.get()}this.xhr=this.request();if(global.XDomainRequest&&this.xhr instanceof XDomainRequest){this.xhr.onload=this.xhr.onerror=onload}else{this.xhr.onreadystatechange=stateChange}this.xhr.send(null)};XHRPolling.prototype.onClose=function(){io.Transport.XHR.prototype.onClose.call(this);if(this.xhr){this.xhr.onreadystatechange=this.xhr.onload=empty;try{this.xhr.abort()}catch(e){}this.xhr=null}};XHRPolling.prototype.ready=function(socket,fn){var self=this;io.util.defer(function(){fn.call(self)})};io.transports.push("xhr-polling")})("undefined"!=typeof io?io.Transport:module.exports,"undefined"!=typeof io?io:module.parent.exports,this);(function(exports,io,global){var indicator=global.document&&"MozAppearance" in global.document.documentElement.style;exports["jsonp-polling"]=JSONPPolling;function JSONPPolling(socket){io.Transport["xhr-polling"].apply(this,arguments);this.index=io.j.length;var self=this;io.j.push(function(msg){self._(msg)})}io.util.inherit(JSONPPolling,io.Transport["xhr-polling"]);JSONPPolling.prototype.name="jsonp-polling";JSONPPolling.prototype.post=function(data){var self=this,query=io.util.query(this.socket.options.query,"t="+(+new Date)+"&i="+this.index);if(!this.form){var form=document.createElement("form"),area=document.createElement("textarea"),id=this.iframeId="socketio_iframe_"+this.index,iframe;form.className="socketio";form.style.position="absolute";form.style.top="-1000px";form.style.left="-1000px";form.target=id;form.method="POST";form.setAttribute("accept-charset","utf-8");area.name="d";form.appendChild(area);document.body.appendChild(form);this.form=form;this.area=area}this.form.action=this.prepareUrl()+query;function complete(){initIframe();self.socket.setBuffer(false)}function initIframe(){if(self.iframe){self.form.removeChild(self.iframe)}try{iframe=document.createElement('<iframe name="'+self.iframeId+'">')}catch(e){iframe=document.createElement("iframe");iframe.name=self.iframeId}iframe.id=self.iframeId;self.form.appendChild(iframe);self.iframe=iframe}initIframe();this.area.value=io.JSON.stringify(data);try{this.form.submit()}catch(e){}if(this.iframe.attachEvent){iframe.onreadystatechange=function(){if(self.iframe.readyState=="complete"){complete()}}}else{this.iframe.onload=complete}this.socket.setBuffer(true)};JSONPPolling.prototype.get=function(){var self=this,script=document.createElement("script"),query=io.util.query(this.socket.options.query,"t="+(+new Date)+"&i="+this.index);if(this.script){this.script.parentNode.removeChild(this.script);this.script=null}script.async=true;script.src=this.prepareUrl()+query;script.onerror=function(){self.onClose()};var insertAt=document.getElementsByTagName("script")[0];insertAt.parentNode.insertBefore(script,insertAt);this.script=script;if(indicator){setTimeout(function(){var iframe=document.createElement("iframe");document.body.appendChild(iframe);document.body.removeChild(iframe)},100)}};JSONPPolling.prototype._=function(msg){this.onData(msg);if(this.open){this.get()}return this};JSONPPolling.prototype.ready=function(socket,fn){var self=this;if(!indicator){return fn.call(this)}io.util.load(function(){fn.call(self)})};JSONPPolling.check=function(){return"document" in global};JSONPPolling.xdomainCheck=function(){return true};io.transports.push("jsonp-polling")})("undefined"!=typeof io?io.Transport:module.exports,"undefined"!=typeof io?io:module.parent.exports,this);var JSON;if(!JSON){JSON={}}(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||"null"}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){if(typeof rep[i]==="string"){k=rep[i];v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}else{for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof JSON.stringify!=="function"){JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number"){for(i=0;i<space;i+=1){indent+=" "}}else{if(typeof space==="string"){indent=space}}rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number")){throw new Error("JSON.stringify")}return str("",{"":value})}}if(typeof JSON.parse!=="function"){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return reviver.call(holder,key,value)}text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}}}());var base64=(function(undefined){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u={},v=0;while(v<64){u[t.charAt(v)]=v;v++}return{encode:function(d){var i=0,j=0,n,s=d+"\0\0",l=s.length-2,r=new Array((l+2)/3<<2);while(i<l){n=(s.charCodeAt(i++)&255)<<16|(s.charCodeAt(i++)&255)<<8|(s.charCodeAt(i++)&255);r[j++]=t.charAt(n>>18&63);r[j++]=t.charAt(n>>12&63);r[j++]=t.charAt(n>>6&63);r[j++]=t.charAt(n&63)}while(i>l){r[--j]="=";i--}return r.join("")},decode:function(d){var i=0,j=0,n,s=d.replace(/[^A-Za-z0-9\+\/]/g,"")+"AAA",l=s.length-3,r=new Array((l+3>>2)*3),x=String.fromCharCode;while(i<l){n=u[s.charAt(i++)]<<18|u[s.charAt(i++)]<<12|u[s.charAt(i++)]<<6|u[s.charAt(i++)];r[j++]=x(n>>16&255);r[j++]=x(n>>8&255);r[j++]=x(n&255)}r.length=j-i+l;return r.join("")}}})();bpe=0;mask=0;radix=mask+1;digitsStr="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_=!@#$%^&*()[]{}|;:,.<>/?`~ \\'\"+-";for(bpe=0;(1<<(bpe+1))>(1<<bpe);bpe++){}bpe>>=1;mask=(1<<bpe)-1;radix=mask+1;one=int2bigInt(1,1,1);t=new Array(0);ss=t;s0=t;s1=t;s2=t;s3=t;s4=t;s5=t;s6=t;s7=t;T=t;sa=t;mr_x1=t;mr_r=t;mr_a=t;eg_v=t;eg_u=t;eg_A=t;eg_B=t;eg_C=t;eg_D=t;md_q1=t;md_q2=t;md_q3=t;md_r=t;md_r1=t;md_r2=t;md_tt=t;primes=t;pows=t;s_i=t;s_i2=t;s_R=t;s_rm=t;s_q=t;s_n1=t;s_a=t;s_r2=t;s_n=t;s_b=t;s_d=t;s_x1=t;s_x2=t,s_aa=t;rpprb=t;function findPrimes(n){var i,s,p,ans;s=new Array(n);for(i=0;i<n;i++){s[i]=0}s[0]=2;p=0;for(;s[p]<n;){for(i=s[p]*s[p];i<n;i+=s[p]){s[i]=1}p++;s[p]=s[p-1]+1;for(;s[p]<n&&s[s[p]];s[p]++){}}ans=new Array(p);for(i=0;i<p;i++){ans[i]=s[i]}return ans}function millerRabinInt(x,b){if(mr_x1.length!=x.length){mr_x1=dup(x);mr_r=dup(x);mr_a=dup(x)}copyInt_(mr_a,b);return millerRabin(x,mr_a)}function millerRabin(x,b){var i,j,k,s;if(mr_x1.length!=x.length){mr_x1=dup(x);mr_r=dup(x);mr_a=dup(x)}copy_(mr_a,b);copy_(mr_r,x);copy_(mr_x1,x);addInt_(mr_r,-1);addInt_(mr_x1,-1);k=0;for(i=0;i<mr_r.length;i++){for(j=1;j<mask;j<<=1){if(x[i]&j){s=(k<mr_r.length+bpe?k:0);i=mr_r.length;j=mask}else{k++}}}if(s){rightShift_(mr_r,s)}powMod_(mr_a,mr_r,x);if(!equalsInt(mr_a,1)&&!equals(mr_a,mr_x1)){j=1;while(j<=s-1&&!equals(mr_a,mr_x1)){squareMod_(mr_a,x);if(equalsInt(mr_a,1)){return 0}j++}if(!equals(mr_a,mr_x1)){return 0}}return 1}function bitSize(x){var j,z,w;for(j=x.length-1;(x[j]==0)&&(j>0);j--){}for(z=0,w=x[j];w;(w>>=1),z++){}z+=bpe*j;return z}function expand(x,n){var ans=int2bigInt(0,(x.length>n?x.length:n)*bpe,0);copy_(ans,x);return ans}function randTruePrime(k){var ans=int2bigInt(0,k,0);randTruePrime_(ans,k);return trim(ans,1)}function randProbPrime(k){if(k>=600){return randProbPrimeRounds(k,2)}if(k>=550){return randProbPrimeRounds(k,4)}if(k>=500){return randProbPrimeRounds(k,5)}if(k>=400){return randProbPrimeRounds(k,6)}if(k>=350){return randProbPrimeRounds(k,7)}if(k>=300){return randProbPrimeRounds(k,9)}if(k>=250){return randProbPrimeRounds(k,12)}if(k>=200){return randProbPrimeRounds(k,15)}if(k>=150){return randProbPrimeRounds(k,18)}if(k>=100){return randProbPrimeRounds(k,27)}return randProbPrimeRounds(k,40)}function randProbPrimeRounds(k,n){var ans,i,divisible,B;B=30000;ans=int2bigInt(0,k,0);if(primes.length==0){primes=findPrimes(30000)}if(rpprb.length!=ans.length){rpprb=dup(ans)}for(;;){randBigInt_(ans,k,0);ans[0]|=1;divisible=0;for(i=0;(i<primes.length)&&(primes[i]<=B);i++){if(modInt(ans,primes[i])==0&&!equalsInt(ans,primes[i])){divisible=1;break}}for(i=0;i<n&&!divisible;i++){randBigInt_(rpprb,k,0);while(!greater(ans,rpprb)){randBigInt_(rpprb,k,0)}if(!millerRabin(ans,rpprb)){divisible=1}}if(!divisible){return ans}}}function mod(x,n){var ans=dup(x);mod_(ans,n);return trim(ans,1)}function addInt(x,n){var ans=expand(x,x.length+1);addInt_(ans,n);return trim(ans,1)}function mult(x,y){var ans=expand(x,x.length+y.length);mult_(ans,y);return trim(ans,1)}function powMod(x,y,n){var ans=expand(x,n.length);powMod_(ans,trim(y,2),trim(n,2),0);return trim(ans,1)}function sub(x,y){var ans=expand(x,(x.length>y.length?x.length+1:y.length+1));sub_(ans,y);return trim(ans,1)}function add(x,y){var ans=expand(x,(x.length>y.length?x.length+1:y.length+1));add_(ans,y);return trim(ans,1)}function inverseMod(x,n){var ans=expand(x,n.length);var s;s=inverseMod_(ans,n);return s?trim(ans,1):null}function multMod(x,y,n){var ans=expand(x,n.length);multMod_(ans,y,n);return trim(ans,1)}function randTruePrime_(ans,k){var c,m,pm,dd,j,r,B,divisible,z,zz,recSize;if(primes.length==0){primes=findPrimes(30000)}if(pows.length==0){pows=new Array(512);for(j=0;j<512;j++){pows[j]=Math.pow(2,j/511-1)}}c=0.1;m=20;recLimit=20;if(s_i2.length!=ans.length){s_i2=dup(ans);s_R=dup(ans);s_n1=dup(ans);s_r2=dup(ans);s_d=dup(ans);s_x1=dup(ans);s_x2=dup(ans);s_b=dup(ans);s_n=dup(ans);s_i=dup(ans);s_rm=dup(ans);s_q=dup(ans);s_a=dup(ans);s_aa=dup(ans)}if(k<=recLimit){pm=(1<<((k+2)>>1))-1;copyInt_(ans,0);for(dd=1;dd;){dd=0;ans[0]=1|(1<<(k-1))|Math.floor(Math.random()*(1<<k));for(j=1;(j<primes.length)&&((primes[j]&pm)==primes[j]);j++){if(0==(ans[0]%primes[j])){dd=1;break}}}carry_(ans);return}B=c*k*k;if(k>2*m){for(r=1;k-k*r<=m;){r=pows[Math.floor(Math.random()*512)]}}else{r=0.5}recSize=Math.floor(r*k)+1;randTruePrime_(s_q,recSize);copyInt_(s_i2,0);s_i2[Math.floor((k-2)/bpe)]|=(1<<((k-2)%bpe));divide_(s_i2,s_q,s_i,s_rm);z=bitSize(s_i);for(;;){for(;;){randBigInt_(s_R,z,0);if(greater(s_i,s_R)){break}}addInt_(s_R,1);add_(s_R,s_i);copy_(s_n,s_q);mult_(s_n,s_R);multInt_(s_n,2);addInt_(s_n,1);copy_(s_r2,s_R);multInt_(s_r2,2);for(divisible=0,j=0;(j<primes.length)&&(primes[j]<B);j++){if(modInt(s_n,primes[j])==0&&!equalsInt(s_n,primes[j])){divisible=1;break}}if(!divisible){if(!millerRabinInt(s_n,2)){divisible=1}}if(!divisible){addInt_(s_n,-3);for(j=s_n.length-1;(s_n[j]==0)&&(j>0);j--){}for(zz=0,w=s_n[j];w;(w>>=1),zz++){}zz+=bpe*j;for(;;){randBigInt_(s_a,zz,0);if(greater(s_n,s_a)){break}}addInt_(s_n,3);addInt_(s_a,2);copy_(s_b,s_a);copy_(s_n1,s_n);addInt_(s_n1,-1);powMod_(s_b,s_n1,s_n);addInt_(s_b,-1);if(isZero(s_b)){copy_(s_b,s_a);powMod_(s_b,s_r2,s_n);addInt_(s_b,-1);copy_(s_aa,s_n);copy_(s_d,s_b);GCD_(s_d,s_n);if(equalsInt(s_d,1)){copy_(ans,s_aa);return}}}}}function randBigInt(n,s){var a,b;a=Math.floor((n-1)/bpe)+2;b=int2bigInt(0,0,a);randBigInt_(b,n,s);return b}function randBigInt_(b,n,s){var i,a;for(i=0;i<b.length;i++){b[i]=0}a=Math.floor((n-1)/bpe)+1;for(i=0;i<a;i++){b[i]=Math.floor(Math.random()*(1<<(bpe-1)))}b[a-1]&=(2<<((n-1)%bpe))-1;if(s==1){b[a-1]|=(1<<((n-1)%bpe))}}function GCD(x,y){var xc,yc;xc=dup(x);yc=dup(y);GCD_(xc,yc);return xc}function GCD_(x,y){var i,xp,yp,A,B,C,D,q,sing;if(T.length!=x.length){T=dup(x)}sing=1;while(sing){sing=0;for(i=1;i<y.length;i++){if(y[i]){sing=1;break}}if(!sing){break}for(i=x.length;!x[i]&&i>=0;i--){}xp=x[i];yp=y[i];A=1;B=0;C=0;D=1;while((yp+C)&&(yp+D)){q=Math.floor((xp+A)/(yp+C));qp=Math.floor((xp+B)/(yp+D));if(q!=qp){break}t=A-q*C;A=C;C=t;t=B-q*D;B=D;D=t;t=xp-q*yp;xp=yp;yp=t}if(B){copy_(T,x);linComb_(x,y,A,B);linComb_(y,T,D,C)}else{mod_(x,y);copy_(T,x);copy_(x,y);copy_(y,T)}}if(y[0]==0){return}t=modInt(x,y[0]);copyInt_(x,y[0]);y[0]=t;while(y[0]){x[0]%=y[0];t=x[0];x[0]=y[0];y[0]=t}}function inverseMod_(x,n){var k=1+2*Math.max(x.length,n.length);if(!(x[0]&1)&&!(n[0]&1)){copyInt_(x,0);return 0}if(eg_u.length!=k){eg_u=new Array(k);eg_v=new Array(k);eg_A=new Array(k);eg_B=new Array(k);eg_C=new Array(k);eg_D=new Array(k)}copy_(eg_u,x);copy_(eg_v,n);copyInt_(eg_A,1);copyInt_(eg_B,0);copyInt_(eg_C,0);copyInt_(eg_D,1);for(;;){while(!(eg_u[0]&1)){halve_(eg_u);if(!(eg_A[0]&1)&&!(eg_B[0]&1)){halve_(eg_A);halve_(eg_B)}else{add_(eg_A,n);halve_(eg_A);sub_(eg_B,x);halve_(eg_B)}}while(!(eg_v[0]&1)){halve_(eg_v);if(!(eg_C[0]&1)&&!(eg_D[0]&1)){halve_(eg_C);halve_(eg_D)}else{add_(eg_C,n);halve_(eg_C);sub_(eg_D,x);halve_(eg_D)}}if(!greater(eg_v,eg_u)){sub_(eg_u,eg_v);sub_(eg_A,eg_C);sub_(eg_B,eg_D)}else{sub_(eg_v,eg_u);sub_(eg_C,eg_A);sub_(eg_D,eg_B)}if(equalsInt(eg_u,0)){if(negative(eg_C)){add_(eg_C,n)}copy_(x,eg_C);if(!equalsInt(eg_v,1)){copyInt_(x,0);return 0}return 1}}}function inverseModInt(x,n){var a=1,b=0,t;for(;;){if(x==1){return a}if(x==0){return 0}b-=a*Math.floor(n/x);n%=x;if(n==1){return b}if(n==0){return 0}a-=b*Math.floor(x/n);x%=n}}function inverseModInt_(x,n){return inverseModInt(x,n)}function eGCD_(x,y,v,a,b){var g=0;var k=Math.max(x.length,y.length);if(eg_u.length!=k){eg_u=new Array(k);eg_A=new Array(k);eg_B=new Array(k);eg_C=new Array(k);eg_D=new Array(k)}while(!(x[0]&1)&&!(y[0]&1)){halve_(x);halve_(y);g++}copy_(eg_u,x);copy_(v,y);copyInt_(eg_A,1);copyInt_(eg_B,0);copyInt_(eg_C,0);copyInt_(eg_D,1);for(;;){while(!(eg_u[0]&1)){halve_(eg_u);if(!(eg_A[0]&1)&&!(eg_B[0]&1)){halve_(eg_A);halve_(eg_B)}else{add_(eg_A,y);halve_(eg_A);sub_(eg_B,x);halve_(eg_B)}}while(!(v[0]&1)){halve_(v);if(!(eg_C[0]&1)&&!(eg_D[0]&1)){halve_(eg_C);halve_(eg_D)}else{add_(eg_C,y);halve_(eg_C);sub_(eg_D,x);halve_(eg_D)}}if(!greater(v,eg_u)){sub_(eg_u,v);sub_(eg_A,eg_C);sub_(eg_B,eg_D)}else{sub_(v,eg_u);sub_(eg_C,eg_A);sub_(eg_D,eg_B)}if(equalsInt(eg_u,0)){if(negative(eg_C)){add_(eg_C,y);sub_(eg_D,x)}multInt_(eg_D,-1);copy_(a,eg_C);copy_(b,eg_D);leftShift_(v,g);return}}}function negative(x){return((x[x.length-1]>>(bpe-1))&1)}function greaterShift(x,y,shift){var i,kx=x.length,ky=y.length;k=((kx+shift)<ky)?(kx+shift):ky;for(i=ky-1-shift;i<kx&&i>=0;i++){if(x[i]>0){return 1}}for(i=kx-1+shift;i<ky;i++){if(y[i]>0){return 0}}for(i=k-1;i>=shift;i--){if(x[i-shift]>y[i]){return 1}else{if(x[i-shift]<y[i]){return 0}}}return 0}function greater(x,y){var i;var k=(x.length<y.length)?x.length:y.length;for(i=x.length;i<y.length;i++){if(y[i]){return 0}}for(i=y.length;i<x.length;i++){if(x[i]){return 1}}for(i=k-1;i>=0;i--){if(x[i]>y[i]){return 1}else{if(x[i]<y[i]){return 0}}}return 0}function divide_(x,y,q,r){var kx,ky;var i,j,y1,y2,c,a,b;copy_(r,x);for(ky=y.length;y[ky-1]==0;ky--){}b=y[ky-1];for(a=0;b;a++){b>>=1}a=bpe-a;leftShift_(y,a);leftShift_(r,a);for(kx=r.length;r[kx-1]==0&&kx>ky;kx--){}copyInt_(q,0);while(!greaterShift(y,r,kx-ky)){subShift_(r,y,kx-ky);q[kx-ky]++}for(i=kx-1;i>=ky;i--){if(r[i]==y[ky-1]){q[i-ky]=mask}else{q[i-ky]=Math.floor((r[i]*radix+r[i-1])/y[ky-1])}for(;;){y2=(ky>1?y[ky-2]:0)*q[i-ky];c=y2>>bpe;y2=y2&mask;y1=c+q[i-ky]*y[ky-1];c=y1>>bpe;y1=y1&mask;if(c==r[i]?y1==r[i-1]?y2>(i>1?r[i-2]:0):y1>r[i-1]:c>r[i]){q[i-ky]--}else{break}}linCombShift_(r,y,-q[i-ky],i-ky);if(negative(r)){addShift_(r,y,i-ky);q[i-ky]--}}rightShift_(y,a);rightShift_(r,a)}function carry_(x){var i,k,c,b;k=x.length;c=0;for(i=0;i<k;i++){c+=x[i];b=0;if(c<0){b=-(c>>bpe);c+=b*radix}x[i]=c&mask;c=(c>>bpe)-b}}function modInt(x,n){var i,c=0;for(i=x.length-1;i>=0;i--){c=(c*radix+x[i])%n}return c}function int2bigInt(t,bits,minSize){var i,k;k=Math.ceil(bits/bpe)+1;k=minSize>k?minSize:k;buff=new Array(k);copyInt_(buff,t);return buff}function str2bigInt(s,base,minSize){var d,i,j,x,y,kk;var k=s.length;if(base==-1){x=new Array(0);for(;;){y=new Array(x.length+1);for(i=0;i<x.length;i++){y[i+1]=x[i]}y[0]=parseInt(s,10);x=y;d=s.indexOf(",",0);if(d<1){break}s=s.substring(d+1);if(s.length==0){break}}if(x.length<minSize){y=new Array(minSize);copy_(y,x);return y}return x}x=int2bigInt(0,base*k,0);for(i=0;i<k;i++){d=digitsStr.indexOf(s.substring(i,i+1),0);if(base<=36&&d>=36){d-=26}if(d>=base||d<0){break}multInt_(x,base);addInt_(x,d)}for(k=x.length;k>0&&!x[k-1];k--){}k=minSize>k+1?minSize:k+1;y=new Array(k);kk=k<x.length?k:x.length;for(i=0;i<kk;i++){y[i]=x[i]}for(;i<k;i++){y[i]=0}return y}function equalsInt(x,y){var i;if(x[0]!=y){return 0}for(i=1;i<x.length;i++){if(x[i]){return 0}}return 1}function equals(x,y){var i;var k=x.length<y.length?x.length:y.length;for(i=0;i<k;i++){if(x[i]!=y[i]){return 0}}if(x.length>y.length){for(;i<x.length;i++){if(x[i]){return 0}}}else{for(;i<y.length;i++){if(y[i]){return 0}}}return 1}function isZero(x){var i;for(i=0;i<x.length;i++){if(x[i]){return 0}}return 1}function bigInt2str(x,base){var i,t,s="";if(s6.length!=x.length){s6=dup(x)}else{copy_(s6,x)}if(base==-1){for(i=x.length-1;i>0;i--){s+=x[i]+","}s+=x[0]}else{while(!isZero(s6)){t=divInt_(s6,base);s=digitsStr.substring(t,t+1)+s}}if(s.length==0){s="0"}return s}function dup(x){var i;buff=new Array(x.length);copy_(buff,x);return buff}function copy_(x,y){var i;var k=x.length<y.length?x.length:y.length;for(i=0;i<k;i++){x[i]=y[i]}for(i=k;i<x.length;i++){x[i]=0}}function copyInt_(x,n){var i,c;for(c=n,i=0;i<x.length;i++){x[i]=c&mask;c>>=bpe}}function addInt_(x,n){var i,k,c,b;x[0]+=n;k=x.length;c=0;for(i=0;i<k;i++){c+=x[i];b=0;if(c<0){b=-(c>>bpe);c+=b*radix}x[i]=c&mask;c=(c>>bpe)-b;if(!c){return}}}function rightShift_(x,n){var i;var k=Math.floor(n/bpe);if(k){for(i=0;i<x.length-k;i++){x[i]=x[i+k]}for(;i<x.length;i++){x[i]=0}n%=bpe}for(i=0;i<x.length-1;i++){x[i]=mask&((x[i+1]<<(bpe-n))|(x[i]>>n))}x[i]>>=n}function halve_(x){var i;for(i=0;i<x.length-1;i++){x[i]=mask&((x[i+1]<<(bpe-1))|(x[i]>>1))}x[i]=(x[i]>>1)|(x[i]&(radix>>1))}function leftShift_(x,n){var i;var k=Math.floor(n/bpe);if(k){for(i=x.length;i>=k;i--){x[i]=x[i-k]}for(;i>=0;i--){x[i]=0}n%=bpe}if(!n){return}for(i=x.length-1;i>0;i--){x[i]=mask&((x[i]<<n)|(x[i-1]>>(bpe-n)))}x[i]=mask&(x[i]<<n)}function multInt_(x,n){var i,k,c,b;if(!n){return}k=x.length;c=0;for(i=0;i<k;i++){c+=x[i]*n;b=0;if(c<0){b=-(c>>bpe);c+=b*radix}x[i]=c&mask;c=(c>>bpe)-b}}function divInt_(x,n){var i,r=0,s;for(i=x.length-1;i>=0;i--){s=r*radix+x[i];x[i]=Math.floor(s/n);r=s%n}return r}function linComb_(x,y,a,b){var i,c,k,kk;k=x.length<y.length?x.length:y.length;kk=x.length;for(c=0,i=0;i<k;i++){c+=a*x[i]+b*y[i];x[i]=c&mask;c>>=bpe}for(i=k;i<kk;i++){c+=a*x[i];x[i]=c&mask;c>>=bpe}}function linCombShift_(x,y,b,ys){var i,c,k,kk;k=x.length<ys+y.length?x.length:ys+y.length;kk=x.length;for(c=0,i=ys;i<k;i++){c+=x[i]+b*y[i-ys];x[i]=c&mask;c>>=bpe}for(i=k;c&&i<kk;i++){c+=x[i];x[i]=c&mask;c>>=bpe}}function addShift_(x,y,ys){var i,c,k,kk;k=x.length<ys+y.length?x.length:ys+y.length;kk=x.length;for(c=0,i=ys;i<k;i++){c+=x[i]+y[i-ys];x[i]=c&mask;c>>=bpe}for(i=k;c&&i<kk;i++){c+=x[i];x[i]=c&mask;c>>=bpe}}function subShift_(x,y,ys){var i,c,k,kk;k=x.length<ys+y.length?x.length:ys+y.length;kk=x.length;for(c=0,i=ys;i<k;i++){c+=x[i]-y[i-ys];x[i]=c&mask;c>>=bpe}for(i=k;c&&i<kk;i++){c+=x[i];x[i]=c&mask;c>>=bpe}}function sub_(x,y){var i,c,k,kk;k=x.length<y.length?x.length:y.length;for(c=0,i=0;i<k;i++){c+=x[i]-y[i];x[i]=c&mask;c>>=bpe}for(i=k;c&&i<x.length;i++){c+=x[i];x[i]=c&mask;c>>=bpe}}function add_(x,y){var i,c,k,kk;k=x.length<y.length?x.length:y.length;for(c=0,i=0;i<k;i++){c+=x[i]+y[i];x[i]=c&mask;c>>=bpe}for(i=k;c&&i<x.length;i++){c+=x[i];x[i]=c&mask;c>>=bpe}}function mult_(x,y){var i;if(ss.length!=2*x.length){ss=new Array(2*x.length)}copyInt_(ss,0);for(i=0;i<y.length;i++){if(y[i]){linCombShift_(ss,x,y[i],i)}}copy_(x,ss)}function mod_(x,n){if(s4.length!=x.length){s4=dup(x)}else{copy_(s4,x)}if(s5.length!=x.length){s5=dup(x)}divide_(s4,n,s5,x)}function multMod_(x,y,n){var i;if(s0.length!=2*x.length){s0=new Array(2*x.length)}copyInt_(s0,0);for(i=0;i<y.length;i++){if(y[i]){linCombShift_(s0,x,y[i],i)}}mod_(s0,n);copy_(x,s0)}function squareMod_(x,n){var i,j,d,c,kx,kn,k;for(kx=x.length;kx>0&&!x[kx-1];kx--){}k=kx>n.length?2*kx:2*n.length;if(s0.length!=k){s0=new Array(k)}copyInt_(s0,0);for(i=0;i<kx;i++){c=s0[2*i]+x[i]*x[i];s0[2*i]=c&mask;c>>=bpe;for(j=i+1;j<kx;j++){c=s0[i+j]+2*x[i]*x[j]+c;s0[i+j]=(c&mask);c>>=bpe}s0[i+kx]=c}mod_(s0,n);copy_(x,s0)}function trim(x,k){var i,y;for(i=x.length;i>0&&!x[i-1];i--){}y=new Array(i+k);copy_(y,x);return y}function powMod_(x,y,n){var k1,k2,kn,np;if(s7.length!=n.length){s7=dup(n)}if((n[0]&1)==0){copy_(s7,x);copyInt_(x,1);while(!equalsInt(y,0)){if(y[0]&1){multMod_(x,s7,n)}divInt_(y,2);squareMod_(s7,n)}return}copyInt_(s7,0);for(kn=n.length;kn>0&&!n[kn-1];kn--){}np=radix-inverseModInt(modInt(n,radix),radix);s7[kn]=1;multMod_(x,s7,n);if(s3.length!=x.length){s3=dup(x)}else{copy_(s3,x)}for(k1=y.length-1;k1>0&!y[k1];k1--){}if(y[k1]==0){copyInt_(x,1);return}for(k2=1<<(bpe-1);k2&&!(y[k1]&k2);k2>>=1){}for(;;){if(!(k2>>=1)){k1--;if(k1<0){mont_(x,one,n,np);return}k2=1<<(bpe-1)}mont_(x,x,n,np);if(k2&y[k1]){mont_(x,s3,n,np)}}}function mont_(x,y,n,np){var i,j,c,ui,t,ks;var kn=n.length;var ky=y.length;if(sa.length!=kn){sa=new Array(kn)}copyInt_(sa,0);for(;kn>0&&n[kn-1]==0;kn--){}for(;ky>0&&y[ky-1]==0;ky--){}ks=sa.length-1;for(i=0;i<kn;i++){t=sa[0]+x[i]*y[0];ui=((t&mask)*np)&mask;c=(t+ui*n[0])>>bpe;t=x[i];j=1;for(;j<ky-4;){c+=sa[j]+ui*n[j]+t*y[j];sa[j-1]=c&mask;c>>=bpe;j++;c+=sa[j]+ui*n[j]+t*y[j];sa[j-1]=c&mask;c>>=bpe;j++;c+=sa[j]+ui*n[j]+t*y[j];sa[j-1]=c&mask;c>>=bpe;j++;c+=sa[j]+ui*n[j]+t*y[j];sa[j-1]=c&mask;c>>=bpe;j++;c+=sa[j]+ui*n[j]+t*y[j];sa[j-1]=c&mask;c>>=bpe;j++}for(;j<ky;){c+=sa[j]+ui*n[j]+t*y[j];sa[j-1]=c&mask;c>>=bpe;j++}for(;j<kn-4;){c+=sa[j]+ui*n[j];sa[j-1]=c&mask;c>>=bpe;j++;c+=sa[j]+ui*n[j];sa[j-1]=c&mask;c>>=bpe;j++;c+=sa[j]+ui*n[j];sa[j-1]=c&mask;c>>=bpe;j++;c+=sa[j]+ui*n[j];sa[j-1]=c&mask;c>>=bpe;j++;c+=sa[j]+ui*n[j];sa[j-1]=c&mask;c>>=bpe;j++}for(;j<kn;){c+=sa[j]+ui*n[j];sa[j-1]=c&mask;c>>=bpe;j++}for(;j<ks;){c+=sa[j];sa[j-1]=c&mask;c>>=bpe;j++}sa[j-1]=c&mask}if(!greater(n,sa)){sub_(sa,n)}copy_(x,sa)}var blowfish=(function(undefined){var P=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],S1=[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],S2=[1266315497,3048417604,3681880366,3289982499,2909710000,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],S3=[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],S4=[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409000,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462],p,s1,s2,s3,s4;function i2s(i){return String.fromCharCode(i>>24&255,i>>16&255,i>>8&255,i&255)}function s2i(s,j){return(s.charCodeAt(j++)&255)<<24|(s.charCodeAt(j++)&255)<<16|(s.charCodeAt(j++)&255)<<8|(s.charCodeAt(j++)&255)}function xor(a,b){return i2s(s2i(a,0)^s2i(b,0))+i2s(s2i(a,4)^s2i(b,4))}function f(x){return(s1[x>>24&255]+s2[x>>16&255]^s3[x>>8&255])+s4[x&255]^0}function encipher(x){var i=0,t,l=s2i(x,0),r=s2i(x,4);while(i<16){l^=p[i++];r^=f(l);t=l;l=r;r=t}l^=p[i++];r^=p[i];return i2s(r)+i2s(l)}function decipher(x){var i=17,t,l=s2i(x,0),r=s2i(x,4);while(i>1){l^=p[i--];r^=f(l);t=l;l=r;r=t}l^=p[i--];r^=p[i];return i2s(r)+i2s(l)}function subkey(k){var i,x="\0\0\0\0\0\0\0\0";p=P.slice();s1=S1.slice();s2=S2.slice();s3=S3.slice();s4=S4.slice();while(k.length<72){k+=k}i=0;while(i<18){p[i]^=s2i(k,i<<2);i++}i=0;while(i<18){x=encipher(x);p[i++]=s2i(x,0);p[i++]=s2i(x,4)}i=0;while(i<256){x=encipher(x);s1[i++]=s2i(x,0);s1[i++]=s2i(x,4)}i=0;while(i<256){x=encipher(x);s2[i++]=s2i(x,0);s2[i++]=s2i(x,4)}i=0;while(i<256){x=encipher(x);s3[i++]=s2i(x,0);s3[i++]=s2i(x,4)}i=0;while(i<256){x=encipher(x);s4[i++]=s2i(x,0);s4[i++]=s2i(x,4)}}function utf8(s){var i=0,l=s.length,x=String.fromCharCode,c,r=[];while(i<l){c=s.charCodeAt(i++);if(c<128){r.push(x(c))}else{if(c<2048){r.push(x(c>>6&31|192,c&63|128))}else{if(c<65536){r.push(x(c>>12&15|224,c>>6&63|128,c&63|128))}else{if(c<2097152){r.push(x(c>>18&7|240,c>>12&63|128,c>>6&63|128,c&63|128))}else{}}}}}return r.join("")}function utf16(s){var i=0,l=s.length,x=String.fromCharCode,c,r=[];while(i<l){c=s.charCodeAt(i++);if((c&128)==0){r.push(x(c&255))}else{if((c&224)==192){if(i<l){r.push(x((c<<6&1984)|(s.charCodeAt(i++)&63)))}}else{if((c&240)==224){if(i+1<l){r.push(x((c<<12&61440)|(s.charCodeAt(i++)<<6&4032)|(s.charCodeAt(i++)&63)))}}else{if((c&248)==240){if(i+2<l){r.push(x((c<<18&1835008)|(s.charCodeAt(i++)<<12&258048)|(s.charCodeAt(i++)<<6&4032)|(s.charCodeAt(i++)&63)))}}else{}}}}}return r.join("")}return{encrypt:function(param){var i,c,v,block=[],data=param.data||"",key=param.key||"\0",mode=param.mode||"ecb",pchar=param.pchar||"\x05";subkey(key);data=utf8(data);data+=new Array((8-data.length%8)%8+1).join(pchar);if(mode=="cbc"){v=param.iv||"\0\0\0\0\0\0\0\0";block.push(v);i=0;while(i<data.length){c=encipher(xor(data.substr(i,8),v));block.push(c);v=c;i+=8}}else{i=0;while(i<data.length){block.push(encipher(data.substr(i,8)));i+=8}}return block.join("")},decrypt:function(param){var i,c,v,block=[],data=param.data||"",key=param.key||"\0",mode=param.mode||"ecb",pchar=param.pchar||"\x05";subkey(key);data+=new Array((8-data.length%8)%8+1).join("\0");if(mode=="cbc"){v=data.substr(0,8)||"\0\0\0\0\0\0\0\0";i=8;while(i<data.length){c=data.substr(i,8);block.push(xor(decipher(c),v));v=c;i+=8}}else{i=0;while(i<data.length){block.push(decipher(data.substr(i,8)));i+=8}}data=block.join("").replace(new RegExp(pchar+"+$"),"");return utf16(data)},mkIV:function(){return i2s(Math.random()*4294967296)+i2s(Math.random()*4294967296)}}})();var md5=(function(undefined){var s=[7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21],k=[3614090360,3905402710,606105819,3250441966,4118548399,1200080426,2821735955,4249261313,1770035416,2336552879,4294925233,2304563134,1804603682,4254626195,2792965006,1236535329,4129170786,3225465664,643717713,3921069994,3593408605,38016083,3634488961,3889429448,568446438,3275163606,4107603335,1163531501,2850285829,4243563512,1735328473,2368359562,4294588738,2272392833,1839030562,4259657740,2763975236,1272893353,4139469664,3200236656,681279174,3936430074,3572445317,76029189,3654602809,3873151461,530742520,3299628645,4096336452,1126891415,2878612391,4237533241,1700485571,2399980690,4293915773,2240044497,1873313359,4264355552,2734768916,1309151649,4149444226,3174756917,718787259,3951481745],p="\x80"+new Array(64).join("\0");function i2s(i){return String.fromCharCode(i&255,i>>8&255,i>>16&255,i>>24&255)}function s2i(s,j){return(s.charCodeAt(j++)&255)|(s.charCodeAt(j++)&255)<<8|(s.charCodeAt(j++)&255)<<16|(s.charCodeAt(j++))<<24}return{bin:function(data){var a0=1732584193,b0=4023233417,c0=2562383102,d0=271733878,a,b,c,d,f,g,r,i,j,m=new Array(16);data+=p.slice(0,64-(data.length+8)%64)+i2s(data.length<<3)+i2s(0);for(i=0;i<data.length;i+=64){for(j=0;j<16;j++){m[j]=s2i(data,i+(j<<2))}a=a0;b=b0;c=c0;d=d0;for(j=0;j<64;j++){if(j<16){f=(b&c)|(~b&d);g=j}else{if(j<32){f=(d&b)|(~d&c);g=j*5+1&15}else{if(j<48){f=b^c^d;g=j*3+5&15}else{f=c^(b|~d);g=j*7&15}}}r=a+f+k[j]+m[g]|0;r=(r<<s[j])|(r>>>32-s[j]);a=d;d=c;c=b;b=r+b|0}a0=a0+a|0;b0=b0+b|0;c0=c0+c|0;d0=d0+d|0}return i2s(a0)+i2s(b0)+i2s(c0)+i2s(d0)}}})();if(!window.epson){window.epson={}}window.epson.ePOSDevice=ePOSDevice})(window);
##############################################
odoo-14.0.0+dfsg/addons/pos_hr/static/tests/tours/PosHrTourMethods.js-46-                {
odoo-14.0.0+dfsg/addons/pos_hr/static/tests/tours/PosHrTourMethods.js:47:                    content: `logged cashier is '${name}'`,
odoo-14.0.0+dfsg/addons/pos_hr/static/tests/tours/PosHrTourMethods.js:48:                    trigger: `.pos .oe_status .username:contains("${name}")`,
odoo-14.0.0+dfsg/addons/pos_hr/static/tests/tours/PosHrTourMethods.js-49-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Resizeable.js-124-                }
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Resizeable.js:125:                this.el.style.height = `${this.size.height - dY}px`;
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Resizeable.js:126:                this.el.style.top = `${this.loc.top + dY}px`;
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Resizeable.js-127-            }
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Resizeable.js-157-                }
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Resizeable.js:158:                this.el.style.height = `${this.size.height + dY}px`;
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Resizeable.js-159-            }
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Resizeable.js-189-                }
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Resizeable.js:190:                this.el.style.width = `${this.size.width - dX}px`;
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Resizeable.js:191:                this.el.style.left = `${this.loc.left + dX}px`;
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Resizeable.js-192-            }
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Resizeable.js-229-                }
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Resizeable.js:230:                this.el.style.width = `${this.size.width + dX}px`;
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Resizeable.js-231-            }
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/FloorScreen/EditableTable.js-19-            function unit(val) {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/FloorScreen/EditableTable.js:20:                return `${val}px`;
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/FloorScreen/EditableTable.js-21-            }
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/FloorScreen/TableWidget.js-10-            function unit(val) {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/FloorScreen/TableWidget.js:11:                return `${val}px`;
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/FloorScreen/TableWidget.js-12-            }
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/FloorScreen/TableWidget.js-29-            const tableCover = this.el.querySelector('.table-cover');
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/FloorScreen/TableWidget.js:30:            Object.assign(tableCover.style, { height: `${Math.ceil(this.fill * 100)}%` });
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/FloorScreen/TableWidget.js-31-        }
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js-36-            getTable(order) {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js:37:                return `${order.table.floor.name} (${order.table.name})`;
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js-38-            }
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js-43-                return Object.assign({}, super._searchFields, {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js:44:                    Table: (order) => `${order.table.floor.name} (${order.table.name})`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js-45-                });
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js-72-                    if (!serverId) {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js:73:                        console.warn(`${order.name} is not yet sync. Sync it to server before setting a tip.`);
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js-74-                    } else {
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js-106-                        title: 'Failed to set tip',
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js:107:                        body: `Failed to set tip to ${order.name}. Do you want to proceed on setting the tips of the remaining?`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js-108-                    });
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/TipScreen.js-22-            const overall = this.env.pos.format_currency(this.totalAmount + tipAmount);
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/TipScreen.js:23:            return `${original} + ${tip} tip = ${overall}`;
odoo-14.0.0+dfsg/addons/pos_restaurant/static/src/js/Screens/TipScreen.js-24-        }
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/ChromeTourMethods.js-21-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/ChromeTourMethods.js:22:                    content: `back to floor text is '${floor} ( ${table} )'`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/ChromeTourMethods.js:23:                    trigger: `.floor-button span:contains("${floor}") ~ .table-name:contains("${table}")`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/ChromeTourMethods.js-24-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-9-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:10:                    content: `click table '${name}'`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:11:                    trigger: `.floor-map .table .label:contains("${name}")`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-12-                },
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-17-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:18:                    content: `click '${name}' floor`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:19:                    trigger: `.floor-selector .button-floor:contains("${name}")`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-20-                },
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-73-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:74:                    content: `change shape to '${shape}'`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:75:                    trigger: `.edit-button .button-option${shape === 'round' ? '.square' : '.round'}`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-76-                },
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-84-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:85:                    content: `selected floor is '${name}'`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:86:                    trigger: `.floor-selector .button-floor.active:contains("${name}")`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-87-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-93-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:94:                    content: `selected table is '${name}'`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:95:                    trigger: `.floor-map .table.selected .label:contains("${name}")`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-96-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-102-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:103:                    content: `selected floor has '${name}' table`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:104:                    trigger: `.floor-map .tables .table .label:contains("${name}")`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-105-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-111-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:112:                    content: `check if edit mode is ${flag ? 'active' : 'inactive'}`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:113:                    trigger: `.floor-map .edit-button${flag ? '.active' : ':not(:has(.active))'}`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-114-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-120-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:121:                    content: `number of seats in table '${table}' is '${val}'`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:122:                    trigger: `.floor-map .tables .table .label:contains("${table}") ~ .table-seats:contains("${val}")`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-123-                    run: function () {},
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-129-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:130:                    trigger: `.floor-map .table .order-count:contains("${count}") ~ .label:contains("${table}")`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-131-                    run: function () {},
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-145-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:146:                    content: `table '${name}' is not selected`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js:147:                    trigger: `.floor-map .table:not(.selected) .label:contains("${name}")`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js-148-                    run: function () {},
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/ProductScreenTourMethods.js-53-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/ProductScreenTourMethods.js:54:                    content: `line has ${quantity} quantity`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/ProductScreenTourMethods.js:55:                    trigger: `.order .orderline .product-name:contains("${name}") ~ .info-list em:contains("${quantity}")`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/ProductScreenTourMethods.js-56-                    run: function () {}, // it's a check
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/ProductScreenTourMethods.js-58-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/ProductScreenTourMethods.js:59:                    content: `line has '${note}' note`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/ProductScreenTourMethods.js:60:                    trigger: `.order .orderline .info-list .orderline-note:contains("${note}")`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/ProductScreenTourMethods.js-61-                    run: function () {}, // it's a check
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js-7-        clickOrderline(name, totalQuantity) {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js:8:            let trigger = `li.orderline .product-name:contains("${name}")`;
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js-9-            if (totalQuantity) {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js:10:                trigger += ` ~ .info-list .info:contains("${totalQuantity}")`;
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js-11-            }
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js-13-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js:14:                    content: `click '${name}' orderline with total quantity of '${totalQuantity}'`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js-15-                    trigger,
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js-40-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js:41:                    content: `'${name}' orderline has total quantity of '${totalQuantity}'`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js:42:                    trigger: `li.orderline .product-name:contains("${name}") ~ .info-list .info:contains("${totalQuantity}")`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js-43-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js-45-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js:46:                    content: `'${name}' orderline has '${splitQuantity}' quantity to split`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js:47:                    trigger: `li.orderline .product-name:contains("${name}") ~ .info-list .info em:contains("${splitQuantity}")`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js-48-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js-54-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js:55:                    content: `total amount of split is '${amount}'`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js:56:                    trigger: `.splitbill-screen .order-info .subtotal:contains("${amount}")`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/SplitBillScreenTourMethods.js-57-                },
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TextAreaPopupTourMethods.js-9-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TextAreaPopupTourMethods.js:10:                    content: `input text '${val}'`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TextAreaPopupTourMethods.js-11-                    trigger: `.modal-dialog .popup-textarea textarea`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TextAreaPopupTourMethods.js:12:                    run: `text ${val}`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TextAreaPopupTourMethods.js-13-                },
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TextInputPopupTourMethods.js-9-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TextInputPopupTourMethods.js:10:                    content: `input text '${val}'`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TextInputPopupTourMethods.js-11-                    trigger: `.modal-dialog .popup-textinput input`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TextInputPopupTourMethods.js:12:                    run: `text ${val}`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TextInputPopupTourMethods.js-13-                },
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TipScreenTourMethods.js-9-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TipScreenTourMethods.js:10:                    trigger: `.tip-screen .percentage:contains("${percent}")`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TipScreenTourMethods.js-11-                },
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TipScreenTourMethods.js-17-                    trigger: `.tip-screen .custom-amount-form input`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TipScreenTourMethods.js:18:                    run: `text ${amount}`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TipScreenTourMethods.js-19-                },
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TipScreenTourMethods.js-35-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TipScreenTourMethods.js:36:                    trigger: `.tip-screen .total-amount:contains("${amount}")`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TipScreenTourMethods.js-37-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TipScreenTourMethods.js-43-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TipScreenTourMethods.js:44:                    trigger: `.tip-screen .percentage:contains("${percent}") ~ .amount:contains("${amount}")`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TipScreenTourMethods.js-45-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TipScreenTourMethods.js-51-                {
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TipScreenTourMethods.js:52:                    trigger: `.tip-screen .custom-amount-form input[data-amount="${amount}"]`,
odoo-14.0.0+dfsg/addons/pos_restaurant/static/tests/tours/helpers/TipScreenTourMethods.js-53-                    run: () => {},
##############################################
odoo-14.0.0+dfsg/addons/pos_six/static/lib/six_timapi/timapi.js:1:var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){return read(f)}}Module["readBinary"]=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){debugger}};var functionPointers=new Array(0);if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for getValue: "+type)}return null}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);ret=convertReturnValue(ret);if(stack!==0)stackRestore(stack);return ret}function cwrap(ident,returnType,argTypes,opts){argTypes=argTypes||[];var numericArgs=argTypes.every(function(type){return type==="number"});var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return function(){return ccall(ident,returnType,argTypes,arguments,opts)}}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function getMemory(size){if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=u8Array[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|u8Array[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var DYNAMIC_BASE=5535200,DYNAMICTOP_PTR=292288;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{if(typeof WebAssembly==="object"&&typeof WebAssembly.Memory==="function"){wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE});buffer=wasmMemory.buffer}else{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}}updateGlobalBufferViews();HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile='/pos_six/static/lib/six_timapi/timapi.wasm';function getBinary(){try{if(Module["wasmBinary"]){return new Uint8Array(Module["wasmBinary"])}if(Module["readBinary"]){return Module["readBinary"](wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!Module["wasmBinary"]&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}if(!Module["wasmBinary"]&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){WebAssembly.instantiateStreaming(fetch(wasmBinaryFile,{credentials:"same-origin"}),info).then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})}else{instantiateArrayBuffer(receiveInstantiatedSource)}return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":5216,"maximum":5216,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};__ATINIT__.push({func:function(){___emscripten_environ_constructor()}});function _TAWACancelTimeout(slot){try{timapi._TimApiHelpers.TimerWrapper.cancelTimeout(slot)}catch(err){timapi._TimApiHelpers.internalError(err,"timapi_lib.js","TAWACancelTimeout")}}function _TAWADeferredAuth(terminal,response){try{timapi._TimApiHelpers.deferredAuth(terminal,response)}catch(err){timapi._TimApiHelpers.internalError(err,"timapi_lib.js","TAWADeferredAuth")}}function _TAWAErrorNotification(terminal,timError){try{timapi._TimApiHelpers.errorNotification(terminal,timError)}catch(err){timapi._TimApiHelpers.internalError(err,"timapi_lib.js","TAWAErrorNotification")}}function _TAWALicenseChanged(terminal,response){try{timapi._TimApiHelpers.licenseChanged(terminal,response)}catch(err){timapi._TimApiHelpers.internalError(err,"timapi_lib.js","TAWALicenseChanged")}}function _TAWAPublishLogRecord(record,userPointer){try{timapi._TimApiHelpers.publishLogRecord(record,userPointer)}catch(err){timapi._TimApiHelpers.internalError(err,"timapi_lib.js","TAWAPublishLogRecord")}}function _TAWAScreenshot(terminal,info){try{timapi._TimApiHelpers.screenshot(terminal,info)}catch(err){timapi._TimApiHelpers.internalError(err,"timapi_lib.js","TAWAScreenshot")}}function _TAWASocketClose(slot){try{timapi._TimApiHelpers.CommWebSocket.closeSocket(slot)}catch(err){timapi._TimApiHelpers.internalError(err,"timapi_lib.js","TAWASocketClose");if(err instanceof timapi.TimException){return err.getResultCode()}else{return timapi.constants.ResultCode.systemError._value}}return timapi.constants.ResultCode.ok._value}function _TAWASocketCreate(slot,ip,port){try{timapi._TimApiHelpers.CommWebSocket.createSocket(slot,Module.UTF8ToString(ip),port)}catch(err){timapi._TimApiHelpers.internalError(err,"timapi_lib.js","TAWASocketCreate");if(err instanceof timapi.TimException){return err.getResultCode()}else{return timapi.constants.ResultCode.systemError._value}}return timapi.constants.ResultCode.ok._value}function _TAWASocketSendMessage(slot,message,length){try{timapi._TimApiHelpers.CommWebSocket.sendMessage(slot,new Uint8Array(Module.HEAPU8.buffer,message,length))}catch(err){timapi._TimApiHelpers.internalError(err,"timapi_lib.js","TAWASocketSendMessage");if(err instanceof timapi.TimException){return err.getResultCode()}else{return timapi.constants.ResultCode.systemError._value}}return timapi.constants.ResultCode.ok._value}function _TAWAStartTimeout(slot,repeat,timeoutMS){try{timapi._TimApiHelpers.TimerWrapper.startTimeout(slot,repeat==1,timeoutMS)}catch(err){timapi._TimApiHelpers.internalError(err,"timapi_lib.js","TAWAStartTimeout");return 1}return 0}function _TAWATerminalCompleted(event,data){try{timapi._TimApiHelpers.terminalCompleted(event,data)}catch(err){timapi._TimApiHelpers.internalError(err,"timapi_lib.js","TAWATerminalCompleted")}}function _TAWATerminalDisconnected(terminal,result_code){try{timapi._TimApiHelpers.terminalDisconnected(terminal,result_code)}catch(err){timapi._TimApiHelpers.internalError(err,"timapi_lib.js","TAWATerminalDisconnected")}}function _TAWATerminalStatusChanged(terminal){try{timapi._TimApiHelpers.terminalStatusChanged(terminal)}catch(err){timapi._TimApiHelpers.internalError(err,"timapi_lib.js","TAWATerminalStatusChanged")}}function _TAWAVasInfo(terminal,vas_checkout_information){try{timapi._TimApiHelpers.vasInfo(terminal,vas_checkout_information)}catch(err){timapi._TimApiHelpers.internalError(err,"timapi_lib.js","TAWAVasInfo")}}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j<len;j++){SYSCALLS.printChar(stream,HEAPU8[ptr+j])}ret+=len}return ret}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_get_heap_size(){return HEAP8.length}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}var ___tm_current=292144;var ___tm_timezone=(stringToUTF8("GMT",292192,4),292192);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[__get_tzname()>>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"b":abort,"C":_TAWACancelTimeout,"j":_TAWADeferredAuth,"i":_TAWAErrorNotification,"h":_TAWALicenseChanged,"s":_TAWAPublishLogRecord,"g":_TAWAScreenshot,"r":_TAWASocketClose,"q":_TAWASocketCreate,"f":_TAWASocketSendMessage,"B":_TAWAStartTimeout,"p":_TAWATerminalCompleted,"o":_TAWATerminalDisconnected,"n":_TAWATerminalStatusChanged,"m":_TAWAVasInfo,"A":___buildEnvironment,"l":___setErrNo,"z":___syscall140,"k":___syscall146,"y":___syscall6,"x":_emscripten_get_heap_size,"w":_emscripten_memcpy_big,"v":_emscripten_resize_heap,"e":_llvm_stackrestore,"d":_llvm_stacksave,"u":_localtime,"c":_time,"t":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var _TAWAAmountCreate=Module["_TAWAAmountCreate"]=function(){return Module["asm"]["D"].apply(null,arguments)};var _TAWAAmountDccGetValue=Module["_TAWAAmountDccGetValue"]=function(){return Module["asm"]["E"].apply(null,arguments)};var _TAWAAmountDiscountCreate=Module["_TAWAAmountDiscountCreate"]=function(){return Module["asm"]["F"].apply(null,arguments)};var _TAWAAmountDiscountGetValue=Module["_TAWAAmountDiscountGetValue"]=function(){return Module["asm"]["G"].apply(null,arguments)};var _TAWAAmountFinalGetValue=Module["_TAWAAmountFinalGetValue"]=function(){return Module["asm"]["H"].apply(null,arguments)};var _TAWAAmountGetValue=Module["_TAWAAmountGetValue"]=function(){return Module["asm"]["I"].apply(null,arguments)};var _TAWAIntegerCreate=Module["_TAWAIntegerCreate"]=function(){return Module["asm"]["J"].apply(null,arguments)};var _TAWAIntegerGetValue=Module["_TAWAIntegerGetValue"]=function(){return Module["asm"]["K"].apply(null,arguments)};var _TAWALoyaltyDiscountGetValue=Module["_TAWALoyaltyDiscountGetValue"]=function(){return Module["asm"]["L"].apply(null,arguments)};var _TAWAOnTimeout=Module["_TAWAOnTimeout"]=function(){return Module["asm"]["M"].apply(null,arguments)};var _TAWAOnWebSocketClosed=Module["_TAWAOnWebSocketClosed"]=function(){return Module["asm"]["N"].apply(null,arguments)};var _TAWAOnWebSocketError=Module["_TAWAOnWebSocketError"]=function(){return Module["asm"]["O"].apply(null,arguments)};var _TAWAOnWebSocketMessage=Module["_TAWAOnWebSocketMessage"]=function(){return Module["asm"]["P"].apply(null,arguments)};var _TAWAOnWebSocketOpen=Module["_TAWAOnWebSocketOpen"]=function(){return Module["asm"]["Q"].apply(null,arguments)};var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=function(){return Module["asm"]["R"].apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["S"].apply(null,arguments)};var ___six_internal_test=Module["___six_internal_test"]=function(){return Module["asm"]["T"].apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){return Module["asm"]["U"].apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){return Module["asm"]["V"].apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){return Module["asm"]["W"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["X"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["Y"].apply(null,arguments)};var _ta_activate_response_get_act_seq_counter=Module["_ta_activate_response_get_act_seq_counter"]=function(){return Module["asm"]["Z"].apply(null,arguments)};var _ta_activate_response_get_print_data=Module["_ta_activate_response_get_print_data"]=function(){return Module["asm"]["_"].apply(null,arguments)};var _ta_adjustment_result_e2s=Module["_ta_adjustment_result_e2s"]=function(){return Module["asm"]["$"].apply(null,arguments)};var _ta_admin_functions_e2s=Module["_ta_admin_functions_e2s"]=function(){return Module["asm"]["aa"].apply(null,arguments)};var _ta_amount_create=Module["_ta_amount_create"]=function(){return Module["asm"]["ba"].apply(null,arguments)};var _ta_amount_create_decimal=Module["_ta_amount_create_decimal"]=function(){return Module["asm"]["ca"].apply(null,arguments)};var _ta_amount_create_decimal_exponent=Module["_ta_amount_create_decimal_exponent"]=function(){return Module["asm"]["da"].apply(null,arguments)};var _ta_amount_create_exponent=Module["_ta_amount_create_exponent"]=function(){return Module["asm"]["ea"].apply(null,arguments)};var _ta_amount_dcc_get_currency=Module["_ta_amount_dcc_get_currency"]=function(){return Module["asm"]["fa"].apply(null,arguments)};var _ta_amount_dcc_get_decimal_value=Module["_ta_amount_dcc_get_decimal_value"]=function(){return Module["asm"]["ga"].apply(null,arguments)};var _ta_amount_dcc_get_exponent=Module["_ta_amount_dcc_get_exponent"]=function(){return Module["asm"]["ha"].apply(null,arguments)};var _ta_amount_dcc_get_markup=Module["_ta_amount_dcc_get_markup"]=function(){return Module["asm"]["ia"].apply(null,arguments)};var _ta_amount_dcc_get_markup_decimal=Module["_ta_amount_dcc_get_markup_decimal"]=function(){return Module["asm"]["ja"].apply(null,arguments)};var _ta_amount_dcc_get_markup_decimal_regulated=Module["_ta_amount_dcc_get_markup_decimal_regulated"]=function(){return Module["asm"]["ka"].apply(null,arguments)};var _ta_amount_dcc_get_markup_exponent=Module["_ta_amount_dcc_get_markup_exponent"]=function(){return Module["asm"]["la"].apply(null,arguments)};var _ta_amount_dcc_get_markup_exponent_regulated=Module["_ta_amount_dcc_get_markup_exponent_regulated"]=function(){return Module["asm"]["ma"].apply(null,arguments)};var _ta_amount_dcc_get_markup_regulated=Module["_ta_amount_dcc_get_markup_regulated"]=function(){return Module["asm"]["na"].apply(null,arguments)};var _ta_amount_dcc_get_rate=Module["_ta_amount_dcc_get_rate"]=function(){return Module["asm"]["oa"].apply(null,arguments)};var _ta_amount_dcc_get_rate_decimal=Module["_ta_amount_dcc_get_rate_decimal"]=function(){return Module["asm"]["pa"].apply(null,arguments)};var _ta_amount_dcc_get_rate_decimal_regulated=Module["_ta_amount_dcc_get_rate_decimal_regulated"]=function(){return Module["asm"]["qa"].apply(null,arguments)};var _ta_amount_dcc_get_rate_exponent=Module["_ta_amount_dcc_get_rate_exponent"]=function(){return Module["asm"]["ra"].apply(null,arguments)};var _ta_amount_dcc_get_rate_exponent_regulated=Module["_ta_amount_dcc_get_rate_exponent_regulated"]=function(){return Module["asm"]["sa"].apply(null,arguments)};var _ta_amount_dcc_get_rate_regulated=Module["_ta_amount_dcc_get_rate_regulated"]=function(){return Module["asm"]["ta"].apply(null,arguments)};var _ta_amount_dcc_get_value=Module["_ta_amount_dcc_get_value"]=function(){return Module["asm"]["ua"].apply(null,arguments)};var _ta_amount_discount_create=Module["_ta_amount_discount_create"]=function(){return Module["asm"]["va"].apply(null,arguments)};var _ta_amount_discount_create_decimal=Module["_ta_amount_discount_create_decimal"]=function(){return Module["asm"]["wa"].apply(null,arguments)};var _ta_amount_discount_create_decimal_exponent=Module["_ta_amount_discount_create_decimal_exponent"]=function(){return Module["asm"]["xa"].apply(null,arguments)};var _ta_amount_discount_create_exponent=Module["_ta_amount_discount_create_exponent"]=function(){return Module["asm"]["ya"].apply(null,arguments)};var _ta_amount_discount_get_currency=Module["_ta_amount_discount_get_currency"]=function(){return Module["asm"]["za"].apply(null,arguments)};var _ta_amount_discount_get_decimal_value=Module["_ta_amount_discount_get_decimal_value"]=function(){return Module["asm"]["Aa"].apply(null,arguments)};var _ta_amount_discount_get_discount_id=Module["_ta_amount_discount_get_discount_id"]=function(){return Module["asm"]["Ba"].apply(null,arguments)};var _ta_amount_discount_get_exponent=Module["_ta_amount_discount_get_exponent"]=function(){return Module["asm"]["Ca"].apply(null,arguments)};var _ta_amount_discount_get_value=Module["_ta_amount_discount_get_value"]=function(){return Module["asm"]["Da"].apply(null,arguments)};var _ta_amount_discount_set_currency=Module["_ta_amount_discount_set_currency"]=function(){return Module["asm"]["Ea"].apply(null,arguments)};var _ta_amount_discount_set_decimal_value=Module["_ta_amount_discount_set_decimal_value"]=function(){return Module["asm"]["Fa"].apply(null,arguments)};var _ta_amount_discount_set_discount_id=Module["_ta_amount_discount_set_discount_id"]=function(){return Module["asm"]["Ga"].apply(null,arguments)};var _ta_amount_discount_set_exponent=Module["_ta_amount_discount_set_exponent"]=function(){return Module["asm"]["Ha"].apply(null,arguments)};var _ta_amount_discount_set_value=Module["_ta_amount_discount_set_value"]=function(){return Module["asm"]["Ia"].apply(null,arguments)};var _ta_amount_final_get_adjustment_result=Module["_ta_amount_final_get_adjustment_result"]=function(){return Module["asm"]["Ja"].apply(null,arguments)};var _ta_amount_final_get_currency=Module["_ta_amount_final_get_currency"]=function(){return Module["asm"]["Ka"].apply(null,arguments)};var _ta_amount_final_get_decimal_value=Module["_ta_amount_final_get_decimal_value"]=function(){return Module["asm"]["La"].apply(null,arguments)};var _ta_amount_final_get_exponent=Module["_ta_amount_final_get_exponent"]=function(){return Module["asm"]["Ma"].apply(null,arguments)};var _ta_amount_final_get_value=Module["_ta_amount_final_get_value"]=function(){return Module["asm"]["Na"].apply(null,arguments)};var _ta_amount_get_currency=Module["_ta_amount_get_currency"]=function(){return Module["asm"]["Oa"].apply(null,arguments)};var _ta_amount_get_decimal_value=Module["_ta_amount_get_decimal_value"]=function(){return Module["asm"]["Pa"].apply(null,arguments)};var _ta_amount_get_exponent=Module["_ta_amount_get_exponent"]=function(){return Module["asm"]["Qa"].apply(null,arguments)};var _ta_amount_get_value=Module["_ta_amount_get_value"]=function(){return Module["asm"]["Ra"].apply(null,arguments)};var _ta_amount_set_currency=Module["_ta_amount_set_currency"]=function(){return Module["asm"]["Sa"].apply(null,arguments)};var _ta_amount_set_decimal_value=Module["_ta_amount_set_decimal_value"]=function(){return Module["asm"]["Ta"].apply(null,arguments)};var _ta_amount_set_exponent=Module["_ta_amount_set_exponent"]=function(){return Module["asm"]["Ua"].apply(null,arguments)};var _ta_amount_set_value=Module["_ta_amount_set_value"]=function(){return Module["asm"]["Va"].apply(null,arguments)};var _ta_application_get_aid=Module["_ta_application_get_aid"]=function(){return Module["asm"]["Wa"].apply(null,arguments)};var _ta_application_get_label=Module["_ta_application_get_label"]=function(){return Module["asm"]["Xa"].apply(null,arguments)};var _ta_balance_inquiry_response_get_amount=Module["_ta_balance_inquiry_response_get_amount"]=function(){return Module["asm"]["Ya"].apply(null,arguments)};var _ta_balance_inquiry_response_get_card_data=Module["_ta_balance_inquiry_response_get_card_data"]=function(){return Module["asm"]["Za"].apply(null,arguments)};var _ta_balance_inquiry_response_get_disclaimer=Module["_ta_balance_inquiry_response_get_disclaimer"]=function(){return Module["asm"]["_a"].apply(null,arguments)};var _ta_balance_inquiry_response_get_print_data=Module["_ta_balance_inquiry_response_get_print_data"]=function(){return Module["asm"]["$a"].apply(null,arguments)};var _ta_balance_inquiry_response_get_transaction_information=Module["_ta_balance_inquiry_response_get_transaction_information"]=function(){return Module["asm"]["ab"].apply(null,arguments)};var _ta_balance_response_get_counters=Module["_ta_balance_response_get_counters"]=function(){return Module["asm"]["bb"].apply(null,arguments)};var _ta_balance_response_get_partial_exceptions=Module["_ta_balance_response_get_partial_exceptions"]=function(){return Module["asm"]["cb"].apply(null,arguments)};var _ta_balance_response_get_print_data=Module["_ta_balance_response_get_print_data"]=function(){return Module["asm"]["db"].apply(null,arguments)};var _ta_basket_copy=Module["_ta_basket_copy"]=function(){return Module["asm"]["eb"].apply(null,arguments)};var _ta_basket_create=Module["_ta_basket_create"]=function(){return Module["asm"]["fb"].apply(null,arguments)};var _ta_basket_get_items=Module["_ta_basket_get_items"]=function(){return Module["asm"]["gb"].apply(null,arguments)};var _ta_basket_get_loyalty_auth_result=Module["_ta_basket_get_loyalty_auth_result"]=function(){return Module["asm"]["hb"].apply(null,arguments)};var _ta_basket_item_copy=Module["_ta_basket_item_copy"]=function(){return Module["asm"]["ib"].apply(null,arguments)};var _ta_basket_item_create=Module["_ta_basket_item_create"]=function(){return Module["asm"]["jb"].apply(null,arguments)};var _ta_basket_item_get_amount=Module["_ta_basket_item_get_amount"]=function(){return Module["asm"]["kb"].apply(null,arguments)};var _ta_basket_item_get_amount_discount=Module["_ta_basket_item_get_amount_discount"]=function(){return Module["asm"]["lb"].apply(null,arguments)};var _ta_basket_item_get_amount_gross=Module["_ta_basket_item_get_amount_gross"]=function(){return Module["asm"]["mb"].apply(null,arguments)};var _ta_basket_item_get_amount_tax=Module["_ta_basket_item_get_amount_tax"]=function(){return Module["asm"]["nb"].apply(null,arguments)};var _ta_basket_item_get_amount_total=Module["_ta_basket_item_get_amount_total"]=function(){return Module["asm"]["ob"].apply(null,arguments)};var _ta_basket_item_get_auth_result=Module["_ta_basket_item_get_auth_result"]=function(){return Module["asm"]["pb"].apply(null,arguments)};var _ta_basket_item_get_item_id=Module["_ta_basket_item_get_item_id"]=function(){return Module["asm"]["qb"].apply(null,arguments)};var _ta_basket_item_get_item_quantity=Module["_ta_basket_item_get_item_quantity"]=function(){return Module["asm"]["rb"].apply(null,arguments)};var _ta_basket_item_get_loyalty_id=Module["_ta_basket_item_get_loyalty_id"]=function(){return Module["asm"]["sb"].apply(null,arguments)};var _ta_basket_item_get_prod_description=Module["_ta_basket_item_get_prod_description"]=function(){return Module["asm"]["tb"].apply(null,arguments)};var _ta_basket_item_get_unit_amount_discount=Module["_ta_basket_item_get_unit_amount_discount"]=function(){return Module["asm"]["ub"].apply(null,arguments)};var _ta_basket_item_get_unit_amount_gross=Module["_ta_basket_item_get_unit_amount_gross"]=function(){return Module["asm"]["vb"].apply(null,arguments)};var _ta_basket_item_set_amount=Module["_ta_basket_item_set_amount"]=function(){return Module["asm"]["wb"].apply(null,arguments)};var _ta_basket_item_set_amount_discount=Module["_ta_basket_item_set_amount_discount"]=function(){return Module["asm"]["xb"].apply(null,arguments)};var _ta_basket_item_set_amount_gross=Module["_ta_basket_item_set_amount_gross"]=function(){return Module["asm"]["yb"].apply(null,arguments)};var _ta_basket_item_set_amount_tax=Module["_ta_basket_item_set_amount_tax"]=function(){return Module["asm"]["zb"].apply(null,arguments)};var _ta_basket_item_set_amount_total=Module["_ta_basket_item_set_amount_total"]=function(){return Module["asm"]["Ab"].apply(null,arguments)};var _ta_basket_item_set_auth_result=Module["_ta_basket_item_set_auth_result"]=function(){return Module["asm"]["Bb"].apply(null,arguments)};var _ta_basket_item_set_item_id=Module["_ta_basket_item_set_item_id"]=function(){return Module["asm"]["Cb"].apply(null,arguments)};var _ta_basket_item_set_item_quantity=Module["_ta_basket_item_set_item_quantity"]=function(){return Module["asm"]["Db"].apply(null,arguments)};var _ta_basket_item_set_loyalty_id=Module["_ta_basket_item_set_loyalty_id"]=function(){return Module["asm"]["Eb"].apply(null,arguments)};var _ta_basket_item_set_prod_description=Module["_ta_basket_item_set_prod_description"]=function(){return Module["asm"]["Fb"].apply(null,arguments)};var _ta_basket_item_set_unit_amount_discount=Module["_ta_basket_item_set_unit_amount_discount"]=function(){return Module["asm"]["Gb"].apply(null,arguments)};var _ta_basket_item_set_unit_amount_gross=Module["_ta_basket_item_set_unit_amount_gross"]=function(){return Module["asm"]["Hb"].apply(null,arguments)};var _ta_basket_set_items=Module["_ta_basket_set_items"]=function(){return Module["asm"]["Ib"].apply(null,arguments)};var _ta_basket_set_loyalty_auth_result=Module["_ta_basket_set_loyalty_auth_result"]=function(){return Module["asm"]["Jb"].apply(null,arguments)};var _ta_boolean_create=Module["_ta_boolean_create"]=function(){return Module["asm"]["Kb"].apply(null,arguments)};var _ta_boolean_get_value=Module["_ta_boolean_get_value"]=function(){return Module["asm"]["Lb"].apply(null,arguments)};var _ta_brand_bar_brand_e2s=Module["_ta_brand_bar_brand_e2s"]=function(){return Module["asm"]["Mb"].apply(null,arguments)};var _ta_brand_get_acq_id=Module["_ta_brand_get_acq_id"]=function(){return Module["asm"]["Nb"].apply(null,arguments)};var _ta_brand_get_applications=Module["_ta_brand_get_applications"]=function(){return Module["asm"]["Ob"].apply(null,arguments)};var _ta_brand_get_currencies=Module["_ta_brand_get_currencies"]=function(){return Module["asm"]["Pb"].apply(null,arguments)};var _ta_brand_get_dcc_available=Module["_ta_brand_get_dcc_available"]=function(){return Module["asm"]["Qb"].apply(null,arguments)};var _ta_brand_get_last_init_date=Module["_ta_brand_get_last_init_date"]=function(){return Module["asm"]["Rb"].apply(null,arguments)};var _ta_brand_get_name=Module["_ta_brand_get_name"]=function(){return Module["asm"]["Sb"].apply(null,arguments)};var _ta_brand_get_payment_protocol=Module["_ta_brand_get_payment_protocol"]=function(){return Module["asm"]["Tb"].apply(null,arguments)};var _ta_brand_mode_e2s=Module["_ta_brand_mode_e2s"]=function(){return Module["asm"]["Ub"].apply(null,arguments)};var _ta_card_data_get_acc=Module["_ta_card_data_get_acc"]=function(){return Module["asm"]["Vb"].apply(null,arguments)};var _ta_card_data_get_aid=Module["_ta_card_data_get_aid"]=function(){return Module["asm"]["Wb"].apply(null,arguments)};var _ta_card_data_get_asrpd=Module["_ta_card_data_get_asrpd"]=function(){return Module["asm"]["Xb"].apply(null,arguments)};var _ta_card_data_get_brand_name=Module["_ta_card_data_get_brand_name"]=function(){return Module["asm"]["Yb"].apply(null,arguments)};var _ta_card_data_get_card_country_code=Module["_ta_card_data_get_card_country_code"]=function(){return Module["asm"]["Zb"].apply(null,arguments)};var _ta_card_data_get_card_expiry_date=Module["_ta_card_data_get_card_expiry_date"]=function(){return Module["asm"]["_b"].apply(null,arguments)};var _ta_card_data_get_card_number=Module["_ta_card_data_get_card_number"]=function(){return Module["asm"]["$b"].apply(null,arguments)};var _ta_card_data_get_card_number_enc=Module["_ta_card_data_get_card_number_enc"]=function(){return Module["asm"]["ac"].apply(null,arguments)};var _ta_card_data_get_card_number_enc_key_index=Module["_ta_card_data_get_card_number_enc_key_index"]=function(){return Module["asm"]["bc"].apply(null,arguments)};var _ta_card_data_get_card_number_printable=Module["_ta_card_data_get_card_number_printable"]=function(){return Module["asm"]["cc"].apply(null,arguments)};var _ta_card_data_get_card_number_printable_cardholder=Module["_ta_card_data_get_card_number_printable_cardholder"]=function(){return Module["asm"]["dc"].apply(null,arguments)};var _ta_card_data_get_card_product_type=Module["_ta_card_data_get_card_product_type"]=function(){return Module["asm"]["ec"].apply(null,arguments)};var _ta_card_data_get_card_ref=Module["_ta_card_data_get_card_ref"]=function(){return Module["asm"]["fc"].apply(null,arguments)};var _ta_card_data_get_card_track_datas=Module["_ta_card_data_get_card_track_datas"]=function(){return Module["asm"]["gc"].apply(null,arguments)};var _ta_card_data_get_card_type=Module["_ta_card_data_get_card_type"]=function(){return Module["asm"]["hc"].apply(null,arguments)};var _ta_card_data_get_cardholder=Module["_ta_card_data_get_cardholder"]=function(){return Module["asm"]["ic"].apply(null,arguments)};var _ta_card_data_get_language=Module["_ta_card_data_get_language"]=function(){return Module["asm"]["jc"].apply(null,arguments)};var _ta_card_data_get_loyalty_information=Module["_ta_card_data_get_loyalty_information"]=function(){return Module["asm"]["kc"].apply(null,arguments)};var _ta_card_data_get_pos_entry_mode=Module["_ta_card_data_get_pos_entry_mode"]=function(){return Module["asm"]["lc"].apply(null,arguments)};var _ta_card_data_get_processing_disposition=Module["_ta_card_data_get_processing_disposition"]=function(){return Module["asm"]["mc"].apply(null,arguments)};var _ta_card_data_get_tender_name=Module["_ta_card_data_get_tender_name"]=function(){return Module["asm"]["nc"].apply(null,arguments)};var _ta_card_data_get_terminal_country_code=Module["_ta_card_data_get_terminal_country_code"]=function(){return Module["asm"]["oc"].apply(null,arguments)};var _ta_card_data_get_uid=Module["_ta_card_data_get_uid"]=function(){return Module["asm"]["pc"].apply(null,arguments)};var _ta_card_product_type_e2s=Module["_ta_card_product_type_e2s"]=function(){return Module["asm"]["qc"].apply(null,arguments)};var _ta_card_reader_e2s=Module["_ta_card_reader_e2s"]=function(){return Module["asm"]["rc"].apply(null,arguments)};var _ta_card_reader_status_e2s=Module["_ta_card_reader_status_e2s"]=function(){return Module["asm"]["sc"].apply(null,arguments)};var _ta_card_track_data_get_data=Module["_ta_card_track_data_get_data"]=function(){return Module["asm"]["tc"].apply(null,arguments)};var _ta_card_track_data_get_track_number=Module["_ta_card_track_data_get_track_number"]=function(){return Module["asm"]["uc"].apply(null,arguments)};var _ta_command_request_create=Module["_ta_command_request_create"]=function(){return Module["asm"]["vc"].apply(null,arguments)};var _ta_command_request_get_card_command=Module["_ta_command_request_get_card_command"]=function(){return Module["asm"]["wc"].apply(null,arguments)};var _ta_command_request_get_card_reader=Module["_ta_command_request_get_card_reader"]=function(){return Module["asm"]["xc"].apply(null,arguments)};var _ta_command_request_get_execution_resource=Module["_ta_command_request_get_execution_resource"]=function(){return Module["asm"]["yc"].apply(null,arguments)};var _ta_command_request_get_negative_resource=Module["_ta_command_request_get_negative_resource"]=function(){return Module["asm"]["zc"].apply(null,arguments)};var _ta_command_request_get_order=Module["_ta_command_request_get_order"]=function(){return Module["asm"]["Ac"].apply(null,arguments)};var _ta_command_request_get_positive_answers=Module["_ta_command_request_get_positive_answers"]=function(){return Module["asm"]["Bc"].apply(null,arguments)};var _ta_command_request_get_positive_resource=Module["_ta_command_request_get_positive_resource"]=function(){return Module["asm"]["Cc"].apply(null,arguments)};var _ta_command_request_get_pre_resource=Module["_ta_command_request_get_pre_resource"]=function(){return Module["asm"]["Dc"].apply(null,arguments)};var _ta_command_request_set_card_command=Module["_ta_command_request_set_card_command"]=function(){return Module["asm"]["Ec"].apply(null,arguments)};var _ta_command_request_set_card_reader=Module["_ta_command_request_set_card_reader"]=function(){return Module["asm"]["Fc"].apply(null,arguments)};var _ta_command_request_set_execution_resource=Module["_ta_command_request_set_execution_resource"]=function(){return Module["asm"]["Gc"].apply(null,arguments)};var _ta_command_request_set_negative_resource=Module["_ta_command_request_set_negative_resource"]=function(){return Module["asm"]["Hc"].apply(null,arguments)};var _ta_command_request_set_order=Module["_ta_command_request_set_order"]=function(){return Module["asm"]["Ic"].apply(null,arguments)};var _ta_command_request_set_positive_answers=Module["_ta_command_request_set_positive_answers"]=function(){return Module["asm"]["Jc"].apply(null,arguments)};var _ta_command_request_set_positive_resource=Module["_ta_command_request_set_positive_resource"]=function(){return Module["asm"]["Kc"].apply(null,arguments)};var _ta_command_request_set_pre_resource=Module["_ta_command_request_set_pre_resource"]=function(){return Module["asm"]["Lc"].apply(null,arguments)};var _ta_command_response_get_atr=Module["_ta_command_response_get_atr"]=function(){return Module["asm"]["Mc"].apply(null,arguments)};var _ta_command_response_get_card_response=Module["_ta_command_response_get_card_response"]=function(){return Module["asm"]["Nc"].apply(null,arguments)};var _ta_command_response_get_order=Module["_ta_command_response_get_order"]=function(){return Module["asm"]["Oc"].apply(null,arguments)};var _ta_command_response_get_response_type=Module["_ta_command_response_get_response_type"]=function(){return Module["asm"]["Pc"].apply(null,arguments)};var _ta_command_response_get_uid=Module["_ta_command_response_get_uid"]=function(){return Module["asm"]["Qc"].apply(null,arguments)};var _ta_compact_receipt_formatter_create=Module["_ta_compact_receipt_formatter_create"]=function(){return Module["asm"]["Rc"].apply(null,arguments)};var _ta_config_data_get_language=Module["_ta_config_data_get_language"]=function(){return Module["asm"]["Sc"].apply(null,arguments)};var _ta_config_data_get_receipt_header=Module["_ta_config_data_get_receipt_header"]=function(){return Module["asm"]["Tc"].apply(null,arguments)};var _ta_connection_status_e2s=Module["_ta_connection_status_e2s"]=function(){return Module["asm"]["Uc"].apply(null,arguments)};var _ta_counter_get_acq_id=Module["_ta_counter_get_acq_id"]=function(){return Module["asm"]["Vc"].apply(null,arguments)};var _ta_counter_get_brand_name=Module["_ta_counter_get_brand_name"]=function(){return Module["asm"]["Wc"].apply(null,arguments)};var _ta_counter_get_count=Module["_ta_counter_get_count"]=function(){return Module["asm"]["Xc"].apply(null,arguments)};var _ta_counter_get_count_dcc=Module["_ta_counter_get_count_dcc"]=function(){return Module["asm"]["Yc"].apply(null,arguments)};var _ta_counter_get_count_foreign=Module["_ta_counter_get_count_foreign"]=function(){return Module["asm"]["Zc"].apply(null,arguments)};var _ta_counter_get_payment_protocol=Module["_ta_counter_get_payment_protocol"]=function(){return Module["asm"]["_c"].apply(null,arguments)};var _ta_counter_get_totals=Module["_ta_counter_get_totals"]=function(){return Module["asm"]["$c"].apply(null,arguments)};var _ta_counter_type_e2s=Module["_ta_counter_type_e2s"]=function(){return Module["asm"]["ad"].apply(null,arguments)};var _ta_counters_get_counter_type=Module["_ta_counters_get_counter_type"]=function(){return Module["asm"]["bd"].apply(null,arguments)};var _ta_counters_get_counters=Module["_ta_counters_get_counters"]=function(){return Module["asm"]["cd"].apply(null,arguments)};var _ta_counters_get_seq_counter=Module["_ta_counters_get_seq_counter"]=function(){return Module["asm"]["dd"].apply(null,arguments)};var _ta_coupon_rejection_reason_e2s=Module["_ta_coupon_rejection_reason_e2s"]=function(){return Module["asm"]["ed"].apply(null,arguments)};var _ta_currency_get_parameters=Module["_ta_currency_get_parameters"]=function(){return Module["asm"]["fd"].apply(null,arguments)};var _ta_currency_item_get_currency=Module["_ta_currency_item_get_currency"]=function(){return Module["asm"]["gd"].apply(null,arguments)};var _ta_currency_item_get_currency_type=Module["_ta_currency_item_get_currency_type"]=function(){return Module["asm"]["hd"].apply(null,arguments)};var _ta_currency_type_e2s=Module["_ta_currency_type_e2s"]=function(){return Module["asm"]["id"].apply(null,arguments)};var _ta_currency_with_code=Module["_ta_currency_with_code"]=function(){return Module["asm"]["jd"].apply(null,arguments)};var _ta_custom_receipt_formatter_create=Module["_ta_custom_receipt_formatter_create"]=function(){return Module["asm"]["kd"].apply(null,arguments)};var _ta_customer_data_type_e2s=Module["_ta_customer_data_type_e2s"]=function(){return Module["asm"]["ld"].apply(null,arguments)};var _ta_cvm_e2s=Module["_ta_cvm_e2s"]=function(){return Module["asm"]["md"].apply(null,arguments)};var _ta_deactivate_response_get_counters=Module["_ta_deactivate_response_get_counters"]=function(){return Module["asm"]["nd"].apply(null,arguments)};var _ta_deactivate_response_get_print_data=Module["_ta_deactivate_response_get_print_data"]=function(){return Module["asm"]["od"].apply(null,arguments)};var _ta_dialog_functions_e2s=Module["_ta_dialog_functions_e2s"]=function(){return Module["asm"]["pd"].apply(null,arguments)};var _ta_display_product_info_copy=Module["_ta_display_product_info_copy"]=function(){return Module["asm"]["qd"].apply(null,arguments)};var _ta_display_product_info_create=Module["_ta_display_product_info_create"]=function(){return Module["asm"]["rd"].apply(null,arguments)};var _ta_display_product_info_get_background_color=Module["_ta_display_product_info_get_background_color"]=function(){return Module["asm"]["sd"].apply(null,arguments)};var _ta_display_product_info_get_image_data=Module["_ta_display_product_info_get_image_data"]=function(){return Module["asm"]["td"].apply(null,arguments)};var _ta_display_product_info_get_image_file_format=Module["_ta_display_product_info_get_image_file_format"]=function(){return Module["asm"]["ud"].apply(null,arguments)};var _ta_display_product_info_get_image_file_height=Module["_ta_display_product_info_get_image_file_height"]=function(){return Module["asm"]["vd"].apply(null,arguments)};var _ta_display_product_info_get_image_file_width=Module["_ta_display_product_info_get_image_file_width"]=function(){return Module["asm"]["wd"].apply(null,arguments)};var _ta_display_product_info_get_product_display_name=Module["_ta_display_product_info_get_product_display_name"]=function(){return Module["asm"]["xd"].apply(null,arguments)};var _ta_display_product_info_set_background_color=Module["_ta_display_product_info_set_background_color"]=function(){return Module["asm"]["yd"].apply(null,arguments)};var _ta_display_product_info_set_image_data=Module["_ta_display_product_info_set_image_data"]=function(){return Module["asm"]["zd"].apply(null,arguments)};var _ta_display_product_info_set_image_file_format=Module["_ta_display_product_info_set_image_file_format"]=function(){return Module["asm"]["Ad"].apply(null,arguments)};var _ta_display_product_info_set_image_file_height=Module["_ta_display_product_info_set_image_file_height"]=function(){return Module["asm"]["Bd"].apply(null,arguments)};var _ta_display_product_info_set_image_file_width=Module["_ta_display_product_info_set_image_file_width"]=function(){return Module["asm"]["Cd"].apply(null,arguments)};var _ta_display_product_info_set_product_display_name=Module["_ta_display_product_info_set_product_display_name"]=function(){return Module["asm"]["Dd"].apply(null,arguments)};var _ta_ecr_info_create=Module["_ta_ecr_info_create"]=function(){return Module["asm"]["Ed"].apply(null,arguments)};var _ta_ecr_info_get_architecture=Module["_ta_ecr_info_get_architecture"]=function(){return Module["asm"]["Fd"].apply(null,arguments)};var _ta_ecr_info_get_integrator_solution=Module["_ta_ecr_info_get_integrator_solution"]=function(){return Module["asm"]["Gd"].apply(null,arguments)};var _ta_ecr_info_get_manufacturer_name=Module["_ta_ecr_info_get_manufacturer_name"]=function(){return Module["asm"]["Hd"].apply(null,arguments)};var _ta_ecr_info_get_name=Module["_ta_ecr_info_get_name"]=function(){return Module["asm"]["Id"].apply(null,arguments)};var _ta_ecr_info_get_remote_ip=Module["_ta_ecr_info_get_remote_ip"]=function(){return Module["asm"]["Jd"].apply(null,arguments)};var _ta_ecr_info_get_serial_number=Module["_ta_ecr_info_get_serial_number"]=function(){return Module["asm"]["Kd"].apply(null,arguments)};var _ta_ecr_info_get_type=Module["_ta_ecr_info_get_type"]=function(){return Module["asm"]["Ld"].apply(null,arguments)};var _ta_ecr_info_get_version=Module["_ta_ecr_info_get_version"]=function(){return Module["asm"]["Md"].apply(null,arguments)};var _ta_ecr_info_set_architecture=Module["_ta_ecr_info_set_architecture"]=function(){return Module["asm"]["Nd"].apply(null,arguments)};var _ta_ecr_info_set_integrator_solution=Module["_ta_ecr_info_set_integrator_solution"]=function(){return Module["asm"]["Od"].apply(null,arguments)};var _ta_ecr_info_set_manufacturer_name=Module["_ta_ecr_info_set_manufacturer_name"]=function(){return Module["asm"]["Pd"].apply(null,arguments)};var _ta_ecr_info_set_name=Module["_ta_ecr_info_set_name"]=function(){return Module["asm"]["Qd"].apply(null,arguments)};var _ta_ecr_info_set_remote_ip=Module["_ta_ecr_info_set_remote_ip"]=function(){return Module["asm"]["Rd"].apply(null,arguments)};var _ta_ecr_info_set_serial_number=Module["_ta_ecr_info_set_serial_number"]=function(){return Module["asm"]["Sd"].apply(null,arguments)};var _ta_ecr_info_set_type=Module["_ta_ecr_info_set_type"]=function(){return Module["asm"]["Td"].apply(null,arguments)};var _ta_ecr_info_set_version=Module["_ta_ecr_info_set_version"]=function(){return Module["asm"]["Ud"].apply(null,arguments)};var _ta_ecr_info_type_e2s=Module["_ta_ecr_info_type_e2s"]=function(){return Module["asm"]["Vd"].apply(null,arguments)};var _ta_error_message_get_language=Module["_ta_error_message_get_language"]=function(){return Module["asm"]["Wd"].apply(null,arguments)};var _ta_error_message_get_terminal=Module["_ta_error_message_get_terminal"]=function(){return Module["asm"]["Xd"].apply(null,arguments)};var _ta_financial_transactions_e2s=Module["_ta_financial_transactions_e2s"]=function(){return Module["asm"]["Yd"].apply(null,arguments)};var _ta_function_hint_e2s=Module["_ta_function_hint_e2s"]=function(){return Module["asm"]["Zd"].apply(null,arguments)};var _ta_guides_e2s=Module["_ta_guides_e2s"]=function(){return Module["asm"]["_d"].apply(null,arguments)};var _ta_hardware_get_firmware_version=Module["_ta_hardware_get_firmware_version"]=function(){return Module["asm"]["$d"].apply(null,arguments)};var _ta_hardware_get_hardware_address=Module["_ta_hardware_get_hardware_address"]=function(){return Module["asm"]["ae"].apply(null,arguments)};var _ta_hardware_get_hardware_description=Module["_ta_hardware_get_hardware_description"]=function(){return Module["asm"]["be"].apply(null,arguments)};var _ta_hardware_get_hardware_type=Module["_ta_hardware_get_hardware_type"]=function(){return Module["asm"]["ce"].apply(null,arguments)};var _ta_hardware_get_iccid=Module["_ta_hardware_get_iccid"]=function(){return Module["asm"]["de"].apply(null,arguments)};var _ta_hardware_get_imei=Module["_ta_hardware_get_imei"]=function(){return Module["asm"]["ee"].apply(null,arguments)};var _ta_hardware_get_imsi=Module["_ta_hardware_get_imsi"]=function(){return Module["asm"]["fe"].apply(null,arguments)};var _ta_hardware_get_last_cleaning_date=Module["_ta_hardware_get_last_cleaning_date"]=function(){return Module["asm"]["ge"].apply(null,arguments)};var _ta_hardware_get_product_version=Module["_ta_hardware_get_product_version"]=function(){return Module["asm"]["he"].apply(null,arguments)};var _ta_hardware_get_production_date=Module["_ta_hardware_get_production_date"]=function(){return Module["asm"]["ie"].apply(null,arguments)};var _ta_hardware_get_security_status=Module["_ta_hardware_get_security_status"]=function(){return Module["asm"]["je"].apply(null,arguments)};var _ta_hardware_get_serial_number=Module["_ta_hardware_get_serial_number"]=function(){return Module["asm"]["ke"].apply(null,arguments)};var _ta_hardware_information_response_get_battery_charging=Module["_ta_hardware_information_response_get_battery_charging"]=function(){return Module["asm"]["le"].apply(null,arguments)};var _ta_hardware_information_response_get_battery_level=Module["_ta_hardware_information_response_get_battery_level"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _ta_hardware_information_response_get_hardwares=Module["_ta_hardware_information_response_get_hardwares"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _ta_hardware_information_response_get_kernel_versions=Module["_ta_hardware_information_response_get_kernel_versions"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var _ta_hardware_information_response_get_settings=Module["_ta_hardware_information_response_get_settings"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var _ta_hardware_information_response_get_statistics=Module["_ta_hardware_information_response_get_statistics"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var _ta_hardware_type_e2s=Module["_ta_hardware_type_e2s"]=function(){return Module["asm"]["re"].apply(null,arguments)};var _ta_image_file_format_e2s=Module["_ta_image_file_format_e2s"]=function(){return Module["asm"]["se"].apply(null,arguments)};var _ta_integer_create=Module["_ta_integer_create"]=function(){return Module["asm"]["te"].apply(null,arguments)};var _ta_integer_get_value=Module["_ta_integer_get_value"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var _ta_item_quantity_create=Module["_ta_item_quantity_create"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var _ta_item_quantity_get_exponent=Module["_ta_item_quantity_get_exponent"]=function(){return Module["asm"]["we"].apply(null,arguments)};var _ta_item_quantity_get_quantity=Module["_ta_item_quantity_get_quantity"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var _ta_item_quantity_get_quantity_type=Module["_ta_item_quantity_get_quantity_type"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var _ta_item_quantity_set_exponent=Module["_ta_item_quantity_set_exponent"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var _ta_item_quantity_set_quantity=Module["_ta_item_quantity_set_quantity"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};var _ta_item_quantity_set_type=Module["_ta_item_quantity_set_type"]=function(){return Module["asm"]["Be"].apply(null,arguments)};var _ta_kernel_type_e2s=Module["_ta_kernel_type_e2s"]=function(){return Module["asm"]["Ce"].apply(null,arguments)};var _ta_list_add=Module["_ta_list_add"]=function(){return Module["asm"]["De"].apply(null,arguments)};var _ta_list_create=Module["_ta_list_create"]=function(){return Module["asm"]["Ee"].apply(null,arguments)};var _ta_list_get_at=Module["_ta_list_get_at"]=function(){return Module["asm"]["Fe"].apply(null,arguments)};var _ta_list_get_count=Module["_ta_list_get_count"]=function(){return Module["asm"]["Ge"].apply(null,arguments)};var _ta_list_has=Module["_ta_list_has"]=function(){return Module["asm"]["He"].apply(null,arguments)};var _ta_list_index_of=Module["_ta_list_index_of"]=function(){return Module["asm"]["Ie"].apply(null,arguments)};var _ta_list_remove=Module["_ta_list_remove"]=function(){return Module["asm"]["Je"].apply(null,arguments)};var _ta_list_remove_all=Module["_ta_list_remove_all"]=function(){return Module["asm"]["Ke"].apply(null,arguments)};var _ta_logger_set_global_logger=Module["_ta_logger_set_global_logger"]=function(){return Module["asm"]["Le"].apply(null,arguments)};var _ta_loyalty_coupon_create=Module["_ta_loyalty_coupon_create"]=function(){return Module["asm"]["Me"].apply(null,arguments)};var _ta_loyalty_coupon_get_amount=Module["_ta_loyalty_coupon_get_amount"]=function(){return Module["asm"]["Ne"].apply(null,arguments)};var _ta_loyalty_coupon_get_currency=Module["_ta_loyalty_coupon_get_currency"]=function(){return Module["asm"]["Oe"].apply(null,arguments)};var _ta_loyalty_coupon_get_exponent=Module["_ta_loyalty_coupon_get_exponent"]=function(){return Module["asm"]["Pe"].apply(null,arguments)};var _ta_loyalty_coupon_get_id=Module["_ta_loyalty_coupon_get_id"]=function(){return Module["asm"]["Qe"].apply(null,arguments)};var _ta_loyalty_coupon_get_rejection_reason=Module["_ta_loyalty_coupon_get_rejection_reason"]=function(){return Module["asm"]["Re"].apply(null,arguments)};var _ta_loyalty_discount_get_currency=Module["_ta_loyalty_discount_get_currency"]=function(){return Module["asm"]["Se"].apply(null,arguments)};var _ta_loyalty_discount_get_decimal_value=Module["_ta_loyalty_discount_get_decimal_value"]=function(){return Module["asm"]["Te"].apply(null,arguments)};var _ta_loyalty_discount_get_discount_description=Module["_ta_loyalty_discount_get_discount_description"]=function(){return Module["asm"]["Ue"].apply(null,arguments)};var _ta_loyalty_discount_get_exponent=Module["_ta_loyalty_discount_get_exponent"]=function(){return Module["asm"]["Ve"].apply(null,arguments)};var _ta_loyalty_discount_get_value=Module["_ta_loyalty_discount_get_value"]=function(){return Module["asm"]["We"].apply(null,arguments)};var _ta_loyalty_function_type_e2s=Module["_ta_loyalty_function_type_e2s"]=function(){return Module["asm"]["Xe"].apply(null,arguments)};var _ta_loyalty_information_create=Module["_ta_loyalty_information_create"]=function(){return Module["asm"]["Ye"].apply(null,arguments)};var _ta_loyalty_information_get_loyalty_function_type=Module["_ta_loyalty_information_get_loyalty_function_type"]=function(){return Module["asm"]["Ze"].apply(null,arguments)};var _ta_loyalty_information_get_loyalty_info_type=Module["_ta_loyalty_information_get_loyalty_info_type"]=function(){return Module["asm"]["_e"].apply(null,arguments)};var _ta_loyalty_information_get_loyalty_number=Module["_ta_loyalty_information_get_loyalty_number"]=function(){return Module["asm"]["$e"].apply(null,arguments)};var _ta_loyalty_information_get_value=Module["_ta_loyalty_information_get_value"]=function(){return Module["asm"]["af"].apply(null,arguments)};var _ta_loyalty_item_copy=Module["_ta_loyalty_item_copy"]=function(){return Module["asm"]["bf"].apply(null,arguments)};var _ta_loyalty_item_create=Module["_ta_loyalty_item_create"]=function(){return Module["asm"]["cf"].apply(null,arguments)};var _ta_loyalty_item_get_amount=Module["_ta_loyalty_item_get_amount"]=function(){return Module["asm"]["df"].apply(null,arguments)};var _ta_loyalty_item_get_amount_total=Module["_ta_loyalty_item_get_amount_total"]=function(){return Module["asm"]["ef"].apply(null,arguments)};var _ta_loyalty_item_get_display_product_info=Module["_ta_loyalty_item_get_display_product_info"]=function(){return Module["asm"]["ff"].apply(null,arguments)};var _ta_loyalty_item_get_item_id=Module["_ta_loyalty_item_get_item_id"]=function(){return Module["asm"]["gf"].apply(null,arguments)};var _ta_loyalty_item_get_item_quantity=Module["_ta_loyalty_item_get_item_quantity"]=function(){return Module["asm"]["hf"].apply(null,arguments)};var _ta_loyalty_item_get_loyalty_coupons=Module["_ta_loyalty_item_get_loyalty_coupons"]=function(){return Module["asm"]["jf"].apply(null,arguments)};var _ta_loyalty_item_get_loyalty_discounts=Module["_ta_loyalty_item_get_loyalty_discounts"]=function(){return Module["asm"]["kf"].apply(null,arguments)};var _ta_loyalty_item_get_prod_description=Module["_ta_loyalty_item_get_prod_description"]=function(){return Module["asm"]["lf"].apply(null,arguments)};var _ta_loyalty_item_set_amount=Module["_ta_loyalty_item_set_amount"]=function(){return Module["asm"]["mf"].apply(null,arguments)};var _ta_loyalty_item_set_amount_total=Module["_ta_loyalty_item_set_amount_total"]=function(){return Module["asm"]["nf"].apply(null,arguments)};var _ta_loyalty_item_set_display_product_info=Module["_ta_loyalty_item_set_display_product_info"]=function(){return Module["asm"]["of"].apply(null,arguments)};var _ta_loyalty_item_set_item_id=Module["_ta_loyalty_item_set_item_id"]=function(){return Module["asm"]["pf"].apply(null,arguments)};var _ta_loyalty_item_set_item_quantity=Module["_ta_loyalty_item_set_item_quantity"]=function(){return Module["asm"]["qf"].apply(null,arguments)};var _ta_loyalty_item_set_prod_description=Module["_ta_loyalty_item_set_prod_description"]=function(){return Module["asm"]["rf"].apply(null,arguments)};var _ta_maintenance_type_e2s=Module["_ta_maintenance_type_e2s"]=function(){return Module["asm"]["sf"].apply(null,arguments)};var _ta_management_status_e2s=Module["_ta_management_status_e2s"]=function(){return Module["asm"]["tf"].apply(null,arguments)};var _ta_map_create=Module["_ta_map_create"]=function(){return Module["asm"]["uf"].apply(null,arguments)};var _ta_map_get=Module["_ta_map_get"]=function(){return Module["asm"]["vf"].apply(null,arguments)};var _ta_map_get_at=Module["_ta_map_get_at"]=function(){return Module["asm"]["wf"].apply(null,arguments)};var _ta_map_get_count=Module["_ta_map_get_count"]=function(){return Module["asm"]["xf"].apply(null,arguments)};var _ta_map_get_default=Module["_ta_map_get_default"]=function(){return Module["asm"]["yf"].apply(null,arguments)};var _ta_map_has=Module["_ta_map_has"]=function(){return Module["asm"]["zf"].apply(null,arguments)};var _ta_map_remove=Module["_ta_map_remove"]=function(){return Module["asm"]["Af"].apply(null,arguments)};var _ta_map_remove_all=Module["_ta_map_remove_all"]=function(){return Module["asm"]["Bf"].apply(null,arguments)};var _ta_map_set=Module["_ta_map_set"]=function(){return Module["asm"]["Cf"].apply(null,arguments)};var _ta_merchant_action_e2s=Module["_ta_merchant_action_e2s"]=function(){return Module["asm"]["Df"].apply(null,arguments)};var _ta_merchant_option_create=Module["_ta_merchant_option_create"]=function(){return Module["asm"]["Ef"].apply(null,arguments)};var _ta_merchant_option_get_type=Module["_ta_merchant_option_get_type"]=function(){return Module["asm"]["Ff"].apply(null,arguments)};var _ta_merchant_option_get_value=Module["_ta_merchant_option_get_value"]=function(){return Module["asm"]["Gf"].apply(null,arguments)};var _ta_merchant_option_type_e2s=Module["_ta_merchant_option_type_e2s"]=function(){return Module["asm"]["Hf"].apply(null,arguments)};var _ta_native_error_get_code=Module["_ta_native_error_get_code"]=function(){return Module["asm"]["If"].apply(null,arguments)};var _ta_native_error_get_message=Module["_ta_native_error_get_message"]=function(){return Module["asm"]["Jf"].apply(null,arguments)};var _ta_native_error_get_source=Module["_ta_native_error_get_source"]=function(){return Module["asm"]["Kf"].apply(null,arguments)};var _ta_network_information_get_terminal_ip=Module["_ta_network_information_get_terminal_ip"]=function(){return Module["asm"]["Lf"].apply(null,arguments)};var _ta_network_information_get_terminal_ip_dns=Module["_ta_network_information_get_terminal_ip_dns"]=function(){return Module["asm"]["Mf"].apply(null,arguments)};var _ta_network_information_get_terminal_ip_gw=Module["_ta_network_information_get_terminal_ip_gw"]=function(){return Module["asm"]["Nf"].apply(null,arguments)};var _ta_network_information_get_terminal_ip_mask=Module["_ta_network_information_get_terminal_ip_mask"]=function(){return Module["asm"]["Of"].apply(null,arguments)};var _ta_ngv_mode_e2s=Module["_ta_ngv_mode_e2s"]=function(){return Module["asm"]["Pf"].apply(null,arguments)};var _ta_non_financial_transactions_e2s=Module["_ta_non_financial_transactions_e2s"]=function(){return Module["asm"]["Qf"].apply(null,arguments)};var _ta_normal_receipt_formatter_create=Module["_ta_normal_receipt_formatter_create"]=function(){return Module["asm"]["Rf"].apply(null,arguments)};var _ta_object_release=Module["_ta_object_release"]=function(){return Module["asm"]["Sf"].apply(null,arguments)};var _ta_object_release_if_valid=Module["_ta_object_release_if_valid"]=function(){return Module["asm"]["Tf"].apply(null,arguments)};var _ta_object_retain=Module["_ta_object_retain"]=function(){return Module["asm"]["Uf"].apply(null,arguments)};var _ta_object_to_string=Module["_ta_object_to_string"]=function(){return Module["asm"]["Vf"].apply(null,arguments)};var _ta_payment_protocol_e2s=Module["_ta_payment_protocol_e2s"]=function(){return Module["asm"]["Wf"].apply(null,arguments)};var _ta_pos_entry_mode_e2s=Module["_ta_pos_entry_mode_e2s"]=function(){return Module["asm"]["Xf"].apply(null,arguments)};var _ta_ppinfo_get_payment_protocol=Module["_ta_ppinfo_get_payment_protocol"]=function(){return Module["asm"]["Yf"].apply(null,arguments)};var _ta_ppinfo_get_pp_ep2_auth_reslt=Module["_ta_ppinfo_get_pp_ep2_auth_reslt"]=function(){return Module["asm"]["Zf"].apply(null,arguments)};var _ta_ppinfo_get_pp_ep2_auth_resp_c=Module["_ta_ppinfo_get_pp_ep2_auth_resp_c"]=function(){return Module["asm"]["_f"].apply(null,arguments)};var _ta_ppinfo_get_pp_ep2_trans_seq_cnt=Module["_ta_ppinfo_get_pp_ep2_trans_seq_cnt"]=function(){return Module["asm"]["$f"].apply(null,arguments)};var _ta_ppinfo_get_pp_ep2_trans_seq_cnt_orig=Module["_ta_ppinfo_get_pp_ep2_trans_seq_cnt_orig"]=function(){return Module["asm"]["ag"].apply(null,arguments)};var _ta_print_data_get_receipt_items=Module["_ta_print_data_get_receipt_items"]=function(){return Module["asm"]["bg"].apply(null,arguments)};var _ta_print_data_get_receipts=Module["_ta_print_data_get_receipts"]=function(){return Module["asm"]["cg"].apply(null,arguments)};var _ta_print_flag_e2s=Module["_ta_print_flag_e2s"]=function(){return Module["asm"]["dg"].apply(null,arguments)};var _ta_print_format_e2s=Module["_ta_print_format_e2s"]=function(){return Module["asm"]["eg"].apply(null,arguments)};var _ta_print_option_create=Module["_ta_print_option_create"]=function(){return Module["asm"]["fg"].apply(null,arguments)};var _ta_print_option_get_print_flags=Module["_ta_print_option_get_print_flags"]=function(){return Module["asm"]["gg"].apply(null,arguments)};var _ta_print_option_get_print_format=Module["_ta_print_option_get_print_format"]=function(){return Module["asm"]["hg"].apply(null,arguments)};var _ta_print_option_get_print_width=Module["_ta_print_option_get_print_width"]=function(){return Module["asm"]["ig"].apply(null,arguments)};var _ta_print_option_get_recipient=Module["_ta_print_option_get_recipient"]=function(){return Module["asm"]["jg"].apply(null,arguments)};var _ta_process_print_receipts=Module["_ta_process_print_receipts"]=function(){return Module["asm"]["kg"].apply(null,arguments)};var _ta_processing_disposition_e2s=Module["_ta_processing_disposition_e2s"]=function(){return Module["asm"]["lg"].apply(null,arguments)};var _ta_protocol_level_e2s=Module["_ta_protocol_level_e2s"]=function(){return Module["asm"]["mg"].apply(null,arguments)};var _ta_protocol_type_e2s=Module["_ta_protocol_type_e2s"]=function(){return Module["asm"]["ng"].apply(null,arguments)};var _ta_reason_e2s=Module["_ta_reason_e2s"]=function(){return Module["asm"]["og"].apply(null,arguments)};var _ta_receipt_create=Module["_ta_receipt_create"]=function(){return Module["asm"]["pg"].apply(null,arguments)};var _ta_receipt_formatter_create=Module["_ta_receipt_formatter_create"]=function(){return Module["asm"]["qg"].apply(null,arguments)};var _ta_receipt_get_recipient=Module["_ta_receipt_get_recipient"]=function(){return Module["asm"]["rg"].apply(null,arguments)};var _ta_receipt_get_value=Module["_ta_receipt_get_value"]=function(){return Module["asm"]["sg"].apply(null,arguments)};var _ta_receipt_item_get_receipt_item_type=Module["_ta_receipt_item_get_receipt_item_type"]=function(){return Module["asm"]["tg"].apply(null,arguments)};var _ta_receipt_item_get_recipient=Module["_ta_receipt_item_get_recipient"]=function(){return Module["asm"]["ug"].apply(null,arguments)};var _ta_receipt_item_get_value=Module["_ta_receipt_item_get_value"]=function(){return Module["asm"]["vg"].apply(null,arguments)};var _ta_receipt_item_type_e2s=Module["_ta_receipt_item_type_e2s"]=function(){return Module["asm"]["wg"].apply(null,arguments)};var _ta_receipt_items_get_receipt_item=Module["_ta_receipt_items_get_receipt_item"]=function(){return Module["asm"]["xg"].apply(null,arguments)};var _ta_receipt_items_get_receipt_type=Module["_ta_receipt_items_get_receipt_type"]=function(){return Module["asm"]["yg"].apply(null,arguments)};var _ta_receipt_request_response_get_has_more_receipts=Module["_ta_receipt_request_response_get_has_more_receipts"]=function(){return Module["asm"]["zg"].apply(null,arguments)};var _ta_receipt_request_response_get_print_data=Module["_ta_receipt_request_response_get_print_data"]=function(){return Module["asm"]["Ag"].apply(null,arguments)};var _ta_receipt_request_type_e2s=Module["_ta_receipt_request_type_e2s"]=function(){return Module["asm"]["Bg"].apply(null,arguments)};var _ta_receipt_type_e2s=Module["_ta_receipt_type_e2s"]=function(){return Module["asm"]["Cg"].apply(null,arguments)};var _ta_recipient_e2s=Module["_ta_recipient_e2s"]=function(){return Module["asm"]["Dg"].apply(null,arguments)};var _ta_reconciliation_response_get_counters=Module["_ta_reconciliation_response_get_counters"]=function(){return Module["asm"]["Eg"].apply(null,arguments)};var _ta_reconciliation_response_get_print_data=Module["_ta_reconciliation_response_get_print_data"]=function(){return Module["asm"]["Fg"].apply(null,arguments)};var _ta_remote_functions_e2s=Module["_ta_remote_functions_e2s"]=function(){return Module["asm"]["Gg"].apply(null,arguments)};var _ta_resource_id_e2s=Module["_ta_resource_id_e2s"]=function(){return Module["asm"]["Hg"].apply(null,arguments)};var _ta_resource_parameter_type_e2s=Module["_ta_resource_parameter_type_e2s"]=function(){return Module["asm"]["Ig"].apply(null,arguments)};var _ta_response_type_e2s=Module["_ta_response_type_e2s"]=function(){return Module["asm"]["Jg"].apply(null,arguments)};var _ta_result_code_e2s=Module["_ta_result_code_e2s"]=function(){return Module["asm"]["Kg"].apply(null,arguments)};var _ta_screenshot_information_get_image_data=Module["_ta_screenshot_information_get_image_data"]=function(){return Module["asm"]["Lg"].apply(null,arguments)};var _ta_screenshot_information_get_image_file_format=Module["_ta_screenshot_information_get_image_file_format"]=function(){return Module["asm"]["Mg"].apply(null,arguments)};var _ta_screenshot_information_get_image_height=Module["_ta_screenshot_information_get_image_height"]=function(){return Module["asm"]["Ng"].apply(null,arguments)};var _ta_screenshot_information_get_image_width=Module["_ta_screenshot_information_get_image_width"]=function(){return Module["asm"]["Og"].apply(null,arguments)};var _ta_security_status_e2s=Module["_ta_security_status_e2s"]=function(){return Module["asm"]["Pg"].apply(null,arguments)};var _ta_setting_type_e2s=Module["_ta_setting_type_e2s"]=function(){return Module["asm"]["Qg"].apply(null,arguments)};var _ta_show_dialog_request_copy=Module["_ta_show_dialog_request_copy"]=function(){return Module["asm"]["Rg"].apply(null,arguments)};var _ta_show_dialog_request_create=Module["_ta_show_dialog_request_create"]=function(){return Module["asm"]["Sg"].apply(null,arguments)};var _ta_show_dialog_request_get_brand_bar=Module["_ta_show_dialog_request_get_brand_bar"]=function(){return Module["asm"]["Tg"].apply(null,arguments)};var _ta_show_dialog_request_get_brand_mode=Module["_ta_show_dialog_request_get_brand_mode"]=function(){return Module["asm"]["Ug"].apply(null,arguments)};var _ta_show_dialog_request_get_language=Module["_ta_show_dialog_request_get_language"]=function(){return Module["asm"]["Vg"].apply(null,arguments)};var _ta_show_dialog_request_get_placeholder_items=Module["_ta_show_dialog_request_get_placeholder_items"]=function(){return Module["asm"]["Wg"].apply(null,arguments)};var _ta_show_dialog_request_get_resource_id=Module["_ta_show_dialog_request_get_resource_id"]=function(){return Module["asm"]["Xg"].apply(null,arguments)};var _ta_show_dialog_request_get_theme=Module["_ta_show_dialog_request_get_theme"]=function(){return Module["asm"]["Yg"].apply(null,arguments)};var _ta_show_dialog_request_get_timeout=Module["_ta_show_dialog_request_get_timeout"]=function(){return Module["asm"]["Zg"].apply(null,arguments)};var _ta_show_dialog_request_resource_get_parameters=Module["_ta_show_dialog_request_resource_get_parameters"]=function(){return Module["asm"]["_g"].apply(null,arguments)};var _ta_show_dialog_request_set_brand_bar=Module["_ta_show_dialog_request_set_brand_bar"]=function(){return Module["asm"]["$g"].apply(null,arguments)};var _ta_show_dialog_request_set_brand_mode=Module["_ta_show_dialog_request_set_brand_mode"]=function(){return Module["asm"]["ah"].apply(null,arguments)};var _ta_show_dialog_request_set_language=Module["_ta_show_dialog_request_set_language"]=function(){return Module["asm"]["bh"].apply(null,arguments)};var _ta_show_dialog_request_set_placeholder_items=Module["_ta_show_dialog_request_set_placeholder_items"]=function(){return Module["asm"]["ch"].apply(null,arguments)};var _ta_show_dialog_request_set_resource_id=Module["_ta_show_dialog_request_set_resource_id"]=function(){return Module["asm"]["dh"].apply(null,arguments)};var _ta_show_dialog_request_set_resource_parameters=Module["_ta_show_dialog_request_set_resource_parameters"]=function(){return Module["asm"]["eh"].apply(null,arguments)};var _ta_show_dialog_request_set_theme=Module["_ta_show_dialog_request_set_theme"]=function(){return Module["asm"]["fh"].apply(null,arguments)};var _ta_show_dialog_request_set_timeout=Module["_ta_show_dialog_request_set_timeout"]=function(){return Module["asm"]["gh"].apply(null,arguments)};var _ta_show_dialog_response_get_card_data=Module["_ta_show_dialog_response_get_card_data"]=function(){return Module["asm"]["hh"].apply(null,arguments)};var _ta_show_dialog_response_get_reason=Module["_ta_show_dialog_response_get_reason"]=function(){return Module["asm"]["ih"].apply(null,arguments)};var _ta_show_dialog_response_get_user_input=Module["_ta_show_dialog_response_get_user_input"]=function(){return Module["asm"]["jh"].apply(null,arguments)};var _ta_show_signature_capture_request_copy=Module["_ta_show_signature_capture_request_copy"]=function(){return Module["asm"]["kh"].apply(null,arguments)};var _ta_show_signature_capture_request_create=Module["_ta_show_signature_capture_request_create"]=function(){return Module["asm"]["lh"].apply(null,arguments)};var _ta_show_signature_capture_request_get_background_color=Module["_ta_show_signature_capture_request_get_background_color"]=function(){return Module["asm"]["mh"].apply(null,arguments)};var _ta_show_signature_capture_request_get_brand_bar=Module["_ta_show_signature_capture_request_get_brand_bar"]=function(){return Module["asm"]["nh"].apply(null,arguments)};var _ta_show_signature_capture_request_get_brand_mode=Module["_ta_show_signature_capture_request_get_brand_mode"]=function(){return Module["asm"]["oh"].apply(null,arguments)};var _ta_show_signature_capture_request_get_image_file_format=Module["_ta_show_signature_capture_request_get_image_file_format"]=function(){return Module["asm"]["ph"].apply(null,arguments)};var _ta_show_signature_capture_request_get_image_file_height=Module["_ta_show_signature_capture_request_get_image_file_height"]=function(){return Module["asm"]["qh"].apply(null,arguments)};var _ta_show_signature_capture_request_get_image_file_width=Module["_ta_show_signature_capture_request_get_image_file_width"]=function(){return Module["asm"]["rh"].apply(null,arguments)};var _ta_show_signature_capture_request_get_language=Module["_ta_show_signature_capture_request_get_language"]=function(){return Module["asm"]["sh"].apply(null,arguments)};var _ta_show_signature_capture_request_get_resource_id=Module["_ta_show_signature_capture_request_get_resource_id"]=function(){return Module["asm"]["th"].apply(null,arguments)};var _ta_show_signature_capture_request_get_signature_color=Module["_ta_show_signature_capture_request_get_signature_color"]=function(){return Module["asm"]["uh"].apply(null,arguments)};var _ta_show_signature_capture_request_get_theme=Module["_ta_show_signature_capture_request_get_theme"]=function(){return Module["asm"]["vh"].apply(null,arguments)};var _ta_show_signature_capture_request_get_timeout=Module["_ta_show_signature_capture_request_get_timeout"]=function(){return Module["asm"]["wh"].apply(null,arguments)};var _ta_show_signature_capture_request_get_watermark_color=Module["_ta_show_signature_capture_request_get_watermark_color"]=function(){return Module["asm"]["xh"].apply(null,arguments)};var _ta_show_signature_capture_request_get_watermark_items=Module["_ta_show_signature_capture_request_get_watermark_items"]=function(){return Module["asm"]["yh"].apply(null,arguments)};var _ta_show_signature_capture_request_set_background_color=Module["_ta_show_signature_capture_request_set_background_color"]=function(){return Module["asm"]["zh"].apply(null,arguments)};var _ta_show_signature_capture_request_set_brand_bar=Module["_ta_show_signature_capture_request_set_brand_bar"]=function(){return Module["asm"]["Ah"].apply(null,arguments)};var _ta_show_signature_capture_request_set_brand_mode=Module["_ta_show_signature_capture_request_set_brand_mode"]=function(){return Module["asm"]["Bh"].apply(null,arguments)};var _ta_show_signature_capture_request_set_image_file_format=Module["_ta_show_signature_capture_request_set_image_file_format"]=function(){return Module["asm"]["Ch"].apply(null,arguments)};var _ta_show_signature_capture_request_set_image_file_height=Module["_ta_show_signature_capture_request_set_image_file_height"]=function(){return Module["asm"]["Dh"].apply(null,arguments)};var _ta_show_signature_capture_request_set_image_file_width=Module["_ta_show_signature_capture_request_set_image_file_width"]=function(){return Module["asm"]["Eh"].apply(null,arguments)};var _ta_show_signature_capture_request_set_language=Module["_ta_show_signature_capture_request_set_language"]=function(){return Module["asm"]["Fh"].apply(null,arguments)};var _ta_show_signature_capture_request_set_resource_id=Module["_ta_show_signature_capture_request_set_resource_id"]=function(){return Module["asm"]["Gh"].apply(null,arguments)};var _ta_show_signature_capture_request_set_signature_color=Module["_ta_show_signature_capture_request_set_signature_color"]=function(){return Module["asm"]["Hh"].apply(null,arguments)};var _ta_show_signature_capture_request_set_theme=Module["_ta_show_signature_capture_request_set_theme"]=function(){return Module["asm"]["Ih"].apply(null,arguments)};var _ta_show_signature_capture_request_set_timeout=Module["_ta_show_signature_capture_request_set_timeout"]=function(){return Module["asm"]["Jh"].apply(null,arguments)};var _ta_show_signature_capture_request_set_watermark_color=Module["_ta_show_signature_capture_request_set_watermark_color"]=function(){return Module["asm"]["Kh"].apply(null,arguments)};var _ta_show_signature_capture_request_set_watermark_items=Module["_ta_show_signature_capture_request_set_watermark_items"]=function(){return Module["asm"]["Lh"].apply(null,arguments)};var _ta_show_signature_capture_response_get_image_data=Module["_ta_show_signature_capture_response_get_image_data"]=function(){return Module["asm"]["Mh"].apply(null,arguments)};var _ta_show_signature_capture_response_get_image_file_format=Module["_ta_show_signature_capture_response_get_image_file_format"]=function(){return Module["asm"]["Nh"].apply(null,arguments)};var _ta_show_signature_capture_response_get_image_height=Module["_ta_show_signature_capture_response_get_image_height"]=function(){return Module["asm"]["Oh"].apply(null,arguments)};var _ta_show_signature_capture_response_get_image_width=Module["_ta_show_signature_capture_response_get_image_width"]=function(){return Module["asm"]["Ph"].apply(null,arguments)};var _ta_show_signature_capture_response_get_reason=Module["_ta_show_signature_capture_response_get_reason"]=function(){return Module["asm"]["Qh"].apply(null,arguments)};var _ta_signature_information_get_image_data=Module["_ta_signature_information_get_image_data"]=function(){return Module["asm"]["Rh"].apply(null,arguments)};var _ta_signature_information_get_image_file_format=Module["_ta_signature_information_get_image_file_format"]=function(){return Module["asm"]["Sh"].apply(null,arguments)};var _ta_signature_information_get_image_height=Module["_ta_signature_information_get_image_height"]=function(){return Module["asm"]["Th"].apply(null,arguments)};var _ta_signature_information_get_image_width=Module["_ta_signature_information_get_image_width"]=function(){return Module["asm"]["Uh"].apply(null,arguments)};var _ta_sleep_mode_status_e2s=Module["_ta_sleep_mode_status_e2s"]=function(){return Module["asm"]["Vh"].apply(null,arguments)};var _ta_status_functions_e2s=Module["_ta_status_functions_e2s"]=function(){return Module["asm"]["Wh"].apply(null,arguments)};var _ta_string_create=Module["_ta_string_create"]=function(){return Module["asm"]["Xh"].apply(null,arguments)};var _ta_string_format=Module["_ta_string_format"]=function(){return Module["asm"]["Yh"].apply(null,arguments)};var _ta_string_format_args=Module["_ta_string_format_args"]=function(){return Module["asm"]["Zh"].apply(null,arguments)};var _ta_string_get_length=Module["_ta_string_get_length"]=function(){return Module["asm"]["_h"].apply(null,arguments)};var _ta_string_get_pointer=Module["_ta_string_get_pointer"]=function(){return Module["asm"]["$h"].apply(null,arguments)};var _ta_sub_transaction_copy=Module["_ta_sub_transaction_copy"]=function(){return Module["asm"]["ai"].apply(null,arguments)};var _ta_sub_transaction_create=Module["_ta_sub_transaction_create"]=function(){return Module["asm"]["bi"].apply(null,arguments)};var _ta_sub_transaction_get_amount=Module["_ta_sub_transaction_get_amount"]=function(){return Module["asm"]["ci"].apply(null,arguments)};var _ta_sub_transaction_get_function=Module["_ta_sub_transaction_get_function"]=function(){return Module["asm"]["di"].apply(null,arguments)};var _ta_sub_transaction_get_rate=Module["_ta_sub_transaction_get_rate"]=function(){return Module["asm"]["ei"].apply(null,arguments)};var _ta_sub_transaction_get_rate_exponent=Module["_ta_sub_transaction_get_rate_exponent"]=function(){return Module["asm"]["fi"].apply(null,arguments)};var _ta_sub_transaction_set_amount=Module["_ta_sub_transaction_set_amount"]=function(){return Module["asm"]["gi"].apply(null,arguments)};var _ta_sub_transaction_set_function=Module["_ta_sub_transaction_set_function"]=function(){return Module["asm"]["hi"].apply(null,arguments)};var _ta_sub_transaction_set_rate=Module["_ta_sub_transaction_set_rate"]=function(){return Module["asm"]["ii"].apply(null,arguments)};var _ta_sub_transaction_set_rate_exponent=Module["_ta_sub_transaction_set_rate_exponent"]=function(){return Module["asm"]["ji"].apply(null,arguments)};var _ta_super_compact_receipt_formatter_create=Module["_ta_super_compact_receipt_formatter_create"]=function(){return Module["asm"]["ki"].apply(null,arguments)};var _ta_system_information_response_get_network_information=Module["_ta_system_information_response_get_network_information"]=function(){return Module["asm"]["li"].apply(null,arguments)};var _ta_terminal_activate_async=Module["_ta_terminal_activate_async"]=function(){return Module["asm"]["mi"].apply(null,arguments)};var _ta_terminal_activate_service_menu_async=Module["_ta_terminal_activate_service_menu_async"]=function(){return Module["asm"]["ni"].apply(null,arguments)};var _ta_terminal_add_ecr_data=Module["_ta_terminal_add_ecr_data"]=function(){return Module["asm"]["oi"].apply(null,arguments)};var _ta_terminal_add_listener=Module["_ta_terminal_add_listener"]=function(){return Module["asm"]["pi"].apply(null,arguments)};var _ta_terminal_amt_adjustment=Module["_ta_terminal_amt_adjustment"]=function(){return Module["asm"]["qi"].apply(null,arguments)};var _ta_terminal_amt_adjustment_2=Module["_ta_terminal_amt_adjustment_2"]=function(){return Module["asm"]["ri"].apply(null,arguments)};var _ta_terminal_application_information_async=Module["_ta_terminal_application_information_async"]=function(){return Module["asm"]["si"].apply(null,arguments)};var _ta_terminal_balance_async=Module["_ta_terminal_balance_async"]=function(){return Module["asm"]["ti"].apply(null,arguments)};var _ta_terminal_balance_inquiry_async=Module["_ta_terminal_balance_inquiry_async"]=function(){return Module["asm"]["ui"].apply(null,arguments)};var _ta_terminal_can_dcc=Module["_ta_terminal_can_dcc"]=function(){return Module["asm"]["vi"].apply(null,arguments)};var _ta_terminal_can_declined_receipts=Module["_ta_terminal_can_declined_receipts"]=function(){return Module["asm"]["wi"].apply(null,arguments)};var _ta_terminal_can_multi_account_selection=Module["_ta_terminal_can_multi_account_selection"]=function(){return Module["asm"]["xi"].apply(null,arguments)};var _ta_terminal_cancel=Module["_ta_terminal_cancel"]=function(){return Module["asm"]["yi"].apply(null,arguments)};var _ta_terminal_cancel2=Module["_ta_terminal_cancel2"]=function(){return Module["asm"]["zi"].apply(null,arguments)};var _ta_terminal_change_settings_async=Module["_ta_terminal_change_settings_async"]=function(){return Module["asm"]["Ai"].apply(null,arguments)};var _ta_terminal_close_dialog_mode_async=Module["_ta_terminal_close_dialog_mode_async"]=function(){return Module["asm"]["Bi"].apply(null,arguments)};var _ta_terminal_close_maintenance_window_async=Module["_ta_terminal_close_maintenance_window_async"]=function(){return Module["asm"]["Ci"].apply(null,arguments)};var _ta_terminal_close_reader_async=Module["_ta_terminal_close_reader_async"]=function(){return Module["asm"]["Di"].apply(null,arguments)};var _ta_terminal_commit_amount_async=Module["_ta_terminal_commit_amount_async"]=function(){return Module["asm"]["Ei"].apply(null,arguments)};var _ta_terminal_commit_async=Module["_ta_terminal_commit_async"]=function(){return Module["asm"]["Fi"].apply(null,arguments)};var _ta_terminal_connect_async=Module["_ta_terminal_connect_async"]=function(){return Module["asm"]["Gi"].apply(null,arguments)};var _ta_terminal_counter_request_async=Module["_ta_terminal_counter_request_async"]=function(){return Module["asm"]["Hi"].apply(null,arguments)};var _ta_terminal_create=Module["_ta_terminal_create"]=function(){return Module["asm"]["Ii"].apply(null,arguments)};var _ta_terminal_dcc_rates_async=Module["_ta_terminal_dcc_rates_async"]=function(){return Module["asm"]["Ji"].apply(null,arguments)};var _ta_terminal_deactivate_async=Module["_ta_terminal_deactivate_async"]=function(){return Module["asm"]["Ki"].apply(null,arguments)};var _ta_terminal_device_maintenance_async=Module["_ta_terminal_device_maintenance_async"]=function(){return Module["asm"]["Li"].apply(null,arguments)};var _ta_terminal_disconnect_async=Module["_ta_terminal_disconnect_async"]=function(){return Module["asm"]["Mi"].apply(null,arguments)};var _ta_terminal_dispose=Module["_ta_terminal_dispose"]=function(){return Module["asm"]["Ni"].apply(null,arguments)};var _ta_terminal_eject_card_async=Module["_ta_terminal_eject_card_async"]=function(){return Module["asm"]["Oi"].apply(null,arguments)};var _ta_terminal_finish_checkout_async=Module["_ta_terminal_finish_checkout_async"]=function(){return Module["asm"]["Pi"].apply(null,arguments)};var _ta_terminal_get_act_seq_counter=Module["_ta_terminal_get_act_seq_counter"]=function(){return Module["asm"]["Qi"].apply(null,arguments)};var _ta_terminal_get_brands=Module["_ta_terminal_get_brands"]=function(){return Module["asm"]["Ri"].apply(null,arguments)};var _ta_terminal_get_config_data=Module["_ta_terminal_get_config_data"]=function(){return Module["asm"]["Si"].apply(null,arguments)};var _ta_terminal_get_customer_data=Module["_ta_terminal_get_customer_data"]=function(){return Module["asm"]["Ti"].apply(null,arguments)};var _ta_terminal_get_ecr_data=Module["_ta_terminal_get_ecr_data"]=function(){return Module["asm"]["Ui"].apply(null,arguments)};var _ta_terminal_get_features=Module["_ta_terminal_get_features"]=function(){return Module["asm"]["Vi"].apply(null,arguments)};var _ta_terminal_get_license=Module["_ta_terminal_get_license"]=function(){return Module["asm"]["Wi"].apply(null,arguments)};var _ta_terminal_get_merchant_options=Module["_ta_terminal_get_merchant_options"]=function(){return Module["asm"]["Xi"].apply(null,arguments)};var _ta_terminal_get_pos_id=Module["_ta_terminal_get_pos_id"]=function(){return Module["asm"]["Yi"].apply(null,arguments)};var _ta_terminal_get_print_options=Module["_ta_terminal_get_print_options"]=function(){return Module["asm"]["Zi"].apply(null,arguments)};var _ta_terminal_get_receipt_formatter=Module["_ta_terminal_get_receipt_formatter"]=function(){return Module["asm"]["_i"].apply(null,arguments)};var _ta_terminal_get_settings=Module["_ta_terminal_get_settings"]=function(){return Module["asm"]["$i"].apply(null,arguments)};var _ta_terminal_get_terminal_id=Module["_ta_terminal_get_terminal_id"]=function(){return Module["asm"]["aj"].apply(null,arguments)};var _ta_terminal_get_terminal_status=Module["_ta_terminal_get_terminal_status"]=function(){return Module["asm"]["bj"].apply(null,arguments)};var _ta_terminal_get_tim_api_version=Module["_ta_terminal_get_tim_api_version"]=function(){return Module["asm"]["cj"].apply(null,arguments)};var _ta_terminal_get_transaction_data=Module["_ta_terminal_get_transaction_data"]=function(){return Module["asm"]["dj"].apply(null,arguments)};var _ta_terminal_get_user_id=Module["_ta_terminal_get_user_id"]=function(){return Module["asm"]["ej"].apply(null,arguments)};var _ta_terminal_hardware_information_async=Module["_ta_terminal_hardware_information_async"]=function(){return Module["asm"]["fj"].apply(null,arguments)};var _ta_terminal_has_sw_update=Module["_ta_terminal_has_sw_update"]=function(){return Module["asm"]["gj"].apply(null,arguments)};var _ta_terminal_hold_commit=Module["_ta_terminal_hold_commit"]=function(){return Module["asm"]["hj"].apply(null,arguments)};var _ta_terminal_init_transaction2_async=Module["_ta_terminal_init_transaction2_async"]=function(){return Module["asm"]["ij"].apply(null,arguments)};var _ta_terminal_init_transaction_async=Module["_ta_terminal_init_transaction_async"]=function(){return Module["asm"]["jj"].apply(null,arguments)};var _ta_terminal_listener_create=Module["_ta_terminal_listener_create"]=function(){return Module["asm"]["kj"].apply(null,arguments)};var _ta_terminal_login_async=Module["_ta_terminal_login_async"]=function(){return Module["asm"]["lj"].apply(null,arguments)};var _ta_terminal_logout_async=Module["_ta_terminal_logout_async"]=function(){return Module["asm"]["mj"].apply(null,arguments)};var _ta_terminal_loyalty_data_async=Module["_ta_terminal_loyalty_data_async"]=function(){return Module["asm"]["nj"].apply(null,arguments)};var _ta_terminal_open_dialog_mode_async=Module["_ta_terminal_open_dialog_mode_async"]=function(){return Module["asm"]["oj"].apply(null,arguments)};var _ta_terminal_open_maintenance_window_async=Module["_ta_terminal_open_maintenance_window_async"]=function(){return Module["asm"]["pj"].apply(null,arguments)};var _ta_terminal_open_reader_async=Module["_ta_terminal_open_reader_async"]=function(){return Module["asm"]["qj"].apply(null,arguments)};var _ta_terminal_print_on_terminal_async=Module["_ta_terminal_print_on_terminal_async"]=function(){return Module["asm"]["rj"].apply(null,arguments)};var _ta_terminal_provide_loyalty_basket_async=Module["_ta_terminal_provide_loyalty_basket_async"]=function(){return Module["asm"]["sj"].apply(null,arguments)};var _ta_terminal_provide_vas_result_async=Module["_ta_terminal_provide_vas_result_async"]=function(){return Module["asm"]["tj"].apply(null,arguments)};var _ta_terminal_reboot_async=Module["_ta_terminal_reboot_async"]=function(){return Module["asm"]["uj"].apply(null,arguments)};var _ta_terminal_receipt_request_async=Module["_ta_terminal_receipt_request_async"]=function(){return Module["asm"]["vj"].apply(null,arguments)};var _ta_terminal_reconciliation_async=Module["_ta_terminal_reconciliation_async"]=function(){return Module["asm"]["wj"].apply(null,arguments)};var _ta_terminal_reconfig_async=Module["_ta_terminal_reconfig_async"]=function(){return Module["asm"]["xj"].apply(null,arguments)};var _ta_terminal_remove_listener=Module["_ta_terminal_remove_listener"]=function(){return Module["asm"]["yj"].apply(null,arguments)};var _ta_terminal_request_alias_async=Module["_ta_terminal_request_alias_async"]=function(){return Module["asm"]["zj"].apply(null,arguments)};var _ta_terminal_rollback_async=Module["_ta_terminal_rollback_async"]=function(){return Module["asm"]["Aj"].apply(null,arguments)};var _ta_terminal_send_card_command_async=Module["_ta_terminal_send_card_command_async"]=function(){return Module["asm"]["Bj"].apply(null,arguments)};var _ta_terminal_set_custom_logger=Module["_ta_terminal_set_custom_logger"]=function(){return Module["asm"]["Cj"].apply(null,arguments)};var _ta_terminal_set_customer_data=Module["_ta_terminal_set_customer_data"]=function(){return Module["asm"]["Dj"].apply(null,arguments)};var _ta_terminal_set_ecr_data=Module["_ta_terminal_set_ecr_data"]=function(){return Module["asm"]["Ej"].apply(null,arguments)};var _ta_terminal_set_merchant_options=Module["_ta_terminal_set_merchant_options"]=function(){return Module["asm"]["Fj"].apply(null,arguments)};var _ta_terminal_set_pos_id=Module["_ta_terminal_set_pos_id"]=function(){return Module["asm"]["Gj"].apply(null,arguments)};var _ta_terminal_set_print_options=Module["_ta_terminal_set_print_options"]=function(){return Module["asm"]["Hj"].apply(null,arguments)};var _ta_terminal_set_receipt_formatter=Module["_ta_terminal_set_receipt_formatter"]=function(){return Module["asm"]["Ij"].apply(null,arguments)};var _ta_terminal_set_transaction_data=Module["_ta_terminal_set_transaction_data"]=function(){return Module["asm"]["Jj"].apply(null,arguments)};var _ta_terminal_set_user_id=Module["_ta_terminal_set_user_id"]=function(){return Module["asm"]["Kj"].apply(null,arguments)};var _ta_terminal_settings_create=Module["_ta_terminal_settings_create"]=function(){return Module["asm"]["Lj"].apply(null,arguments)};var _ta_terminal_settings_get_broadcast_interface=Module["_ta_terminal_settings_get_broadcast_interface"]=function(){return Module["asm"]["Mj"].apply(null,arguments)};var _ta_terminal_settings_get_card_insertion_timeout=Module["_ta_terminal_settings_get_card_insertion_timeout"]=function(){return Module["asm"]["Nj"].apply(null,arguments)};var _ta_terminal_settings_get_card_removal_timeout=Module["_ta_terminal_settings_get_card_removal_timeout"]=function(){return Module["asm"]["Oj"].apply(null,arguments)};var _ta_terminal_settings_get_commit_timeout=Module["_ta_terminal_settings_get_commit_timeout"]=function(){return Module["asm"]["Pj"].apply(null,arguments)};var _ta_terminal_settings_get_connection_ip_port=Module["_ta_terminal_settings_get_connection_ip_port"]=function(){return Module["asm"]["Qj"].apply(null,arguments)};var _ta_terminal_settings_get_connection_ip_string=Module["_ta_terminal_settings_get_connection_ip_string"]=function(){return Module["asm"]["Rj"].apply(null,arguments)};var _ta_terminal_settings_get_connection_mode=Module["_ta_terminal_settings_get_connection_mode"]=function(){return Module["asm"]["Sj"].apply(null,arguments)};var _ta_terminal_settings_get_guides=Module["_ta_terminal_settings_get_guides"]=function(){return Module["asm"]["Tj"].apply(null,arguments)};var _ta_terminal_settings_get_integrator_id=Module["_ta_terminal_settings_get_integrator_id"]=function(){return Module["asm"]["Uj"].apply(null,arguments)};var _ta_terminal_settings_get_log_dir=Module["_ta_terminal_settings_get_log_dir"]=function(){return Module["asm"]["Vj"].apply(null,arguments)};var _ta_terminal_settings_get_log_file_count_per_archive=Module["_ta_terminal_settings_get_log_file_count_per_archive"]=function(){return Module["asm"]["Wj"].apply(null,arguments)};var _ta_terminal_settings_get_log_retain_archive_count=Module["_ta_terminal_settings_get_log_retain_archive_count"]=function(){return Module["asm"]["Xj"].apply(null,arguments)};var _ta_terminal_settings_get_log_retain_file_count=Module["_ta_terminal_settings_get_log_retain_file_count"]=function(){return Module["asm"]["Yj"].apply(null,arguments)};var _ta_terminal_settings_get_manufacturer_flags=Module["_ta_terminal_settings_get_manufacturer_flags"]=function(){return Module["asm"]["Zj"].apply(null,arguments)};var _ta_terminal_settings_get_persistent_state=Module["_ta_terminal_settings_get_persistent_state"]=function(){return Module["asm"]["_j"].apply(null,arguments)};var _ta_terminal_settings_get_proceed_timeout=Module["_ta_terminal_settings_get_proceed_timeout"]=function(){return Module["asm"]["$j"].apply(null,arguments)};var _ta_terminal_settings_get_protocol_type=Module["_ta_terminal_settings_get_protocol_type"]=function(){return Module["asm"]["ak"].apply(null,arguments)};var _ta_terminal_settings_get_request_repetition=Module["_ta_terminal_settings_get_request_repetition"]=function(){return Module["asm"]["bk"].apply(null,arguments)};var _ta_terminal_settings_get_saferpay_base_url=Module["_ta_terminal_settings_get_saferpay_base_url"]=function(){return Module["asm"]["ck"].apply(null,arguments)};var _ta_terminal_settings_get_saferpay_credentials=Module["_ta_terminal_settings_get_saferpay_credentials"]=function(){return Module["asm"]["dk"].apply(null,arguments)};var _ta_terminal_settings_get_saferpay_customer_id=Module["_ta_terminal_settings_get_saferpay_customer_id"]=function(){return Module["asm"]["ek"].apply(null,arguments)};var _ta_terminal_settings_get_saferpay_terminal_id=Module["_ta_terminal_settings_get_saferpay_terminal_id"]=function(){return Module["asm"]["fk"].apply(null,arguments)};var _ta_terminal_settings_get_terminal_id=Module["_ta_terminal_settings_get_terminal_id"]=function(){return Module["asm"]["gk"].apply(null,arguments)};var _ta_terminal_settings_is_allow_closed_card_insert=Module["_ta_terminal_settings_is_allow_closed_card_insert"]=function(){return Module["asm"]["hk"].apply(null,arguments)};var _ta_terminal_settings_is_auto_commit=Module["_ta_terminal_settings_is_auto_commit"]=function(){return Module["asm"]["ik"].apply(null,arguments)};var _ta_terminal_settings_is_auto_shift_management=Module["_ta_terminal_settings_is_auto_shift_management"]=function(){return Module["asm"]["jk"].apply(null,arguments)};var _ta_terminal_settings_is_auto_shutter_management=Module["_ta_terminal_settings_is_auto_shutter_management"]=function(){return Module["asm"]["kk"].apply(null,arguments)};var _ta_terminal_settings_is_dcc=Module["_ta_terminal_settings_is_dcc"]=function(){return Module["asm"]["lk"].apply(null,arguments)};var _ta_terminal_settings_is_enabled_keep_alive=Module["_ta_terminal_settings_is_enabled_keep_alive"]=function(){return Module["asm"]["mk"].apply(null,arguments)};var _ta_terminal_settings_is_fast_ntf_mode=Module["_ta_terminal_settings_is_fast_ntf_mode"]=function(){return Module["asm"]["nk"].apply(null,arguments)};var _ta_terminal_settings_is_fetch_brands=Module["_ta_terminal_settings_is_fetch_brands"]=function(){return Module["asm"]["ok"].apply(null,arguments)};var _ta_terminal_settings_is_partial_approval=Module["_ta_terminal_settings_is_partial_approval"]=function(){return Module["asm"]["pk"].apply(null,arguments)};var _ta_terminal_settings_is_tip_allowed=Module["_ta_terminal_settings_is_tip_allowed"]=function(){return Module["asm"]["qk"].apply(null,arguments)};var _ta_terminal_settings_late_checkin_timeout=Module["_ta_terminal_settings_late_checkin_timeout"]=function(){return Module["asm"]["rk"].apply(null,arguments)};var _ta_terminal_settings_set_allow_closed_card_insert=Module["_ta_terminal_settings_set_allow_closed_card_insert"]=function(){return Module["asm"]["sk"].apply(null,arguments)};var _ta_terminal_settings_set_auto_commit=Module["_ta_terminal_settings_set_auto_commit"]=function(){return Module["asm"]["tk"].apply(null,arguments)};var _ta_terminal_settings_set_auto_shift_management=Module["_ta_terminal_settings_set_auto_shift_management"]=function(){return Module["asm"]["uk"].apply(null,arguments)};var _ta_terminal_settings_set_auto_shutter_management=Module["_ta_terminal_settings_set_auto_shutter_management"]=function(){return Module["asm"]["vk"].apply(null,arguments)};var _ta_terminal_settings_set_broadcast_interface=Module["_ta_terminal_settings_set_broadcast_interface"]=function(){return Module["asm"]["wk"].apply(null,arguments)};var _ta_terminal_settings_set_card_insertion_timeout=Module["_ta_terminal_settings_set_card_insertion_timeout"]=function(){return Module["asm"]["xk"].apply(null,arguments)};var _ta_terminal_settings_set_card_removal_timeout=Module["_ta_terminal_settings_set_card_removal_timeout"]=function(){return Module["asm"]["yk"].apply(null,arguments)};var _ta_terminal_settings_set_commit_timeout=Module["_ta_terminal_settings_set_commit_timeout"]=function(){return Module["asm"]["zk"].apply(null,arguments)};var _ta_terminal_settings_set_connection_ip_port=Module["_ta_terminal_settings_set_connection_ip_port"]=function(){return Module["asm"]["Ak"].apply(null,arguments)};var _ta_terminal_settings_set_connection_ip_string=Module["_ta_terminal_settings_set_connection_ip_string"]=function(){return Module["asm"]["Bk"].apply(null,arguments)};var _ta_terminal_settings_set_connection_mode=Module["_ta_terminal_settings_set_connection_mode"]=function(){return Module["asm"]["Ck"].apply(null,arguments)};var _ta_terminal_settings_set_dcc=Module["_ta_terminal_settings_set_dcc"]=function(){return Module["asm"]["Dk"].apply(null,arguments)};var _ta_terminal_settings_set_enabled_keep_alive=Module["_ta_terminal_settings_set_enabled_keep_alive"]=function(){return Module["asm"]["Ek"].apply(null,arguments)};var _ta_terminal_settings_set_fast_ntf_mode=Module["_ta_terminal_settings_set_fast_ntf_mode"]=function(){return Module["asm"]["Fk"].apply(null,arguments)};var _ta_terminal_settings_set_fetch_brands=Module["_ta_terminal_settings_set_fetch_brands"]=function(){return Module["asm"]["Gk"].apply(null,arguments)};var _ta_terminal_settings_set_guides=Module["_ta_terminal_settings_set_guides"]=function(){return Module["asm"]["Hk"].apply(null,arguments)};var _ta_terminal_settings_set_integrator_id=Module["_ta_terminal_settings_set_integrator_id"]=function(){return Module["asm"]["Ik"].apply(null,arguments)};var _ta_terminal_settings_set_late_checkin_timeout=Module["_ta_terminal_settings_set_late_checkin_timeout"]=function(){return Module["asm"]["Jk"].apply(null,arguments)};var _ta_terminal_settings_set_log_dir=Module["_ta_terminal_settings_set_log_dir"]=function(){return Module["asm"]["Kk"].apply(null,arguments)};var _ta_terminal_settings_set_log_file_count_per_archive=Module["_ta_terminal_settings_set_log_file_count_per_archive"]=function(){return Module["asm"]["Lk"].apply(null,arguments)};var _ta_terminal_settings_set_log_retain_archive_count=Module["_ta_terminal_settings_set_log_retain_archive_count"]=function(){return Module["asm"]["Mk"].apply(null,arguments)};var _ta_terminal_settings_set_log_retain_file_count=Module["_ta_terminal_settings_set_log_retain_file_count"]=function(){return Module["asm"]["Nk"].apply(null,arguments)};var _ta_terminal_settings_set_manufacturer_flags=Module["_ta_terminal_settings_set_manufacturer_flags"]=function(){return Module["asm"]["Ok"].apply(null,arguments)};var _ta_terminal_settings_set_partial_approval=Module["_ta_terminal_settings_set_partial_approval"]=function(){return Module["asm"]["Pk"].apply(null,arguments)};var _ta_terminal_settings_set_persistent_state=Module["_ta_terminal_settings_set_persistent_state"]=function(){return Module["asm"]["Qk"].apply(null,arguments)};var _ta_terminal_settings_set_proceed_timeout=Module["_ta_terminal_settings_set_proceed_timeout"]=function(){return Module["asm"]["Rk"].apply(null,arguments)};var _ta_terminal_settings_set_protocol_type=Module["_ta_terminal_settings_set_protocol_type"]=function(){return Module["asm"]["Sk"].apply(null,arguments)};var _ta_terminal_settings_set_request_repetition=Module["_ta_terminal_settings_set_request_repetition"]=function(){return Module["asm"]["Tk"].apply(null,arguments)};var _ta_terminal_settings_set_saferpay_base_url=Module["_ta_terminal_settings_set_saferpay_base_url"]=function(){return Module["asm"]["Uk"].apply(null,arguments)};var _ta_terminal_settings_set_saferpay_credentials=Module["_ta_terminal_settings_set_saferpay_credentials"]=function(){return Module["asm"]["Vk"].apply(null,arguments)};var _ta_terminal_settings_set_saferpay_customer_id=Module["_ta_terminal_settings_set_saferpay_customer_id"]=function(){return Module["asm"]["Wk"].apply(null,arguments)};var _ta_terminal_settings_set_saferpay_terminal_id=Module["_ta_terminal_settings_set_saferpay_terminal_id"]=function(){return Module["asm"]["Xk"].apply(null,arguments)};var _ta_terminal_settings_set_terminal_id=Module["_ta_terminal_settings_set_terminal_id"]=function(){return Module["asm"]["Yk"].apply(null,arguments)};var _ta_terminal_settings_set_tip_allowed=Module["_ta_terminal_settings_set_tip_allowed"]=function(){return Module["asm"]["Zk"].apply(null,arguments)};var _ta_terminal_show_dialog_async=Module["_ta_terminal_show_dialog_async"]=function(){return Module["asm"]["_k"].apply(null,arguments)};var _ta_terminal_show_signature_capture_async=Module["_ta_terminal_show_signature_capture_async"]=function(){return Module["asm"]["$k"].apply(null,arguments)};var _ta_terminal_software_update_async=Module["_ta_terminal_software_update_async"]=function(){return Module["asm"]["al"].apply(null,arguments)};var _ta_terminal_start_checkout_async=Module["_ta_terminal_start_checkout_async"]=function(){return Module["asm"]["bl"].apply(null,arguments)};var _ta_terminal_status_get_card_data=Module["_ta_terminal_status_get_card_data"]=function(){return Module["asm"]["cl"].apply(null,arguments)};var _ta_terminal_status_get_card_reader_status=Module["_ta_terminal_status_get_card_reader_status"]=function(){return Module["asm"]["dl"].apply(null,arguments)};var _ta_terminal_status_get_connection_status=Module["_ta_terminal_status_get_connection_status"]=function(){return Module["asm"]["el"].apply(null,arguments)};var _ta_terminal_status_get_display_content=Module["_ta_terminal_status_get_display_content"]=function(){return Module["asm"]["fl"].apply(null,arguments)};var _ta_terminal_status_get_final_amount=Module["_ta_terminal_status_get_final_amount"]=function(){return Module["asm"]["gl"].apply(null,arguments)};var _ta_terminal_status_get_management_status=Module["_ta_terminal_status_get_management_status"]=function(){return Module["asm"]["hl"].apply(null,arguments)};var _ta_terminal_status_get_receipt_information=Module["_ta_terminal_status_get_receipt_information"]=function(){return Module["asm"]["il"].apply(null,arguments)};var _ta_terminal_status_get_sleep_mode_status=Module["_ta_terminal_status_get_sleep_mode_status"]=function(){return Module["asm"]["jl"].apply(null,arguments)};var _ta_terminal_status_get_sw_update_available=Module["_ta_terminal_status_get_sw_update_available"]=function(){return Module["asm"]["kl"].apply(null,arguments)};var _ta_terminal_status_get_transaction_status=Module["_ta_terminal_status_get_transaction_status"]=function(){return Module["asm"]["ll"].apply(null,arguments)};var _ta_terminal_system_information_async=Module["_ta_terminal_system_information_async"]=function(){return Module["asm"]["ml"].apply(null,arguments)};var _ta_terminal_transaction2_async=Module["_ta_terminal_transaction2_async"]=function(){return Module["asm"]["nl"].apply(null,arguments)};var _ta_terminal_transaction_async=Module["_ta_terminal_transaction_async"]=function(){return Module["asm"]["ol"].apply(null,arguments)};var _ta_terminal_transaction_cashback_async=Module["_ta_terminal_transaction_cashback_async"]=function(){return Module["asm"]["pl"].apply(null,arguments)};var _ta_terminal_transaction_tip_async=Module["_ta_terminal_transaction_tip_async"]=function(){return Module["asm"]["ql"].apply(null,arguments)};var _ta_theme_e2s=Module["_ta_theme_e2s"]=function(){return Module["asm"]["rl"].apply(null,arguments)};var _ta_tim_error_get_additional_error_info=Module["_ta_tim_error_get_additional_error_info"]=function(){return Module["asm"]["sl"].apply(null,arguments)};var _ta_tim_error_get_error_message=Module["_ta_tim_error_get_error_message"]=function(){return Module["asm"]["tl"].apply(null,arguments)};var _ta_tim_error_get_native_error=Module["_ta_tim_error_get_native_error"]=function(){return Module["asm"]["ul"].apply(null,arguments)};var _ta_tim_error_get_ppinfo=Module["_ta_tim_error_get_ppinfo"]=function(){return Module["asm"]["vl"].apply(null,arguments)};var _ta_tim_error_get_print_data=Module["_ta_tim_error_get_print_data"]=function(){return Module["asm"]["wl"].apply(null,arguments)};var _ta_tim_error_get_rejected_basket=Module["_ta_tim_error_get_rejected_basket"]=function(){return Module["asm"]["xl"].apply(null,arguments)};var _ta_tim_error_get_result_code=Module["_ta_tim_error_get_result_code"]=function(){return Module["asm"]["yl"].apply(null,arguments)};var _ta_timedate_create=Module["_ta_timedate_create"]=function(){return Module["asm"]["zl"].apply(null,arguments)};var _ta_timedate_get_values=Module["_ta_timedate_get_values"]=function(){return Module["asm"]["Al"].apply(null,arguments)};var _ta_total_get_amount_sum=Module["_ta_total_get_amount_sum"]=function(){return Module["asm"]["Bl"].apply(null,arguments)};var _ta_total_get_amount_sum_other=Module["_ta_total_get_amount_sum_other"]=function(){return Module["asm"]["Cl"].apply(null,arguments)};var _ta_total_get_amount_sum_tip=Module["_ta_total_get_amount_sum_tip"]=function(){return Module["asm"]["Dl"].apply(null,arguments)};var _ta_total_get_count=Module["_ta_total_get_count"]=function(){return Module["asm"]["El"].apply(null,arguments)};var _ta_total_get_currency=Module["_ta_total_get_currency"]=function(){return Module["asm"]["Fl"].apply(null,arguments)};var _ta_total_get_exponent=Module["_ta_total_get_exponent"]=function(){return Module["asm"]["Gl"].apply(null,arguments)};var _ta_total_get_trx_details=Module["_ta_total_get_trx_details"]=function(){return Module["asm"]["Hl"].apply(null,arguments)};var _ta_transaction_data_copy=Module["_ta_transaction_data_copy"]=function(){return Module["asm"]["Il"].apply(null,arguments)};var _ta_transaction_data_create=Module["_ta_transaction_data_create"]=function(){return Module["asm"]["Jl"].apply(null,arguments)};var _ta_transaction_data_get_acq_id=Module["_ta_transaction_data_get_acq_id"]=function(){return Module["asm"]["Kl"].apply(null,arguments)};var _ta_transaction_data_get_acq_trans_ref=Module["_ta_transaction_data_get_acq_trans_ref"]=function(){return Module["asm"]["Ll"].apply(null,arguments)};var _ta_transaction_data_get_app_expiration_date=Module["_ta_transaction_data_get_app_expiration_date"]=function(){return Module["asm"]["Ml"].apply(null,arguments)};var _ta_transaction_data_get_card_ref=Module["_ta_transaction_data_get_card_ref"]=function(){return Module["asm"]["Nl"].apply(null,arguments)};var _ta_transaction_data_get_cvc2=Module["_ta_transaction_data_get_cvc2"]=function(){return Module["asm"]["Ol"].apply(null,arguments)};var _ta_transaction_data_get_dcc_allowed=Module["_ta_transaction_data_get_dcc_allowed"]=function(){return Module["asm"]["Pl"].apply(null,arguments)};var _ta_transaction_data_get_deferred_auth_ind=Module["_ta_transaction_data_get_deferred_auth_ind"]=function(){return Module["asm"]["Ql"].apply(null,arguments)};var _ta_transaction_data_get_ecr_seq_counter=Module["_ta_transaction_data_get_ecr_seq_counter"]=function(){return Module["asm"]["Rl"].apply(null,arguments)};var _ta_transaction_data_get_installment_allowed=Module["_ta_transaction_data_get_installment_allowed"]=function(){return Module["asm"]["Sl"].apply(null,arguments)};var _ta_transaction_data_get_language=Module["_ta_transaction_data_get_language"]=function(){return Module["asm"]["Tl"].apply(null,arguments)};var _ta_transaction_data_get_multi_currency_flag=Module["_ta_transaction_data_get_multi_currency_flag"]=function(){return Module["asm"]["Ul"].apply(null,arguments)};var _ta_transaction_data_get_ngv_clearing_delay=Module["_ta_transaction_data_get_ngv_clearing_delay"]=function(){return Module["asm"]["Vl"].apply(null,arguments)};var _ta_transaction_data_get_ngv_mode=Module["_ta_transaction_data_get_ngv_mode"]=function(){return Module["asm"]["Wl"].apply(null,arguments)};var _ta_transaction_data_get_partial_approval_allowed=Module["_ta_transaction_data_get_partial_approval_allowed"]=function(){return Module["asm"]["Xl"].apply(null,arguments)};var _ta_transaction_data_get_phone_auth_code=Module["_ta_transaction_data_get_phone_auth_code"]=function(){return Module["asm"]["Yl"].apply(null,arguments)};var _ta_transaction_data_get_saferpay_alias=Module["_ta_transaction_data_get_saferpay_alias"]=function(){return Module["asm"]["Zl"].apply(null,arguments)};var _ta_transaction_data_get_saferpay_recurring=Module["_ta_transaction_data_get_saferpay_recurring"]=function(){return Module["asm"]["_l"].apply(null,arguments)};var _ta_transaction_data_get_six_trx_ref_num=Module["_ta_transaction_data_get_six_trx_ref_num"]=function(){return Module["asm"]["$l"].apply(null,arguments)};var _ta_transaction_data_get_sub_transactions=Module["_ta_transaction_data_get_sub_transactions"]=function(){return Module["asm"]["am"].apply(null,arguments)};var _ta_transaction_data_get_tip_allowed=Module["_ta_transaction_data_get_tip_allowed"]=function(){return Module["asm"]["bm"].apply(null,arguments)};var _ta_transaction_data_get_trans_ref=Module["_ta_transaction_data_get_trans_ref"]=function(){return Module["asm"]["cm"].apply(null,arguments)};var _ta_transaction_data_get_trans_seq=Module["_ta_transaction_data_get_trans_seq"]=function(){return Module["asm"]["dm"].apply(null,arguments)};var _ta_transaction_data_get_transaction_reason=Module["_ta_transaction_data_get_transaction_reason"]=function(){return Module["asm"]["em"].apply(null,arguments)};var _ta_transaction_data_get_trm_trans_ref=Module["_ta_transaction_data_get_trm_trans_ref"]=function(){return Module["asm"]["fm"].apply(null,arguments)};var _ta_transaction_data_get_trx_original_date=Module["_ta_transaction_data_get_trx_original_date"]=function(){return Module["asm"]["gm"].apply(null,arguments)};var _ta_transaction_data_set_acq_id=Module["_ta_transaction_data_set_acq_id"]=function(){return Module["asm"]["hm"].apply(null,arguments)};var _ta_transaction_data_set_acq_trans_ref=Module["_ta_transaction_data_set_acq_trans_ref"]=function(){return Module["asm"]["im"].apply(null,arguments)};var _ta_transaction_data_set_app_expiration_date=Module["_ta_transaction_data_set_app_expiration_date"]=function(){return Module["asm"]["jm"].apply(null,arguments)};var _ta_transaction_data_set_card_ref=Module["_ta_transaction_data_set_card_ref"]=function(){return Module["asm"]["km"].apply(null,arguments)};var _ta_transaction_data_set_cvc2=Module["_ta_transaction_data_set_cvc2"]=function(){return Module["asm"]["lm"].apply(null,arguments)};var _ta_transaction_data_set_dcc_allowed=Module["_ta_transaction_data_set_dcc_allowed"]=function(){return Module["asm"]["mm"].apply(null,arguments)};var _ta_transaction_data_set_deferred_auth_ind=Module["_ta_transaction_data_set_deferred_auth_ind"]=function(){return Module["asm"]["nm"].apply(null,arguments)};var _ta_transaction_data_set_ecr_seq_counter=Module["_ta_transaction_data_set_ecr_seq_counter"]=function(){return Module["asm"]["om"].apply(null,arguments)};var _ta_transaction_data_set_installment_allowed=Module["_ta_transaction_data_set_installment_allowed"]=function(){return Module["asm"]["pm"].apply(null,arguments)};var _ta_transaction_data_set_language=Module["_ta_transaction_data_set_language"]=function(){return Module["asm"]["qm"].apply(null,arguments)};var _ta_transaction_data_set_multi_currency_flag=Module["_ta_transaction_data_set_multi_currency_flag"]=function(){return Module["asm"]["rm"].apply(null,arguments)};var _ta_transaction_data_set_ngv_clearing_delay=Module["_ta_transaction_data_set_ngv_clearing_delay"]=function(){return Module["asm"]["sm"].apply(null,arguments)};var _ta_transaction_data_set_ngv_mode=Module["_ta_transaction_data_set_ngv_mode"]=function(){return Module["asm"]["tm"].apply(null,arguments)};var _ta_transaction_data_set_partial_approval_allowed=Module["_ta_transaction_data_set_partial_approval_allowed"]=function(){return Module["asm"]["um"].apply(null,arguments)};var _ta_transaction_data_set_phone_auth_code=Module["_ta_transaction_data_set_phone_auth_code"]=function(){return Module["asm"]["vm"].apply(null,arguments)};var _ta_transaction_data_set_saferpay_alias=Module["_ta_transaction_data_set_saferpay_alias"]=function(){return Module["asm"]["wm"].apply(null,arguments)};var _ta_transaction_data_set_saferpay_recurring=Module["_ta_transaction_data_set_saferpay_recurring"]=function(){return Module["asm"]["xm"].apply(null,arguments)};var _ta_transaction_data_set_six_trx_ref_num=Module["_ta_transaction_data_set_six_trx_ref_num"]=function(){return Module["asm"]["ym"].apply(null,arguments)};var _ta_transaction_data_set_sub_transactions=Module["_ta_transaction_data_set_sub_transactions"]=function(){return Module["asm"]["zm"].apply(null,arguments)};var _ta_transaction_data_set_tip_allowed=Module["_ta_transaction_data_set_tip_allowed"]=function(){return Module["asm"]["Am"].apply(null,arguments)};var _ta_transaction_data_set_trans_ref=Module["_ta_transaction_data_set_trans_ref"]=function(){return Module["asm"]["Bm"].apply(null,arguments)};var _ta_transaction_data_set_trans_seq=Module["_ta_transaction_data_set_trans_seq"]=function(){return Module["asm"]["Cm"].apply(null,arguments)};var _ta_transaction_data_set_transaction_reason=Module["_ta_transaction_data_set_transaction_reason"]=function(){return Module["asm"]["Dm"].apply(null,arguments)};var _ta_transaction_data_set_trm_trans_ref=Module["_ta_transaction_data_set_trm_trans_ref"]=function(){return Module["asm"]["Em"].apply(null,arguments)};var _ta_transaction_data_set_trx_original_date=Module["_ta_transaction_data_set_trx_original_date"]=function(){return Module["asm"]["Fm"].apply(null,arguments)};var _ta_transaction_information_get_account_number=Module["_ta_transaction_information_get_account_number"]=function(){return Module["asm"]["Gm"].apply(null,arguments)};var _ta_transaction_information_get_acq=Module["_ta_transaction_information_get_acq"]=function(){return Module["asm"]["Hm"].apply(null,arguments)};var _ta_transaction_information_get_acq_trans_ref=Module["_ta_transaction_information_get_acq_trans_ref"]=function(){return Module["asm"]["Im"].apply(null,arguments)};var _ta_transaction_information_get_auth_code=Module["_ta_transaction_information_get_auth_code"]=function(){return Module["asm"]["Jm"].apply(null,arguments)};var _ta_transaction_information_get_card_id=Module["_ta_transaction_information_get_card_id"]=function(){return Module["asm"]["Km"].apply(null,arguments)};var _ta_transaction_information_get_cardholder_name=Module["_ta_transaction_information_get_cardholder_name"]=function(){return Module["asm"]["Lm"].apply(null,arguments)};var _ta_transaction_information_get_client_identifier=Module["_ta_transaction_information_get_client_identifier"]=function(){return Module["asm"]["Mm"].apply(null,arguments)};var _ta_transaction_information_get_cvm=Module["_ta_transaction_information_get_cvm"]=function(){return Module["asm"]["Nm"].apply(null,arguments)};var _ta_transaction_information_get_merchant_action=Module["_ta_transaction_information_get_merchant_action"]=function(){return Module["asm"]["Om"].apply(null,arguments)};var _ta_transaction_information_get_ngv_used_flag=Module["_ta_transaction_information_get_ngv_used_flag"]=function(){return Module["asm"]["Pm"].apply(null,arguments)};var _ta_transaction_information_get_person_oid=Module["_ta_transaction_information_get_person_oid"]=function(){return Module["asm"]["Qm"].apply(null,arguments)};var _ta_transaction_information_get_pos_entry_mode=Module["_ta_transaction_information_get_pos_entry_mode"]=function(){return Module["asm"]["Rm"].apply(null,arguments)};var _ta_transaction_information_get_signature_information=Module["_ta_transaction_information_get_signature_information"]=function(){return Module["asm"]["Sm"].apply(null,arguments)};var _ta_transaction_information_get_six_trx_ref_num=Module["_ta_transaction_information_get_six_trx_ref_num"]=function(){return Module["asm"]["Tm"].apply(null,arguments)};var _ta_transaction_information_get_time_stamp=Module["_ta_transaction_information_get_time_stamp"]=function(){return Module["asm"]["Um"].apply(null,arguments)};var _ta_transaction_information_get_trans_ref=Module["_ta_transaction_information_get_trans_ref"]=function(){return Module["asm"]["Vm"].apply(null,arguments)};var _ta_transaction_information_get_trans_seq=Module["_ta_transaction_information_get_trans_seq"]=function(){return Module["asm"]["Wm"].apply(null,arguments)};var _ta_transaction_information_get_trm_trans_ref=Module["_ta_transaction_information_get_trm_trans_ref"]=function(){return Module["asm"]["Xm"].apply(null,arguments)};var _ta_transaction_reason_e2s=Module["_ta_transaction_reason_e2s"]=function(){return Module["asm"]["Ym"].apply(null,arguments)};var _ta_transaction_request_copy=Module["_ta_transaction_request_copy"]=function(){return Module["asm"]["Zm"].apply(null,arguments)};var _ta_transaction_request_create=Module["_ta_transaction_request_create"]=function(){return Module["asm"]["_m"].apply(null,arguments)};var _ta_transaction_request_get_additional_info=Module["_ta_transaction_request_get_additional_info"]=function(){return Module["asm"]["$m"].apply(null,arguments)};var _ta_transaction_request_get_amount=Module["_ta_transaction_request_get_amount"]=function(){return Module["asm"]["an"].apply(null,arguments)};var _ta_transaction_request_get_amount_discount=Module["_ta_transaction_request_get_amount_discount"]=function(){return Module["asm"]["bn"].apply(null,arguments)};var _ta_transaction_request_get_amount_other=Module["_ta_transaction_request_get_amount_other"]=function(){return Module["asm"]["cn"].apply(null,arguments)};var _ta_transaction_request_get_amount_tip=Module["_ta_transaction_request_get_amount_tip"]=function(){return Module["asm"]["dn"].apply(null,arguments)};var _ta_transaction_request_get_basket=Module["_ta_transaction_request_get_basket"]=function(){return Module["asm"]["en"].apply(null,arguments)};var _ta_transaction_request_get_customer_data=Module["_ta_transaction_request_get_customer_data"]=function(){return Module["asm"]["fn"].apply(null,arguments)};var _ta_transaction_request_get_loyalty_coupon_list=Module["_ta_transaction_request_get_loyalty_coupon_list"]=function(){return Module["asm"]["gn"].apply(null,arguments)};var _ta_transaction_request_get_merchant_options=Module["_ta_transaction_request_get_merchant_options"]=function(){return Module["asm"]["hn"].apply(null,arguments)};var _ta_transaction_request_get_retain_card=Module["_ta_transaction_request_get_retain_card"]=function(){return Module["asm"]["jn"].apply(null,arguments)};var _ta_transaction_request_get_transaction_data=Module["_ta_transaction_request_get_transaction_data"]=function(){return Module["asm"]["kn"].apply(null,arguments)};var _ta_transaction_request_get_user_id=Module["_ta_transaction_request_get_user_id"]=function(){return Module["asm"]["ln"].apply(null,arguments)};var _ta_transaction_request_set_additional_info=Module["_ta_transaction_request_set_additional_info"]=function(){return Module["asm"]["mn"].apply(null,arguments)};var _ta_transaction_request_set_amount=Module["_ta_transaction_request_set_amount"]=function(){return Module["asm"]["nn"].apply(null,arguments)};var _ta_transaction_request_set_amount_discount=Module["_ta_transaction_request_set_amount_discount"]=function(){return Module["asm"]["on"].apply(null,arguments)};var _ta_transaction_request_set_amount_other=Module["_ta_transaction_request_set_amount_other"]=function(){return Module["asm"]["pn"].apply(null,arguments)};var _ta_transaction_request_set_amount_tip=Module["_ta_transaction_request_set_amount_tip"]=function(){return Module["asm"]["qn"].apply(null,arguments)};var _ta_transaction_request_set_basket=Module["_ta_transaction_request_set_basket"]=function(){return Module["asm"]["rn"].apply(null,arguments)};var _ta_transaction_request_set_customer_data=Module["_ta_transaction_request_set_customer_data"]=function(){return Module["asm"]["sn"].apply(null,arguments)};var _ta_transaction_request_set_loyalty_coupon_list=Module["_ta_transaction_request_set_loyalty_coupon_list"]=function(){return Module["asm"]["tn"].apply(null,arguments)};var _ta_transaction_request_set_merchant_options=Module["_ta_transaction_request_set_merchant_options"]=function(){return Module["asm"]["un"].apply(null,arguments)};var _ta_transaction_request_set_retain_card=Module["_ta_transaction_request_set_retain_card"]=function(){return Module["asm"]["vn"].apply(null,arguments)};var _ta_transaction_request_set_transaction_data=Module["_ta_transaction_request_set_transaction_data"]=function(){return Module["asm"]["wn"].apply(null,arguments)};var _ta_transaction_request_set_user_id=Module["_ta_transaction_request_set_user_id"]=function(){return Module["asm"]["xn"].apply(null,arguments)};var _ta_transaction_response_get_additional_info=Module["_ta_transaction_response_get_additional_info"]=function(){return Module["asm"]["yn"].apply(null,arguments)};var _ta_transaction_response_get_amount=Module["_ta_transaction_response_get_amount"]=function(){return Module["asm"]["zn"].apply(null,arguments)};var _ta_transaction_response_get_amount_dcc=Module["_ta_transaction_response_get_amount_dcc"]=function(){return Module["asm"]["An"].apply(null,arguments)};var _ta_transaction_response_get_amount_due=Module["_ta_transaction_response_get_amount_due"]=function(){return Module["asm"]["Bn"].apply(null,arguments)};var _ta_transaction_response_get_amount_loyalty_cashback=Module["_ta_transaction_response_get_amount_loyalty_cashback"]=function(){return Module["asm"]["Cn"].apply(null,arguments)};var _ta_transaction_response_get_amount_other=Module["_ta_transaction_response_get_amount_other"]=function(){return Module["asm"]["Dn"].apply(null,arguments)};var _ta_transaction_response_get_amount_saldo=Module["_ta_transaction_response_get_amount_saldo"]=function(){return Module["asm"]["En"].apply(null,arguments)};var _ta_transaction_response_get_amount_tip=Module["_ta_transaction_response_get_amount_tip"]=function(){return Module["asm"]["Fn"].apply(null,arguments)};var _ta_transaction_response_get_basket=Module["_ta_transaction_response_get_basket"]=function(){return Module["asm"]["Gn"].apply(null,arguments)};var _ta_transaction_response_get_card_data=Module["_ta_transaction_response_get_card_data"]=function(){return Module["asm"]["Hn"].apply(null,arguments)};var _ta_transaction_response_get_dcc_disclaimer=Module["_ta_transaction_response_get_dcc_disclaimer"]=function(){return Module["asm"]["In"].apply(null,arguments)};var _ta_transaction_response_get_print_data=Module["_ta_transaction_response_get_print_data"]=function(){return Module["asm"]["Jn"].apply(null,arguments)};var _ta_transaction_response_get_transaction_information=Module["_ta_transaction_response_get_transaction_information"]=function(){return Module["asm"]["Kn"].apply(null,arguments)};var _ta_transaction_response_get_type=Module["_ta_transaction_response_get_type"]=function(){return Module["asm"]["Ln"].apply(null,arguments)};var _ta_transaction_response_needs_action=Module["_ta_transaction_response_needs_action"]=function(){return Module["asm"]["Mn"].apply(null,arguments)};var _ta_transaction_response_was_dcc=Module["_ta_transaction_response_was_dcc"]=function(){return Module["asm"]["Nn"].apply(null,arguments)};var _ta_transaction_response_was_partial_approved=Module["_ta_transaction_response_was_partial_approved"]=function(){return Module["asm"]["On"].apply(null,arguments)};var _ta_transaction_response_was_tip=Module["_ta_transaction_response_was_tip"]=function(){return Module["asm"]["Pn"].apply(null,arguments)};var _ta_transaction_status_e2s=Module["_ta_transaction_status_e2s"]=function(){return Module["asm"]["Qn"].apply(null,arguments)};var _ta_transaction_type_e2s=Module["_ta_transaction_type_e2s"]=function(){return Module["asm"]["Rn"].apply(null,arguments)};var _ta_trx_detail_get_aid=Module["_ta_trx_detail_get_aid"]=function(){return Module["asm"]["Sn"].apply(null,arguments)};var _ta_trx_detail_get_amount_sum=Module["_ta_trx_detail_get_amount_sum"]=function(){return Module["asm"]["Tn"].apply(null,arguments)};var _ta_trx_detail_get_amount_sum_other=Module["_ta_trx_detail_get_amount_sum_other"]=function(){return Module["asm"]["Un"].apply(null,arguments)};var _ta_trx_detail_get_amount_sum_tip=Module["_ta_trx_detail_get_amount_sum_tip"]=function(){return Module["asm"]["Vn"].apply(null,arguments)};var _ta_trx_detail_get_count=Module["_ta_trx_detail_get_count"]=function(){return Module["asm"]["Wn"].apply(null,arguments)};var _ta_trx_detail_get_dcc_flag=Module["_ta_trx_detail_get_dcc_flag"]=function(){return Module["asm"]["Xn"].apply(null,arguments)};var _ta_trx_detail_get_markup=Module["_ta_trx_detail_get_markup"]=function(){return Module["asm"]["Yn"].apply(null,arguments)};var _ta_trx_detail_get_markup_exponent=Module["_ta_trx_detail_get_markup_exponent"]=function(){return Module["asm"]["Zn"].apply(null,arguments)};var _ta_trx_detail_get_ngvused_flag=Module["_ta_trx_detail_get_ngvused_flag"]=function(){return Module["asm"]["_n"].apply(null,arguments)};var _ta_trx_detail_get_transaction_type=Module["_ta_trx_detail_get_transaction_type"]=function(){return Module["asm"]["$n"].apply(null,arguments)};var _ta_ultra_compact_receipt_formatter_create=Module["_ta_ultra_compact_receipt_formatter_create"]=function(){return Module["asm"]["ao"].apply(null,arguments)};var _ta_update_status_e2s=Module["_ta_update_status_e2s"]=function(){return Module["asm"]["bo"].apply(null,arguments)};var _ta_vas_checkout_information_get_loyalty_coupons=Module["_ta_vas_checkout_information_get_loyalty_coupons"]=function(){return Module["asm"]["co"].apply(null,arguments)};var _ta_vas_checkout_information_get_loyalty_information=Module["_ta_vas_checkout_information_get_loyalty_information"]=function(){return Module["asm"]["eo"].apply(null,arguments)};var _ta_vas_checkout_information_get_provide_basket=Module["_ta_vas_checkout_information_get_provide_basket"]=function(){return Module["asm"]["fo"].apply(null,arguments)};var _ta_vas_checkout_information_get_vas_information=Module["_ta_vas_checkout_information_get_vas_information"]=function(){return Module["asm"]["go"].apply(null,arguments)};var _ta_vas_checkout_information_get_vas_information_list_type=Module["_ta_vas_checkout_information_get_vas_information_list_type"]=function(){return Module["asm"]["ho"].apply(null,arguments)};var _ta_vas_info_list_type_e2s=Module["_ta_vas_info_list_type_e2s"]=function(){return Module["asm"]["io"].apply(null,arguments)};var _ta_vas_info_type_e2s=Module["_ta_vas_info_type_e2s"]=function(){return Module["asm"]["jo"].apply(null,arguments)};var _ta_vas_result_create=Module["_ta_vas_result_create"]=function(){return Module["asm"]["ko"].apply(null,arguments)};var _ta_vas_result_get_vas_information=Module["_ta_vas_result_get_vas_information"]=function(){return Module["asm"]["lo"].apply(null,arguments)};var _ta_vas_result_get_vas_information_list_type=Module["_ta_vas_result_get_vas_information_list_type"]=function(){return Module["asm"]["mo"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["oo"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["po"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["qo"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["no"].apply(null,arguments)};Module["asm"]=asm;Module["cwrap"]=cwrap;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();onTimApiReady=undefined;onTimApiPublishLogRecord=undefined;onTimApiLog=undefined;Module.onRuntimeInitialized=function(){var values=timapi.constants.ResultCode.values().map(function(each){return[each.name,each]});values.push(["invalidArgument",new timapi.constants.EnumValue("invalidArgument",values.length+1)]);values.push(["outOfMemory",new timapi.constants.EnumValue("outOfMemory",values.length+1)]);values.push(["systemError",new timapi.constants.EnumValue("systemError",values.length+1)]);values.push(["invalidState",new timapi.constants.EnumValue("invalidState",values.length+1)]);timapi.constants.ResultCode=new timapi.constants.Enumeration(values);timapi.log("TimApi "+timapi.getApiVersion()+" Ready");timapi._TimApiHelpers.getFunction("__six_internal_test")(5);if(onTimApiReady){onTimApiReady()}else{let error="Global callback onTimApiReady is undefined. "+'Add "onTimApiReady = function() { ... }" to your script file to use TIM API';timapi.log(error);throw error}};timapi={getApiVersion:function(){let t=timapi._TimApiHelpers;if(!t.getApiVersion){t.getApiVersion=t.getFunction2("ta_terminal_get_tim_api_version","string")}return t.getApiVersion()},log:function(message){if(onTimApiLog){onTimApiLog(message)}else{console.log(message)}}};timapi.constants={};timapi.constants.EnumValue=class{constructor(name,value){this.name=name;this._value=value;Object.freeze(this)}toString(){return this.name}};timapi.constants.Enumeration=class{constructor(names,startValue){let _this=this;let value=startValue!==undefined?startValue:1;names.forEach(function(name){if(Array.isArray(name)){_this[name[0]]=name[1]}else{_this[name]=new timapi.constants.EnumValue(name,value++)}});Object.freeze(this)}values(){return Object.values(this)}toString(){return`Enumeration(${this.values().length} entries)`}};timapi.TimException=class extends Error{constructor(resultCode,message){if(message!==undefined){super(`timapi.TimException(${resultCode}, message=${message})`)}else{super(`timapi.TimException(${resultCode})`)}this.resultCode=resultCode;this.errorText=String(resultCode);if(message){this.errorText=`${message} (${resultCode})`}this.nativeError=undefined;this.ppInfo=undefined;this.additionalErrorInfo=undefined;this.printData=undefined;this.rejectedBasket=undefined;this.stack;if(typeof jsStackTrace!==undefined){this.stack=jsStackTrace()}}toString(){let s=`${this.constructor.name}(`+`resultCode=${this.resultCode}`+` errorText=${this.errorText}`+` nativeError=${this.nativeError}`+` ppInfo=${this.ppInfo}`+` additionalErrorInfo=${this.additionalErrorInfo}`+` printData=${this.printData}`+` rejectedBasket=${this.rejectedBasket}`;if(this.stack){s=s+" \n stack: "+this.stack}s=s+")";return s}static assert(resultCode){if(resultCode!=timapi.constants.ResultCode.ok._value){throw new timapi.TimException(timapi._TimApiHelpers.enumByValue(timapi.constants.ResultCode,resultCode))}}};Object.defineProperty(timapi.TimException,"name",{value:"timapi.TimException"});timapi._TimApiHelpers={getApiVersion:undefined,getFunction:function(name,argTypeAfterFirst){let f=Module.cwrap(name,"number",["number"].concat(argTypeAfterFirst||[]));if(!f){throw"Missing binding for "+name}return f},getFunction2:function(name,returnType,args){let f=undefined;if(Array.isArray(returnType)){f=Module.cwrap(name,"undefined",returnType)}else{f=Module.cwrap(name,returnType||"undefined",args||[])}if(!f){throw"Missing binding for "+name}return f},enumByValue:function(enumeration,value){return enumeration.values().filter(function(each){return each._value==value})[0]},currencyByValue:function(enumeration,value){return enumeration.values().filter(function(each){return each._wav==value})[0]},enumSetToEnumBitcode:function(enumSet){let enumBitSet=0;for(let enumItem of enumSet){enumBitSet+=Math.pow(2,enumItem._value-1)}return enumBitSet},enumBitcodeToEnumSet:function(enumeration,enumBitSet){let enumSet=new Set;for(let enumItem of enumeration.values()){if(enumBitSet&Math.pow(2,enumItem._value-1)){enumSet.add(enumItem)}}return enumSet},boolConvertJsToC:function(jsBool){if(jsBool===true){return 1}else if(jsBool===false){return 2}return 0},boolConvertCToJs:function(cBool){if(cBool===1){return true}else if(cBool===2){return false}return undefined},getColorStruct:function(color){let mem_color;try{mem_color=Module._malloc(3);if(mem_color!=0){Module.setValue(mem_color,color.r,"i8");Module.setValue(mem_color+1,color.g,"i8");Module.setValue(mem_color+2,color.b,"i8")}}catch(err){if(mem_color)Module._free(mem_color);throw err}return mem_color},alingMemoryAddress(address){return Math.round(address/4)*4},helpers:undefined,prepareHelpers:function(){let h=timapi._TimApiHelpers.helpers;if(!h){h=timapi._TimApiHelpers.helpers={ebv:timapi._TimApiHelpers.enumByValue,cbv:timapi._TimApiHelpers.currencyByValue,eSet_t_eBit:timapi._TimApiHelpers.enumSetToEnumBitcode,eBit_t_eSet:timapi._TimApiHelpers.enumBitcodeToEnumSet,bc_js_t_c:timapi._TimApiHelpers.boolConvertJsToC,bc_c_t_js:timapi._TimApiHelpers.boolConvertCToJs,contentOf:timapi._TimApiHelpers.TAString.contentOf,contentOfIfValid:timapi._TimApiHelpers.TAString.contentOfIfValid,contentOfUint8ArrayIfValid:timapi._TimApiHelpers.TAString.contentOfUint8ArrayIfValid,assert:timapi.TimException.assert,lit:timapi._TimApiHelpers.iterateList,col:timapi._TimApiHelpers.getColorStruct,alm:timapi._TimApiHelpers.alingMemoryAddress}}return h},convert64BitTo32Bit:function(value){if(typeof value=="bigint"){value=Number(value)}if(value>Number.MAX_SAFE_INTEGER){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,"Amount is too large (only 52bits supported by JavaScript)")}let sign=value<0?1:0;value=Math.abs(value);let low=value&2147483647;let high=Math.floor(value/2147483648);return{low:low,high:high,sign:sign}},getBinaryContent:function(c_datastring){if(!c_datastring.isValid()){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.TAString.prepareString();let p;let binaryContent=undefined;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_length(c_datastring.v(),p.p()));let len=p.v();binaryContent=new Uint8Array(len);h.assert(f.get_pointer(c_datastring.v(),p.p()));for(let i=0;i<len;i++){binaryContent[i]=Module.getValue(p.v()+i)}}finally{if(p)p.dispose()}return binaryContent},uint8ArrayAsDebugString:function(binaryContent,num){if(binaryContent==undefined){return"undefined"}let s="Uint8Array(";let i=0;for(i=0;i<binaryContent.length&&(i<num||num===undefined);i++){s+=`0x${binaryContent[i].toString(16)},`}if(i<binaryContent.length){s+="..."}else{s=s.substring(0,s.length-1)}s+=")";return s},arrayAsDebugString:function(array){if(array==undefined){return`[]`}return`[${array.toString()}]`},setAsDebugString:function(set){if(set==undefined){return`[]`}return`[${[...set].join("|")}]`},mapAsDebugString:function(map){if(map==undefined||map.size<=0){return`{}`}let mapString="{";for(let entry of map.entries()){mapString+=entry[0]+"="+entry[1]+", "}return mapString.substring(0,mapString.length-2)+"}"},stringUint8MapAsDebugString:function(map){if(map==undefined||map.size<=0){return`{}`}let mapString="{";for(let entry of map.entries()){mapString+=entry[0]+"="+timapi._TimApiHelpers.uint8ArrayAsDebugString(entry[1])+", "}return mapString.substring(0,mapString.length-2)+"}"},terminalStatusChanged:function(terminal){let timTerminal=timapi._TimApiHelpers.terminalMap[Number(terminal)];timTerminal._terminalStatus=undefined;timTerminal._listenersLocked=true;try{timTerminal._listeners.forEach(function(each){each.terminalStatusChanged(timTerminal)})}finally{timTerminal._listenersLocked=false}},terminalDisconnected:function(terminal,result_code){let timTerminal=timapi._TimApiHelpers.terminalMap[Number(terminal)];let timResultCode=timapi._TimApiHelpers.enumByValue(timapi.constants.ResultCode,result_code);timTerminal._listeners.forEach(function(each){each.disconnected(timTerminal,timResultCode)})},terminalCompleted:function(event,c_data){let h=timapi._TimApiHelpers.prepareHelpers();let data;let timEvent=new timapi.TimEvent;let p;let timTerminal=timapi._TimApiHelpers.terminalMap[Module.getValue(event,"i32")];timEvent.terminal=timTerminal;let resultCode=h.ebv(timapi.constants.ResultCode,Module.getValue(event+4,"i32"));timEvent.requestType=h.ebv(timapi.constants.RequestType,Module.getValue(event+8,"i32"));timEvent.exception=timapi._TimApiHelpers.unwrapTimError(Module.getValue(event+12,"i32"),resultCode);Object.freeze(timEvent);timTerminal._listenersLocked=true;try{switch(timEvent.requestType){case timapi.constants.RequestType.activate:if(c_data){p=new timapi._TimApiHelpers.TAPointer;h.assert(timapi._TimApiHelpers.prepareActivateResponse().get_print_data(c_data,p.p()));if(p.isValid()){h.assert(timapi._TimApiHelpers.prepareReceiptFormatter().process_print_receipts(timTerminal._wao.v(),p.v()))}}data=timapi._TimApiHelpers.unwrapActivateResponse(c_data);for(let each of timTerminal._listeners){each.activateCompleted(timEvent,data)}break;case timapi.constants.RequestType.activateServiceMenu:for(let each of timTerminal._listeners){each.activateServiceMenuCompleted(timEvent)}break;case timapi.constants.RequestType.applicationInformation:for(let each of timTerminal._listeners){each.applicationInformationCompleted(timEvent)}break;case timapi.constants.RequestType.balance:if(c_data){p=new timapi._TimApiHelpers.TAPointer;h.assert(timapi._TimApiHelpers.prepareBalanceResponse().get_print_data(c_data,p.p()));if(p.isValid()){h.assert(timapi._TimApiHelpers.prepareReceiptFormatter().process_print_receipts(timTerminal._wao.v(),p.v()))}}data=timapi._TimApiHelpers.unwrapBalanceResponse(c_data);for(let each of timTerminal._listeners){each.balanceCompleted(timEvent,data)}break;case timapi.constants.RequestType.balanceInquiry:if(c_data){p=new timapi._TimApiHelpers.TAPointer;h.assert(timapi._TimApiHelpers.prepareBalanceInquiryResponse().get_print_data(c_data,p.p()));if(p.isValid()){h.assert(timapi._TimApiHelpers.prepareReceiptFormatter().process_print_receipts(timTerminal._wao.v(),p.v()))}}data=timapi._TimApiHelpers.unwrapBalanceInquiryResponse(c_data);for(let each of timTerminal._listeners){each.balanceInquiryCompleted(timEvent,data)}break;case timapi.constants.RequestType.changeSettings:for(let each of timTerminal._listeners){each.changeSettingsCompleted(timEvent)}break;case timapi.constants.RequestType.closeDialogMode:for(let each of timTerminal._listeners){each.closeDialogModeCompleted(timEvent)}break;case timapi.constants.RequestType.closeMaintenanceWindow:for(let each of timTerminal._listeners){each.closeMaintenanceWindowCompleted(timEvent)}break;case timapi.constants.RequestType.closeReader:for(let each of timTerminal._listeners){each.closeReaderCompleted(timEvent)}break;case timapi.constants.RequestType.commit:if(c_data){h.assert(timapi._TimApiHelpers.prepareReceiptFormatter().process_print_receipts(timTerminal._wao.v(),c_data))}data=timapi._TimApiHelpers.unwrapPrintData(c_data);for(let each of timTerminal._listeners){each.commitCompleted(timEvent,data)}break;case timapi.constants.RequestType.connect:for(let each of timTerminal._listeners){each.connectCompleted(timEvent)}break;case timapi.constants.RequestType.counterRequest:data=timapi._TimApiHelpers.unwrapCounters(c_data);for(let each of timTerminal._listeners){each.counterRequestCompleted(timEvent,data)}break;case timapi.constants.RequestType.dccRates:if(c_data){h.assert(timapi._TimApiHelpers.prepareReceiptFormatter().process_print_receipts(timTerminal._wao.v(),c_data))}data=timapi._TimApiHelpers.unwrapPrintData(c_data);for(let each of timTerminal._listeners){each.dccRatesCompleted(timEvent,data)}break;case timapi.constants.RequestType.deactivate:if(c_data){p=new timapi._TimApiHelpers.TAPointer;h.assert(timapi._TimApiHelpers.prepareDeactivateResponse().get_print_data(c_data,p.p()));if(p.isValid()){h.assert(timapi._TimApiHelpers.prepareReceiptFormatter().process_print_receipts(timTerminal._wao.v(),p.v()))}}data=timapi._TimApiHelpers.unwrapDeactivateResponse(c_data);for(let each of timTerminal._listeners){each.deactivateCompleted(timEvent,data)}break;case timapi.constants.RequestType.ejectCard:for(let each of timTerminal._listeners){each.ejectCardCompleted(timEvent)}break;case timapi.constants.RequestType.finishCheckout:data=timapi._TimApiHelpers.unwrapVasCheckoutInformation(c_data);for(let each of timTerminal._listeners){each.finishCheckoutCompleted(timEvent,data)}break;case timapi.constants.RequestType.hardwareInformation:data=timapi._TimApiHelpers.unwrapHardwareInformationResponse(c_data);for(let each of timTerminal._listeners){each.hardwareInformationCompleted(timEvent,data)}break;case timapi.constants.RequestType.initTransaction:data=timapi._TimApiHelpers.unwrapCardData(c_data);for(let each of timTerminal._listeners){each.initTransactionCompleted(timEvent,data)}break;case timapi.constants.RequestType.login:for(let each of timTerminal._listeners){each.loginCompleted(timEvent)}break;case timapi.constants.RequestType.logout:for(let each of timTerminal._listeners){each.logoutCompleted(timEvent)}break;case timapi.constants.RequestType.loyaltyData:data=timapi._TimApiHelpers.unwrapCardData(c_data);for(let each of timTerminal._listeners){each.loyaltyDataCompleted(timEvent,data)}break;case timapi.constants.RequestType.openDialogMode:for(let each of timTerminal._listeners){each.openDialogModeCompleted(timEvent)}break;case timapi.constants.RequestType.openMaintenanceWindow:for(let each of timTerminal._listeners){each.openMaintenanceWindowCompleted(timEvent)}break;case timapi.constants.RequestType.openReader:for(let each of timTerminal._listeners){each.openReaderCompleted(timEvent)}break;case timapi.constants.RequestType.provideLoyaltyBasket:data=timapi._TimApiHelpers.unwrapLoyaltyItemList(c_data);for(let each of timTerminal._listeners){each.provideLoyaltyBasketCompleted(timEvent,data)}break;case timapi.constants.RequestType.provideVasResult:data=timapi._TimApiHelpers.unwrapVasResult(c_data);for(let each of timTerminal._listeners){each.provideVasResultCompleted(timEvent,data)}break;case timapi.constants.RequestType.reboot:for(let each of timTerminal._listeners){each.rebootCompleted(timEvent)}break;case timapi.constants.RequestType.receiptRequest:if(c_data){p=new timapi._TimApiHelpers.TAPointer;h.assert(timapi._TimApiHelpers.prepareReceiptRequestResponse().get_print_data(c_data,p.p()));if(p.isValid()){h.assert(timapi._TimApiHelpers.prepareReceiptFormatter().process_print_receipts(timTerminal._wao.v(),p.v()))}}data=timapi._TimApiHelpers.unwrapReceiptRequestResponse(c_data);for(let each of timTerminal._listeners){each.receiptRequestCompleted(timEvent,data)}break;case timapi.constants.RequestType.reconciliation:if(c_data){p=new timapi._TimApiHelpers.TAPointer;h.assert(timapi._TimApiHelpers.prepareReconciliationResponse().get_print_data(c_data,p.p()));if(p.isValid()){h.assert(timapi._TimApiHelpers.prepareReceiptFormatter().process_print_receipts(timTerminal._wao.v(),p.v()))}}data=timapi._TimApiHelpers.unwrapReconciliationResponse(c_data);for(let each of timTerminal._listeners){each.reconciliationCompleted(timEvent,data)}break;case timapi.constants.RequestType.reconfig:if(c_data){h.assert(timapi._TimApiHelpers.prepareReceiptFormatter().process_print_receipts(timTerminal._wao.v(),c_data))}data=timapi._TimApiHelpers.unwrapPrintData(c_data);for(let each of timTerminal._listeners){each.reconfigCompleted(timEvent,data)}break;case timapi.constants.RequestType.rollback:if(c_data){h.assert(timapi._TimApiHelpers.prepareReceiptFormatter().process_print_receipts(timTerminal._wao.v(),c_data))}data=timapi._TimApiHelpers.unwrapPrintData(c_data);for(let each of timTerminal._listeners){each.rollbackCompleted(timEvent,data)}break;case timapi.constants.RequestType.sendCardCommand:data=timapi._TimApiHelpers.unwrapCommandResponseList(c_data);for(let each of timTerminal._listeners){each.sendCardCommandCompleted(timEvent,data)}break;case timapi.constants.RequestType.showDialog:data=timapi._TimApiHelpers.unwrapShowDialogResponse(c_data);for(let each of timTerminal._listeners){each.showDialogCompleted(timEvent,data)}break;case timapi.constants.RequestType.showSignatureCapture:data=timapi._TimApiHelpers.unwrapShowSignatureCaptureResponse(c_data);for(let each of timTerminal._listeners){each.showSignatureCaptureCompleted(timEvent,data)}break;case timapi.constants.RequestType.printOnTerminal:for(let each of timTerminal._listeners){each.printOnTerminalCompleted(timEvent)}break;case timapi.constants.RequestType.softwareUpdate:let value=timapi._TimApiHelpers.unwrapInteger(c_data);data=timapi._TimApiHelpers.enumByValue(timapi.constants.UpdateStatus,value);for(let each of timTerminal._listeners){each.softwareUpdateCompleted(timEvent,data)}break;case timapi.constants.RequestType.startCheckout:for(let each of timTerminal._listeners){each.startCheckoutCompleted(timEvent)}break;case timapi.constants.RequestType.systemInformation:data=timapi._TimApiHelpers.unwrapSystemInformationResponse(c_data);for(let each of timTerminal._listeners){each.systemInformationCompleted(timEvent,data)}break;case timapi.constants.RequestType.transaction:if(c_data){p=new timapi._TimApiHelpers.TAPointer;h.assert(timapi._TimApiHelpers.prepareTransactionResponse().get_print_data(c_data,p.p()));if(p.isValid()){h.assert(timapi._TimApiHelpers.prepareReceiptFormatter().process_print_receipts(timTerminal._wao.v(),p.v()))}}data=timapi._TimApiHelpers.unwrapTransactionResponse(c_data);for(let each of timTerminal._listeners){each.transactionCompleted(timEvent,data)}break;default:for(let each of timTerminal._listeners){each.requestCompleted(timEvent,data)}break}}finally{if(p)p.dispose();timTerminal._listenersLocked=false}},vasInfo:function(terminal,vas_checkout_information){let timTerminal=timapi._TimApiHelpers.terminalMap[Number(terminal)];let vasCheckoutInformation=timapi._TimApiHelpers.unwrapVasCheckoutInformation(vas_checkout_information);timTerminal._listeners.forEach(function(each){each.vasInfo(timTerminal,vasCheckoutInformation)})},deferredAuth:function(terminal,response){let timTerminal=timapi._TimApiHelpers.terminalMap[Number(terminal)];let trxResponse=timapi._TimApiHelpers.unwrapTransactionResponse(response);timTerminal._listeners.forEach(function(each){each.deferredAuth(timTerminal,trxResponse)})},screenshot:function(terminal,info){let timTerminal=timapi._TimApiHelpers.terminalMap[Number(terminal)];let timInfo=timapi._TimApiHelpers.unwrapScreenshotInformation(info);timTerminal._listeners.forEach(function(each){each.screenshot(timTerminal,timInfo)})},licenseChanged:function(terminal){let timTerminal=timapi._TimApiHelpers.terminalMap[Number(terminal)];timTerminal._listeners.forEach(function(each){each.licenseChanged(timTerminal)})},errorNotification:function(terminal,timError){let timTerminal=timapi._TimApiHelpers.terminalMap[Number(terminal)];timError=timapi._TimApiHelpers.unwrapTimError(timError);timTerminal._listeners.forEach(function(each){each.errorNotification(timTerminal,timError)})},publishLogRecord:function(record,userPointer){if(timapi._TimApiHelpers.__six_internal_test&&Module.getValue(record,"i32")>timapi._TimApiHelpers.__six_internal_test){return}let timRecord=new timapi.LogRecord;timRecord.level=timapi._TimApiHelpers.enumByValue(timapi.LogRecord.LogLevel,Module.getValue(record,"i32"));timRecord.thread=Module.UTF8ToString(Module.getValue(record+4,"i32"));timRecord.file=Module.UTF8ToString(Module.getValue(record+8,"i32"));timRecord.method=Module.UTF8ToString(Module.getValue(record+12,"i32"));timRecord.line=Module.getValue(record+16,"i32");timRecord.message=Module.UTF8ToString(Module.getValue(record+20,"i32"));let parameters=Module.getValue(record+24,"i32");let parameterCount=Module.getValue(record+28,"i32");let i;for(i=0;i<parameterCount;i++){timRecord.parameters.push(Module.UTF8ToString(Module.getValue(parameters+4*i,"i32")))}let stackTrace=Module.getValue(record+32,"i32");let stackTraceCount=Module.getValue(record+36,"i32");for(i=0;i<stackTraceCount;i++){let base=stackTrace+12*i;let timStackTrace=new timapi.LogRecordTrace;timStackTrace.file=Module.UTF8ToString(Module.getValue(base,"i32"));timStackTrace.method=Module.UTF8ToString(Module.getValue(base+4,"i32"));timStackTrace.line=Module.getValue(base+8,"i32");timRecord.stackTrace.push(Object.freeze(timStackTrace))}timRecord.timestamp=Object.freeze(new Date(1e3*Module.getValue(record+40,"i32")));Object.freeze(timRecord);if(onTimApiPublishLogRecord){onTimApiPublishLogRecord(timRecord)}else{timapi.log(String(timRecord))}},internalError(err,file,method){try{let timRecord=new timapi.LogRecord;timRecord.level=timapi.LogRecord.LogLevel.severe;timRecord.file=file;timRecord.method=method;if(err.hasOwnProperty("stack")){timRecord.message=err.stack}else{timRecord.message=String(err)}if(onTimApiPublishLogRecord){onTimApiPublishLogRecord(timRecord)}else{timapi.log(String(timRecord))}}catch(err){timapi.log("SEVERE internal error! "+String(err))}},activateResponse:undefined,prepareActivateResponse:function(){let f=timapi._TimApiHelpers.activateResponse;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.activateResponse={get_print_data:g("ta_activate_response_get_print_data",["number"]),get_act_seq_counter:g("ta_activate_response_get_act_seq_counter",["number"])}}return f},unwrapActivateResponse:function(c_activate_response){if(c_activate_response===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareActivateResponse();let activateResponse=new timapi.ActivateResponse;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_print_data(c_activate_response,p.p()));activateResponse.printData=timapi._TimApiHelpers.unwrapPrintData(p.v());h.assert(f.get_act_seq_counter(c_activate_response,p.p()));activateResponse.actSeqCounter=p.v()}finally{if(p)p.dispose()}return Object.freeze(activateResponse)},amount:undefined,prepareAmount:function(){let f=timapi._TimApiHelpers.amount;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.amount={create:g("TAWAAmountCreate",["number","number","number","number","number"]),getValue:g("TAWAAmountGetValue",["number","number","number"]),get_currency:g("ta_amount_get_currency",["number"]),get_exponent:g("ta_amount_get_exponent",["number"])}}return f},convertAmount:function(amount){if(amount===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareAmount();let wa_amount=undefined;try{wa_amount=new timapi._TimApiHelpers.TAObject;split=timapi._TimApiHelpers.convert64BitTo32Bit(amount.value);h.assert(f.create(wa_amount.p(),split.low,split.high,split.sign,amount.currency._wav+1,amount.exponent))}catch(err){if(wa_amount)wa_amount.dispose();throw err}return wa_amount},unwrapAmount:function(c_amount){if(c_amount===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareAmount();let amount=new timapi.Amount;let p,p2,p3;try{p=new timapi._TimApiHelpers.TAPointer;p2=new timapi._TimApiHelpers.TAPointer;p3=new timapi._TimApiHelpers.TAPointer;h.assert(f.getValue(c_amount,p.p(),p2.p(),p3.p()));let low=p.v();let high=p2.v();let sign=p3.v();amount.value=low+high*2147483648;if(sign===1){amount.value=-amount.value}h.assert(f.get_currency(c_amount,p.p()));amount.currency=h.cbv(timapi.constants.Currency,p.v()-1);h.assert(f.get_exponent(c_amount,p.p()));amount.exponent=p.v()}finally{if(p)p.dispose();if(p2)p2.dispose();if(p3)p3.dispose()}return amount},amountDcc:undefined,prepareAmountDcc:function(){let f=timapi._TimApiHelpers.amountDcc;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.amountDcc={getValue:g("TAWAAmountDccGetValue",["number","number","number"]),get_currency:g("ta_amount_dcc_get_currency",["number"]),get_exponent:g("ta_amount_dcc_get_exponent",["number"]),get_rate:g("ta_amount_dcc_get_rate",["number"]),get_rate_exponent:g("ta_amount_dcc_get_rate_exponent",["number"]),get_markup:g("ta_amount_dcc_get_markup",["number"]),get_markup_exponent:g("ta_amount_dcc_get_markup_exponent",["number"]),get_rate_regulated:g("ta_amount_dcc_get_rate_regulated",["number"]),get_rate_exponent_regulated:g("ta_amount_dcc_get_rate_exponent_regulated",["number"]),get_markup_regulated:g("ta_amount_dcc_get_markup_regulated",["number"]),get_markup_exponent_regulated:g("ta_amount_dcc_get_markup_exponent_regulated",["number"])}}return f},unwrapAmountDcc:function(c_amount_dcc){if(c_amount_dcc===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareAmountDcc();let amountDcc=new timapi.AmountDcc;let p,p2,p3;try{p=new timapi._TimApiHelpers.TAPointer;p2=new timapi._TimApiHelpers.TAPointer;p3=new timapi._TimApiHelpers.TAPointer;h.assert(f.getValue(c_amount_dcc,p.p(),p2.p(),p3.p()));let low=p.v();let high=p2.v();let sign=p3.v();amountDcc.value=low+high*2147483648;if(sign===1){amountDcc.value=-amountDcc.value}h.assert(f.get_currency(c_amount_dcc,p.p()));amountDcc.currency=h.cbv(timapi.constants.Currency,p.v()-1);h.assert(f.get_exponent(c_amount_dcc,p.p()));amountDcc.exponent=p.v();h.assert(f.get_rate(c_amount_dcc,p.p()));amountDcc.rate=p.v();h.assert(f.get_rate_exponent(c_amount_dcc,p.p()));amountDcc.rateExponent=p.v();h.assert(f.get_markup(c_amount_dcc,p.p()));amountDcc.markup=p.v();h.assert(f.get_markup_exponent(c_amount_dcc,p.p()));amountDcc.markupExponent=p.v();h.assert(f.get_rate_regulated(c_amount_dcc,p.p()));amountDcc.rateRegulated=p.v();h.assert(f.get_rate_exponent_regulated(c_amount_dcc,p.p()));amountDcc.rateExponentRegulated=p.v();h.assert(f.get_markup_regulated(c_amount_dcc,p.p()));amountDcc.markupRegulated=p.v();h.assert(f.get_markup_exponent_regulated(c_amount_dcc,p.p()));amountDcc.markupExponentRegulated=p.v()}finally{if(p)p.dispose()}return Object.freeze(amountDcc)},amountDiscount:undefined,prepareAmountDiscount:function(){let f=timapi._TimApiHelpers.amountDiscount;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.amountDiscount={create:g("TAWAAmountDiscountCreate",["number","number","number","number","number","number"]),getValue:g("TAWAAmountDiscountGetValue",["number","number","number"]),get_currency:g("ta_amount_discount_get_currency",["number"]),get_exponent:g("ta_amount_discount_get_exponent",["number"]),get_discount_id:g("ta_amount_discount_get_discount_id",["number"])}}return f},convertAmountDiscount:function(amountDiscount){if(amountDiscount===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareAmountDiscount();let wa_amount_discount,s;try{wa_amount_discount=new timapi._TimApiHelpers.TAObject;s=new timapi._TimApiHelpers.TAString;split=timapi._TimApiHelpers.convert64BitTo32Bit(amountDiscount.value);h.assert(f.create(wa_amount_discount.p(),split.low,split.high,split.sign,amountDiscount.currency._wav+1,amountDiscount.exponent,s.replaceOrUndef(amountDiscount.discountId)))}catch(err){if(wa_amount_discount)wa_amount_discount.dispose();throw err}finally{if(s)s.dispose()}return wa_amount_discount},unwrapAmountDiscount:function(c_amount_discount){if(c_amount_discount===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareAmountDiscount();let amountDiscount=new timapi.AmountDiscount;let p,p2,p3;try{p=new timapi._TimApiHelpers.TAPointer;p2=new timapi._TimApiHelpers.TAPointer;p3=new timapi._TimApiHelpers.TAPointer;h.assert(f.getValue(c_amount_discount,p.p(),p2.p(),p3.p()));let low=p.v();let high=p2.v();let sign=p3.v();amountDiscount.value=low+high*2147483648;if(sign===1){amountDiscount.value=-amountDiscount.value}h.assert(f.get_currency(c_amount_discount,p.p()));amountDiscount.currency=h.cbv(timapi.constants.Currency,p.v()-1);h.assert(f.get_exponent(c_amount_discount,p.p()));amountDiscount.exponent=p.v();h.assert(f.get_discount_id(c_amount_discount,p.p()));amountDiscount.discountId=h.contentOfIfValid(p)}finally{if(p)p.dispose();if(p2)p2.dispose();if(p3)p3.dispose()}return amountDiscount},amountFinal:undefined,prepareAmountFinal:function(){let f=timapi._TimApiHelpers.amountFinal;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.amountFinal={getValue:g("TAWAAmountFinalGetValue",["number","number","number"]),get_currency:g("ta_amount_final_get_currency",["number"]),get_exponent:g("ta_amount_final_get_exponent",["number"]),get_adjustment_result:g("ta_amount_final_get_adjustment_result",["number"])}}return f},unwrapAmountFinal:function(c_amount_final){if(c_amount_final===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareAmountFinal();let amountFinal=new timapi.AmountFinal;let p,p2,p3;try{p=new timapi._TimApiHelpers.TAPointer;p2=new timapi._TimApiHelpers.TAPointer;p3=new timapi._TimApiHelpers.TAPointer;h.assert(f.getValue(c_amount_final,p.p(),p2.p(),p3.p()));let low=p.v();let high=p2.v();let sign=p3.v();amountFinal.value=low+high*2147483648;if(sign===1){amountFinal.value=-amountFinal.value}h.assert(f.get_currency(c_amount_final,p.p()));amountFinal.currency=h.cbv(timapi.constants.Currency,p.v()-1);h.assert(f.get_exponent(c_amount_final,p.p()));amountFinal.exponent=p.v();h.assert(f.get_adjustment_result(c_amount_final,p.p()));amountFinal.adjustmentResult=h.ebv(timapi.constants.AdjustmentResult,p.v())}finally{if(p)p.dispose();if(p2)p2.dispose();if(p3)p3.dispose()}return amountFinal},application:undefined,prepareApplication:function(){let f=timapi._TimApiHelpers.application;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.application={get_aid:g("ta_application_get_aid",["number"]),get_label:g("ta_application_get_label",["number"])}}return f},unwrapApplication:function(c_application){if(c_application===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareApplication();let application=new timapi.Application;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_aid(c_application,p.p()));application.aid=h.contentOfIfValid(p);h.assert(f.get_label(c_application,p.p()));application.label=h.contentOfIfValid(p)}finally{if(p)p.dispose()}return Object.freeze(application)},balanceInquiryResponse:undefined,prepareBalanceInquiryResponse:function(){let f=timapi._TimApiHelpers.balanceInquiryResponse;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.balanceInquiryResponse={get_amount:g("ta_balance_inquiry_response_get_amount",["number"]),get_print_data:g("ta_balance_inquiry_response_get_print_data",["number"]),get_card_data:g("ta_balance_inquiry_response_get_card_data",["number"]),get_disclaimer:g("ta_balance_inquiry_response_get_disclaimer",["number"]),get_transaction_information:g("ta_balance_inquiry_response_get_transaction_information",["number"])}}return f},unwrapBalanceInquiryResponse:function(c_balance_inquiry_response){if(c_balance_inquiry_response===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareBalanceInquiryResponse();let balanceInquiryResponse=new timapi.BalanceInquiryResponse;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_amount(c_balance_inquiry_response,p.p()));balanceInquiryResponse.amount=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_print_data(c_balance_inquiry_response,p.p()));balanceInquiryResponse.printData=timapi._TimApiHelpers.unwrapPrintData(p.v());h.assert(f.get_card_data(c_balance_inquiry_response,p.p()));balanceInquiryResponse.cardData=timapi._TimApiHelpers.unwrapCardData(p.v());h.assert(f.get_disclaimer(c_balance_inquiry_response,p.p()));balanceInquiryResponse.disclaimer=h.contentOfIfValid(p);h.assert(f.get_transaction_information(c_balance_inquiry_response,p.p()));balanceInquiryResponse.transactionInformation=timapi._TimApiHelpers.unwrapTransactionInformation(p.v())}finally{if(p)p.dispose()}return balanceInquiryResponse},balanceResponse:undefined,prepareBalanceResponse:function(){let f=timapi._TimApiHelpers.balanceResponse;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.balanceResponse={get_print_data:g("ta_balance_response_get_print_data",["number"]),get_counters:g("ta_balance_response_get_counters",["number"])}}return f},unwrapBalanceResponse:function(c_balance_response){if(c_balance_response===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareBalanceResponse();let balanceResponse=new timapi.BalanceResponse;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_print_data(c_balance_response,p.p()));balanceResponse.printData=timapi._TimApiHelpers.unwrapPrintData(p.v());h.assert(f.get_counters(c_balance_response,p.p()));balanceResponse.counters=timapi._TimApiHelpers.unwrapCounters(p.v())}finally{if(p)p.dispose()}return Object.freeze(balanceResponse)},basket:undefined,prepareBasket:function(){let f=timapi._TimApiHelpers.basket;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.basket={create:g("ta_basket_create",[]),get_items:g("ta_basket_get_items",["number"]),set_items:g("ta_basket_set_items",["number"]),get_loyalty_auth_result:g("ta_basket_get_loyalty_auth_result",["number"]),set_loyalty_auth_result:g("ta_basket_set_loyalty_auth_result",["number"])}}return f},convertBasket:function(basket){if(basket===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareBasket();let f_list=timapi._TimApiHelpers.prepareList();let wa_basket,wa_list,wa_obj,i;try{wa_basket=new timapi._TimApiHelpers.TAObject;wa_list=new timapi._TimApiHelpers.TAObject;wa_obj=new timapi._TimApiHelpers.TAObject;i=new timapi._TimApiHelpers.TAInteger;h.assert(f.create(wa_basket.p()));h.assert(f_list.create(wa_list.p()));for(let basketItem of basket.items){wa_obj.takeover(timapi._TimApiHelpers.convertBasketItem(basketItem));h.assert(f_list.add(wa_list.v(),wa_obj.v()))}h.assert(f.set_items(wa_basket.v(),wa_list.v()));h.assert(f.set_loyalty_auth_result(wa_basket.v(),i.replaceOrUndef(basket.loyaltyAuthResult)))}catch(err){if(wa_basket)wa_basket.dispose();throw err}finally{if(wa_list)wa_list.dispose();if(wa_obj)wa_obj.dispose();if(i)i.dispose()}return wa_basket},unwrapBasket:function(c_basket){if(c_basket===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareBasket();let basket=new timapi.Basket;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_items(c_basket,p.p()));let items=[];h.lit(p.v(),function(c_basket_item){items.push(timapi._TimApiHelpers.unwrapBasketItem(c_basket_item))});basket.items=items;h.assert(f.get_loyalty_auth_result(c_basket,p.p()));basket.loyaltyAuthResult=timapi._TimApiHelpers.unwrapInteger(p.v())}finally{if(p)p.dispose()}return basket},basketItem:undefined,prepareBasketItem:function(){let f=timapi._TimApiHelpers.basketItem;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.basketItem={create:g("ta_basket_item_create",[]),get_auth_result:g("ta_basket_item_get_auth_result",["number"]),set_auth_result:g("ta_basket_item_set_auth_result",["number"]),get_item_id:g("ta_basket_item_get_item_id",["number"]),set_item_id:g("ta_basket_item_set_item_id",["number"]),get_loyalty_id:g("ta_basket_item_get_loyalty_id",["number"]),set_loyalty_id:g("ta_basket_item_set_loyalty_id",["number"]),get_amount:g("ta_basket_item_get_amount",["number"]),set_amount:g("ta_basket_item_set_amount",["number"]),get_amount_total:g("ta_basket_item_get_amount_total",["number"]),set_amount_total:g("ta_basket_item_set_amount_total",["number"]),get_amount_discount:g("ta_basket_item_get_amount_discount",["number"]),set_amount_discount:g("ta_basket_item_set_amount_discount",["number"]),get_amount_tax:g("ta_basket_item_get_amount_tax",["number"]),set_amount_tax:g("ta_basket_item_set_amount_tax",["number"]),get_amount_gross:g("ta_basket_item_get_amount_gross",["number"]),set_amount_gross:g("ta_basket_item_set_amount_gross",["number"]),get_unit_amount_discount:g("ta_basket_item_get_unit_amount_discount",["number"]),set_unit_amount_discount:g("ta_basket_item_set_unit_amount_discount",["number"]),get_unit_amount_gross:g("ta_basket_item_get_unit_amount_gross",["number"]),set_unit_amount_gross:g("ta_basket_item_set_unit_amount_gross",["number"]),get_item_quantity:g("ta_basket_item_get_item_quantity",["number"]),set_item_quantity:g("ta_basket_item_set_item_quantity",["number"]),get_prod_description:g("ta_basket_item_get_prod_description",["number"]),set_prod_description:g("ta_basket_item_set_prod_description",["number"])}}return f},convertBasketItem:function(basketItem){if(basketItem===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareBasketItem();let wa_basket_item,wa_obj,s,i;try{wa_basket_item=new timapi._TimApiHelpers.TAObject;wa_obj=new timapi._TimApiHelpers.TAObject;s=new timapi._TimApiHelpers.TAString;i=new timapi._TimApiHelpers.TAInteger;h.assert(f.create(wa_basket_item.p()));h.assert(f.set_auth_result(wa_basket_item.v(),i.replaceOrUndef(basketItem.authResult)));h.assert(f.set_item_id(wa_basket_item.v(),s.replaceOrUndef(basketItem.itemId)));h.assert(f.set_loyalty_id(wa_basket_item.v(),s.replaceOrUndef(basketItem.loyaltyId)));wa_obj.takeover(timapi._TimApiHelpers.convertAmount(basketItem.amount));h.assert(f.set_amount(wa_basket_item.v(),wa_obj.v()));wa_obj.takeover(timapi._TimApiHelpers.convertAmount(basketItem.amountTotal));h.assert(f.set_amount_total(wa_basket_item.v(),wa_obj.v()));wa_obj.takeover(timapi._TimApiHelpers.convertAmountDiscount(basketItem.amountDiscount));h.assert(f.set_amount_discount(wa_basket_item.v(),wa_obj.v()));wa_obj.takeover(timapi._TimApiHelpers.convertAmount(basketItem.amountTax));h.assert(f.set_amount_tax(wa_basket_item.v(),wa_obj.v()));wa_obj.takeover(timapi._TimApiHelpers.convertAmount(basketItem.amountGross));h.assert(f.set_amount_gross(wa_basket_item.v(),wa_obj.v()));wa_obj.takeover(timapi._TimApiHelpers.convertAmount(basketItem.unitAmountDiscount));h.assert(f.set_unit_amount_discount(wa_basket_item.v(),wa_obj.v()));wa_obj.takeover(timapi._TimApiHelpers.convertAmount(basketItem.unitAmountGross));h.assert(f.set_unit_amount_gross(wa_basket_item.v(),wa_obj.v()));wa_obj.takeover(timapi._TimApiHelpers.convertItemQuantity(basketItem.itemQuantity));h.assert(f.set_item_quantity(wa_basket_item.v(),wa_obj.v()));h.assert(f.set_prod_description(wa_basket_item.v(),s.replaceOrUndef(basketItem.prodDescription)))}catch(err){if(wa_basket_item)wa_basket_item.dispose();throw err}finally{if(wa_obj)wa_obj.dispose();if(s)s.dispose();if(i)i.dispose()}return wa_basket_item},unwrapBasketItem:function(c_basket_item){if(c_basket_item===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareBasketItem();let basketItem=new timapi.BasketItem;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_auth_result(c_basket_item,p.p()));basketItem.authResult=timapi._TimApiHelpers.unwrapInteger(p.v());h.assert(f.get_item_id(c_basket_item,p.p()));basketItem.itemId=h.contentOfIfValid(p);h.assert(f.get_loyalty_id(c_basket_item,p.p()));basketItem.loyaltyId=h.contentOfIfValid(p);h.assert(f.get_amount(c_basket_item,p.p()));basketItem.amount=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_amount_total(c_basket_item,p.p()));basketItem.amountTotal=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_amount_discount(c_basket_item,p.p()));basketItem.amountDiscount=timapi._TimApiHelpers.unwrapAmountDiscount(p.v());h.assert(f.get_amount_tax(c_basket_item,p.p()));basketItem.amountTax=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_amount_gross(c_basket_item,p.p()));basketItem.amountGross=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_unit_amount_discount(c_basket_item,p.p()));basketItem.unitAmountDiscount=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_unit_amount_gross(c_basket_item,p.p()));basketItem.unitAmountGross=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_item_quantity(c_basket_item,p.p()));basketItem.itemQuantity=timapi._TimApiHelpers.unwrapItemQuantity(p.v());h.assert(f.get_prod_description(c_basket_item,p.p()));basketItem.prodDescription=h.contentOfIfValid(p)}finally{if(p)p.dispose()}return basketItem},brand:undefined,prepareBrand:function(){let f=timapi._TimApiHelpers.brand;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.brand={get_name:g("ta_brand_get_name",["number"]),get_dcc_available:g("ta_brand_get_dcc_available",["number"]),get_payment_protocol:g("ta_brand_get_payment_protocol",["number"]),get_acq_id:g("ta_brand_get_acq_id",["number"]),get_last_init_date:g("ta_brand_get_last_init_date",["number"]),get_applications:g("ta_brand_get_applications",["number"]),get_currencies:g("ta_brand_get_currencies",["number"])}}return f},unwrapBrand:function(c_brand){if(c_brand===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareBrand();let brand=new timapi.Brand;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_name(c_brand,p.p()));brand.name=h.contentOfIfValid(p);h.assert(f.get_dcc_available(c_brand,p.p()));brand.dccAvailable=h.bc_c_t_js(p.v());h.assert(f.get_payment_protocol(c_brand,p.p()));brand.paymentProtocol=h.ebv(timapi.constants.PaymentProtocol,p.v());h.assert(f.get_acq_id(c_brand,p.p()));brand.acqId=p.v();h.assert(f.get_last_init_date(c_brand,p.p()));brand.lastInitDate=timapi._TimApiHelpers.unwrapTimeDate(p.v());h.assert(f.get_applications(c_brand,p.p()));let applications=[];h.lit(p.v(),function(c_application){applications.push(timapi._TimApiHelpers.unwrapApplication(c_application))});brand.applications=applications;h.assert(f.get_currencies(c_brand,p.p()));let currencies=[];h.lit(p.v(),function(c_currency_item){currencies.push(timapi._TimApiHelpers.unwrapCurrencyItem(c_currency_item))});brand.currencies=currencies}finally{if(p)p.dispose()}return Object.freeze(brand)},cardData:undefined,prepareCardData:function(){let f=timapi._TimApiHelpers.cardData;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.cardData={get_pos_entry_mode:g("ta_card_data_get_pos_entry_mode",["number"]),get_aid:g("ta_card_data_get_aid",["number"]),get_acc:g("ta_card_data_get_acc",["number"]),get_card_number:g("ta_card_data_get_card_number",["number"]),get_card_number_printable:g("ta_card_data_get_card_number_printable",["number"]),get_card_number_printable_cardholder:g("ta_card_data_get_card_number_printable_cardholder",["number"]),get_card_number_enc:g("ta_card_data_get_card_number_enc",["number"]),get_card_number_enc_key_index:g("ta_card_data_get_card_number_enc_key_index",["number"]),get_card_expiry_date:g("ta_card_data_get_card_expiry_date",["number"]),get_brand_name:g("ta_card_data_get_brand_name",["number"]),get_tender_name:g("ta_card_data_get_tender_name",["number"]),get_card_track_datas:g("ta_card_data_get_card_track_datas",["number"]),get_loyalty_information:g("ta_card_data_get_loyalty_information",["number"]),get_card_ref:g("ta_card_data_get_card_ref",["number"]),get_processing_disposition:g("ta_card_data_get_processing_disposition",["number"]),get_language:g("ta_card_data_get_language",["number"]),get_card_country_code:g("ta_card_data_get_card_country_code",["number"]),get_terminal_country_code:g("ta_card_data_get_terminal_country_code",["number"]),get_uid:g("ta_card_data_get_uid",["number"]),get_asrpd:g("ta_card_data_get_asrpd",["number"]),get_card_product_type:g("ta_card_data_get_card_product_type",["number"]),get_card_type:g("ta_card_data_get_card_type",["number"]),get_cardholder:g("ta_card_data_get_cardholder",["number"])}}return f},unwrapCardData:function(c_card_data){if(c_card_data===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareCardData();let cardData=new timapi.CardData;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_pos_entry_mode(c_card_data,p.p()));cardData.posEntryMode=h.ebv(timapi.constants.PosEntryMode,p.v());h.assert(f.get_aid(c_card_data,p.p()));cardData.aid=h.contentOfIfValid(p);h.assert(f.get_acc(c_card_data,p.p()));cardData.acc=h.contentOfIfValid(p);h.assert(f.get_card_number(c_card_data,p.p()));cardData.cardNumber=h.contentOfIfValid(p);h.assert(f.get_card_number_printable(c_card_data,p.p()));cardData.cardNumberPrintable=h.contentOfIfValid(p);h.assert(f.get_card_number_printable_cardholder(c_card_data,p.p()));cardData.cardNumberPrintableCardholder=h.contentOfIfValid(p);h.assert(f.get_card_number_enc(c_card_data,p.p()));cardData.cardNumberEnc=timapi._TimApiHelpers.getBinaryContent(p);h.assert(f.get_card_number_enc_key_index(c_card_data,p.p()));cardData.cardNumberEncKeyIndex=p.v();h.assert(f.get_card_expiry_date(c_card_data,p.p()));cardData.cardExpiryDate=timapi._TimApiHelpers.unwrapTimeDate(p.v());h.assert(f.get_brand_name(c_card_data,p.p()));cardData.brandName=h.contentOfIfValid(p);h.assert(f.get_tender_name(c_card_data,p.p()));cardData.tenderName=h.contentOfIfValid(p);h.assert(f.get_card_track_datas(c_card_data,p.p()));let cardTrackDatas=[];h.lit(p.v(),function(c_card_track_data){cardTrackDatas.push(timapi._TimApiHelpers.unwrapCardTrackData(c_card_track_data))});cardData.cardTrackDatas=cardTrackDatas;h.assert(f.get_loyalty_information(c_card_data,p.p()));cardData.loyaltyInformation=timapi._TimApiHelpers.unwrapSBMap(p.v());h.assert(f.get_card_ref(c_card_data,p.p()));cardData.cardRef=h.contentOfIfValid(p);h.assert(f.get_processing_disposition(c_card_data,p.p()));cardData.processingDisposition=h.ebv(timapi.constants.ProcessingDisposition,p.v());h.assert(f.get_language(c_card_data,p.p()));cardData.language=h.contentOfIfValid(p);h.assert(f.get_card_country_code(c_card_data,p.p()));cardData.cardCountryCode=timapi._TimApiHelpers.unwrapInteger(p.v());h.assert(f.get_terminal_country_code(c_card_data,p.p()));cardData.terminalCountryCode=timapi._TimApiHelpers.unwrapInteger(p.v());h.assert(f.get_uid(c_card_data,p.p()));cardData.uid=h.contentOfIfValid(p);h.assert(f.get_asrpd(c_card_data,p.p()));cardData.asrpd=timapi._TimApiHelpers.getBinaryContent(p);h.assert(f.get_card_product_type(c_card_data,p.p()));cardData.cardProductType=h.ebv(timapi.constants.CardProductType,p.v());h.assert(f.get_card_type(c_card_data,p.p()));cardData.cardType=timapi._TimApiHelpers.unwrapInteger(p.v());h.assert(f.get_cardholder(c_card_data,p.p()));cardData.cardholder=h.contentOfIfValid(p)}finally{if(p)p.dispose()}return Object.freeze(cardData)},cardTrackData:undefined,prepareCardTrackData:function(){let f=timapi._TimApiHelpers.cardTrackData;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.cardTrackData={get_track_number:g("ta_card_track_data_get_track_number",["number"]),get_data:g("ta_card_track_data_get_data",["number"])}}return f},unwrapCardTrackData:function(c_card_track_data){if(c_card_track_data===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareCardTrackData();let cardTrackData=new timapi.CardTrackData;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_track_number(c_card_track_data,p.p()));cardTrackData.trackNum=p.v();h.assert(f.get_data(c_card_track_data,p.p()));cardTrackData.data=timapi._TimApiHelpers.getBinaryContent(p)}finally{if(p)p.dispose()}return Object.freeze(cardTrackData)},commandRequest:undefined,prepareCommandRequest:function(){let f=timapi._TimApiHelpers.commandRequest;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.commandRequest={create:g("ta_command_request_create",[]),set_card_reader:g("ta_command_request_set_card_reader",["number"]),set_order:g("ta_command_request_set_order",["number"]),set_card_command:g("ta_command_request_set_card_command",["number"]),set_positive_resource:g("ta_command_request_set_positive_resource",["number"]),set_negative_resource:g("ta_command_request_set_negative_resource",["number"]),set_execution_resource:g("ta_command_request_set_execution_resource",["number"]),set_pre_resource:g("ta_command_request_set_pre_resource",["number"]),set_positive_answers:g("ta_command_request_set_positive_answers",["number"])}}return f},convertCommandRequest:function(commandRequest){if(commandRequest===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareCommandRequest();let f_list=timapi._TimApiHelpers.prepareList();let wa_command_request,wa_list,s;try{wa_command_request=new timapi._TimApiHelpers.TAObject;wa_list=new timapi._TimApiHelpers.TAObject;s=new timapi._TimApiHelpers.TAString;h.assert(f.create(wa_command_request.p()));h.assert(f.set_card_reader(wa_command_request.v(),commandRequest.cardReader._value));h.assert(f.set_order(wa_command_request.v(),commandRequest.order));h.assert(f.set_card_command(wa_command_request.v(),s.replaceOrUndef(commandRequest.cardCommand)));h.assert(f.set_positive_resource(wa_command_request.v(),commandRequest.positiveResource._value));h.assert(f.set_negative_resource(wa_command_request.v(),commandRequest.negativeResource._value));h.assert(f.set_execution_resource(wa_command_request.v(),commandRequest.executionResource._value));h.assert(f.set_pre_resource(wa_command_request.v(),commandRequest.preResource._value));h.assert(f_list.create(wa_list.p()));for(let positiveAnswer of commandRequest.positiveAnswers){h.assert(f_list.add(wa_list.v(),s.replaceOrUndef(positiveAnswer)))}h.assert(f.set_positive_answers(wa_command_request.v(),wa_list.v()))}catch(err){if(wa_command_request)wa_command_request.dispose();throw err}finally{if(s)s.dispose();if(wa_list)wa_list.dispose()}return wa_command_request},commandResponse:undefined,prepareCommandResponse:function(){let f=timapi._TimApiHelpers.commandResponse;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.commandResponse={get_order:g("ta_command_response_get_order",["number"]),get_response_type:g("ta_command_response_get_response_type",["number"]),get_card_response:g("ta_command_response_get_card_response",["number"]),get_uid:g("ta_command_response_get_uid",["number"]),get_atr:g("ta_command_response_get_atr",["number"])}}return f},unwrapCommandResponse:function(c_command_response){if(c_command_response===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareCommandResponse();let commandResponse=new timapi.CommandResponse;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_order(c_command_response,p.p()));commandResponse.order=p.v();h.assert(f.get_response_type(c_command_response,p.p()));commandResponse.responseType=h.ebv(timapi.constants.ResponseType,p.v());h.assert(f.get_card_response(c_command_response,p.p()));commandResponse.cardResponse=h.contentOfIfValid(p);h.assert(f.get_uid(c_command_response,p.p()));commandResponse.uid=h.contentOfIfValid(p);h.assert(f.get_atr(c_command_response,p.p()));commandResponse.atr=h.contentOfIfValid(p)}finally{if(p)p.dispose()}return commandResponse},unwrapCommandResponseList:function(c_command_response_list){if(c_command_response_list===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let list=[];try{h.lit(c_command_response_list,function(c_command_response){list.push(timapi._TimApiHelpers.unwrapCommandResponse(c_command_response))})}finally{}return list},configData:undefined,prepareConfigData:function(){let f=timapi._TimApiHelpers.configData;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.configData={get_receipt_header:g("ta_config_data_get_receipt_header",["number"]),get_language:g("ta_config_data_get_language",["number"])}}return f},unwrapConfigData:function(c_config_data){if(c_config_data===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareConfigData();let configData=new timapi.ConfigData;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_receipt_header(c_config_data,p.p()));let receiptHeader=[];h.lit(p.v(),function(c_receipt_line){receiptHeader.push(timapi._TimApiHelpers.TAString.unwrapString(c_receipt_line))});configData.receiptHeader=receiptHeader;h.assert(f.get_language(c_config_data,p.p()));configData.language=h.contentOfIfValid(p)}finally{if(p)p.dispose()}return Object.freeze(configData)},counter:undefined,prepareCounter:function(){let f=timapi._TimApiHelpers.counter;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.counter={get_brand_name:g("ta_counter_get_brand_name",["number"]),get_payment_protocol:g("ta_counter_get_payment_protocol",["number"]),get_acq_id:g("ta_counter_get_acq_id",["number"]),get_count:g("ta_counter_get_count",["number"]),get_count_dcc:g("ta_counter_get_count_dcc",["number"]),get_count_foreign:g("ta_counter_get_count_foreign",["number"]),get_totals:g("ta_counter_get_totals",["number"])}}return f},unwrapCounter:function(c_counter){if(c_counter===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareCounter();let counter=new timapi.Counter;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_brand_name(c_counter,p.p()));counter.brandName=h.contentOfIfValid(p);h.assert(f.get_payment_protocol(c_counter,p.p()));counter.paymentProtocol=h.ebv(timapi.constants.PaymentProtocol,p.v());h.assert(f.get_acq_id(c_counter,p.p()));counter.acqId=p.v();h.assert(f.get_count(c_counter,p.p()));counter.count=p.v();h.assert(f.get_count_dcc(c_counter,p.p()));counter.countDcc=p.v();h.assert(f.get_count_foreign(c_counter,p.p()));counter.countForeign=p.v();h.assert(f.get_totals(c_counter,p.p()));let totals=[];h.lit(p.v(),function(c_total){totals.push(timapi._TimApiHelpers.unwrapTotal(c_total))});counter.totals=totals}finally{if(p)p.dispose()}return Object.freeze(counter)},counters:undefined,prepareCounters:function(){let f=timapi._TimApiHelpers.counters;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.counters={get_counter_type:g("ta_counters_get_counter_type",["number"]),get_seq_counter:g("ta_counters_get_seq_counter",["number"]),get_counters:g("ta_counters_get_counters",["number"])}}return f},unwrapCounters:function(c_counters){if(c_counters===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareCounters();let counters=new timapi.Counters;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_counter_type(c_counters,p.p()));counters.counterType=h.ebv(timapi.constants.CounterType,p.v());h.assert(f.get_seq_counter(c_counters,p.p()));counters.seqCounter=p.v();h.assert(f.get_counters(c_counters,p.p()));let counterList=[];h.lit(p.v(),function(c_counters){counterList.push(timapi._TimApiHelpers.unwrapCounter(c_counters))});counters.counters=counterList}finally{if(p)p.dispose()}return Object.freeze(counters)},currencyItem:undefined,prepareCurrencyItem:function(){let f=timapi._TimApiHelpers.currencyItem;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.currencyItem={get_currency:g("ta_currency_item_get_currency",["number"]),get_currency_type:g("ta_currency_item_get_currency_type",["number"])}}return f},unwrapCurrencyItem:function(c_currency_item){if(c_currency_item===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareCurrencyItem();let currencyItem=new timapi.CurrencyItem;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_currency(c_currency_item,p.p()));currencyItem.currency=h.cbv(timapi.constants.Currency,p.v()-1);h.assert(f.get_currency_type(c_currency_item,p.p()));currencyItem.type=h.ebv(timapi.constants.CurrencyType,p.v())}finally{if(p)p.dispose()}return Object.freeze(currencyItem)},deactivateResponse:undefined,prepareDeactivateResponse:function(){let f=timapi._TimApiHelpers.deactivateResponse;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.deactivateResponse={get_print_data:g("ta_deactivate_response_get_print_data",["number"]),get_counters:g("ta_deactivate_response_get_counters",["number"])}}return f},unwrapDeactivateResponse:function(c_deactivate_response){if(c_deactivate_response===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareDeactivateResponse();let deactivateResponse=new timapi.DeactivateResponse;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_print_data(c_deactivate_response,p.p()));deactivateResponse.printData=timapi._TimApiHelpers.unwrapPrintData(p.v());h.assert(f.get_counters(c_deactivate_response,p.p()));deactivateResponse.counters=timapi._TimApiHelpers.unwrapCounters(p.v())}finally{if(p)p.dispose()}return Object.freeze(deactivateResponse)},ecrInfo:undefined,prepareEcrInfo:function(){let f=timapi._TimApiHelpers.ecrInfo;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.ecrInfo={create:g("ta_ecr_info_create",[]),get_type:g("ta_ecr_info_get_type",["number"]),set_type:g("ta_ecr_info_set_type",["number"]),get_name:g("ta_ecr_info_get_name",["number"]),set_name:g("ta_ecr_info_set_name",["number"]),get_manufacturer_name:g("ta_ecr_info_get_manufacturer_name",["number"]),set_manufacturer_name:g("ta_ecr_info_set_manufacturer_name",["number"]),get_version:g("ta_ecr_info_get_version",["number"]),set_version:g("ta_ecr_info_set_version",["number"]),get_serial_number:g("ta_ecr_info_get_serial_number",["number"]),set_serial_number:g("ta_ecr_info_set_serial_number",["number"]),get_architecture:g("ta_ecr_info_get_architecture",["number"]),set_architecture:g("ta_ecr_info_set_architecture",["number"]),get_integrator_solution:g("ta_ecr_info_get_integrator_solution",["number"]),set_integrator_solution:g("ta_ecr_info_set_integrator_solution",["number"]),get_remote_ip:g("ta_ecr_info_get_remote_ip",["number"]),set_remote_ip:g("ta_ecr_info_set_remote_ip",["number"])}}return f},hardware:undefined,prepareHardware:function(){let f=timapi._TimApiHelpers.hardware;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.hardware={get_hardware_type:g("ta_hardware_get_hardware_type",["number"]),get_serial_number:g("ta_hardware_get_serial_number",["number"]),get_production_date:g("ta_hardware_get_production_date",["number"]),get_product_version:g("ta_hardware_get_product_version",["number"]),get_firmware_version:g("ta_hardware_get_firmware_version",["number"]),get_security_status:g("ta_hardware_get_security_status",["number"]),get_last_cleaning_date:g("ta_hardware_get_last_cleaning_date",["number"]),get_imsi:g("ta_hardware_get_imsi",["number"]),get_imei:g("ta_hardware_get_imei",["number"]),get_iccid:g("ta_hardware_get_iccid",["number"]),get_hardware_address:g("ta_hardware_get_hardware_address",["number"]),get_hardware_description:g("ta_hardware_get_hardware_description",["number"])}}return f},unwrapHardware:function(c_hardware){if(c_hardware===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareHardware();let hardware=new timapi.Hardware;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_hardware_type(c_hardware,p.p()));hardware.hardwareType=h.ebv(timapi.constants.HardwareType,p.v());h.assert(f.get_serial_number(c_hardware,p.p()));hardware.serialNumber=h.contentOfIfValid(p);h.assert(f.get_production_date(c_hardware,p.p()));hardware.productionDate=timapi._TimApiHelpers.unwrapTimeDate(p.v());h.assert(f.get_product_version(c_hardware,p.p()));hardware.productVersion=h.contentOfIfValid(p);h.assert(f.get_firmware_version(c_hardware,p.p()));hardware.firmwareVersion=h.contentOfIfValid(p);h.assert(f.get_security_status(c_hardware,p.p()));hardware.securityStatus=h.ebv(timapi.constants.SecurityStatus,p.v());h.assert(f.get_last_cleaning_date(c_hardware,p.p()));hardware.lastCleaningDate=timapi._TimApiHelpers.unwrapTimeDate(p.v());h.assert(f.get_imsi(c_hardware,p.p()));hardware.imsi=h.contentOfIfValid(p);h.assert(f.get_imei(c_hardware,p.p()));hardware.imei=h.contentOfIfValid(p);h.assert(f.get_iccid(c_hardware,p.p()));hardware.iccid=h.contentOfIfValid(p);h.assert(f.get_hardware_address(c_hardware,p.p()));hardware.hardwareAddress=h.contentOfIfValid(p);h.assert(f.get_hardware_description(c_hardware,p.p()));hardware.hardwareDescription=h.contentOfIfValid(p)}finally{if(p)p.dispose()}return hardware},hardwareInformationResponse:undefined,prepareHardwareInformationResponse:function(){let f=timapi._TimApiHelpers.hardwareInformationResponse;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.hardwareInformationResponse={get_hardwares:g("ta_hardware_information_response_get_hardwares",["number"]),get_kernel_versions:g("ta_hardware_information_response_get_kernel_versions",["number"]),get_settings:g("ta_hardware_information_response_get_settings",["number"]),get_statistics:g("ta_hardware_information_response_get_statistics",["number"]),get_battery_level:g("ta_hardware_information_response_get_battery_level",["number"]),get_battery_charging:g("ta_hardware_information_response_get_battery_charging",["number"])}}return f},unwrapHardwareInformationResponse:function(c_hardware_information_response){if(c_hardware_information_response===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareHardwareInformationResponse();let hardwareInformationResponse=new timapi.HardwareInformationResponse;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_hardwares(c_hardware_information_response,p.p()));let hardwares=[];h.lit(p.v(),function(c_hardware){hardwares.push(timapi._TimApiHelpers.unwrapHardware(c_hardware))});hardwareInformationResponse.hardwares=hardwares;h.assert(f.get_kernel_versions(c_hardware_information_response,p.p()));hardwareInformationResponse.kernelVersions=timapi._TimApiHelpers.unwrapESMap(timapi.constants.KernelType,p.v());h.assert(f.get_settings(c_hardware_information_response,p.p()));hardwareInformationResponse.settings=timapi._TimApiHelpers.unwrapESMap(timapi.constants.SettingType,p.v());h.assert(f.get_statistics(c_hardware_information_response,p.p()));hardwareInformationResponse.statistics=timapi._TimApiHelpers.unwrapSSMap(p.v());h.assert(f.get_battery_level(c_hardware_information_response,p.p()));hardwareInformationResponse.batteryLevel=p.v();h.assert(f.get_battery_charging(c_hardware_information_response,p.p()));hardwareInformationResponse.batteryCharging=timapi._TimApiHelpers.boolConvertCToJs(p.v())}finally{if(p)p.dispose()}return Object.freeze(hardwareInformationResponse)},integer:undefined,prepareInteger:function(){let f=timapi._TimApiHelpers.integer;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.integer={create:g("TAWAIntegerCreate",["number","number","number"]),getValue:g("TAWAIntegerGetValue",["number","number","number"])}}return f},unwrapInteger:function(c_integer){if(c_integer===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareInteger();let integer=undefined;let p,p2,p3;try{p=new timapi._TimApiHelpers.TAPointer;p2=new timapi._TimApiHelpers.TAPointer;p3=new timapi._TimApiHelpers.TAPointer;h.assert(f.getValue(c_integer,p.p(),p2.p(),p3.p()));let low=p.v();let high=p2.v();let sign=p3.v();integer=low+high*2147483648;if(sign===1){integer=-integer}}finally{if(p)p.dispose();if(p2)p2.dispose();if(p3)p3.dispose()}return integer},itemQuantity:undefined,prepareItemQuantity:function(){let f=timapi._TimApiHelpers.itemQuantity;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.itemQuantity={create:g("ta_item_quantity_create",[]),get_quantity:g("ta_item_quantity_get_quantity",["number"]),set_quantity:g("ta_item_quantity_set_quantity",["number"]),get_exponent:g("ta_item_quantity_get_exponent",["number"]),set_exponent:g("ta_item_quantity_set_exponent",["number"]),get_quantity_type:g("ta_item_quantity_get_quantity_type",["number"]),set_quantity_type:g("ta_item_quantity_set_type",["number"])}}return f},convertItemQuantity:function(itemQuantity){if(itemQuantity===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareItemQuantity();let wa_item_quantity,s;try{wa_item_quantity=new timapi._TimApiHelpers.TAObject;s=new timapi._TimApiHelpers.TAString;h.assert(f.create(wa_item_quantity.p()));h.assert(f.set_quantity(wa_item_quantity.v(),itemQuantity.quantity));h.assert(f.set_exponent(wa_item_quantity.v(),itemQuantity.exponent));h.assert(f.set_quantity_type(wa_item_quantity.v(),s.replaceOrUndef(itemQuantity.quantityType)))}catch(err){if(wa_item_quantity)wa_item_quantity.dispose();throw err}finally{}return wa_item_quantity},unwrapItemQuantity:function(c_item_quantity){if(c_item_quantity===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareItemQuantity();let itemQuantity=new timapi.ItemQuantity;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_quantity(c_item_quantity,p.p()));itemQuantity.quantity=p.v();h.assert(f.get_exponent(c_item_quantity,p.p()));itemQuantity.exponent=p.v();h.assert(f.get_quantity_type(c_item_quantity,p.p()));itemQuantity.quantityType=h.contentOfIfValid(p)}finally{if(p)p.dispose()}return itemQuantity},list:undefined,prepareList:function(){let f=timapi._TimApiHelpers.list;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.list={create:g("ta_list_create"),add:g("ta_list_add",["number"]),get_count:g("ta_list_get_count",["number"]),get_at:g("ta_list_get_at",["number","number"])}}return f},iterateList:function(list,iter_func){let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareList();let p;let count=0;if(list===0){return}try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_count(list,p.p()));count=p.v();for(let i=0;i<count;i++){h.assert(f.get_at(list,i,p.p()));iter_func(p.v())}}finally{if(p)p.dispose()}},loyaltyCoupon:undefined,prepareLoyaltyCoupon:function(){let f=timapi._TimApiHelpers.loyaltyCoupon;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.loyaltyCoupon={create:g("ta_loyalty_coupon_create",["number","number","number","number","number"]),get_amount:g("ta_loyalty_coupon_get_amount",["number"]),get_currency:g("ta_loyalty_coupon_get_currency",["number"]),get_exponent:g("ta_loyalty_coupon_get_exponent",["number"]),get_id:g("ta_loyalty_coupon_get_id",["number"]),get_rejection_reason:g("ta_loyalty_coupon_get_rejection_reason",["number"])}}return f},convertLoyaltyCoupon:function(loyaltyCoupon){if(loyaltyCoupon===undefined){return new timapi._TimApiHelpers.TAObject}if(loyaltyCoupon.amount===undefined){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,"LoyaltyCoupon needs valid amount")}if(loyaltyCoupon.currency===undefined){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,"LoyaltyCoupon needs valid currency")}if(loyaltyCoupon.couponId===undefined){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,"LoyaltyCoupon needs valid couponId")}if(loyaltyCoupon.exponent===undefined){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,"LoyaltyCoupon needs valid exponent")}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareLoyaltyCoupon();let wa_loyalty_coupon,s_id,i_amount,i_exponent;try{wa_loyalty_coupon=new timapi._TimApiHelpers.TAObject;i_amount=timapi._TimApiHelpers.TAInteger.create(loyaltyCoupon.amount);s_id=timapi._TimApiHelpers.TAString.create(loyaltyCoupon.couponId);i_exponent=timapi._TimApiHelpers.TAInteger.create(loyaltyCoupon.exponent);h.assert(f.create(wa_loyalty_coupon.p(),i_amount.v(),loyaltyCoupon.currency._wav+1,i_exponent.v(),s_id.v(),loyaltyCoupon.couponRejectionReason!==undefined?loyaltyCoupon.couponRejectionReason._value:0))}catch(err){if(wa_loyalty_coupon)wa_loyalty_coupon.dispose();throw err}finally{if(s_id)s_id.dispose()}return wa_loyalty_coupon},unwrapLoyaltyCoupon:function(c_loyalty_coupon){if(c_loyalty_coupon===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareLoyaltyCoupon();let loyaltyCoupon=new timapi.LoyaltyCoupon;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_amount(c_loyalty_coupon,p.p()));loyaltyCoupon.amount=timapi._TimApiHelpers.unwrapInteger(p.v());h.assert(f.get_currency(c_loyalty_coupon,p.p()));loyaltyCoupon.currency=h.cbv(timapi.constants.Currency,p.v()-1);h.assert(f.get_exponent(c_loyalty_coupon,p.p()));loyaltyCoupon.exponent=timapi._TimApiHelpers.unwrapInteger(p.v());h.assert(f.get_id(c_loyalty_coupon,p.p()));loyaltyCoupon.couponId=h.contentOfIfValid(p);h.assert(f.get_rejection_reason(c_loyalty_coupon,p.p()));loyaltyCoupon.couponRejectionReason=h.ebv(timapi.constants.CouponRejectionReason,p.v())}finally{if(p)p.dispose()}return loyaltyCoupon},loyaltyDiscount:undefined,prepareLoyaltyDiscount:function(){let f=timapi._TimApiHelpers.loyaltyDiscount;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.loyaltyDiscount={getValue:g("TAWALoyaltyDiscountGetValue",["number","number","number"]),get_currency:g("ta_loyalty_discount_get_currency",["number"]),get_exponent:g("ta_loyalty_discount_get_exponent",["number"]),get_discount_description:g("ta_loyalty_discount_get_discount_description",["number"])}}return f},unwrapLoyaltyDiscount:function(c_loyalty_discount){if(c_loyalty_discount===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareLoyaltyDiscount();let loyaltyDiscount=new timapi.LoyaltyDiscount;let p,p2,p3;try{p=new timapi._TimApiHelpers.TAPointer;p2=new timapi._TimApiHelpers.TAPointer;p3=new timapi._TimApiHelpers.TAPointer;h.assert(f.getValue(c_loyalty_discount,p.p(),p2.p(),p3.p()));let low=p.v();let high=p2.v();let sign=p3.v();loyaltyDiscount.value=low+high*2147483648;if(sign===1){loyaltyDiscount.value=-loyaltyDiscount.value}h.assert(f.get_currency(c_loyalty_discount,p.p()));loyaltyDiscount.currency=h.cbv(timapi.constants.Currency,p.v()-1);h.assert(f.get_exponent(c_loyalty_discount,p.p()));loyaltyDiscount.exponent=p.v();h.assert(f.get_discount_description(c_loyalty_discount,p.p()));loyaltyDiscount.discountDescription=h.contentOfIfValid(p)}finally{if(p)p.dispose();if(p2)p2.dispose();if(p3)p3.dispose()}return loyaltyDiscount},loyaltyInformation:undefined,prepareLoyaltyInformation:function(){let f=timapi._TimApiHelpers.loyaltyInformation;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.loyaltyInformation={create:g("ta_loyalty_information_create",["number","number","number","number"]),get_value:g("ta_loyalty_information_get_value",["number"]),get_loyalty_info_type:g("ta_loyalty_information_get_loyalty_info_type",["number"]),get_loyalty_function_type:g("ta_loyalty_information_get_loyalty_function_type",["number"]),get_loyalty_number:g("ta_loyalty_information_get_loyalty_number",["number"])}}return f},convertLoyaltyInformation:function(loyaltyInformation){if(loyaltyInformation===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareLoyaltyInformation();let wa_loyalty_information,s_value,s_loyalty_info_type,s_loyalty_number;try{wa_loyalty_information=new timapi._TimApiHelpers.TAObject;if(loyaltyInformation.value!==undefined){s_value=timapi._TimApiHelpers.TAString.createFromUint8Array(loyaltyInformation.value)}else{s_value=new timapi._TimApiHelpers.TAObject}if(loyaltyInformation.loyaltyInfoType!==undefined){s_loyalty_info_type=timapi._TimApiHelpers.TAString.create(loyaltyInformation.loyaltyInfoType)}else{s_loyalty_info_type=new timapi._TimApiHelpers.TAObject}if(loyaltyInformation.loyaltyNumber!==undefined){s_loyalty_number=timapi._TimApiHelpers.TAString.createFromUint8Array(loyaltyInformation.loyaltyNumber)}else{s_loyalty_number=new timapi._TimApiHelpers.TAString}h.assert(f.create(wa_loyalty_information.p(),s_value.v(),s_loyalty_info_type.v(),loyaltyInformation.loyaltyFunctionType!==undefined?loyaltyInformation.loyaltyFunctionType._value:0,s_loyalty_number.v()))}catch(err){if(wa_loyalty_information)wa_loyalty_information.dispose();throw err}finally{if(s_value)s_value.dispose();if(s_loyalty_info_type)s_loyalty_info_type.dispose();if(s_loyalty_number)s_loyalty_number.dispose()}return wa_loyalty_information},unwrapLoyaltyInformation:function(c_loyalty_information){if(c_loyalty_information===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareLoyaltyInformation();let loyaltyInformation=new timapi.LoyaltyInformation;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_value(c_loyalty_information,p.p()));loyaltyInformation.value=timapi._TimApiHelpers.getBinaryContent(p);h.assert(f.get_loyalty_info_type(c_loyalty_information,p.p()));loyaltyInformation.loyaltyInfoType=h.contentOfIfValid(p);h.assert(f.get_loyalty_function_type(c_loyalty_information,p.p()));loyaltyInformation.loyaltyFunctionType=h.ebv(timapi.constants.LoyaltyFunctionType,p.v());h.assert(f.get_loyalty_number(c_loyalty_information,p.p()));loyaltyInformation.loyaltyNumber=timapi._TimApiHelpers.getBinaryContent(p)}finally{if(p)p.dispose()}return loyaltyInformation},displayProductInfo:undefined,prepareDisplayProductInfo:function(){let f=timapi._TimApiHelpers.displayProductInfo;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.displayProductInfo={create:g("ta_display_product_info_create",[]),get_image_data:g("ta_display_product_info_get_image_data",["number"]),set_image_data:g("ta_display_product_info_set_image_data",["number"]),get_image_file_width:g("ta_display_product_info_get_image_file_width",["number"]),set_image_file_width:g("ta_display_product_info_set_image_file_width",["number"]),get_image_file_height:g("ta_display_product_info_get_image_file_height",["number"]),set_image_file_height:g("ta_display_product_info_set_image_file_height",["number"]),get_image_file_format:g("ta_display_product_info_get_image_file_format",["number"]),set_image_file_format:g("ta_display_product_info_set_image_file_format",["number"]),get_product_display_name:g("ta_display_product_info_get_product_display_name",["number"]),set_product_display_name:g("ta_display_product_info_set_product_display_name",["number"]),get_background_color:g("ta_display_product_info_get_background_color",["number"]),set_background_color:g("ta_display_product_info_set_background_color",["number"])}}return f},convertDisplayProductInfo:function(displayProductInfo){if(displayProductInfo===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareDisplayProductInfo();let wa_display_product_info,wa_obj,s,b;let mem_color;try{wa_display_product_info=new timapi._TimApiHelpers.TAObject;wa_obj=new timapi._TimApiHelpers.TAObject;s=new timapi._TimApiHelpers.TAString;h.assert(f.create(wa_display_product_info.p()));if(displayProductInfo.imageData!==undefined){b=timapi._TimApiHelpers.TAString.createFromUint8Array(displayProductInfo.imageData)}else{b=new timapi._TimApiHelpers.TAObject}h.assert(f.set_image_data(wa_display_product_info.v(),b.v()));h.assert(f.set_product_display_name(wa_display_product_info.v(),s.replaceOrUndef(displayProductInfo.productDisplayName)));h.assert(f.set_image_file_width(wa_display_product_info.v(),displayProductInfo.imageFileWidth));h.assert(f.set_image_file_height(wa_display_product_info.v(),displayProductInfo.imageFileHeight));h.assert(f.set_image_file_format(wa_display_product_info.v(),displayProductInfo.imageFileFormat._value));mem_color=h.col(displayProductInfo.backgroundColor);if(mem_color!==0){h.assert(f.set_background_color(wa_display_product_info.v(),mem_color));Module._free(mem_color);mem_color=0}}catch(err){if(wa_display_product_info)wa_display_product_info.dispose();throw err}finally{if(mem_color!==0)Module._free(mem_color);if(wa_obj)wa_obj.dispose();if(b)b.dispose();if(s)s.dispose()}return wa_display_product_info},unwrapDisplayProductInfo:function(c_display_product_info){if(c_display_product_info===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareDisplayProductInfo();let displayProductInfo=new timapi.displayProductInfo;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_item_id(c_display_product_info,p.p()));displayProductInfo.itemId=h.contentOfIfValid(p);h.assert(f.get_prod_description(c_display_product_info,p.p()));displayProductInfo.prodDescription=h.contentOfIfValid(p);h.assert(f.get_amount(c_display_product_info,p.p()));displayProductInfo.amount=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_item_quantity(c_display_product_info,p.p()));displayProductInfo.itemQuantity=timapi._TimApiHelpers.unwrapItemQuantity(p.v());h.assert(f.get_amount_total(c_display_product_info,p.p()));displayProductInfo.amountTotal=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_loyalty_discounts(c_display_product_info,p.p()));let loyaltyDiscounts=[];h.lit(p.v(),function(c_loyalty_discount){loyaltyDiscounts.push(timapi._TimApiHelpers.unwrapLoyaltyDiscount(c_loyalty_discount))});displayProductInfo.loyaltyDiscounts=loyaltyDiscounts;h.assert(f.get_loyalty_coupons(c_display_product_info,p.p()));let loyaltyCoupons=[];h.lit(p.v(),function(c_loyalty_coupon){loyaltyCoupons.push(timapi._TimApiHelpers.unwrapLoyaltyCoupon(c_loyalty_coupon))});displayProductInfo.loyaltyCoupons=loyaltyCoupons}finally{if(p)p.dispose()}return displayProductInfo},loyaltyItem:undefined,prepareLoyaltyItem:function(){let f=timapi._TimApiHelpers.loyaltyItem;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.loyaltyItem={create:g("ta_loyalty_item_create",[]),get_item_id:g("ta_loyalty_item_get_item_id",["number"]),set_item_id:g("ta_loyalty_item_set_item_id",["number"]),get_prod_description:g("ta_loyalty_item_get_prod_description",["number"]),set_prod_description:g("ta_loyalty_item_set_prod_description",["number"]),get_amount:g("ta_loyalty_item_get_amount",["number"]),set_amount:g("ta_loyalty_item_set_amount",["number"]),get_item_quantity:g("ta_loyalty_item_get_item_quantity",["number"]),set_item_quantity:g("ta_loyalty_item_set_item_quantity",["number"]),get_amount_total:g("ta_loyalty_item_get_amount_total",["number"]),set_amount_total:g("ta_loyalty_item_set_amount_total",["number"]),get_loyalty_discounts:g("ta_loyalty_item_get_loyalty_discounts",["number"]),get_loyalty_coupons:g("ta_loyalty_item_get_loyalty_coupons",["number"]),get_display_product_info:g("ta_loyalty_item_get_display_product_info",["number"]),set_display_product_info:g("ta_loyalty_item_set_display_product_info",["number"])}}return f},convertLoyaltyItem:function(loyaltyItem){if(loyaltyItem===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareLoyaltyItem();let f_list=timapi._TimApiHelpers.prepareList();let wa_loyalty_item,wa_loyalty_discounts,wa_loyalty_coupons,wa_obj,s;try{wa_loyalty_item=new timapi._TimApiHelpers.TAObject;wa_loyalty_discounts=new timapi._TimApiHelpers.TAObject;wa_loyalty_coupons=new timapi._TimApiHelpers.TAObject;wa_obj=new timapi._TimApiHelpers.TAObject;s=new timapi._TimApiHelpers.TAString;h.assert(f.create(wa_loyalty_item.p()));h.assert(f.set_item_id(wa_loyalty_item.v(),s.replaceOrUndef(loyaltyItem.itemId)));h.assert(f.set_prod_description(wa_loyalty_item.v(),s.replaceOrUndef(loyaltyItem.prodDescription)));wa_obj.takeover(timapi._TimApiHelpers.convertAmount(loyaltyItem.amount));h.assert(f.set_amount(wa_loyalty_item.v(),wa_obj.v()));wa_obj.takeover(timapi._TimApiHelpers.convertItemQuantity(loyaltyItem.itemQuantity));h.assert(f.set_item_quantity(wa_loyalty_item.v(),wa_obj.v()));wa_obj.takeover(timapi._TimApiHelpers.convertAmount(loyaltyItem.amountTotal));h.assert(f.set_amount_total(wa_loyalty_item.v(),wa_obj.v()));wa_obj.takeover(timapi._TimApiHelpers.convertDisplayProductInfo(loyaltyItem.displayProductInfo));h.assert(f.set_display_product_info(wa_loyalty_item.v(),wa_obj.v()))}catch(err){if(wa_loyalty_item)wa_loyalty_item.dispose();throw err}finally{if(wa_loyalty_discounts)wa_loyalty_discounts.dispose();if(wa_loyalty_coupons)wa_loyalty_coupons.dispose();if(wa_obj)wa_obj.dispose();if(s)s.dispose()}return wa_loyalty_item},unwrapLoyaltyItem:function(c_loyalty_item){if(c_loyalty_item===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareLoyaltyItem();let loyaltyItem=new timapi.LoyaltyItem;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_item_id(c_loyalty_item,p.p()));loyaltyItem.itemId=h.contentOfIfValid(p);h.assert(f.get_prod_description(c_loyalty_item,p.p()));loyaltyItem.prodDescription=h.contentOfIfValid(p);h.assert(f.get_amount(c_loyalty_item,p.p()));loyaltyItem.amount=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_item_quantity(c_loyalty_item,p.p()));loyaltyItem.itemQuantity=timapi._TimApiHelpers.unwrapItemQuantity(p.v());h.assert(f.get_amount_total(c_loyalty_item,p.p()));loyaltyItem.amountTotal=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_loyalty_discounts(c_loyalty_item,p.p()));let loyaltyDiscounts=[];h.lit(p.v(),function(c_loyalty_discount){loyaltyDiscounts.push(timapi._TimApiHelpers.unwrapLoyaltyDiscount(c_loyalty_discount))});loyaltyItem.loyaltyDiscounts=loyaltyDiscounts;h.assert(f.get_loyalty_coupons(c_loyalty_item,p.p()));let loyaltyCoupons=[];h.lit(p.v(),function(c_loyalty_coupon){loyaltyCoupons.push(timapi._TimApiHelpers.unwrapLoyaltyCoupon(c_loyalty_coupon))});loyaltyItem.loyaltyCoupons=loyaltyCoupons}finally{if(p)p.dispose()}return loyaltyItem},unwrapLoyaltyItemList:function(c_loyalty_item_list){if(c_loyalty_item_list===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let list=[];h.lit(c_loyalty_item_list,function(c_loyalty_item){list.push(timapi._TimApiHelpers.unwrapLoyaltyItem(c_loyalty_item))});return list},map:undefined,prepareMap:function(){let f=timapi._TimApiHelpers.map;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.map={create:g("ta_map_create"),set:g("ta_map_set",["number","number"]),remove:g("ta_map_remove",["number"]),remove_all:g("ta_map_remove_all"),has:g("ta_map_has",["number","number"]),get_count:g("ta_map_get_count",["number"]),get:g("ta_map_get",["number","number"]),get_default:g("ta_map_get_default",["number","number","number"]),get_at:g("ta_map_get_at",["number","number","number"])}}return f},convertNSMap:function(nsMap){if(nsMap===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareMap();let wa_map,i,s;try{wa_map=new timapi._TimApiHelpers.TAObject;i=new timapi._TimApiHelpers.TAInteger;s=new timapi._TimApiHelpers.TAString;h.assert(f.create(wa_map.p()));for(let[key,value]of nsMap){h.assert(f.set(wa_map.v(),i.replace(key),s.replace(value)))}}catch(err){if(wa_map)wa_map.dispose();throw err}finally{if(i)i.dispose();if(s)s.dispose()}return wa_map},convertESMap:function(esMap){if(esMap===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareMap();let wa_map,i,s;try{wa_map=new timapi._TimApiHelpers.TAObject;i=new timapi._TimApiHelpers.TAInteger;s=new timapi._TimApiHelpers.TAString;h.assert(f.create(wa_map.p()));for(let[key,value]of esMap){if(key!==undefined){h.assert(f.set(wa_map.v(),i.replace(key._value),s.replace(value)))}}}catch(err){if(wa_map)wa_map.dispose();throw err}finally{if(i)i.dispose();if(s)s.dispose()}return wa_map},convertEBMap:function(ebMap){if(ebMap===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareMap();let wa_map,i,b;try{wa_map=new timapi._TimApiHelpers.TAObject;i=new timapi._TimApiHelpers.TAInteger;b=new timapi._TimApiHelpers.TAString;h.assert(f.create(wa_map.p()));for(let[key,value]of ebMap){if(key!==undefined){h.assert(f.set(wa_map.v(),i.replace(key._value),b.replaceUint8Array(value)))}}}catch(err){if(wa_map)wa_map.dispose();throw err}finally{if(i)i.dispose();if(b)b.dispose()}return wa_map},unwrapNSMap:function(c_ns_map){if(c_ns_map===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareMap();let nsMap=new Map;let p,p2;try{p=new timapi._TimApiHelpers.TAPointer;p2=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_count(c_ns_map,p.p()));let count=p.v();for(let i=0;i<count;i++){h.assert(f.get_at(c_ns_map,i,p.p(),p2.p()));if(p.isValid()){let key=timapi._TimApiHelpers.unwrapInteger(p.v());nsMap.set(key,h.contentOfIfValid(p2))}}}finally{if(p)p.dispose();if(p2)p2.dispose()}return nsMap},unwrapESMap:function(enumeration,c_es_map){if(c_es_map===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareMap();let esMap=new Map;let p,p2;try{p=new timapi._TimApiHelpers.TAPointer;p2=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_count(c_es_map,p.p()));let count=p.v();for(let i=0;i<count;i++){h.assert(f.get_at(c_es_map,i,p.p(),p2.p()));if(p.isValid()){let key=timapi._TimApiHelpers.unwrapInteger(p.v());esMap.set(h.ebv(enumeration,key),h.contentOfIfValid(p2))}}}finally{if(p)p.dispose();if(p2)p2.dispose()}return esMap},unwrapEBMap:function(enumeration,c_eb_map){if(c_eb_map===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareMap();let ebMap=new Map;let p,p2;try{p=new timapi._TimApiHelpers.TAPointer;p2=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_count(c_eb_map,p.p()));let count=p.v();for(let i=0;i<count;i++){h.assert(f.get_at(c_eb_map,i,p.p(),p2.p()));if(p.isValid()){let key=timapi._TimApiHelpers.unwrapInteger(p.v());ebMap.set(h.ebv(enumeration,key),h.contentOfUint8ArrayIfValid(p2))}}}finally{if(p)p.dispose();if(p2)p2.dispose()}return ebMap},unwrapSSMap:function(c_ss_map){if(c_ss_map===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareMap();let ssMap=new Map;let p,p2;try{p=new timapi._TimApiHelpers.TAPointer;p2=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_count(c_ss_map,p.p()));let count=p.v();for(let i=0;i<count;i++){h.assert(f.get_at(c_ss_map,i,p.p(),p2.p()));if(p.isValid()){ssMap.set(h.contentOfIfValid(p),h.contentOfIfValid(p2))}}}finally{if(p)p.dispose();if(p2)p2.dispose()}return ssMap},unwrapSBMap:function(c_sb_map){if(c_sb_map===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareMap();let sbMap=new Map;let p,p2;try{p=new timapi._TimApiHelpers.TAPointer;p2=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_count(c_sb_map,p.p()));let count=p.v();for(let i=0;i<count;i++){h.assert(f.get_at(c_sb_map,i,p.p(),p2.p()));if(p.isValid()){sbMap.set(h.contentOfIfValid(p),timapi._TimApiHelpers.getBinaryContent(p2))}}}finally{if(p)p.dispose();if(p2)p2.dispose()}return sbMap},merchantOption:undefined,prepareMerchantOption:function(){let f=timapi._TimApiHelpers.merchantOption;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.merchantOption={create:g("ta_merchant_option_create",["number"],["number"]),get_type:g("ta_merchant_option_get_type",["number"]),get_value:g("ta_merchant_option_get_value",["number"])}}return f},convertMerchantOption:function(merchantOption){if(merchantOption===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareMerchantOption();let wa_merchant_option,s;try{wa_merchant_option=new timapi._TimApiHelpers.TAObject;s=new timapi._TimApiHelpers.TAString;h.assert(f.create(wa_merchant_option.p(),merchantOption.type._value,s.replace(merchantOption.value)))}catch(err){if(wa_merchant_option)wa_merchant_option.dispose();throw err}finally{if(s)s.dispose()}return wa_merchant_option},unwrapMerchantOption:function(c_merchant_option){if(c_merchant_option===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareMerchantOption();let merchantOption=undefined;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_type(c_merchant_option,p.p()));let type=h.ebv(timapi.constants.MerchantOptionType,p.v());h.assert(f.get_value(c_merchant_option,p.p()));let value=h.contentOfIfValid(p);merchantOption=new timapi.MerchantOption(type,value)}finally{if(p)p.dispose()}return merchantOption},nativeError:undefined,prepareNativeError:function(){let f=timapi._TimApiHelpers.nativeError;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.nativeError={get_code:g("ta_native_error_get_code",["number"]),get_message:g("ta_native_error_get_message",["number"]),get_source:g("ta_native_error_get_source",["number"])}}return f},unwrapNativeError:function(c_native_error){if(c_native_error===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareNativeError();let nativeError=new timapi.NativeError;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_code(c_native_error,p.p()));nativeError.code=p.v();h.assert(f.get_message(c_native_error,p.p()));nativeError.message=h.contentOfIfValid(p);h.assert(f.get_source(c_native_error,p.p()));nativeError.source=h.contentOfIfValid(p)}finally{if(p)p.dispose()}return nativeError},networkInformation:undefined,prepareNetworkInformation:function(){let f=timapi._TimApiHelpers.networkInformation;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.networkInformation={get_terminal_ip:g("ta_network_information_get_terminal_ip",["number"]),get_terminal_ip_mask:g("ta_network_information_get_terminal_ip_mask",["number"]),get_terminal_ip_gw:g("ta_network_information_get_terminal_ip_gw",["number"]),get_terminal_ip_dns:g("ta_network_information_get_terminal_ip_dns",["number"])}}return f},unwrapNetworkInformation:function(c_network_information){if(c_network_information===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareNetworkInformation();let networkInformation=new timapi.NetworkInformation;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_terminal_ip(c_network_information,p.p()));networkInformation.terminalIp=h.contentOfIfValid(p);h.assert(f.get_terminal_ip_mask(c_network_information,p.p()));networkInformation.terminalIpMask=h.contentOfIfValid(p);h.assert(f.get_terminal_ip_gw(c_network_information,p.p()));networkInformation.terminalIpGw=h.contentOfIfValid(p);h.assert(f.get_terminal_ip_dns(c_network_information,p.p()));networkInformation.terminalIpDns=h.contentOfIfValid(p)}finally{if(p)p.dispose()}return Object.freeze(networkInformation)},ppInfo:undefined,preparePpInfo:function(){let f=timapi._TimApiHelpers.ppInfo;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.ppInfo={get_payment_protocol:g("ta_ppinfo_get_payment_protocol",["number"]),get_pp_ep2_trans_seq_cnt:g("ta_ppinfo_get_pp_ep2_trans_seq_cnt",["number"]),get_pp_ep2_trans_seq_cnt_orig:g("ta_ppinfo_get_pp_ep2_trans_seq_cnt_orig",["number"]),get_pp_ep2_auth_reslt:g("ta_ppinfo_get_pp_ep2_auth_reslt",["number"]),get_pp_ep2_auth_resp_c:g("ta_ppinfo_get_pp_ep2_auth_resp_c",["number"])}}return f},unwrapPpInfo:function(c_ppinfo){if(c_ppinfo===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.preparePpInfo();let ppInfo=new timapi.PpInfo;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_payment_protocol(c_ppinfo,p.p()));ppInfo.paymentProtocol=h.ebv(timapi.constants.PaymentProtocol,p.v());h.assert(f.get_pp_ep2_trans_seq_cnt(c_ppinfo,p.p()));ppInfo.ppEp2TransSeqCnt=timapi._TimApiHelpers.unwrapInteger(p.v());h.assert(f.get_pp_ep2_trans_seq_cnt_orig(c_ppinfo,p.p()));ppInfo.ppEp2TransSeqCntOrig=timapi._TimApiHelpers.unwrapInteger(p.v());h.assert(f.get_pp_ep2_auth_reslt(c_ppinfo,p.p()));ppInfo.ppEp2AuthReslt=timapi._TimApiHelpers.unwrapInteger(p.v());h.assert(f.get_pp_ep2_auth_resp_c(c_ppinfo,p.p()));ppInfo.ppEp2AuthRespC=h.contentOfIfValid(p)}finally{if(p)p.dispose()}return ppInfo},printData:undefined,preparePrintData:function(){let f=timapi._TimApiHelpers.printData;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.printData={get_receipts:g("ta_print_data_get_receipts",["number"]),get_receipt_items:g("ta_print_data_get_receipt_items",["number"])}}return f},unwrapPrintData:function(c_print_data){if(c_print_data===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.preparePrintData();let printData=new timapi.PrintData;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_receipts(c_print_data,p.p()));let receipts=[];h.lit(p.v(),function(c_receipt){receipts.push(timapi._TimApiHelpers.unwrapReceipt(c_receipt))});printData.receipts=receipts;h.assert(f.get_receipt_items(c_print_data,p.p()));let receiptItems=[];h.lit(p.v(),function(receipt_items){receiptItems.push(timapi._TimApiHelpers.unwrapReceiptItems(receipt_items))});printData.receiptItems=receiptItems}finally{if(p)p.dispose()}return Object.freeze(printData)},printOption:undefined,preparePrintOption:function(){let f=timapi._TimApiHelpers.printOption;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.printOption={create:g("ta_print_option_create",["number","number","number","number"]),get_recipient:g("ta_print_option_get_recipient",["number"]),get_print_format:g("ta_print_option_get_print_format",["number"]),get_print_width:g("ta_print_option_get_print_width",["number"]),get_print_flags:g("ta_print_option_get_print_flags",["number"])}}return f},convertPrintOption:function(printOption){if(printOption===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.preparePrintOption();let wa_print_option;try{wa_print_option=new timapi._TimApiHelpers.TAObject;h.assert(f.create(wa_print_option.p(),printOption.recipient._value,printOption.printFormat._value,printOption.printWidth,h.eSet_t_eBit(printOption.printFlags)))}catch(err){if(wa_print_option)wa_print_option.dispose();throw err}finally{}return wa_print_option},unwrapPrintOption:function(c_print_option){if(c_print_option===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.preparePrintOption();let printOption;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_recipient(c_print_option,p.p()));let recipient=h.ebv(timapi.constants.Recipient,p.v());h.assert(f.get_print_format(c_print_option,p.p()));let printFormat=h.ebv(timapi.constants.PrintFormat,p.v());h.assert(f.get_print_width(c_print_option,p.p()));let printWidth=p.v();h.assert(f.get_print_flags(c_print_option,p.p()));let printFlags=h.eBit_t_eSet(timapi.constants.PrintFlag,p.v());printOption=new timapi.PrintOption(recipient,printFormat,printWidth,printFlags)}finally{if(p)p.dispose()}return printOption},receipt:undefined,prepareReceipt:function(){let f=timapi._TimApiHelpers.receipt;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.receipt={get_recipient:g("ta_receipt_get_recipient",["number"]),get_value:g("ta_receipt_get_value",["number"])}}return f},unwrapReceipt:function(c_receipt){if(c_receipt===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareReceipt();let receipt=new timapi.Receipt;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_recipient(c_receipt,p.p()));receipt.recipient=h.ebv(timapi.constants.Recipient,p.v());h.assert(f.get_value(c_receipt,p.p()));receipt.value=h.contentOfIfValid(p)}finally{if(p)p.dispose()}return Object.freeze(receipt)},receiptItem:undefined,prepareReceiptItem:function(){let f=timapi._TimApiHelpers.receiptItem;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.receiptItem={get_receipt_item_type:g("ta_receipt_item_get_receipt_item_type",["number"]),get_recipient:g("ta_receipt_item_get_recipient",["number"]),get_value:g("ta_receipt_item_get_value",["number"])}}return f},unwrapReceiptItem:function(c_receipt_item){if(c_receipt_item===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareReceiptItem();let receiptItem=new timapi.ReceiptItem;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_receipt_item_type(c_receipt_item,p.p()));receiptItem.receiptItemType=h.ebv(timapi.constants.ReceiptItemType,p.v());h.assert(f.get_recipient(c_receipt_item,p.p()));receiptItem.recipient=h.ebv(timapi.constants.Recipient,p.v());h.assert(f.get_value(c_receipt_item,p.p()));receiptItem.value=h.contentOfIfValid(p)}finally{if(p)p.dispose()}return Object.freeze(receiptItem)},receiptItems:undefined,prepareReceiptItems:function(){let f=timapi._TimApiHelpers.receiptItems;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.receiptItems={get_type:g("ta_receipt_items_get_receipt_type",["number"]),get_receipt_item:g("ta_receipt_items_get_receipt_item",["number"])}}return f},unwrapReceiptItems:function(c_receipt_items){if(c_receipt_items===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareReceiptItems();let receiptItems=new timapi.ReceiptItems;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_type(c_receipt_items,p.p()));receiptItems.receiptType=h.ebv(timapi.constants.ReceiptType,p.v());h.assert(f.get_receipt_item(c_receipt_items,p.p()));let receiptItem=[];h.lit(p.v(),function(c_receipt_item){receiptItem.push(timapi._TimApiHelpers.unwrapReceiptItem(c_receipt_item))});receiptItems.receiptItem=receiptItem}finally{if(p)p.dispose()}return Object.freeze(receiptItems)},receiptRequestResponse:undefined,prepareReceiptRequestResponse:function(){let f=timapi._TimApiHelpers.receiptRequestResponse;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.receiptRequestResponse={get_print_data:g("ta_receipt_request_response_get_print_data",["number"]),get_has_more_receipts:g("ta_receipt_request_response_get_has_more_receipts",["number"])}}return f},unwrapReceiptRequestResponse:function(c_receipt_request_response){if(c_receipt_request_response===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareReceiptRequestResponse();let receiptRequestResponse=new timapi.ReceiptRequestResponse;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_print_data(c_receipt_request_response,p.p()));receiptRequestResponse.printData=timapi._TimApiHelpers.unwrapPrintData(p.v());h.assert(f.get_has_more_receipts(c_receipt_request_response,p.p()));receiptRequestResponse.hasMoreReceipts=h.bc_c_t_js(p.v())}finally{if(p)p.dispose()}return Object.freeze(receiptRequestResponse)},reconciliationResponse:undefined,prepareReconciliationResponse:function(){let f=timapi._TimApiHelpers.reconciliationResponse;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.reconciliationResponse={get_counters:g("ta_reconciliation_response_get_counters",["number"]),get_print_data:g("ta_reconciliation_response_get_print_data",["number"])}}return f},unwrapReconciliationResponse:function(c_reconciliation_response){if(c_reconciliation_response===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareReconciliationResponse();let reconciliationResponse=new timapi.ReconciliationResponse;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_counters(c_reconciliation_response,p.p()));reconciliationResponse.counters=timapi._TimApiHelpers.unwrapCounters(p.v());h.assert(f.get_print_data(c_reconciliation_response,p.p()));reconciliationResponse.printData=timapi._TimApiHelpers.unwrapPrintData(p.v())}finally{if(p)p.dispose()}return Object.freeze(reconciliationResponse)},showDialogRequest:undefined,prepareShowDialogRequest:function(){let f=timapi._TimApiHelpers.showDialogRequest;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.showDialogRequest={create:g("ta_show_dialog_request_create",["number"]),set_brand_bar:g("ta_show_dialog_request_set_brand_bar",["number"]),set_brand_mode:g("ta_show_dialog_request_set_brand_mode",["number"]),set_resource_id:g("ta_show_dialog_request_set_resource_id",["number"]),set_theme:g("ta_show_dialog_request_set_theme",["number"]),set_timeout:g("ta_show_dialog_request_set_timeout",["number"]),set_language:g("ta_show_dialog_request_set_language",["number"]),set_placeholder_items:g("ta_show_dialog_request_set_placeholder_items",["number"]),set_resource_parameters:g("ta_show_dialog_request_set_resource_parameters",["number"])}}return f},convertShowDialogRequest:function(showDialogRequest){if(showDialogRequest===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareShowDialogRequest();let f_list=timapi._TimApiHelpers.prepareList();let wa_show_dialog_request,wa_obj,wa_list,s,i;try{wa_show_dialog_request=new timapi._TimApiHelpers.TAObject;wa_list=new timapi._TimApiHelpers.TAObject;wa_obj=new timapi._TimApiHelpers.TAObject;s=new timapi._TimApiHelpers.TAString;i=new timapi._TimApiHelpers.TAInteger;h.assert(f.create(wa_show_dialog_request.p()));h.assert(f_list.create(wa_list.p()));for(let brandBar of showDialogRequest.brandBar){h.assert(f_list.add(wa_list.v(),i.replaceOrUndef(brandBar._value)))}h.assert(f.set_brand_bar(wa_show_dialog_request.v(),wa_list.v()));h.assert(f.set_brand_mode(wa_show_dialog_request.v(),showDialogRequest.brandMode._value));h.assert(f.set_resource_id(wa_show_dialog_request.v(),showDialogRequest.resourceId._value));h.assert(f.set_theme(wa_show_dialog_request.v(),showDialogRequest.theme._value));h.assert(f.set_timeout(wa_show_dialog_request.v(),showDialogRequest.timeout));h.assert(f.set_language(wa_show_dialog_request.v(),s.replaceOrUndef(showDialogRequest.language)));wa_obj.takeover(timapi._TimApiHelpers.convertNSMap(showDialogRequest.placeholderItems));h.assert(f.set_placeholder_items(wa_show_dialog_request.v(),wa_obj.v()));wa_obj.takeover(timapi._TimApiHelpers.convertESMap(showDialogRequest.resourceParameters));h.assert(f.set_resource_parameters(wa_show_dialog_request.v(),wa_obj.v()))}catch(err){if(wa_show_dialog_request)wa_show_dialog_request.dispose();throw err}finally{if(s)s.dispose();if(i)i.dispose();if(wa_obj)wa_obj.dispose();if(wa_list)wa_list.dispose()}return wa_show_dialog_request},showDialogResponse:undefined,prepareShowDialogResponse:function(){let f=timapi._TimApiHelpers.showDialogResponse;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.showDialogResponse={get_reason:g("ta_show_dialog_response_get_reason",["number"]),get_user_input:g("ta_show_dialog_response_get_user_input",["number"]),get_card_data:g("ta_show_dialog_response_get_card_data",["number"])}}return f},unwrapShowDialogResponse:function(c_show_dialog_response){if(c_show_dialog_response===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareShowDialogResponse();let showDialogResponse=new timapi.ShowDialogResponse;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_reason(c_show_dialog_response,p.p()));showDialogResponse.reason=h.ebv(timapi.constants.Reason,p.v());h.assert(f.get_user_input(c_show_dialog_response,p.p()));showDialogResponse.userInput=h.contentOfIfValid(p);h.assert(f.get_card_data(c_show_dialog_response,p.p()));showDialogResponse.cardData=timapi._TimApiHelpers.unwrapCardData(p.v())}finally{if(p)p.dispose()}return showDialogResponse},showSignatureCaptureRequest:undefined,prepareShowSignatureCaptureRequest:function(){let f=timapi._TimApiHelpers.showSignatureCaptureRequest;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.showSignatureCaptureRequest={create:g("ta_show_signature_capture_request_create",["number"]),set_brand_bar:g("ta_show_signature_capture_request_set_brand_bar",["number"]),set_brand_mode:g("ta_show_signature_capture_request_set_brand_mode",["number"]),set_background_color:g("ta_show_signature_capture_request_set_background_color",["number"]),set_image_file_format:g("ta_show_signature_capture_request_set_image_file_format",["number"]),set_image_file_width:g("ta_show_signature_capture_request_set_image_file_width",["number"]),set_image_file_height:g("ta_show_signature_capture_request_set_image_file_height",["number"]),set_resource_id:g("ta_show_signature_capture_request_set_resource_id",["number"]),set_signature_color:g("ta_show_signature_capture_request_set_signature_color",["number"]),set_theme:g("ta_show_signature_capture_request_set_theme",["number"]),set_timeout:g("ta_show_signature_capture_request_set_timeout",["number"]),set_language:g("ta_show_signature_capture_request_set_language",["number"]),set_watermark_color:g("ta_show_signature_capture_request_set_watermark_color",["number"]),set_watermark_items:g("ta_show_signature_capture_request_set_watermark_items",["number"])}}return f},convertShowSignatureCaptureRequest:function(showSignatureCaptureRequest){if(showSignatureCaptureRequest===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareShowSignatureCaptureRequest();let f_list=timapi._TimApiHelpers.prepareList();let wa_show_signature_capture_request,wa_obj,wa_brand_bar,wa_watermark_items,s,i;let mem_color;try{wa_show_signature_capture_request=new timapi._TimApiHelpers.TAObject;wa_obj=new timapi._TimApiHelpers.TAObject;wa_brand_bar=new timapi._TimApiHelpers.TAObject;wa_watermark_items=new timapi._TimApiHelpers.TAObject;s=new timapi._TimApiHelpers.TAString;i=new timapi._TimApiHelpers.TAInteger;h.assert(f.create(wa_show_signature_capture_request.p()));h.assert(f_list.create(wa_brand_bar.p()));for(let brandBar of showSignatureCaptureRequest.brandBar){h.assert(f_list.add(wa_brand_bar.v(),i.replaceOrUndef(brandBar._value)))}h.assert(f.set_brand_bar(wa_show_signature_capture_request.v(),wa_brand_bar.v()));h.assert(f.set_brand_mode(wa_show_signature_capture_request.v(),showSignatureCaptureRequest.brandMode._value));mem_color=h.col(showSignatureCaptureRequest.backgroundColor);if(mem_color!==0){h.assert(f.set_background_color(wa_show_signature_capture_request.v(),mem_color));Module._free(mem_color);mem_color=0}h.assert(f.set_image_file_format(wa_show_signature_capture_request.v(),showSignatureCaptureRequest.imageFileFormat._value));h.assert(f.set_image_file_width(wa_show_signature_capture_request.v(),showSignatureCaptureRequest.imageFileWidth));h.assert(f.set_image_file_height(wa_show_signature_capture_request.v(),showSignatureCaptureRequest.imageFileHeight));h.assert(f.set_resource_id(wa_show_signature_capture_request.v(),showSignatureCaptureRequest.resourceId._value));mem_color=h.col(showSignatureCaptureRequest.signatureColor);if(mem_color!==0){h.assert(f.set_signature_color(wa_show_signature_capture_request.v(),mem_color));Module._free(mem_color);mem_color=0}h.assert(f.set_theme(wa_show_signature_capture_request.v(),showSignatureCaptureRequest.theme._value));h.assert(f.set_timeout(wa_show_signature_capture_request.v(),showSignatureCaptureRequest.timeout));h.assert(f.set_language(wa_show_signature_capture_request.v(),s.replaceOrUndef(showSignatureCaptureRequest.language)));mem_color=h.col(showSignatureCaptureRequest.watermarkColor);if(mem_color!==0){h.assert(f.set_watermark_color(wa_show_signature_capture_request.v(),mem_color));Module._free(mem_color);mem_color=0}h.assert(f_list.create(wa_watermark_items.p()));for(let watermarkItem of showSignatureCaptureRequest.watermarkItems){h.assert(f_list.add(wa_watermark_items.v(),s.replaceOrUndef(watermarkItem)))}h.assert(f.set_watermark_items(wa_show_signature_capture_request.v(),wa_watermark_items.v()))}catch(err){if(wa_show_signature_capture_request)wa_show_signature_capture_request.dispose();throw err}finally{if(mem_color!==0)Module._free(mem_color);if(wa_obj)wa_obj.dispose();if(wa_brand_bar)wa_brand_bar.dispose();if(wa_watermark_items)wa_watermark_items.dispose();if(s)s.dispose();if(i)i.dispose()}return wa_show_signature_capture_request},showSignatureCaptureResponse:undefined,prepareShowSignatureCaptureResponse:function(){let f=timapi._TimApiHelpers.showSignatureCaptureResponse;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.showSignatureCaptureResponse={get_reason:g("ta_show_signature_capture_response_get_reason",["number"]),get_image_file_format:g("ta_show_signature_capture_response_get_image_file_format",["number"]),get_image_width:g("ta_show_signature_capture_response_get_image_width",["number"]),get_image_height:g("ta_show_signature_capture_response_get_image_height",["number"]),get_image_data:g("ta_show_signature_capture_response_get_image_data",["number"])}}return f},unwrapShowSignatureCaptureResponse:function(c_show_signature_capture_response){if(c_show_signature_capture_response===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareShowSignatureCaptureResponse();let showSignatureCaptureResponse=new timapi.ShowSignatureCaptureResponse;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_reason(c_show_signature_capture_response,p.p()));showSignatureCaptureResponse.reason=h.ebv(timapi.constants.Reason,p.v());h.assert(f.get_image_file_format(c_show_signature_capture_response,p.p()));showSignatureCaptureResponse.imageFileFormat=h.ebv(timapi.constants.ImageFileFormat,p.v());h.assert(f.get_image_width(c_show_signature_capture_response,p.p()));showSignatureCaptureResponse.imageWidth=p.v();h.assert(f.get_image_height(c_show_signature_capture_response,p.p()));showSignatureCaptureResponse.imageHeight=p.v();h.assert(f.get_image_data(c_show_signature_capture_response,p.p()));showSignatureCaptureResponse.imageData=timapi._TimApiHelpers.getBinaryContent(p)}finally{if(p)p.dispose()}return showSignatureCaptureResponse},signatureInformation:undefined,prepareSignatureInformation:function(){let f=timapi._TimApiHelpers.signatureInformation;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.signatureInformation={get_image_file_format:g("ta_signature_information_get_image_file_format",["number"]),get_image_width:g("ta_signature_information_get_image_width",["number"]),get_image_height:g("ta_signature_information_get_image_height",["number"]),get_image_data:g("ta_signature_information_get_image_data",["number"])}}return f},unwrapSignatureInformation:function(c_signature_information){if(c_signature_information===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareSignatureInformation();let signatureInformation=new timapi.SignatureInformation;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_image_file_format(c_signature_information,p.p()));signatureInformation.imageFileFormat=h.ebv(timapi.constants.ImageFileFormat,p.v());h.assert(f.get_image_width(c_signature_information,p.p()));signatureInformation.imageWidth=p.v();h.assert(f.get_image_height(c_signature_information,p.p()));signatureInformation.imageHeight=p.v();h.assert(f.get_image_data(c_signature_information,p.p()));signatureInformation.imageData=timapi._TimApiHelpers.getBinaryContent(p)}finally{if(p)p.dispose()}return Object.freeze(signatureInformation)},systemInformationResponse:undefined,prepareSystemInformationResponse:function(){let f=timapi._TimApiHelpers.systemInformationResponse;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.systemInformationResponse={get_network_information:g("ta_system_information_response_get_network_information",["number"])}}return f},unwrapSystemInformationResponse:function(c_system_information){if(c_system_information===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareSystemInformationResponse();let systemInformationResponse=new timapi.SystemInformationResponse;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_network_information(c_system_information,p.p()));systemInformationResponse.networkInformation=timapi._TimApiHelpers.unwrapNetworkInformation(p.v())}finally{if(p)p.dispose()}return Object.freeze(systemInformationResponse)},vasResult:undefined,prepareVasResult:function(){let f=timapi._TimApiHelpers.vasResult;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.vasResult={create:g("ta_vas_result_create",["number","number"]),get_vas_information_list_type:g("ta_vas_result_get_vas_information_list_type",["number"]),get_vas_information:g("ta_vas_result_get_vas_information",["number"])}}return f},convertVasResult:function(vasResult){if(vasResult===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareVasResult();let wa_vasresult,wa_map;try{wa_vasresult=new timapi._TimApiHelpers.TAObject;wa_map=timapi._TimApiHelpers.convertEBMap(vasResult.vasInformation);h.assert(f.create(wa_vasresult.p(),vasResult.vasInfoListType._value,wa_map.v()))}catch(err){if(wa_vasresult)wa_vasresult.dispose();throw err}finally{if(wa_map)wa_map.dispose()}return wa_vasresult},unwrapVasResult:function(c_vasresult){if(c_vasresult===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareVasResult();let vasResult=new timapi.VasResult;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_vas_information_list_type(c_vasresult,p.p()));vasResult.vasInfoListType=h.ebv(timapi.constants.VasInfoListType,p.v());h.assert(f.get_vas_information(c_vasresult,p.p()));vasResult.vasInformation=timapi._TimApiHelpers.unwrapEBMap(timapi.constants.VasInfoType,p.v())}finally{if(p)p.dispose()}return vasResult},terminal:undefined,terminalMap:{},prepareTerminal:function(){let t=timapi._TimApiHelpers.terminal;if(!t){let g=timapi._TimApiHelpers.getFunction;t=timapi._TimApiHelpers.terminal={activate_async:g("ta_terminal_activate_async"),activate_service_menu_async:g("ta_terminal_activate_service_menu_async"),amt_adjustment:g("ta_terminal_amt_adjustment",["number"]),amt_adjustment_2:g("ta_terminal_amt_adjustment_2",["number","number","number","number"]),application_information_async:g("ta_terminal_application_information_async"),balance_async:g("ta_terminal_balance_async"),balance_inquiry_async:g("ta_terminal_balance_inquiry_async"),cancel:g("ta_terminal_cancel"),cancel2:g("ta_terminal_cancel2",["number","number"]),change_settings_async:g("ta_terminal_change_settings_async",["number"]),close_dialog_mode_async:g("ta_terminal_close_dialog_mode_async"),close_maintenance_window_async:g("ta_terminal_close_maintenance_window_async"),close_reader_async:g("ta_terminal_close_reader_async"),commit_async:g("ta_terminal_commit_async"),commit_amount_async:g("ta_terminal_commit_amount_async",["number"]),connect_async:g("ta_terminal_connect_async"),counter_request_async:g("ta_terminal_counter_request_async",["number"]),create:g("ta_terminal_create",["number"]),dcc_rates_async:g("ta_terminal_dcc_rates_async"),deactivate_async:g("ta_terminal_deactivate_async"),disconnect_async:g("ta_terminal_disconnect_async"),dispose:g("ta_terminal_dispose"),eject_card_async:g("ta_terminal_eject_card_async"),finish_checkout_async:g("ta_terminal_finish_checkout_async"),hardware_information_async:g("ta_terminal_hardware_information_async"),hold_commit:g("ta_terminal_hold_commit"),init_transaction_async:g("ta_terminal_init_transaction_async",["number","number"]),init_transaction2_async:g("ta_terminal_init_transaction2_async",["number","number","number"]),login_async:g("ta_terminal_login_async"),logout_async:g("ta_terminal_logout_async"),loyalty_data_async:g("ta_terminal_loyalty_data_async",["number","number","number","number"]),open_dialog_mode_async:g("ta_terminal_open_dialog_mode_async"),open_maintenance_window_async:g("ta_terminal_open_maintenance_window_async"),open_reader_async:g("ta_terminal_open_reader_async"),provide_loyalty_basket_async:g("ta_terminal_provide_loyalty_basket_async",["number"]),provide_vas_result_async:g("ta_terminal_provide_vas_result_async",["number"]),reboot_async:g("ta_terminal_reboot_async"),receipt_request_async:g("ta_terminal_receipt_request_async",["number"]),reconciliation_async:g("ta_terminal_reconciliation_async",["number"]),reconfig_async:g("ta_terminal_reconfig_async"),rollback_async:g("ta_terminal_rollback_async"),send_card_command_async:g("ta_terminal_send_card_command_async",["number"]),show_dialog_async:g("ta_terminal_show_dialog_async",["number"]),show_signature_capture_async:g("ta_terminal_show_signature_capture_async",["number"]),print_on_terminal_async:g("ta_terminal_print_on_terminal_async",["number"]),software_update_async:g("ta_terminal_software_update_async"),start_checkout_async:g("ta_terminal_start_checkout_async"),system_information_async:g("ta_terminal_system_information_async"),transaction_async:g("ta_terminal_transaction_async",["number","number"]),transaction2_async:g("ta_terminal_transaction2_async",["number","number"]),transaction_cashback_async:g("ta_terminal_transaction_cashback_async",["number","number","number"]),transaction_tip_async:g("ta_terminal_transaction_tip_async",["number","number","number"]),device_maintenance_async:g("ta_terminal_device_maintenance_async",["number"]),get_act_seq_counter:g("ta_terminal_get_act_seq_counter",["number"]),get_brands:g("ta_terminal_get_brands",["number"]),get_config_data:g("ta_terminal_get_config_data",["number"]),get_license:g("ta_terminal_get_license",["number"]),can_dcc:g("ta_terminal_can_dcc",["number"]),can_declined_receipts:g("ta_terminal_can_declined_receipts",["number"]),get_ecr_data:g("ta_terminal_get_ecr_data",["number"]),set_ecr_data:g("ta_terminal_set_ecr_data",["number"]),add_ecr_data:g("ta_terminal_add_ecr_data",["number"]),get_features:g("ta_terminal_get_features",["number","number"]),get_merchant_options:g("ta_terminal_get_merchant_options",["number"]),set_merchant_options:g("ta_terminal_set_merchant_options",["number"]),can_multi_account_selection:g("ta_terminal_can_multi_account_selection",["number"]),get_pos_id:g("ta_terminal_get_pos_id",["number"]),set_pos_id:g("ta_terminal_set_pos_id",["number"]),get_print_options:g("ta_terminal_get_print_options",["number"]),set_print_options:g("ta_terminal_set_print_options",["number"]),get_settings:g("ta_terminal_get_settings",["number"]),has_sw_update:g("ta_terminal_has_sw_update",["number"]),get_terminal_id:g("ta_terminal_get_terminal_id",["number"]),get_terminal_status:g("ta_terminal_get_terminal_status",["number"]),get_transaction_data:g("ta_terminal_get_transaction_data",["number"]),set_transaction_data:g("ta_terminal_set_transaction_data",["number"]),get_user_id:g("ta_terminal_get_user_id",["number"]),set_user_id:g("ta_terminal_set_user_id",["number"]),set_receipt_formatter:g("ta_terminal_set_receipt_formatter",["number"])}}return t},terminalSettings:undefined,prepareTerminalSettings:function(){let f=timapi._TimApiHelpers.terminalSettings;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.terminalSettings={create:g("ta_terminal_settings_create"),set_connection_mode:g("ta_terminal_settings_set_connection_mode",["number"]),get_connection_ip_string:g("ta_terminal_settings_get_connection_ip_string",["number"]),set_connection_ip_string:g("ta_terminal_settings_set_connection_ip_string",["number"]),get_connection_ip_port:g("ta_terminal_settings_get_connection_ip_port",["number"]),set_connection_ip_port:g("ta_terminal_settings_set_connection_ip_port",["number"]),get_protocol_type:g("ta_terminal_settings_get_protocol_type",["number"]),set_protocol_type:g("ta_terminal_settings_set_protocol_type",["number"]),get_integrator_id:g("ta_terminal_settings_get_integrator_id",["number"]),set_integrator_id:g("ta_terminal_settings_set_integrator_id",["number"]),get_guides:g("ta_terminal_settings_get_guides",["number"]),set_guides:g("ta_terminal_settings_set_guides",["number"]),get_manufacturer_flags:g("ta_terminal_settings_get_manufacturer_flags",["number"]),set_manufacturer_flags:g("ta_terminal_settings_set_manufacturer_flags",["number"]),is_fetch_brands:g("ta_terminal_settings_is_fetch_brands",["number"]),set_fetch_brands:g("ta_terminal_settings_set_fetch_brands",["number"]),is_auto_commit:g("ta_terminal_settings_is_auto_commit",["number"]),set_auto_commit:g("ta_terminal_settings_set_auto_commit",["number"]),is_auto_shift_management:g("ta_terminal_settings_is_auto_shift_management",["number"]),set_auto_shift_management:g("ta_terminal_settings_set_auto_shift_management",["number"]),is_auto_shutter_management:g("ta_terminal_settings_is_auto_shutter_management",["number"]),set_auto_shutter_management:g("ta_terminal_settings_set_auto_shutter_management",["number"]),get_card_insertion_timeout:g("ta_terminal_settings_get_card_insertion_timeout",["number"]),set_card_insertion_timeout:g("ta_terminal_settings_set_card_insertion_timeout",["number"]),get_card_removal_timeout:g("ta_terminal_settings_get_card_removal_timeout",["number"]),set_card_removal_timeout:g("ta_terminal_settings_set_card_removal_timeout",["number"]),get_commit_timeout:g("ta_terminal_settings_get_commit_timeout",["number"]),set_commit_timeout:g("ta_terminal_settings_set_commit_timeout",["number"]),get_proceed_timeout:g("ta_terminal_settings_get_proceed_timeout",["number"]),set_proceed_timeout:g("ta_terminal_settings_set_proceed_timeout",["number"]),is_dcc:g("ta_terminal_settings_is_dcc",["number"]),set_dcc:g("ta_terminal_settings_set_dcc",["number"]),is_partial_approval:g("ta_terminal_settings_is_partial_approval",["number"]),set_partial_approval:g("ta_terminal_settings_set_partial_approval",["number"]),is_allow_closed_card_insert:g("ta_terminal_settings_is_allow_closed_card_insert",["number"]),set_allow_closed_card_insert:g("ta_terminal_settings_set_allow_closed_card_insert",["number"]),is_tip_allowed:g("ta_terminal_settings_is_tip_allowed",["number"]),set_tip_allowed:g("ta_terminal_settings_set_tip_allowed",["number"]),is_fast_ntf_mode:g("ta_terminal_settings_is_fast_ntf_mode",["number"]),set_fast_ntf_mode:g("ta_terminal_settings_set_fast_ntf_mode",["number"]),get_request_repetition:g("ta_terminal_settings_get_request_repetition",["number"]),set_request_repetition:g("ta_terminal_settings_set_request_repetition",["number"]),is_enabled_keep_alive:g("ta_terminal_settings_is_enabled_keep_alive",["number"]),set_enabled_keep_alive:g("ta_terminal_settings_set_enabled_keep_alive",["number"]),get_persistent_state:g("ta_terminal_settings_get_persistent_state",["number"]),set_persistent_state:g("ta_terminal_settings_set_persistent_state",["number"])}}return f},convertTerminalSettings:function(terminalSettings){if(terminalSettings===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareTerminalSettings();let wa_terminal_settings,s;try{wa_terminal_settings=new timapi._TimApiHelpers.TAObject;s=new timapi._TimApiHelpers.TAString;h.assert(f.create(wa_terminal_settings.p()));h.assert(f.set_connection_mode(wa_terminal_settings.v(),timapi.constants.ConnectionMode.onFixIp._value));h.assert(f.set_connection_ip_string(wa_terminal_settings.v(),s.replaceOrUndef(terminalSettings.connectionIPString)));h.assert(f.set_connection_ip_port(wa_terminal_settings.v(),terminalSettings.connectionIPPort));h.assert(f.set_protocol_type(wa_terminal_settings.v(),terminalSettings.protocolType._value));h.assert(f.set_integrator_id(wa_terminal_settings.v(),s.replaceOrUndef(terminalSettings.integratorId)));h.assert(f.set_guides(wa_terminal_settings.v(),h.eSet_t_eBit(terminalSettings.guides)));h.assert(f.set_manufacturer_flags(wa_terminal_settings.v(),terminalSettings.manufacturerFlags));h.assert(f.set_fetch_brands(wa_terminal_settings.v(),h.bc_js_t_c(terminalSettings.fetchBrands)));h.assert(f.set_auto_commit(wa_terminal_settings.v(),h.bc_js_t_c(terminalSettings.autoCommit)));h.assert(f.set_auto_shift_management(wa_terminal_settings.v(),h.bc_js_t_c(terminalSettings.autoShiftManagement)));h.assert(f.set_auto_shutter_management(wa_terminal_settings.v(),h.bc_js_t_c(terminalSettings.autoShutterManagement)));h.assert(f.set_card_insertion_timeout(wa_terminal_settings.v(),terminalSettings.cardInsertionTimeout));h.assert(f.set_card_removal_timeout(wa_terminal_settings.v(),terminalSettings.cardRemovalTimeout));h.assert(f.set_commit_timeout(wa_terminal_settings.v(),terminalSettings.commitTimeout));h.assert(f.set_proceed_timeout(wa_terminal_settings.v(),terminalSettings.proceedTimeout));h.assert(f.set_dcc(wa_terminal_settings.v(),h.bc_js_t_c(terminalSettings.dcc)));h.assert(f.set_partial_approval(wa_terminal_settings.v(),h.bc_js_t_c(terminalSettings.partialApproval)));h.assert(f.set_allow_closed_card_insert(wa_terminal_settings.v(),h.bc_js_t_c(terminalSettings.allowClosedCardInsert)));h.assert(f.set_tip_allowed(wa_terminal_settings.v(),h.bc_js_t_c(terminalSettings.tipAllowed)));h.assert(f.set_fast_ntf_mode(wa_terminal_settings.v(),h.bc_js_t_c(terminalSettings.fastNtfMode)));h.assert(f.set_request_repetition(wa_terminal_settings.v(),terminalSettings.requestRepetition));h.assert(f.set_enabled_keep_alive(wa_terminal_settings.v(),h.bc_js_t_c(terminalSettings.enableKeepAlive)));h.assert(f.set_persistent_state(wa_terminal_settings.v(),h.bc_js_t_c(terminalSettings.persistentState)))}catch(err){if(wa_terminal_settings)wa_terminal_settings.dispose();throw err}finally{if(s)s.dispose()}return wa_terminal_settings},terminalStatus:undefined,unwrapTerminalStatus:function(c_terminal_status){if(c_terminal_status===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.terminalStatus;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.terminalStatus={get_display_content:g("ta_terminal_status_get_display_content",["number"]),get_connection_status:g("ta_terminal_status_get_connection_status",["number"]),get_management_status:g("ta_terminal_status_get_management_status",["number"]),get_card_reader_status:g("ta_terminal_status_get_card_reader_status",["number"]),get_transaction_status:g("ta_terminal_status_get_transaction_status",["number"]),get_sleep_mode_status:g("ta_terminal_status_get_sleep_mode_status",["number"]),get_receipt_information:g("ta_terminal_status_get_receipt_information",["number"]),get_card_data:g("ta_terminal_status_get_card_data",["number"]),get_sw_update_available:g("ta_terminal_status_get_sw_update_available",["number"]),get_final_amount:g("ta_terminal_status_get_final_amount",["number"])}}let p;let status=new timapi.TerminalStatus;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_display_content(c_terminal_status,p.p()));let displayContent=[];h.lit(p.v(),function(c_display_content){displayContent.push(timapi._TimApiHelpers.TAString.unwrapString(c_display_content))});status.displayContent=displayContent;h.assert(f.get_connection_status(c_terminal_status,p.p()));status.connectionStatus=h.ebv(timapi.constants.ConnectionStatus,p.v());h.assert(f.get_management_status(c_terminal_status,p.p()));status.managementStatus=h.ebv(timapi.constants.ManagementStatus,p.v());h.assert(f.get_card_reader_status(c_terminal_status,p.p()));status.cardReaderStatus=h.ebv(timapi.constants.CardReaderStatus,p.v());h.assert(f.get_transaction_status(c_terminal_status,p.p()));status.transactionStatus=h.ebv(timapi.constants.TransactionStatus,p.v());h.assert(f.get_sleep_mode_status(c_terminal_status,p.p()));if(p.isValid()){status.sleepModeStatus=h.ebv(timapi.constants.SleepModeStatus,p.v())}h.assert(f.get_receipt_information(c_terminal_status,p.p()));status.receiptInformation=h.bc_c_t_js(p.v());h.assert(f.get_card_data(c_terminal_status,p.p()));if(p.isValid()){status.cardData=timapi._TimApiHelpers.unwrapCardData(p.v())}h.assert(f.get_sw_update_available(c_terminal_status,p.p()));status.swUpdateAvailable=h.bc_c_t_js(p.v());h.assert(f.get_final_amount(c_terminal_status,p.p()));if(p.isValid()){status.finalAmount=timapi._TimApiHelpers.unwrapAmountFinal(p.v())}}finally{if(p)p.dispose()}return Object.freeze(status)},timeDate:undefined,prepareTimeDate:function(){let f=timapi._TimApiHelpers.timeDate;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.timeDate={create:g("ta_timedate_create",["number"]),get_values:g("ta_timedate_get_values",["number"])}}return f},convertTimeDate:function(timeDate){if(timeDate===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareTimeDate();let wa_timedate;let mem_timedate;try{mem_timedate=Module._malloc(24);if(mem_timedate!=0){Module.setValue(mem_timedate,timeDate.year,"i32");Module.setValue(mem_timedate+4,timeDate.month,"i32");Module.setValue(mem_timedate+8,timeDate.day,"i32");Module.setValue(mem_timedate+12,timeDate.hour,"i32");Module.setValue(mem_timedate+16,timeDate.minute,"i32");Module.setValue(mem_timedate+20,timeDate.second,"i32")}wa_timedate=new timapi._TimApiHelpers.TAObject;h.assert(f.create(wa_timedate.p(),mem_timedate))}catch(err){if(wa_timedate)wa_timedate.dispose();throw err}finally{if(mem_timedate)Module._free(mem_timedate)}return wa_timedate},unwrapTimeDate:function(c_timedate){if(c_timedate===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareTimeDate();let timeDate=new timapi.TimeDate;let p;try{p=Module._malloc(24);h.assert(f.get_values(c_timedate,p));if(p!=0){timeDate.year=Module.getValue(p,"i32");timeDate.month=Module.getValue(p+4,"i32");timeDate.day=Module.getValue(p+8,"i32");timeDate.hour=Module.getValue(p+12,"i32");timeDate.minute=Module.getValue(p+16,"i32");timeDate.second=Module.getValue(p+20,"i32")}}finally{if(p)Module._free(p)}return timeDate},subTransaction:undefined,prepareSubTransaction:function(){let f=timapi._TimApiHelpers.subTransaction;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.subTransaction={create:g("ta_sub_transaction_create",["number"]),set_function:g("ta_sub_transaction_set_function",["number"]),set_amount:g("ta_sub_transaction_set_amount",["number"]),set_rate:g("ta_sub_transaction_set_rate",["number"]),set_rate_exponent:g("ta_sub_transaction_set_rate_exponent",["number"])}}return f},convertSubTransaction:function(subTransaction){if(subTransaction===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareSubTransaction();let wa_subTransaction,wa_amount;try{wa_subTransaction=new timapi._TimApiHelpers.TAObject;h.assert(f.create(wa_subTransaction.p()));h.assert(f.set_function(wa_subTransaction.v(),subTransaction.function._value));h.assert(f.set_rate(wa_subTransaction.v(),subTransaction.rate));h.assert(f.set_rate_exponent(wa_subTransaction.v(),subTransaction.rateExponent));wa_amount=new timapi._TimApiHelpers.TAObject;wa_amount.takeover(timapi._TimApiHelpers.convertAmount(subTransaction.amount));h.assert(f.set_amount(wa_subTransaction.v(),wa_amount.v()))}catch(err){if(wa_subTransaction)wa_subTransaction.dispose();throw err}finally{if(wa_amount)wa_amount.dispose()}return wa_subTransaction},convertSubTransactions:function(subTransactions){if(subTransactions===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareList();let wa_list,wa_item;try{wa_list=new timapi._TimApiHelpers.TAObject;h.assert(f.create(wa_list.p()));wa_item=new timapi._TimApiHelpers.TAObject;subTransactions.forEach(function(subTransaction){wa_item.takeover(timapi._TimApiHelpers.convertSubTransaction(subTransaction));h.assert(f.add(wa_list.v(),wa_item.v()))})}finally{if(wa_item)wa_item.dispose()}return wa_list},timError:undefined,prepareTimError:function(){let f=timapi._TimApiHelpers.timError;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.timError={get_result_code:g("ta_tim_error_get_result_code",["number"]),get_error_message:g("ta_tim_error_get_error_message",["number"]),get_native_error:g("ta_tim_error_get_native_error",["number"]),get_ppinfo:g("ta_tim_error_get_ppinfo",["number"]),get_additional_error_info:g("ta_tim_error_get_additional_error_info",["number"]),get_print_data:g("ta_tim_error_get_print_data",["number"]),get_rejected_basket:g("ta_tim_error_get_rejected_basket",["number"])}}return f},unwrapTimError:function(c_tim_error,resultCode){let timException;if(c_tim_error===0){if(resultCode!==undefined&&resultCode._value!==timapi.constants.ResultCode.ok._value){timException=new timapi.TimException(resultCode)}return timException}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareTimError();let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_error_message(c_tim_error,p.p()));let errorText=h.contentOfIfValid(p);timException=new timapi.TimException(resultCode,errorText);h.assert(f.get_result_code(c_tim_error,p.p()));timException.resultCode=h.ebv(timapi.constants.ResultCode,p.v());h.assert(f.get_native_error(c_tim_error,p.p()));timException.nativeError=timapi._TimApiHelpers.unwrapNativeError(p.v());h.assert(f.get_ppinfo(c_tim_error,p.p()));timException.ppInfo=timapi._TimApiHelpers.unwrapPpInfo(p.v());h.assert(f.get_additional_error_info(c_tim_error,p.p()));timException.additionalErrorInfo=timapi._TimApiHelpers.unwrapSSMap(p.v());h.assert(f.get_print_data(c_tim_error,p.p()));timException.printData=timapi._TimApiHelpers.unwrapPrintData(p.v());h.assert(f.get_rejected_basket(c_tim_error,p.p()));timException.rejectedBasket=timapi._TimApiHelpers.unwrapBasket(p.v())}finally{if(p)p.dispose()}return timException},total:undefined,prepareTotal:function(){let f=timapi._TimApiHelpers.total;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.total={get_count:g("ta_total_get_count",["number"]),get_amount_sum:g("ta_total_get_amount_sum",["number"]),get_amount_sum_tip:g("ta_total_get_amount_sum_tip",["number"]),get_amount_sum_other:g("ta_total_get_amount_sum_other",["number"]),get_trx_details:g("ta_total_get_trx_details",["number"]),get_currency:g("ta_total_get_currency",["number"]),get_exponent:g("ta_total_get_exponent",["number"])}}return f},unwrapTotal:function(c_total){if(c_total===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareTotal();let total=new timapi.Total;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_count(c_total,p.p()));total.count=p.v();h.assert(f.get_amount_sum(c_total,p.p()));total.amountSum=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_amount_sum_tip(c_total,p.p()));total.amountSumTip=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_amount_sum_other(c_total,p.p()));total.amountSumOther=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_trx_details(c_total,p.p()));let trxDetails=[];h.lit(p.v(),function(c_trx_details){trxDetails.push(timapi._TimApiHelpers.unwrapTrxDetail(c_trx_details))});total.trxDetails=trxDetails;h.assert(f.get_currency(c_total,p.p()));total.currency=h.cbv(timapi.constants.Currency,p.v()-1);h.assert(f.get_exponent(c_total,p.p()));total.exponent=p.v()}finally{if(p)p.dispose()}return Object.freeze(total)},transactionData:undefined,prepareTransactionData:function(){let f=timapi._TimApiHelpers.transactionData;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.transactionData={create:g("ta_transaction_data_create",[]),get_dcc_allowed:g("ta_transaction_data_get_dcc_allowed",["number"]),set_dcc_allowed:g("ta_transaction_data_set_dcc_allowed",["number"]),get_trx_original_date:g("ta_transaction_data_get_trx_original_date",["number"]),set_trx_original_date:g("ta_transaction_data_set_trx_original_date",["number"]),get_ecr_seq_counter:g("ta_transaction_data_get_ecr_seq_counter",["number"]),set_ecr_seq_counter:g("ta_transaction_data_set_ecr_seq_counter",["number"]),get_partial_approval_allowed:g("ta_transaction_data_get_partial_approval_allowed",["number"]),set_partial_approval_allowed:g("ta_transaction_data_set_partial_approval_allowed",["number"]),get_trans_ref:g("ta_transaction_data_get_trans_ref",["number"]),set_trans_ref:g("ta_transaction_data_set_trans_ref",["number"]),get_trans_seq:g("ta_transaction_data_get_trans_seq",["number"]),set_trans_seq:g("ta_transaction_data_set_trans_seq",["number"]),get_card_ref:g("ta_transaction_data_get_card_ref",["number"]),set_card_ref:g("ta_transaction_data_set_card_ref",["number"]),get_acq_id:g("ta_transaction_data_get_acq_id",["number"]),set_acq_id:g("ta_transaction_data_set_acq_id",["number"]),get_acq_trans_ref:g("ta_transaction_data_get_acq_trans_ref",["number"]),set_acq_trans_ref:g("ta_transaction_data_set_acq_trans_ref",["number"]),get_trm_trans_ref:g("ta_transaction_data_get_trm_trans_ref",["number"]),set_trm_trans_ref:g("ta_transaction_data_set_trm_trans_ref",["number"]),get_tip_allowed:g("ta_transaction_data_get_tip_allowed",["number"]),set_tip_allowed:g("ta_transaction_data_set_tip_allowed",["number"]),get_phone_auth_code:g("ta_transaction_data_get_phone_auth_code",["number"]),set_phone_auth_code:g("ta_transaction_data_set_phone_auth_code",["number"]),get_language:g("ta_transaction_data_get_language",["number"]),set_language:g("ta_transaction_data_set_language",["number"]),get_multi_currency_flag:g("ta_transaction_data_get_multi_currency_flag",["number"]),set_multi_currency_flag:g("ta_transaction_data_set_multi_currency_flag",["number"]),get_ngv_mode:g("ta_transaction_data_get_ngv_mode",["number"]),set_ngv_mode:g("ta_transaction_data_set_ngv_mode",["number"]),get_ngv_clearing_delay:g("ta_transaction_data_get_ngv_clearing_delay",["number"]),set_ngv_clearing_delay:g("ta_transaction_data_set_ngv_clearing_delay",["number"]),get_cvc2:g("ta_transaction_data_get_cvc2",["number"]),set_cvc2:g("ta_transaction_data_set_cvc2",["number"]),get_app_expiration_date:g("ta_transaction_data_get_app_expiration_date",["number"]),set_app_expiration_date:g("ta_transaction_data_set_app_expiration_date",["number"]),get_six_trx_ref_num:g("ta_transaction_data_get_six_trx_ref_num",["number"]),set_six_trx_ref_num:g("ta_transaction_data_set_six_trx_ref_num",["number"]),get_installment_allowed:g("ta_transaction_data_get_installment_allowed",["number"]),set_installment_allowed:g("ta_transaction_data_set_installment_allowed",["number"]),get_deferred_auth_ind:g("ta_transaction_data_get_deferred_auth_ind",["number"]),set_deferred_auth_ind:g("ta_transaction_data_set_deferred_auth_ind",["number"]),get_transaction_reason:g("ta_transaction_data_get_transaction_reason",["number"]),set_transaction_reason:g("ta_transaction_data_set_transaction_reason",["number"]),get_sub_transactions:g("ta_transaction_data_get_sub_transactions",["number"]),set_sub_transactions:g("ta_transaction_data_set_sub_transactions",["number"])}}return f},convertTransactionData:function(transactionData){if(transactionData===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareTransactionData();let wa_transaction_data,s,i;let wa_timedate,wa_appExpirationDate,wa_subTransactions;try{wa_transaction_data=new timapi._TimApiHelpers.TAObject;s=new timapi._TimApiHelpers.TAString;i=new timapi._TimApiHelpers.TAInteger;h.assert(f.create(wa_transaction_data.p()));h.assert(f.set_dcc_allowed(wa_transaction_data.v(),h.bc_js_t_c(transactionData.dccAllowed)));wa_timedate=timapi._TimApiHelpers.convertTimeDate(transactionData.trxOriginalDate);h.assert(f.set_trx_original_date(wa_transaction_data.v(),wa_timedate.v()));h.assert(f.set_ecr_seq_counter(wa_transaction_data.v(),i.replaceOrUndef(transactionData.ecrSeqCounter)));h.assert(f.set_partial_approval_allowed(wa_transaction_data.v(),h.bc_js_t_c(transactionData.partialApprovalAllowed)));h.assert(f.set_trans_ref(wa_transaction_data.v(),i.replaceOrUndef(transactionData.transRef)));h.assert(f.set_trans_seq(wa_transaction_data.v(),i.replaceOrUndef(transactionData.transSeq)));h.assert(f.set_card_ref(wa_transaction_data.v(),s.replaceOrUndef(transactionData.cardRef)));h.assert(f.set_acq_id(wa_transaction_data.v(),i.replaceOrUndef(transactionData.acqId)));h.assert(f.set_acq_trans_ref(wa_transaction_data.v(),s.replaceOrUndef(transactionData.acqTransRef)));h.assert(f.set_trm_trans_ref(wa_transaction_data.v(),s.replaceOrUndef(transactionData.trmTransRef)));h.assert(f.set_tip_allowed(wa_transaction_data.v(),h.bc_js_t_c(transactionData.tipAllowed)));h.assert(f.set_phone_auth_code(wa_transaction_data.v(),s.replaceOrUndef(transactionData.phoneAuthCode)));h.assert(f.set_language(wa_transaction_data.v(),s.replaceOrUndef(transactionData.language)));h.assert(f.set_multi_currency_flag(wa_transaction_data.v(),h.bc_js_t_c(transactionData.multiCurrencyFlag)));if(transactionData.ngvMode){h.assert(f.set_ngv_mode(wa_transaction_data.v(),transactionData.ngvMode._value))}h.assert(f.set_ngv_clearing_delay(wa_transaction_data.v(),transactionData.ngvClearingDelay));h.assert(f.set_cvc2(wa_transaction_data.v(),i.replaceOrUndef(transactionData.cvc2)));wa_appExpirationDate=timapi._TimApiHelpers.convertTimeDate(transactionData.appExpirationDate);h.assert(f.set_app_expiration_date(wa_transaction_data.v(),wa_appExpirationDate.v()));h.assert(f.set_six_trx_ref_num(wa_transaction_data.v(),s.replaceOrUndef(transactionData.sixTrxRefNum)));h.assert(f.set_installment_allowed(wa_transaction_data.v(),h.bc_js_t_c(transactionData.installmentAllowed)));h.assert(f.set_deferred_auth_ind(wa_transaction_data.v(),h.bc_js_t_c(transactionData.deferredAuthInd)));if(transactionData.transactionReason){h.assert(f.set_transaction_reason(wa_transaction_data.v(),transactionData.transactionReason._value))}wa_subTransactions=timapi._TimApiHelpers.convertSubTransactions(transactionData.subTransactions);h.assert(f.set_sub_transactions(wa_transaction_data.v(),wa_subTransactions.v()))}catch(err){if(wa_transaction_data)wa_transaction_data.dispose();throw err}finally{if(s)s.dispose();if(i)i.dispose();if(wa_timedate)wa_timedate.dispose();if(wa_appExpirationDate)wa_appExpirationDate.dispose();if(wa_subTransactions)wa_subTransactions.dispose()}return wa_transaction_data},unwrapTransactionData:function(c_transaction_data){if(c_transaction_data===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareTransactionData();let transactionData=new timapi.TransactionData;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_dcc_allowed(c_transaction_data,p.p()));transactionData.dccAllowed=h.bc_c_t_js(p.v());h.assert(f.get_trx_original_date(c_transaction_data,p.p()));transactionData.trxOriginalDate=timapi._TimApiHelpers.unwrapTimeDate(p.v());h.assert(f.get_ecr_seq_counter(c_transaction_data,p.p()));transactionData.ecrSeqCounter=timapi._TimApiHelpers.unwrapInteger(p.v());h.assert(f.get_partial_approval_allowed(c_transaction_data,p.p()));transactionData.partialApprovalAllowed=h.bc_c_t_js(p.v());h.assert(f.get_trans_ref(c_transaction_data,p.p()));transactionData.transRef=timapi._TimApiHelpers.unwrapInteger(p.v());h.assert(f.get_trans_seq(c_transaction_data,p.p()));transactionData.transSeq=timapi._TimApiHelpers.unwrapInteger(p.v());h.assert(f.get_card_ref(c_transaction_data,p.p()));transactionData.cardRef=h.contentOfIfValid(p);h.assert(f.get_acq_id(c_transaction_data,p.p()));transactionData.acqId=timapi._TimApiHelpers.unwrapInteger(p.v());h.assert(f.get_acq_trans_ref(c_transaction_data,p.p()));transactionData.acqTransRef=h.contentOfIfValid(p);h.assert(f.get_trm_trans_ref(c_transaction_data,p.p()));transactionData.trmTransRef=h.contentOfIfValid(p);h.assert(f.get_tip_allowed(c_transaction_data,p.p()));transactionData.tipAllowed=h.bc_c_t_js(p.v());h.assert(f.get_phone_auth_code(c_transaction_data,p.p()));transactionData.phoneAuthCode=h.contentOfIfValid(p);h.assert(f.get_language(c_transaction_data,p.p()));transactionData.language=h.contentOfIfValid(p);h.assert(f.get_multi_currency_flag(c_transaction_data,p.p()));transactionData.multiCurrencyFlag=h.bc_c_t_js(p.v());h.assert(f.get_ngv_mode(c_transaction_data,p.p()));transactionData.ngvMode=h.ebv(timapi.constants.NgvMode,p.v());h.assert(f.get_ngv_clearing_delay(c_transaction_data,p.p()));transactionData.ngvClearingDelay=p.v();h.assert(f.get_six_trx_ref_num(c_transaction_data,p.p()));transactionData.sixTrxRefNum=h.contentOfIfValid(p);h.assert(f.get_installment_allowed(c_transaction_data,p.p()));transactionData.installmentAllowed=h.contentOfIfValid(p);h.assert(f.get_deferred_auth_ind(c_transaction_data,p.p()));transactionData.deferredAuthInd=h.contentOfIfValid(p);h.assert(f.get_transaction_reason(c_transaction_data,p.p()));transactionData.transactionReason=h.ebv(timapi.constants.TransactionReason,p.v())}finally{if(p)p.dispose()}return transactionData},transactionInformation:undefined,prepareTransactionInformation:function(){let f=timapi._TimApiHelpers.transactionInformation;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.transactionInformation={get_pos_entry_mode:g("ta_transaction_information_get_pos_entry_mode",["number"]),get_cvm:g("ta_transaction_information_get_cvm",["number"]),get_merchant_action:g("ta_transaction_information_get_merchant_action",["number"]),get_auth_code:g("ta_transaction_information_get_auth_code",["number"]),get_time_stamp:g("ta_transaction_information_get_time_stamp",["number"]),get_trans_ref:g("ta_transaction_information_get_trans_ref",["number"]),get_trans_seq:g("ta_transaction_information_get_trans_seq",["number"]),get_acq:g("ta_transaction_information_get_acq",["number"]),get_signature_information:g("ta_transaction_information_get_signature_information",["number"]),get_trm_trans_ref:g("ta_transaction_information_get_trm_trans_ref",["number"]),get_acq_trans_ref:g("ta_transaction_information_get_acq_trans_ref",["number"]),get_six_trx_ref_num:g("ta_transaction_information_get_six_trx_ref_num",["number"]),get_cardholder_name:g("ta_transaction_information_get_cardholder_name",["number"]),get_client_identifier:g("ta_transaction_information_get_client_identifier",["number"]),get_account_number:g("ta_transaction_information_get_account_number",["number"]),get_person_oid:g("ta_transaction_information_get_person_oid",["number"]),get_card_id:g("ta_transaction_information_get_card_id",["number"]),get_ngv_used_flag:g("ta_transaction_information_get_ngv_used_flag",["number"])}}return f},unwrapTransactionInformation:function(c_transaction_information){if(c_transaction_information===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareTransactionInformation();let transactionInformation=new timapi.TransactionInformation;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_pos_entry_mode(c_transaction_information,p.p()));transactionInformation.posEntryMode=h.ebv(timapi.constants.PosEntryMode,p.v());h.assert(f.get_cvm(c_transaction_information,p.p()));transactionInformation.cvm=h.ebv(timapi.constants.Cvm,p.v());h.assert(f.get_merchant_action(c_transaction_information,p.p()));transactionInformation.merchantAction=h.ebv(timapi.constants.MerchantAction,p.v());h.assert(f.get_auth_code(c_transaction_information,p.p()));transactionInformation.authCode=h.contentOfIfValid(p);h.assert(f.get_time_stamp(c_transaction_information,p.p()));transactionInformation.timeStamp=timapi._TimApiHelpers.unwrapTimeDate(p.v());h.assert(f.get_trans_ref(c_transaction_information,p.p()));transactionInformation.transRef=timapi._TimApiHelpers.unwrapInteger(p.v());h.assert(f.get_trans_seq(c_transaction_information,p.p()));transactionInformation.transSeq=timapi._TimApiHelpers.unwrapInteger(p.v());h.assert(f.get_acq(c_transaction_information,p.p()));transactionInformation.acqId=p.v()!==0?p.v():undefined;h.assert(f.get_signature_information(c_transaction_information,p.p()));transactionInformation.signatureInformation=timapi._TimApiHelpers.unwrapSignatureInformation(p.v());h.assert(f.get_trm_trans_ref(c_transaction_information,p.p()));transactionInformation.trmTransRef=h.contentOfIfValid(p);h.assert(f.get_acq_trans_ref(c_transaction_information,p.p()));transactionInformation.acqTransRef=h.contentOfIfValid(p);h.assert(f.get_six_trx_ref_num(c_transaction_information,p.p()));transactionInformation.sixTrxRefNum=h.contentOfIfValid(p);h.assert(f.get_cardholder_name(c_transaction_information,p.p()));transactionInformation.cardholderName=h.contentOfIfValid(p);h.assert(f.get_client_identifier(c_transaction_information,p.p()));transactionInformation.clientIdentifier=h.contentOfIfValid(p);h.assert(f.get_account_number(c_transaction_information,p.p()));transactionInformation.accountNumber=h.contentOfIfValid(p);h.assert(f.get_person_oid(c_transaction_information,p.p()));transactionInformation.personOid=timapi._TimApiHelpers.unwrapInteger(p.v());h.assert(f.get_card_id(c_transaction_information,p.p()));transactionInformation.cardId=h.contentOfIfValid(p);h.assert(f.get_ngv_used_flag(c_transaction_information,p.p()));transactionInformation.ngvUsedFlag=h.bc_c_t_js(p.v())}finally{if(p)p.dispose()}return Object.freeze(transactionInformation)},transactionRequest:undefined,prepareTransactionRequest:function(){let f=timapi._TimApiHelpers.transactionRequest;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.transactionRequest={create:g("ta_transaction_request_create",[]),set_user_id:g("ta_transaction_request_set_user_id",["number"]),set_amount:g("ta_transaction_request_set_amount",["number"]),set_transaction_data:g("ta_transaction_request_set_transaction_data",["number"]),set_merchant_options:g("ta_transaction_request_set_merchant_options",["number"]),set_amount_discount:g("ta_transaction_request_set_amount_discount",["number"]),set_amount_tip:g("ta_transaction_request_set_amount_tip",["number"]),set_basket:g("ta_transaction_request_set_basket",["number"]),set_additional_info:g("ta_transaction_request_set_additional_info",["number"]),set_customer_data:g("ta_transaction_request_set_customer_data",["number"]),set_amount_other:g("ta_transaction_request_set_amount_other",["number"]),set_retain_card:g("ta_transaction_request_set_retain_card",["number"]),set_loyalty_coupon_list:g("ta_transaction_request_set_loyalty_coupon_list",["number"])}}return f},convertTransactionRequest:function(transactionRequest){if(transactionRequest===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareTransactionRequest();let f_list=timapi._TimApiHelpers.prepareList();let wa_transaction_request,wa_obj,wa_merchant_options,wa_loyalty_coupon_list,i;try{wa_transaction_request=new timapi._TimApiHelpers.TAObject;wa_obj=new timapi._TimApiHelpers.TAObject;wa_merchant_options=new timapi._TimApiHelpers.TAObject;wa_loyalty_coupon_list=new timapi._TimApiHelpers.TAObject;i=new timapi._TimApiHelpers.TAInteger;h.assert(f.create(wa_transaction_request.p()));h.assert(f.set_user_id(wa_transaction_request.v(),i.replaceOrUndef(transactionRequest.userId)));wa_obj.takeover(timapi._TimApiHelpers.convertAmount(transactionRequest.amount));h.assert(f.set_amount(wa_transaction_request.v(),wa_obj.v()));wa_obj.takeover(timapi._TimApiHelpers.convertTransactionData(transactionRequest.transactionData));h.assert(f.set_transaction_data(wa_transaction_request.v(),wa_obj.v()));h.assert(f_list.create(wa_merchant_options.p()));for(let merchantOption of transactionRequest.merchantOptions){wa_obj.takeover(timapi._TimApiHelpers.convertMerchantOption(merchantOption));h.assert(f_list.add(wa_merchant_options.v(),wa_obj.v()))}h.assert(f.set_merchant_options(wa_transaction_request.v(),wa_merchant_options.v()));wa_obj.takeover(timapi._TimApiHelpers.convertAmountDiscount(transactionRequest.amountDiscount));h.assert(f.set_amount_discount(wa_transaction_request.v(),wa_obj.v()));wa_obj.takeover(timapi._TimApiHelpers.convertAmount(transactionRequest.amountTip));h.assert(f.set_amount_tip(wa_transaction_request.v(),wa_obj.v()));wa_obj.takeover(timapi._TimApiHelpers.convertBasket(transactionRequest.basket));h.assert(f.set_basket(wa_transaction_request.v(),wa_obj.v()));wa_obj.takeover(timapi._TimApiHelpers.convertNSMap(transactionRequest.additionalInfo));h.assert(f.set_additional_info(wa_transaction_request.v(),wa_obj.v()));wa_obj.takeover(timapi._TimApiHelpers.convertESMap(transactionRequest.customerData));h.assert(f.set_customer_data(wa_transaction_request.v(),wa_obj.v()));wa_obj.takeover(timapi._TimApiHelpers.convertAmount(transactionRequest.amountOther));h.assert(f.set_amount_other(wa_transaction_request.v(),wa_obj.v()));h.assert(f.set_retain_card(wa_transaction_request.v(),h.bc_js_t_c(transactionRequest.retainCard)));h.assert(f_list.create(wa_loyalty_coupon_list.p()));for(let loyaltyCoupon of transactionRequest.loyaltyCouponList){wa_obj.takeover(timapi._TimApiHelpers.convertLoyaltyCoupon(loyaltyCoupon));h.assert(f_list.add(wa_loyalty_coupon_list.v(),wa_obj.v()))}h.assert(f.set_loyalty_coupon_list(wa_transaction_request.v(),wa_loyalty_coupon_list.v()))}catch(err){if(wa_transaction_request)wa_transaction_request.dispose();throw err}finally{if(i)i.dispose();if(wa_obj)wa_obj.dispose();if(wa_merchant_options)wa_merchant_options.dispose();if(wa_loyalty_coupon_list)wa_loyalty_coupon_list.dispose()}return wa_transaction_request},transactionResponse:undefined,prepareTransactionResponse:function(){let f=timapi._TimApiHelpers.transactionResponse;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.transactionResponse={get_type:g("ta_transaction_response_get_type",["number"]),get_amount:g("ta_transaction_response_get_amount",["number"]),get_amount_other:g("ta_transaction_response_get_amount_other",["number"]),get_amount_due:g("ta_transaction_response_get_amount_due",["number"]),get_amount_dcc:g("ta_transaction_response_get_amount_dcc",["number"]),get_amount_saldo:g("ta_transaction_response_get_amount_saldo",["number"]),get_amount_loyalty_cashback:g("ta_transaction_response_get_amount_loyalty_cashback",["number"]),get_transaction_information:g("ta_transaction_response_get_transaction_information",["number"]),get_dcc_disclaimer:g("ta_transaction_response_get_dcc_disclaimer",["number"]),get_card_data:g("ta_transaction_response_get_card_data",["number"]),get_print_data:g("ta_transaction_response_get_print_data",["number"]),get_amount_tip:g("ta_transaction_response_get_amount_tip",["number"]),get_additional_info:g("ta_transaction_response_get_additional_info",["number"]),get_basket:g("ta_transaction_response_get_basket",["number"])}}return f},unwrapTransactionResponse:function(c_transaction_response){if(c_transaction_response===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareTransactionResponse();let transactionResponse=new timapi.TransactionResponse;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_type(c_transaction_response,p.p()));transactionResponse.transactionType=h.ebv(timapi.constants.TransactionType,p.v());h.assert(f.get_amount(c_transaction_response,p.p()));transactionResponse.amount=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_amount_other(c_transaction_response,p.p()));transactionResponse.amountOther=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_amount_due(c_transaction_response,p.p()));transactionResponse.amountDue=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_amount_dcc(c_transaction_response,p.p()));transactionResponse.amountDcc=timapi._TimApiHelpers.unwrapAmountDcc(p.v());h.assert(f.get_amount_saldo(c_transaction_response,p.p()));transactionResponse.amountSaldo=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_amount_loyalty_cashback(c_transaction_response,p.p()));transactionResponse.amountLoyaltyCashback=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_transaction_information(c_transaction_response,p.p()));transactionResponse.transactionInformation=timapi._TimApiHelpers.unwrapTransactionInformation(p.v());h.assert(f.get_dcc_disclaimer(c_transaction_response,p.p()));transactionResponse.dccDisclaimer=h.contentOfIfValid(p);h.assert(f.get_card_data(c_transaction_response,p.p()));transactionResponse.cardData=timapi._TimApiHelpers.unwrapCardData(p.v());h.assert(f.get_print_data(c_transaction_response,p.p()));transactionResponse.printData=timapi._TimApiHelpers.unwrapPrintData(p.v());h.assert(f.get_amount_tip(c_transaction_response,p.p()));transactionResponse.amountTip=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_additional_info(c_transaction_response,p.p()));transactionResponse.additionalInfo=timapi._TimApiHelpers.unwrapNSMap(p.v());h.assert(f.get_basket(c_transaction_response,p.p()));transactionResponse.basket=timapi._TimApiHelpers.unwrapBasket(p.v())}finally{if(p)p.dispose()}return Object.freeze(transactionResponse)},trxDetail:undefined,prepareTrxDetail:function(){let f=timapi._TimApiHelpers.trxDetail;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.trxDetail={get_dcc_flag:g("ta_trx_detail_get_dcc_flag",["number"]),get_transaction_type:g("ta_trx_detail_get_transaction_type",["number"]),get_count:g("ta_trx_detail_get_count",["number"]),get_amount_sum:g("ta_trx_detail_get_amount_sum",["number"]),get_amount_sum_tip:g("ta_trx_detail_get_amount_sum_tip",["number"]),get_amount_sum_other:g("ta_trx_detail_get_amount_sum_other",["number"]),get_aid:g("ta_trx_detail_get_aid",["number"]),get_markup:g("ta_trx_detail_get_markup",["number"]),get_markup_exponent:g("ta_trx_detail_get_markup_exponent",["number"]),get_ngvused_flag:g("ta_trx_detail_get_ngvused_flag",["number"])}}return f},unwrapTrxDetail:function(c_trx_detail){if(c_trx_detail===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareTrxDetail();let trxDetail=new timapi.TrxDetail;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_dcc_flag(c_trx_detail,p.p()));trxDetail.dccFlag=h.bc_c_t_js(p.v());h.assert(f.get_transaction_type(c_trx_detail,p.p()));trxDetail.transactionType=h.ebv(timapi.constants.TransactionType,p.v());h.assert(f.get_count(c_trx_detail,p.p()));trxDetail.count=p.v();h.assert(f.get_amount_sum(c_trx_detail,p.p()));trxDetail.amountSum=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_amount_sum_tip(c_trx_detail,p.p()));trxDetail.amountSumTip=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_amount_sum_other(c_trx_detail,p.p()));trxDetail.amountSumOther=timapi._TimApiHelpers.unwrapAmount(p.v());h.assert(f.get_aid(c_trx_detail,p.p()));trxDetail.aid=h.contentOfIfValid(p);h.assert(f.get_markup(c_trx_detail,p.p()));trxDetail.markup=timapi._TimApiHelpers.unwrapInteger(p.v());h.assert(f.get_markup_exponent(c_trx_detail,p.p()));trxDetail.markupExponent=timapi._TimApiHelpers.unwrapInteger(p.v());h.assert(f.get_ngvused_flag(c_trx_detail,p.p()));trxDetail.ngvUsedFlag=h.bc_c_t_js(p.v())}finally{if(p)p.dispose()}return Object.freeze(trxDetail)},vasCheckoutInformation:undefined,prepareVasCheckoutInformation:function(){let f=timapi._TimApiHelpers.vasCheckoutInformation;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.vasCheckoutInformation={get_loyalty_coupons:g("ta_vas_checkout_information_get_loyalty_coupons",["number"]),get_loyalty_information:g("ta_vas_checkout_information_get_loyalty_information",["number"]),get_provide_basket:g("ta_vas_checkout_information_get_provide_basket",["number"]),get_vas_information:g("ta_vas_checkout_information_get_vas_information",["number"])}}return f},unwrapVasCheckoutInformation:function(c_vas_checkout_information){if(c_vas_checkout_information===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareVasCheckoutInformation();let vasCheckoutInformation=new timapi.VasCheckoutInformation;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_loyalty_coupons(c_vas_checkout_information,p.p()));let loyaltyCoupons=[];h.lit(p.v(),function(c_loyalty_coupon){loyaltyCoupons.push(timapi._TimApiHelpers.unwrapLoyaltyCoupon(c_loyalty_coupon))});vasCheckoutInformation.loyaltyCoupons=loyaltyCoupons;h.assert(f.get_loyalty_information(c_vas_checkout_information,p.p()));let loyaltyInformation=[];h.lit(p.v(),function(c_loyalty_information){loyaltyInformation.push(timapi._TimApiHelpers.unwrapLoyaltyInformation(c_loyalty_information))});vasCheckoutInformation.loyaltyInformation=loyaltyInformation;h.assert(f.get_provide_basket(c_vas_checkout_information,p.p()));vasCheckoutInformation.provideBasket=h.bc_c_t_js(p.v());h.assert(f.get_vas_information(c_vas_checkout_information,p.p()));vasCheckoutInformation.vasInformation=timapi._TimApiHelpers.unwrapSBMap(p.v())}finally{if(p)p.dispose()}return vasCheckoutInformation},screenshotInformation:undefined,prepareScreenshotInformation:function(){let f=timapi._TimApiHelpers.screenshotInformation;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.screenshotInformation={get_image_file_format:g("ta_screenshot_information_get_image_file_format",["number"]),get_image_width:g("ta_screenshot_information_get_image_width",["number"]),get_image_height:g("ta_screenshot_information_get_image_height",["number"]),get_image_data:g("ta_screenshot_information_get_image_data",["number"])}}return f},unwrapScreenshotInformation:function(c_screenshot_information){if(c_screenshot_information===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareScreenshotInformation();let screenshotInformation=new timapi.ScreenshotInformation;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_image_file_format(c_screenshot_information,p.p()));screenshotInformation.imageFileFormat=h.ebv(timapi.constants.ImageFileFormat,p.v());h.assert(f.get_image_width(c_screenshot_information,p.p()));screenshotInformation.imageWidth=p.v();h.assert(f.get_image_height(c_screenshot_information,p.p()));screenshotInformation.imageHeight=p.v();h.assert(f.get_image_data(c_screenshot_information,p.p()));screenshotInformation.imageData=timapi._TimApiHelpers.getBinaryContent(p)}finally{if(p)p.dispose()}return screenshotInformation},terminalGetActSeqCounter:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let p;let actSeqCounter;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(t.get_act_seq_counter(terminal._wao.v(),p.p()));actSeqCounter=p.v()}finally{if(p)p.dispose()}return actSeqCounter},terminalGetBrands:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let brands=[];let wa_list;try{wa_list=new timapi._TimApiHelpers.TAObject;h.assert(t.get_brands(terminal._wao.v(),wa_list.p()));h.lit(wa_list.v(),function(c_brand){brands.push(timapi._TimApiHelpers.unwrapBrand(c_brand))})}finally{if(wa_list)wa_list.dispose()}return brands},terminalGetConfigData:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let configData;let wa_config_data;try{wa_config_data=new timapi._TimApiHelpers.TAObject;h.assert(t.get_config_data(terminal._wao.v(),wa_config_data.p()));configData=timapi._TimApiHelpers.unwrapConfigData(wa_config_data.v())}finally{if(wa_config_data)wa_config_data.dispose()}return configData},terminalGetLicense:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let license;let wa_license;try{wa_license=new timapi._TimApiHelpers.TAObject;h.assert(t.get_license(terminal._wao.v(),wa_license.p()));license=timapi._TimApiHelpers.getBinaryContent(wa_license)}finally{if(wa_license)wa_license.dispose()}return license},terminalCanDcc:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let p;let canDcc;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(t.can_dcc(terminal._wao.v(),p.p()));canDcc=h.bc_c_t_js(p.v())}finally{if(p)p.dispose()}return canDcc},terminalCanDeclinedReceipts:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let p;let canDeclinedReceipts;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(t.can_declined_receipts(terminal._wao.v(),p.p()));canDeclinedReceipts=h.bc_c_t_js(p.v())}finally{if(p)p.dispose()}return canDeclinedReceipts},terminalGetEcrData:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let f=timapi._TimApiHelpers.prepareEcrInfo();let ecrData=[];let wa_list,p;try{wa_list=new timapi._TimApiHelpers.TAObject;p=new timapi._TimApiHelpers.TAPointer;h.assert(t.get_ecr_data(terminal._wao.v(),wa_list.p()));h.lit(wa_list.v(),function(c_ecr_info){let ecrInfo=new timapi.EcrInfo;h.assert(f.get_type(c_ecr_info,p.p()));ecrInfo.type=h.ebv(timapi.constants.EcrInfoType,p.v());h.assert(f.get_name(c_ecr_info,p.p()));ecrInfo.name=h.contentOfIfValid(p);h.assert(f.get_manufacturer_name(c_ecr_info,p.p()));ecrInfo.manufacturerName=h.contentOfIfValid(p);h.assert(f.get_version(c_ecr_info,p.p()));ecrInfo.version=h.contentOfIfValid(p);h.assert(f.get_serial_number(c_ecr_info,p.p()));ecrInfo.serialNumber=h.contentOfIfValid(p);h.assert(f.get_architecture(c_ecr_info,p.p()));ecrInfo.architecture=h.contentOfIfValid(p);h.assert(f.get_integrator_solution(c_ecr_info,p.p()));ecrInfo.integratorSolution=h.contentOfIfValid(p);h.assert(f.get_remote_ip(c_ecr_info,p.p()));ecrInfo.remoteIp=h.contentOfIfValid(p);ecrData.push(ecrInfo)})}finally{if(wa_list)wa_list.dispose();if(p)p.dispose()}return ecrData},terminalSetEcrData:function(terminal,ecrData){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let f=timapi._TimApiHelpers.prepareEcrInfo();let f_list=timapi._TimApiHelpers.prepareList();let wa_list,wa_ecr_info,s;try{wa_list=new timapi._TimApiHelpers.TAObject;wa_ecr_info=new timapi._TimApiHelpers.TAObject;s=new timapi._TimApiHelpers.TAString;h.assert(f_list.create(wa_list.p()));for(let ecrInfo of ecrData){wa_ecr_info.releaseIfValid();h.assert(f.create(wa_ecr_info.p()));h.assert(f.set_type(wa_ecr_info.v(),ecrInfo.type._value));h.assert(f.set_name(wa_ecr_info.v(),s.replaceOrUndef(ecrInfo.name)));h.assert(f.set_manufacturer_name(wa_ecr_info.v(),s.replaceOrUndef(ecrInfo.manufacturerName)));h.assert(f.set_version(wa_ecr_info.v(),s.replaceOrUndef(ecrInfo.version)));h.assert(f.set_serial_number(wa_ecr_info.v(),s.replaceOrUndef(ecrInfo.serialNumber)));h.assert(f.set_architecture(wa_ecr_info.v(),s.replaceOrUndef(ecrInfo.architecture)));h.assert(f.set_integrator_solution(wa_ecr_info.v(),s.replaceOrUndef(ecrInfo.integratorSolution)));h.assert(f.set_remote_ip(wa_ecr_info.v(),s.replaceOrUndef(ecrInfo.remoteIp)));h.assert(f_list.add(wa_list.v(),wa_ecr_info.v()))}h.assert(t.set_ecr_data(terminal._wao.v(),wa_list.v()))}finally{if(wa_list)wa_list.dispose();if(wa_ecr_info)wa_ecr_info.dispose();if(s)s.dispose()}},terminalAddEcrData:function(terminal,ecr_info){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let f=timapi._TimApiHelpers.prepareEcrInfo();let wa_ecr_info,s;try{wa_ecr_info=new timapi._TimApiHelpers.TAObject;s=new timapi._TimApiHelpers.TAString;h.assert(f.create(wa_ecr_info.p()));h.assert(f.set_type(wa_ecr_info.v(),ecr_info.type._value));h.assert(f.set_name(wa_ecr_info.v(),s.replaceOrUndef(ecr_info.name)));h.assert(f.set_manufacturer_name(wa_ecr_info.v(),s.replaceOrUndef(ecr_info.manufacturerName)));h.assert(f.set_version(wa_ecr_info.v(),s.replaceOrUndef(ecr_info.version)));h.assert(f.set_serial_number(wa_ecr_info.v(),s.replaceOrUndef(ecr_info.serialNumber)));h.assert(f.set_architecture(wa_ecr_info.v(),s.replaceOrUndef(ecr_info.architecture)));h.assert(f.set_integrator_solution(wa_ecr_info.v(),s.replaceOrUndef(ecr_info.integratorSolution)));h.assert(f.set_remote_ip(wa_ecr_info.v(),s.replaceOrUndef(ecr_info.remoteIp)));h.assert(t.add_ecr_data(terminal._wao.v(),wa_ecr_info.v()))}finally{if(wa_ecr_info)wa_ecr_info.dispose();if(s)s.dispose()}},terminalGetFeatures:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let features;let mem,p_has_features;try{p_has_features=new timapi._TimApiHelpers.TAPointer;let memSizeFHardware=8*4;let memSizeFPayment=9*4;let memSizeFSixml=21*4;mem=Module._malloc(memSizeFHardware+memSizeFPayment+memSizeFSixml);h.assert(t.get_features(terminal._wao.v(),mem,p_has_features.p()));if(h.bc_c_t_js(p_has_features.v())){features=new timapi.Features;features.hardware=timapi._TimApiHelpers.unwrapFeaturesHardware(mem);features.payment=timapi._TimApiHelpers.unwrapFeaturesPayment(mem+memSizeFHardware);features.sixml=timapi._TimApiHelpers.unwrapFeaturesSixml(mem+memSizeFHardware+memSizeFPayment)}}finally{if(mem)Module._free(mem);if(p_has_features)p_has_features.dispose()}return Object.freeze(features)},unwrapFeaturesHardware:function(mem){let h=timapi._TimApiHelpers.prepareHelpers();let featuresHardware;if(mem!=0){featuresHardware=new timapi.FeaturesHardware;featuresHardware.hasCardholderDisplay=h.bc_c_t_js(Module.getValue(mem,"i32"));featuresHardware.hasMerchantDisplay=h.bc_c_t_js(Module.getValue(mem+4,"i32"));featuresHardware.hasPrinter=h.bc_c_t_js(Module.getValue(mem+8,"i32"));featuresHardware.canSetDisplayBrightness=h.bc_c_t_js(Module.getValue(mem+12,"i32"));featuresHardware.canSetDisplayContrast=h.bc_c_t_js(Module.getValue(mem+16,"i32"));featuresHardware.canSetAlertTones=h.bc_c_t_js(Module.getValue(mem+20,"i32"));featuresHardware.canSetKeypadTones=h.bc_c_t_js(Module.getValue(mem+24,"i32"));featuresHardware.canPowerManagement=h.bc_c_t_js(Module.getValue(mem+28,"i32"))}return Object.freeze(featuresHardware)},unwrapFeaturesPayment:function(mem){let h=timapi._TimApiHelpers.prepareHelpers();let featuresPayment;if(mem!=0){featuresPayment=new timapi.FeaturesPayment;featuresPayment.canDcc=h.bc_c_t_js(Module.getValue(mem,"i32"));featuresPayment.canDeclinedReceipts=h.bc_c_t_js(Module.getValue(mem+4,"i32"));featuresPayment.canPartialApproval=h.bc_c_t_js(Module.getValue(mem+8,"i32"));featuresPayment.canPartialCommit=h.bc_c_t_js(Module.getValue(mem+12,"i32"));featuresPayment.isEp2Available=h.bc_c_t_js(Module.getValue(mem+16,"i32"));featuresPayment.canEp2Dcc=h.bc_c_t_js(Module.getValue(mem+20,"i32"));featuresPayment.canEp2DeclinedReceipts=h.bc_c_t_js(Module.getValue(mem+24,"i32"));featuresPayment.canEp2MultiAccountSelection=h.bc_c_t_js(Module.getValue(mem+28,"i32"));featuresPayment.canEp2MultiContractSelection=h.bc_c_t_js(Module.getValue(mem+32,"i32"))}return Object.freeze(featuresPayment)},unwrapFeaturesSixml:function(mem){let h=timapi._TimApiHelpers.prepareHelpers();let featuresSixml;if(mem!=0){featuresSixml=new timapi.FeaturesSixml;featuresSixml.adminFunctions=h.eBit_t_eSet(timapi.constants.AdminFunctions,Module.getValue(mem,"i32"));featuresSixml.hasAutoCommit=h.ebv(timapi.FeaturesSixml.Support,Module.getValue(mem+4,"i32"));featuresSixml.hasAutoShiftManagement=h.ebv(timapi.FeaturesSixml.Support,Module.getValue(mem+8,"i32"));featuresSixml.hasAutoShutterManagement=h.ebv(timapi.FeaturesSixml.Support,Module.getValue(mem+12,"i32"));featuresSixml.canRequestRepetition=h.bc_c_t_js(Module.getValue(mem+16,"i32"));featuresSixml.financialFunctions=h.eBit_t_eSet(timapi.constants.FinancialTransactions,Module.getValue(mem+20,"i32"));featuresSixml.guides=h.eBit_t_eSet(timapi.constants.Guides,Module.getValue(mem+24,"i32"));featuresSixml.nonFinancialFunctions=h.eBit_t_eSet(timapi.constants.NonFinancialTransactions,Module.getValue(mem+28,"i32"));featuresSixml.protocolLevel=h.ebv(timapi.constants.ProtocolLevel,Module.getValue(mem+32,"i32"));featuresSixml.hasSleepTimer=h.bc_c_t_js(Module.getValue(mem+36,"i32"));featuresSixml.statusFunctions=h.eBit_t_eSet(timapi.constants.StatusFunctions,Module.getValue(mem+40,"i32"));featuresSixml.dialogFunctions=h.eBit_t_eSet(timapi.constants.DialogFunctions,Module.getValue(mem+44,"i32"));featuresSixml.remoteFunctions=h.eBit_t_eSet(timapi.constants.RemoteFunctions,Module.getValue(mem+80,"i32"));featuresSixml.allowsClosedCardInsertion=h.bc_c_t_js(Module.getValue(mem+48,"i32"));featuresSixml.hasFastNtfMode=h.bc_c_t_js(Module.getValue(mem+52,"i32"));featuresSixml.persistentState=h.bc_c_t_js(Module.getValue(mem+56,"i32"));featuresSixml.ep2ReferencedTransaction=h.bc_c_t_js(Module.getValue(mem+60,"i32"));featuresSixml.ep2DeferredAuthorisation=h.bc_c_t_js(Module.getValue(mem+64,"i32"));featuresSixml.deferredAuthorisation=h.bc_c_t_js(Module.getValue(mem+68,"i32"));featuresSixml.ep2CredentialOnFile=h.bc_c_t_js(Module.getValue(mem+72,"i32"));featuresSixml.credentialOnFile=h.bc_c_t_js(Module.getValue(mem+76,"i32"))}return Object.freeze(featuresSixml)},terminalGetMerchantOptions:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let merchantOptions=[];let wa_list,p;try{wa_list=new timapi._TimApiHelpers.TAObject;p=new timapi._TimApiHelpers.TAPointer;h.assert(t.get_merchant_options(terminal._wao.v(),wa_list.p()));h.lit(wa_list.v(),function(c_merchant_option){merchantOptions.push(timapi._TimApiHelpers.unwrapMerchantOption(c_merchant_option))})}finally{if(wa_list)wa_list.dispose();if(p)p.dispose()}return merchantOptions},terminalSetMerchantOptions:function(terminal,merchantOptions){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let f_list=timapi._TimApiHelpers.prepareList();let wa_list,wa_merchant_option;try{wa_list=new timapi._TimApiHelpers.TAObject;wa_merchant_option=new timapi._TimApiHelpers.TAObject;h.assert(f_list.create(wa_list.p()));for(let merchantOption of merchantOptions){wa_merchant_option.takeover(timapi._TimApiHelpers.convertMerchantOption(merchantOption));h.assert(f_list.add(wa_list.v(),wa_merchant_option.v()))}h.assert(t.set_merchant_options(terminal._wao.v(),wa_list.v()))}finally{if(wa_list)wa_list.dispose();if(wa_merchant_option)wa_merchant_option.dispose()}},terminalCanMultiAccountSelection:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let p;let canMultiAccountSelection;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(t.can_multi_account_selection(terminal._wao.v(),p.p()));canMultiAccountSelection=h.bc_c_t_js(p.v())}finally{if(p)p.dispose()}return canMultiAccountSelection},terminalGetPosId:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let s;let posId;try{s=new timapi._TimApiHelpers.TAString;h.assert(t.get_pos_id(terminal._wao.v(),s.p()));posId=s.content()}finally{if(s)s.dispose()}return posId},terminalSetPosId:function(terminal,posId){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let s;try{s=timapi._TimApiHelpers.TAString.create(posId);h.assert(t.set_pos_id(terminal._wao.v(),s.v()))}finally{if(s)s.dispose()}},terminalGetPrintOptions:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let printOptions=[];let wa_list,p;try{wa_list=new timapi._TimApiHelpers.TAObject;p=new timapi._TimApiHelpers.TAPointer;h.assert(t.get_print_options(terminal._wao.v(),wa_list.p()));h.lit(wa_list.v(),function(c_print_option){printOptions.push(timapi._TimApiHelpers.unwrapPrintOption(c_print_option))})}finally{if(wa_list)wa_list.dispose();if(p)p.dispose()}return printOptions},terminalSetPrintOptions:function(terminal,printOptions){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let f_list=timapi._TimApiHelpers.prepareList();let wa_list,wa_print_option;try{wa_list=new timapi._TimApiHelpers.TAObject;wa_print_option=new timapi._TimApiHelpers.TAObject;h.assert(f_list.create(wa_list.p()));for(let printOption of printOptions){wa_print_option.takeover(timapi._TimApiHelpers.convertPrintOption(printOption));h.assert(f_list.add(wa_list.v(),wa_print_option.v()))}h.assert(t.set_print_options(terminal._wao.v(),wa_list.v()))}finally{if(wa_list)wa_list.dispose();if(wa_print_option)wa_print_option.dispose()}},terminalGetSettings:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let f=timapi._TimApiHelpers.prepareTerminalSettings();let terminalSettings=new timapi.TerminalSettings;let wa_terminal_settings,p;try{wa_terminal_settings=new timapi._TimApiHelpers.TAObject;h.assert(t.get_settings(terminal._wao.v(),wa_terminal_settings.p()));p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_connection_ip_string(wa_terminal_settings.v(),p.p()));terminalSettings.connectionIPString=h.contentOfIfValid(p);h.assert(f.get_connection_ip_port(wa_terminal_settings.v(),p.p()));terminalSettings.connectionIPPort=p.v();h.assert(f.get_protocol_type(wa_terminal_settings.v(),p.p()));terminalSettings.protocolType=h.ebv(timapi.constants.ProtocolType,p.v());h.assert(f.get_integrator_id(wa_terminal_settings.v(),p.p()));terminalSettings.integratorId=h.contentOfIfValid(p);h.assert(f.get_guides(wa_terminal_settings.v(),p.p()));terminalSettings.guides=h.eBit_t_eSet(timapi.constants.Guides,p.v());h.assert(f.get_manufacturer_flags(wa_terminal_settings.v(),p.p()));terminalSettings.manufacturerFlags=p.v();h.assert(f.is_fetch_brands(wa_terminal_settings.v(),p.p()));terminalSettings.fetchBrands=h.bc_c_t_js(p.v());h.assert(f.is_auto_commit(wa_terminal_settings.v(),p.p()));terminalSettings.autoCommit=h.bc_c_t_js(p.v());h.assert(f.is_auto_shift_management(wa_terminal_settings.v(),p.p()));terminalSettings.autoShiftManagement=h.bc_c_t_js(p.v());h.assert(f.is_auto_shutter_management(wa_terminal_settings.v(),p.p()));terminalSettings.autoShutterManagement=h.bc_c_t_js(p.v());h.assert(f.get_card_insertion_timeout(wa_terminal_settings.v(),p.p()));terminalSettings.cardInsertionTimeout=p.v();h.assert(f.get_card_removal_timeout(wa_terminal_settings.v(),p.p()));terminalSettings.cardRemovalTimeout=p.v();h.assert(f.get_commit_timeout(wa_terminal_settings.v(),p.p()));terminalSettings.commitTimeout=p.v();h.assert(f.get_proceed_timeout(wa_terminal_settings.v(),p.p()));terminalSettings.proceedTimeout=p.v();h.assert(f.is_dcc(wa_terminal_settings.v(),p.p()));terminalSettings.dcc=h.bc_c_t_js(p.v());h.assert(f.is_partial_approval(wa_terminal_settings.v(),p.p()));terminalSettings.partialApproval=h.bc_c_t_js(p.v());h.assert(f.is_allow_closed_card_insert(wa_terminal_settings.v(),p.p()));terminalSettings.allowClosedCardInsert=h.bc_c_t_js(p.v());h.assert(f.is_tip_allowed(wa_terminal_settings.v(),p.p()));terminalSettings.tipAllowed=h.bc_c_t_js(p.v());h.assert(f.is_fast_ntf_mode(wa_terminal_settings.v(),p.p()));terminalSettings.fastNtfMode=h.bc_c_t_js(p.v());h.assert(f.get_request_repetition(wa_terminal_settings.v(),p.p()));terminalSettings.requestRepetition=p.v();h.assert(f.get_persistent_state(wa_terminal_settings.v(),p.p()));terminalSettings.persistentState=p.v();h.assert(f.is_enabled_keep_alive(wa_terminal_settings.v(),p.p()));terminalSettings.enableKeepAlive=h.bc_c_t_js(p.v())}finally{if(wa_terminal_settings)wa_terminal_settings.dispose();if(p)p.dispose()}return Object.freeze(terminalSettings)},terminalHasSwUpdate:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let p;let hasSwUpdate;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(t.has_sw_update(terminal._wao.v(),p.p()));hasSwUpdate=h.bc_c_t_js(p.v())}finally{if(p)p.dispose()}return hasSwUpdate},terminalGetTerminalId:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let s;let terminalId;try{s=new timapi._TimApiHelpers.TAString;h.assert(t.get_terminal_id(terminal._wao.v(),s.p()));terminalId=s.content()}finally{if(s)s.dispose()}return terminalId},terminalGetTerminalStatus:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let wa_terminal_settings;let terminalSettings;try{wa_terminal_settings=new timapi._TimApiHelpers.TAObject;h.assert(t.get_terminal_status(terminal._wao.v(),wa_terminal_settings.p()));terminalSettings=timapi._TimApiHelpers.unwrapTerminalStatus(wa_terminal_settings.v())}finally{if(wa_terminal_settings)wa_terminal_settings.dispose()}return terminalSettings},terminalGetTransactionData:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let wa_transaction_data;let transactionData=undefined;try{wa_transaction_data=new timapi._TimApiHelpers.TAObject;h.assert(t.get_transaction_data(terminal._wao.v(),wa_transaction_data.p()));transactionData=timapi._TimApiHelpers.unwrapTransactionData(wa_transaction_data.v())}finally{if(wa_transaction_data)wa_transaction_data.dispose()}return transactionData},terminalSetTransactionData:function(terminal,transactionData){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let wa_transaction_data;try{wa_transaction_data=timapi._TimApiHelpers.convertTransactionData(transactionData);h.assert(t.set_transaction_data(terminal._wao.v(),wa_transaction_data.v()))}finally{if(wa_transaction_data)wa_transaction_data.dispose()}},terminalGetUserId:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let p;let userId;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(t.get_user_id(terminal._wao.v(),p.p()));userId=p.v()}finally{if(p)p.dispose()}return userId},terminalSetUserId:function(terminal,userId){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();h.assert(t.set_user_id(terminal._wao.v(),userId))},terminalSetNormalReceiptFormatter:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let rf=timapi._TimApiHelpers.prepareReceiptFormatter();let wa_formatter;try{wa_formatter=new timapi._TimApiHelpers.TAObject;h.assert(rf.normal_create(wa_formatter.p()));h.assert(t.set_receipt_formatter(terminal._wao.v(),wa_formatter.v()))}finally{if(wa_formatter)wa_formatter.dispose()}},terminalSetCompactReceiptFormatter:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let rf=timapi._TimApiHelpers.prepareReceiptFormatter();let wa_formatter;try{wa_formatter=new timapi._TimApiHelpers.TAObject;h.assert(rf.compact_create(wa_formatter.p()));h.assert(t.set_receipt_formatter(terminal._wao.v(),wa_formatter.v()))}finally{if(wa_formatter)wa_formatter.dispose()}},terminalSetSuperCompactReceiptFormatter:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let rf=timapi._TimApiHelpers.prepareReceiptFormatter();let wa_formatter;try{wa_formatter=new timapi._TimApiHelpers.TAObject;h.assert(rf.super_compact_create(wa_formatter.p()));h.assert(t.set_receipt_formatter(terminal._wao.v(),wa_formatter.v()))}finally{if(wa_formatter)wa_formatter.dispose()}},terminalSetUltraCompactReceiptFormatter:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let rf=timapi._TimApiHelpers.prepareReceiptFormatter();let wa_formatter;try{wa_formatter=new timapi._TimApiHelpers.TAObject;h.assert(rf.ultra_compact_create(wa_formatter.p()));h.assert(t.set_receipt_formatter(terminal._wao.v(),wa_formatter.v()))}finally{if(wa_formatter)wa_formatter.dispose()}},terminalSetCustomReceiptFormatter:function(terminal,definition){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let wa_formatter;try{wa_formatter=new timapi._TimApiHelpers.createCustomReceiptFormatter(definition);h.assert(t.set_receipt_formatter(terminal._wao.v(),wa_formatter.v()))}finally{if(wa_formatter)wa_formatter.dispose()}},amtAdjustment:function(terminal,amount){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let wa_amount;try{wa_amount=timapi._TimApiHelpers.convertAmount(amount);h.assert(t.amt_adjustment(terminal._wao.v(),wa_amount.v()))}finally{if(wa_amount)wa_amount.dispose()}},amtAdjustmentVas:function(terminal,amount,amountDiscount,loyaltyCouponList,loyaltyInformationList){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let f_list=timapi._TimApiHelpers.prepareList();let wa_obj,wa_amount,wa_amount_discount,wa_loyalty_coupon_list,wa_loyalty_information_list;try{wa_obj=new timapi._TimApiHelpers.TAObject;wa_loyalty_coupon_list=new timapi._TimApiHelpers.TAObject;wa_loyalty_information_list=new timapi._TimApiHelpers.TAObject;wa_amount=timapi._TimApiHelpers.convertAmount(amount);wa_amount_discount=timapi._TimApiHelpers.convertAmountDiscount(amountDiscount);if(loyaltyCouponList!==undefined){h.assert(f_list.create(wa_loyalty_coupon_list.p()));for(let loyaltyCoupon of loyaltyCouponList){wa_obj.takeover(timapi._TimApiHelpers.convertLoyaltyCoupon(loyaltyCoupon));h.assert(f_list.add(wa_loyalty_coupon_list.v(),wa_obj.v()))}}if(loyaltyInformationList!==undefined){h.assert(f_list.create(wa_loyalty_information_list.p()));for(let loyaltyInformation of loyaltyInformationList){wa_obj.takeover(timapi._TimApiHelpers.convertLoyaltyInformation(loyaltyInformation));h.assert(f_list.add(wa_loyalty_information_list.v(),wa_obj.v()))}}h.assert(t.amt_adjustment_2(terminal._wao.v(),wa_amount.v(),wa_amount_discount.v(),wa_loyalty_coupon_list.v(),wa_loyalty_information_list.v()))}finally{if(wa_obj)wa_obj.dispose();if(wa_amount)wa_amount.dispose();if(wa_amount_discount)wa_amount_discount.dispose();if(wa_loyalty_coupon_list)wa_loyalty_coupon_list.dispose();if(wa_loyalty_information_list)wa_loyalty_information_list.dispose()}},cancelUnattended:function(terminal,silent,retainCard){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();h.assert(t.cancel2(terminal._wao.v(),h.bc_js_t_c(silent),h.bc_js_t_c(retainCard)))},changeSettingsAsync:function(terminal,settings){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let wa_settings;try{wa_settings=timapi._TimApiHelpers.convertESMap(settings);h.assert(t.change_settings_async(terminal._wao.v(),wa_settings.v()))}finally{if(wa_settings)wa_settings.dispose()}},commitAmountAsync:function(terminal,amount){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let wa_amount;try{wa_amount=timapi._TimApiHelpers.convertAmount(amount);h.assert(t.commit_amount_async(terminal._wao.v(),wa_amount.v()))}finally{if(wa_amount)wa_amount.dispose()}},counterRequestAsync:function(terminal,counterType){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();h.assert(t.counter_request_async(terminal._wao.v(),counterType._value))},initTransactionAsync:function(terminal,displayAmount,amount,functionHint){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let wa_amount;try{wa_amount=timapi._TimApiHelpers.convertAmount(amount);if(functionHint!==undefined){h.assert(t.init_transaction2_async(terminal._wao.v(),h.bc_js_t_c(displayAmount),wa_amount.v(),functionHint._value))}else{h.assert(t.init_transaction_async(terminal._wao.v(),h.bc_js_t_c(displayAmount),wa_amount.v()))}}finally{if(wa_amount)wa_amount.dispose()}},loyaltyDataAsync(terminal,functionType,dataType,data,retainCard){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let s_data_type,s_data;try{s_data_type=timapi._TimApiHelpers.TAString.create(dataType);s_data=timapi._TimApiHelpers.TAString.createFromUint8Array(data);h.assert(t.loyalty_data_async(terminal._wao.v(),functionType._value,s_data_type.v(),s_data.v(),h.bc_js_t_c(retainCard)))}finally{if(s_data_type)s_data_type.dispose();if(s_data)s_data.dispose()}},provideLoyaltyBasketAsync(terminal,basket){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let f_list=timapi._TimApiHelpers.prepareList();let wa_basket,wa_obj;try{wa_basket=new timapi._TimApiHelpers.TAObject;wa_obj=new timapi._TimApiHelpers.TAObject;h.assert(f_list.create(wa_basket.p()));for(let loyaltyItem of basket){wa_obj.takeover(timapi._TimApiHelpers.convertLoyaltyItem(loyaltyItem));h.assert(f_list.add(wa_basket.v(),wa_obj.v()))}h.assert(t.provide_loyalty_basket_async(terminal._wao.v(),wa_basket.v()))}finally{if(wa_basket)wa_basket.dispose();if(wa_obj)wa_obj.dispose()}},provideVasResultAsync(terminal,result){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let wa_result;try{wa_result=timapi._TimApiHelpers.convertVasResult(result);h.assert(t.provide_vas_result_async(terminal._wao.v(),wa_result.v()))}finally{if(wa_result)wa_result.dispose()}},receiptRequestAsync:function(terminal,type){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();h.assert(t.receipt_request_async(terminal._wao.v(),type._value))},reconciliationAsync:function(terminal){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();h.assert(t.reconciliation_async(terminal._wao.v()))},sendCardCommandAsync:function(terminal,requests){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let f_list=timapi._TimApiHelpers.prepareList();let wa_list,wa_obj;try{wa_list=new timapi._TimApiHelpers.TAObject;wa_obj=new timapi._TimApiHelpers.TAObject;h.assert(f_list.create(wa_list.p()));for(let commandRequest of requests){wa_obj.takeover(timapi._TimApiHelpers.convertCommandRequest(commandRequest));h.assert(f_list.add(wa_list.v(),wa_obj.v()))}h.assert(t.send_card_command_async(terminal._wao.v(),wa_list.v()))}finally{if(wa_list)wa_list.dispose();if(wa_obj)wa_obj.dispose()}},showDialogAsync:function(terminal,request){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let wa_request;try{wa_request=timapi._TimApiHelpers.convertShowDialogRequest(request);h.assert(t.show_dialog_async(terminal._wao.v(),wa_request.v()))}finally{if(wa_request)wa_request.dispose()}},printOnTerminalAsync:function(terminal,ticketData){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let s;try{s=timapi._TimApiHelpers.TAString.create(ticketData);h.assert(t.print_on_terminal_async(terminal._wao.v(),s.v()))}finally{if(s)s.dispose()}},showSignatureCaptureAsync:function(terminal,request){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let wa_request;try{wa_request=timapi._TimApiHelpers.convertShowSignatureCaptureRequest(request);h.assert(t.show_signature_capture_async(terminal._wao.v(),wa_request.v()))}finally{if(wa_request)wa_request.dispose()}},transactionAsync:function(terminal,type,amount){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let wa_amount;try{wa_amount=timapi._TimApiHelpers.convertAmount(amount);h.assert(t.transaction_async(terminal._wao.v(),type._value,wa_amount.v()))}finally{if(wa_amount)wa_amount.dispose()}},transactionCashbackAsync:function(terminal,type,amount,amountCashback){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let wa_amount,wa_amount_cashback;try{wa_amount=timapi._TimApiHelpers.convertAmount(amount);wa_amount_cashback=timapi._TimApiHelpers.convertAmount(amountCashback);h.assert(t.transaction_cashback_async(terminal._wao.v(),type._value,wa_amount.v(),wa_amount_cashback.v()))}finally{if(wa_amount)wa_amount.dispose();if(wa_amount_cashback)wa_amount_cashback.dispose()}},transactionTipAsync:function(terminal,type,amount,amountTip){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let wa_amount,wa_amount_tip;try{wa_amount=timapi._TimApiHelpers.convertAmount(amount);wa_amount_tip=timapi._TimApiHelpers.convertAmount(amountTip);h.assert(t.transaction_tip_async(terminal._wao.v(),type._value,wa_amount.v(),wa_amount_tip.v()))}finally{if(wa_amount)wa_amount.dispose();if(wa_amount_tip)wa_amount_tip.dispose()}},transactionWithRequestAsync:function(terminal,type,transactionRequest){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();let wa_transaction_request;try{wa_transaction_request=timapi._TimApiHelpers.convertTransactionRequest(transactionRequest);h.assert(t.transaction2_async(terminal._wao.v(),type._value,wa_transaction_request.v()))}finally{if(wa_transaction_request)wa_transaction_request.dispose()}},deviceMaintenanceAsync:function(terminal,type){let h=timapi._TimApiHelpers.prepareHelpers();let t=timapi._TimApiHelpers.prepareTerminal();h.assert(t.device_maintenance_async(terminal._wao.v(),type._value))},receiptFormatter:undefined,prepareReceiptFormatter:function(){let f=timapi._TimApiHelpers.receiptFormatter;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.receiptFormatter={custom_create:g("ta_custom_receipt_formatter_create",["number"]),normal_create:g("ta_normal_receipt_formatter_create",[]),compact_create:g("ta_compact_receipt_formatter_create",[]),super_compact_create:g("ta_super_compact_receipt_formatter_create",[]),ultra_compact_create:g("ta_ultra_compact_receipt_formatter_create",[]),process_print_receipts:g("ta_process_print_receipts",["number"])}}return f},createCustomReceiptFormatter:function(definition){if(definition===undefined){return new timapi._TimApiHelpers.TAObject}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.prepareReceiptFormatter();let wa_formatter,memoryDefinition;try{memoryDefinition=timapi._TimApiHelpers.getCustomReceiptFormatterStruct(definition);wa_formatter=new timapi._TimApiHelpers.TAObject;h.assert(f.custom_create(wa_formatter.p(),memoryDefinition))}catch(err){if(wa_formatter)wa_formatter.dispose();if(memoryDefinition)Module._free(memoryDefinition);throw err}finally{if(memoryDefinition)Module._free(memoryDefinition)}return wa_formatter},getCustomReceiptFormatterStruct:function(definition){let alm=timapi._TimApiHelpers.prepareHelpers().alm;let workdef=definition.copy();let requiredSize=28+alm(Module.lengthBytesUTF8(workdef.emptyValueString)+1);let allLineFormats=[];allLineFormats.push(workdef.lineFormatsCardholder);allLineFormats.push(workdef.lineFormatsMerchant);allLineFormats.push(workdef.lineFormatsSaldo);allLineFormats.forEach(function(lineFormats){requiredSize+=16*lineFormats.length;lineFormats.forEach(function(lineFormat){requiredSize+=12*lineFormat.elements.length;lineFormat.elements.forEach(function(element){if(element.text!==undefined){requiredSize+=alm(Module.lengthBytesUTF8(element.text)+1)}})})});let memory,reqMemString;try{memory=Module._malloc(requiredSize);reqMemString=alm(Module.lengthBytesUTF8(workdef.emptyValueString)+1);Module.stringToUTF8(workdef.emptyValueString,memory+28,reqMemString);let offset=28+reqMemString;allLineFormats.forEach(function(lineFormats){lineFormats.forEach(function(lineFormat){lineFormat.elements.forEach(function(element){if(element.text!==undefined){reqMemString=alm(Module.lengthBytesUTF8(element.text)+1);Module.stringToUTF8(element.text,memory+offset,reqMemString);element.textOffset=offset;offset+=reqMemString}})})});allLineFormats.forEach(function(lineFormats){lineFormats.forEach(function(lineFormat){lineFormat.elementsOffset=offset;lineFormat.elements.forEach(function(element){Module.setValue(memory+offset,element.type._value,"i32");Module.setValue(memory+offset+4,element.alignment._value,"i32");Module.setValue(memory+offset+8,memory+element.textOffset,"i32");Module.setValue(memory+offset+12,element.receiptType._value,"i32");offset+=16})})});let offsetLines=offset;allLineFormats.forEach(function(lineFormats){lineFormats.forEach(function(lineFormat){if(lineFormat.padding.length!=1){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,"Padding has to be a single character string")}padding=lineFormat.padding.charCodeAt(0);if(padding<32||padding>127){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,"Padding character is not a printable character")}Module.setValue(memory+offset,memory+lineFormat.elementsOffset,"i32");Module.setValue(memory+offset+4,lineFormat.elements.length,"i32");Module.setValue(memory+offset+8,lineFormat.condition._value,"i32");Module.setValue(memory+offset+12,padding,"i8");offset+=16})});Module.setValue(memory,memory+offsetLines,"i32");Module.setValue(memory+4,workdef.lineFormatsCardholder.length,"i32");offsetLines+=16*workdef.lineFormatsCardholder.length;Module.setValue(memory+8,memory+offsetLines,"i32");Module.setValue(memory+12,workdef.lineFormatsMerchant.length,"i32");offsetLines+=16*workdef.lineFormatsMerchant.length;Module.setValue(memory+16,memory+offsetLines,"i32");Module.setValue(memory+20,workdef.lineFormatsSaldo.length,"i32");Module.setValue(memory+24,28,"i32")}catch(err){if(memory)Module._free(memory);throw err}return memory}};timapi._TimApiHelpers.TAObject=class{constructor(value){let t=timapi._TimApiHelpers;if(!t.TAObject._functions){t.TAObject._functions={retain:t.getFunction("ta_object_retain"),release:t.getFunction("ta_object_release"),releaseIfValid:t.getFunction("ta_object_release_if_valid")}}this._pointer=Module._malloc(4);Module.setValue(this._pointer,value||0,"i32");if(value){t.TAObject._functions.retain(value)}}release(){timapi._TimApiHelpers.TAObject._functions.release(this.value());Module.setValue(this._pointer,0,"i32")}releaseIfValid(){timapi._TimApiHelpers.TAObject._functions.releaseIfValid(this.value());Module.setValue(this._pointer,0,"i32")}dispose(){this.releaseIfValid();Module._free(this._pointer)}pointer(){return this._pointer}p(){return this._pointer}value(){return Module.getValue(this._pointer,"i32")}v(){return Module.getValue(this._pointer,"i32")}assign(object){let pointer=object.value();this.releaseIfValid();Module.setValue(this._pointer,pointer,"i32");if(pointer){timapi._TimApiHelpers.TAObject._functions.retain(pointer)}}takeover(object){let pointer=object.value();this.releaseIfValid();Module.setValue(this._pointer,pointer,"i32")}isValid(){return this.value()!=0}};timapi._TimApiHelpers.TAObject._functions=undefined;timapi.Amount=class{constructor(value,currency,exponent){this.value=undefined;if(value!==undefined){this.setValue(value)}this.currency=currency;this.exponent=exponent;if(this.exponent===undefined&&currency!==undefined){this.exponent=currency.exponent}}static fromMajorUnits(valueMajor,currency,exponent){let amount=new timapi.Amount(undefined,currency,exponent);amount.setDecimalValue(valueMajor);return amount}getDecimalValue(){let value=this.value;let i;if(this.exponent>0){for(i=0;i<this.exponent;i++){value/=10}}else if(this.exponent<0){for(i=this.exponent;i<0;i++){value*=10}}return value}setValue(value){if(Math.abs(value-Math.round(value))>1e-4){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,`"Value of amount in minor units has to be an integer. Given value in minor units is ${value}"`)}value=Math.round(value);if(!Number.isSafeInteger(value)){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,'"Amount is too large (only 52bit values supported by JavaScript)"')}if(value<0){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,'"Value of amount has to be positive or zero"')}this.value=value}setDecimalValue(value){let i;if(this.exponent>0){for(i=0;i<this.exponent;i++){value*=10}}else if(this.exponent<0){for(i=this.exponent;i<0;i++){value/=10}}value=Math.round(value);this.setValue(value)}setCurrency(currency){this.currency=currency;this.exponent=currency.exponent}toString(){return`${this.constructor.name}(`+`value=${this.value}`+`, currency=${this.currency}`+`, exponent=${this.exponent}`+`)`}static copy(amount){return new timapi.Amount(amount.value,amount.currency,amount.exponent)}};Object.defineProperty(timapi.Amount,"name",{value:"timapi.Amount"});timapi.LogRecordTrace=class{constructor(){this.file=undefined;this.method=undefined;this.line=0}};timapi.LogRecord=class{constructor(){this.level=timapi.LogRecord.LogLevel.none;this.thread=0;this.file=undefined;this.method=undefined;this.line=0;this.message=undefined;this.parameters=[];this.stackTrace=[];this.timestamp=new Date}toString(){let levelName=this.level.name.toUpperCase();let string=`[${levelName}] in ${this.method}() at ${this.file}:${this.line} : ${this.message}`;if(this.parameters.length>0){string=string+" "+this.parameters.join(", ")}let i,count=this.stackTrace.length;for(i=0;i<count;i++){let st=this.stackTrace[i];string=string+`\n${i+1}) in ${st.method}() at ${st.file}:${st.line}`}return string}matchesLevel(requiredLogLevel){return this.level._value<=requiredLogLevel._value}};timapi.LogRecord.LogLevel=new timapi.constants.Enumeration(["none","severe","warning","info","fine","finest"],0);timapi.VasCheckoutInformation=class{constructor(){this.loyaltyCoupons=undefined;this.loyaltyInformation=undefined;this.provideBasket=undefined;this.vasInformation=undefined}toString(){return`${this.constructor.name}(`+`loyaltyCoupons=${timapi._TimApiHelpers.arrayAsDebugString(this.loyaltyCoupons)}`+`, loyaltyInformation=${timapi._TimApiHelpers.arrayAsDebugString(this.loyaltyInformation)}`+`, provideBasket=${this.provideBasket}`+`, vasInformation=${timapi._TimApiHelpers.stringUint8MapAsDebugString(this.vasInformation)}`+`)`}};Object.defineProperty(timapi.VasCheckoutInformation,"name",{value:"timapi.VasCheckoutInformation"});timapi.Basket=class{constructor(){this.items=[];this.loyaltyAuthResult=undefined}toString(){return`${this.constructor.name}(`+`items=${timapi._TimApiHelpers.arrayAsDebugString(this.items)}`+`, loyaltyAuthResult=${this.loyaltyAuthResult}`+`)`}static copy(basket){var copy=new timapi.Basket;if(basket.items!==undefined){for(let item of basket.items){copy.items.push(timapi.BasketItem.copy(item))}}copy.loyaltyAuthResult=basket.loyaltyAuthResult;return copy}};Object.defineProperty(timapi.Basket,"name",{value:"timapi.Basket"});timapi.PrintOption=class{constructor(recipient,printFormat,printWidth,printFlags){this.recipient=recipient;this.printFormat=printFormat;this.printWidth=printWidth;this.printFlags=printFlags;Object.freeze(this)}toString(){return this.constructor.name+"("+`recipient=${this.recipient}`+`, printFormat=${this.printFormat}`+`, printWidth=${this.printWidth}`+`, printFlags=${timapi._TimApiHelpers.setAsDebugString(this.printFlags)}`+")"}};Object.defineProperty(timapi.PrintOption,"name",{value:"timapi.PrintOption"});timapi.LoyaltyInformation=class{constructor(value,loyaltyInfoType){this.value=value;this.loyaltyInfoType=loyaltyInfoType;this.loyaltyFunctionType=undefined;this.loyaltyNumber=undefined}toString(){return`${this.constructor.name}(`+`value=${timapi._TimApiHelpers.uint8ArrayAsDebugString(this.value)}`+`, loyaltyInfoType=${this.loyaltyInfoType}`+`, loyaltyFunctionType=${this.loyaltyFunctionType}`+`, loyaltyNumber=${timapi._TimApiHelpers.uint8ArrayAsDebugString(this.loyaltyNumber)}`+`)`}static copy(loyaltyInformation){var copy=new timapi.LoyaltyInformation;if(loyaltyInformation.value!==undefined){copy.value=new Uint8Array(loyaltyInformation.value)}copy.loyaltyInfoType=loyaltyInformation.loyaltyInfoType;copy.loyaltyFunctionType=loyaltyInformation.loyaltyFunctionType;if(loyaltyInformation.loyaltyNumber!==undefined){copy.loyaltyNumber=new Uint8Array(loyaltyInformation.loyaltyNumber)}return copy}};Object.defineProperty(timapi.LoyaltyInformation,"name",{value:"timapi.LoyaltyInformation"});timapi.LoyaltyCoupon=class{constructor(amount,couponId,currency,exponent,couponRejectionReason){this.amount=amount;this.couponId=couponId;this.currency=currency;this.exponent=exponent;this.couponRejectionReason=couponRejectionReason}toString(){return`${this.constructor.name}(`+`amount=${this.amount}`+`, couponId=${this.couponId}`+`, currency=${this.currency}`+`, exponent=${this.exponent}`+`, couponRejectionReason=${this.couponRejectionReason}`+`)`}static copy(loyaltyCoupon){var copy=new timapi.LoyaltyCoupon;copy.amount=loyaltyCoupon.amount;copy.couponId=loyaltyCoupon.couponId;copy.currency=loyaltyCoupon.currency;copy.exponent=loyaltyCoupon.exponent;copy.couponRejectionReason=loyaltyCoupon.couponRejectionReason;return copy}};Object.defineProperty(timapi.LoyaltyCoupon,"name",{value:"timapi.LoyaltyCoupon"});timapi.ShowSignatureCaptureResponse=class{constructor(){this.reason=undefined;this.imageFileFormat=timapi.constants.ImageFileFormat.png;this.imageWidth=undefined;this.imageHeight=undefined;this.imageData=undefined}toString(){return`${this.constructor.name}(`+`reason=${this.reason}`+`, imageFileFormat=${this.imageFileFormat}`+`, imageFileWidth=${this.imageFileWidth}`+`, imageFileHeight=${this.imageFileHeight}`+`, imageData=${timapi._TimApiHelpers.uint8ArrayAsDebugString(this.imageData)}`+`)`}};Object.defineProperty(timapi.ShowSignatureCaptureResponse,"name",{value:"timapi.ShowSignatureCaptureResponse"});timapi.ItemQuantity=class{constructor(quantity,exponent,quantityType){this.quantity=quantity;this.exponent=exponent;this.quantityType=quantityType}toString(){return`${this.constructor.name}(`+`quantity=${this.quantity}`+`, exponent=${this.exponent}`+`, quantityType=${this.quantityType}`+`)`}static copy(itemQuantity){var copy=new timapi.ItemQuantity;copy.quantity=itemQuantity.quantity;copy.exponent=itemQuantity.exponent;copy.quantityType=itemQuantity.quantityType;return copy}};Object.defineProperty(timapi.ItemQuantity,"name",{value:"timapi.ItemQuantity"});timapi.AmountDiscount=class extends timapi.Amount{constructor(value,currency,exponent,discountId){super(value,currency,exponent);this.discountId=discountId}static fromMajorUnits(valueMajor,currency,exponent,discountId){let amountDiscount=new timapi.AmountDiscount(undefined,currency,exponent,discountId);amountDiscount.setDecimalValue(valueMajor);return amountDiscount}toString(){return`${this.constructor.name}(`+`value=${this.value}`+`, currency=${this.currency}`+`, exponent=${this.exponent}`+`, discountId=${this.discountId}`+`)`}static copy(amountDiscount){return new timapi.AmountDiscount(amountDiscount.value,amountDiscount.currency,amountDiscount.exponent,amountDiscount.discountId)}};Object.defineProperty(timapi.AmountDiscount,"name",{value:"timapi.AmountDiscount"});timapi.TransactionResponse=class{constructor(){this.transactionType=undefined;this.amount=undefined;this.amountOther=undefined;this.amountDue=undefined;this.amountDcc=undefined;this.amountSaldo=undefined;this.amountLoyaltyCashback=undefined;this.transactionInformation=undefined;this.dccDisclaimer=undefined;this.cardData=undefined;this.printData=undefined;this.amountTip=undefined;this.additionalInfo=new Map;this.basket=undefined}wasDcc(){return this.amountDcc!==undefined&&this.amountDcc.value>0}wasTip(){return this.amountTip!==undefined&&this.amountTip.value>0}needsAction(){if(this.transactionInformation===undefined){return timapi.TransactionResponse.Action.none}if(this.transactionInformation.cvm!==undefined){switch(this.transactionInformation.cvm){case timapi.constants.Cvm.pinSignature:case timapi.constants.Cvm.signature:return timapi.TransactionResponse.Action.cardholderSignature;default:break}}if(this.transactionInformation.merchantAction!==undefined){switch(this.transactionInformation.merchantAction){case timapi.constants.MerchantAction.signature:return timapi.TransactionResponse.Action.merchantSignature;default:break}}return timapi.TransactionResponse.Action.none}wasPartialApproval(){return this.amountDue!==undefined&&this.amountDue.amount>0}cardCountryCode(){return this.cardData!==undefined?this.cardData.cardCountryCode:undefined}terminalCountryCode(){return this.cardData!==undefined?this.cardData.terminalCountryCode:undefined}isDomestic(){return this.cardCountryCode()!==undefined&&this.terminalCountryCode()!==undefined&&this.cardCountryCode()==this.terminalCountryCode()}toString(){return`${this.constructor.name}(`+`transactionType=${this.transactionType}`+`, amount=${this.amount}`+`, amountOther=${this.amountOther}`+`, amountDue=${this.amountDue}`+`, amountDcc=${this.amountDcc}`+`, amountSaldo=${this.amountSaldo}`+`, amountLoyaltyCashback=${this.amountLoyaltyCashback}`+`, transactionInformation=${this.transactionInformation}`+`, dccDisclaimer=${this.dccDisclaimer}`+`, cardData=${this.cardData}`+`, printData=${this.printData}`+`, amountTip=${this.amountTip}`+`, additionalInfo=${timapi._TimApiHelpers.mapAsDebugString(this.additionalInfo)}`+`, basket=${this.basket}`+`, wasDcc=${this.wasDcc()}`+`, wasTip=${this.wasTip()}`+`, needsAction=${this.needsAction()}`+`, wasPartialApproval=${this.wasPartialApproval()}`+`, cardCountryCode=${this.cardCountryCode()}`+`, terminalCountryCode=${this.terminalCountryCode()}`+`, isDomestic=${this.isDomestic()}`+`)`}};Object.defineProperty(timapi.TransactionResponse,"name",{value:"timapi.TransactionResponse"});timapi.TransactionResponse.Action=new timapi.constants.Enumeration(["none","cardholderSignature","merchantSignature"]);timapi.Total=class{constructor(){this.count=undefined;this.amountSum=undefined;this.amountSumTip=undefined;this.amountSumOther=undefined;this.trxDetails=undefined;this.currency=undefined;this.exponent=undefined}toString(){return`${this.constructor.name}(`+`count=${this.count}`+`, amountSum=${this.amountSum}`+`, amountSumTip=${this.amountSumTip}`+`, amountSumOther=${this.amountSumOther}`+`, trxDetails=${timapi._TimApiHelpers.arrayAsDebugString(this.trxDetails)}`+`, currency=${this.currency}`+`, exponent=${this.exponent}`+`)`}};Object.defineProperty(timapi.Total,"name",{value:"timapi.Total"});timapi.LoyaltyItem=class{constructor(){this.itemId=undefined;this.prodDescription=undefined;this.amount=undefined;this.itemQuantity=undefined;this.amountTotal=undefined;this.loyaltyDiscounts=[];this.loyaltyCoupons=[];this.displayProductInfo=undefined}toString(){return`${this.constructor.name}(`+`itemId=${this.itemId}`+`, prodDescription=${this.prodDescription}`+`, amount=${this.amount}`+`, itemQuantity=${this.itemQuantity}`+`, amountTotal=${this.amountTotal}`+`, loyaltyDiscounts=${this.loyaltyDiscounts}`+`, loyaltyCoupons=${this.loyaltyCoupons}`+`, displayProductInfo=${this.displayProductInfo}`+`)`}static copy(loyaltyItem){var copy=new timapi.LoyaltyItem;copy.itemId=loyaltyItem.itemId;copy.prodDescription=loyaltyItem.prodDescription;copy.amount=timapi.Amount.copy(loyaltyItem.amount);copy.itemQuantity=timapi.ItemQuantity.copy(loyaltyItem.itemQuantity);copy.amountTotal=timapi.Amount.copy(loyaltyItem.amountTotal);if(loyaltyItem.loyaltyDiscounts!==undefined){for(let loyaltyDiscount of loyaltyItem.loyaltyDiscounts){copy.loyaltyDiscounts.push(timapi.LoyaltyDiscount.copy(loyaltyDiscount))}}if(loyaltyItem.loyaltyCoupons!==undefined){for(let loyaltyCoupon of loyaltyItem.loyaltyCoupons){copy.loyaltyCoupons.push(timapi.LoyaltyCoupon.copy(loyaltyCoupon))}}if(loyaltyItem.displayProductInfo!==undefined){copy.displayProductInfo=timapi.DisplayProductInfo.copy(loyaltyItem.displayProductInfo)}return copy}};Object.defineProperty(timapi.LoyaltyItem,"name",{value:"timapi.LoyaltyItem"});timapi.TimeDate=class{constructor(){this.year=0;this.month=0;this.day=1;this.hour=0;this.minute=0;this.second=0}toDate(){return Date(this.year,this.month,this.day,this.hour,this.minute,this.second,0)}static fromDate(date){let timeDate=new timapi.TimeDate;timeDate.year=date.getFullYear();timeDate.month=date.getMonth();timeDate.day=date.getDate();timeDate.hour=date.getHours();timeDate.minute=date.getMinutes();timeDate.second=date.getSeconds();return timeDate}static fromNow(){return timapi.TimeDate.fromDate(new Date)}_pad(num,size){var s="000000000"+num;return s.substr(s.length-size)}toStringRegular(){return this.toStringReceiptDate()+" "+this.toStringReceiptTime()}toStringReceiptDate(){return`${this._pad(this.day,2)}${this._pad(this.month+1,2)}${this._pad(this.year,4)}`}toStringReceiptTime(){return`${this._pad(this.hour,2)}${this._pad(this.minute,2)}${this._pad(this.second,2)}`}toString(){let s=this.constructor.name;s+="(";s+=this.toStringRegular();s+=")";return s}static copy(timeDate){var copy=new timapi.TimeDate;copy.year=timeDate.year;copy.month=timeDate.month;copy.day=timeDate.day;copy.hour=timeDate.hour;copy.minute=timeDate.minute;copy.second=timeDate.second;return copy}};Object.defineProperty(timapi.TimeDate,"name",{value:"timapi.TimeDate"});timapi.FeaturesPayment=class{constructor(){this.canDcc=undefined;this.canDeclinedReceipts=undefined;this.canPartialApproval=undefined;this.canPartialCommit=undefined;this.isEp2Available=undefined;this.canEp2Dcc=undefined;this.canEp2DeclinedReceipts=undefined;this.canEp2MultiAccountSelection=undefined;this.canEp2MultiContractSelection=undefined}toString(){return`${this.constructor.name}(`+`canDcc=${this.canDcc}`+`, canDeclinedReceipts=${this.canDeclinedReceipts}`+`, canPartialApproval=${this.canPartialApproval}`+`, canPartialCommit=${this.canPartialCommit}`+`, isEp2Available=${this.isEp2Available}`+`, canEp2Dcc=${this.canEp2Dcc}`+`, canEp2DeclinedReceipts=${this.canEp2DeclinedReceipts}`+`, canEp2MultiAccountSelection=${this.canEp2MultiAccountSelection}`+`, canEp2MultiContractSelection=${this.canEp2MultiContractSelection}`+`)`}};Object.defineProperty(timapi.FeaturesPayment,"name",{value:"timapi.FeaturesPayment"});timapi.ShowDialogRequest=class{constructor(){this.brandBar=[];this.brandMode=timapi.constants.BrandMode.all;this.resourceId=timapi.constants.ResourceId.welcomeCard;this.theme=timapi.constants.Theme.six;this.timeout=60;this.language=undefined;this.placeholderItems=new Map;this.resourceParameters=new Map}toString(){return`${this.constructor.name}(`+`brandBar=${timapi._TimApiHelpers.arrayAsDebugString(this.brandBar)}`+`, brandMode=${this.brandMode}`+`, resourceId=${this.resourceId}`+`, theme=${this.theme}`+`, timeout=${this.timeout}`+`, language=${this.language}`+`, placeholderItems=${timapi._TimApiHelpers.mapAsDebugString(this.placeholderItems)}`+`, resourceParameters=${timapi._TimApiHelpers.mapAsDebugString(this.resourceParameters)}`+`)`}static copy(showDialogRequest){var copy=new timapi.ShowDialogRequest;if(showDialogRequest.brandBar!==undefined){copy.brandBar=showDialogRequest.brandBar.slice()}copy.brandMode=showDialogRequest.brandMode;copy.resourceId=showDialogRequest.resourceId;copy.theme=showDialogRequest.theme;copy.timeout=showDialogRequest.timeout;copy.language=showDialogRequest.language;copy.placeholderItems=new Map(showDialogRequest.placeholderItems);copy.resourceParameters=new Map(showDialogRequest.resourceParameters);return copy}};Object.defineProperty(timapi.ShowDialogRequest,"name",{value:"timapi.ShowDialogRequest"});timapi.ReceiptRequestResponse=class{constructor(){this.printData=undefined;this.hasMoreReceipts=undefined}toString(){return`${this.constructor.name}(`+`printData=${this.printData}`+`, hasMoreReceipts=${this.hasMoreReceipts}`+`)`}};Object.defineProperty(timapi.ReceiptRequestResponse,"name",{value:"timapi.ReceiptRequestResponse"});timapi.FeaturesHardware=class{constructor(){this.hasCardholderDisplay=undefined;this.hasMerchantDisplay=undefined;this.hasPrinter=undefined;this.canSetDisplayBrightness=undefined;this.canSetDisplayContrast=undefined;this.canSetAlertTones=undefined;this.canSetKeypadTones=undefined;this.canPowerManagement=undefined}toString(){return`${this.constructor.name}(`+`hasCardholderDisplay=${this.hasCardholderDisplay}`+`, hasMerchantDisplay=${this.hasMerchantDisplay}`+`, hasPrinter=${this.hasPrinter}`+`, canSetDisplayBrightness=${this.canSetDisplayBrightness}`+`, canSetDisplayContrast=${this.canSetDisplayContrast}`+`, canSetAlertTones=${this.canSetAlertTones}`+`, canSetKeypadTones=${this.canSetKeypadTones}`+`, canPowerManagement=${this.canPowerManagement}`+`)`}};Object.defineProperty(timapi.FeaturesHardware,"name",{value:"timapi.FeaturesHardware"});timapi.ActivateResponse=class{constructor(){this.printData=undefined;this.actSeqCounter=undefined}toString(){return`${this.constructor.name}(`+`printData=${this.printData}`+`, actSeqCounter=${this.actSeqCounter}`+`)`}};Object.defineProperty(timapi.ActivateResponse,"name",{value:"timapi.ActivateResponse"});timapi.NetworkInformation=class{constructor(){this.terminalIp=undefined;this.terminalIpMask=undefined;this.terminalIpGw=undefined;this.terminalIpDns=undefined}toString(){return`${this.constructor.name}(`+`terminalIp=${this.terminalIp}`+`, terminalIpMask=${this.terminalIpMask}`+`, terminalIpGw=${this.terminalIpGw}`+`, terminalIpDns=${this.terminalIpDns}`+`)`}};Object.defineProperty(timapi.NetworkInformation,"name",{value:"timapi.NetworkInformation"});timapi.ReconciliationResponse=class{constructor(){this.counters=undefined;this.printData=undefined}toString(){return`${this.constructor.name}(`+`counters=${this.counters}`+`, printData=${this.printData}`+`)`}};Object.defineProperty(timapi.ReconciliationResponse,"name",{value:"timapi.ReconciliationResponse"});timapi.ReceiptItems=class{constructor(){this.receiptType=undefined;this.receiptItem=undefined}toString(){return`${this.constructor.name}(`+` receiptType=${this.receiptType}`+` receiptItem=${timapi._TimApiHelpers.arrayAsDebugString(this.receiptItem)}`+`)`}};Object.defineProperty(timapi.ReceiptItems,"name",{value:"timapi.ReceiptItems"});timapi.BalanceResponse=class{constructor(){this.printData=undefined;this.counters=undefined}toString(){return`${this.constructor.name}(`+`printData=${this.printData}`+`, counters=${this.counters}`+`)`}};Object.defineProperty(timapi.BalanceResponse,"name",{value:"timapi.BalanceResponse"});timapi.PpInfo=class{constructor(){this.paymentProtocol=undefined;this.ppEp2TransSeqCnt=undefined;this.ppEp2TransSeqCntOrig=undefined;this.ppEp2AuthReslt=undefined;this.ppEp2AuthRespC=undefined}toString(){return`${this.constructor.name}(`+`paymentProtocol=${this.paymentProtocol}`+`, ppEp2TransSeqCnt=${this.ppEp2TransSeqCnt}`+`, ppEp2TransSeqCntOrig=${this.ppEp2TransSeqCntOrig}`+`, ppEp2AuthReslt=${this.ppEp2AuthReslt}`+`, ppEp2AuthRespC=${this.ppEp2AuthRespC}`+`)`}};Object.defineProperty(timapi.PpInfo,"name",{value:"timapi.PpInfo"});timapi.ReceiptItem=class{constructor(){this.receiptItemType=undefined;this.recipient=undefined;this.value=undefined}toString(){return`${this.constructor.name}(`+`receiptItemType=${this.receiptItemType}`+`, recipient=${this.recipient}`+`, value=${this.value}`+`)`}};Object.defineProperty(timapi.ReceiptItem,"name",{value:"timapi.ReceiptItem"});timapi.DisplayProductInfo=class{constructor(){this.imageFileFormat=timapi.constants.ImageFileFormat.png;this.imageFileWidth=undefined;this.imageFileHeight=undefined;this.imageData=undefined;this.productDisplayName=undefined;this.backgroundColor=new timapi.Color(255,255,255)}toString(){return`${this.constructor.name}(`+`imageData=${timapi._TimApiHelpers.uint8ArrayAsDebugString(this.imageData)}`+`, imageFileFormat=${this.imageFileFormat}`+`, imageFileWidth=${this.imageFileWidth}`+`, imageFileHeight=${this.imageFileHeight}`+`, productDisplayName=${this.productDisplayName}`+`, backgroundColor=${this.backgroundColor}`+`)`}static copy(displayProductInfo){var copy=new timapi.DisplayProductInfo;copy.imageData=new Uint8Array(displayProductInfo.imageData);copy.itemId=DisplayProductInfo.itemId;copy.imageFileFormat=displayProductInfo.imageFileFormat;copy.imageFileWidth=displayProductInfo.imageFileWidth;copy.imageFileHeight=displayProductInfo.imageFileHeight;copy.productDisplayName=timapi.Color.copy(displayProductInfo.productDisplayName);copy.backgroundColor=timapi.Color.copy(displayProductInfo.backgroundColor);return copy}};Object.defineProperty(timapi.DisplayProductInfo,"name",{value:"timapi.DisplayProductInfo"});timapi.PrintData=class{constructor(){this.receipts=[];this.receiptItems=[]}toString(){return`${this.constructor.name}(`+`receipts=${timapi._TimApiHelpers.arrayAsDebugString(this.receipts)}`+`, receiptItems=${timapi._TimApiHelpers.arrayAsDebugString(this.receiptItems)}`+`)`}};Object.defineProperty(timapi.PrintData,"name",{value:"timapi.PrintData"});timapi.BasketItem=class{constructor(){this.authResult=undefined;this.itemId=undefined;this.loyaltyId=undefined;this.amount=undefined;this.amountTotal=undefined;this.amountDiscount=undefined;this.amountTax=undefined;this.amountGross=undefined;this.unitAmountDiscount=undefined;this.unitAmountGross=undefined;this.itemQuantity=undefined;this.prodDescription=undefined}toString(){return`${this.constructor.name}(`+`authResult=${this.authResult}`+`, itemId=${this.itemId}`+`, loyaltyId=${this.loyaltyId}`+`, amount=${this.amount}`+`, amountTotal=${this.amountTotal}`+`, amountDiscount=${this.amountDiscount}`+`, amountTax=${this.amountTax}`+`, amountGross=${this.amountGross}`+`, unitAmountDiscount=${this.unitAmountDiscount}`+`, unitAmountGross=${this.unitAmountGross}`+`, itemQuantity=${this.itemQuantity}`+`, prodDescription=${this.prodDescription}`+`)`}static copy(basketItem){var copy=new timapi.BasketItem;copy.authResult=basketItem.authResult;copy.itemId=basketItem.itemId;copy.loyaltyId=basketItem.loyaltyId;if(basketItem.amount!==undefined){copy.amount=timapi.Amount.copy(basketItem.amount)}if(basketItem.amountTotal!==undefined){copy.amountTotal=timapi.Amount.copy(basketItem.amountTotal)}if(basketItem.amountDiscount!==undefined){copy.amountDiscount=timapi.AmountDiscount.copy(basketItem.amountDiscount)}if(basketItem.amountTax!==undefined){copy.amountTax=timapi.Amount.copy(basketItem.amountTax)}if(basketItem.amountGross!==undefined){copy.amountGross=timapi.Amount.copy(basketItem.amountGross)}if(basketItem.unitAmountDiscount!==undefined){copy.unitAmountDiscount=timapi.AmountDiscount.copy(basketItem.unitAmountDiscount)}if(basketItem.unitAmountGross!==undefined){copy.unitAmountGross=timapi.Amount.copy(basketItem.unitAmountGross)}if(basketItem.itemQuantity!==undefined){copy.itemQuantity=timapi.ItemQuantity.copy(basketItem.itemQuantity)}return copy}};Object.defineProperty(timapi.BasketItem,"name",{value:"timapi.BasketItem"});timapi.Application=class{constructor(){this.aid=undefined;this.label=undefined}toString(){return`${this.constructor.name}(`+`aid=${this.aid}`+`, label=${this.label}`+`)`}};Object.defineProperty(timapi.Application,"name",{value:"timapi.Application"});timapi.Receipt=class{constructor(){this.recipient=undefined;this.value=undefined}toString(){return`${this.constructor.name}(`+`recipient=${this.recipient}`+`, value=${this.value}`+`)`}};Object.defineProperty(timapi.Receipt,"name",{value:"timapi.Receipt"});timapi.Features=class{constructor(){this.hardware=undefined;this.payment=undefined;this.sixml=undefined}toString(){return`${this.constructor.name}(`+`hardware=${this.hardware}`+`, payment=${this.payment}`+`, sixml=${this.sixml}`+`)`}};Object.defineProperty(timapi.Features,"name",{value:"timapi.Features"});timapi.Counter=class{constructor(){this.brandName=undefined;this.paymentProtocol=undefined;this.acqId=undefined;this.count=undefined;this.countDcc=undefined;this.countForeign=undefined;this.totals=undefined}toString(){return`${this.constructor.name}(`+`brandName=${this.brandName}`+`, paymentProtocol=${this.paymentProtocol}`+`, acqId=${this.acqId}`+`, count=${this.count}`+`, countDcc=${this.countDcc}`+`, countForeign=${this.countForeign}`+`, totals=${timapi._TimApiHelpers.arrayAsDebugString(this.totals)}`+`)`}};Object.defineProperty(timapi.Counter,"name",{value:"timapi.Counter"});timapi.TimEvent=class{constructor(){this.terminal=undefined;this.exception=undefined;this.requestType=undefined}toString(){return`TimEvent(exception=${this.exception}, requestType=${this.requestType})`}};Object.defineProperty(timapi.TimEvent,"name",{value:"timapi.TimEvent"});timapi.DeactivateResponse=class{constructor(){this.printData=undefined;this.counters=undefined}toString(){return`${this.constructor.name}(`+`printData=${this.printData}`+`, counters=${this.counters}`+`)`}};Object.defineProperty(timapi.DeactivateResponse,"name",{value:"timapi.DeactivateResponse"});timapi.ScreenshotInformation=class{constructor(){this.imageFileFormat=timapi.constants.ImageFileFormat.png;this.imageWidth=undefined;this.imageHeight=undefined;this.imageData=undefined}toString(){return`${this.constructor.name}(`+`imageFileFormat=${this.imageFileFormat}`+`, imageFileWidth=${this.imageFileWidth}`+`, imageFileHeight=${this.imageFileHeight}`+`, imageData=${timapi._TimApiHelpers.uint8ArrayAsDebugString(this.imageData)}`+`)`}};Object.defineProperty(timapi.ScreenshotInformation,"name",{value:"timapi.ScreenshotInformation"});timapi.FeaturesSixml=class{constructor(){this.adminFunctions=undefined;this.hasAutoCommit=undefined;this.hasAutoShiftManagement=undefined;this.hasAutoShutterManagement=undefined;this.canRequestRepetition=undefined;this.financialFunctions=undefined;this.guides=undefined;this.nonFinancialFunctions=undefined;this.protocolLevel=undefined;this.hasSleepTimer=undefined;this.statusFunctions=undefined;this.dialogFunctions=undefined;this.allowsClosedCardInsertion=undefined;this.hasFastNtfMode=undefined;this.persistentState=undefined;this.ep2ReferencedTransaction=undefined;this.ep2DeferredAuthorisation=undefined;this.deferredAuthorisation=undefined;this.ep2CredentialOnFile=undefined;this.credentialOnFile=undefined}toString(){return`${this.constructor.name}(`+`adminFunctions=${timapi._TimApiHelpers.setAsDebugString(this.adminFunctions)}`+`, hasAutoCommit=${this.hasAutoCommit}`+`, hasAutoShiftManagement=${this.hasAutoShiftManagement}`+`, hasAutoShutterManagement=${this.hasAutoShutterManagement}`+`, canRequestRepetition=${this.canRequestRepetition}`+`, financialFunctions=${timapi._TimApiHelpers.setAsDebugString(this.financialFunctions)}`+`, guides=${timapi._TimApiHelpers.setAsDebugString(this.guides)}`+`, nonFinancialFunctions=${timapi._TimApiHelpers.setAsDebugString(this.nonFinancialFunctions)}`+`, protocolLevel=${this.protocolLevel}`+`, hasSleepTimer=${this.hasSleepTimer}`+`, statusFunctions=${timapi._TimApiHelpers.setAsDebugString(this.statusFunctions)}`+`, dialogFunctions=${timapi._TimApiHelpers.setAsDebugString(this.dialogFunctions)}`+`, allowsClosedCardInsertion=${this.allowsClosedCardInsertion}`+`, hasFastNtfMode=${this.hasFastNtfMode}`+`, persistentState=${this.persistentState}`+`, ep2ReferencedTransaction=${this.ep2ReferencedTransaction}`+`, ep2DeferredAuthorisation=${this.ep2DeferredAuthorisation}`+`, deferredAuthorisation=${this.deferredAuthorisation}`+`, ep2CredentialOnFile=${this.ep2CredentialOnFile}`+`, credentialOnFile=${this.credentialOnFile}`+`)`}};Object.defineProperty(timapi.FeaturesSixml,"name",{value:"timapi.FeaturesSixml"});timapi.FeaturesSixml.Support=new timapi.constants.Enumeration(["disabled","supported","mandatory"],0);timapi.ShowSignatureCaptureRequest=class{constructor(){this.brandBar=[];this.brandMode=timapi.constants.BrandMode.all;this.backgroundColor=new timapi.Color(255,255,255);this.imageFileFormat=timapi.constants.ImageFileFormat.png;this.imageFileWidth=200;this.imageFileHeight=150;this.resourceId=timapi.constants.ResourceId.welcomeCard;this.signatureColor=new timapi.Color(0,0,0);this.theme=timapi.constants.Theme.six;this.timeout=60;this.language=undefined;this.watermarkColor=new timapi.Color(0,0,0);this.watermarkItems=[]}toString(){return`${this.constructor.name}(`+`brandBar=${timapi._TimApiHelpers.arrayAsDebugString(this.brandBar)}`+`, brandMode=${this.brandMode}`+`, backgroundColor=${this.backgroundColor}`+`, imageFileFormat=${this.imageFileFormat}`+`, imageFileWidth=${this.imageFileWidth}`+`, imageFileHeight=${this.imageFileHeight}`+`, resourceId=${this.resourceId}`+`, signatureColor=${this.signatureColor}`+`, theme=${this.theme}`+`, timeout=${this.timeout}`+`, language=${this.language}`+`, watermarkColor=${this.watermarkColor}`+`, watermarkItems=${timapi._TimApiHelpers.arrayAsDebugString(this.watermarkItems)}`+`)`}static copy(showSignatureCaptureRequest){var copy=new timapi.ShowSignatureCaptureRequest;if(showSignatureCaptureRequest.brandBar!==undefined){copy.brandBar=showSignatureCaptureRequest.brandBar.slice()}copy.brandMode=showSignatureCaptureRequest.brandMode;copy.backgroundColor=timapi.Color.copy(showSignatureCaptureRequest.backgroundColor);copy.imageFileFormat=showSignatureCaptureRequest.imageFileFormat;copy.imageFileWidth=showSignatureCaptureRequest.imageFileWidth;copy.imageFileHeight=showSignatureCaptureRequest.imageFileHeight;copy.resourceId=showSignatureCaptureRequest.resourceId;copy.signatureColor=timapi.Color.copy(showSignatureCaptureRequest.signatureColor);copy.theme=showSignatureCaptureRequest.theme;copy.timeout=showSignatureCaptureRequest.timeout;copy.language=showSignatureCaptureRequest.language;copy.watermarkColor=timapi.Color.copy(showSignatureCaptureRequest.watermarkColor);if(showSignatureCaptureRequest.watermarkItems!==undefined){copy.watermarkItems=showSignatureCaptureRequest.watermarkItems.slice()}return copy}};Object.defineProperty(timapi.ShowSignatureCaptureRequest,"name",{value:"timapi.ShowSignatureCaptureRequest"});timapi.HardwareInformationResponse=class{constructor(){this.hardwares=undefined;this.kernelVersions=undefined;this.settings=undefined;this.statistics=undefined;this.batteryLevel=undefined;this.batteryCharging=undefined}toString(){return`${this.constructor.name}(`+`hardwares=${timapi._TimApiHelpers.arrayAsDebugString(this.hardwares)}`+`, kernelVersions=${timapi._TimApiHelpers.mapAsDebugString(this.kernelVersions)}`+`, settings=${timapi._TimApiHelpers.mapAsDebugString(this.settings)}`+`, statistics=${timapi._TimApiHelpers.mapAsDebugString(this.statistics)}`+`, batteryLevel=${this.batteryLevel}`+`, batteryCharging=${this.batteryCharging}`+`)`}};Object.defineProperty(timapi.HardwareInformationResponse,"name",{value:"timapi.HardwareInformationResponse"});timapi.VasResult=class{constructor(){this.vasInfoListType=undefined;this.vasInformation=new Map}toString(){return`${this.constructor.name}(`+`vasInfoListType=${this.vasInfoListType}`+`, vasInformation=${this.vasInformation}`+`)`}static copy(vasResult){var copy=new timapi.VasResult;copy.vasInfoListType=vasResult.vasInfoListType;copy.vasInformation=new Map(vasResult.vasInformation);return copy}};Object.defineProperty(timapi.VasResult,"name",{value:"timapi.VasResult"});timapi.TerminalStatus=class{constructor(){this.displayContent=[];this.connectionStatus=undefined;this.managementStatus=undefined;this.cardReaderStatus=undefined;this.transactionStatus=undefined;this.sleepModeStatus=undefined;this.hasReceiptInformation=undefined;this.cardData=undefined;this.swUpdateAvailable=undefined;this.finalAmount=undefined}toString(){return`${this.constructor.name}(`+`displayContent=${timapi._TimApiHelpers.arrayAsDebugString(this.displayContent)}`+`, connectionStatue=${this.connectionStatus}`+`, managementStatus=${this.managementStatus}`+`, cardReaderStatus=${this.cardReaderStatus}`+`, transactionStatus=${this.transactionStatus}`+`, sleepModeStatus=${this.sleepModeStatus}`+`, receiptInformation=${this.receiptInformation}`+`, cardData=${this.cardData}`+`, swUpdateAvailable=${this.swUpdateAvailable}`+`, finalAmount=${this.finalAmount}`+")"}};Object.defineProperty(timapi.TerminalStatus,"name",{value:"timapi.TerminalStatus"});timapi.NativeError=class{constructor(){this.code=undefined;this.message=undefined;this.source=undefined}toString(){return`${this.constructor.name}(`+`code=${this.code}`+`, message=${this.message}`+`, source=${this.source}`+`)`}};Object.defineProperty(timapi.NativeError,"name",{value:"timapi.NativeError"});timapi.CardData=class{constructor(){this.posEntryMode=undefined;this.aid=undefined;this.acc=undefined;this.cardNumber=undefined;this.cardNumberPrintable=undefined;this.cardNumberPrintableCardholder=undefined;this.cardNumberEnc=undefined;this.cardNumberEncKeyIndex=undefined;this.cardExpiryDate=undefined;this.brandName=undefined;this.tenderName=undefined;this.cardTrackDatas=undefined;this.loyaltyInformation=undefined;this.cardRef=undefined;this.processingDisposition=undefined;this.language=undefined;this.cardCountryCode=undefined;this.terminalCountryCode=undefined;this.uid=undefined;this.asrpd=undefined;this.cardProductType=undefined;this.cardType=undefined;this.cardholder=undefined}toString(){return`${this.constructor.name}(`+`posEntryMode=${this.posEntryMode}`+`, aid=${this.aid}`+`, acc=${this.acc}`+`, cardNumber=${this.cardNumber}`+`, cardNumberPrintable=${this.cardNumberPrintable}`+`, cardNumberPrintableCardholder=${this.cardNumberPrintableCardholder}`+`, cardNumberEnc=${timapi._TimApiHelpers.uint8ArrayAsDebugString(this.cardNumberEnc)}`+`, cardNumberEncKeyIndex=${this.cardNumberEncKeyIndex}`+`, cardExpiryDate=${this.cardExpiryDate}`+`, brandName=${this.brandName}`+`, tenderName=${this.tenderName}`+`, cardTrackDatas=${timapi._TimApiHelpers.arrayAsDebugString(this.cardTrackDatas)}`+`, loyaltyInformations=${timapi._TimApiHelpers.stringUint8MapAsDebugString(this.loyaltyInformations)}`+`, cardRef=${this.cardRef}`+`, processingDisposition=${this.processingDisposition}`+`, language=${this.language}`+`, cardCountryCode=${this.cardCountryCode}`+`, terminalCountryCode=${this.terminalCountryCode}`+`, uid=${this.uid}`+`, asrpd=${this.asrpd}`+`, cardProductType=${this.cardProductType}`+`, cardType=${this.cardType}`+`, cardholder=${this.cardholder}`+`)`}};Object.defineProperty(timapi.CardData,"name",{value:"timapi.CardData"});timapi.SignatureInformation=class{constructor(){this.imageFileFormat=undefined;this.imageWidth=undefined;this.imageHeight=undefined;this.imageData=undefined}toString(){return`${this.constructor.name}(`+`imageFileFormat=${this.imageFileFormat}`+`, imageWidth=${this.imageWidth}`+`, imageHeight=${this.imageHeight}`+`, imageData=${timapi._TimApiHelpers.uint8ArrayAsDebugString(this.imageData)}`+`)`}};Object.defineProperty(timapi.SignatureInformation,"name",{value:"timapi.SignatureInformation"});timapi.SubTransaction=class{constructor(copySubTrx=undefined){this.function=undefined;this.amount=undefined;this.rate=undefined;this.rateExponent=undefined;if(copySubTrx!==undefined){this.function=copySubTrx.function;this.amount=copySubTrx.amount;this.rate=copySubTrx.rate;this.rateExponent=copySubTrx.rateExponent}}toString(){return`${this.constructor.name}(`+`function=${this.function}`+`, amount=${this.amount}`+`, rate=${this.rate}`+`, rateExponent=${this.rateExponent}`+`)`}static copy(subTransaction){var copy=new timapi.SubTransaction;copy.function=subTransaction.function;copy.amount=timapi.Amount.copy(subTransaction.amount);copy.rate=subTransaction.rate;copy.rateExponent=subTransaction.rateExponent;return copy}};Object.defineProperty(timapi.SubTransaction,"name",{value:"timapi.SubTransaction"});timapi.TransactionInformation=class{constructor(){this.posEntryMode=undefined;this.cvm=undefined;this.merchantAction=undefined;this.authCode=undefined;this.timeStamp=undefined;this.transRef=undefined;this.transSeq=undefined;this.acqId=undefined;this.signatureInformation=undefined;this.trmTransRef=undefined;this.acqTransRef=undefined;this.sixTrxRefNum=undefined;this.cardholderName=undefined;this.clientIdentifier=undefined;this.accountNumber=undefined;this.personOid=undefined;this.cardId=undefined;this.ngvUsedFlag=undefined}toString(){return`${this.constructor.name}(`+`posEntryMode=${this.posEntryMode}`+`, cvm=${this.cvm}`+`, merchantAction=${this.merchantAction}`+`, authCode=${this.authCode}`+`, timeStamp=${this.timeStamp}`+`, transRef=${this.transRef}`+`, transSeq=${this.transSeq}`+`, acqId=${this.acqId}`+`, signatureInformation=${this.signatureInformation}`+`, trmTransRef=${this.trmTransRef}`+`, acqTransRef=${this.acqTransRef}`+`, sixTrxRefNum=${this.sixTrxRefNum}`+`, cardholderName=${this.cardholderName}`+`, clientIdentifier=${this.clientIdentifier}`+`, accountNumber=${this.accountNumber}`+`, personOid=${this.personOid}`+`, cardId=${this.cardId}`+`, ngvUsedFlag=${this.ngvUsedFlag}`+`)`}};Object.defineProperty(timapi.TransactionInformation,"name",{value:"timapi.TransactionInformation"});timapi.MerchantOption=class{constructor(type,value){this.type=type;this.value=value;Object.freeze(this)}toString(){return`${this.constructor.name}(`+`type=${this.type}`+`, value=${this.value}`+`)`}};Object.defineProperty(timapi.MerchantOption,"name",{value:"timapi.MerchantOption"});timapi.Hardware=class{constructor(){this.hardwareType=undefined;this.serialNumber=undefined;this.productionDate=undefined;this.productVersion=undefined;this.firmwareVersion=undefined;this.securityStatus=undefined;this.lastCleaningDate=undefined;this.imsi=undefined;this.imei=undefined;this.iccid=undefined;this.hardwareAddress=undefined;this.hardwareDescription=undefined}toString(){return`${this.constructor.name}(`+`hardwareType=${this.hardwareType}`+`, serialNumber=${this.serialNumber}`+`, productionDate=${this.productionDate}`+`, productVersion=${this.productVersion}`+`, firmwareVersion=${this.firmwareVersion}`+`, securityStatus=${this.securityStatus}`+`, lastCleaningDate=${this.lastCleaningDate}`+`, imsi=${this.imsi}`+`, imei=${this.imei}`+`, iccid=${this.iccid}`+`, hardwareAddress=${this.hardwareAddress}`+`, hardwareDescription=${this.hardwareDescription}`+`)`}};Object.defineProperty(timapi.Hardware,"name",{value:"timapi.Hardware"});timapi.CurrencyItem=class{constructor(){this.currency=undefined;this.type=undefined}toString(){return`${this.constructor.name}(`+`currency=${this.currency}`+`, type=${this.type}`+`)`}};Object.defineProperty(timapi.CurrencyItem,"name",{value:"timapi.CurrencyItem"});timapi.AmountDcc=class extends timapi.Amount{constructor(){super(undefined,undefined,undefined);this.rate=undefined;this.rateExponent=undefined;this.markup=undefined;this.markupExponent=undefined;this.rateRegulated=undefined;this.rateExponentRegulated=undefined;this.markupRegulated=undefined;this.markupExponentRegulated=undefined}getRateDecimal(){if(this.rate==undefined||this.rateExponent==undefined){return undefined}let rate=this.rate;if(this.rateExponent>0){for(i=0;i<this.rateExponent;i++){rate/=10}}else if(this.rateExponent<0){for(i=this.rateExponent;i<0;i++){rate*=10}}return rate}getMarkupDecimal(){if(this.markup==undefined||this.markupExponent==undefined){return undefined}let markup=this.markup;if(this.markupExponent>0){for(i=0;i<this.markupExponent;i++){markup/=10}}else if(this.markupExponent<0){for(i=this.markupExponent;i<0;i++){markup*=10}}return markup}getRateDecimalRegulated(){if(this.rateRegulated==undefined||this.rateExponentRegulated==undefined){return undefined}let rateRegulated=this.rateRegulated;if(this.rateExponentRegulated>0){for(i=0;i<this.rateExponentRegulated;i++){rateRegulated/=10}}else if(this.rateExponentRegulated<0){for(i=this.rateExponentRegulated;i<0;i++){rateRegulated*=10}}return rateRegulated}getMarkupDecimalRegulated(){if(this.markupRegulated==undefined||this.markupExponentRegulated==undefined){return undefined}let markupRegulated=this.markupRegulated;if(this.markupExponentRegulated>0){for(i=0;i<this.markupExponentRegulated;i++){markupRegulated/=10}}else if(this.markupExponentRegulated<0){for(i=this.markupExponentRegulated;i<0;i++){markupRegulated*=10}}return markupRegulated}toString(){return`${this.constructor.name}(`+`value=${this.value}`+`, currency=${this.currency}`+`, exponent=${this.exponent}`+`, rate=${this.rate}`+`, rateExponent=${this.rateExponent}`+`, markup=${this.markup}`+`, markupExponent=${this.markupExponent}`+`, rateRegulated=${this.rateRegulated}`+`, rateExponentRegulated=${this.rateExponentRegulated}`+`, markupRegulated=${this.markupRegulated}`+`, markupExponentRegulated=${this.markupExponentRegulated}`+`)`}};Object.defineProperty(timapi.AmountDcc,"name",{value:"timapi.AmountDcc"});timapi.TrxDetail=class{constructor(){this.dccFlag=undefined;this.transactionType=undefined;this.count=undefined;this.amountSum=undefined;this.amountSumTip=undefined;this.amountSumOther=undefined;this.aid=undefined;this.markup=undefined;this.markupExponent=undefined;this.ngvUsedFlag=undefined}toString(){return`${this.constructor.name}(`+`dccFlag=${this.dccFlag}`+`, transactionType=${this.transactionType}`+`, count=${this.count}`+`, amountSum=${this.amountSum}`+`, amountSumTip=${this.amountSumTip}`+`, amountSumOther=${this.amountSumOther}`+`, aid=${this.aid}`+`, markup=${this.markup}`+`, markupExponent=${this.markupExponent}`+`, ngvUsedFlag=${this.ngvUsedFlag}`+`)`}};Object.defineProperty(timapi.TrxDetail,"name",{value:"timapi.TrxDetail"});timapi.CommandRequest=class{constructor(){this.cardReader=undefined;this.order=undefined;this.cardCommand=undefined;this.positiveResource=undefined;this.negativeResource=undefined;this.executionResource=undefined;this.preResource=undefined;this.positiveAnswers=undefined}toString(){return`${this.constructor.name}(`+`cardReader=${this.cardReader}`+`, order=${this.order}`+`, cardCommand=${this.cardCommand}`+`, positiveResource=${this.positiveResource}`+`, negativeResource=${this.negativeResource}`+`, executionResource=${this.executionResource}`+`, preResource=${this.preResource}`+`, positiveAnswers=${timapi._TimApiHelpers.arrayAsDebugString(this.positiveAnswers)}`+`)`}static copy(commandRequest){var copy=new timapi.CommandRequest;copy.cardReader=commandRequest.cardReader;copy.order=commandRequest.order;copy.cardCommand=commandRequest.cardCommand;copy.positiveResource=commandRequest.positiveResource;copy.negativeResource=commandRequest.negativeResource;copy.executionResource=commandRequest.executionResource;copy.preResource=commandRequest.preResource;if(commandRequest.positiveAnswers!==undefined){copy.positiveAnswers=commandRequest.positiveAnswers.slice()}return copy}};Object.defineProperty(timapi.CommandRequest,"name",{value:"timapi.CommandRequest"});timapi.ConfigData=class{constructor(){this.receiptHeader=undefined;this.language=undefined}toString(){return`${this.constructor.name}(`+`receiptHeader=${timapi._TimApiHelpers.arrayAsDebugString(this.receiptHeader)}`,+`, language=${this.language}`+`)`}};Object.defineProperty(timapi.ConfigData,"name",{value:"timapi.ConfigData"});timapi.ShowDialogResponse=class{constructor(){this.reason=undefined;this.userInput=undefined;this.cardData=undefined}toString(){return`${this.constructor.name}(`+`reason=${this.reason}`+`, userInput=${this.userInput}`+`, cardData=${this.cardData}`+`)`}};Object.defineProperty(timapi.ShowDialogResponse,"name",{value:"timapi.ShowDialogResponse"});timapi.LoyaltyDiscount=class extends timapi.Amount{constructor(){super();this.value=undefined;this.currency=undefined;this.exponent=undefined;this.discountDescription=undefined}setValue(){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,`"Cannot set amount for LoyaltyDiscount."`)}setDecimalValue(){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,`"Cannot set amount decimal for LoyaltyDiscount."`)}setCurrency(){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,`"Cannot set currency for LoyaltyDiscount."`)}toString(){return`${this.constructor.name}(`+`value=${this.value}`+`, currency=${this.currency}`+`, exponent=${this.exponent}`+`, discountDescription=${this.discountDescription}`+`)`}};Object.defineProperty(timapi.LoyaltyDiscount,"name",{value:"timapi.LoyaltyDiscount"});timapi.SystemInformationResponse=class{constructor(){this.networkInformation=undefined}toString(){return`${this.constructor.name}(`+`networkInformation=${this.networkInformation}`+`)`}};Object.defineProperty(timapi.SystemInformationResponse,"name",{value:"timapi.SystemInformationResponse"});timapi.CardTrackData=class{constructor(){this.trackNum=undefined;this.data=undefined}toString(){return`${this.constructor.name}(Track: ${this.trackNum}: ${timapi._TimApiHelpers.uint8ArrayAsDebugString(this.data)})`}};Object.defineProperty(timapi.CardTrackData,"name",{value:"timapi.CardTrackData"});timapi.TransactionRequest=class{constructor(){this.userId=undefined;this.amount=undefined;this.transactionData=undefined;this.merchantOptions=[];this.amountDiscount=undefined;this.amountTip=undefined;this.basket=undefined;this.additionalInfo=new Map;this.customerData=new Map;this.amountOther=undefined;this.retainCard=undefined;this.loyaltyCouponList=[]}toString(){return`${this.constructor.name}(`+`userId=${this.userId}`+`, amount=${this.amount}`+`, transactionData=${this.transactionData}`+`, merchantOptions=${timapi._TimApiHelpers.arrayAsDebugString(this.merchantOptions)}`+`, amountDiscount=${this.amountDiscount}`+`, amountTip=${this.amountTip}`+`, basket=${this.basket}`+`, additionalInfo=${timapi._TimApiHelpers.mapAsDebugString(this.additionalInfo)}`+`, customerData=${timapi._TimApiHelpers.mapAsDebugString(this.customerData)}`+`, amountOther=${this.amountOther}`+`, retainCard=${this.retainCard}`+`, loyaltyCouponList=${timapi._TimApiHelpers.arrayAsDebugString(this.loyaltyCouponList)}`+`)`}static copy(transactionRequest){var copy=new timapi.TransactionRequest;copy.userId=transactionRequest.userId;if(transactionRequest.amount!==undefined){copy.amount=timapi.Amount.copy(transactionRequest.amount)}if(transactionRequest.transactionData!==undefined){copy.transactionData=timapi.TransactionData.copy(transactionRequest.transactionData)}if(transactionRequest.merchantOptions!==undefined){copy.merchantOptions=transactionRequest.merchantOptions.slice()}if(transactionRequest.amountDiscount!==undefined){copy.amountDiscount=timapi.AmountDiscount.copy(transactionRequest.amountDiscount)}if(transactionRequest.amountTip!==undefined){copy.amountTip=timapi.Amount.copy(transactionRequest.amountTip)}if(transactionRequest.basket!==undefined){copy.basket=timapi.Basket.copy(transactionRequest.basket)}copy.additionalInfo=new Map(transactionRequest.additionalInfo);copy.customerData=new Map(transactionRequest.customerData);if(transactionRequest.amountOther!==undefined){copy.amountOther=timapi.Amount.copy(transactionRequest.amountOther)}copy.retainCard=transactionRequest.retainCard;if(transactionRequest.loyaltyCouponList!==undefined){copy.loyaltyCouponList=transactionRequest.loyaltyCouponList.slice()}return copy}};Object.defineProperty(timapi.TransactionRequest,"name",{value:"timapi.TransactionRequest"});timapi.CustomReceiptFormatter=class{constructor(){this.lineFormatsCardholder=[];this.lineFormatsMerchant=[];this.lineFormatsSaldo=[];this.emptyValueString="NA"}copy(){let crf=new timapi.CustomReceiptFormatter;this.lineFormatsCardholder.forEach(function(lineFormat){crf.lineFormatsCardholder.push(lineFormat.copy())});this.lineFormatsMerchant.forEach(function(lineFormat){crf.lineFormatsMerchant.push(lineFormat.copy())});this.lineFormatsSaldo.forEach(function(lineFormat){crf.lineFormatsSaldo.push(lineFormat.copy())});crf.emptyValueString=this.emptyValueString;return crf}};Object.defineProperty(timapi.CustomReceiptFormatter,"name",{value:"timapi.CustomReceiptFormatter"});timapi.CustomReceiptFormatter.TextType=new timapi.constants.Enumeration(["text","userId","posId","transactionType","dashedLine","receiptHeader","fieldActId","fieldAccPer","fieldAcqId","fieldAid","fieldAmount","fieldAmountDcc","fieldAmountOther","fieldAuthCode","fieldBrandName","fieldCurrency","fieldCurrencyDcc","fieldDccDisclaimer","fieldDisclaimer","fieldExponent","fieldExponentDcc","fieldMarkupDcc","fieldMarkupExponentDcc","fieldCardNumberPrintableMerchant","fieldCardNumberPrintableCardholder","fieldRateDcc","fieldRateExponentDcc","fieldTimeStampDate","fieldTimeStampTime","fieldTrmId","fieldTrxRefNum","fieldTrxSeqCnt","fieldPosEntryMode","fieldCardExpiryDate","fieldCardNumberEnc","fieldAmountSaldo","fieldEcrSeqCnt","fieldNumberOfInstallments","fieldInstallmentDisclaimer","fieldTenderName","fieldTenderOrBrandName","fieldMarkupDccRegulated","fieldMarkupExponentDccRegulated","fieldRateDccRegulated","fieldRateExponentDccRegulated","fieldOriginalTransRef","fieldKeyPanReceiptIndex"],0);timapi.CustomReceiptFormatter.TextAlignment=new timapi.constants.Enumeration(["left","right","center"],0);timapi.CustomReceiptFormatter.Condition=new timapi.constants.Enumeration(["none","ecrInfo","eftInfo","signature","hasValues","installment","dcc"],0);timapi.CustomReceiptFormatter.TextElement=class{constructor(type,alignment,text,receiptType){this.type=timapi.CustomReceiptFormatter.TextType.text;this.alignment=timapi.CustomReceiptFormatter.TextAlignment.left;this.text="";this.receiptType=undefined;if(type!==undefined){this.type=type}if(alignment!==undefined){this.alignment=alignment}if(text!==undefined){this.text=text}this.receiptType=receiptType}copy(){return new timapi.CustomReceiptFormatter.TextElement(this.type,this.alignment,this.text,this.receiptType)}static createText(text,alignment,receiptType){return new timapi.CustomReceiptFormatter.TextElement(timapi.CustomReceiptFormatter.TextType.text,alignment,text,receiptType)}static createField(field,alignment,receiptType){return new timapi.CustomReceiptFormatter.TextElement(field,alignment,receiptType)}};Object.defineProperty(timapi.CustomReceiptFormatter.TextElement,"name",{value:"timapi.CustomReceiptFormatter.TextElement"});timapi.CustomReceiptFormatter.LineFormat=class{constructor(elements,condition,padding){this.elements=[];this.condition=timapi.CustomReceiptFormatter.Condition.none;this.padding=" ";if(elements!==undefined){this.elements=elements}if(condition!==undefined){this.condition=condition}if(padding!==undefined){this.padding=padding}}copy(){let lf=new timapi.CustomReceiptFormatter.LineFormat;this.elements.forEach(function(element){lf.elements.push(element.copy())});lf.condition=this.condition;lf.padding=this.padding;return lf}};Object.defineProperty(timapi.CustomReceiptFormatter.LineFormat,"name",{value:"timapi.CustomReceiptFormatter.LineFormat"});timapi.CommandResponse=class{constructor(){this.order=undefined;this.responseType=undefined;this.cardResponse=undefined;this.uid=undefined;this.atr=undefined}toString(){return`${this.constructor.name}(`+`order=${this.order}`+`, responseType=${this.responseType}`+`, cardResponse=${this.cardResponse}`+`, uid=${this.uid}`+`, atr=${this.atr}`+`)`}};Object.defineProperty(timapi.CommandResponse,"name",{value:"timapi.CommandResponse"});timapi.BalanceInquiryResponse=class{constructor(){this.amount=undefined;this.printData=undefined;this.cardData=undefined;this.disclaimer=undefined;this.transactionInformation=undefined}toString(){return`${this.constructor.name}(`+`amount=${this.amount}`+`, printData=${this.printData}`+`, cardData=${this.cardData}`+`, disclaimer=${this.disclaimer}`+`, transactionInformation=${this.transactionInformation}`+`)`}};Object.defineProperty(timapi.BalanceInquiryResponse,"name",{value:"timapi.BalanceInquiryResponse"});timapi.Terminal=class{constructor(settings){let t=timapi._TimApiHelpers.prepareTerminal();this._listeners=[];this._listenersLocked=false;let waSettings=timapi._TimApiHelpers.convertTerminalSettings(settings);try{this._wao=new timapi._TimApiHelpers.TAObject;timapi.TimException.assert(t.create(this._wao.p(),waSettings.v()));if(typeof navigator!=="undefined"){let ecrInfo=new timapi.EcrInfo;ecrInfo.name=navigator.userAgent;ecrInfo.architecture=`${navigator.platform}${navigator.oscpu?" "+navigator.oscpu:""}`;ecrInfo.manufacturerName=navigator.vendor;ecrInfo.type=timapi.constants.EcrInfoType.os;this.addEcrData(ecrInfo)}}catch(err){if(this._wao)this._wao.dispose();throw err}finally{if(waSettings)waSettings.dispose()}timapi._TimApiHelpers.terminalMap[this._wao.value()]=this}dispose(){let pointer=this._wao.v();timapi.TimException.assert(timapi._TimApiHelpers.terminal.dispose(pointer));this._wao.dispose();this._wao=undefined;this._listeners=undefined;if(pointer in timapi._TimApiHelpers.terminalMap){delete timapi._TimApiHelpers.terminalMap[pointer]}}assertNotDisposed(){if(typeof this._wao==="undefined"){throw new timapi.TimException(timapi.constants.ResultCode.invalidState,"Terminal instance has been disposed")}}getActSeqCounter(){this.assertNotDisposed();return timapi._TimApiHelpers.terminalGetActSeqCounter(this)}getBrands(){this.assertNotDisposed();return timapi._TimApiHelpers.terminalGetBrands(this)}getConfigData(){this.assertNotDisposed();return timapi._TimApiHelpers.terminalGetConfigData(this)}getLicense(){this.assertNotDisposed();return timapi._TimApiHelpers.terminalGetLicense(this)}canDcc(){this.assertNotDisposed();return timapi._TimApiHelpers.terminalCanDcc(this)}canDeclinedReceipts(){this.assertNotDisposed();return timapi._TimApiHelpers.terminalCanDeclinedReceipts(this)}getEcrData(){this.assertNotDisposed();return timapi._TimApiHelpers.terminalGetEcrData(this)}setEcrData(ecrData){this.assertNotDisposed();timapi._TimApiHelpers.terminalSetEcrData(this,ecrData)}addEcrData(ecrInfo){this.assertNotDisposed();timapi._TimApiHelpers.terminalAddEcrData(this,ecrInfo)}getFeatures(){this.assertNotDisposed();return timapi._TimApiHelpers.terminalGetFeatures(this)}addListener(listener){if(!listener){throw new Error("Listener is null")}if(this._listeners.includes(listener)){throw new Error("Listener is already registered")}if(this._listenersLocked){this._listeners=this._listeners.slice(0);this._listenersLocked=false}this._listeners.push(listener)}removeListener(listener){let index=this._listeners.indexOf(listener);if(index==-1){throw new Error("Listener is not registered")}if(this._listenersLocked){this._listeners=this._listeners.slice(0);this._listenersLocked=false}this._listeners.splice(index,1)}getMerchantOptions(){this.assertNotDisposed();return timapi._TimApiHelpers.terminalGetMerchantOptions(this)}setMerchantOptions(merchantOptions){this.assertNotDisposed();timapi._TimApiHelpers.terminalSetMerchantOptions(this,merchantOptions)}canMultiAccountSelection(){this.assertNotDisposed();return timapi._TimApiHelpers.terminalCanMultiAccountSelection(this)}getPosId(){this.assertNotDisposed();return timapi._TimApiHelpers.terminalGetPosId(this)}setPosId(posId){this.assertNotDisposed();timapi._TimApiHelpers.terminalSetPosId(this,posId)}getPrintOptions(){this.assertNotDisposed();return timapi._TimApiHelpers.terminalGetPrintOptions(this)}setPrintOptions(printOptions){this.assertNotDisposed();timapi._TimApiHelpers.terminalSetPrintOptions(this,printOptions)}getSettings(){this.assertNotDisposed();return timapi._TimApiHelpers.terminalGetSettings(this)}hasSwUpdate(){this.assertNotDisposed();return timapi._TimApiHelpers.terminalHasSwUpdate(this)}getTerminalId(){this.assertNotDisposed();return timapi._TimApiHelpers.terminalGetTerminalId(this)}getTerminalStatus(){this.assertNotDisposed();return timapi._TimApiHelpers.terminalGetTerminalStatus(this)}getTransactionData(){this.assertNotDisposed();return timapi._TimApiHelpers.terminalGetTransactionData(this)}setTransactionData(transactionData){this.assertNotDisposed();timapi._TimApiHelpers.terminalSetTransactionData(this,transactionData)}getUserId(){this.assertNotDisposed();return timapi._TimApiHelpers.terminalGetUserId(this)}setUserId(userId){this.assertNotDisposed();timapi._TimApiHelpers.terminalSetUserId(this,userId)}setNormalReceiptFormatter(){this.assertNotDisposed();timapi._TimApiHelpers.terminalSetNormalReceiptFormatter(this)}setCompactReceiptFormatter(){this.assertNotDisposed();timapi._TimApiHelpers.terminalSetCompactReceiptFormatter(this)}setSuperCompactReceiptFormatter(){this.assertNotDisposed();timapi._TimApiHelpers.terminalSetSuperCompactReceiptFormatter(this)}setUltraCompactReceiptFormatter(){this.assertNotDisposed();timapi._TimApiHelpers.terminalSetUltraCompactReceiptFormatter(this)}setReceiptFormatter(formatter){this.assertNotDisposed();this._receiptFormatter=formatter}setCustomReceiptFormatter(customReceiptFormatter){this.assertNotDisposed();timapi._TimApiHelpers.terminalSetCustomReceiptFormatter(this,customReceiptFormatter)}activateAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.activate_async(this._wao.v()))}activateServiceMenuAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.activate_service_menu_async(this._wao.v()))}amtAdjustment(amount){this.assertNotDisposed();timapi._TimApiHelpers.amtAdjustment(this,amount)}amtAdjustmentVas(amount,amountDiscount,loyaltyCouponList,loyaltyInformationList){this.assertNotDisposed();timapi._TimApiHelpers.amtAdjustmentVas(this,amount,amountDiscount,loyaltyCouponList,loyaltyInformationList)}applicationInformationAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.application_information_async(this._wao.v()))}balanceAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.balance_async(this._wao.v()))}balanceInquiryAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.balance_inquiry_async(this._wao.v()))}cancel(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.cancel(this._wao.v()))}cancelUnattended(silent,retainCard){this.assertNotDisposed();timapi._TimApiHelpers.cancelUnattended(this,silent,retainCard)}changeSettingsAsync(settings){this.assertNotDisposed();timapi._TimApiHelpers.changeSettingsAsync(this,settings)}closeDialogModeAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.close_dialog_mode_async(this._wao.v()))}closeMaintenanceWindowAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.close_maintenance_window_async(this._wao.v()))}closeReaderAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.close_reader_async(this._wao.v()))}commitAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.commit_async(this._wao.v()))}commitAmountAsync(amount){this.assertNotDisposed();timapi._TimApiHelpers.commitAmountAsync(this,amount)}connectAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.connect_async(this._wao.v()))}counterRequestAsync(counterType){this.assertNotDisposed();timapi._TimApiHelpers.counterRequestAsync(this,counterType)}dccRatesAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.dcc_rates_async(this._wao.v()))}deactivateAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.deactivate_async(this._wao.v()))}disconnectAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.disconnect_async(this._wao.v()))}ejectCardAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.eject_card_async(this._wao.v()))}finishCheckoutAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.finish_checkout_async(this._wao.v()))}hardwareInformationAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.hardware_information_async(this._wao.v()))}holdCommit(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.hold_commit(this._wao.v()))}initTransactionAsync(displayAmount,amount,functionHint){this.assertNotDisposed();timapi._TimApiHelpers.initTransactionAsync(this,displayAmount,amount,functionHint)}loginAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.login_async(this._wao.v()))}logoutAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.logout_async(this._wao.v()))}loyaltyDataAsync(functionType,dataType,data,retainCard){this.assertNotDisposed();timapi._TimApiHelpers.loyaltyDataAsync(this,functionType,dataType,data,retainCard)}openDialogModeAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.open_dialog_mode_async(this._wao.v()))}openMaintenanceWindowAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.open_maintenance_window_async(this._wao.v()))}openReaderAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.open_reader_async(this._wao.v()))}provideLoyaltyBasketAsync(basket){this.assertNotDisposed();timapi._TimApiHelpers.provideLoyaltyBasketAsync(this,basket)}provideVasResultAsync(basket){this.assertNotDisposed();timapi._TimApiHelpers.provideVasResultAsync(this,basket)}rebootAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.reboot_async(this._wao.v()))}receiptRequestAsync(type){this.assertNotDisposed();timapi._TimApiHelpers.receiptRequestAsync(this,type)}reconciliationAsync(){this.assertNotDisposed();timapi._TimApiHelpers.reconciliationAsync(this)}reconfigAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.reconfig_async(this._wao.v()))}rollbackAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.rollback_async(this._wao.v()))}sendCardCommandAsync(requests){this.assertNotDisposed();timapi._TimApiHelpers.sendCardCommandAsync(this,requests)}showDialogAsync(request){this.assertNotDisposed();timapi._TimApiHelpers.showDialogAsync(this,request)}showSignatureCaptureAsync(request){this.assertNotDisposed();timapi._TimApiHelpers.showSignatureCaptureAsync(this,request)}printOnTerminalAsync(ticketData){this.assertNotDisposed();timapi._TimApiHelpers.printOnTerminalAsync(this,ticketData)}softwareUpdateAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.software_update_async(this._wao.v()))}startCheckoutAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.start_checkout_async(this._wao.v()))}systemInformationAsync(){this.assertNotDisposed();timapi.TimException.assert(timapi._TimApiHelpers.terminal.system_information_async(this._wao.v()))}transactionAsync(type,amount){this.assertNotDisposed();timapi._TimApiHelpers.transactionAsync(this,type,amount)}transactionCashbackAsync(type,amount,amountCashback){this.assertNotDisposed();timapi._TimApiHelpers.transactionCashbackAsync(this,type,amount,amountCashback)}transactionTipAsync(type,amount,amountTip){this.assertNotDisposed();timapi._TimApiHelpers.transactionTipAsync(this,type,amount,amountTip)}transactionWithRequestAsync(type,request){this.assertNotDisposed();timapi._TimApiHelpers.transactionWithRequestAsync(this,type,request)}deviceMaintenanceAsync(type){this.assertNotDisposed();timapi._TimApiHelpers.deviceMaintenanceAsync(this,type)}};Object.defineProperty(timapi.Terminal,"name",{value:"timapi.Terminal"});timapi.DefaultTerminalListener=class{activateCompleted(event,data){if(data&&data.printData&&data.printData.receipts&&data.printData.receipts.length>0){this.printReceipts(event.terminal,data.printData)}this.requestCompleted(event,data)}activateServiceMenuCompleted(event){this.requestCompleted(event,undefined)}applicationInformationCompleted(event){this.requestCompleted(event,undefined)}balanceCompleted(event,data){if(data&&data.printData&&data.printData.receipts&&data.printData.receipts.length>0){this.printReceipts(event.terminal,data.printData)}this.requestCompleted(event,data)}balanceInquiryCompleted(event,data){if(data&&data.printData&&data.printData.receipts&&data.printData.receipts.length>0){this.printReceipts(event.terminal,data.printData)}this.requestCompleted(event,data)}changeSettingsCompleted(event){this.requestCompleted(event,undefined)}closeDialogModeCompleted(event){this.requestCompleted(event,undefined)}closeMaintenanceWindowCompleted(event){this.requestCompleted(event,undefined)}closeReaderCompleted(event){this.requestCompleted(event,undefined)}commitCompleted(event,data){if(data&&data.receipts&&data.receipts.length>0){this.printReceipts(event.terminal,data)}this.requestCompleted(event,data)}connectCompleted(event){this.requestCompleted(event,null)}counterRequestCompleted(event,data){this.requestCompleted(event,data)}deactivateCompleted(event,data){if(data&&data.printData&&data.printData.receipts&&data.printData.receipts.length>0){this.printReceipts(event.terminal,data.printData)}this.requestCompleted(event,data)}dccRatesCompleted(event,data){if(data&&data.receipts&&data.receipts.length>0){this.printReceipts(event.terminal,data)}this.requestCompleted(event,data)}disconnected(terminal,exception){}ejectCardCompleted(event){this.requestCompleted(event,undefined)}finishCheckoutCompleted(event,data){this.requestCompleted(event,data)}hardwareInformationCompleted(event,data){this.requestCompleted(event,data)}initTransactionCompleted(event,data){this.requestCompleted(event,data)}loginCompleted(event){this.requestCompleted(event,undefined)}logoutCompleted(event){this.requestCompleted(event,undefined)}loyaltyDataCompleted(event,data){this.requestCompleted(event,data)}openDialogModeCompleted(event){this.requestCompleted(event,undefined)}openMaintenanceWindowCompleted(event){this.requestCompleted(event,undefined)}openReaderCompleted(event){this.requestCompleted(event,undefined)}printReceipts(terminal,printData){}processPrintReceipts(terminal,printData){if(!printData||!printData.receipts||printData.receipts.length==0){return}this.printReceipts(terminal,printData)}provideLoyaltyBasketCompleted(event,data){this.requestCompleted(event,data)}provideVasResultCompleted(event,data){this.requestCompleted(event,data)}rebootCompleted(event){this.requestCompleted(event,undefined)}reconciliationCompleted(event,data){if(data&&data.printData&&data.printData.receipts&&data.printData.receipts.length>0){this.printReceipts(event.terminal,data.printData)}this.requestCompleted(event,data)}receiptRequestCompleted(event,data){if(data&&data.printData&&data.printData.receipts&&data.printData.receipts.length>0){this.printReceipts(event.terminal,data.printData)}this.requestCompleted(event,data)}reconfigCompleted(event,data){if(data&&data.receipts&&data.receipts.length>0){this.printReceipts(event.terminal,data)}this.requestCompleted(event,data)}requestCompleted(event,data){}rollbackCompleted(event,data){if(data&&data.receipts&&data.receipts.length>0){this.printReceipts(event.terminal,data)}this.requestCompleted(event,data)}sendCardCommandCompleted(event,data){this.requestCompleted(event,data)}showSignatureCaptureCompleted(event,data){this.requestCompleted(event,data)}showDialogCompleted(event,data){this.requestCompleted(event,data)}printOnTerminalCompleted(event){this.requestCompleted(event)}softwareUpdateCompleted(event,data){this.requestCompleted(event,data)}startCheckoutCompleted(event){this.requestCompleted(event,undefined)}systemInformationCompleted(event,data){this.requestCompleted(event,data)}terminalStatusChanged(terminal){}transactionCompleted(event,data){if(data&&data.printData&&data.printData.receipts&&data.printData.receipts.length>0){this.processPrintReceipts(event.terminal,data.printData)}if(event.exception&&event.exception.printData&&event.exception.printData.receipts&&event.exception.printData.receipts.length>0){this.processPrintReceipts(event.terminal,event.exception.printData)}this.requestCompleted(event,data)}deviceMaintenanceCompleted(event,data){this.requestCompleted(event)}vasInfo(terminal,vasCheckoutInformation){}deferredAuth(terminal,response){if(response&&response.printData&&response.printData.receipts&&response.printData.receipts.length>0){this.processPrintReceipts(terminal,response.printData)}}screenshot(terminal,info){}licenseChanged(terminal){}errorNotification(terminal,timError){if(timError&&timError.printData&&timError.printData.receipts&&timError.printData.receipts.length>0){this.processPrintReceipts(terminal,timError.printData)}}};Object.defineProperty(timapi.DefaultTerminalListener,"name",{value:"timapi.DefaultTerminalListener"});timapi.AmountFinal=class extends timapi.Amount{constructor(){super();this.value=undefined;this.currency=undefined;this.exponent=undefined;this.adjustmentResult=undefined}setValue(){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,`"Cannot set amount for AmountFinal."`)}setDecimalValue(){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,`"Cannot set amount decimal for AmountFinal."`)}setCurrency(){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,`"Cannot set currency for AmountFinal."`)}toString(){return`${this.constructor.name}(`+`value=${this.value}`+`, currency=${this.currency}`+`, exponent=${this.exponent}`+`, adjustmentResult=${this.adjustmentResult}`+`)`}};Object.defineProperty(timapi.AmountFinal,"name",{value:"timapi.AmountFinal"});timapi.Brand=class{constructor(){this.name=undefined;this.dccAvailable=undefined;this.paymentProtocol=undefined;this.acqId=undefined;this.lastInitDate=undefined;this.applications=undefined;this.currencies=undefined}toString(){return`${this.constructor.name}(`+`name=${this.name}`+`, dccAvailable=${this.dccAvailable}`+`, paymentProtocol=${this.paymentProtocol}`+`, acqId=${this.acqId}`+`, lastInitDate=${this.lastInitDate}`+`, applications=${timapi._TimApiHelpers.arrayAsDebugString(this.applications)}`+`, currencies=${timapi._TimApiHelpers.arrayAsDebugString(this.currencies)}`+`)`}};Object.defineProperty(timapi.Brand,"name",{value:"timapi.Brand"});timapi.TransactionData=class{constructor(copyTrxData=undefined){this.dccAllowed=undefined;this.trxOriginalDate=undefined;this.ecrSeqCounter=undefined;this.partialApprovalAllowed=undefined;this.transRef=undefined;this.transSeq=undefined;this.cardRef=undefined;this.acqId=undefined;this.acqTransRef=undefined;this.trmTransRef=undefined;this.tipAllowed=undefined;this.phoneAuthCode=undefined;this.language=undefined;this.multiCurrencyFlag=undefined;this.ngvMode=undefined;this.ngvClearingDelay=undefined;this.cvc2=undefined;this.appExpirationDate=undefined;this.sixTrxRefNum=undefined;this.installmentAllowed=undefined;this.deferredAuthInd=undefined;this.subTransactions=[];if(copyTrxData!==undefined){this.dccAllowed=copyTrxData.dccAllowed;this.trxOriginalDate=copyTrxData.trxOriginalDate;this.ecrSeqCounter=copyTrxData.ecrSeqCounter;this.partialApprovalAllowed=copyTrxData.partialApprovalAllowed;this.transRef=copyTrxData.transRef;this.transSeq=copyTrxData.transSeq;this.cardRef=copyTrxData.cardRef;this.acqId=copyTrxData.acqId;this.acqTransRef=copyTrxData.acqTransRef;this.trmTransRef=copyTrxData.trmTransRef;this.tipAllowed=copyTrxData.tipAllowed;this.phoneAuthCode=copyTrxData.phoneAuthCode;this.language=copyTrxData.language;this.multiCurrencyFlag=copyTrxData.multiCurrencyFlag;this.ngvMode=copyTrxData.ngvMode;this.ngvClearingDelay=copyTrxData.ngvClearingDelay;this.cvc2=copyTrxData.cvc2;this.appExpirationDate=copyTrxData.appExpirationDate;this.sixTrxRefNum=copyTrxData.sixTrxRefNum;this.installmentAllowed=copyTrxData.installmentAllowed;this.deferredAuthInd=copyTrxData.deferredAuthInd;this.subTransactions=copyTrxData.subTransactions.slice()}}setAcqTransRef(acqId,trxRefNo){if(acqId<0||trxRefNo<0){throw new Error("Illegal Argument: acqId and trxRefNo may not be negative.")}this.acqTransRef=`014${acqId}${trxRefNo}`}toString(){return`${this.constructor.name}(`+`dccAllowed=${this.dccAllowed}`+`, trxOriginalDate=${this.trxOriginalDate}`+`, ecrSeqCounter=${this.ecrSeqCounter}`+`, partialApprovalAllowed=${this.partialApprovalAllowed}`+`, transRef=${this.transRef}`+`, transSeq=${this.transSeq}`+`, cardRef=${this.cardRef}`+`, acqId=${this.acqId}`+`, acqTransRef=${this.acqTransRef}`+`, trmTransRef=${this.trmTransRef}`+`, tipAllowed=${this.tipAllowed}`+`, phoneAuthCode=${this.phoneAuthCode}`+`, language=${this.language}`+`, multiCurrencyFlag=${this.multiCurrencyFlag}`+`, ngvMode=${this.ngvMode}`+`, ngvClearingDelay=${this.ngvClearingDelay}`+`, cvc2=${this.cvc2}`+`, appExpirationDate=${this.appExpirationDate}`+`, sixTrxRefNum=${this.sixTrxRefNum}`+`, installmentAllowed=${this.installmentAllowed}`+`, deferredAuthInd=${this.deferredAuthInd}`+`, subTransactions=${this.subTransactions}`+`)`}static copy(transactionData){var copy=new timapi.TransactionData;copy.dccAllowed=transactionData.dccAllowed;copy.trxOriginalDate=timapi.TimeDate.copy(transactionData.trxOriginalDate);copy.ecrSeqCounter=transactionData.ecrSeqCounter;copy.partialApprovalAllowed=transactionData.partialApprovalAllowed;copy.transRef=transactionData.transRef;copy.transSeq=transactionData.transSeq;copy.cardRef=transactionData.cardRef;copy.acqId=transactionData.acqId;copy.acqTransRef=transactionData.acqTransRef;copy.trmTransRef=transactionData.trmTransRef;copy.tipAllowed=transactionData.tipAllowed;copy.phoneAuthCode=transactionData.phoneAuthCode;copy.language=transactionData.language;copy.multiCurrencyFlag=transactionData.multiCurrencyFlag;copy.ngvMode=transactionData.ngvMode;copy.ngvClearingDelay=transactionData.ngvClearingDelay;copy.cvc2=transactionData.cvc2;copy.appExpirationDate=transactionData.appExpirationDate;copy.sixTrxRefNum=transactionData.sixTrxRefNum;copy.installmentAllowed=transactionData.installmentAllowed;copy.deferredAuthInd=transactionData.deferredAuthInd;copy.subTransactions=transactionData.subTransactions.slice();return copy}};Object.defineProperty(timapi.TransactionData,"name",{value:"timapi.TransactionData"});timapi.Counters=class{constructor(){this.counterType=undefined;this.seqCounter=undefined;this.counters=undefined}toString(){return`${this.constructor.name}(`+`counterType=${this.counterType}`+`, seqCounter=${this.seqCounter}`+`, counters=${timapi._TimApiHelpers.arrayAsDebugString(this.counters)}`+`)`}};Object.defineProperty(timapi.Counters,"name",{value:"timapi.Counters"});timapi.Color=class{constructor(r,g,b){if(r<0||r>255){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,`"R-value for a color must be within 0 ... 255"`)}this.r=r;if(g<0||g>255){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,`"G-value for a color must be within 0 ... 255"`)}this.g=g;if(b<0||b>255){throw new timapi.TimException(timapi.constants.ResultCode.invalidArgument,`"B-value for a color must be within 0 ... 255"`)}this.b=b}toString(){return`${this.constructor.name}(`+`r=${this.r}`+`, g=${this.g}`+`, b=${this.b}`+`)`}static copy(color){return new timapi.Color(color.r,color.g,color.b)}};Object.defineProperty(timapi.Color,"name",{value:"timapi.Color"});timapi.EcrInfo=class{constructor(){this.type=undefined;this.name=undefined;this.manufacturerName=undefined;this.version=undefined;this.serialNumber=undefined;this.architecture=undefined;this.integratorSolution=undefined;this.remoteIp=undefined}toString(){return`${this.constructor.name}(`+`type=${this.type}`+`, name=${this.name}`+`, manufacturerName=${this.manufacturerName}`+`, version=${this.version}`+`, serialNumber=${this.serialNumber}`+`, architecture=${this.architecture}`+`, integratorSolution=${this.integratorSolution}`+`, remoteIp=${this.remoteIp}`+`)`}};Object.defineProperty(timapi.EcrInfo,"name",{value:"timapi.EcrInfo"});timapi.TerminalSettings=class{constructor(){this.connectionIPString="";this.connectionIPPort=80;this.protocolType=timapi.constants.ProtocolType.sixml;this.integratorId="0";this.guides=new Set;this.guides.add(timapi.constants.Guides.retail);this.manufacturerFlags=0;this.fetchBrands=false;this.autoCommit=undefined;this.autoShiftManagement=true;this.autoShutterManagement=true;this.cardInsertionTimeout=60;this.cardRemovalTimeout=60;this.commitTimeout=60;this.proceedTimeout=60;this.dcc=true;this.partialApproval=false;this.allowClosedCardInsert=false;this.tipAllowed=true;this.fastNtfMode=false;this.requestRepetition=0;this.enableKeepAlive=true;this.persistentState=false}static copy(settings){var copy=new timapi.TerminalSettings;copy.connectionIPString=settings.connectionIPString;copy.connectionIPPort=settings.connectionIPPort;copy.protocolType=settings.protocolType;copy.integratorId=settings.integratorId;copy.guides=new Set(settings.guides);copy.manufacturerFlags=settings.manufacturerFlags;copy.fetchBrands=settings.fetchBrands;copy.autoCommit=settings.autoCommit;copy.autoShiftManagement=settings.autoShiftManagement;copy.autoShutterManagement=settings.autoShutterManagement;copy.cardInsertionTimeout=settings.cardInsertionTimeout;copy.cardRemovalTimeout=settings.cardRemovalTimeout;copy.commitTimeout=settings.commitTimeout;copy.dcc=settings.dcc;copy.partialApproval=settings.partialApproval;copy.proceedTimeout=settings.proceedTimeout;copy.allowClosedCardInsert=settings.allowClosedCardInsert;copy.tipAllowed=settings.tipAllowed;copy.fastNtfMode=settings.fastNtfMode;copy.requestRepetition=settings.requestRepetition;copy.enableKeepAlive=settings.enableKeepAlive;copy.persistentState=settings.persistentState;return copy}toString(){return`${this.constructor.name}(`+`connectionIPString=${this.connectionIPString}`+`, connectionIPPort=${this.connectionIPPort}`+`, protocolType=${this.protocolType}`+`, integratorId=${this.integratorId}`+`, guides=${timapi._TimApiHelpers.setAsDebugString(this.guides)}`+`, manufacturerFlags=${this.manufacturerFlags}`+`, fetchBrands=${this.fetchBrands}`+`, autoCommit=${this.autoCommit}`+`, autoShiftManagement=${this.autoShiftManagement}`+`, autoShutterManagement=${this.autoShutterManagement}`+`, cardInsertionTimeout=${this.cardInsertionTimeout}`+`, cardRemovalTimeout=${this.cardRemovalTimeout}`+`, commitTimeout=${this.commitTimeout}`+`, dcc=${this.dcc}`+`, partialApproval=${this.partialApproval}`+`, proceedTimeout=${this.proceedTimeout}`+`, allowClosedCardInsert=${this.allowClosedCardInsert}`+`, tipAllowed=${this.tipAllowed}`+`, fastNtfMode=${this.fastNtfMode}`+`, requestRepetition=${this.requestRepetition}`+`, enableKeepAlive=${this.enableKeepAlive}`+`, persistentState=${this.persistentState}`+")"}};Object.defineProperty(timapi.TerminalSettings,"name",{value:"timapi.TerminalSettings"});timapi.DefaultReceiptFormatter=class{formatReceipt(terminal,receiptItems){return[]}};Object.defineProperty(timapi.DefaultReceiptFormatter,"name",{value:"timapi.DefaultReceiptFormatter"});timapi._TimApiHelpers.TAInteger=class extends timapi._TimApiHelpers.TAObject{constructor(value){super(value)}static create(value){if(value===undefined){throw new Error("Content is undefined")}let f=timapi._TimApiHelpers.prepareInteger();let wa_integer=new timapi._TimApiHelpers.TAInteger;wa_integer._value=value;try{let split=timapi._TimApiHelpers.convert64BitTo32Bit(value);timapi.TimException.assert(f.create(wa_integer.p(),split.low,split.high,split.sign))}catch(err){wa_integer.dispose();throw err}return wa_integer}replace(value){let newInteger=timapi._TimApiHelpers.TAInteger.create(value);try{this.assign(newInteger)}finally{newInteger.dispose()}return this.v()}replaceOrUndef(value){if(value){return this.replace(value)}this.releaseIfValid();return this.v()}};_useNodeJSW3CWebSocket=false;if(typeof WebSocket==="undefined"){WebSocket=require("websocket").w3cwebsocket;_useNodeJSW3CWebSocket=true}timapi._TimApiHelpers.CommWebSocket=class{constructor(ip,port,slot){let t=timapi._TimApiHelpers;if(!t.CommWebSocket._functions){t.CommWebSocket._functions={onOpen:t.getFunction2("TAWAOnWebSocketOpen",["number"]),onClosed:t.getFunction2("TAWAOnWebSocketClosed",["number"]),onError:t.getFunction2("TAWAOnWebSocketError",["number"]),onMessage:t.getFunction2("TAWAOnWebSocketMessage",["number","array","number"])}}this._slot=slot;this._url=`ws://${ip}:${port}/SIXml`;this._protocol="SIXml";this._state=timapi._TimApiHelpers.CommWebSocket._states.connecting;this._createSocket()}sendMessage(message){this._socket.send(message)}close(){this._socket.onopen=undefined;this._socket.onmessage=undefined;this._socket.onclose=undefined;this._socket.onerror=undefined;this._state=timapi._TimApiHelpers.CommWebSocket._states.closing;this._slot=undefined;this._socket.close()}_onSocketOpen(event){if(this._slot===undefined){return}this._state=timapi._TimApiHelpers.CommWebSocket._states.connected;timapi._TimApiHelpers.CommWebSocket._functions.onOpen(this._slot)}_onSocketClosed(event){if(this._slot===undefined){return}if(this._state===timapi._TimApiHelpers.CommWebSocket._states.connecting){if(this._protocol){this._socket.onopen=undefined;this._socket.onmessage=undefined;this._socket.onclose=undefined;this._socket.onerror=undefined;this._socket.close();this._socket=undefined;this._protocol=undefined;let myself=this;setTimeout(function(){myself._createSocket()},100)}else{timapi._TimApiHelpers.CommWebSocket._functions.onClosed(this._slot)}}else if(this._state==timapi._TimApiHelpers.CommWebSocket._states.disconnecting){}else{timapi._TimApiHelpers.CommWebSocket._functions.onClosed(this._slot)}}_onSocketError(event){if(this._slot===undefined){return}}_onSocketMessage(event){if(this._slot===undefined){return}let data=new Uint8Array(event.data);timapi._TimApiHelpers.CommWebSocket._functions.onMessage(this._slot,data,data.length)}_createSocket(){if(_useNodeJSW3CWebSocket){let origin="http://localhost";let headers=null;let requestOptions=null;let clientConfig=null;this._socket=new WebSocket(this._url,this._protocol,origin,headers,requestOptions,clientConfig)}else{this._socket=new WebSocket(this._url,this._protocol)}this._socket.binaryType="arraybuffer";this._socket.onopen=this._onSocketOpen.bind(this);this._socket.onmessage=this._onSocketMessage.bind(this);this._socket.onclose=this._onSocketClosed.bind(this)}static createSocket(slot,ip,port){if(slot in timapi._TimApiHelpers.CommWebSocket._sockets){throw new Error("Internal error")}timapi._TimApiHelpers.CommWebSocket._sockets[slot]=new timapi._TimApiHelpers.CommWebSocket(ip,port,slot)}static sendMessage(slot,message){let socket=timapi._TimApiHelpers.CommWebSocket._sockets[slot];if(socket===undefined){throw new Error("Internal error")}socket.sendMessage(message)}static closeSocket(slot){let socket=timapi._TimApiHelpers.CommWebSocket._sockets[slot];if(socket===undefined){return}delete timapi._TimApiHelpers.CommWebSocket._sockets[slot];socket._slot=undefined;socket._state=timapi._TimApiHelpers.CommWebSocket._states.closing;socket.close()}};timapi._TimApiHelpers.CommWebSocket._sockets={};timapi._TimApiHelpers.CommWebSocket._functions=undefined;timapi._TimApiHelpers.CommWebSocket._states=Object.freeze({connecting:1,connected:2,closing:3});timapi._TimApiHelpers.TAString=class extends timapi._TimApiHelpers.TAObject{constructor(value){super(value)}static prepareString(){let f=timapi._TimApiHelpers.TAString._functions;if(!f){let g=timapi._TimApiHelpers.getFunction;f=timapi._TimApiHelpers.TAString._functions={create:g("ta_string_create",["string","number"]),create_from_binary:g("ta_string_create",["number","number"]),get_pointer:g("ta_string_get_pointer",["number"]),get_length:g("ta_string_get_length",["number"])}}return f}static create(content){if(content===undefined){throw new timapi.TimException(timapi.constants.ResultCode.systemError,"Content is undefined")}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.TAString.prepareString();let string;try{string=new timapi._TimApiHelpers.TAString;string._content=content;h.assert(f.create(string.p(),content,Module.lengthBytesUTF8(content)))}catch(err){if(string)string.dispose();throw err}return string}static createFromUint8Array(uint8Array){if(uint8Array===undefined){throw new timapi.TimException(timapi.constants.ResultCode.systemError,"Content is undefined")}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.TAString.prepareString();let string;let mem_c_string;try{string=new timapi._TimApiHelpers.TAString;mem_c_string=Module._malloc(uint8Array.byteLength);for(let i=0;i<uint8Array.byteLength;i++){Module.setValue(mem_c_string+i,uint8Array[i])}h.assert(f.create_from_binary(string.p(),mem_c_string,uint8Array.byteLength))}catch(err){string.dispose();throw err}finally{if(mem_c_string)Module._free(mem_c_string)}return string}static contentOf(string){let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.TAString.prepareString();let p=new timapi._TimApiHelpers.TAPointer;let s;try{h.assert(f.get_length(string.v(),p.p()));let len=p.v();h.assert(f.get_pointer(string.v(),p.p()));s=UTF8ToString(p.v(),len)}finally{p.dispose()}return s}static contentOfIfValid(string){if(string.isValid()){return timapi._TimApiHelpers.TAString.contentOf(string)}return undefined}static contentOfUint8Array(string){let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.TAString.prepareString();let p=new timapi._TimApiHelpers.TAPointer;let s;try{h.assert(f.get_length(string.v(),p.p()));let len=p.v();s=new Uint8Array(len);h.assert(f.get_pointer(string.v(),p.p()));for(let i=0;i<len;i++){s[i]=Module.getValue(p.v()+i)}}finally{p.dispose()}return s}static contentOfUint8ArrayIfValid(string){if(string.isValid()){return timapi._TimApiHelpers.TAString.contentOfUint8Array(string)}return undefined}static unwrapString(c_string){if(c_string===0){return undefined}let h=timapi._TimApiHelpers.prepareHelpers();let f=timapi._TimApiHelpers.TAString.prepareString();let string;let p;try{p=new timapi._TimApiHelpers.TAPointer;h.assert(f.get_length(c_string,p.p()));let len=p.v();h.assert(f.get_pointer(c_string,p.p()));string=UTF8ToString(p.v(),len)}finally{if(p)p.dispose()}return string}replace(content){let newString=timapi._TimApiHelpers.TAString.create(content);try{this.assign(newString)}finally{newString.dispose()}return this.value()}replaceUint8Array(content){let newString=timapi._TimApiHelpers.TAString.createFromUint8Array(content);try{this.assign(newString)}finally{newString.dispose()}return this.value()}replaceOrUndef(content){if(content){return this.replace(content)}this.releaseIfValid();return this.value()}content(){if(!this.isValid()){this._content=undefined;return undefined}if(!this._content){let pointer=new timapi._TimApiHelpers.TAPointer;let assert=timapi.TimException.assert;let f=timapi._TimApiHelpers.TAString.prepareString();try{assert(f.get_length(this.value(),pointer.pointer()));let len=pointer.value();assert(f.get_pointer(this.value(),pointer.pointer()));this._content=UTF8ToString(pointer.value(),len)}finally{pointer.dispose()}}return this._content}};timapi._TimApiHelpers.TAString._functions=undefined;timapi._TimApiHelpers.TAPointer=class{constructor(value){this._pointer=Module._malloc(4);Module.setValue(this._pointer,value||0,"i32")}pointer(){return this._pointer}p(){return this._pointer}value(){return Module.getValue(this._pointer,"i32")}v(){return Module.getValue(this._pointer,"i32")}setObject(value){Module.setValue(this._pointer,value,"i32")}isValid(){return this.value()!=0}dispose(){Module._free(this._pointer)}};timapi._TimApiHelpers.TimerWrapper=class{constructor(slot,repeat,timeoutMS){this._slot=slot;this._timeout=undefined;this._interval=undefined;let myself=this;if(repeat){this._interval=setInterval(function(){myself._onTimeout()},timeoutMS)}else{this._timeout=setTimeout(function(){myself._onTimeout()},timeoutMS)}}_onTimeout(){if(this._slot===undefined){return}if(!timapi._TimApiHelpers.TimerWrapper._TAWAOnTimeout){timapi._TimApiHelpers.TimerWrapper._TAWAOnTimeout=timapi._TimApiHelpers.getFunction2("TAWAOnTimeout",["number"])}let slot=this._slot;if(this._timeout){delete timapi._TimApiHelpers.TimerWrapper._timers[this._slot];this._slot=undefined}timapi._TimApiHelpers.TimerWrapper._TAWAOnTimeout(slot)}static startTimeout(slot,repeat,timeoutMS){timapi._TimApiHelpers.TimerWrapper.cancelTimeout(slot);timapi._TimApiHelpers.TimerWrapper._timers[slot]=new timapi._TimApiHelpers.TimerWrapper(slot,repeat,timeoutMS)}static cancelTimeout(slot){let timer=timapi._TimApiHelpers.TimerWrapper._timers[slot];if(timer===undefined){return}timer._slot=undefined;delete timapi._TimApiHelpers.TimerWrapper._timers[slot];if(timer._timeout){clearTimeout(timer._timeout);timer._timeout=undefined}else if(timer._interval){clearInterval(timer._interval);timer._interval=undefined}}};timapi._TimApiHelpers.TimerWrapper._timers={};timapi._TimApiHelpers.TimerWrapper._TAWAOnTimeout=undefined;timapi.constants.Cvm=new timapi.constants.Enumeration(["pin","pinSignature","signature","onDevice","noCvm"]);timapi.constants.BrandMode=new timapi.constants.Enumeration(["all","selected","off"]);timapi.constants.ProtocolType=new timapi.constants.Enumeration(["sixml"]);timapi.constants.VasInfoListType=new timapi.constants.Enumeration(["wolMatch","wolProgram"]);timapi.constants.ConnectionMode=new timapi.constants.Enumeration(["broadcast","onFixIp"]);timapi.constants.HardwareType=new timapi.constants.Enumeration(["terminal","eftApplication","pinPad","contactReader","contactlessReader","magStripeReader","wifiAdapter","lanAdapter","bluetoothAdapter","mobileAdapter"]);timapi.constants.CustomerDataType=new timapi.constants.Enumeration(["customerId","loyaltyBrandId","furtherInfo"]);timapi.constants.PaymentProtocol=new timapi.constants.Enumeration(["ep2","ev","vm","v3cxml"]);timapi.constants.PrintFlag=new timapi.constants.Enumeration(["suppressHeader","suppressSignature","suppressEcrInfo","suppressEftInfo","suppressFooter"]);timapi.constants.Currency=new timapi.constants.Enumeration([["AED",Object.freeze({code:"AED",name:"UAE Dirham",exponent:2,_wav:0,toString:function(){return this.code}})],["AFN",Object.freeze({code:"AFN",name:"Afghani",exponent:2,_wav:1,toString:function(){return this.code}})],["ALL",Object.freeze({code:"ALL",name:"Lek",exponent:2,_wav:2,toString:function(){return this.code}})],["AMD",Object.freeze({code:"AMD",name:"Armenian Dram",exponent:2,_wav:3,toString:function(){return this.code}})],["ANG",Object.freeze({code:"ANG",name:"Netherlands Antillean Guilder",exponent:2,_wav:4,toString:function(){return this.code}})],["AOA",Object.freeze({code:"AOA",name:"Kwanza",exponent:2,_wav:5,toString:function(){return this.code}})],["ARS",Object.freeze({code:"ARS",name:"Argentine Peso",exponent:2,_wav:6,toString:function(){return this.code}})],["AUD",Object.freeze({code:"AUD",name:"Australian Dollar",exponent:2,_wav:7,toString:function(){return this.code}})],["AWG",Object.freeze({code:"AWG",name:"Aruban Florin",exponent:2,_wav:8,toString:function(){return this.code}})],["AZN",Object.freeze({code:"AZN",name:"Azerbaijanian Manat",exponent:2,_wav:9,toString:function(){return this.code}})],["BAM",Object.freeze({code:"BAM",name:"Convertible Mark",exponent:2,_wav:10,toString:function(){return this.code}})],["BBD",Object.freeze({code:"BBD",name:"Barbados Dollar",exponent:2,_wav:11,toString:function(){return this.code}})],["BDT",Object.freeze({code:"BDT",name:"Taka",exponent:2,_wav:12,toString:function(){return this.code}})],["BGN",Object.freeze({code:"BGN",name:"Bulgarian Lev",exponent:2,_wav:13,toString:function(){return this.code}})],["BHD",Object.freeze({code:"BHD",name:"Bahraini Dinar",exponent:3,_wav:14,toString:function(){return this.code}})],["BIF",Object.freeze({code:"BIF",name:"Burundi Franc",exponent:0,_wav:15,toString:function(){return this.code}})],["BMD",Object.freeze({code:"BMD",name:"Bermudian Dollar",exponent:2,_wav:16,toString:function(){return this.code}})],["BND",Object.freeze({code:"BND",name:"Brunei Dollar",exponent:2,_wav:17,toString:function(){return this.code}})],["BOB",Object.freeze({code:"BOB",name:"Boliviano",exponent:2,_wav:18,toString:function(){return this.code}})],["BOV",Object.freeze({code:"BOV",name:"Mvdol",exponent:2,_wav:19,toString:function(){return this.code}})],["BRL",Object.freeze({code:"BRL",name:"Brazilian Real",exponent:2,_wav:20,toString:function(){return this.code}})],["BSD",Object.freeze({code:"BSD",name:"Bahamian Dollar",exponent:2,_wav:21,toString:function(){return this.code}})],["BTN",Object.freeze({code:"BTN",name:"Ngultrum",exponent:2,_wav:22,toString:function(){return this.code}})],["BWP",Object.freeze({code:"BWP",name:"Pula",exponent:2,_wav:23,toString:function(){return this.code}})],["BYN",Object.freeze({code:"BYN",name:"Belarusian Ruble",exponent:2,_wav:24,toString:function(){return this.code}})],["BYR",Object.freeze({code:"BYR",name:"Belarusian Ruble",exponent:0,_wav:25,toString:function(){return this.code}})],["BZD",Object.freeze({code:"BZD",name:"Belize Dollar",exponent:2,_wav:26,toString:function(){return this.code}})],["CAD",Object.freeze({code:"CAD",name:"Canadian Dollar",exponent:2,_wav:27,toString:function(){return this.code}})],["CDF",Object.freeze({code:"CDF",name:"Congolese Franc",exponent:2,_wav:28,toString:function(){return this.code}})],["CHE",Object.freeze({code:"CHE",name:"WIR Euro",exponent:2,_wav:29,toString:function(){return this.code}})],["CHF",Object.freeze({code:"CHF",name:"Swiss Franc",exponent:2,_wav:30,toString:function(){return this.code}})],["CHW",Object.freeze({code:"CHW",name:"WIR Franc",exponent:2,_wav:31,toString:function(){return this.code}})],["CLF",Object.freeze({code:"CLF",name:"Unidad de Fomento",exponent:4,_wav:32,toString:function(){return this.code}})],["CLP",Object.freeze({code:"CLP",name:"Chilean Peso",exponent:0,_wav:33,toString:function(){return this.code}})],["CNY",Object.freeze({code:"CNY",name:"Yuan Renminbi",exponent:2,_wav:34,toString:function(){return this.code}})],["COP",Object.freeze({code:"COP",name:"Colombian Peso",exponent:2,_wav:35,toString:function(){return this.code}})],["COU",Object.freeze({code:"COU",name:"Unidad de Valor Real",exponent:2,_wav:36,toString:function(){return this.code}})],["CRC",Object.freeze({code:"CRC",name:"Costa Rican Colon",exponent:2,_wav:37,toString:function(){return this.code}})],["CUC",Object.freeze({code:"CUC",name:"Peso Convertible",exponent:2,_wav:38,toString:function(){return this.code}})],["CUP",Object.freeze({code:"CUP",name:"Cuban Peso",exponent:2,_wav:39,toString:function(){return this.code}})],["CVE",Object.freeze({code:"CVE",name:"Cabo Verde Escudo",exponent:2,_wav:40,toString:function(){return this.code}})],["CZK",Object.freeze({code:"CZK",name:"Czech Koruna",exponent:2,_wav:41,toString:function(){return this.code}})],["DJF",Object.freeze({code:"DJF",name:"Djibouti Franc",exponent:0,_wav:42,toString:function(){return this.code}})],["DKK",Object.freeze({code:"DKK",name:"Danish Krone",exponent:2,_wav:43,toString:function(){return this.code}})],["DOP",Object.freeze({code:"DOP",name:"Dominican Peso",exponent:2,_wav:44,toString:function(){return this.code}})],["DZD",Object.freeze({code:"DZD",name:"Algerian Dinar",exponent:2,_wav:45,toString:function(){return this.code}})],["EGP",Object.freeze({code:"EGP",name:"Egyptian Pound",exponent:2,_wav:46,toString:function(){return this.code}})],["ERN",Object.freeze({code:"ERN",name:"Nakfa",exponent:2,_wav:47,toString:function(){return this.code}})],["ETB",Object.freeze({code:"ETB",name:"Ethiopian Birr",exponent:2,_wav:48,toString:function(){return this.code}})],["EUR",Object.freeze({code:"EUR",name:"Euro",exponent:2,_wav:49,toString:function(){return this.code}})],["FJD",Object.freeze({code:"FJD",name:"Fiji Dollar",exponent:2,_wav:50,toString:function(){return this.code}})],["FKP",Object.freeze({code:"FKP",name:"Falkland Islands Pound",exponent:2,_wav:51,toString:function(){return this.code}})],["GBP",Object.freeze({code:"GBP",name:"Pound Sterling",exponent:2,_wav:52,toString:function(){return this.code}})],["GEL",Object.freeze({code:"GEL",name:"Lari",exponent:2,_wav:53,toString:function(){return this.code}})],["GHS",Object.freeze({code:"GHS",name:"Ghana Cedi",exponent:2,_wav:54,toString:function(){return this.code}})],["GIP",Object.freeze({code:"GIP",name:"Gibraltar Pound",exponent:2,_wav:55,toString:function(){return this.code}})],["GMD",Object.freeze({code:"GMD",name:"Dalasi",exponent:2,_wav:56,toString:function(){return this.code}})],["GNF",Object.freeze({code:"GNF",name:"Guinea Franc",exponent:0,_wav:57,toString:function(){return this.code}})],["GTQ",Object.freeze({code:"GTQ",name:"Quetzal",exponent:2,_wav:58,toString:function(){return this.code}})],["GYD",Object.freeze({code:"GYD",name:"Guyana Dollar",exponent:2,_wav:59,toString:function(){return this.code}})],["HKD",Object.freeze({code:"HKD",name:"Hong Kong Dollar",exponent:2,_wav:60,toString:function(){return this.code}})],["HNL",Object.freeze({code:"HNL",name:"Lempira",exponent:2,_wav:61,toString:function(){return this.code}})],["HRK",Object.freeze({code:"HRK",name:"Kuna",exponent:2,_wav:62,toString:function(){return this.code}})],["HTG",Object.freeze({code:"HTG",name:"Gourde",exponent:2,_wav:63,toString:function(){return this.code}})],["HUF",Object.freeze({code:"HUF",name:"Forint",exponent:2,_wav:64,toString:function(){return this.code}})],["IDR",Object.freeze({code:"IDR",name:"Rupiah",exponent:2,_wav:65,toString:function(){return this.code}})],["ILS",Object.freeze({code:"ILS",name:"New Israeli Sheqel",exponent:2,_wav:66,toString:function(){return this.code}})],["INR",Object.freeze({code:"INR",name:"Indian Rupee",exponent:2,_wav:67,toString:function(){return this.code}})],["IQD",Object.freeze({code:"IQD",name:"Iraqi Dinar",exponent:3,_wav:68,toString:function(){return this.code}})],["IRR",Object.freeze({code:"IRR",name:"Iranian Rial",exponent:2,_wav:69,toString:function(){return this.code}})],["ISK",Object.freeze({code:"ISK",name:"Iceland Krona",exponent:0,_wav:70,toString:function(){return this.code}})],["JMD",Object.freeze({code:"JMD",name:"Jamaican Dollar",exponent:2,_wav:71,toString:function(){return this.code}})],["JOD",Object.freeze({code:"JOD",name:"Jordanian Dinar",exponent:3,_wav:72,toString:function(){return this.code}})],["JPY",Object.freeze({code:"JPY",name:"Yen",exponent:0,_wav:73,toString:function(){return this.code}})],["KES",Object.freeze({code:"KES",name:"Kenyan Shilling",exponent:2,_wav:74,toString:function(){return this.code}})],["KGS",Object.freeze({code:"KGS",name:"Som",exponent:2,_wav:75,toString:function(){return this.code}})],["KHR",Object.freeze({code:"KHR",name:"Riel",exponent:2,_wav:76,toString:function(){return this.code}})],["KMF",Object.freeze({code:"KMF",name:"Comoro Franc",exponent:0,_wav:77,toString:function(){return this.code}})],["KPW",Object.freeze({code:"KPW",name:"North Korean Won",exponent:2,_wav:78,toString:function(){return this.code}})],["KRW",Object.freeze({code:"KRW",name:"Won",exponent:0,_wav:79,toString:function(){return this.code}})],["KWD",Object.freeze({code:"KWD",name:"Kuwaiti Dinar",exponent:3,_wav:80,toString:function(){return this.code}})],["KYD",Object.freeze({code:"KYD",name:"Cayman Islands Dollar",exponent:2,_wav:81,toString:function(){return this.code}})],["KZT",Object.freeze({code:"KZT",name:"Tenge",exponent:2,_wav:82,toString:function(){return this.code}})],["LAK",Object.freeze({code:"LAK",name:"Kip",exponent:2,_wav:83,toString:function(){return this.code}})],["LBP",Object.freeze({code:"LBP",name:"Lebanese Pound",exponent:2,_wav:84,toString:function(){return this.code}})],["LKR",Object.freeze({code:"LKR",name:"Sri Lanka Rupee",exponent:2,_wav:85,toString:function(){return this.code}})],["LRD",Object.freeze({code:"LRD",name:"Liberian Dollar",exponent:2,_wav:86,toString:function(){return this.code}})],["LSL",Object.freeze({code:"LSL",name:"Loti",exponent:2,_wav:87,toString:function(){return this.code}})],["LYD",Object.freeze({code:"LYD",name:"Libyan Dinar",exponent:3,_wav:88,toString:function(){return this.code}})],["MAD",Object.freeze({code:"MAD",name:"Moroccan Dirham",exponent:2,_wav:89,toString:function(){return this.code}})],["MDL",Object.freeze({code:"MDL",name:"Moldovan Leu",exponent:2,_wav:90,toString:function(){return this.code}})],["MGA",Object.freeze({code:"MGA",name:"Malagasy Ariary",exponent:2,_wav:91,toString:function(){return this.code}})],["MKD",Object.freeze({code:"MKD",name:"Denar",exponent:2,_wav:92,toString:function(){return this.code}})],["MMK",Object.freeze({code:"MMK",name:"Kyat",exponent:2,_wav:93,toString:function(){return this.code}})],["MNT",Object.freeze({code:"MNT",name:"Tugrik",exponent:2,_wav:94,toString:function(){return this.code}})],["MOP",Object.freeze({code:"MOP",name:"Pataca",exponent:2,_wav:95,toString:function(){return this.code}})],["MRO",Object.freeze({code:"MRO",name:"Ouguiya",exponent:2,_wav:96,toString:function(){return this.code}})],["MUR",Object.freeze({code:"MUR",name:"Mauritius Rupee",exponent:2,_wav:97,toString:function(){return this.code}})],["MVR",Object.freeze({code:"MVR",name:"Rufiyaa",exponent:2,_wav:98,toString:function(){return this.code}})],["MWK",Object.freeze({code:"MWK",name:"Malawi Kwacha",exponent:2,_wav:99,toString:function(){return this.code}})],["MXN",Object.freeze({code:"MXN",name:"Mexican Peso",exponent:2,_wav:100,toString:function(){return this.code}})],["MXV",Object.freeze({code:"MXV",name:"Mexican Unidad de Inversion (UDI)",exponent:2,_wav:101,toString:function(){return this.code}})],["MYR",Object.freeze({code:"MYR",name:"Malaysian Ringgit",exponent:2,_wav:102,toString:function(){return this.code}})],["MZN",Object.freeze({code:"MZN",name:"Mozambique Metical",exponent:2,_wav:103,toString:function(){return this.code}})],["NAD",Object.freeze({code:"NAD",name:"Namibia Dollar",exponent:2,_wav:104,toString:function(){return this.code}})],["NGN",Object.freeze({code:"NGN",name:"Naira",exponent:2,_wav:105,toString:function(){return this.code}})],["NIO",Object.freeze({code:"NIO",name:"Cordoba Oro",exponent:2,_wav:106,toString:function(){return this.code}})],["NOK",Object.freeze({code:"NOK",name:"Norwegian Krone",exponent:2,_wav:107,toString:function(){return this.code}})],["NPR",Object.freeze({code:"NPR",name:"Nepalese Rupee",exponent:2,_wav:108,toString:function(){return this.code}})],["NZD",Object.freeze({code:"NZD",name:"New Zealand Dollar",exponent:2,_wav:109,toString:function(){return this.code}})],["OMR",Object.freeze({code:"OMR",name:"Rial Omani",exponent:3,_wav:110,toString:function(){return this.code}})],["PAB",Object.freeze({code:"PAB",name:"Balboa",exponent:2,_wav:111,toString:function(){return this.code}})],["PEN",Object.freeze({code:"PEN",name:"Sol",exponent:2,_wav:112,toString:function(){return this.code}})],["PGK",Object.freeze({code:"PGK",name:"Kina",exponent:2,_wav:113,toString:function(){return this.code}})],["PHP",Object.freeze({code:"PHP",name:"Philippine Peso",exponent:2,_wav:114,toString:function(){return this.code}})],["PKR",Object.freeze({code:"PKR",name:"Pakistan Rupee",exponent:2,_wav:115,toString:function(){return this.code}})],["PLN",Object.freeze({code:"PLN",name:"Zloty",exponent:2,_wav:116,toString:function(){return this.code}})],["PTS",Object.freeze({code:"PTS",name:"VM Loyalty",exponent:0,_wav:117,toString:function(){return this.code}})],["PYG",Object.freeze({code:"PYG",name:"Guarani",exponent:0,_wav:118,toString:function(){return this.code}})],["QAR",Object.freeze({code:"QAR",name:"Qatari Rial",exponent:2,_wav:119,toString:function(){return this.code}})],["RON",Object.freeze({code:"RON",name:"Romanian Leu",exponent:2,_wav:120,toString:function(){return this.code}})],["RSD",Object.freeze({code:"RSD",name:"Serbian Dinar",exponent:2,_wav:121,toString:function(){return this.code}})],["RUB",Object.freeze({code:"RUB",name:"Russian Ruble",exponent:2,_wav:122,toString:function(){return this.code}})],["RWF",Object.freeze({code:"RWF",name:"Rwanda Franc",exponent:0,_wav:123,toString:function(){return this.code}})],["SAR",Object.freeze({code:"SAR",name:"Saudi Riyal",exponent:2,_wav:124,toString:function(){return this.code}})],["SBD",Object.freeze({code:"SBD",name:"Solomon Islands Dollar",exponent:2,_wav:125,toString:function(){return this.code}})],["SCR",Object.freeze({code:"SCR",name:"Seychelles Rupee",exponent:2,_wav:126,toString:function(){return this.code}})],["SDG",Object.freeze({code:"SDG",name:"Sudanese Pound",exponent:2,_wav:127,toString:function(){return this.code}})],["SEK",Object.freeze({code:"SEK",name:"Swedish Krona",exponent:2,_wav:128,toString:function(){return this.code}})],["SGD",Object.freeze({code:"SGD",name:"Singapore Dollar",exponent:2,_wav:129,toString:function(){return this.code}})],["SHP",Object.freeze({code:"SHP",name:"Saint Helena Pound",exponent:2,_wav:130,toString:function(){return this.code}})],["SLL",Object.freeze({code:"SLL",name:"Leone",exponent:2,_wav:131,toString:function(){return this.code}})],["SOS",Object.freeze({code:"SOS",name:"Somali Shilling",exponent:2,_wav:132,toString:function(){return this.code}})],["SRD",Object.freeze({code:"SRD",name:"Surinam Dollar",exponent:2,_wav:133,toString:function(){return this.code}})],["SSP",Object.freeze({code:"SSP",name:"South Sudanese Pound",exponent:2,_wav:134,toString:function(){return this.code}})],["STD",Object.freeze({code:"STD",name:"Dobra",exponent:2,_wav:135,toString:function(){return this.code}})],["SVC",Object.freeze({code:"SVC",name:"El Salvador Colon",exponent:2,_wav:136,toString:function(){return this.code}})],["SYP",Object.freeze({code:"SYP",name:"Syrian Pound",exponent:2,_wav:137,toString:function(){return this.code}})],["SZL",Object.freeze({code:"SZL",name:"Lilangeni",exponent:2,_wav:138,toString:function(){return this.code}})],["THB",Object.freeze({code:"THB",name:"Baht",exponent:2,_wav:139,toString:function(){return this.code}})],["TJS",Object.freeze({code:"TJS",name:"Somoni",exponent:2,_wav:140,toString:function(){return this.code}})],["TMT",Object.freeze({code:"TMT",name:"Turkmenistan New Manat",exponent:2,_wav:141,toString:function(){return this.code}})],["TND",Object.freeze({code:"TND",name:"Tunisian Dinar",exponent:3,_wav:142,toString:function(){return this.code}})],["TOP",Object.freeze({code:"TOP",name:"Pa’anga",exponent:2,_wav:143,toString:function(){return this.code}})],["TRY",Object.freeze({code:"TRY",name:"Turkish Lira",exponent:2,_wav:144,toString:function(){return this.code}})],["TTD",Object.freeze({code:"TTD",name:"Trinidad and Tobago Dollar",exponent:2,_wav:145,toString:function(){return this.code}})],["TWD",Object.freeze({code:"TWD",name:"New Taiwan Dollar",exponent:2,_wav:146,toString:function(){return this.code}})],["TZS",Object.freeze({code:"TZS",name:"Tanzanian Shilling",exponent:2,_wav:147,toString:function(){return this.code}})],["UAH",Object.freeze({code:"UAH",name:"Hryvnia",exponent:2,_wav:148,toString:function(){return this.code}})],["UGX",Object.freeze({code:"UGX",name:"Uganda Shilling",exponent:0,_wav:149,toString:function(){return this.code}})],["USD",Object.freeze({code:"USD",name:"US Dollar",exponent:2,_wav:150,toString:function(){return this.code}})],["USN",Object.freeze({code:"USN",name:"US Dollar (Next day)",exponent:2,_wav:151,toString:function(){return this.code}})],["UYI",Object.freeze({code:"UYI",name:"Uruguay Peso en Unidades Indexadas (URUIURUI)",exponent:0,_wav:152,toString:function(){return this.code}})],["UYU",Object.freeze({code:"UYU",name:"Peso Uruguayo",exponent:2,_wav:153,toString:function(){return this.code}})],["UZS",Object.freeze({code:"UZS",name:"Uzbekistan Sum",exponent:2,_wav:154,toString:function(){return this.code}})],["VEF",Object.freeze({code:"VEF",name:"Bolívar",exponent:2,_wav:155,toString:function(){return this.code}})],["VND",Object.freeze({code:"VND",name:"Dong",exponent:0,_wav:156,toString:function(){return this.code}})],["VUV",Object.freeze({code:"VUV",name:"Vatu",exponent:0,_wav:157,toString:function(){return this.code}})],["WST",Object.freeze({code:"WST",name:"Tala",exponent:2,_wav:158,toString:function(){return this.code}})],["XAF",Object.freeze({code:"XAF",name:"CFA Franc BEAC",exponent:0,_wav:159,toString:function(){return this.code}})],["XAG",Object.freeze({code:"XAG",name:"Silver",exponent:0,_wav:160,toString:function(){return this.code}})],["XAU",Object.freeze({code:"XAU",name:"Gold",exponent:0,_wav:161,toString:function(){return this.code}})],["XBA",Object.freeze({code:"XBA",name:"Bond Markets Unit European Composite Unit (EURCO)",exponent:0,_wav:162,toString:function(){return this.code}})],["XBB",Object.freeze({code:"XBB",name:"Bond Markets Unit European Monetary Unit (E.M.U.-6)",exponent:0,_wav:163,toString:function(){return this.code}})],["XBC",Object.freeze({code:"XBC",name:"Bond Markets Unit European Unit of Account 9 (E.U.A.-9)",exponent:0,_wav:164,toString:function(){return this.code}})],["XBD",Object.freeze({code:"XBD",name:"Bond Markets Unit European Unit of Account 17 (E.U.A.-17)",exponent:0,_wav:165,toString:function(){return this.code}})],["XCD",Object.freeze({code:"XCD",name:"East Caribbean Dollar",exponent:2,_wav:166,toString:function(){return this.code}})],["XDR",Object.freeze({code:"XDR",name:"SDR (Special Drawing Right)",exponent:0,_wav:167,toString:function(){return this.code}})],["XOF",Object.freeze({code:"XOF",name:"CFA Franc BCEAO",exponent:0,_wav:168,toString:function(){return this.code}})],["XPD",Object.freeze({code:"XPD",name:"Palladium",exponent:0,_wav:169,toString:function(){return this.code}})],["XPF",Object.freeze({code:"XPF",name:"CFP Franc",exponent:0,_wav:170,toString:function(){return this.code}})],["XPT",Object.freeze({code:"XPT",name:"Platinum",exponent:0,_wav:171,toString:function(){return this.code}})],["XSU",Object.freeze({code:"XSU",name:"Sucre",exponent:0,_wav:172,toString:function(){return this.code}})],["XTS",Object.freeze({code:"XTS",name:"Codes specifically reserved for testing purposes",exponent:0,_wav:173,toString:function(){return this.code}})],["XUA",Object.freeze({code:"XUA",name:"ADB Unit of Account",exponent:0,_wav:174,toString:function(){return this.code}})],["XXX",Object.freeze({code:"XXX",name:"The codes assigned for transactions where no currency is involved",exponent:0,_wav:175,toString:function(){return this.code}})],["YER",Object.freeze({code:"YER",name:"Yemeni Rial",exponent:2,_wav:176,toString:function(){return this.code}})],["ZAR",Object.freeze({code:"ZAR",name:"Rand",exponent:2,_wav:177,toString:function(){return this.code}})],["ZMW",Object.freeze({code:"ZMW",name:"Zambian Kwacha",exponent:2,_wav:178,toString:function(){return this.code}})],["ZWL",Object.freeze({code:"ZWL",name:"Zimbabwe Dollar",exponent:2,_wav:179,toString:function(){return this.code}})]]);timapi.constants.ReceiptItemType=new timapi.constants.Enumeration(["actId","accPer","acqId","aid","amount","amountDcc","amountOther","amountReservation","amountSaldo","amountTip","authCode","authReslt","authRespC","authRespTextC","brandName","currency","currencyDcc","dccDisclaimer","disclaimer","exponent","exponentDcc","markupDcc","markupExponentDcc","cardNumberPrintableMerchant","cardNumberPrintableCardholder","rateDcc","rateExponentDcc","timeStampDate","timeStampTime","trmId","trxRefNum","trxSeqCnt","posEntryMode","cardExpiryDate","cardNumberEnc","ecrSeqCounter","panReceiptDol","panReceiptDolIndex","preAuthorizationExpDate","tenderName","numberOfInstallments","installmentDisclaimer","originalAid","originalCardNumberPrintable","originalBrandName","originalCardCountryCode","originalTenderName","originalTransRef","amountInstallmentFee","amountInstallmentTotal","amountInstallmentFirst","amountInstallmentOne","interestInstallment","markupDccRegulated","markupExponentDccRegulated","rateDccRegulated","rateExponentDccRegulated","keyPanReceiptIndex"]);timapi.constants.RequestType=new timapi.constants.Enumeration(["connect","activate","applicationInformation","balance","changeSettings","commit","counterRequest","deactivate","dccRates","hardwareInformation","initTransaction","login","logout","reboot","reconciliation","receiptRequest","reconfig","rollback","systemInformation","softwareUpdate","transaction","closeReader","openReader","ejectCard","openMaintenanceWindow","closeMaintenanceWindow","activateServiceMenu","openDialogMode","closeDialogMode","showSignatureCapture","showDialog","sendCardCommand","printOnTerminal","loyaltyData","startCheckout","finishCheckout","provideLoyaltyBasket","provideVasResult","balanceInquiry","requestAlias","deviceMaintenance"]);timapi.constants.MerchantOptionType=new timapi.constants.Enumeration(["additionalMerchantData","multiAccountIndex","multiContractIndex","merchantTid","clerkIdentifier","fuelDispenserNumber","posdnumber","receiptNumber","shiftNumber"]);timapi.constants.FinancialTransactions=new timapi.constants.Enumeration(["purchase","credit","reversal","preAuthorization","cashAdvance","commit","rollback","giro","combined","authorizeCredit","authorizeDeposit","finalizePurchase","proceed","purchaseForcedAcceptance","purchaseWithCashback","purchasePhoneAuthorized","loadVoucher","collectPoints","purchaseReservation","purchaseReservationPhoneAuthorized","amtAdjustment","purchasePhoneOrdered","purchaseMailOrdered","activateCard","load","unload","funding","refunding","debtRecovery"]);timapi.constants.CouponRejectionReason=new timapi.constants.Enumeration(["alreadyRedeemed","articleDelisted","campaignExpired","campaignCancelled","other"]);timapi.constants.ResourceParameterType=new timapi.constants.Enumeration(["codeCheckType","codeCheckKeyId","codeCheckData","regularDataQueryType","regularData","petrolCardData1","petrolCardData2","petrolCardData3","activeReaders","exponent"]);timapi.constants.ManagementStatus=new timapi.constants.Enumeration(["closed","open","dialog"]);timapi.constants.RemoteFunctions=new timapi.constants.Enumeration(["screenshot","deviceMaintenance"]);timapi.constants.ResourceId=new timapi.constants.Enumeration(["enterMileage","enterCarNumber","enterDriverCode","enterFleetId","selectPump","selectWashingStation","selectProgram","selectProduct","loadCard","readCode","checkCode","enterAdditionalInformation","enterCostCenter","enterEmployeeNumber","enterLicensePlate","enterProjectNumber","petrolPrintReceipt","petrolRemoveCard","petrolOutOfOrder","petrolInvalidEntry","petrolRefuelAtPump","petrolSeeOtherScreen","petrolPleaseRefuel","petrolPleaseRefuelForAmt","petrolInsertCard","petrolPleaseWait","petrolLastCodeTry","petrolCodeTriesLeft","petrolNoCodeTriesLeft","petrolCodeIncorrect","petrolLastTankcodeTry","petrolTankcodeTriesLeft","petrolNoTankcodeTriesLeft","petrolTankcodeIncorrect","petrolCardInverted","petrolCardOutOfOrder","petrolCardNotAuthorised","petrolCardUnknown","petrolCardExpired","petrolCardBlocked","petrolCardRefused","petrolCardRefusedByHost","petrolCardWithoutPaymentFunction","petrolCardOperationAborted","petrolCardProductNotAllowed","petrolCardProductNotAvailable","petrolCardAmountTooLow","petrolCardTransctionStillInProgress","petrolCardLimitReached","petrolCardPersonalisationCard","petrolCardDualCardSystem","petrolCardInsertSecondCard","petrolCardDualCardSystemInsertSecondCard","petrolPumpNotAvailable","petrolPumpNoPumpFree","petrolPumpStoppedRefueling","petrolPumpRefuelingInProgress","petrolPumpProductNotAvailable","petrolPumpRefuelingAborted","petrolPumpPressOk","petrolWelcomeClosed","petrolWelcome","petrolWelcomeShopOpen","petrolBanknoteInsertBanknote","petrolBanknoteCreditAmount","petrolBanknoteCreditAmountInsertBanknote","petrolBanknoteNoCredit","petrolBanknoteOrCards","petrolBanknoteOnly","petrolBanknoteCardsOnly","petrolBanknoteCreditAmountPumpPressOk","petrolPaymentInShop","petrolPaymentInShopPressBtn","petrolPaymentAtPumpPressBtn","petrolPaymenSelectShopPump","petrolPaymenSeeOtherDisplay","petrolPrintReceiptNotAvailable","petrolPrintPressKeyForSafeReceipt","petrolPrintOutOfOrder","petrolPrintReceiptInPrint","petrolVas","petrolVasAmountCheckingScancode","petrolVasWaitCheckingScancode","petrolVasVoucherUsedUp","petrolVasVoucherInvalidBlocked","petrolVasVoucherExpired","petrolVasVoucherCannotBeEvaluated","petrolVasCumulusScanned","petrolVasDiscountBonScanned","petrolVasEnterScancode","petrolVasDiscountVoucherNotActive","petrolVasClubsmartScanned","petrolVasGiftcardAlreadyActive","petrolVasGiftcardNotPossible","petrolMaintenanceServiceRequired","petrolMaintenanceTechnicalProblem","petrolMaintenanceDoorOpen","petrolMaintenanceCommFailure","petrolMaintenanceHostOutOfOrder","postNoRechargeCard","postShowPhoneNumberWithAmount","postEnterPhoneOrPrepaidNumber","postPhoneNumberTooLong","postPhoneNumberTooShort","postEnterPhoneNumber","postPleaseWait","postProcessingDeclined","postProcessingOk","postRegisterCard","postWelcomeCard","postShowPhoneNumber","postInterAccountTransfer","postInterAccountTransferConfirmation","postDisbursementFromAccount","postDepositOwnAccount","postEmptyDialog","postPacketAcknowledgement","postPinEntry","bankingInsertCard","bankingPinCheck","bankingShowSaldo","bankingConfirmAmount","bankingRemoveCard","bankingWelcome","commonRegular","commonPleaseWait","commonDataSaved","commonCardInitialized","commonCardDeinitialized","commonRemoveCard","migrosGkkpinCheck"]);timapi.constants.SettingType=new timapi.constants.Enumeration(["displayBrightness","displayContrast","keypadTones","alertTones","language","powerManagementMode"]);timapi.constants.NgvMode=new timapi.constants.Enumeration(["mandatory","allowedWithFallback","notAllowed"]);timapi.constants.UpdateStatus=new timapi.constants.Enumeration(["upToDate","runningNoReboot","runningReboot"]);timapi.constants.Theme=new timapi.constants.Enumeration(["six","swissPost"]);timapi.constants.ProtocolLevel=new timapi.constants.Enumeration(["sixml2_2"]);timapi.constants.ReceiptType=new timapi.constants.Enumeration(["activateCard","adjustReservation","balanceInquiry","cashAdvance","cancelReservation","credit","confirmReservation","finalizePurchase","load","preAuthorization","purchase","purchaseForcedAcceptance","purchaseMailOrdered","purchasePhoneAuthorized","purchasePhoneOrdered","purchaseReservation","purchaseWithCashback","reservation","reversal"]);timapi.constants.ResultCode=new timapi.constants.Enumeration(["ok","apiCancelEcr","apiInvalidAnswer","apiDisabledFeature","apiFunctionDisallowed","apiPersistencyProblem","apiConnectFailServer","apiConnectFailTerminal","apiConnectionLostServer","apiConnectionLostTerminal","ethernetDisconnected","rs232Disconnected","apiTimeoutServer","apiTimeoutTerminal","serverInvalidAnswer","serverInvalidRequest","serverDisabledFeature","serverPersistencyProblem","serverConnectFailTerminal","serverConnectionLostTerminal","serverTimeoutTerminal","ccrUnavailable","mcrUnavailable","nfcUnavailable","displayUnavailable","pinPadUnavailable","rs232Unavailable","rs232NotConfigured","swInstallationFailed","swVersionNotSuitable","swAuthenticationFailed","cardReaderErrorCcr","cardReaderErrorMcr","cardReaderErrorNfc","cardErrorCcr","cardErrorMcr","cardErrorNfc","cardReadError","cardReadTimeout","cardInsertionTimeout","cardReaderKeysLost","cardReaderSecurityError","cardTimeout","cardNotReadable","cardInvalidData","cardFunctionNotFound","cardFunctionNotAllowed","cardUnexpectedlyPresentInReader","pinPadSecurityError","pinPadTampered","pinPadKeysLost","cardholderStop","cardholderTimeout","cardRemoved","timTimeoutEcr","timConnectFailPaymentHost","timConnectionLostPaymentHost","timTimeoutAnswerRs232","timCommunicationFailure","timConfigFailure","timInitFailure","sixmlGeneralError","sixmlInvalidRequest","sixmlWrongCashier","sixmlWrongEcrId","sixmlUnknownReferenceNumber","sixmlWrongState","busyOtherController","busyMaintenance","requestPending","sixmlUnsupportedRequest","trxNoCommonApplications","trxLimitExceeded","trxNoCommonCvm","declinedCvmFailed","trxReferral","trxInvalidAuthResponse","declinedGeneric","declinedSaldoTooLow","declinedWrongPin","declinedCardBlocked","declinedSecurityIssue","declinedUsageControl","declinedDoubleTransaction","declinedGenericFirstAc","declinedGenericSecondAc","trxCommitTimeout","trxRollbackImpossible","cashbackAmountTooLow","cashbackAmountTooHigh","basketDeclined","noTrxInGroupExceeded","unsupportedCharactersInMessage","loyaltyCheckInPending","declinedCardError","declinedCardExpired","declinedTrxInvalid","declinedTryLater","declinedTryAnotherInterface","declinedInvalidMerchant","declinedRestrictionDeclined","declinedWrongCurrency","declinedAutoreversalPending","declinedWrongCardNumber","declinedWrongCardExpiryDate","declinedRetryTemporaryUnavailable","declinedServiceNotAllowed","declinedCardholderInformationIssue","declinedReferralWrongAuthCode","declinedReferralWrongAmount","declinedReferralOtherReason","declinedCaptureCardGeneric","declinedCaptureCardInfoToClient","declinedCaptureCardOrderToClient","declinedCaptureCardTimeoutRemovingCard","declinedNotSupported","valueOutOfRangeInThisContext","voucherTypeNotAvailable","transactionMismatch"]);timapi.constants.TransactionType=new timapi.constants.Enumeration(["purchase","credit","reversal","preAuthorization","finalizePurchase","debtRecovery","cashAdvance","purchaseForcedAcceptance","purchaseWithCashback","purchasePhoneAuthorized","purchasePhoneOrdered","purchaseMailOrdered","accountVerification","giro","combined","authorizeCredit","authorizeDeposit","reservation","adjustReservation","cancelReservation","purchaseReservation","purchaseReservationPhoneAuthorized","loadVoucher","collectPoints","funding","refunding","load","unload","activateCard"]);timapi.constants.LoyaltyFunctionType=new timapi.constants.Enumeration(["init","update","deinit","query"]);timapi.constants.PrintFormat=new timapi.constants.Enumeration(["noPrint","normal","onDevice","fieldsOnly"]);timapi.constants.CardReader=new timapi.constants.Enumeration(["icc","cl","ms"]);timapi.constants.ResponseType=new timapi.constants.Enumeration(["positive","negative","cardRemoval","timeout"]);timapi.constants.VasInfoType=new timapi.constants.Enumeration(["wolaltId","woltrxMatch","woltrxId","woltrxIdentTime","woluserAlias","wolcardAlias","wolagrDataToEcrindicator","wolagrReqAddVasdataIndicator","wolagrResDataToHstIndicator","wolamtVasprg","wolvasprgCtnr","wolvasprgId","wolvasprgName","wolvasprgMtchId","wolvasspecId","woldataToEcrind","wolreqAddVasdataInd","woladdVasdataComMd","wolresDataToHstInd","woladdVasdata","wolsupportVer"]);timapi.constants.NonFinancialTransactions=new timapi.constants.Enumeration(["cancel","balanceInquiry","clientIdentification","initTransaction","holdCommit","reservation","adjustReservation","cancelReservation","loyaltyData","startCheckout","finishCheckout","provideLoyaltyBasket","provideVasResult","accountVerification"]);timapi.constants.CurrencyType=new timapi.constants.Enumeration(["local","foreign","dcc"]);timapi.constants.PosEntryMode=new timapi.constants.Enumeration(["unspecified","manual","magStripeIncomplete","barCode","ocr","icc","referenceBased","bluetoothLowEnergy","qrcOnTerminal","qrcOnMobile","tokenBasedEcommerce","magStripe","magStripeFallback","magStripeFallbackAgain","magStripeFallbackIccFail","emergencyDataEntry","ecommerce","ctlessIcc","ctlessMagStrige"]);timapi.constants.StatusFunctions=new timapi.constants.Enumeration(["featureRequest","terminalStatus","systemInformation","applicationInformation","hardwareInformation","keepAlive","licenseChanged"]);timapi.constants.CardProductType=new timapi.constants.Enumeration(["debit","credit","commercial","prepaid"]);timapi.constants.SleepModeStatus=new timapi.constants.Enumeration(["enteringSleep","wakingUp"]);timapi.constants.SecurityStatus=new timapi.constants.Enumeration(["disabled","active","tampered"]);timapi.constants.AdjustmentResult=new timapi.constants.Enumeration(["ok","failRequestToLate","failAmountToHigh"]);timapi.constants.AdminFunctions=new timapi.constants.Enumeration(["login","logout","reconfig","reboot","softwareUpdate","activate","deactivate","counterRequest","reconciliation","balance","openDialogMode","closeDialogMode","transmitLog","startReaderCleaning","dccRates","changeSettings","receiptRequest","closeReader","openReader","ejectCard","openMaintenanceWindow","closeMaintenanceWindow","activateServiceMenu"]);timapi.constants.KernelType=new timapi.constants.Enumeration(["kernelPure","emvContact","entryPoint","kernel1","kernel2","kernel3","kernel4","kernel5","kernel6","kernel7"]);timapi.constants.CardReaderStatus=new timapi.constants.Enumeration(["cardReaderClosed","cardManuallyEntered","cardSwiped","cardNotRemoved","cardPresented","cardReaderEmpty","cardInserted","cardEjected"]);timapi.constants.FunctionHint=new timapi.constants.Enumeration(["purchase","credit","reversal","preAuthorization","finalizePurchase","cashAdvance","purchaseForcedAcceptance","purchaseWithCashback","purchasePhoneAuthorized","purchasePhoneOrdered","purchaseMailOrdered","giro","combined","authorizeCredit","authorizeDeposit","reservation","loadVoucher","collectPoints"]);timapi.constants.BrandBarBrand=new timapi.constants.Enumeration(["alipay","amex","aralRoutex","aurora","austroCard","bancomat","bcmc","boncardPay","boncardPoints","bonus","bonuscard","bpRoutex","brunschwig","businessCard","cash","co2neutralCard","conforama","coopEkz","coopMobile","coopProntoCard","cosyCard","cup","diners","dinerClub","diplomatkarte","dkv","eniRoutex","eshellPrepaid","esso","euroShell","fnac","freiUndFlott","giftc","giftCard","groupCard","ipRoutex","iq","jcb","jelmoliPaycard","jet","jgeschenkkarte","jubinCardPetrol","lebara","loeb","logPay","lunchCheckCard","lycaMobile","maestro","maestroCh","masterCard","mbudgetMc","mcard","mediaMarkt","mergerCard","migrolcard","migros","moveri","mscompanyCard","myOne","novofleet","omvRoutex","paycard","paycardF","paycardApp","paySysGiftcard","pharmacard","phonecard","postCard","powerCard","reka","rekaLunch","rekaRail","salt","sbbkarte","shellMca","staedtekarte","statoilRoutex","sunrise","supercardPlus","supercardVisa","swissBonusCard","swisscom","twint","utaFullService","utaSelectCard","valuemaster","visa","visaElectron","vorteilsCard","vpay","weChat","wirCard","yallo"]);timapi.constants.MaintenanceType=new timapi.constants.Enumeration(["cleanReaders","calibrateTouchScreen","transmitTeld"]);timapi.constants.ImageFileFormat=new timapi.constants.Enumeration(["jpeg","png","bmp"]);timapi.constants.Guides=new timapi.constants.Enumeration(["retail","unattended","advancedRetail","banking","petrol","dialog","remote","gastro","hospitality","valueAddedServices","austrianUseCases","certification"]);timapi.constants.ConnectionStatus=new timapi.constants.Enumeration(["disconnected","loggedOut","loggedIn"]);timapi.constants.TransactionReason=new timapi.constants.Enumeration(["installment","recurring","unscheduled"]);timapi.constants.DialogFunctions=new timapi.constants.Enumeration(["showSignatureCapture","showDialog","sendCardCommand","printOnTerminal"]);timapi.constants.Reason=new timapi.constants.Enumeration(["ok","corr","stop","cardReader","autoConfirm","timeout","codeOk","codeNok","pinOk","pinNok","f1","f2","otherKey"]);timapi.constants.TransactionStatus=new timapi.constants.Enumeration(["busy","idle","waitForCard","readingCard","applicationSelection","waitForProceed","dccSelection","enterTip","pinEntry","signatureCapture","processing","waitForCommit"]);timapi.constants.ProcessingDisposition=new timapi.constants.Enumeration(["onEcr","onEft"]);timapi.constants.ReceiptRequestType=new timapi.constants.Enumeration(["reprint","list"]);timapi.constants.MerchantAction=new timapi.constants.Enumeration(["signature","none"]);timapi.constants.CounterType=new timapi.constants.Enumeration(["shift","balance"]);timapi.constants.Recipient=new timapi.constants.Enumeration(["merchant","cardholder","both"]);timapi.constants.EcrInfoType=new timapi.constants.Enumeration(["os","ecrApplication","eftApi","eftModule"]);
##############################################
odoo-14.0.0+dfsg/addons/sale_product_configurator/static/src/js/product_configurator_modal.js-497-    /**
odoo-14.0.0+dfsg/addons/sale_product_configurator/static/src/js/product_configurator_modal.js:498:     * Returns a unique id for `$el`.
odoo-14.0.0+dfsg/addons/sale_product_configurator/static/src/js/product_configurator_modal.js-499-     *
##############################################
odoo-14.0.0+dfsg/addons/sale_timesheet/static/src/js/project_overview.js-21-            else {
odoo-14.0.0+dfsg/addons/sale_timesheet/static/src/js/project_overview.js:22:                const targetClass = `.${model.replace(/\./g, '_')}_${resId || 'None'}`;
odoo-14.0.0+dfsg/addons/sale_timesheet/static/src/js/project_overview.js-23-                this.$(targetClass).hide();
##############################################
odoo-14.0.0+dfsg/addons/sale_timesheet/static/src/js/project_overview.js-30-            id = id || 'None';
odoo-14.0.0+dfsg/addons/sale_timesheet/static/src/js/project_overview.js:31:            const targetClass = `.sale_order_${id}`;
odoo-14.0.0+dfsg/addons/sale_timesheet/static/src/js/project_overview.js:32:            this.$(`.o_timesheet_forecast_sale_order_line${targetClass}`).show();
odoo-14.0.0+dfsg/addons/sale_timesheet/static/src/js/project_overview.js:33:            this.$(`.o_timesheet_forecast_hr_employee${targetClass}`).hide();
odoo-14.0.0+dfsg/addons/sale_timesheet/static/src/js/project_overview.js:34:            this.$(`.o_timesheet_forecast_sale_order_line${targetClass} .fa`).removeClass('fa-caret-down');
odoo-14.0.0+dfsg/addons/sale_timesheet/static/src/js/project_overview.js:35:            this.$(`.o_timesheet_forecast_sale_order_line${targetClass} .fa`).addClass('fa-caret-right');
odoo-14.0.0+dfsg/addons/sale_timesheet/static/src/js/project_overview.js-36-
##############################################
odoo-14.0.0+dfsg/addons/sale_timesheet/static/src/js/project_overview.js-40-            id = id || 'None';
odoo-14.0.0+dfsg/addons/sale_timesheet/static/src/js/project_overview.js:41:            const targetClass = `.sale_order_line_${id}`;
odoo-14.0.0+dfsg/addons/sale_timesheet/static/src/js/project_overview.js:42:            this.$(`.o_timesheet_forecast_hr_employee${targetClass}`).show();
odoo-14.0.0+dfsg/addons/sale_timesheet/static/src/js/project_overview.js-43-        },
##############################################
odoo-14.0.0+dfsg/addons/stock/static/src/js/report_stock_forecasted.js-23-        const isTemplate = this.resModel === 'product.template';
odoo-14.0.0+dfsg/addons/stock/static/src/js/report_stock_forecasted.js:24:        this.actionMethod = `action_product_${isTemplate ? 'tmpl_' : ''}forecast_report`;
odoo-14.0.0+dfsg/addons/stock/static/src/js/report_stock_forecasted.js:25:        const reportName = `report_product_${isTemplate ? 'template' : 'product'}_replenishment`;
odoo-14.0.0+dfsg/addons/stock/static/src/js/report_stock_forecasted.js:26:        this.report_url = `/report/html/stock.${reportName}/${this.productId}`;
odoo-14.0.0+dfsg/addons/stock/static/src/js/report_stock_forecasted.js-27-        if (this.context.warehouse) {
##############################################
odoo-14.0.0+dfsg/addons/stock/static/src/js/report_stock_forecasted.js-29-        }
odoo-14.0.0+dfsg/addons/stock/static/src/js/report_stock_forecasted.js:30:        this.report_url += `?context=${JSON.stringify(this.context)}`;
odoo-14.0.0+dfsg/addons/stock/static/src/js/report_stock_forecasted.js-31-        this._title = action.name;
##############################################
odoo-14.0.0+dfsg/addons/survey/static/src/js/libs/chartjs-plugin-datalabels.min.js-6- */
odoo-14.0.0+dfsg/addons/survey/static/src/js/libs/chartjs-plugin-datalabels.min.js:7:!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("chart.js")):"function"==typeof define&&define.amd?define(["chart.js"],e):(t=t||self).ChartDataLabels=e(t.Chart)}(this,function(t){"use strict";var e=(t=t&&t.hasOwnProperty("default")?t.default:t).helpers,r=function(){if("undefined"!=typeof window){if(window.devicePixelRatio)return window.devicePixelRatio;var t=window.screen;if(t)return(t.deviceXDPI||1)/(t.logicalXDPI||1)}return 1}(),n={toTextLines:function(t){var r,n=[];for(t=[].concat(t);t.length;)"string"==typeof(r=t.pop())?n.unshift.apply(n,r.split("\n")):Array.isArray(r)?t.push.apply(t,r):e.isNullOrUndef(t)||n.unshift(""+r);return n},toFontString:function(t){return!t||e.isNullOrUndef(t.size)||e.isNullOrUndef(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family},textSize:function(t,e,r){var n,i=[].concat(e),o=i.length,a=t.font,l=0;for(t.font=r.string,n=0;n<o;++n)l=Math.max(t.measureText(i[n]).width,l);return t.font=a,{height:o*r.lineHeight,width:l}},parseFont:function(r){var i=t.defaults.global,o=e.valueOrDefault(r.size,i.defaultFontSize),a={family:e.valueOrDefault(r.family,i.defaultFontFamily),lineHeight:e.options.toLineHeight(r.lineHeight,o),size:o,style:e.valueOrDefault(r.style,i.defaultFontStyle),weight:e.valueOrDefault(r.weight,null),string:""};return a.string=n.toFontString(a),a},bound:function(t,e,r){return Math.max(t,Math.min(e,r))},arrayDiff:function(t,e){var r,n,i,o,a=t.slice(),l=[];for(r=0,i=e.length;r<i;++r)o=e[r],-1===(n=a.indexOf(o))?l.push([o,1]):a.splice(n,1);for(r=0,i=a.length;r<i;++r)l.push([a[r],-1]);return l},rasterize:function(t){return Math.round(t*r)/r}};function i(t,e){var r=e.x,n=e.y;if(null===r)return{x:0,y:-1};if(null===n)return{x:1,y:0};var i=t.x-r,o=t.y-n,a=Math.sqrt(i*i+o*o);return{x:a?i/a:0,y:a?o/a:-1}}var o=0,a=1,l=2,s=4,u=8;function f(t,e,r){var n=o;return t<r.left?n|=a:t>r.right&&(n|=l),e<r.top?n|=u:e>r.bottom&&(n|=s),n}function d(t,e){var r,n,i=e.anchor,o=t;return e.clamp&&(o=function(t,e){for(var r,n,i,o=t.x0,d=t.y0,c=t.x1,h=t.y1,x=f(o,d,e),y=f(c,h,e);x|y&&!(x&y);)(r=x||y)&u?(n=o+(c-o)*(e.top-d)/(h-d),i=e.top):r&s?(n=o+(c-o)*(e.bottom-d)/(h-d),i=e.bottom):r&l?(i=d+(h-d)*(e.right-o)/(c-o),n=e.right):r&a&&(i=d+(h-d)*(e.left-o)/(c-o),n=e.left),r===x?x=f(o=n,d=i,e):y=f(c=n,h=i,e);return{x0:o,x1:c,y0:d,y1:h}}(o,e.area)),"start"===i?(r=o.x0,n=o.y0):"end"===i?(r=o.x1,n=o.y1):(r=(o.x0+o.x1)/2,n=(o.y0+o.y1)/2),function(t,e,r,n,i){switch(i){case"center":r=n=0;break;case"bottom":r=0,n=1;break;case"right":r=1,n=0;break;case"left":r=-1,n=0;break;case"top":r=0,n=-1;break;case"start":r=-r,n=-n;break;case"end":break;default:i*=Math.PI/180,r=Math.cos(i),n=Math.sin(i)}return{x:t,y:e,vx:r,vy:n}}(r,n,t.vx,t.vy,e.align)}var c={arc:function(t,e){var r=(t.startAngle+t.endAngle)/2,n=Math.cos(r),i=Math.sin(r),o=t.innerRadius,a=t.outerRadius;return d({x0:t.x+n*o,y0:t.y+i*o,x1:t.x+n*a,y1:t.y+i*a,vx:n,vy:i},e)},point:function(t,e){var r=i(t,e.origin),n=r.x*t.radius,o=r.y*t.radius;return d({x0:t.x-n,y0:t.y-o,x1:t.x+n,y1:t.y+o,vx:r.x,vy:r.y},e)},rect:function(t,e){var r=i(t,e.origin),n=t.x,o=t.y,a=0,l=0;return t.horizontal?(n=Math.min(t.x,t.base),a=Math.abs(t.base-t.x)):(o=Math.min(t.y,t.base),l=Math.abs(t.base-t.y)),d({x0:n,y0:o+l,x1:n+a,y1:o,vx:r.x,vy:r.y},e)},fallback:function(t,e){var r=i(t,e.origin);return d({x0:t.x,y0:t.y,x1:t.x,y1:t.y,vx:r.x,vy:r.y},e)}},h=t.helpers,x=n.rasterize;function y(t){var e=t._model.horizontal,r=t._scale||e&&t._xScale||t._yScale;if(!r)return null;if(void 0!==r.xCenter&&void 0!==r.yCenter)return{x:r.xCenter,y:r.yCenter};var n=r.getBasePixel();return e?{x:n,y:null}:{x:null,y:n}}function v(t,e,r){var n=t.shadowBlur,i=r.stroked,o=x(r.x),a=x(r.y),l=x(r.w);i&&t.strokeText(e,o,a,l),r.filled&&(n&&i&&(t.shadowBlur=0),t.fillText(e,o,a,l),n&&i&&(t.shadowBlur=n))}var _=function(t,e,r,n){var i=this;i._config=t,i._index=n,i._model=null,i._rects=null,i._ctx=e,i._el=r};h.extend(_.prototype,{_modelize:function(e,r,i,o){var a,l=this._index,s=h.options.resolve,u=n.parseFont(s([i.font,{}],o,l)),f=s([i.color,t.defaults.global.defaultFontColor],o,l);return{align:s([i.align,"center"],o,l),anchor:s([i.anchor,"center"],o,l),area:o.chart.chartArea,backgroundColor:s([i.backgroundColor,null],o,l),borderColor:s([i.borderColor,null],o,l),borderRadius:s([i.borderRadius,0],o,l),borderWidth:s([i.borderWidth,0],o,l),clamp:s([i.clamp,!1],o,l),clip:s([i.clip,!1],o,l),color:f,display:e,font:u,lines:r,offset:s([i.offset,0],o,l),opacity:s([i.opacity,1],o,l),origin:y(this._el),padding:h.options.toPadding(s([i.padding,0],o,l)),positioner:(a=this._el,a instanceof t.elements.Arc?c.arc:a instanceof t.elements.Point?c.point:a instanceof t.elements.Rectangle?c.rect:c.fallback),rotation:s([i.rotation,0],o,l)*(Math.PI/180),size:n.textSize(this._ctx,r,u),textAlign:s([i.textAlign,"start"],o,l),textShadowBlur:s([i.textShadowBlur,0],o,l),textShadowColor:s([i.textShadowColor,f],o,l),textStrokeColor:s([i.textStrokeColor,f],o,l),textStrokeWidth:s([i.textStrokeWidth,0],o,l)}},update:function(t){var e,r,i,o=this,a=null,l=null,s=o._index,u=o._config,f=h.options.resolve([u.display,!0],t,s);f&&(e=t.dataset.data[s],r=h.valueOrDefault(h.callback(u.formatter,[e,t]),e),(i=h.isNullOrUndef(r)?[]:n.toTextLines(r)).length&&(l=function(t){var e=t.borderWidth||0,r=t.padding,n=t.size.height,i=t.size.width,o=-i/2,a=-n/2;return{frame:{x:o-r.left-e,y:a-r.top-e,w:i+r.width+2*e,h:n+r.height+2*e},text:{x:o,y:a,w:i,h:n}}}(a=o._modelize(f,i,u,t)))),o._model=a,o._rects=l},geometry:function(){return this._rects?this._rects.frame:{}},rotation:function(){return this._model?this._model.rotation:0},visible:function(){return this._model&&this._model.opacity},model:function(){return this._model},draw:function(t,e){var r,i=t.ctx,o=this._model,a=this._rects;this.visible()&&(i.save(),o.clip&&(r=o.area,i.beginPath(),i.rect(r.left,r.top,r.right-r.left,r.bottom-r.top),i.clip()),i.globalAlpha=n.bound(0,o.opacity,1),i.translate(x(e.x),x(e.y)),i.rotate(o.rotation),function(t,e,r){var n=r.backgroundColor,i=r.borderColor,o=r.borderWidth;(n||i&&o)&&(t.beginPath(),h.canvas.roundedRect(t,x(e.x)+o/2,x(e.y)+o/2,x(e.w)-o,x(e.h)-o,r.borderRadius),t.closePath(),n&&(t.fillStyle=n,t.fill()),i&&o&&(t.strokeStyle=i,t.lineWidth=o,t.lineJoin="miter",t.stroke()))}(i,a.frame,o),function(t,e,r,n){var i,o=n.textAlign,a=n.color,l=!!a,s=n.font,u=e.length,f=n.textStrokeColor,d=n.textStrokeWidth,c=f&&d;if(u&&(l||c))for(r=function(t,e,r){var n=r.lineHeight,i=t.w,o=t.x;return"center"===e?o+=i/2:"end"!==e&&"right"!==e||(o+=i),{h:n,w:i,x:o,y:t.y+n/2}}(r,o,s),t.font=s.string,t.textAlign=o,t.textBaseline="middle",t.shadowBlur=n.textShadowBlur,t.shadowColor=n.textShadowColor,l&&(t.fillStyle=a),c&&(t.lineJoin="round",t.lineWidth=d,t.strokeStyle=f),i=0,u=e.length;i<u;++i)v(t,e[i],{stroked:c,filled:l,w:r.w,x:r.x,y:r.y+r.h*i})}(i,o.lines,a.text,o),i.restore())}});var b=t.helpers,p=Number.MIN_SAFE_INTEGER||-9007199254740991,g=Number.MAX_SAFE_INTEGER||9007199254740991;function m(t,e,r){var n=Math.cos(r),i=Math.sin(r),o=e.x,a=e.y;return{x:o+n*(t.x-o)-i*(t.y-a),y:a+i*(t.x-o)+n*(t.y-a)}}function w(t,e){var r,n,i,o,a,l=g,s=p,u=e.origin;for(r=0;r<t.length;++r)i=(n=t[r]).x-u.x,o=n.y-u.y,a=e.vx*i+e.vy*o,l=Math.min(l,a),s=Math.max(s,a);return{min:l,max:s}}function k(t,e){var r=e.x-t.x,n=e.y-t.y,i=Math.sqrt(r*r+n*n);return{vx:(e.x-t.x)/i,vy:(e.y-t.y)/i,origin:t,ln:i}}var M=function(){this._rotation=0,this._rect={x:0,y:0,w:0,h:0}};function S(t,e,r){var n=e.positioner(t,e),i=n.vx,o=n.vy;if(!i&&!o)return{x:n.x,y:n.y};var a=r.w,l=r.h,s=e.rotation,u=Math.abs(a/2*Math.cos(s))+Math.abs(l/2*Math.sin(s)),f=Math.abs(a/2*Math.sin(s))+Math.abs(l/2*Math.cos(s)),d=1/Math.max(Math.abs(i),Math.abs(o));return u*=i*d,f*=o*d,u+=e.offset*i,f+=e.offset*o,{x:n.x+u,y:n.y+f}}b.extend(M.prototype,{center:function(){var t=this._rect;return{x:t.x+t.w/2,y:t.y+t.h/2}},update:function(t,e,r){this._rotation=r,this._rect={x:e.x+t.x,y:e.y+t.y,w:e.w,h:e.h}},contains:function(t){var e=this._rect;return!((t=m(t,this.center(),-this._rotation)).x<e.x-1||t.y<e.y-1||t.x>e.x+e.w+2||t.y>e.y+e.h+2)},intersects:function(t){var e,r,n,i=this._points(),o=t._points(),a=[k(i[0],i[1]),k(i[0],i[3])];for(this._rotation!==t._rotation&&a.push(k(o[0],o[1]),k(o[0],o[3])),e=0;e<a.length;++e)if(r=w(i,a[e]),n=w(o,a[e]),r.max<n.min||n.max<r.min)return!1;return!0},_points:function(){var t=this._rect,e=this._rotation,r=this.center();return[m({x:t.x,y:t.y},r,e),m({x:t.x+t.w,y:t.y},r,e),m({x:t.x+t.w,y:t.y+t.h},r,e),m({x:t.x,y:t.y+t.h},r,e)]}});var C={prepare:function(t){var e,r,n,i,o,a=[];for(e=0,n=t.length;e<n;++e)for(r=0,i=t[e].length;r<i;++r)o=t[e][r],a.push(o),o.$layout={_box:new M,_hidable:!1,_visible:!0,_set:e,_idx:r};return a.sort(function(t,e){var r=t.$layout,n=e.$layout;return r._idx===n._idx?n._set-r._set:n._idx-r._idx}),this.update(a),a},update:function(t){var e,r,n,i,o,a=!1;for(e=0,r=t.length;e<r;++e)i=(n=t[e]).model(),(o=n.$layout)._hidable=i&&"auto"===i.display,o._visible=n.visible(),a|=o._hidable;a&&function(t){var e,r,n,i,o,a;for(e=0,r=t.length;e<r;++e)(i=(n=t[e]).$layout)._visible&&(o=n.geometry(),a=S(n._el._model,n.model(),o),i._box.update(a,o,n.rotation()));(function(t,e){var r,n,i,o;for(r=t.length-1;r>=0;--r)for(i=t[r].$layout,n=r-1;n>=0&&i._visible;--n)(o=t[n].$layout)._visible&&i._box.intersects(o._box)&&e(i,o)})(t,function(t,e){var r=t._hidable,n=e._hidable;r&&n||n?e._visible=!1:r&&(t._visible=!1)})}(t)},lookup:function(t,e){var r,n;for(r=t.length-1;r>=0;--r)if((n=t[r].$layout)&&n._visible&&n._box.contains(e))return t[r];return null},draw:function(t,e){var r,n,i,o,a,l;for(r=0,n=e.length;r<n;++r)(o=(i=e[r]).$layout)._visible&&(a=i.geometry(),l=S(i._el._view,i.model(),a),o._box.update(l,a,i.rotation()),i.draw(t,l))}},z=t.helpers,$={align:"center",anchor:"center",backgroundColor:null,borderColor:null,borderRadius:0,borderWidth:0,clamp:!1,clip:!1,color:void 0,display:!0,font:{family:void 0,lineHeight:1.2,size:void 0,style:void 0,weight:null},formatter:function(t){if(z.isNullOrUndef(t))return null;var e,r,n,i=t;if(z.isObject(t))if(z.isNullOrUndef(t.label))if(z.isNullOrUndef(t.r))for(i="",n=0,r=(e=Object.keys(t)).length;n<r;++n)i+=(0!==n?", ":"")+e[n]+": "+t[e[n]];else i=t.r;else i=t.label;return""+i},labels:void 0,listeners:{},offset:4,opacity:1,padding:{top:4,right:4,bottom:4,left:4},rotation:0,textAlign:"start",textStrokeColor:void 0,textStrokeWidth:0,textShadowBlur:0,textShadowColor:void 0},O=t.helpers,A="$datalabels",D="$default";function P(t,e,r){if(e){var n,i=r.$context,o=r.$groups;e[o._set]&&(n=e[o._set][o._key])&&!0===O.callback(n,[i])&&(t[A]._dirty=!0,r.update(i))}}function N(t,e){var r,n,i=t[A],o=i._listeners;if(o.enter||o.leave){if("mousemove"===e.type)n=C.lookup(i._labels,e);else if("mouseout"!==e.type)return;r=i._hovered,i._hovered=n,function(t,e,r,n){var i,o;(r||n)&&(r?n?r!==n&&(o=i=!0):o=!0:i=!0,o&&P(t,e.leave,r),i&&P(t,e.enter,n))}(t,o,r,n)}}t.defaults.global.plugins.datalabels=$;var R={id:"datalabels",beforeInit:function(t){t[A]={_actives:[]}},beforeUpdate:function(t){var e=t[A];e._listened=!1,e._listeners={},e._datasets=[],e._labels=[]},afterDatasetUpdate:function(t,e,r){var n,i,o,a,l,s,u,f,d=e.index,c=t[A],h=c._datasets[d]=[],x=t.isDatasetVisible(d),y=t.data.datasets[d],v=function(t,e){var r,n,i,o=t.datalabels,a=[];return!1===o?null:(!0===o&&(o={}),e=O.merge({},[e,o]),n=e.labels||{},i=Object.keys(n),delete e.labels,i.length?i.forEach(function(t){n[t]&&a.push(O.merge({},[e,n[t],{_key:t}]))}):a.push(e),r=a.reduce(function(t,e){return O.each(e.listeners||{},function(r,n){t[n]=t[n]||{},t[n][e._key||D]=r}),delete e.listeners,t},{}),{labels:a,listeners:r})}(y,r),b=e.meta.data||[],p=t.ctx;for(p.save(),n=0,o=b.length;n<o;++n)if((u=b[n])[A]=[],x&&u&&!u.hidden&&!u._model.skip)for(i=0,a=v.labels.length;i<a;++i)s=(l=v.labels[i])._key,(f=new _(l,p,u,n)).$groups={_set:d,_key:s||D},f.$context={active:!1,chart:t,dataIndex:n,dataset:y,datasetIndex:d},f.update(f.$context),u[A].push(f),h.push(f);p.restore(),O.merge(c._listeners,v.listeners,{merger:function(t,r,n){r[t]=r[t]||{},r[t][e.index]=n[t],c._listened=!0}})},afterUpdate:function(t,e){t[A]._labels=C.prepare(t[A]._datasets,e)},afterDatasetsDraw:function(t){C.draw(t,t[A]._labels)},beforeEvent:function(t,e){if(t[A]._listened)switch(e.type){case"mousemove":case"mouseout":N(t,e);break;case"click":!function(t,e){var r=t[A],n=r._listeners.click,i=n&&C.lookup(r._labels,e);i&&P(t,n,i)}(t,e)}},afterEvent:function(e){var r,i,o,a,l,s,u,f=e[A],d=f._actives,c=f._actives=e.lastActive||[],h=n.arrayDiff(d,c);for(r=0,i=h.length;r<i;++r)if((l=h[r])[1])for(o=0,a=(u=l[0][A]||[]).length;o<a;++o)(s=u[o]).$context.active=1===l[1],s.update(s.$context);(f._dirty||h.length)&&(C.update(f._labels),function(e){if(!e.animating){for(var r=t.animationService.animations,n=0,i=r.length;n<i;++n)if(r[n].chart===e)return;e.render({duration:1,lazy:!0})}}(e)),delete f._dirty}};return t.plugins.register(R),R});
##############################################
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_form.js-117-                   && letter.match(/[a-z]/i)) {
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_form.js:118:            var $choiceInput = this.$(`input[data-selection-key=${letter}]`);
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_form.js-119-            if ($choiceInput.length === 1) {
##############################################
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_form.js-340-                this._rpc({
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_form.js:341:                    route: `/survey/next_question/${this.options.surveyToken}/${this.options.answerToken}`,
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_form.js-342-                }), {
##############################################
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_quick_access.js-54-        this._rpc({
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_quick_access.js:55:            route: `/survey/check_session_code/${$sessionCodeInput.val()}`,
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_quick_access.js-56-        }).then(function (response) {
##############################################
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_chart.js-214-        var rgb = SESSION_CHART_COLORS[metaData.dataIndex];
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_chart.js:215:        return `rgba(${rgb},${opacity})`;
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_chart.js-216-    },
##############################################
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js-59-                    .find('.o_survey_session_leaderboard_bar')
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js:60:                    .css('background-color', `rgba(${rgb},1)`);
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js-61-                $(this)
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js-62-                    .find('.o_survey_session_leaderboard_bar_question')
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js:63:                    .css('background-color', `rgba(${rgb},${0.4})`);
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js-64-            });
##############################################
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js-106-            }
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js:107:            $scoreEl.text(`${plusSign ? '+ ' : ''}${Math.round(nextScore)} p`);
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js-108-
##############################################
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js-128-        });
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js:129:        $score.css('top', `calc(calc(${this.BAR_HEIGHT} * ${position}) + ${offset}rem)`);
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js-130-        setTimeout(animationDone, timeout);
##############################################
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js-223-                var $barEl = $(this);
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js:224:                var width = `calc(calc(100% - ${self.BAR_WIDTH}) * ${$barEl.data('widthRatio')} + ${self.BAR_MIN_WIDTH})`;
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js-225-                $barEl.css('transition', 'width 1s ease-out');
##############################################
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js-310-                // even if the user already has 1.000.000 points
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js:311:                var questionWith = `calc(calc(calc(100% - ${self.BAR_WIDTH}) * ${questionRatio * baseRatio}) + ${self.BAR_MIN_WIDTH})`;
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js-312-                $(this)
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js-313-                    .find('.o_survey_session_leaderboard_bar_question')
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js:314:                    .css('transition', `width ease .5s ${growthAnimation}`)
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js-315-                    .css('width', questionWith);
##############################################
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js-317-                var updatedScoreRatio = 1 - questionRatio;
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js:318:                var updatedScoreWidth = `calc(calc(100% - ${self.BAR_WIDTH}) * ${updatedScoreRatio * baseRatio})`;
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js-319-                $(this)
##############################################
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js-321-                    .css('min-width', '0px')
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js:322:                    .css('transition', `width ease .5s ${growthAnimation}`)
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_leaderboard.js-323-                    .css('width', updatedScoreWidth);
##############################################
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_manage.js-394-                var percentage = Math.min(Math.round((questionResults.answer_count / max) * 100), 100);
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_manage.js:395:                self.$('.progress-bar').css('width', `${percentage}%`);
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_manage.js-396-
##############################################
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_manage.js-400-                    self.$('.progress-bar.o_survey_session_progress_small span').text(
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_manage.js:401:                        `${answerCount} / ${self.attendeesCount}`
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_manage.js-402-                    );
##############################################
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_text_answers.js-53-                    value: textValue,
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_text_answers.js:54:                    borderColor: `rgb(${SESSION_CHART_COLORS[self.answerIds.length % 10]})`
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_text_answers.js-55-                }));
##############################################
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_text_answers.js-57-                var spanWidth = $textAnswer.find('span').width();
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_text_answers.js:58:                var calculatedWidth = `calc(${spanWidth}px + 1.2rem)`;
odoo-14.0.0+dfsg/addons/survey/static/src/js/survey_session_text_answers.js-59-                $textAnswer.css('width', calculatedWidth);
##############################################
odoo-14.0.0+dfsg/addons/survey/wizard/survey_invite.py-22-        if self.env.user.email:
odoo-14.0.0+dfsg/addons/survey/wizard/survey_invite.py:23:            return tools.formataddr((self.env.user.name, self.env.user.email))
odoo-14.0.0+dfsg/addons/survey/wizard/survey_invite.py-24-        raise UserError(_("Unable to post message, please configure the sender's email address."))
##############################################
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_channel.py-432-        msg_moderator = self.channel_1.message_post(message_type='comment', subtype_xmlid='mail.mt_comment', author_id=self.partner_employee.id)
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_channel.py:433:        msg_email1 = self.channel_1.message_post(message_type='comment', subtype_xmlid='mail.mt_comment', email_from=formataddr(("MyName", email1)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_channel.py-434-        msg_email2 = self.channel_1.message_post(message_type='email', subtype_xmlid='mail.mt_comment', email_from=email2)
##############################################
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_gateway.py-986-        )
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_gateway.py:987:        self.assertEqual(record_msg.reply_to, formataddr(('%s %s' % (self.user_employee.company_id.name, first_record.name), '%s@%s' % ('catchall.test', 'test.com'))))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_gateway.py-988-        mail_msg = first_record.message_post(
##############################################
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py-44-        reply_to_email = '%s@%s' % (self.alias_catchall, self.alias_domain)
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py:45:        self.assertEqual(msg.reply_to, formataddr((reply_to_name, reply_to_email)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py:46:        self.assertEqual(msg.email_from, formataddr((self.user_employee.name, self.user_employee.email)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py-47-
##############################################
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py-52-        self.assertIn('-private', msg.message_id.split('@')[0], 'mail_message: message_id for a void message should be a "private" one')
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py:53:        self.assertEqual(msg.reply_to, formataddr((self.user_employee.name, self.user_employee.email)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py:54:        self.assertEqual(msg.email_from, formataddr((self.user_employee.name, self.user_employee.email)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py-55-
##############################################
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py-61-        self.assertIn('-private', msg.message_id.split('@')[0], 'mail_message: message_id for a void message should be a "private" one')
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py:62:        self.assertEqual(msg.reply_to, formataddr((self.user_employee.name, self.user_employee.email)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py:63:        self.assertEqual(msg.email_from, formataddr((self.user_employee.name, self.user_employee.email)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py-64-
##############################################
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py-73-        reply_to_email = '%s@%s' % (self.alias_record.alias_name, self.alias_domain)
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py:74:        self.assertEqual(msg.reply_to, formataddr((reply_to_name, reply_to_email)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py:75:        self.assertEqual(msg.email_from, formataddr((self.user_employee.name, self.user_employee.email)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py-76-
##############################################
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py-84-        self.assertIn('-openerp-%d-mail.test' % self.alias_record.id, msg.message_id.split('@')[0])
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py:85:        self.assertEqual(msg.reply_to, formataddr((self.user_employee.name, self.user_employee.email)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py:86:        self.assertEqual(msg.email_from, formataddr((self.user_employee.name, self.user_employee.email)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py-87-
##############################################
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py-98-        reply_to_email = '%s@%s' % (self.alias_record.alias_name, self.alias_domain)
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py:99:        self.assertEqual(msg.reply_to, formataddr((reply_to_name, reply_to_email)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py:100:        self.assertEqual(msg.email_from, formataddr((self.user_employee.name, self.user_employee.email)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py-101-
##############################################
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py-112-        reply_to_email = '%s@%s' % (self.alias_catchall, self.alias_domain)
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py:113:        self.assertEqual(msg.reply_to, formataddr((reply_to_name, reply_to_email)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py:114:        self.assertEqual(msg.email_from, formataddr((self.user_employee.name, self.user_employee.email)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py-115-
##############################################
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py-134-        reply_to_email = '%s@%s' % (alias.alias_name, self.alias_domain)
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py:135:        self.assertEqual(msg.reply_to, formataddr((reply_to_name, reply_to_email)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py:136:        self.assertEqual(msg.email_from, formataddr((self.user_employee.name, self.user_employee.email)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_mail_message.py-137-
##############################################
odoo-14.0.0+dfsg/addons/test_mail/tests/test_message_post.py-234-        self.assertEqual(new_note.author_id, self.user_employee.partner_id)
odoo-14.0.0+dfsg/addons/test_mail/tests/test_message_post.py:235:        self.assertEqual(new_note.email_from, formataddr((self.user_employee.name, self.user_employee.email)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_message_post.py-236-        self.assertEqual(new_note.notified_partner_ids, self.env['res.partner'])
##############################################
odoo-14.0.0+dfsg/addons/test_mail/tests/test_message_post.py-250-        self.assertEqual(new_notification.author_id, self.env.user.partner_id)
odoo-14.0.0+dfsg/addons/test_mail/tests/test_message_post.py:251:        self.assertEqual(new_notification.email_from, formataddr((self.env.user.name, self.env.user.email)))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_message_post.py-252-        self.assertEqual(new_notification.notified_partner_ids, self.partner_1 | self.user_employee.partner_id)
##############################################
odoo-14.0.0+dfsg/addons/test_mail/tests/test_performance.py-487-        self.assertEqual(mail.body_html, '<p>Test</p>')
odoo-14.0.0+dfsg/addons/test_mail/tests/test_performance.py:488:        self.assertEqual(mail.reply_to, formataddr(('%s %s' % (self.env.company.name, self.container.name), 'test-alias@example.com')))
odoo-14.0.0+dfsg/addons/test_mail/tests/test_performance.py-489-
##############################################
odoo-14.0.0+dfsg/addons/web/doc/client_action.rst-64-takes over, the template is rendered, inserted in the client DOM,
odoo-14.0.0+dfsg/addons/web/doc/client_action.rst:65:bound on the object's ``$el`` property and the object is started.
odoo-14.0.0+dfsg/addons/web/doc/client_action.rst-66-
##############################################
odoo-14.0.0+dfsg/addons/web/doc/client_action.rst-101-The client action can then behave exactly as it wishes to within its
odoo-14.0.0+dfsg/addons/web/doc/client_action.rst:102:root (``this.$el``). In this case, it performs further renderings once
odoo-14.0.0+dfsg/addons/web/doc/client_action.rst-103-its widget's content is retrieved::
##############################################
odoo-14.0.0+dfsg/addons/web/doc/form_view.rst-33-* Form *will* render buttons and a pager, offers options to locate
odoo-14.0.0+dfsg/addons/web/doc/form_view.rst:34:  both outside of form itself (``$buttons`` and ``$pager``), providing
odoo-14.0.0+dfsg/addons/web/doc/form_view.rst:35:  empty jquery objects (``$()``) seems to stop displaying both but not
odoo-14.0.0+dfsg/addons/web/doc/form_view.rst-36-  sure if there are deleterious side-effects.
##############################################
odoo-14.0.0+dfsg/addons/web/doc/form_view.rst-39-
odoo-14.0.0+dfsg/addons/web/doc/form_view.rst:40:  * Pass in ``$(document.createDocumentFragment)`` to ensure it's a
odoo-14.0.0+dfsg/addons/web/doc/form_view.rst-41-    DOM-compatible tree completely outside of the actual DOM.
##############################################
odoo-14.0.0+dfsg/addons/web/doc/guidelines.rst-39-example in OpenERP is dashboards), queries should be restricted to a
odoo-14.0.0+dfsg/addons/web/doc/guidelines.rst:40:given component's scope. Unfiltered selections such as ``$(selector)``
odoo-14.0.0+dfsg/addons/web/doc/guidelines.rst-41-or ``document.querySelectorAll(selector)`` will generally lead to
##############################################
odoo-14.0.0+dfsg/addons/web/doc/guidelines.rst-44-OpenERP Web's :js:class:`~openerp.web.Widget` has an attribute
odoo-14.0.0+dfsg/addons/web/doc/guidelines.rst:45:providing its DOM root :js:attr:`Widget.$el <openerp.web.Widget.$el>`,
odoo-14.0.0+dfsg/addons/web/doc/guidelines.rst-46-and a shortcut to select nodes directly :js:attr:`Widget.$
##############################################
odoo-14.0.0+dfsg/addons/web/doc/list_view.rst-52-
odoo-14.0.0+dfsg/addons/web/doc/list_view.rst:53:    ``.oe_list_field_$type``
odoo-14.0.0+dfsg/addons/web/doc/list_view.rst-54-
odoo-14.0.0+dfsg/addons/web/doc/list_view.rst:55:        Additional class for the precise type of the cell, ``$type``
odoo-14.0.0+dfsg/addons/web/doc/list_view.rst-56-        is the field's @widget if there is one, otherwise it's the
##############################################
odoo-14.0.0+dfsg/addons/web/doc/list_view.rst-334-will be forwarded to a method ``keyup_EVENTNAME``, where ``EVENTNAME``
odoo-14.0.0+dfsg/addons/web/doc/list_view.rst:335:is the name of the key in ``$.ui.keyCode``.
odoo-14.0.0+dfsg/addons/web/doc/list_view.rst-336-
##############################################
odoo-14.0.0+dfsg/addons/web/doc/module.rst-58-automatically made available to web browser at the URL
odoo-14.0.0+dfsg/addons/web/doc/module.rst:59:``$module-name/static/$file-path``. This is sufficient to provide
odoo-14.0.0+dfsg/addons/web/doc/module.rst-60-pictures (of cats, usually) through your module. However there are
##############################################
odoo-14.0.0+dfsg/addons/web/doc/search_view.rst-32-    return nothing by fetching ``null`` (which can easily be done by
odoo-14.0.0+dfsg/addons/web/doc/search_view.rst:33:    returning ``$.when(null)``, which simply wraps the ``null`` in a
odoo-14.0.0+dfsg/addons/web/doc/search_view.rst-34-    Deferred).
##############################################
odoo-14.0.0+dfsg/addons/web/doc/search_view.rst-490-  now standard widgets, with the "right" behaviors (they don't rebind
odoo-14.0.0+dfsg/addons/web/doc/search_view.rst:491:  their ``$element`` in ``start()``)
odoo-14.0.0+dfsg/addons/web/doc/search_view.rst-492-
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/ace/ace.js-4876-            } else {
odoo-14.0.0+dfsg/addons/web/static/lib/ace/ace.js:4877:                success = commands.exec(toExecute.command, this.$editor, toExecute.args, e);
odoo-14.0.0+dfsg/addons/web/static/lib/ace/ace.js-4878-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/ace/ace.js-4889-            toExecute = {command: "insertstring"};
odoo-14.0.0+dfsg/addons/web/static/lib/ace/ace.js:4890:            success = commands.exec("insertstring", this.$editor, keyString);
odoo-14.0.0+dfsg/addons/web/static/lib/ace/ace.js-4891-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/ace/ace.odoo-custom.js-2116-                if (!s || !s.command) continue;
odoo-14.0.0+dfsg/addons/web/static/lib/ace/ace.odoo-custom.js:2117:                s.command == "null" ? o = !0 : o = u.exec(s.command, this.$editor, s.args, r), o && r && e != -1 && s.passEvent != 1 && s.command.passEvent != 1 && i.stopEvent(r);
odoo-14.0.0+dfsg/addons/web/static/lib/ace/ace.odoo-custom.js-2118-                if (o) break
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/ace/ace.odoo-custom.js-2125-            var t = this.$callKeyboardHandlers(-1, e);
odoo-14.0.0+dfsg/addons/web/static/lib/ace/ace.odoo-custom.js:2126:            t || this.$editor.commands.exec("insertstring", this.$editor, e)
odoo-14.0.0+dfsg/addons/web/static/lib/ace/ace.odoo-custom.js-2127-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/_functions.scss-32-
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/_functions.scss:33:// Replace `$search` with `$replace` in `$string`
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/_functions.scss-34-// Used on our SVG icon backgrounds for custom forms.
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/_print.scss-53-    blockquote {
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/_print.scss:54:      border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/_print.scss-55-      page-break-inside: avoid;
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/_variables.scss-2-//
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/_variables.scss:3:// Variables should follow the `$component-state-property-size` formula for
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/_variables.scss-4-// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/_variables.scss-380-//
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/_variables.scss:381:// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/_variables.scss-382-
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/mixins/_breakpoints.scss-6-//
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/mixins/_breakpoints.scss:7:// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/mixins/_breakpoints.scss-8-
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/mixins/_deprecate.scss-3-// This mixin can be used to deprecate mixins or functions.
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/mixins/_deprecate.scss:4:// `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/mixins/_deprecate.scss-5-// some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap)
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/mixins/_forms.scss-3-// Generate a customized focus state and for any input with the specified color,
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/mixins/_forms.scss:4:// which defaults to the `$input-focus-border-color` variable.
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/mixins/_forms.scss-5-//
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/mixins/_grid-framework.scss-3-// Used only by Bootstrap to generate the correct number of grid classes given
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/mixins/_grid-framework.scss:4:// any value of `$grid-columns`.
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/mixins/_grid-framework.scss-5-
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/mixins/_grid-framework.scss-55-
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/mixins/_grid-framework.scss:56:      // `$columns - 1` because offsetting by the width of an entire row isn't possible
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/mixins/_grid-framework.scss-57-      @for $i from 0 through ($columns - 1) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/mixins/_hover.scss:1:// Hover mixin and `$enable-hover-media-query` are deprecated.
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/mixins/_hover.scss-2-//
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/vendor/_rfs.scss-25-@if type-of($rfs-factor) != "number" or $rfs-factor <= 1 {
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/vendor/_rfs.scss:26:  @error "`#{$rfs-factor}` is not a valid  $rfs-factor, it must be greater than 1.";
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/vendor/_rfs.scss-27-}
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/vendor/_rfs.scss-95-    @else {
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/vendor/_rfs.scss:96:      @error "`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.";
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/vendor/_rfs.scss-97-    }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/vendor/_rfs.scss-140-      @else {
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/vendor/_rfs.scss:141:        @error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.";
odoo-14.0.0+dfsg/addons/web/static/lib/bootstrap/scss/vendor/_rfs.scss-142-      }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/jquery.placeholder/jquery.placeholder.js-105-                $input = $input.hide().next().show().attr('id', $input.removeAttr('id').data('placeholder-id'));
odoo-14.0.0+dfsg/addons/web/static/lib/jquery.placeholder/jquery.placeholder.js:106:                // If `clearPlaceholder` was called from `$.valHooks.input.set`
odoo-14.0.0+dfsg/addons/web/static/lib/jquery.placeholder/jquery.placeholder.js-107-                if (event === true) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/jquery.placeholder/jquery.placeholder.js-147-                $input = $input.removeAttr('id').hide().prev().attr('id', id).show();
odoo-14.0.0+dfsg/addons/web/static/lib/jquery.placeholder/jquery.placeholder.js:148:                // Note: `$input[0] != input` now!
odoo-14.0.0+dfsg/addons/web/static/lib/jquery.placeholder/jquery.placeholder.js-149-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/moment/locale/cv.js-36-        future : function (output) {
odoo-14.0.0+dfsg/addons/web/static/lib/moment/locale/cv.js:37:            var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';
odoo-14.0.0+dfsg/addons/web/static/lib/moment/locale/cv.js-38-            return output + affix;
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/nearest/README.md-9-
odoo-14.0.0+dfsg/addons/web/static/lib/nearest/README.md:10: * `$.nearest({x, y}, selector)` - find `$(selector)` closest to x/y point on screen
odoo-14.0.0+dfsg/addons/web/static/lib/nearest/README.md:11: * `$(elem).nearest(selector)` - find `$(selector)` closest to elem
odoo-14.0.0+dfsg/addons/web/static/lib/nearest/README.md:12: * `$(elemSet).nearest({x, y})` - filter `$(elemSet)` and return closest to x/y point on screen
odoo-14.0.0+dfsg/addons/web/static/lib/nearest/README.md-13-
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/nearest/README.md-15-
odoo-14.0.0+dfsg/addons/web/static/lib/nearest/README.md:16: * `$.furthest()`
odoo-14.0.0+dfsg/addons/web/static/lib/nearest/README.md:17: * `$(elem).furthest()`
odoo-14.0.0+dfsg/addons/web/static/lib/nearest/README.md-18-
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/nearest/README.md-20-
odoo-14.0.0+dfsg/addons/web/static/lib/nearest/README.md:21: * `$.touching()`
odoo-14.0.0+dfsg/addons/web/static/lib/nearest/README.md:22: * `$(elem).touching()`
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/nearest/jquery.nearest.min.js-10- */
odoo-14.0.0+dfsg/addons/web/static/lib/nearest/jquery.nearest.min.js:11:;(function(e,t){function r(t,r,i){t||(t="div");var s=e(r.container),o=s.offset()||{left:0,top:0},u=[o.left+s.width(),o.top+s.height()],a={x:0,y:1,w:0,h:1},f,l;for(f in a)a.hasOwnProperty(f)&&(l=n.exec(r[f]),l&&(r[f]=u[a[f]]*l[1]/100));var c=e(t),h=[],p=!!r.furthest,d=!!r.checkHoriz,v=!!r.checkVert,m=p?0:Infinity,g=parseFloat(r.x)||0,y=parseFloat(r.y)||0,b=parseFloat(g+r.w)||g,w=parseFloat(y+r.h)||y,E=r.tolerance||0,S=!!e.fn.each2,x=Math.min,T=Math.max;!r.includeSelf&&i&&(c=c.not(i)),E<0&&(E=0),c[S?"each2":"each"](function(t,n){var r=S?n:e(this),i=r.offset(),s=i.left,o=i.top,u=r.outerWidth(),a=r.outerHeight(),f=s+u,l=o+a,c=T(s,g),N=x(f,b),C=T(o,y),k=x(l,w),L=N>=c,A=k>=C,O,M,_,D;if(d&&v||!d&&!v&&L&&A||d&&A||v&&L)O=L?0:c-N,M=A?0:C-k,_=L||A?T(O,M):Math.sqrt(O*O+M*M),D=p?_>=m-E:_<=m+E,D&&(m=p?T(m,_):x(m,_),h.push({node:this,dist:_}))});var N=h.length,C=[],k,L,A,O;if(N){p?(k=m-E,L=m):(k=m,L=m+E);for(A=0;A<N;A++)O=h[A],O.dist>=k&&O.dist<=L&&C.push(O.node)}return C}var n=/^([\d.]+)%$/;e.each(["nearest","furthest","touching"],function(n,i){var s={x:0,y:0,w:0,h:0,tolerance:1,container:document,furthest:i=="furthest",includeSelf:!1,checkHoriz:i!="touching",checkVert:i!="touching"};e[i]=function(n,i,o){if(!n||n.x===t||n.y===t)return e([]);var u=e.extend({},s,n,o||{});return e(r(i,u))},e.fn[i]=function(t,n){var i;if(t&&e.isPlainObject(t))return i=e.extend({},s,t,n||{}),this.pushStack(r(this,i));var o=this.offset(),u={x:o.left,y:o.top,w:this.outerWidth(),h:this.outerHeight()};return i=e.extend({},s,u,n||{}),this.pushStack(r(t,i,this))}})})(jQuery);
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-119-                        if (!self.allowMutations) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:120:                            throw new Error(`Observed state cannot be changed here! (key: "${key}", val: "${newVal}")`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-121-                        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-315-        if (expr.length) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:316:            throw new Error(`Tokenizer error: could not tokenize "${expr}"`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-317-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-389-                    token.originalValue = token.value;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:390:                    token.value = `scope['${token.value}']`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-391-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-445-            if (this.loopNumber === 0 && !this.hasKey0) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:446:                return `'${prefix}__${id}__'`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-447-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:448:            let key = `\`${prefix}__${id}__`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-449-            let start = this.hasKey0 ? 0 : 1;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-450-            for (let i = start; i < this.loopNumber + 1; i++) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:451:                key += `\${key${i}}__`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-452-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:453:            this.addLine(`let k${id} = ${key}\`;`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:454:            return `k${id}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-455-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-491-            if (!this.parentNode && this.rootContext.shouldDefineResult) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:492:                this.addLine(`result = vn${node};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-493-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-512-        addIf(condition) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:513:            this.addLine(`if (${condition}) {`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-514-            this.indent();
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-547-                        done.add(tok.varName);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:548:                        this.addLine(`const ${tok.varName}_${argId} = ${tok.value};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-549-                    }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:550:                    tok.value = `${tok.varName}_${argId}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-551-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-560-         * For instance:
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:561:         *   'Hello {{x}}!' -> `Hello ${x}`
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-562-         *   '{{x ? 'a': 'b'}}' -> (x ? 'a' : 'b')
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-566-            if (matches && matches[0].length === s.length) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:567:                return `(${this.formatExpression(s.slice(2, -2))})`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-568-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-576-            const scopeExpr = `Object.create(scope);`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:577:            this.addLine(`let _origScope${protectID} = scope;`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:578:            this.addLine(`scope = ${scopeExpr}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-579-            if (!codeBlock) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-585-            this.rootContext.protectedScopeNumber--;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:586:            this.addLine(`scope = _origScope${protectID};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-587-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1288-            script.onerror = function () {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1289:                reject(`Error loading file '${url}'`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1290-            };
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1455-                            msg +=
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1456:                                `\nThe error might be located at xml line ${lineNumber} column ${columnIndex}\n` +
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1457:                                    `${line}\n${"-".repeat(columnIndex - 1)}^`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1458-                        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1491-            if (directive.name in QWeb.DIRECTIVE_NAMES) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1492:                throw new Error(`Directive "${directive.name} already registered`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1493-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1502-            if (QWeb.components[name]) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1503:                throw new Error(`Component '${name}' has already been registered`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1504-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1513-            if (QWeb.TEMPLATES[name]) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1514:                throw new Error(`Template '${name}' has already been registered`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1515-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1551-            if (name in this.templates) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1552:                throw new Error(`Template ${name} already defined`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1553-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1607-            if (!template) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1608:                throw new Error(`Template ${name} does not exist`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1609-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1664-                ctx.shouldDefineResult = false;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1665:                ctx.addLine(`let c${ctx.parentNode} = extra.parentNode;`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1666-                if (options.defineKey) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1677-                    if (!ctx.rootNode) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1678:                        throw new Error(`A template should have one root node (${ctx.templateName})`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1679-                    }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1680:                    ctx.addLine(`return vn${ctx.rootNode};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1681-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1684-            const templateName = ctx.templateName.replace(/`/g, "'").slice(0, 200);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1685:            code.unshift(`    // Template name: "${templateName}"`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1686-            let template;
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1690-            catch (e) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1691:                console.groupCollapsed(`Invalid Code generated by ${templateName}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1692-                console.warn(code.join("\n"));
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1693-                console.groupEnd();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1694:                throw new Error(`Invalid generated code while compiling template '${templateName}': ${e.message}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1695-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1698-                if (tpl) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1699:                    const msg = `Template: ${tpl.elem.outerHTML}\nCompiled code:\n${template.toString()}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1700-                    console.log(msg);
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1725-                    if (node.nodeType === 3) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1726:                        ctx.addLine(`c${ctx.parentNode}.push({text: \`${text}\`});`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1727-                    }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1728-                    else if (node.nodeType === 8) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1729:                        ctx.addLine(`c${ctx.parentNode}.push(h('!', \`${text}\`));`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1730-                    }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1732-                else if (ctx.parentTextNode) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1733:                    ctx.addLine(`vn${ctx.parentTextNode}.text += \`${text}\`;`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1734-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1738-                    let nodeID = ctx.generateID();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1739:                    ctx.addLine(`let vn${nodeID} = {text: \`${text}\`};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1740:                    ctx.addLine(`result = vn${nodeID};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1741-                    ctx.rootContext.rootNode = nodeID;
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1758-            else if (node.tagName !== "t" && node.hasAttribute("t-component")) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1759:                throw new Error(`Directive 't-component' can only be used on <t> nodes (used on a <${node.tagName}>)`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1760-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1770-                    if (!(dName in QWeb.DIRECTIVE_NAMES)) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1771:                        throw new Error(`Unknown QWeb directive: '${attrName}'`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1772-                    }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1846-                if (Object.keys(nodeHooks).length) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1847:                    ctx.addLine(`p${nodeID}.hook = {`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1848-                    for (let hook in nodeHooks) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1849:                        ctx.addLine(`  ${hook}: ${NODE_HOOKS_PARAMS[hook]} => {`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1850-                        for (let handler of nodeHooks[hook]) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1851:                            ctx.addLine(`    ${handler}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1852-                        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1869-                ctx.rootContext.shouldDefineUtils = true;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1870:                ctx.addLine(`utils.addNameSpace(vn${ctx.parentNode});`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1871-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1911-                if (isProp) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1912:                    props.push(`${key}: _${val}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1913-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1928-                                .split(/\s+/)
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1929:                                .map((a) => `'${escapeQuotes(a)}':true`)
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1930-                                .join(",");
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1931-                            if (classObj) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1932:                                ctx.addLine(`Object.assign(${classObj}, {${classDef}})`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1933-                            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1934-                            else {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1935:                                classObj = `_${ctx.generateID()}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1936:                                ctx.addLine(`let ${classObj} = {${classDef}};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1937-                            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1940-                    else {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1941:                        ctx.addLine(`let _${attID} = '${escapeQuotes(value)}';`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1942-                        if (!name.match(/^[a-zA-Z]+$/)) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1945-                        }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1946:                        attrs.push(`${name}: _${attID}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1947-                        handleProperties(name, attID);
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1953-                    const v = ctx.getValue(value);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1954:                    let formattedValue = typeof v === "string" ? ctx.formatExpression(v) : `scope.${v.id}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1955-                    if (attName === "class") {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1956-                        ctx.rootContext.shouldDefineUtils = true;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1957:                        formattedValue = `utils.toObj(${formattedValue})`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1958-                        if (classObj) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1959:                            ctx.addLine(`Object.assign(${classObj}, ${formattedValue})`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1960-                        }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1961-                        else {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1962:                            classObj = `_${ctx.generateID()}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1963:                            ctx.addLine(`let ${classObj} = ${formattedValue};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1964-                        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1976-                            const attValueID = ctx.generateID();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1977:                            ctx.addLine(`let _${attValueID} = ${formattedValue};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1978:                            formattedValue = `'${attValue}' + (_${attValueID} ? ' ' + _${attValueID} : '')`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1979-                            const attrIndex = attrs.findIndex((att) => att.startsWith(attName + ":"));
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1981-                        }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1982:                        ctx.addLine(`let _${attID} = ${formattedValue};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1983:                        attrs.push(`${attName}: _${attID}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1984-                        handleProperties(attName, attID);
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1996-                    if (staticVal) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:1997:                        ctx.addLine(`let _${attID} = '${staticVal} ' + ${formattedExpr};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1998-                    }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-1999-                    else {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2000:                        ctx.addLine(`let _${attID} = ${formattedExpr};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2001-                    }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2002:                    attrs.push(`${attName}: _${attID}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2003-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2006-                    let id = ctx.generateID();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2007:                    ctx.addLine(`let _${id} = ${ctx.formatExpression(value)};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2008-                    tattrs.push(id);
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2011-            let nodeID = ctx.generateID();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2012:            let key = ctx.loopNumber || ctx.hasKey0 ? `\`\${key${ctx.loopNumber}}_${nodeID}\`` : nodeID;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2013:            const parts = [`key:${key}`];
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2014-            if (attrs.length + tattrs.length > 0) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2015:                parts.push(`attrs:{${attrs.join(",")}}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2016-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2017-            if (props.length > 0) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2018:                parts.push(`props:{${props.join(",")}}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2019-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2020-            if (classObj) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2021:                parts.push(`class:${classObj}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2022-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2025-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2026:            ctx.addLine(`let c${nodeID} = [], p${nodeID} = {${parts.join(",")}};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2027-            for (let id of tattrs) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2028:                ctx.addIf(`_${id} instanceof Array`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2029:                ctx.addLine(`p${nodeID}.attrs[_${id}[0]] = _${id}[1];`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2030-                ctx.addElse();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2031:                ctx.addLine(`for (let key in _${id}) {`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2032-                ctx.indent();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2033:                ctx.addLine(`p${nodeID}.attrs[key] = _${id}[key];`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2034-                ctx.dedent();
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2037-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2038:            ctx.addLine(`let vn${nodeID} = h('${node.nodeName}', p${nodeID}, c${nodeID});`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2039-            if (ctx.parentNode) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2040:                ctx.addLine(`c${ctx.parentNode}.push(vn${nodeID});`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2041-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2043-                ctx.rootContext.shouldDefineResult = true;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2044:                ctx.addLine(`result = vn${nodeID};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2045-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2133-                    : `...scope[utils.zero]`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2134:                ctx.addLine(`c${ctx.parentNode}.push(${zeroArgs});`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2135-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2139-        if (typeof value === "string") {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2140:            exprID = `_${ctx.generateID()}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2141:            ctx.addLine(`let ${exprID} = ${ctx.formatExpression(value)};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2142-        }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2143-        else {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2144:            exprID = `scope.${value.id}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2145-        }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2146:        ctx.addIf(`${exprID} != null`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2147-        if (ctx.escaping) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2151-                protectID = ctx.startProtectScope();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2152:                ctx.addLine(`${exprID} = ${exprID} instanceof utils.VDomArray ? utils.vDomToString(${exprID}) : ${exprID};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2153-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2154-            if (ctx.parentTextNode) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2155:                ctx.addLine(`vn${ctx.parentTextNode}.text += ${exprID};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2156-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2157-            else if (ctx.parentNode) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2158:                ctx.addLine(`c${ctx.parentNode}.push({text: ${exprID}});`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2159-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2163-                ctx.rootContext.parentTextNode = nodeID;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2164:                ctx.addLine(`let vn${nodeID} = {text: ${exprID}};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2165-                if (ctx.rootContext.shouldDefineResult) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2166:                    ctx.addLine(`result = vn${nodeID}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2167-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2175-            if (value.hasBody) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2176:                ctx.addLine(`const vnodeArray = ${exprID} instanceof utils.VDomArray ? ${exprID} : utils.htmlToVDOM(${exprID});`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2177:                ctx.addLine(`c${ctx.parentNode}.push(...vnodeArray);`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2178-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2179-            else {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2180:                ctx.addLine(`c${ctx.parentNode}.push(...utils.htmlToVDOM(${exprID}));`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2181-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2221-            qwebvar.id = variable;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2222:            qwebvar.expr = `scope.${variable}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2223-            if (value) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2227-                    ctx.rootContext.shouldDefineUtils = true;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2228:                    scopeExpr = `utils.getScope(scope, '${variable}')`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2229-                }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2230:                ctx.addLine(`${scopeExpr}.${variable} = ${formattedValue};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2231-                qwebvar.value = formattedValue;
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2235-                if (value) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2236:                    ctx.addIf(`!(${qwebvar.expr})`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2237-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2240-                ctx.parentNode = tempParentNodeID;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2241:                ctx.addLine(`let c${tempParentNodeID} = new utils.VDomArray();`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2242-                const nodeCopy = node.cloneNode(true);
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2246-                qweb._compileNode(nodeCopy, ctx);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2247:                ctx.addLine(`${qwebvar.expr} = c${tempParentNodeID}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2248:                qwebvar.value = `c${tempParentNodeID}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2249-                qwebvar.hasBody = true;
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2265-            let cond = ctx.getValue(node.getAttribute("t-if"));
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2266:            ctx.addIf(typeof cond === "string" ? ctx.formatExpression(cond) : `scope.${cond.id}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2267-            return false;
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2277-            let cond = ctx.getValue(node.getAttribute("t-elif"));
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2278:            ctx.addLine(`else if (${typeof cond === "string" ? ctx.formatExpression(cond) : `scope.${cond.id}`}) {`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2279-            ctx.indent();
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2312-            if (!isDynamic && !nodeTemplate) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2313:                throw new Error(`Cannot find template "${subTemplate}" (t-call)`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2314-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2319-                const _id = ctx.generateID();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2320:                ctx.addLine(`let tname${_id} = ${ctx.interpolate(subTemplate)};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2321:                ctx.addLine(`let tid${_id} = this.subTemplates[tname${_id}];`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2322:                ctx.addIf(`!tid${_id}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2323:                ctx.addLine(`tid${_id} = this.constructor.nextId++;`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2324:                ctx.addLine(`this.subTemplates[tname${_id}] = tid${_id};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2325:                ctx.addLine(`this.constructor.subTemplates[tid${_id}] = this._compile(tname${_id}, {hasParent: true, defineKey: true});`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2326-                ctx.closeIf();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2327:                subIdstr = `tid${_id}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2328-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2336-                }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2337:                subIdstr = `'${subId}'`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2338-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2364-            const key = ctx.generateTemplateKey();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2365:            const parentNode = ctx.parentNode ? `c${ctx.parentNode}` : "result";
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2366:            const extra = `Object.assign({}, extra, {parentNode: ${parentNode}, parent: ${parentComponent}, key: ${key}})`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2367-            if (ctx.parentNode) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2368:                ctx.addLine(`this.constructor.subTemplates[${subIdstr}].call(this, scope, ${extra});`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2369-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2373-                ctx.addLine(`result = []`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2374:                ctx.addLine(`this.constructor.subTemplates[${subIdstr}].call(this, scope, ${extra});`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2375-                ctx.addLine(`result = result[0]`);
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2399-            let arrayID = ctx.generateID();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2400:            ctx.addLine(`let _${arrayID} = ${ctx.formatExpression(elems)};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2401:            ctx.addLine(`if (!_${arrayID}) { throw new Error('QWeb error: Invalid loop expression')}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2402-            let keysID = ctx.generateID();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2403-            let valuesID = ctx.generateID();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2404:            ctx.addLine(`let _${keysID} = _${valuesID} = _${arrayID};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2405:            ctx.addIf(`!(_${arrayID} instanceof Array)`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2406:            ctx.addLine(`_${keysID} = Object.keys(_${arrayID});`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2407:            ctx.addLine(`_${valuesID} = Object.values(_${arrayID});`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2408-            ctx.closeIf();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2409:            ctx.addLine(`let _length${keysID} = _${keysID}.length;`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2410-            let varsID = ctx.startProtectScope(true);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2411:            const loopVar = `i${ctx.loopNumber}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2412:            ctx.addLine(`for (let ${loopVar} = 0; ${loopVar} < _length${keysID}; ${loopVar}++) {`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2413-            ctx.indent();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2414:            ctx.addLine(`scope.${name}_first = ${loopVar} === 0`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2415:            ctx.addLine(`scope.${name}_last = ${loopVar} === _length${keysID} - 1`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2416:            ctx.addLine(`scope.${name}_index = ${loopVar}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2417:            ctx.addLine(`scope.${name} = _${keysID}[${loopVar}]`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2418:            ctx.addLine(`scope.${name}_value = _${valuesID}[${loopVar}]`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2419-            const nodeCopy = node.cloneNode(true);
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2424-            if (shouldWarn) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2425:                console.warn(`Directive t-foreach should always be used with a t-key! (in template: '${ctx.templateName}')`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2426-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2428-                const expr = ctx.formatExpression(nodeCopy.getAttribute("t-key"));
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2429:                ctx.addLine(`let key${ctx.loopNumber} = ${expr};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2430-                nodeCopy.removeAttribute("t-key");
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2432-            else {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2433:                ctx.addLine(`let key${ctx.loopNumber} = i${ctx.loopNumber};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2434-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2460-            const expr = ctx.formatExpression(value);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2461:            ctx.addLine(`console.log(${expr})`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2462-        },
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2510-                const argId = ctx.generateID();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2511:                ctx.addLine(`let args${argId} = [${ctx.formatExpression(args)}];`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2512:                code = `${comp}['${name}'](...args${argId}, e);`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2513-                putInCache = false;
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2515-            else {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2516:                code = `${comp}['${name}'](e);`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2517-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2525-        const modCode = mods.map((mod) => modcodes[mod]).join("");
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2526:        let handler = `function (e) {if (!context.__owl__.isMounted){return}${modCode}${code}}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2527-        if (putInCache) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2528-            const key = ctx.generateTemplateKey(event);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2529:            ctx.addLine(`extra.handlers[${key}] = extra.handlers[${key}] || ${handler};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2530:            handler = `extra.handlers[${key}]`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2531-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2538-            const { event, handler } = makeHandlerCode(ctx, fullName, value, true);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2539:            ctx.addLine(`p${nodeID}.on['${event}'] = ${handler};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2540-        },
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2549-            ctx.rootContext.shouldDefineRefs = true;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2550:            const refKey = `ref${ctx.generateID()}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2551:            ctx.addLine(`const ${refKey} = ${ctx.interpolate(value)};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2552:            addNodeHook("create", `context.__owl__.refs[${refKey}] = n.elm;`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2553:            addNodeHook("destroy", `delete context.__owl__.refs[${refKey}];`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2554-        },
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2565-        // prevent from having twice the same node in the DOM during an animation
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2566:        const dup = elm.parentElement && elm.parentElement.querySelector(`*[data-owl-key='${vn.key}']`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2567-        if (dup) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2646-            const hooks = {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2647:                insert: `utils.transitionInsert(vn, '${name}');`,
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2648:                remove: `utils.transitionRemove(vn, '${name}', rm);`,
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2649-            };
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2662-            const slotKey = ctx.generateID();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2663:            ctx.addLine(`const slot${slotKey} = this.constructor.slots[context.__owl__.slotId + '_' + '${value}'];`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2664:            ctx.addIf(`slot${slotKey}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2665:            let parentNode = `c${ctx.parentNode}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2666-            if (!ctx.parentNode) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2668-                ctx.rootContext.shouldDefineUtils = true;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2669:                parentNode = `children${ctx.generateID()}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2670:                ctx.addLine(`let ${parentNode}= []`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2671-                ctx.addLine(`result = {}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2672-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2673:            ctx.addLine(`slot${slotKey}.call(this, context.__owl__.scope, Object.assign({}, extra, {parentNode: ${parentNode}, parent: extra.parent || context}));`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2674-            if (!ctx.parentNode) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2675:                ctx.addLine(`utils.defineProxy(result, ${parentNode}[0]);`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2676-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2721-                baseExpr = value.slice(0, index);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2722:                ctx.addLine(`let expr${nodeID} = ${ctx.formatExpression(baseExpr)};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2723:                expr = `expr${nodeID}${value.slice(index)}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2724-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2729-                baseExpr = value.slice(0, index);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2730:                ctx.addLine(`let expr${nodeID} = ${ctx.formatExpression(baseExpr)};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2731-                let exprKey = value.trimRight().slice(index + 1, -1);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2732:                ctx.addLine(`let exprKey${nodeID} = ${ctx.formatExpression(exprKey)};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2733:                expr = `expr${nodeID}[exprKey${nodeID}]`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2734-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2735-            else {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2736:                throw new Error(`Invalid t-model expression: "${value}" (it should be assignable)`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2737-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2739-            if (node.tagName === "select") {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2740:                ctx.addLine(`p${nodeID}.props = {value: ${expr}};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2741:                addNodeHook("create", `n.elm.value=${expr};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2742-                event = "change";
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2743:                handler = `(ev) => {${expr} = ev.target.value}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2744-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2745-            else if (type === "checkbox") {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2746:                ctx.addLine(`p${nodeID}.props = {checked: ${expr}};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2747:                handler = `(ev) => {${expr} = ev.target.checked}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2748-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2750-                const nodeValue = node.getAttribute("value");
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2751:                ctx.addLine(`p${nodeID}.props = {checked:${expr} === '${nodeValue}'};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2752:                handler = `(ev) => {${expr} = ev.target.value}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2753-                event = "click";
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2755-            else {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2756:                ctx.addLine(`p${nodeID}.props = {value: ${expr}};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2757-                const trimCode = fullName.includes(".trim") ? ".trim()" : "";
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2758:                let valueCode = `ev.target.value${trimCode}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2759-                if (fullName.includes(".number")) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2760-                    ctx.rootContext.shouldDefineUtils = true;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2761:                    valueCode = `utils.toNumber(${valueCode})`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2762-                }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2763:                handler = `(ev) => {${expr} = ${valueCode}}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2764-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2765:            ctx.addLine(`extra.handlers[${key}] = extra.handlers[${key}] || (${handler});`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2766:            ctx.addLine(`p${nodeID}.on['${event}'] = extra.handlers[${key}];`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2767-        },
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2781-            ctx.indent();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2782:            ctx.addLine(`let key${ctx.loopNumber} = ${ctx.formatExpression(value)};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2783-        },
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2801-                const url = `https://github.com/odoo/owl/blob/master/doc/reference/config.md#mode`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:2802:                console.warn(`Owl is running in 'dev' mode.  This is not suitable for production use. See ${url} for more information.`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-2803-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3033-        atNodeEncounter({ ctx, value, node, qweb }) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3034:            ctx.addLine(`// Component '${value}'`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3035-            ctx.rootContext.shouldDefineQWeb = true;
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3073-                ctx.rootContext.shouldDefineRefs = true;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3074:                refKey = `ref${ctx.generateID()}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3075:                ctx.addLine(`const ${refKey} = ${ctx.interpolate(ref)};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3076:                refExpr = `context.__owl__.refs[${refKey}] = w${componentID};`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3077-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3078:            let finalizeComponentCode = `w${componentID}.destroy();`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3079-            if (ref) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3080:                finalizeComponentCode += `delete context.__owl__.refs[${refKey}];`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3081-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3094-            if (tattStyle) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3095:                const attVar = `_${ctx.generateID()}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3096:                ctx.addLine(`const ${attVar} = ${ctx.formatExpression(tattStyle)};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3097-                tattStyle = attVar;
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3104-                        .split(/\s+/)
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3105:                        .map((a) => `'${a}':true`)
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3106-                        .join(",");
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3107:                    classObj = `_${ctx.generateID()}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3108:                    ctx.addLine(`let ${classObj} = {${classDef}};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3109-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3112-                    if (tattExpr[0] !== "{" || tattExpr[tattExpr.length - 1] !== "}") {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3113:                        tattExpr = `utils.toObj(${tattExpr})`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3114-                    }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3115-                    if (classAttr) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3116:                        ctx.addLine(`Object.assign(${classObj}, ${tattExpr})`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3117-                    }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3118-                    else {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3119:                        classObj = `_${ctx.generateID()}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3120:                        ctx.addLine(`let ${classObj} = ${tattExpr};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3121-                    }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3128-                    if (capture) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3129:                        return `vn.elm.addEventListener('${event}', ${handler}, true);`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3130-                    }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3131:                    return `vn.elm.addEventListener('${event}', ${handler});`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3132-                })
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3133-                    .join("");
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3134:                const styleExpr = tattStyle || (styleAttr ? `'${styleAttr}'` : false);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3135:                const styleCode = styleExpr ? `vn.elm.style = ${styleExpr};` : "";
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3136:                createHook = `utils.assignHooks(vnode.data, {create(_, vn){${styleCode}${eventsCode}}});`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3137-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3138:            ctx.addLine(`let w${componentID} = ${templateKey} in parent.__owl__.cmap ? parent.__owl__.children[parent.__owl__.cmap[${templateKey}]] : false;`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3139-            let shouldProxy = !ctx.parentNode;
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3144-                ctx.rootContext.shouldDefineResult = true;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3145:                ctx.addLine(`let vn${id} = {};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3146:                ctx.addLine(`result = vn${id};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3147-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3149-                const dynamicProp = ctx.formatExpression(node.getAttribute("t-props"));
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3150:                ctx.addLine(`let props${componentID} = Object.assign({${propStr}}, ${dynamicProp});`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3151-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3152-            else {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3153:                ctx.addLine(`let props${componentID} = {${propStr}};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3154-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3155:            ctx.addIf(`w${componentID} && w${componentID}.__owl__.currentFiber && !w${componentID}.__owl__.vnode`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3156:            ctx.addLine(`w${componentID}.destroy();`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3157:            ctx.addLine(`w${componentID} = false;`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3158-            ctx.closeIf();
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3160-            if (shouldProxy) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3161:                registerCode = `utils.defineProxy(vn${ctx.rootNode}, pvnode);`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3162-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3165-            let scope = hasSlots ? `Object.assign(Object.create(context), scope)` : "undefined";
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3166:            ctx.addIf(`w${componentID}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3167-            // need to update component
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3169-            if (tattStyle) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3170:                styleCode = `.then(()=>{if (w${componentID}.__owl__.isDestroyed) {return};w${componentID}.el.style=${tattStyle};});`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3171-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3172:            ctx.addLine(`w${componentID}.__updateProps(props${componentID}, extra.fiber, ${scope})${styleCode};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3173:            ctx.addLine(`let pvnode = w${componentID}.__owl__.pvnode;`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3174-            if (registerCode) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3177-            if (ctx.parentNode) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3178:                ctx.addLine(`c${ctx.parentNode}.push(pvnode);`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3179-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3183-            if (!value.match(INTERP_REGEXP)) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3184:                dynamicFallback = `|| ${ctx.formatExpression(value)}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3185-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3186-            const interpValue = ctx.interpolate(value);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3187:            ctx.addLine(`let componentKey${componentID} = ${interpValue};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3188:            ctx.addLine(`let W${componentID} = context.constructor.components[componentKey${componentID}] || QWeb.components[componentKey${componentID}]${dynamicFallback};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3189-            // maybe only do this in dev mode...
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3190:            ctx.addLine(`if (!W${componentID}) {throw new Error('Cannot find the definition of component "' + componentKey${componentID} + '"')}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3191:            ctx.addLine(`w${componentID} = new W${componentID}(parent, props${componentID});`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3192-            if (transition) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3193:                ctx.addLine(`const __patch${componentID} = w${componentID}.__patch;`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3194:                ctx.addLine(`w${componentID}.__patch = (t, vn) => {__patch${componentID}.call(w${componentID}, t, vn); if(!w${componentID}.__owl__.transitionInserted){w${componentID}.__owl__.transitionInserted = true;utils.transitionInsert(w${componentID}.__owl__.vnode, '${transition}');}};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3195-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3196:            ctx.addLine(`parent.__owl__.cmap[${templateKey}] = w${componentID}.__owl__.id;`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3197-            if (hasSlots) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3215-                const slotId = QWeb.nextSlotId++;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3216:                ctx.addLine(`w${componentID}.__owl__.slotId = ${slotId};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3217-                if (slotNodes.length) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3241-                        slotNode.parentElement.removeChild(slotNode);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3242:                        const slotFn = qweb._compile(`slot_${key}_template`, { elem: slotNode, hasParent: true });
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3243:                        QWeb.slots[`${slotId}_${key}`] = slotFn;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3244-                    }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3251-                    const slotFn = qweb._compile(`slot_default_template`, { elem: t, hasParent: true });
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3252:                    QWeb.slots[`${slotId}_default`] = slotFn;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3253-                }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3254-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3255:            ctx.addLine(`let fiber = w${componentID}.__prepare(extra.fiber, ${scope}, () => { const vnode = fiber.vnode; pvnode.sel = vnode.sel; ${createHook}});`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3256-            // hack: specify empty remove hook to prevent the node from being removed from the DOM
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3257:            const insertHook = refExpr ? `insert(vn) {${refExpr}},` : "";
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3258:            ctx.addLine(`let pvnode = h('dummy', {key: ${templateKey}, hook: {${insertHook}remove() {},destroy(vn) {${finalizeComponentCode}}}});`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3259-            if (registerCode) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3262-            if (ctx.parentNode) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3263:                ctx.addLine(`c${ctx.parentNode}.push(pvnode);`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3264-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3265:            ctx.addLine(`w${componentID}.__owl__.pvnode = pvnode;`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3266-            ctx.closeIf();
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3267-            if (classObj) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3268:                ctx.addLine(`w${componentID}.__owl__.classObj=${classObj};`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3269-            }
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3270:            ctx.addLine(`w${componentID}.__owl__.parentLastFiberId = extra.fiber.id;`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3271-            return true;
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3542-                        if (target.tagName.toLowerCase() !== fiber.vnode.sel) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3543:                            throw new Error(`Cannot attach '${component.constructor.name}' to target node (not same tag name)`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3544-                        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3670-                if (!(propName in props)) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3671:                    throw new Error(`Missing props '${propsDef[i]}' (component '${Widget.name}')`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3672-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3675-                if (!propsDef.includes(key) && !propsDef.includes(key + "?")) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3676:                    throw new Error(`Unknown prop '${key}' given to component '${Widget.name}'`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3677-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3684-                    if (propsDef[propName] && !propsDef[propName].optional) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3685:                        throw new Error(`Missing props '${propName}' (component '${Widget.name}')`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3686-                    }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3695-                catch (e) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3696:                    e.message = `Invalid prop '${propName}' in component ${Widget.name} (${e.message})`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3697-                    throw e;
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3699-                if (!isValid) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3700:                    throw new Error(`Invalid Prop '${propName}' in component '${Widget.name}'`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3701-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3704-                if (!(propName in propsDef)) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3705:                    throw new Error(`Unknown prop '${propName}' given to component '${Widget.name}'`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3706-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3757-                    if (!(propName in shape)) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3758:                        throw new Error(`unknown prop '${propName}'`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3759-                    }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3826-        if (!sheet) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:3827:            throw new Error(`Invalid css stylesheet for component '${name}'. Did you forget to use the 'css' tag helper?`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-3828-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-4034-            if (!(target instanceof HTMLElement || target instanceof DocumentFragment)) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:4035:                let message = `Component '${this.constructor.name}' cannot be mounted: the target is not a valid DOM node.`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-4036-                message += `\nMaybe the DOM is not ready yet? (in that case, you can use owl.utils.whenReady)`;
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-4311-                if (p === Component) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:4312:                    throw new Error(`Could not find template for component "${this.constructor.name}"`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-4313-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-4376-                if (!vnode) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:4377:                    throw new Error(`Rendering '${this.constructor.name}' did not return anything`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-4378-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-4734-            if (!this.actions[action]) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:4735:                throw new Error(`[Error] action ${action} is undefined`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-4736-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-4751-        if (!(store instanceof Store)) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:4752:            throw new Error(`No store found when connecting '${component.constructor.name}'`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-4753-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-4836-    function xml(strings, ...args) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:4837:        const name = `__template__${QWeb.nextId++}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-4838-        const value = String.raw(strings, ...args);
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-4851-    function css(strings, ...args) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:4852:        const name = `__sheet__${QWeb.nextId++}`;
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-4853-        const value = String.raw(strings, ...args);
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-4934-            if (countRealNodes !== 1) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:4935:                throw new Error(`Portal must have exactly one non-text child (has ${countRealNodes})`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-4936-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-4942-            if (!this.target || !document.contains(this.target)) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:4943:                throw new Error(`Could not find any match for "${this.props.target}"`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-4944-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-5169-            if ((!dest.path && !dest.to) || (dest.path && dest.to)) {
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js:5170:                throw new Error(`Invalid destination: ${JSON.stringify(dest)}`);
odoo-14.0.0+dfsg/addons/web/static/lib/owl/owl.js-5171-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/pdfjs/web/debugger.js-23-  function removeSelection() {
odoo-14.0.0+dfsg/addons/web/static/lib/pdfjs/web/debugger.js:24:    let divs = document.querySelectorAll(`span[${fontAttribute}]`);
odoo-14.0.0+dfsg/addons/web/static/lib/pdfjs/web/debugger.js-25-    for (let div of divs) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/pdfjs/web/debugger.js-29-  function resetSelection() {
odoo-14.0.0+dfsg/addons/web/static/lib/pdfjs/web/debugger.js:30:    let divs = document.querySelectorAll(`span[${fontAttribute}]`);
odoo-14.0.0+dfsg/addons/web/static/lib/pdfjs/web/debugger.js-31-    for (let div of divs) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/lib/pdfjs/web/debugger.js-35-  function selectFont(fontName, show) {
odoo-14.0.0+dfsg/addons/web/static/lib/pdfjs/web/debugger.js:36:    let divs = document.querySelectorAll(`span[${fontAttribute}=${fontName}]`);
odoo-14.0.0+dfsg/addons/web/static/lib/pdfjs/web/debugger.js-37-    for (let div of divs) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/components/action_menus.js-65-            const callbackActions = (props.items.other || []).map(
odoo-14.0.0+dfsg/addons/web/static/src/js/components/action_menus.js:66:                action => Object.assign({ key: `action-${action.description}` }, action)
odoo-14.0.0+dfsg/addons/web/static/src/js/components/action_menus.js-67-            );
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/components/action_menus.js-81-                        Component,
odoo-14.0.0+dfsg/addons/web/static/src/js/components/action_menus.js:82:                        key: `registry-action-${registryActionId++}`,
odoo-14.0.0+dfsg/addons/web/static/src/js/components/action_menus.js-83-                        props: itemProps,
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/components/custom_checkbox.js-31-            super(...arguments);
odoo-14.0.0+dfsg/addons/web/static/src/js/components/custom_checkbox.js:32:            this._id = `checkbox-comp-${utils.generateID()}`;
odoo-14.0.0+dfsg/addons/web/static/src/js/components/custom_checkbox.js-33-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/components/datepicker.js-32-
odoo-14.0.0+dfsg/addons/web/static/src/js/components/datepicker.js:33:            this.datePickerId = `o_datepicker_${datePickerId++}`;
odoo-14.0.0+dfsg/addons/web/static/src/js/components/datepicker.js-34-            this.typeOfDate = 'date';
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/components/pager.js-71-        get value() {
odoo-14.0.0+dfsg/addons/web/static/src/js/components/pager.js:72:            return this.props.currentMinimum + (this.props.limit > 1 ? `-${this.maximum}` : '');
odoo-14.0.0+dfsg/addons/web/static/src/js/components/pager.js-73-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/control_panel_model_extension.js-386-                throw new Error(
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/control_panel_model_extension.js:387:                    `${this.env._t("Control panel model extension failed to evaluate domain")}:/n${JSON.stringify(err)}`
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/control_panel_model_extension.js-388-                );
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/control_panel_model_extension.js-634-                        comparisonOptionId: comparisonOption.id,
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/control_panel_model_extension.js:635:                        description: `${description}: ${comparisonOption.description}`,
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/control_panel_model_extension.js-636-                        dateFilterId,
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/control_panel_model_extension.js-1131-                        );
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/control_panel_model_extension.js:1132:                        facetDescription += `: ${description}`;
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/control_panel_model_extension.js-1133-                    }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/control_panel_model_extension.js-1199-            if (filter.type === 'field' && filter.isDefault && filter.fieldType === 'many2one') {
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/control_panel_model_extension.js:1200:                context[`default_${filter.fieldName}`] = filter.defaultAutocompleteValue.value;
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/control_panel_model_extension.js-1201-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/control_panel_model_extension.js-1236-                    return filterQueryElements.map(
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/control_panel_model_extension.js:1237:                        ({ optionId }) => `${fieldName}:${optionId}`
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/control_panel_model_extension.js-1238-                    );
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/custom_favorite_item.js-37-            const favId = favoriteId++;
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/custom_favorite_item.js:38:            this.useByDefaultId = `o_favorite_use_by_default_${favId}`;
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/custom_favorite_item.js:39:            this.shareAllUsersId = `o_favorite_share_all_users_${favId}`;
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/custom_favorite_item.js-40-
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/custom_filter_item.js-160-                    );
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/custom_filter_item.js:161:                    descriptionArray.push(`"${dateValue.join(" " + this.env._t("and") + " ")}"`);
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/custom_filter_item.js-162-                } else {
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/custom_filter_item.js-163-                    domainValue = [condition.value];
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/custom_filter_item.js:164:                    descriptionArray.push(`"${condition.value}"`);
odoo-14.0.0+dfsg/addons/web/static/src/js/control_panel/custom_filter_item.js-165-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/core/abstract_service.js-80-            if (serviceName in env.services || serviceName in UndeployedServices) {
odoo-14.0.0+dfsg/addons/web/static/src/js/core/abstract_service.js:81:                throw new Error(`Service ${serviceName} is already loaded.`);
odoo-14.0.0+dfsg/addons/web/static/src/js/core/abstract_service.js-82-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/core/ajax.js-479-            reason.event.preventDefault();
odoo-14.0.0+dfsg/addons/web/static/src/js/core/ajax.js:480:            throw `Unable to render the required templates for the assets to load: ${reason.message.message}`;
odoo-14.0.0+dfsg/addons/web/static/src/js/core/ajax.js-481-        });
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/core/dialog.js-15- *
odoo-14.0.0+dfsg/addons/web/static/src/js/core/dialog.js:16: * ``$footer``
odoo-14.0.0+dfsg/addons/web/static/src/js/core/dialog.js-17- *   A jQuery element targeting a dom part where buttons can be added. It
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/core/misc.js-187-    let {title='', message='', links=[], type='info', sticky=false, next} = action.params || {};
odoo-14.0.0+dfsg/addons/web/static/src/js/core/misc.js:188:    links = links.map(({url, label}) => `<a href="${_.escape(url)}" target="_blank">${_.escape(label)}</a>`)
odoo-14.0.0+dfsg/addons/web/static/src/js/core/misc.js-189-    parent.displayNotification({
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/core/patch_mixin.js-41-            if (unpatchList.find(x => x.name === name)) {
odoo-14.0.0+dfsg/addons/web/static/src/js/core/patch_mixin.js:42:                throw new Error(`Class ${OriginalClass.name} already has a patch ${name}`);
odoo-14.0.0+dfsg/addons/web/static/src/js/core/patch_mixin.js-43-            }
odoo-14.0.0+dfsg/addons/web/static/src/js/core/patch_mixin.js-44-            if (!Object.prototype.hasOwnProperty.call(this, 'patch')) {
odoo-14.0.0+dfsg/addons/web/static/src/js/core/patch_mixin.js:45:                throw new Error(`Class ${this.name} is not patchable`);
odoo-14.0.0+dfsg/addons/web/static/src/js/core/patch_mixin.js-46-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/core/patch_mixin.js-61-            if (!unpatchList.find(x => x.name === name)) {
odoo-14.0.0+dfsg/addons/web/static/src/js/core/patch_mixin.js:62:                throw new Error(`Class ${OriginalClass.name} does not have any patch ${name}`);
odoo-14.0.0+dfsg/addons/web/static/src/js/core/patch_mixin.js-63-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/core/popover.js-119-                .find((pos) => {
odoo-14.0.0+dfsg/addons/web/static/src/js/core/popover.js:120:                    this.popoverRef.el.style.top = `${pos.top}px`;
odoo-14.0.0+dfsg/addons/web/static/src/js/core/popover.js:121:                    this.popoverRef.el.style.left = `${pos.left}px`;
odoo-14.0.0+dfsg/addons/web/static/src/js/core/popover.js-122-                    const rect = this.popoverRef.el.getBoundingClientRect();
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/core/popover.js-133-            possiblePositions.forEach((pos) => {
odoo-14.0.0+dfsg/addons/web/static/src/js/core/popover.js:134:                this.popoverRef.el.classList.remove(`o_popover--${pos}`);
odoo-14.0.0+dfsg/addons/web/static/src/js/core/popover.js-135-            });
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/core/popover.js-138-                // apply the preferred found position that fits the viewport
odoo-14.0.0+dfsg/addons/web/static/src/js/core/popover.js:139:                this.popoverRef.el.classList.add(`o_popover--${position.name}`);
odoo-14.0.0+dfsg/addons/web/static/src/js/core/popover.js-140-            } else {
odoo-14.0.0+dfsg/addons/web/static/src/js/core/popover.js-141-                // use the given `position` props because no position fits
odoo-14.0.0+dfsg/addons/web/static/src/js/core/popover.js:142:                this.popoverRef.el.style.top = `${positioningData[this.props.position].top}px`;
odoo-14.0.0+dfsg/addons/web/static/src/js/core/popover.js:143:                this.popoverRef.el.style.left = `${positioningData[this.props.position].left}px`;
odoo-14.0.0+dfsg/addons/web/static/src/js/core/popover.js:144:                this.popoverRef.el.classList.add(`o_popover--${this.props.position}`);
odoo-14.0.0+dfsg/addons/web/static/src/js/core/popover.js-145-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/core/registry.js-53-            if (!this.predicate(value)) {
odoo-14.0.0+dfsg/addons/web/static/src/js/core/registry.js:54:                throw new Error(`Value of key "${key}" does not pass the addition predicate.`);
odoo-14.0.0+dfsg/addons/web/static/src/js/core/registry.js-55-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/core/session.js-255-                qweb.add_template(doc);
odoo-14.0.0+dfsg/addons/web/static/src/js/core/session.js:256:                self.owlTemplates = `<templates> ${owlTemplates.join('\n')} </templates>`;
odoo-14.0.0+dfsg/addons/web/static/src/js/core/session.js-257-            });
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/core/utils.js-221-            default: throw new Error(
odoo-14.0.0+dfsg/addons/web/static/src/js/core/utils.js:222:                `Expected criterion of type 'string' or 'function' and got '${typeof criterion}'`
odoo-14.0.0+dfsg/addons/web/static/src/js/core/utils.js-223-            );
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/core/utils.js-624-        if (metadata.patches[patchName]) {
odoo-14.0.0+dfsg/addons/web/static/src/js/core/utils.js:625:            throw new Error(`Patch [${patchName}] already exists`);
odoo-14.0.0+dfsg/addons/web/static/src/js/core/utils.js-626-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/core/utils.js-757-            for (const value in valuesDict) {
odoo-14.0.0+dfsg/addons/web/static/src/js/core/utils.js:758:                string = string.replace(`%(${value})s`, valuesDict[value]);
odoo-14.0.0+dfsg/addons/web/static/src/js/core/utils.js-759-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/core/widget.js-36- *         start: function() {
odoo-14.0.0+dfsg/addons/web/static/src/js/core/widget.js:37: *             // stuff you want to make after the rendering, `this.$el` holds a correct value
odoo-14.0.0+dfsg/addons/web/static/src/js/core/widget.js-38- *             this.$(".my_button").click(/* an example of event binding * /);
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/core/widget.js-329-    /**
odoo-14.0.0+dfsg/addons/web/static/src/js/core/widget.js:330:     * Helper method, for ``this.$el.find(selector)``
odoo-14.0.0+dfsg/addons/web/static/src/js/core/widget.js-331-     *
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/abstract_field.js-403-    _getClassFromDecoration: function (decoration) {
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/abstract_field.js:404:        return `text-${decoration.split('-')[1]}`;
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/abstract_field.js-405-    },
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/abstract_field_owl.js-453-        _getClassFromDecoration(decoration) {
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/abstract_field_owl.js:454:            return `text-${decoration.split('-')[1]}`;
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/abstract_field_owl.js-455-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/basic_fields.js-47-            var lang = _t.database.parameters.code.split('_')[0].toUpperCase();
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/basic_fields.js:48:            return $(`<span class="o_field_translate btn btn-link">${lang}</span>`)
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/basic_fields.js-49-                .on('click', this._onTranslate.bind(this));
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/basic_fields.js-987-        } else if (diffDays < 0) {
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/basic_fields.js:988:            text = diffDays === -1 ? _t("Yesterday") : _t(`${-diffDays} days ago`);
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/basic_fields.js-989-        } else {
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/basic_fields.js:990:            text = diffDays === 1 ? _t("Tomorrow") : _t(`In ${diffDays} days`);
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/basic_fields.js-991-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/basic_fields.js-1609-            const regex = /^(?:[fF]|[hH][tT])[tT][pP][sS]?:\/\//;
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/basic_fields.js:1610:            href = !regex.test(this.value) ? `http://${href}` : href;
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/basic_fields.js-1611-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/basic_fields_owl.js-20-        _getClassFromDecoration(decoration) {
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/basic_fields_owl.js:21:            return `bg-${decoration.split('-')[1]}-light`;
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/basic_fields_owl.js-22-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/field_utils.js-435-    };
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/field_utils.js:436:    const re = new RegExp(`^([+-])(\\d+)([${Object.keys(units).join('')}]?)$`);
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/field_utils.js-437-    const match = re.exec(value);
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/relational_fields.js-46-        this._super(parent, {
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/relational_fields.js:47:            title: _t(`New ${this.name}`),
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/relational_fields.js-48-            size: 'medium',
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/relational_fields.js-1015-            this.$el.html(qweb.render(this._template, {
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/relational_fields.js:1016:                url: `/web/image/${this.field.relation}/${this.value.res_id}/image_128`,
odoo-14.0.0+dfsg/addons/web/static/src/js/fields/relational_fields.js-1017-                value: this.m2o_value,
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/libs/content-disposition.js-76- */
odoo-14.0.0+dfsg/addons/web/static/src/js/libs/content-disposition.js:77:var PARAM_REGEXP = /;[\x09\x20]*([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*=[\x09\x20]*("(?:[\x20!\x23-\x5b\x5d-\x7e\x80-\xff]|\\[\x20-\x7e])*"|[!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*/g;
odoo-14.0.0+dfsg/addons/web/static/src/js/libs/content-disposition.js-78-
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/libs/content-disposition.js-99- */
odoo-14.0.0+dfsg/addons/web/static/src/js/libs/content-disposition.js:100:var EXT_VALUE_REGEXP = /^([A-Za-z0-9!#$%&+\-^_`{}~]+)'(?:[A-Za-z]{2,3}(?:-[A-Za-z]{3}){0,3}|[A-Za-z]{4,8}|)'((?:%[0-9A-Fa-f]{2}|[A-Za-z0-9!#$&+.^_`|~-])+)$/;
odoo-14.0.0+dfsg/addons/web/static/src/js/libs/content-disposition.js-101-
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/libs/fullcalendar.js-72-                    const el = createElement('div', {
odoo-14.0.0+dfsg/addons/web/static/src/js/libs/fullcalendar.js:73:                        class: `fc-month fc-month-${monthShortName}`,
odoo-14.0.0+dfsg/addons/web/static/src/js/libs/fullcalendar.js-74-                    });
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/libs/fullcalendar.js-194-                        const formattedDate = currentDate.format('YYYY-MM-DD');
odoo-14.0.0+dfsg/addons/web/static/src/js/libs/fullcalendar.js:195:                        const el = this.el.querySelector(`.fc-day-top[data-date="${formattedDate}"]`);
odoo-14.0.0+dfsg/addons/web/static/src/js/libs/fullcalendar.js-196-                        if (el) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/libs/jquery.js-105-    /**
odoo-14.0.0+dfsg/addons/web/static/src/js/libs/jquery.js:106:     * Allows to bind events to a handler just as the standard `$.on` function
odoo-14.0.0+dfsg/addons/web/static/src/js/libs/jquery.js-107-     * but binds the handler so that it is executed before any already-attached
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/libs/jquery.js-156-            const newValue = parseInt(style[cssProperty]) + scrollableEl.offsetWidth - scrollableEl.clientWidth;
odoo-14.0.0+dfsg/addons/web/static/src/js/libs/jquery.js:157:            el.style.setProperty(cssProperty, `${newValue}px`, 'important');
odoo-14.0.0+dfsg/addons/web/static/src/js/libs/jquery.js-158-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/model.js-240-            if (!registry || !(registry instanceof Registry)) {
odoo-14.0.0+dfsg/addons/web/static/src/js/model.js:241:                throw new Error(`Unimplemented registry on model "${name}".`);
odoo-14.0.0+dfsg/addons/web/static/src/js/model.js-242-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/model.js-272-            if (!Extension) {
odoo-14.0.0+dfsg/addons/web/static/src/js/model.js:273:                throw new Error(`Unknown model extension "${extensionName}" in model "${name}"`);
odoo-14.0.0+dfsg/addons/web/static/src/js/model.js-274-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/owl_compatibility.js-92-                    if (p !== 'Component') {
odoo-14.0.0+dfsg/addons/web/static/src/js/owl_compatibility.js:93:                        propsStr += ` ${p}="props.${p}"`;
odoo-14.0.0+dfsg/addons/web/static/src/js/owl_compatibility.js-94-                    }
odoo-14.0.0+dfsg/addons/web/static/src/js/owl_compatibility.js-95-                }
odoo-14.0.0+dfsg/addons/web/static/src/js/owl_compatibility.js:96:                template = tags.xml`<t t-component="props.Component"${propsStr}/>`;
odoo-14.0.0+dfsg/addons/web/static/src/js/owl_compatibility.js-97-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/public/public_widget.js-178-     * instance of this widget on page load for each DOM element which
odoo-14.0.0+dfsg/addons/web/static/src/js/public/public_widget.js:179:     * matches this selector. The `PublicWidget.$target` element will then be
odoo-14.0.0+dfsg/addons/web/static/src/js/public/public_widget.js-180-     * that particular DOM element. This should be the main way of instantiating
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/services/crash_manager.js-155-                } else {
odoo-14.0.0+dfsg/addons/web/static/src/js/services/crash_manager.js:156:                    traceback = `${_t("Error:")} ${ev.reason.message}\n${ev.reason.stack}`;
odoo-14.0.0+dfsg/addons/web/static/src/js/services/crash_manager.js-157-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js-65-            appMenuItems = document.querySelectorAll(xmlId ?
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js:66:                `a.o_app.o_menuitem[data-menu-xmlid="${xmlId}"]` :
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js-67-                'a.o_app.o_menuitem'
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js-71-            appMenuItems = document.querySelectorAll(xmlId ?
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js:72:                `a.o_app[data-menu-xmlid="${xmlId}"]` :
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js-73-                'a.o_app'
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js-134-        var startActionCount = clientActionCount;
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js:135:        await triggerClick(element, `menu item "${element.innerText.trim()}"`);
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js-136-        var isModal = false;
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js-183-            setTimeout(function () {
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js:184:                const target = document.querySelector(`nav.o_cp_switch_buttons > button.o_switch_view.o_${viewType}`);
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js-185-                if (target) {
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js:186:                    triggerClick(target, `${viewType} view switcher`);
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js-187-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js-206-        // Open the filter menu dropdown
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js:207:        await triggerClick(filterMenuButton, `toggling menu "${filterMenuButton.innerText.trim()}"`);
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js-208-
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js-214-            const filterLink = filter.querySelector('a');
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js:215:            await triggerClick(filterLink, `filter "${filter.innerText.trim()}"`);
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js-216-            if (filterLink.classList.contains('o_menu_item_parent')) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js-220-                console.log();
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js:221:                await triggerClick(firstOption, `filter option "${firstOption.innerText.trim()}"`);
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js-222-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js-292-        } else {
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js:293:            throw new Error(`No element "${elDescription}" found.`);
odoo-14.0.0+dfsg/addons/web/static/src/js/tools/test_menus.js-294-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/abstract_renderer.js-20-    '[tabindex="0"]'
odoo-14.0.0+dfsg/addons/web/static/src/js/views/abstract_renderer.js:21:].map((sel) => `:scope ${sel}`).join(', ');
odoo-14.0.0+dfsg/addons/web/static/src/js/views/abstract_renderer.js-22-
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/abstract_renderer.js-188-        for (const selector of this.sampleDataTargets) {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/abstract_renderer.js:189:            rootEls.push(...this.el.querySelectorAll(`:scope ${selector}`));
odoo-14.0.0+dfsg/addons/web/static/src/js/views/abstract_renderer.js-190-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/abstract_renderer_owl.js-12-        '[tabindex="0"]'
odoo-14.0.0+dfsg/addons/web/static/src/js/views/abstract_renderer_owl.js:13:    ].map((sel) => `:scope ${sel}`).join(', ');
odoo-14.0.0+dfsg/addons/web/static/src/js/views/abstract_renderer_owl.js-14-
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/abstract_renderer_owl.js-50-            for (const selector of this.sampleDataTargets) {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/abstract_renderer_owl.js:51:                rootEls.push(...this.el.querySelectorAll(`:scope ${selector}`));
odoo-14.0.0+dfsg/addons/web/static/src/js/views/abstract_renderer_owl.js-52-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/basic/basic_model.js-3958-            groupsOffset: 0,
odoo-14.0.0+dfsg/addons/web/static/src/js/views/basic/basic_model.js:3959:            id: `${params.modelName}_${++this.__id}`,
odoo-14.0.0+dfsg/addons/web/static/src/js/views/basic/basic_model.js-3960-            isOpen: params.isOpen,
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/calendar/calendar_controller.js-465-        }
odoo-14.0.0+dfsg/addons/web/static/src/js/views/calendar/calendar_controller.js:466:        const title = `${this.displayName} (${event.data.title})`;
odoo-14.0.0+dfsg/addons/web/static/src/js/views/calendar/calendar_controller.js-467-        return this.updateControlPanel({ title });
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/calendar/calendar_renderer.js-456-                    } else if (typeof color === 'number') {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/calendar/calendar_renderer.js:457:                        element.addClass(`o_calendar_color_${color}`);
odoo-14.0.0+dfsg/addons/web/static/src/js/views/calendar/calendar_renderer.js-458-                    } else {
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/form/form_view.js-177-            if (!uid) {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/form/form_view.js:178:                uid = name in fv.fieldIdsToNames ? `${name}__${generateID()}__` : name;
odoo-14.0.0+dfsg/addons/web/static/src/js/views/form/form_view.js-179-                node.attrs.id = uid;
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/graph/graph_model.js-292-            if (interval) {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/graph/graph_model.js:293:                return `${fieldName}:${interval}`;
odoo-14.0.0+dfsg/addons/web/static/src/js/views/graph/graph_model.js-294-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/kanban/kanban_column_progressbar.js-62-        _.each(this.colors, function (val, key) {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/kanban/kanban_column_progressbar.js:63:            self.$bars[key] = self.$(`.progress-bar[data-filter=${key}]`);
odoo-14.0.0+dfsg/addons/web/static/src/js/views/kanban/kanban_column_progressbar.js-64-        });
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-689-            if (!th.style.width) {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js:690:                th.style.width = `${columnWidths[index]}px`;
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-691-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-703-    _getBorderRow: function (side) {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js:704:        let $borderDataRow = this.$(`.o_data_row:${side}`);
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-705-        if (!this._isRecordEditable($borderDataRow.data('id'))) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-711-     * Compute the sum of the weights for each column, given an array containing
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js:712:     * all relative widths. param `$thead` is useful for studio, in order to
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-713-     * show column hooks.
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-781-        if (name) {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js:782:            return this.el.querySelector(`thead th[data-name="${name}"]`);
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-783-        } else if (string) {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js:784:            return this.el.querySelector(`thead th[data-string="${string}"]`);
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-785-        } else if (icon) {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js:786:            return this.el.querySelector(`thead th[data-icon="${icon}"]`);
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-787-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-807-                }
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js:808:                $nearestRow = $nextBody.find(`.o_data_row:${next ? 'first' : 'last'}`);
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-809-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-1367-                }
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js:1368:                th.style.maxWidth = `${maxWidth}px`;
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-1369-                columnWidths[index] = maxWidth;
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-1700-        const th = ev.target.closest('th');
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js:1701:        table.style.width = `${table.offsetWidth}px`;
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-1702-        const thPosition = [...th.parentNode.children].indexOf(th);
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-1718-        if (!this.el.style.width) {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js:1719:            this.el.style.width = `${initialTableWidth}px`;
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-1720-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-1732-            const tableDelta = newWidth - initialWidth;
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js:1733:            th.style.width = `${newWidth}px`;
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js:1734:            table.style.width = `${initialTableWidth + tableDelta}px`;
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-1735-            if (optionalDropdown) {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js:1736:                optionalDropdown.style.left = `${initialDropdownX + tableDelta}px`;
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_editable_renderer.js-1737-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_renderer.js-314-                        attrs: {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_renderer.js:315:                            name: `button_group_${groupId++}`,
odoo-14.0.0+dfsg/addons/web/static/src/js/views/list/list_renderer.js-316-                            modifiers: {},
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js-33-    function fieldNameRegex(...terms) {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js:34:        return new RegExp(`\\b((\\w+)?_)?(${terms.join('|')})(_(\\w+)?)?\\b`);
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js-35-    }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js-103-            if (!(params.model in this.data)) {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js:104:                throw new Error(`SampleServer: unknown model ${params.model}`);
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js-105-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js-122-            const method = params.method || params.route;
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js:123:            const mockFunction = SampleServer.mockRegistry.get(`${params.model}/${method}`) ||
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js-124-                                 SampleServer.mockRegistry.get(method);
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js-127-            }
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js:128:            console.log(`SampleServer: unimplemented route "${params.method || params.route}"`);
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js-129-            throw new SampleServer.UnimplementedRouteError();
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js-217-                    } else if (["name", "reference"].includes(fieldName)) {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js:218:                        return `REF${String(id).padStart(4, '0')}`;
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js-219-                    } else if (DESCRIPTION_REGEX.test(fieldName)) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js-224-                            .toLowerCase();
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js:225:                        return `${emailName}@sample.demo`;
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js-226-                    } else if (PHONE_REGEX.test(fieldName)) {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js:227:                        return `+1 555 754 ${String(id).padStart(4, '0')}`;
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js-228-                    } else if (URL_REGEX.test(fieldName)) {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js:229:                        return `http://sample${id}.com`;
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js-230-                    }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js-435-                if (normalizedGroupBys.length && lazy) {
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js:436:                    countKey = `${normalizedGroupBys[0].fieldName}_count`;
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js-437-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js-619-                const recordsInGroup = records.filter(r => r[groupBy] === groupValue);
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js:620:                g[`${groupBy}_count`] = recordsInGroup.length;
odoo-14.0.0+dfsg/addons/web/static/src/js/views/sample_server.js-621-                for (const field of params.fields) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/colorpicker.js-47-        const $document = $(document);
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/colorpicker.js:48:        $document.on(`mousemove.${this.uniqueId}`, _.throttle((ev) => {
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/colorpicker.js-49-            this._onMouseMovePicker(ev);
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/colorpicker.js-52-        }, 50));
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/colorpicker.js:53:        $document.on(`mouseup.${this.uniqueId}`, _.throttle((ev) => {
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/colorpicker.js-54-            if (this.pickerFlag || this.sliderFlag || this.opacitySliderFlag) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/colorpicker.js-92-        this._super.apply(this, arguments);
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/colorpicker.js:93:        $(document).off(`.${this.uniqueId}`);
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/colorpicker.js-94-    },
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/colorpicker.js-549-        const bb = b < 16 ? '0' + b.toString(16) : b.toString(16);
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/colorpicker.js:550:        return (`#${rr}${gg}${bb}`).toUpperCase();
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/colorpicker.js-551-    }
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/colorpicker.js:552:    return `rgba(${r}, ${g}, ${b}, ${parseFloat((a / 100.0).toFixed(3))})`;
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/colorpicker.js-553-};
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/translation_dialog.js-35-            this.userLanguageValue = options.userLanguageValue;
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/translation_dialog.js:36:            this.domain.push(['name', "=", `${this.searchName}`]);
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/translation_dialog.js-37-            this.dataPointID = options.dataPointID;
##############################################
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/translation_dialog.js-44-                size: 'large',
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/translation_dialog.js:45:                title: _t('Translate: ') + `${this.fieldName}`,
odoo-14.0.0+dfsg/addons/web/static/src/js/widgets/translation_dialog.js-46-                buttons: [
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/component_extension_tests.js-75-                _onCustom1() {
odoo-14.0.0+dfsg/addons/web/static/tests/component_extension_tests.js:76:                    assert.step(`${this.constructor.name} custom1`);
odoo-14.0.0+dfsg/addons/web/static/tests/component_extension_tests.js-77-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/component_extension_tests.js-194-                _onCustom1() {
odoo-14.0.0+dfsg/addons/web/static/tests/component_extension_tests.js:195:                    assert.step(`${this.constructor.name} custom1`);
odoo-14.0.0+dfsg/addons/web/static/tests/component_extension_tests.js-196-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/component_extension_tests.js-205-                _onCustom1(event) {
odoo-14.0.0+dfsg/addons/web/static/tests/component_extension_tests.js:206:                    assert.step(`${this.constructor.name} custom1`);
odoo-14.0.0+dfsg/addons/web/static/tests/component_extension_tests.js-207-                    const detail = event.detail;
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/components/datepicker_tests.js-28-                ;
odoo-14.0.0+dfsg/addons/web/static/tests/components/datepicker_tests.js:29:            assert.strictEqual(input.dataset.target, `#${picker.el.id}`,
odoo-14.0.0+dfsg/addons/web/static/tests/components/datepicker_tests.js-30-                "DatePicker id should match its input target");
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/components/datepicker_tests.js-139-            assert.strictEqual(input.value, '01/09/1997 12:30:01', "Value should be the one given");
odoo-14.0.0+dfsg/addons/web/static/tests/components/datepicker_tests.js:140:            assert.strictEqual(input.dataset.target, `#${picker.el.id}`,
odoo-14.0.0+dfsg/addons/web/static/tests/components/datepicker_tests.js-141-                "DateTimePicker id should match its input target");
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/components/pager_tests.js-126-                assert.strictEqual(cpHelpers.getPagerValue(pager), expected,
odoo-14.0.0+dfsg/addons/web/static/tests/components/pager_tests.js:127:                    `Pager value should be "${expected}" when given "${input}": ${reason}`);
odoo-14.0.0+dfsg/addons/web/static/tests/components/pager_tests.js-128-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/control_panel/control_panel_tests.js-157-                assert.strictEqual(matches.length, shouldContain ? 1 : 0,
odoo-14.0.0+dfsg/addons/web/static/tests/control_panel/control_panel_tests.js:158:                    `${selector} in the control panel should${shouldContain ? '' : ' not'} contain "${value}".`
odoo-14.0.0+dfsg/addons/web/static/tests/control_panel/control_panel_tests.js-159-                );
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/control_panel/filter_menu_tests.js-276-                    assert.ok(cpHelpers.isOptionSelected(controlPanel, 0, index),
odoo-14.0.0+dfsg/addons/web/static/tests/control_panel/filter_menu_tests.js:277:                        `at step ${steps.indexOf(s) + 1}, option ${expectedDescriptions[index]} should be selected`);
odoo-14.0.0+dfsg/addons/web/static/tests/control_panel/filter_menu_tests.js-278-                });
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/control_panel/search_bar_tests.js-545-            this.data.partner.records.forEach((record, i) => {
odoo-14.0.0+dfsg/addons/web/static/tests/control_panel/search_bar_tests.js:546:                record.ref = `ref${String(i).padStart(3, "0")}`;
odoo-14.0.0+dfsg/addons/web/static/tests/control_panel/search_bar_tests.js-547-            });
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/core/owl_dialog_tests.js-175-                _onDialogClosed(id) {
odoo-14.0.0+dfsg/addons/web/static/tests/core/owl_dialog_tests.js:176:                    assert.step(`dialog_${id}_closed`);
odoo-14.0.0+dfsg/addons/web/static/tests/core/owl_dialog_tests.js-177-                    this.dialogIds.splice(this.dialogIds.findIndex(d => d === id), 1);
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/core/popover_tests.js-70-                const hasCorrectClass = popover.classList.contains(
odoo-14.0.0+dfsg/addons/web/static/tests/core/popover_tests.js:71:                    `o_popover--${position}`
odoo-14.0.0+dfsg/addons/web/static/tests/core/popover_tests.js-72-                );
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/core/util_tests.js-52-        assert.deepEqual(
odoo-14.0.0+dfsg/addons/web/static/tests/core/util_tests.js:53:            groupBy(["a", "b", 1, true], (x) => `el${x}`),
odoo-14.0.0+dfsg/addons/web/static/tests/core/util_tests.js-54-            {
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-2679-                }
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js:2680:                if (route === `data:image/png;base64,${MY_IMAGE}`) {
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-2681-                    assert.ok(true, "should called the correct route");
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-2807-            async mockRPC(route) {
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js:2808:                if (route === `data:image/png;base64,${MY_IMAGE}`) {
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-2809-                    assert.step("The view's image should have been fetched");
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-2811-                }
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js:2812:                if (route === `data:image/gif;base64,${PRODUCT_IMAGE}`) {
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-2813-                    assert.step("The dialog's image should have been fetched");
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-2852-            async mockRPC(route) {
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js:2853:                if (route === `data:image/gif;base64,${PRODUCT_IMAGE}`) {
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-2854-                    assert.ok(true, "The list's image should have been fetched");
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-4920-
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js:4921:        var dollarValues = list.$('td').filter(function () {return _.str.include($(this).text(), '$');});
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-4922-        assert.strictEqual(dollarValues.length, 1,
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-4924-
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js:4925:        var euroValues = list.$('td').filter(function () {return _.str.include($(this).text(), '€');});
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-4926-        assert.strictEqual(euroValues.length, 1,
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-6569-            '10%', "should have 10% as pie value since int_field=10");
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js:6570:        assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').first().attr('style'),
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-6571-            'transform: rotate(180deg);'), "left mask should be covering the whole left side of the pie");
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js:6572:        assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').last().attr('style'),
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-6573-            'transform: rotate(36deg);'), "right mask should be rotated from 360*(10/100) = 36 degrees");
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-6580-            '10%', "should have 10% as pie value since int_field=10");
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js:6581:        assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').first().attr('style'),
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-6582-            'transform: rotate(180deg);'), "left mask should be covering the whole left side of the pie");
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js:6583:        assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').last().attr('style'),
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-6584-            'transform: rotate(36deg);'), "right mask should be rotated from 360*(10/100) = 36 degrees");
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-6591-            '10%', "should have 10% as pie value since int_field=10");
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js:6592:        assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').first().attr('style'),
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-6593-            'transform: rotate(180deg);'), "left mask should be covering the whole left side of the pie");
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js:6594:        assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').last().attr('style'),
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-6595-            'transform: rotate(36deg);'), "right mask should be rotated from 360*(10/100) = 36 degrees");
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-6620-            '80%', "should have 80% as pie value since int_field=80");
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js:6621:        assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').first().attr('style'),
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-6622-            'transform: rotate(288deg);'), "left mask should be rotated from 360*(80/100) = 288 degrees");
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-6631-            '80%', "should have 80% as pie value since int_field=80");
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js:6632:        assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').first().attr('style'),
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-6633-            'transform: rotate(288deg);'), "left mask should be rotated from 360*(80/100) = 288 degrees");
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-6642-            '80%', "should have 80% as pie value since int_field=80");
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js:6643:        assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').first().attr('style'),
odoo-14.0.0+dfsg/addons/web/static/tests/fields/basic_fields_tests.js-6644-            'transform: rotate(288deg);'), "left mask should be rotated from 360*(80/100) = 288 degrees");
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/mock_server.js-523-    _mockCallButton({ args, kwargs, method, model }) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/mock_server.js:524:        throw new Error(`Unimplemented mocked call button on "${model}"/"${method}"`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/mock_server.js-525-    },
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/mock_server.js-842-        if (!supportedTypes.includes(field.type)) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/mock_server.js:843:            throw new Error(`Only types ${supportedTypes} are supported for category (found type ${field.type})`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/mock_server.js-844-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/mock_server.js-983-        if (!supportedTypes.includes(field.type)) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/mock_server.js:984:            throw new Error(`Only types ${supportedTypes} are supported for filter (found type ${field.type})`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/mock_server.js-985-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/mock_server.js-1988-            if (!field) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/mock_server.js:1989:                throw Error(`Mock: Can't write value "${JSON.stringify(value)}" on field "${field_changed}" on record "${model},${id}" (field is undefined)`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/mock_server.js-1990-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/mock_server.js-2021-                    } else {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/mock_server.js:2022:                        throw Error(`Command "${JSON.stringify(value)}" not supported by the MockServer on field "${field_changed}" on record "${model},${id}"`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/mock_server.js-2023-                    }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/mock_server.js-2031-                    if (!relatedRecord && ensureIntegrity) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/mock_server.js:2032:                        throw Error(`Wrong id "${JSON.stringify(value)}" for a many2one on field "${field_changed}" on record "${model},${id}"`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/mock_server.js-2033-                    }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js-35-            const assertion = shouldHaveClass ? 'hasClass' : 'doesNotHaveClass';
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js:36:            QUnit.assert.ok(false, `Assertion '${assertion} ${className}' targets ${w.length} elements instead of 1`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js-37-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js-41-
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js:42:        msg = msg || `target should ${shouldHaveClass ? 'have' : 'not have'} class ${className}`;
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js-43-        const isFalse = className.split(" ").some(cls => {
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js-62-            const assertion = shouldBeVisible ? 'isVisible' : 'isNotVisible';
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js:63:            QUnit.assert.ok(false, `Assertion '${assertion}' targets ${w.length} elements instead of 1`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js-64-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js-68-
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js:69:        msg = msg || `target should ${shouldBeVisible ? '' : 'not'} be visible`;
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js-70-        let isVisible = el &&
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js-104-            if (!w.el) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js:105:                throw new Error(`containsN assert with selector '${selector}' called on an unmounted component`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js-106-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js-114-        if (!msg) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js:115:            msg = `Selector '${selector}' should have exactly ${n} matches (inside the target)`;
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js-116-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js-194-        if ($el.length !== 1) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js:195:            const descr = `hasAttrValue (${attr}: ${value})`;
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js-196-            QUnit.assert.ok(false,
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js:197:                `Assertion '${descr}' targets ${$el.length} elements instead of 1`
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js-198-            );
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js-199-        } else {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js:200:            msg = msg || `attribute '${attr}' of target should be '${value}'`;
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_asserts.js-201-            QUnit.assert.strictEqual($el.attr(attr), value, msg);
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_config.js-90-        const failingModules = info.missing.concat(info.failed);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_config.js:91:        const error = `Some modules couldn't be started: ${failingModules.join(', ')}.`;
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_config.js-92-        $modulesAlert.text(error);
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_config.js-111-    if (result.failed) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_config.js:112:        errorMessages.push(`${result.failed} / ${result.total} tests failed.`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_config.js-113-    }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_config.js-172-        if (!tolerated) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_config.js:173:            console.error(`Test ${info.moduleName} > ${info.testName}`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/qunit_config.js-174-            console.error('Body still contains undesirable elements:' +
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils.js-31-    function deprecated(fn, type) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils.js:32:        const msg = `Helper 'testUtils.${fn.name}' is deprecated. ` +
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils.js:33:            `Please use 'testUtils.${type}.${fn.name}' instead.`;
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils.js-34-        return tools.deprecated(fn, msg);
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_control_panel.js-304-    async function switchView(el, viewType) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_control_panel.js:305:        await click(getNode(el).querySelector(`button.o_switch_view.o_${viewType}`));
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_control_panel.js-306-    }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-86-        if (!node) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js:87:            throw new Error(`Provided node is ${node}.`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-88-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-131-            if (validMatches.length === 1) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js:132:                throw new Error(`There should be more than one visible target ${selectorMsg}.  If` +
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-133-                    ' you are sure that there is exactly one target, please use the ' +
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-138-            if (validMatches.length === 1) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js:139:                throw new Error(`There should be more than one visible target ${selectorMsg}.  If` +
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-140-                    ' you are sure that there is exactly one target, please use the ' +
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-144-        } else if (validMatches.length !== 1) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js:145:            throw new Error(`Found ${validMatches.length} elements to click on, instead of 1 ${selectorMsg}`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-146-        } else {
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-149-        if (validMatches.length === 0 && matches.length > 0) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js:150:            throw new Error(`Element to click on is not visible ${selectorMsg}`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-151-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-304-        if (!elements.length) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js:305:            throw new Error(`No element found with selector "${selector}".`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-306-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-311-                    throw new Error(
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js:312:                        `No element with selector "${selector}" at index ${elFinder}.`
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-313-                    );
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-359-        if (nodes.length !== 1) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js:360:            throw new Error(`Found ${nodes.length} nodes instead of 1.`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-361-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-363-        if (!node) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js:364:            throw new Error(`Expected a node and got ${node}.`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-365-        }
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-366-        if (!_isEventTarget(node)) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js:367:            throw new Error(`Expected node to be an instance of EventTarget and got ${node.constructor.name}.`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-368-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-404-     * @param {Object} [eventAttrs] event attributes
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js:405:     *   on a jQuery element with the `$.fn.trigger` function
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-406-     * @param {Boolean} [fast=false] true if the trigger event have to wait for a single tick instead of waiting for the next animation frame
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-418-        if (matches.length !== 1) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js:419:            throw new Error(`Found ${matches.length} elements to trigger "${eventType}" on, instead of 1 ${selectorMsg}`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-420-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-450-            if (el.length !== 1) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js:451:                throw new Error(`target has length ${el.length} instead of 1`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_dom.js-452-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js-34-        await clickOpenM2ODropdown(fieldName);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js:35:        const match = document.querySelector(`.o_field_many2one[name=${fieldName}] input`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js-36-        await editInput(match, text);
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js-48-    async function clickM2OHighlightedItem(fieldName, selector) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js:49:        const m2oSelector = `${selector || ''} .o_field_many2one[name=${fieldName}] input`;
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js-50-        const $dropdown = $(m2oSelector).autocomplete('widget');
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js-67-    async function clickM2OItem(fieldName, searchText) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js:68:        const m2oSelector = `.o_field_many2one[name=${fieldName}] input`;
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js-69-        const $dropdown = $(m2oSelector).autocomplete('widget');
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js:70:        const $target = $dropdown.find(`li:contains(${searchText})`).first();
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js-71-        if ($target.length !== 1 || !$target.is(':visible')) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js-86-    async function clickOpenM2ODropdown(fieldName, selector) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js:87:        const m2oSelector = `${selector || ''} .o_field_many2one[name=${fieldName}] input`;
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js-88-        const matches = document.querySelectorAll(m2oSelector);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js-89-        if (matches.length !== 1) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js:90:            throw new Error(`cannot open m2o: selector ${selector} has been found ${matches.length} instead of 1`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js-91-        }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js-111-            if (el.length !== 1) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js:112:                throw new Error(`target ${el.selector} has length ${el.length} instead of 1`);
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_fields.js-113-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_modal.js-21-    function clickButton(text) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_modal.js:22:        return testUtilsDom.click($(`.modal-footer button:contains(${_t(text)})`));
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_modal.js-23-    }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_pivot.js-26-function clickMeasure(pivot, measure) {
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_pivot.js:27:    return testUtilsDom.click(pivot.$buttons.find(`.dropdown-item[data-field=${measure}]`));
odoo-14.0.0+dfsg/addons/web/static/tests/helpers/test_utils_pivot.js-28-}
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-63-                start: function () {
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js:64:                    this.$el.text(`Hello ${this.name}!`);
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-65-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-97-                start: function () {
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js:98:                    this.$el.text(`${this.a1} ${this.a2}!`);
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-99-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-134-                start: function () {
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js:135:                    this.$el.text(`${this.a1} ${this.a2}!`);
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-136-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-173-                start: function () {
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js:174:                    this.$el.text(`${this.a1} ${this.a2}!`);
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-175-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-209-                render: function () {
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js:210:                    this.$el.text(`Hello ${this.name}!`);
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-211-                },
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-265-                render: function () {
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js:266:                    this.$el.text(`Hello ${this.name}!`);
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-267-                    assert.step('render');
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-457-                mockRPC: function (route, args) {
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js:458:                    assert.step(`${route} ${args.val}`);
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-459-                    return Promise.resolve();
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-1182-                    widget_event: function (ev) {
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js:1183:                        assert.step(`[widget] widget-event ${ev.data.value}`);
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-1184-                    },
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-1185-                    both_event: function (ev) {
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js:1186:                        assert.step(`[widget] both-event ${ev.data.value}`);
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-1187-                        if (ev.data.value === 4) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-1202-                onRootEvent(ev) {
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js:1203:                    assert.step(`[root] root-event ${ev.detail.value}`);
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-1204-                }
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-1205-                onBothEvent(ev) {
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js:1206:                    assert.step(`[root] both-event ${ev.detail.value}`);
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-1207-                }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-1253-                onComponentEvent(ev) {
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js:1254:                    assert.step(`[component] component-event ${ev.detail.value}`);
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-1255-                }
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-1256-                onBothEvent(ev) {
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js:1257:                    assert.step(`[component] both-event ${ev.detail.value}`);
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-1258-                    if (ev.detail.value === 4) {
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-1270-                    root_event: function (ev) {
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js:1271:                        assert.step(`[root] root-event ${ev.data.value}`);
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-1272-                    },
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-1273-                    both_event: function (ev) {
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js:1274:                        assert.step(`[root] both-event ${ev.data.value}`);
odoo-14.0.0+dfsg/addons/web/static/tests/owl_compatibility_tests.js-1275-                    },
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/views/calendar_tests.js-3605-        async function clickDate(date) {
odoo-14.0.0+dfsg/addons/web/static/tests/views/calendar_tests.js:3606:            const el = calendar.el.querySelector(`.fc-day-top[data-date="${date}"]`);
odoo-14.0.0+dfsg/addons/web/static/tests/views/calendar_tests.js-3607-            el.scrollIntoView(); // scroll to it as the calendar could be too small
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/views/calendar_tests.js-3706-            for (const [id, count] of Object.entries(countMap)) {
odoo-14.0.0+dfsg/addons/web/static/tests/views/calendar_tests.js:3707:                assert.containsN(calendar, `.fc-bgevent[data-event-id="${id}"]`, count);
odoo-14.0.0+dfsg/addons/web/static/tests/views/calendar_tests.js-3708-            }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/views/graph_tests.js-30-    for (const id of otherIds) {
odoo-14.0.0+dfsg/addons/web/static/tests/views/graph_tests.js:31:        BASIC_DOMAIN_IDS.push(`${yearId}__${id}`);
odoo-14.0.0+dfsg/addons/web/static/tests/views/graph_tests.js-32-    }
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/views/graph_tests.js-1648-            this.setMode = async function (mode) {
odoo-14.0.0+dfsg/addons/web/static/tests/views/graph_tests.js:1649:                await testUtils.dom.click($(`.o_control_panel .o_graph_button[data-mode="${mode}"]`));
odoo-14.0.0+dfsg/addons/web/static/tests/views/graph_tests.js-1650-            };
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_benchmarks.js-73-                    id: i,
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_benchmarks.js:74:                    foo: `automated data ${i}`,
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_benchmarks.js-75-                });
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_tests.js-4384-                    result.groups.forEach(group => {
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_tests.js:4385:                        group[`${kwargs.groupby[0]}_count`] = 0;
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_tests.js-4386-                    });
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_tests.js-4443-                    result.groups.forEach(group => {
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_tests.js:4444:                        group[`${kwargs.groupby[0]}_count`] = 0;
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_tests.js-4445-                    });
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_tests.js-4590-                    result.groups.forEach(group => {
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_tests.js:4591:                        group[`${kwargs.groupby[0]}_count`] = 0;
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_tests.js-4592-                    });
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_tests.js-4630-                    result.groups.forEach(group => {
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_tests.js:4631:                        group[`${kwargs.groupby[0]}_count`] = 0;
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_tests.js-4632-                    });
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_tests.js-4757-                    result.groups = result.groups.slice(0, 1);
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_tests.js:4758:                    result.groups[0][`${kwargs.groupby[0]}_count`] = 0;
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_tests.js-4759-                    result.length = 1;
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_tests.js-4799-                    result.groups = result.groups.slice(0, 1);
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_tests.js:4800:                    result.groups[0][`${kwargs.groupby[0]}_count`] = 0;
odoo-14.0.0+dfsg/addons/web/static/tests/views/kanban_tests.js-4801-                    result.length = 1;
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/views/list_tests.js-2427-        assertions.forEach(a => {
odoo-14.0.0+dfsg/addons/web/static/tests/views/list_tests.js:2428:            assert.strictEqual(list.$(`th[data-name="${a.field}"]`)[0].offsetWidth, a.expected,
odoo-14.0.0+dfsg/addons/web/static/tests/views/list_tests.js:2429:                `Field ${a.type} should have a fixed width of ${a.expected} pixels`);
odoo-14.0.0+dfsg/addons/web/static/tests/views/list_tests.js-2430-        });
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/views/list_tests.js-2488-        assertions.forEach(a => {
odoo-14.0.0+dfsg/addons/web/static/tests/views/list_tests.js:2489:            assert.strictEqual(form.$(`.o_field_one2many th[data-name="${a.field}"]`)[0].offsetWidth, a.expected,
odoo-14.0.0+dfsg/addons/web/static/tests/views/list_tests.js:2490:                `Field ${a.type} should have a fixed width of ${a.expected} pixels`);
odoo-14.0.0+dfsg/addons/web/static/tests/views/list_tests.js-2491-        });
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/views/list_tests.js-2895-        assertions.forEach(a => {
odoo-14.0.0+dfsg/addons/web/static/tests/views/list_tests.js:2896:            assert.strictEqual(list.$(`th[data-name="${a.field}"]`)[0].offsetWidth, a.expected,
odoo-14.0.0+dfsg/addons/web/static/tests/views/list_tests.js:2897:                `Field ${a.type} should have a fixed width of ${a.expected} pixels`);
odoo-14.0.0+dfsg/addons/web/static/tests/views/list_tests.js-2898-        });
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/views/list_tests.js-3032-        // simulate a window resize
odoo-14.0.0+dfsg/addons/web/static/tests/views/list_tests.js:3033:        list.$el.width(`${list.$el.width() / 2}px`);
odoo-14.0.0+dfsg/addons/web/static/tests/views/list_tests.js-3034-        core.bus.trigger('resize');
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/views/sample_server_tests.js-98-                        regex.test(rec[fieldName].toString()),
odoo-14.0.0+dfsg/addons/web/static/tests/views/sample_server_tests.js:99:                        `Field "${fieldName}" has the correct format`
odoo-14.0.0+dfsg/addons/web/static/tests/views/sample_server_tests.js-100-                    );
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/views/sample_server_tests.js-103-                        typeof rec[fieldName], regex,
odoo-14.0.0+dfsg/addons/web/static/tests/views/sample_server_tests.js:104:                        `Field "${fieldName}" is of type ${regex}`
odoo-14.0.0+dfsg/addons/web/static/tests/views/sample_server_tests.js-105-                    );
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/views/sample_server_tests.js-121-            assert.strictEqual(rec.email,
odoo-14.0.0+dfsg/addons/web/static/tests/views/sample_server_tests.js:122:                `${rec.display_name.replace(/ /, ".").toLowerCase()}@sample.demo`
odoo-14.0.0+dfsg/addons/web/static/tests/views/sample_server_tests.js-123-            );
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/widgets/company_switcher_tests.js-34-    var menu = await initMockCompanyMenu(assert, params);
odoo-14.0.0+dfsg/addons/web/static/tests/widgets/company_switcher_tests.js:35:    await testUtils.dom.click(menu.$(`div[data-company-id=${params.company}] div.log_into`));
odoo-14.0.0+dfsg/addons/web/static/tests/widgets/company_switcher_tests.js-36-    menu.destroy();
##############################################
odoo-14.0.0+dfsg/addons/web/static/tests/widgets/company_switcher_tests.js-41-    var menu = await initMockCompanyMenu(assert, params);
odoo-14.0.0+dfsg/addons/web/static/tests/widgets/company_switcher_tests.js:42:    await testUtils.dom.click(menu.$(`div[data-company-id=${params.company}] div.toggle_company`));
odoo-14.0.0+dfsg/addons/web/static/tests/widgets/company_switcher_tests.js-43-    menu.destroy();
##############################################
odoo-14.0.0+dfsg/addons/web/views/webclient_templates.xml-478-                    const userTZ = Intl.DateTimeFormat().resolvedOptions().timeZone;
odoo-14.0.0+dfsg/addons/web/views/webclient_templates.xml:479:                    document.cookie = `tz=${userTZ}; path=/`;
odoo-14.0.0+dfsg/addons/web/views/webclient_templates.xml-480-                }
##############################################
odoo-14.0.0+dfsg/addons/web/views/webclient_templates.xml-865-                    odoo.session_info = <t t-raw="json.dumps(session_info)"/>;
odoo-14.0.0+dfsg/addons/web/views/webclient_templates.xml:866:                    odoo.reloadMenus = () => fetch(`/web/webclient/load_menus/${odoo.session_info.cache_hashes.load_menus}`).then(res => res.json());
odoo-14.0.0+dfsg/addons/web/views/webclient_templates.xml-867-                    odoo.loadMenusPromise = odoo.reloadMenus();
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/shapes/convert.js-46-    };
odoo-14.0.0+dfsg/addons/web_editor/static/shapes/convert.js:47:    shape.optionXML = `<we-button data-shape="web_editor/${shape.page}/${shape.name}" data-select-label="${shape.page} ${shape.name}"/>`;
odoo-14.0.0+dfsg/addons/web_editor/static/shapes/convert.js-48-    if (shape.position[0] === 'stretch') {
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/shapes/convert.js-53-    }
odoo-14.0.0+dfsg/addons/web_editor/static/shapes/convert.js:54:    shape.scss = `'${shape.page}/${shape.name}': ('position': ${shape.position[0]}, 'size': ${shape.size}, 'colors': (${shape.colors.join(', ')}), 'repeat-y': ${shape.repeatY})`;
odoo-14.0.0+dfsg/addons/web_editor/static/shapes/convert.js-55-    shapes.push(shape);
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/common/utils.js-102-    }
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/common/utils.js:103:    const converter = CSS_UNITS_CONVERSION[`${unitFrom}-${unitTo}`];
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/common/utils.js-104-    if (converter === undefined) {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/common/utils.js:105:        throw new Error(`Cannot convert '${unitFrom}' units into '${unitTo}' units !`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/common/utils.js-106-    }
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/common/utils.js-172-            hasCCClasses = true;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/common/utils.js:173:            return `o_cc${c}`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/common/utils.js-174-        }
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/common/utils.js-191-    // Get trimmed value from the HTML element
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/common/utils.js:192:    let value = htmlStyle.getPropertyValue(`--${key}`).trim();
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/common/utils.js-193-    // If it is a color value, it needs to be normalized
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/rte.summernote.js-1116-                const newAttachmentSrc = await this._rpc({
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/rte.summernote.js:1117:                    route: `/web_editor/modify_image/${el.dataset.originalId}`,
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/rte.summernote.js-1118-                    params: {
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/rte.summernote.js-1124-                if (isBackground) {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/rte.summernote.js:1125:                    $(el).css('background-image', `url('${newAttachmentSrc}')`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/rte.summernote.js-1126-                    delete el.dataset.bgSrc;
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.editor.js-1384-                    text: editor.getName(),
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.editor.js:1385:                }).append($('<i/>', {class: `fa ${editor.isTargetVisible() ? 'fa-eye' : 'fa-eye-slash'} ml-2`}));
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.editor.js-1386-                $invisibleDOMPanelEl.append($invisEntry);
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.editor.js-1555-
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.editor.js:1556:        exclude += `${exclude && ', '}.o_snippet_not_selectable`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.editor.js-1557-
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.editor.js-2348-            title: _t('Confirmation'),
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.editor.js:2349:            $content: $('<div><p>' + _t(`Are you sure you want to delete the snippet: ${$snippet.attr('name')} ?`) + '</p></div>'),
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.editor.js-2350-            buttons: [{
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.editor.js-2393-    _onGetSnippetVersions: function (ev) {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.editor.js:2394:        const snippet = this.el.querySelector(`.oe_snippet > [data-snippet="${ev.data.snippetName}"]`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.editor.js-2395-        ev.data.onSuccess(snippet && {
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.editor.js-2507-    _onSnippetThumbnailURLRequest(ev) {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.editor.js:2508:        const $snippet = this.$snippets.has(`[data-snippet="${ev.data.key}"]`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.editor.js-2509-        ev.data.onSuccess($snippet.length ? $snippet[0].dataset.oeThumbnail : '');
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-234-            const buildImgExtensionSwitcher = (from, to) => {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:235:                const regex = new RegExp(`${from}$`, 'i');
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-236-                return ev => {
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-969-                const value = weUtils.convertNumericToUnit(numValue, params.unit, params.saveUnit, params.cssProperty, this.$target);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:970:                return `${this._floatToStr(value)}${params.saveUnit}`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-971-            }
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-990-        }
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:991:        return `${this._floatToStr(numValue)}${unit}`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-992-    },
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-1032-    _floatToStr: function (value) {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:1033:        return `${parseFloat(value.toFixed(5))}`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-1034-    },
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-1261-                } else {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:1262:                    value = `var(--${value})`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-1263-                }
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-1297-            } else if (weUtils.isColorCombinationName(this._value)) {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:1298:                this.colorPreviewEl.classList.add('o_cc', `o_cc${this._value}`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-1299-            } else {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:1300:                this.colorPreviewEl.classList.add(`bg-${this._value}`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-1301-            }
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-1735-        this.pages.forEach((page, i) => page.classList.toggle('active', i === this.currentPage));
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:1736:        this.pageNum.textContent = `${this.currentPage + 1}/${this.numPages}`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-1737-        const activePage = this.pages.find((page, i) => i === this.currentPage);
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-1816-    /**
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:1817:     * The option `$el` is supposed to be the associated DOM UI element.
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-1818-     * The option controls another DOM element: the snippet it
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:1819:     * customizes, which can be found at `$target`. Access to the whole edition
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:1820:     * overlay is possible with `$overlay` (this is not recommended though).
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-1821-     *
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-1881-     * Called when the associated snippet is the result of the cloning of
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:1882:     * another snippet (so `this.$target` is a cloned element).
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-1883-     *
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-2028-                // to add it (and adding the potential extra class) then leave.
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:2029:                this.$target[0].classList.add('o_cc', `o_cc${widgetValue}`, params.extraClass);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-2030-                _restoreTransitions();
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-2056-        if (htmlPropValue) {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:2057:            widgetValue = `var(--${widgetValue})`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-2058-        }
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-2391-                        values = values.join(' ').replace(color, '').trim();
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:2392:                        value = `${color} ${values}${inset ? ' inset' : ''}`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-2393-                    }
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-2449-    _normalizeWidgetValue: function (value) {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:2450:        value = `${value}`.trim(); // Force to a trimmed string
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-2451-        value = ColorpickerWidget.normalizeCSSColor(value); // If is a css color, normalize it
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3224-        (await this._computeAvailableWidths()).forEach(([value, label]) => {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:3225:            $select.append(`<we-button data-select-width="${value}">${label}</we-button>`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3226-        });
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3271-        $weight.find('> small').text(_t("New size"));
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:3272:        $weight.find('b').text(`${(weight / 1024).toFixed(1)} kb`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3273-        $weight.removeClass('d-none');
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3455-        await this._super(...arguments);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:3456:        this.$target.css('background-image', `url('${this._getImg().getAttribute('src')}')`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3457-    },
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3667-            case 'reset':
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:3668:                this.$target.css('background-image', `url('${this.previousSrc}')`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3669-                return;
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3674-        await loadImage(src);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:3675:        this.$target.css('background-image', `url('${src}')`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3676-        if (!previewMode) {
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3733-        if (backgroundURL) {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:3734:            this.$target.css('background-image', `url('${backgroundURL}')`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3735-            this.$target.addClass('oe_img_bg');
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3835-            uiFragment.querySelector('[data-name="colors"]')
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:3836:                .prepend($(`<we-colorpicker data-color="true" data-color-name="${colorName}">`)[0]);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3837-        });
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3847-            const shapeEl = btnContent.querySelector('.o_we_shape');
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:3848:            shapeEl.classList.add(`o_${shape.replace(/\//g, '_')}`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3849-            btn.append(btnContent);
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3929-        }
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:3930:        shapeContainer.className = `o_we_shape o_${shape.replace(/\//g, '_')}`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3931-        flip.forEach(dir => {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:3932:            shapeContainer.classList.add(`o_we_flip_${dir}`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3933-        });
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3934-        // Custom colors, overwrite shape that is set by the class
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:3935:        $(shapeContainer).css('background-image', colors ? `url("${this._getShapeSrc()}")` : '');
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3936-    },
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3980-                const encodedCol = encodeURIComponent(colorValue);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:3981:                return `${colorName}=${encodedCol}`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3982-            }).join('&');
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:3983:        return `/web_editor/shape/${shape}.svg?${queryString}`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-3984-    },
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-4192-        this.$bgDragger.css({
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:4193:            width: `${this.$target.innerWidth()}px`,
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:4194:            height: `${this.$target.innerHeight()}px`,
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-4195-        });
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-4197-        const topPos = (parseInt(this.$overlay.css('top')) - parseInt(this.$overlayContent.css('top')));
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:4198:        this.$overlayContent.find('.o_we_overlay_buttons').css('top', `${topPos}px`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-4199-    },
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-4326-
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js:4327:        this.$bgDragger.css('background-position', `${percentPosition.left}% ${percentPosition.top}%`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/editor/snippets.options.js-4328-
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/color_palette.js-111-            if (isCCName) {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/color_palette.js:112:                $color.find('.o_we_cc_preview_wrapper').addClass(`o_cc o_cc${colorName}`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/color_palette.js-113-            } else {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/color_palette.js:114:                $color.addClass(`bg-${colorName}`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/color_palette.js-115-            }
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/color_palette.js-271-        this.el.querySelectorAll('button.selected').forEach(el => el.classList.remove('selected'));
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/color_palette.js:272:        const selectedButton = this.el.querySelector(`button[data-color="${this.selectedColor}"], button[style*="background-color:${this.selectedColor};"]`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/color_palette.js-273-        if (selectedButton) {
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js-244-            href: data.url && data.url.length ? data.url : '#',
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js:245:            class: `${data.classes.replace(/float-\w+/, '')} o_btn_preview`,
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js-246-        };
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js-273-        const shapes = shape ? shape.split(',') : [];
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js:274:        const style = ['outline', 'fill'].includes(shapes[0]) ? `${shapes[0]}-` : '';
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js-275-        const shapeClasses = shapes.slice(style ? 1 : 0).join(' ');
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js-276-        const classes = (this.data.className || '') +
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js:277:            (type ? (` btn btn-${style}${type}`) : '') +
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js:278:            (shapeClasses ? (` ${shapeClasses}`) : '') +
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js-279-            (size ? (' btn-' + size) : '');
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-817-        alreadyLoaded.each((index, el) => {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js:818:            const toReplace = this.$(`.o_existing_attachment_cell[data-id="${el.dataset.id}"], .o_existing_attachment_cell[data-media-id="${el.dataset.mediaId}"]`);
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-819-            if (toReplace.length) {
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-863-        this.selectedMedia.forEach(media => {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js:864:            this.$(`.o_existing_attachment_cell[data-media-id=${media.id}]`)
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-865-                .addClass("o_we_attachment_selected");
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-927-        cell.style.flexGrow = width;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js:928:        cell.style.flexBasis = `${width}px`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-929-        cell.classList.remove('d-none');
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-1411-            const fullscreen = options.hide_fullscreen ? '&fs=0' : '';
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js:1412:            const ytLoop = loop ? loop + `&playlist=${matches.youtube[2]}` : '';
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-1413-            const logo = options.hide_yt_logo ? '&modestbranding=1' : '';
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js:1414:            embedURL = `//www.youtube${matches.youtube[1] || ''}.com/embed/${matches.youtube[2]}${autoplay}&rel=0${ytLoop}${controls}${fullscreen}${logo}`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-1415-            type = 'youtube';
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-1416-        } else if (matches.instagram && matches.instagram[2].length) {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js:1417:            embedURL = `//www.instagram.com/p/${matches.instagram[2]}/embed/`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-1418-            type = 'instagram';
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-1419-        } else if (matches.vine && matches.vine[0].length) {
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js:1420:            embedURL = `${matches.vine[0]}/embed/simple`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-1421-            type = 'vine';
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-1423-            const vimeoAutoplay = autoplay.replace('mute', 'muted');
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js:1424:            embedURL = `//player.vimeo.com/video/${matches.vimeo[3]}${vimeoAutoplay}${loop}`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-1425-            type = 'vimeo';
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-1429-            const share = options.hide_dm_share ? '&sharing-enable=0' : '';
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js:1430:            embedURL = `//www.dailymotion.com/embed/video/${videoId}${autoplay}${controls}${logo}${share}`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-1431-            type = 'dailymotion';
##############################################
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-1433-            const videoId = matches.youku[3].indexOf('.html?') >= 0 ? matches.youku[3].substring(0, matches.youku[3].indexOf('.html?')) : matches.youku[3];
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js:1434:            embedURL = `//player.youku.com/embed/${videoId}`;
odoo-14.0.0+dfsg/addons/web_editor/static/src/js/wysiwyg/widgets/media.js-1435-            type = 'youku';
##############################################
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js-299-                using: props => {
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js:300:                    this.el.style.setProperty('top', `${props.top}px`, 'important');
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js:301:                    this.el.style.setProperty('left', `${props.left}px`, 'important');
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js-302-                },
##############################################
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js-315-            }
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js:316:            this.el.style.setProperty('top', `${top}px`, 'important');
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js:317:            this.el.style.setProperty('left', `${center}px`, 'important');
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js-318-        }
##############################################
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js-429-            this.$el.detach();
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js:430:            this.el.style.setProperty('top', `${offset.top}px`, 'important');
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js:431:            this.el.style.setProperty('left', `${offset.left}px`, 'important');
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js-432-            this.$el.appendTo(this.$el[0].ownerDocument.body);
##############################################
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js-456-        this.$el.removeClass("o_animated").addClass("active");
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js:457:        this.el.style.setProperty('width', `${contentWidth}px`, 'important');
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js:458:        this.el.style.setProperty('height', `${contentHeight}px`, 'important');
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js:459:        this.el.style.setProperty('margin-left', `${mbLeft}px`, 'important');
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js:460:        this.el.style.setProperty('margin-top', `${mbTop}px`, 'important');
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js-461-
##############################################
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js-486-        this.$el.removeClass("active").addClass("o_animated");
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js:487:        this.el.style.setProperty('width', `${this.init_width}px`, 'important');
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js:488:        this.el.style.setProperty('height', `${this.init_height}px`, 'important');
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tip.js-489-        this.el.style.setProperty('margin', '0', 'important');
##############################################
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js-7-return core.Class.extend({
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js:8:    _getHelpMessage: (functionName, ...args) => `Generated by function tour utils ${functionName}(${args.join(', ')})`,
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js-9-
##############################################
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js-75-            {
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js:76:                trigger: `.o_app[data-menu-xmlid="${dataMenuXmlid}"]`,
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js-77-                content: description,
##############################################
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js-81-            {
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js:82:                trigger: `.o_app[data-menu-xmlid="${dataMenuXmlid}"]`,
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js-83-                content: description,
##############################################
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js-114-            }, {
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js:115:                trigger: `.o_statusbar_buttons button:enabled:contains('${innerTextButton}')`,
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js-116-                content: description,
##############################################
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js-147-                trigger: '.o_searchview_input',
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js:148:                extra_trigger: `.modal:not(.o_inactive_modal) .modal-title:contains('${modalTitle}')`,
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js-149-                position: 'bottom',
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js:150:                run: `text ${valueSearched}`,
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js-151-            },
##############################################
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js-154-                mobile: true,
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js:155:                trigger: `.o_kanban_record .o_kanban_record_title :contains('${valueSearched}')`,
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_step_utils.js-156-                position: 'bottom',
##############################################
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_utils.js-12-function get_debugging_key(name) {
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_utils.js:13:    return `debugging_tour_${name}`;
odoo-14.0.0+dfsg/addons/web_tour/static/src/js/tour_utils.js-14-}
##############################################
odoo-14.0.0+dfsg/addons/website/doc/website.snippet.rst-63-Object:
odoo-14.0.0+dfsg/addons/website/doc/website.snippet.rst:64: - this.``$target``:
odoo-14.0.0+dfsg/addons/website/doc/website.snippet.rst-65-   block html inserted inside the page
odoo-14.0.0+dfsg/addons/website/doc/website.snippet.rst:66: - this.``$el``:
odoo-14.0.0+dfsg/addons/website/doc/website.snippet.rst-67-   html li list of this options
odoo-14.0.0+dfsg/addons/website/doc/website.snippet.rst:68: - this.``$overlay``:
odoo-14.0.0+dfsg/addons/website/doc/website.snippet.rst-69-   html editor overlay who content resize bar, customize menu...
##############################################
odoo-14.0.0+dfsg/addons/website/doc/website.snippet.rst-101-
odoo-14.0.0+dfsg/addons/website/doc/website.snippet.rst:102: - ``check_class(type, className, $li)``:
odoo-14.0.0+dfsg/addons/website/doc/website.snippet.rst-103-   li must have data-check_class="a_classname_for_test" to call this method. This method
odoo-14.0.0+dfsg/addons/website/doc/website.snippet.rst-104-   toggle the className on $target
odoo-14.0.0+dfsg/addons/website/doc/website.snippet.rst:105: - ``selectClass(type, className, $li)``:
odoo-14.0.0+dfsg/addons/website/doc/website.snippet.rst-106-   This method remove all other selectClass value (for this option) and add this current ClassName
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/content/menu.js-249-        if (this.fixedHeaderShow !== reachPosScrolled) {
odoo-14.0.0+dfsg/addons/website/static/src/js/content/menu.js:250:            this.$el.css('transform', reachPosScrolled ? `translate(0, -${this.topGap}px)` : 'translate(0, -100%)');
odoo-14.0.0+dfsg/addons/website/static/src/js/content/menu.js-251-            this.fixedHeaderShow = reachPosScrolled;
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/content/menu.js-272-            if (!this.$el.hasClass('o_header_affixed')) {
odoo-14.0.0+dfsg/addons/website/static/src/js/content/menu.js:273:                this.$el.css('transform', `translate(0, -${this.topGap}px)`);
odoo-14.0.0+dfsg/addons/website/static/src/js/content/menu.js-274-                void this.$el[0].offsetWidth; // Force a paint refresh
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/content/menu.js-387-        this._super(...arguments);
odoo-14.0.0+dfsg/addons/website/static/src/js/content/menu.js:388:        this.$el.css('transform', this.atTop ? '' : `translate(0, -${this.topGap}px)`);
odoo-14.0.0+dfsg/addons/website/static/src/js/content/menu.js-389-    },
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/content/menu.js-410-        this._super(...arguments);
odoo-14.0.0+dfsg/addons/website/static/src/js/content/menu.js:411:        this.$el.css('transform', this.atTop ? '' : `translate(0, -${this.topGap}px)`);
odoo-14.0.0+dfsg/addons/website/static/src/js/content/menu.js-412-        this.$el.stop(false, true).fadeIn();
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/content/ripple_effect.js-55-            this.rippleEl.classList.add('o_ripple_item');
odoo-14.0.0+dfsg/addons/website/static/src/js/content/ripple_effect.js:56:            this.rippleEl.style.animationDuration = `${this.duration}ms`;
odoo-14.0.0+dfsg/addons/website/static/src/js/content/ripple_effect.js:57:            this.rippleEl.style.width = `${this.diameter}px`;
odoo-14.0.0+dfsg/addons/website/static/src/js/content/ripple_effect.js:58:            this.rippleEl.style.height = `${this.diameter}px`;
odoo-14.0.0+dfsg/addons/website/static/src/js/content/ripple_effect.js-59-            this.el.appendChild(this.rippleEl);
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/content/ripple_effect.js-64-
odoo-14.0.0+dfsg/addons/website/static/src/js/content/ripple_effect.js:65:        this.rippleEl.style.top = `${ev.pageY - this.offsetY - this.diameter / 2}px`;
odoo-14.0.0+dfsg/addons/website/static/src/js/content/ripple_effect.js:66:        this.rippleEl.style.left = `${ev.pageX - this.offsetX - this.diameter / 2}px`;
odoo-14.0.0+dfsg/addons/website/static/src/js/content/ripple_effect.js-67-
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/content/snippets.animation.js-942-        const height = this._computeIdealHeight();
odoo-14.0.0+dfsg/addons/website/static/src/js/content/snippets.animation.js:943:        this.el.style.setProperty('min-height', `${height}px`, 'important');
odoo-14.0.0+dfsg/addons/website/static/src/js/content/snippets.animation.js-944-    },
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/content/website_root.js-159-                }
odoo-14.0.0+dfsg/addons/website/static/src/js/content/website_root.js:160:                await ajax.loadJS(`https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=places&callback=odoo_gmap_api_post_load&key=${key}`);
odoo-14.0.0+dfsg/addons/website/static/src/js/content/website_root.js-161-            });
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-97-            const fontEl = document.createElement('we-button');
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js:98:            fontEl.classList.add(`o_we_option_font_${realFontNb}`);
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-99-            fontEl.dataset.variable = variable;
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js:100:            fontEl.dataset[methodName] = weUtils.getCSSVariableValue(`font-number-${realFontNb}`, style);
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-101-            fontEl.dataset.font = realFontNb;
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-134-        const activeWidget = this._userValueWidgets.find(widget => !widget.isPreviewed() && widget.isActive());
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js:135:        this.menuTogglerEl.classList.add(`o_we_option_font_${activeWidget.el.dataset.font}`);
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-136-    },
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-168-                        this.trigger_up('google_fonts_custo_request', {
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js:169:                            values: {[variable]: `'${font}'`},
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-170-                            googleFonts: this.googleFonts,
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-337-            const location = this._gmapPlace.geometry.location;
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js:338:            this._value = `(${location.lat()},${location.lng()})`;
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-339-            this._gmapCacheGPSToPlace[this._value] = gmapPlace;
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-490-        const colorType = params.colorType ? (params.colorType + '_') : '';
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js:491:        const url = `${baseURL}user_${colorType}color_palette.scss`;
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-492-
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-496-            } else if (!ColorpickerWidget.isCSSColor(color)) {
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js:497:                color = `'${color}'`;
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-498-            }
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-805-        await this.customizeWebsiteVariable(previewMode, this.bodyImageType, {variable: 'body-image-type'});
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js:806:        await this.customizeWebsiteVariable(previewMode, widgetValue ? `'${widgetValue}'` : '', {variable: 'body-image'});
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-807-    },
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-1020-                colorPreviewEl.classList.add('o_palette_color_preview');
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js:1021:                const color = weUtils.getCSSVariableValue(`o-palette-${i}-o-color-${c}`, style);
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-1022-                colorPreviewEl.style.backgroundColor = color;
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-1030-            const ccPreviewEl = $(qweb.render('web_editor.color.combination.preview'))[0];
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js:1031:            ccPreviewEl.classList.add('text-center', `o_cc${i}`);
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-1032-            collapseEl.appendChild(ccPreviewEl);
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-1260-        const $activeSlide = $items.filter('.active');
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js:1261:        const updatedText = ` (${$activeSlide.index() + 1}/${$items.length})`;
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-1262-        this.counterEl.textContent = updatedText;
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-2065-        }
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js:2066:        return `${window.location.pathname}#${this.$target[0].id}`;
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-2067-    },
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-2211-
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js:2212:        const $template = $(qweb.render(`website.cookies_bar.${widgetValue}`, {
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-2213-            websiteId: websiteId,
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-2283-        } else {
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js:2284:            this.$image.css('background-image', `url('${widgetValue}')`);
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-2285-            this.$target.addClass('o_record_has_cover');
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-2320-        this.$target[0].dataset.bgColorClass = isCSSColor ? '' : weUtils.computeColorClasses([color])[0];
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js:2321:        this.$target[0].dataset.bgColorStyle = isCSSColor ? `background-color: ${color};` : '';
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-2322-    },
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-2350-        if (params.coverOptName) {
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js:2351:            return this.$target.data(`use_${params.coverOptName}`) === 'True';
odoo-14.0.0+dfsg/addons/website/static/src/js/editor/snippets.options.js-2352-        }
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-74-    return {
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js:75:        trigger: `#wrapwrap .${snippet.id} i:eq(${index})`,
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-76-        content: _t("<b>Double click on an icon</b> to change it with one of our choice."),
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-83-    return {
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js:84:        trigger: `#wrapwrap .${snippet.id} img`,
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-85-        content: _t("<b>Double click on an image</b> to change it with one of our choice."),
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-94-function changeOption(optionName, weName = '', optionTooltipLabel = '', position = "bottom") {
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js:95:    const option_block = `we-customizeblock-option[class='snippet-option-${optionName}']`
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-96-    return {
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js:97:        trigger: `${option_block} ${weName}, ${option_block} [title='${weName}']`,
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js:98:        content: _t(`<b>Click</b> on this option to change the ${optionTooltipLabel} of the block.`),
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-99-        position: position,
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-111-    return {
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js:112:        trigger: `.oe_overlay.ui-draggable.o_we_overlay_sticky.oe_active .o_handle.${paddingDirection}`,
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js:113:        content: _t(`<b>Slide</b> this button to change the ${direction} padding`),
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-114-        position: position,
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-137-    return {
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js:138:        trigger: `#wrapwrap .${snippet.id}`,
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-139-        content: _t("<b>Click on a snippet</b> to access its options menu."),
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-160-    return {
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js:161:        trigger: `#wrapwrap .${snippet.id} ${element}`,
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-162-        content: _t("Even if this title is cool, you can change it. <b>Click on a text</b> to start editing it."),
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-175-    return {
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js:176:        trigger: `#oe_snippets .oe_snippet[name="${snippet.name}"] .oe_snippet_thumbnail:not(.o_we_already_dragging)`,
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-177-        extra_trigger: "body.editor_enable.editor_has_snippets",
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-178-        moveTrigger: '.oe_drop_zone',
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js:179:        content: _t(`Drag the <b>${snippet.name}</b> building block and drop it in your page.`),
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-180-        position: position,
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-213-     return {
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js:214:        trigger: `#wrapwrap .${snippet.id} .row div[class*="col-lg-"]:eq(${index})`,
odoo-14.0.0+dfsg/addons/website/static/src/js/tours/tour_utils.js-215-        content: _t("<b>Click</b> on this column to access its options."),
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/utils.js-53-            return $("<li class='ui-autocomplete-category font-weight-bold text-capitalize m-2'>")
odoo-14.0.0+dfsg/addons/website/static/src/js/utils.js:54:                   .append(`<div>${item.separator}</div>`)
odoo-14.0.0+dfsg/addons/website/static/src/js/utils.js-55-                   .appendTo(ul);
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/js/utils.js-59-                   .data('ui-autocomplete-item', item)
odoo-14.0.0+dfsg/addons/website/static/src/js/utils.js:60:                   .append(`<div>${item.label}</div>`)
odoo-14.0.0+dfsg/addons/website/static/src/js/utils.js-61-                   .appendTo(ul);
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/scss/compatibility/bs3_for_12_0.scss-158-    @include media-breakpoint-up($breakpoint, $-compat-breakpoints) {
odoo-14.0.0+dfsg/addons/website/static/src/scss/compatibility/bs3_for_12_0.scss:159:        // `$grid-columns - 1` because offsetting by the width of an entire row isn't possible
odoo-14.0.0+dfsg/addons/website/static/src/scss/compatibility/bs3_for_12_0.scss-160-        @for $i from 0 through ($grid-columns - 1) {
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_chart/options.js-305-    _displayRemoveButton: function (tdIndex, btnClass) {
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_chart/options.js:306:        const removeBtn = this.tableEl.querySelectorAll(`td we-button.${btnClass}`);
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_chart/options.js-307-        removeBtn.forEach(el => el.style.display = ''); //hide all
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_chart/options.js-465-        } else {
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_chart/options.js:466:            this.colorPaletteSelectedInput = this.tableEl.querySelector(`tr:first-child th:nth-of-type(${col + 1}) input`);
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_chart/options.js-467-        }
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_countdown/000.js-283-        const nbSize = this.size / 4;
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_countdown/000.js:284:        ctx.font = `${nbSize}px Arial`;
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_countdown/000.js-285-        ctx.fillStyle = this.textColor;
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_countdown/000.js-290-        const unitSize = this.size / 12;
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_countdown/000.js:291:        ctx.font = `${unitSize}px Arial`;
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_countdown/000.js-292-        ctx.fillText(textUnit, canvas.width / 2, canvas.height / 2 + nbSize / 1.5, this.width);
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_image_gallery/options.js-377-                for (const modeName of params.possibleValues) {
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_image_gallery/options.js:378:                    if (this.$target.hasClass(`o_${modeName}`)) {
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_image_gallery/options.js-379-                        activeModeName = modeName;
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_image_gallery/options.js-386-            case 'columns': {
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_image_gallery/options.js:387:                return `${this._getColumns()}`;
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_image_gallery/options.js-388-            }
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_media_list/options.js-21-        for (const possibleValue of params.possibleValues) {
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_media_list/options.js:22:            $image.removeClass(`col-lg-${possibleValue}`);
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_media_list/options.js:23:            $content.removeClass(`col-lg-${12 - possibleValue}`);
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_media_list/options.js-24-        }
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_media_list/options.js:25:        $image.addClass(`col-lg-${widgetValue}`);
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_media_list/options.js:26:        $content.addClass(`col-lg-${12 - widgetValue}`);
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_media_list/options.js-27-    },
##############################################
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_media_list/options.js-40-                for (const possibleValue of params.possibleValues) {
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_media_list/options.js:41:                    if ($image.hasClass(`col-lg-${possibleValue}`)) {
odoo-14.0.0+dfsg/addons/website/static/src/snippets/s_media_list/options.js-42-                        return possibleValue;
##############################################
odoo-14.0.0+dfsg/addons/website_blog/static/src/js/website_blog.editor.js-295-    removeTag(previewMode, widgetValue, params) {
odoo-14.0.0+dfsg/addons/website_blog/static/src/js/website_blog.editor.js:296:        this.tagIDs = this.tagIDs.filter(tagID => (`${tagID}` !== widgetValue));
odoo-14.0.0+dfsg/addons/website_blog/static/src/js/website_blog.editor.js-297-        if (widgetValue.startsWith(NEW_TAG_PREFIX)) {
##############################################
odoo-14.0.0+dfsg/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js-170-        if ($('.interested_partner_assign_form .comment_interested').val() && $('.interested_partner_assign_form .contacted_interested').prop('checked')) {
odoo-14.0.0+dfsg/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js:171:            this._buttonExec($(ev.currentTarget), this._confirmInterestedPartner);
odoo-14.0.0+dfsg/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js-172-        } else {
##############################################
odoo-14.0.0+dfsg/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js-182-        ev.stopPropagation();
odoo-14.0.0+dfsg/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js:183:        this._buttonExec($(ev.currentTarget), this._confirmDesinterestedPartner);
odoo-14.0.0+dfsg/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js-184-    },
##############################################
odoo-14.0.0+dfsg/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js-211-        ev.stopPropagation();
odoo-14.0.0+dfsg/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js:212:        this._buttonExec($(ev.currentTarget), this._editContact);
odoo-14.0.0+dfsg/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js-213-    },
##############################################
odoo-14.0.0+dfsg/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js-220-        ev.stopPropagation();
odoo-14.0.0+dfsg/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js:221:        this._buttonExec($(ev.currentTarget), this._createOpportunity);
odoo-14.0.0+dfsg/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js-222-    },
##############################################
odoo-14.0.0+dfsg/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js-230-        if ($(".edit_opp_form")[0].checkValidity()) {
odoo-14.0.0+dfsg/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js:231:            this._buttonExec($(ev.currentTarget), this._editOpportunity);
odoo-14.0.0+dfsg/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js-232-        }
##############################################
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js-10-const { Store, set, get, del } = idbKeyval;
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js:11:const pendingRequestsQueueName = `${PREFIX}-pending-requests`;
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js:12:const cacheName = `${PREFIX}-cache`;
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js:13:const syncStore = new Store(`${PREFIX}-sync-db`, `${PREFIX}-sync-store`);
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js:14:const cacheStore = new Store(`${PREFIX}-cache-db`, `${PREFIX}-cache-store`);
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js:15:const offlineRoute = `${self.registration.scope}/offline`;
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js-16-const scopeURL = new URL(self.registration.scope);
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js:17:const cdnURL = CDN_URL ? (CDN_URL.startsWith("http") ? new URL(CDN_URL) : new URL(`http:${CDN_URL}`)) : undefined;
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js-18-
##############################################
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js-155-    if (url.hostname !== scopeURL.hostname && (!cdnURL || url.hostname !== cdnURL.hostname)) {
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js:156:        console.error(`ignoring cache for ${request.url} => ${url.hostname}, local: ${scopeURL.hostname}, cdn: ${cdnURL ? cdnURL.hostname : cdnURL}`);
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js-157-        return;
##############################################
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js-165-    if (!response || !response.ok || response.type !== "basic") {
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js:166:        console.error(`ignoring cache for ${request.url} => ${response.type}, mode: ${request.mode}, cache: ${request.cache}`);
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js-167-        return;
##############################################
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js-262-        } else {
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js:263:            console.warn(`Offline ${requestCopy.method} request currently not supported`, requestCopy);
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js-264-        }
##############################################
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js-308-        } catch (error) {
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js:309:            console.error(`fail to prefetch ${url} : ${error}`);
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js-310-        }
##############################################
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js-341-    }
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js:342:    throw new Error(`Action '${action}' not found.`);
odoo-14.0.0+dfsg/addons/website_event_track/static/src/js/service_worker.js-343-};
##############################################
odoo-14.0.0+dfsg/addons/website_event_track_exhibitor/static/src/js/event_exhibitor_connect.js-52-        let rpcPromise = this._rpc({
odoo-14.0.0+dfsg/addons/website_event_track_exhibitor/static/src/js/event_exhibitor_connect.js:53:            route: `/event_sponsor/${this.sponsorId}/read`,
odoo-14.0.0+dfsg/addons/website_event_track_exhibitor/static/src/js/event_exhibitor_connect.js-54-        }).then(function (readData) {
##############################################
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/000.js-309-            // willStart for public widgets...
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/000.js:310:            this.__started.then(() => $result.replaceWith(qweb.render(`website_form.status_${status}`, {
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/000.js-311-                message: message,
##############################################
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js-513-            case 'addActionField': {
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js:514:                const value = this.$target.find(`.s_website_form_dnone input[name="${params.fieldName}"]`).val();
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js-515-                if (value) {
##############################################
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js-561-                    // get default value or for many2one fields the first option.
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js:562:                    const currentValue = this.$target.find(`.s_website_form_dnone input[name="${field.name}"]`).val();
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js-563-                    const defaultValue = field.defaultValue || field.records[0].id;
##############################################
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js-577-    _addHiddenField: function (value, fieldName) {
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js:578:        this.$target.find(`.s_website_form_dnone:has(input[name="${fieldName}"])`).remove();
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js-579-        if (value) {
##############################################
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js-695-            span.classList.add('s_website_form_mark');
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js:696:            span.textContent = ` ${mark}`;
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js-697-            field.querySelector('.s_website_form_label').appendChild(span);
##############################################
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js-818-        }
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js:819:        const name = this.el.querySelector(`[data-custom-field="${value}"]`).textContent;
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js:820:        const field = this._getCustomField(value, `Custom ${name}`);
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js-821-        this._setActiveProperties(field);
##############################################
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js-1147-                const template = document.createElement('template');
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js:1148:                template.innerHTML = qweb.render(`website_form.${type}`, params);
odoo-14.0.0+dfsg/addons/website_form/static/src/snippets/s_website_form/options.js-1149-                multiInputsWrap.appendChild(template.content.firstElementChild);
##############################################
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-9-            content: "Open the select",
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js:10:            trigger: `we-select:has(we-button:contains("${text}")) we-toggler`,
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-11-        },
##############################################
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-13-            content: "Click on the option",
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js:14:            trigger: `we-select we-button:contains("${text}")`,
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-15-        }];
##############################################
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-19-            content: "Open the select",
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js:20:            trigger: `we-select:has(we-button[${data}]) we-toggler`,
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-21-        }, {
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-22-            content: "Click on the option",
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js:23:            trigger: `we-select we-button[${data}]`,
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-24-        }];
##############################################
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-37-            content: "Wait for field to load",
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js:38:            trigger: `.s_website_form_field[data-type="${name}"], .s_website_form_input[name="${name}"]`, //custom or existing field
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-39-            run: function () {},
##############################################
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-56-        if (label) {
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js:57:            testText += `:has(label:contains("${label}"))`;
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-58-            ret.push({
##############################################
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-60-                trigger: 'we-input[data-set-label-text] input',
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js:61:                run: `text ${label}`,
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-62-            });
##############################################
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-64-        if (type !== 'checkbox' && type !== 'radio' && type !== 'select') {
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js:65:            let inputType = type === 'textarea' ? type : `input[type="${type}"]`;
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js:66:            testText += `:has(${inputType}[name="${name}"]${required ? '[required]' : ''})`;
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-67-        }
##############################################
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-75-    const addCustomField = function (name, type, label, required, hidden) {
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js:76:        return addField(`data-custom-field="${name}"`, name, type, label, required, hidden);
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-77-    };
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-78-    const addExistingField = function (name, type, label, required, hidden) {
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js:79:        return addField(`data-existing-field="${name}"`, name, type, label, required, hidden);
odoo-14.0.0+dfsg/addons/website_form/static/tests/tours/website_form_editor.js-80-    };
##############################################
odoo-14.0.0+dfsg/addons/website_jitsi/static/src/js/chat_room.js-227-            // we are on mobile, open the room in the application
odoo-14.0.0+dfsg/addons/website_jitsi/static/src/js/chat_room.js:228:            window.location = `intent://${this.jitsiServer}/${roomName}#Intent;scheme=org.jitsi.meet;package=org.jitsi.meet;end`;
odoo-14.0.0+dfsg/addons/website_jitsi/static/src/js/chat_room.js-229-            return true;
##############################################
odoo-14.0.0+dfsg/addons/website_jitsi/static/src/js/chat_room.js-261-          await $.ajax({
odoo-14.0.0+dfsg/addons/website_jitsi/static/src/js/chat_room.js:262:              url: `https://${this.jitsiServer}/external_api.js`,
odoo-14.0.0+dfsg/addons/website_jitsi/static/src/js/chat_room.js-263-              dataType: "script",
##############################################
odoo-14.0.0+dfsg/addons/website_livechat/static/tests/helpers/mock_server.js-55-                : undefined;
odoo-14.0.0+dfsg/addons/website_livechat/static/tests/helpers/mock_server.js:56:            const visitor_name = `${visitor.display_name}${country ? `(${country.name})` : ''}`;
odoo-14.0.0+dfsg/addons/website_livechat/static/tests/helpers/mock_server.js-57-            const members = [this.currentPartnerId];
##############################################
odoo-14.0.0+dfsg/addons/website_mass_mailing/static/src/js/website_mass_mailing.js-110-                type: toastType,
odoo-14.0.0+dfsg/addons/website_mass_mailing/static/src/js/website_mass_mailing.js:111:                title: _t(`${toastType === 'success' ? 'Success' : 'Error'}`),
odoo-14.0.0+dfsg/addons/website_mass_mailing/static/src/js/website_mass_mailing.js-112-                message: result.toast_content,
##############################################
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js-211-        const classes = Object.values(this.ribbons).reduce((classes, ribbon) => {
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js:212:            return classes + ` ${ribbon.html_class}`;
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js-213-        }, '') + this.deletedRibbonClasses;
##############################################
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js-221-    _onDeleteRibbon(ev) {
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js:222:        this.deletedRibbonClasses += ` ${this.ribbons[ev.data.id].html_class}`;
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js-223-        delete this.ribbons[ev.data.id];
##############################################
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js-233-        if (previousRibbon) {
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js:234:            this.deletedRibbonClasses += ` ${previousRibbon.html_class}`;
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js-235-        }
##############################################
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js-422-        const ribbon = this.ribbons[widgetValue] || {html: '', bg_color: '', text_color: '', html_class: ''};
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js:423:        const $ribbons = $(`[data-ribbon-id="${widgetValue}"] .o_ribbon:not(.o_wsale_ribbon_dummy)`);
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js-424-        $ribbons.html(ribbon.html);
##############################################
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js-433-        if (!this.ribbons[widgetValue]) {
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js:434:            $(`[data-ribbon-id="${widgetValue}"]`).each((index, product) => delete product.dataset.ribbonId);
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js-435-        }
##############################################
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js-503-    setRibbonMode(previewMode, widgetValue, params) {
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js:504:        this.$ribbon[0].className = this.$ribbon[0].className.replace(/o_(ribbon|tag)_(left|right)/, `o_${widgetValue}_$2`);
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js-505-    },
##############################################
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js-509-    setRibbonPosition(previewMode, widgetValue, params) {
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js:510:        this.$ribbon[0].className = this.$ribbon[0].className.replace(/o_(ribbon|tag)_(left|right)/, `o_$1_${widgetValue}`);
odoo-14.0.0+dfsg/addons/website_sale/static/src/js/website_sale.editor.js-511-    },
##############################################
odoo-14.0.0+dfsg/addons/website_slides/static/src/js/slides_course_fullscreen_player.js-547-            }
odoo-14.0.0+dfsg/addons/website_slides/static/src/js/slides_course_fullscreen_player.js:548:            var fullscreenUrl = _.str.sprintf('%s?%s', url, $.param(params));
odoo-14.0.0+dfsg/addons/website_slides/static/src/js/slides_course_fullscreen_player.js-549-            history.pushState(null, '', fullscreenUrl);
##############################################
odoo-14.0.0+dfsg/addons/website_slides/static/src/js/slides_course_join.js-79-        } else {
odoo-14.0.0+dfsg/addons/website_slides/static/src/js/slides_course_join.js:80:            url = `/slides/${this.channel.channelId}`;
odoo-14.0.0+dfsg/addons/website_slides/static/src/js/slides_course_join.js-81-        }
##############################################
odoo-14.0.0+dfsg/doc/_extensions/autojsdoc/parser/visitor.py-78-
odoo-14.0.0+dfsg/doc/_extensions/autojsdoc/parser/visitor.py:79:    For each node, calls ``enter_$NODETYPE``, visits the children then calls
odoo-14.0.0+dfsg/doc/_extensions/autojsdoc/parser/visitor.py:80:    ``exit_$NODETYPE``. If the enter or exit methods are not present on the
odoo-14.0.0+dfsg/doc/_extensions/autojsdoc/parser/visitor.py-81-    visitor, falls back on ``enter_generic`` and ``exit_generic``.
##############################################
odoo-14.0.0+dfsg/doc/_extensions/odoo_ext/static/jquery.min.js-1-/*! jQuery v2.1.3 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
odoo-14.0.0+dfsg/doc/_extensions/odoo_ext/static/jquery.min.js:2:!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.3",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=mb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=nb(b);function qb(){}qb.prototype=d.filters=d.pseudos,d.setFilters=new qb,g=gb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?gb.error(a):z(a,i).slice(0)};function rb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)
odoo-14.0.0+dfsg/doc/_extensions/odoo_ext/static/jquery.min.js:3:},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=L.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,R=["Top","Right","Bottom","Left"],S=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},T=/^(?:checkbox|radio)$/i;!function(){var a=l.createDocumentFragment(),b=a.appendChild(l.createElement("div")),c=l.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||l,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=W.test(e)?this.mouseHooks:V.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=l),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==_()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===_()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?Z:$):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:$,isPropagationStopped:$,isImmediatePropagationStopped:$,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=Z,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=Z,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=Z,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=L.access(d,b);e||d.addEventListener(a,c,!0),L.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=L.access(d,b)-1;e?L.access(d,b,e):(d.removeEventListener(a,c,!0),L.remove(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=$;else if(!d)return this;return 1===e&&(f=d,d=function(a){return n().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=$),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ab=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ib={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1></$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=qb[0].contentDocument,b.write(),b.close(),c=sb(a,b),qb.detach()),rb[a]=c),c}var ub=/^margin/,vb=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wb=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)};function xb(a,b,c){var d,e,f,g,h=a.style;return c=c||wb(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),vb.test(g)&&ub.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function yb(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),f.removeChild(c),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var zb=/^(none|table(?!-c[ea]).+)/,Ab=new RegExp("^("+Q+")(.*)$","i"),Bb=new RegExp("^([+-])=("+Q+")","i"),Cb={position:"absolute",visibility:"hidden",display:"block"},Db={letterSpacing:"0",fontWeight:"400"},Eb=["Webkit","O","Moz","ms"];function Fb(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Eb.length;while(e--)if(b=Eb[e]+c,b in a)return b;return d}function Gb(a,b,c){var d=Ab.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Hb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ib(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wb(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xb(a,b,f),(0>e||null==e)&&(e=a.style[b]),vb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Hb(a,b,c||(g?"border":"content"),d,f)+"px"}function Jb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",tb(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Bb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xb(a,b,d)),"normal"===e&&b in Db&&(e=Db[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?zb.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Cb,function(){return Ib(a,b,d)}):Ib(a,b,d):void 0},set:function(a,c,d){var e=d&&wb(a);return Gb(a,c,d?Hb(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=yb(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ub.test(a)||(n.cssHooks[a+b].set=Gb)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Jb(this,!0)},hide:function(){return Jb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Kb(a,b,c,d,e){return new Kb.prototype.init(a,b,c,d,e)}n.Tween=Kb,Kb.prototype={constructor:Kb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Kb.propHooks[this.prop];return a&&a.get?a.get(this):Kb.propHooks._default.get(this)},run:function(a){var b,c=Kb.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Kb.propHooks._default.set(this),this}},Kb.prototype.init.prototype=Kb.prototype,Kb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Kb.propHooks.scrollTop=Kb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Kb.prototype.init,n.fx.step={};var Lb,Mb,Nb=/^(?:toggle|show|hide)$/,Ob=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pb=/queueHooks$/,Qb=[Vb],Rb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Ob.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Ob.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sb(){return setTimeout(function(){Lb=void 0}),Lb=n.now()}function Tb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ub(a,b,c){for(var d,e=(Rb[b]||[]).concat(Rb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Vb(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||tb(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Nb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?tb(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ub(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xb(a,b,c){var d,e,f=0,g=Qb.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Lb||Sb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Lb||Sb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wb(k,j.opts.specialEasing);g>f;f++)if(d=Qb[f].call(j,a,k,j.opts))return d;return n.map(k,Ub,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xb,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Rb[c]=Rb[c]||[],Rb[c].unshift(b)},prefilter:function(a,b){b?Qb.unshift(a):Qb.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xb(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Tb(b,!0),a,d,e)}}),n.each({slideDown:Tb("show"),slideUp:Tb("hide"),slideToggle:Tb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Lb=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Lb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Mb||(Mb=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(Mb),Mb=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=l.createElement("input"),b=l.createElement("select"),c=b.appendChild(l.createElement("option"));a.type="checkbox",k.checkOn=""!==a.value,k.optSelected=c.selected,b.disabled=!0,k.optDisabled=!c.disabled,a=l.createElement("input"),a.value="t",a.type="radio",k.radioValue="t"===a.value}();var Yb,Zb,$b=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return J(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Zb:Yb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))
odoo-14.0.0+dfsg/doc/_extensions/odoo_ext/static/jquery.min.js:4:},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Zb={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$b[b]||n.find.attr;$b[b]=function(a,b,d){var e,f;return d||(f=$b[b],$b[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$b[b]=f),e}});var _b=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_b.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ac=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ac," ").indexOf(b)>=0)return!0;return!1}});var bc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cc=n.now(),dc=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var ec=/#.*$/,fc=/([?&])_=[^&]*/,gc=/^(.*?):[ \t]*([^\r\n]*)$/gm,hc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,ic=/^(?:GET|HEAD)$/,jc=/^\/\//,kc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,lc={},mc={},nc="*/".concat("*"),oc=a.location.href,pc=kc.exec(oc.toLowerCase())||[];function qc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function rc(a,b,c,d){var e={},f=a===mc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function sc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function tc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function uc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:oc,type:"GET",isLocal:hc.test(pc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":nc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?sc(sc(a,n.ajaxSettings),b):sc(n.ajaxSettings,a)},ajaxPrefilter:qc(lc),ajaxTransport:qc(mc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=gc.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||oc)+"").replace(ec,"").replace(jc,pc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=kc.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===pc[1]&&h[2]===pc[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(pc[3]||("http:"===pc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),rc(lc,k,b,v),2===t)return v;i=n.event&&k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!ic.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(dc.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=fc.test(d)?d.replace(fc,"$1_="+cc++):d+(dc.test(d)?"&":"?")+"_="+cc++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+nc+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=rc(mc,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=tc(k,v,f)),u=uc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var vc=/%20/g,wc=/\[\]$/,xc=/\r?\n/g,yc=/^(?:submit|button|image|reset|file)$/i,zc=/^(?:input|select|textarea|keygen)/i;function Ac(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||wc.test(a)?d(a,e):Ac(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Ac(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Ac(c,a[c],b,e);return d.join("&").replace(vc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&zc.test(this.nodeName)&&!yc.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(xc,"\r\n")}}):{name:b.name,value:c.replace(xc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Bc=0,Cc={},Dc={0:200,1223:204},Ec=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Cc)Cc[a]()}),k.cors=!!Ec&&"withCredentials"in Ec,k.ajax=Ec=!!Ec,n.ajaxTransport(function(a){var b;return k.cors||Ec&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Bc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Cc[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Dc[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Cc[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),l.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Fc=[],Gc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Fc.pop()||n.expando+"_"+cc++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Gc.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Gc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Gc,"$1"+e):b.jsonp!==!1&&(b.url+=(dc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Fc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||l;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var Hc=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Hc)return Hc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var Ic=a.document.documentElement;function Jc(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(typeof d.getBoundingClientRect!==U&&(e=d.getBoundingClientRect()),c=Jc(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||Ic;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Ic})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;n.fn[b]=function(e){return J(this,function(b,e,f){var g=Jc(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=yb(k.pixelPosition,function(a,c){return c?(c=xb(a,b),vb.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return J(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Kc=a.jQuery,Lc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Lc),b&&a.jQuery===n&&(a.jQuery=Kc),n},typeof b===U&&(a.jQuery=a.$=n),n});
##############################################
odoo-14.0.0+dfsg/doc/cla/stats.py-28-    kol = []
odoo-14.0.0+dfsg/doc/cla/stats.py:29:    p = subprocess.Popen("git ls-tree -r -z --name-only HEAD | grep -z '.%s$' | xargs -0 -n1 git blame --line-porcelain HEAD |grep  '^author-mail ' |sort |uniq -c|sort -nr" % ext, shell=True, stdout = subprocess.PIPE)
odoo-14.0.0+dfsg/doc/cla/stats.py-30-    for i in p.stdout.read().split('\n'):
##############################################
odoo-14.0.0+dfsg/doc/howtos/backend.rst-664-    ``replace``
odoo-14.0.0+dfsg/doc/howtos/backend.rst:665:        replaces the matched element with the ``xpath``'s body, replacing any ``$0`` node occurrence
odoo-14.0.0+dfsg/doc/howtos/backend.rst-666-        in the new body with the original element
##############################################
odoo-14.0.0+dfsg/doc/howtos/backend.rst-1003-
odoo-14.0.0+dfsg/doc/howtos/backend.rst:1004:``decoration-{$name}``
odoo-14.0.0+dfsg/doc/howtos/backend.rst-1005-    allow changing the style of a row's text based on the corresponding
##############################################
odoo-14.0.0+dfsg/doc/howtos/backend.rst-1017-
odoo-14.0.0+dfsg/doc/howtos/backend.rst:1018:    ``{$name}`` can be ``bf`` (``font-weight: bold``), ``it``
odoo-14.0.0+dfsg/doc/howtos/backend.rst-1019-    (``font-style: italic``), or any `bootstrap contextual color
##############################################
odoo-14.0.0+dfsg/doc/howtos/web.rst-339-
odoo-14.0.0+dfsg/doc/howtos/web.rst:340:All widgets have a :attr:`~odoo.Widget.$el` which represents the
odoo-14.0.0+dfsg/doc/howtos/web.rst-341-section of page they're in charge of (as a jQuery_ object). Widget content
odoo-14.0.0+dfsg/doc/howtos/web.rst:342:should be inserted there. By default, :attr:`~odoo.Widget.$el` is an
odoo-14.0.0+dfsg/doc/howtos/web.rst-343-empty ``<div>`` element.
##############################################
odoo-14.0.0+dfsg/doc/howtos/web.rst-387-* Finally it tells ``GreetingsWidget`` where to insert itself, delegating part
odoo-14.0.0+dfsg/doc/howtos/web.rst:388:  of its :attr:`~odoo.Widget.$el` to the ``GreetingsWidget``.
odoo-14.0.0+dfsg/doc/howtos/web.rst-389-
##############################################
odoo-14.0.0+dfsg/doc/howtos/web.rst-936-
odoo-14.0.0+dfsg/doc/howtos/web.rst:937:    The global jQuery function ``$()`` should *never* be used unless it is
odoo-14.0.0+dfsg/doc/howtos/web.rst-938-    absolutely necessary: selection on a widget's root are scoped to the
odoo-14.0.0+dfsg/doc/howtos/web.rst:939:    widget and local to it, but selections with ``$()`` are global to the
odoo-14.0.0+dfsg/doc/howtos/web.rst-940-    page/application and may match parts of other widgets and views, leading
##############################################
odoo-14.0.0+dfsg/doc/howtos/web.rst-1280-
odoo-14.0.0+dfsg/doc/howtos/web.rst:1281:Although jQuery_ provides a `$.ajax`_ function for network interactions,
odoo-14.0.0+dfsg/doc/howtos/web.rst-1282-communicating with Odoo requires additional metadata whose setup before every
##############################################
odoo-14.0.0+dfsg/doc/reference/cmdline.rst-47-    saves the server configuration to the current configuration file
odoo-14.0.0+dfsg/doc/reference/cmdline.rst:48:    (:file:`{$HOME}/.odoorc` by default, and can be overridden using
odoo-14.0.0+dfsg/doc/reference/cmdline.rst-49-    :option:`-c`).
##############################################
odoo-14.0.0+dfsg/doc/reference/cmdline.rst-479-
odoo-14.0.0+dfsg/doc/reference/cmdline.rst:480:The default configuration file is :file:`{$HOME}/.odoorc` which
odoo-14.0.0+dfsg/doc/reference/cmdline.rst-481-can be overridden using :option:`--config <odoo-bin -c>`. Specifying
##############################################
odoo-14.0.0+dfsg/doc/reference/javascript_reference.rst-796-  restricted to a given component's scope. Unfiltered selections such as
odoo-14.0.0+dfsg/doc/reference/javascript_reference.rst:797:  ``$(selector)`` or ``document.querySelectorAll(selector)`` will generally
odoo-14.0.0+dfsg/doc/reference/javascript_reference.rst-798-  lead to unintended or incorrect behavior.  Odoo Web's
odoo-14.0.0+dfsg/doc/reference/javascript_reference.rst-799-  :class:`~Widget` has an attribute providing its DOM root
odoo-14.0.0+dfsg/doc/reference/javascript_reference.rst:800:  (:attr:`~Widget.$el`), and a shortcut to select nodes directly
odoo-14.0.0+dfsg/doc/reference/javascript_reference.rst-801-  (:func:`~Widget.$`).
##############################################
odoo-14.0.0+dfsg/doc/reference/javascript_reference.rst-803-* More generally, never assume your components own or controls anything beyond
odoo-14.0.0+dfsg/doc/reference/javascript_reference.rst:804:  its own personal :attr:`~Widget.$el` (so, avoid using a reference to the
odoo-14.0.0+dfsg/doc/reference/javascript_reference.rst-805-  parent widget)
##############################################
odoo-14.0.0+dfsg/doc/reference/qweb.rst-145-
odoo-14.0.0+dfsg/doc/reference/qweb.rst:146:.. warning:: ``$as`` will be replaced by the name passed to ``t-as``
odoo-14.0.0+dfsg/doc/reference/qweb.rst-147-
odoo-14.0.0+dfsg/doc/reference/qweb.rst:148::samp:`{$as}_all` (deprecated)
odoo-14.0.0+dfsg/doc/reference/qweb.rst-149-    the object being iterated over
##############################################
odoo-14.0.0+dfsg/doc/reference/qweb.rst-152-
odoo-14.0.0+dfsg/doc/reference/qweb.rst:153::samp:`{$as}_value`
odoo-14.0.0+dfsg/doc/reference/qweb.rst:154:    the current iteration value, identical to ``$as`` for lists and integers,
odoo-14.0.0+dfsg/doc/reference/qweb.rst:155:    but for mappings it provides the value (where ``$as`` provides the key)
odoo-14.0.0+dfsg/doc/reference/qweb.rst:156::samp:`{$as}_index`
odoo-14.0.0+dfsg/doc/reference/qweb.rst-157-    the current iteration index (the first item of the iteration has index 0)
odoo-14.0.0+dfsg/doc/reference/qweb.rst:158::samp:`{$as}_size`
odoo-14.0.0+dfsg/doc/reference/qweb.rst-159-    the size of the collection if it is available
odoo-14.0.0+dfsg/doc/reference/qweb.rst:160::samp:`{$as}_first`
odoo-14.0.0+dfsg/doc/reference/qweb.rst-161-    whether the current item is the first of the iteration (equivalent to
odoo-14.0.0+dfsg/doc/reference/qweb.rst:162:    :samp:`{$as}_index == 0`)
odoo-14.0.0+dfsg/doc/reference/qweb.rst:163::samp:`{$as}_last`
odoo-14.0.0+dfsg/doc/reference/qweb.rst-164-    whether the current item is the last of the iteration (equivalent to
odoo-14.0.0+dfsg/doc/reference/qweb.rst:165:    :samp:`{$as}_index + 1 == {$as}_size`), requires the iteratee's size be
odoo-14.0.0+dfsg/doc/reference/qweb.rst-166-    available
odoo-14.0.0+dfsg/doc/reference/qweb.rst:167::samp:`{$as}_parity` (deprecated)
odoo-14.0.0+dfsg/doc/reference/qweb.rst-168-    either ``"even"`` or ``"odd"``, the parity of the current iteration round
odoo-14.0.0+dfsg/doc/reference/qweb.rst:169::samp:`{$as}_even` (deprecated)
odoo-14.0.0+dfsg/doc/reference/qweb.rst-170-    a boolean flag indicating that the current iteration round is on an even
odoo-14.0.0+dfsg/doc/reference/qweb.rst-171-    index
odoo-14.0.0+dfsg/doc/reference/qweb.rst:172::samp:`{$as}_odd` (deprecated)
odoo-14.0.0+dfsg/doc/reference/qweb.rst-173-    a boolean flag indicating that the current iteration round is on an odd
##############################################
odoo-14.0.0+dfsg/doc/reference/qweb.rst-203-
odoo-14.0.0+dfsg/doc/reference/qweb.rst:204::samp:`t-att-{$name}`
odoo-14.0.0+dfsg/doc/reference/qweb.rst:205:    an attribute called ``$name`` is created, the attribute value is evaluated
odoo-14.0.0+dfsg/doc/reference/qweb.rst-206-    and the result is set as the attribute's value::
##############################################
odoo-14.0.0+dfsg/doc/reference/qweb.rst-212-        <div a="42"></div>
odoo-14.0.0+dfsg/doc/reference/qweb.rst:213::samp:`t-attf-{$name}`
odoo-14.0.0+dfsg/doc/reference/qweb.rst-214-    same as previous, but the parameter is a :term:`format string`
##############################################
odoo-14.0.0+dfsg/doc/reference/views.rst-99-
odoo-14.0.0+dfsg/doc/reference/views.rst:100:* ``decoration-{$name}`` (``list`` & ``gantt``)
odoo-14.0.0+dfsg/doc/reference/views.rst-101-
##############################################
odoo-14.0.0+dfsg/doc/reference/views.rst-281-    the content of the inheritance spec replaces the matched node.
odoo-14.0.0+dfsg/doc/reference/views.rst:282:    Any text node containing only ``$0`` within the contents of the spec will
odoo-14.0.0+dfsg/doc/reference/views.rst-283-    be replaced  by a complete copy of the matched node, effectively wrapping
##############################################
odoo-14.0.0+dfsg/doc/reference/views.rst-964-  name of the field used to color the pills according to its value
odoo-14.0.0+dfsg/doc/reference/views.rst:965:``decoration-{$name}``
odoo-14.0.0+dfsg/doc/reference/views.rst-966-    allow changing the style of a row's text based on the corresponding
##############################################
odoo-14.0.0+dfsg/doc/reference/views.rst-978-
odoo-14.0.0+dfsg/doc/reference/views.rst:979:    ``{$name}`` can be one of the following `bootstrap contextual color`_ (``danger``,
odoo-14.0.0+dfsg/doc/reference/views.rst-980-    ``info``, ``secondary``, ``success`` or ``warning``).
##############################################
odoo-14.0.0+dfsg/doc/reference/views.rst-1406-
odoo-14.0.0+dfsg/doc/reference/views.rst:1407:``decoration-{$name}``
odoo-14.0.0+dfsg/doc/reference/views.rst-1408-    allow changing the style of a row's text based on the corresponding
##############################################
odoo-14.0.0+dfsg/doc/reference/views.rst-1410-
odoo-14.0.0+dfsg/doc/reference/views.rst:1411:    ``{$name}`` can be ``bf`` (``font-weight: bold``), ``it``
odoo-14.0.0+dfsg/doc/reference/views.rst-1412-    (``font-style: italic``), or any `bootstrap contextual color`_ (``danger``,
##############################################
odoo-14.0.0+dfsg/doc/reference/views.rst-1527-        according to their content, and this attribute is thus ignored.
odoo-14.0.0+dfsg/doc/reference/views.rst:1528:    ``decoration-{$name}``
odoo-14.0.0+dfsg/doc/reference/views.rst-1529-        allow changing the style of a cell's text based on the corresponding
##############################################
odoo-14.0.0+dfsg/doc/reference/views.rst-1531-
odoo-14.0.0+dfsg/doc/reference/views.rst:1532:        ``{$name}`` can be ``bf`` (``font-weight: bold``), ``it``
odoo-14.0.0+dfsg/doc/reference/views.rst-1533-        (``font-style: italic``), or any `bootstrap contextual color`_ (``danger``,
##############################################
odoo-14.0.0+dfsg/odoo/addons/base/models/ir_fields.py-102-        By default, tries to get a method on itself with a name matching the
odoo-14.0.0+dfsg/odoo/addons/base/models/ir_fields.py:103:        pattern ``_$fromtype_to_$field.type`` and returns it.
odoo-14.0.0+dfsg/odoo/addons/base/models/ir_fields.py-104-
##############################################
odoo-14.0.0+dfsg/odoo/addons/base/models/ir_mail_server.py-71-    candidates = address_pattern.findall(ustr(text))
odoo-14.0.0+dfsg/odoo/addons/base/models/ir_mail_server.py:72:    return [formataddr(('', c), charset='ascii') for c in candidates]
odoo-14.0.0+dfsg/odoo/addons/base/models/ir_mail_server.py-73-
##############################################
odoo-14.0.0+dfsg/odoo/addons/base/models/res_partner.py-374-            if partner.email:
odoo-14.0.0+dfsg/odoo/addons/base/models/res_partner.py:375:                partner.email_formatted = tools.formataddr((partner.name or u"False", partner.email or u"False"))
odoo-14.0.0+dfsg/odoo/addons/base/models/res_partner.py-376-            else:
##############################################
odoo-14.0.0+dfsg/odoo/addons/base/tests/test_mail.py-404-
odoo-14.0.0+dfsg/odoo/addons/base/tests/test_mail.py:405:    def test_email_formataddr(self):
odoo-14.0.0+dfsg/odoo/addons/base/tests/test_mail.py-406-        email = 'joe@example.com'
##############################################
odoo-14.0.0+dfsg/odoo/addons/base/tests/test_mail.py-425-                with self.subTest(pair=pair, charset=charset):
odoo-14.0.0+dfsg/odoo/addons/base/tests/test_mail.py:426:                    self.assertEqual(formataddr(pair, charset), expected)
odoo-14.0.0+dfsg/odoo/addons/base/tests/test_mail.py-427-
##############################################
odoo-14.0.0+dfsg/odoo/models.py-4873-    # An instance represents an ordered collection of records in a given
odoo-14.0.0+dfsg/odoo/models.py:4874:    # execution environment. The instance object refers to the environment, and
odoo-14.0.0+dfsg/odoo/models.py-4875-    # the records themselves are represented by their cache dictionary. The 'id'
##############################################
odoo-14.0.0+dfsg/odoo/tools/mail.py-534-        return []
odoo-14.0.0+dfsg/odoo/tools/mail.py:535:    return [formataddr((name, email)) for (name, email) in email_split_tuples(text)]
odoo-14.0.0+dfsg/odoo/tools/mail.py-536-
##############################################
odoo-14.0.0+dfsg/odoo/tools/mail.py-559-
odoo-14.0.0+dfsg/odoo/tools/mail.py:560:def formataddr(pair, charset='utf-8'):
odoo-14.0.0+dfsg/odoo/tools/mail.py-561-    """Pretty format a 2-tuple of the form (realname, email_address).
##############################################
odoo-14.0.0+dfsg/odoo/tools/mail.py-571-
odoo-14.0.0+dfsg/odoo/tools/mail.py:572:    >>> formataddr(('John Doe', 'johndoe@example.com'))
odoo-14.0.0+dfsg/odoo/tools/mail.py-573-    '"John Doe" <johndoe@example.com>'
odoo-14.0.0+dfsg/odoo/tools/mail.py-574-
odoo-14.0.0+dfsg/odoo/tools/mail.py:575:    >>> formataddr(('', 'johndoe@example.com'))
odoo-14.0.0+dfsg/odoo/tools/mail.py-576-    'johndoe@example.com'
##############################################
odoo-14.0.0+dfsg/odoo/tools/misc.py-525-
odoo-14.0.0+dfsg/odoo/tools/misc.py:526:def detect_ip_addr():
odoo-14.0.0+dfsg/odoo/tools/misc.py-527-    """Try a very crude method to figure out a valid external
##############################################
odoo-14.0.0+dfsg/odoo/tools/misc.py-531-    """
odoo-14.0.0+dfsg/odoo/tools/misc.py:532:    def _detect_ip_addr():
odoo-14.0.0+dfsg/odoo/tools/misc.py-533-        from array import array
##############################################
odoo-14.0.0+dfsg/odoo/tools/misc.py-572-    try:
odoo-14.0.0+dfsg/odoo/tools/misc.py:573:        ip_addr = _detect_ip_addr()
odoo-14.0.0+dfsg/odoo/tools/misc.py-574-    except Exception:
##############################################
odoo-14.0.0+dfsg/debian/rules-15-	rm debian/odoo/usr/lib/python3*/dist-packages/odoo/addons/point_of_sale/static/src/fonts/Inconsolata.otf
odoo-14.0.0+dfsg/debian/rules:16:	for LINKTARGET in `awk '{ print $2 }' odoo.links`; do rm debian/odoo/${LINKTARGET} ; done
odoo-14.0.0+dfsg/debian/rules-17-	find debian/odoo -name LICENSE.txt -exec rm {} \;