/** Copyright (C) 2020-2025 Kedron Holdings LLC, All Rights Reserved. This file is part of Reactor.
 *  For info and license terms please see https://reactor.toggledbits.com/
 *  ------------------------------------------------------------------------------
*/
const a33_0x5e6632 = a33_0xab04;
(function (_0x1fbbb4, _0x561cbb) {
    const _0x18d46e = a33_0xab04, _0x21a2fa = _0x1fbbb4();
    while (!![]) {
        try {
            const _0x5ca73c = parseInt(_0x18d46e(0x1b7)) / 0x1 + parseInt(_0x18d46e(0x1ba)) / 0x2 * (-parseInt(_0x18d46e(0x1c6)) / 0x3) + -parseInt(_0x18d46e(0x1b1)) / 0x4 * (-parseInt(_0x18d46e(0x1bb)) / 0x5) + -parseInt(_0x18d46e(0x1b5)) / 0x6 + -parseInt(_0x18d46e(0x1bc)) / 0x7 + parseInt(_0x18d46e(0x1b6)) / 0x8 * (-parseInt(_0x18d46e(0x1b2)) / 0x9) + parseInt(_0x18d46e(0x1c5)) / 0xa;
            if (_0x5ca73c === _0x561cbb)
                break;
            else
                _0x21a2fa['push'](_0x21a2fa['shift']());
        } catch (_0x346fda) {
            _0x21a2fa['push'](_0x21a2fa['shift']());
        }
    }
}(a33_0x5dc1, 0x9130c));
function a33_0x5dc1() {
    const _0x4488f4 = [
        'send',
        './MessageBus.js',
        'sentFrom',
        'warn',
        '%1\x20publishing\x20without\x20specifying\x20event\x20type',
        '9745400VgDYXP',
        '372318VIxdgB',
        'update',
        '589588QXurBQ',
        '603NgsExm',
        'log',
        'getBusName',
        '2429742VnFVNw',
        '93864lZKkWB',
        '360853SiDBLw',
        'toString',
        'stack',
        '2XTsDaa',
        '35YVqsDc',
        '3201086OYAbqx',
        '\x20publishing\x20without\x20specifying\x20event\x20type',
        'publish',
        'getPrototypeOf'
    ];
    a33_0x5dc1 = function () {
        return _0x4488f4;
    };
    return a33_0x5dc1();
}
const version = 0x6235, MessageBus = require(a33_0x5e6632(0x1c1));
function a33_0xab04(_0x3aec9f, _0x4f08f6) {
    const _0x5dc107 = a33_0x5dc1();
    return a33_0xab04 = function (_0xab0413, _0x8987e0) {
        _0xab0413 = _0xab0413 - 0x1b0;
        let _0x2b64d4 = _0x5dc107[_0xab0413];
        return _0x2b64d4;
    }, a33_0xab04(_0x3aec9f, _0x4f08f6);
}
module['exports'] = class Observable {
    [a33_0x5e6632(0x1b4)]() {
        const _0x5f0bd7 = a33_0x5e6632;
        if (!Object[_0x5f0bd7(0x1bf)](this)[_0x5f0bd7(0x1b8)])
            throw new TypeError('Current\x20(Observable)\x20object\x20does\x20not\x20implement\x20getBusName()\x20or\x20toString()');
        return this[_0x5f0bd7(0x1b8)]();
    }
    async [a33_0x5e6632(0x1be)](_0x5c4a4d, _0x562688, ..._0x4f7e55) {
        const _0xf4aad0 = a33_0x5e6632;
        _0x5c4a4d = _0x5c4a4d || this;
        'undefined' === typeof _0x562688 && (this[_0xf4aad0(0x1b3)] ? this[_0xf4aad0(0x1b3)][_0xf4aad0(0x1c3)](_0xf4aad0(0x1c4), this) : console[_0xf4aad0(0x1b3)](String(this) + _0xf4aad0(0x1bd)), _0x562688 = _0xf4aad0(0x1b0));
        let _0xfb0d13 = {
            'sender': this,
            'currentSender': this,
            'type': _0x562688,
            'data': _0x5c4a4d,
            'args': _0x4f7e55
        };
        try {
            throw new Error('OK');
        } catch (_0x2c14ec) {
            _0xfb0d13[_0xf4aad0(0x1c2)] = _0x2c14ec[_0xf4aad0(0x1b9)];
        }
        return MessageBus[_0xf4aad0(0x1c0)](this[_0xf4aad0(0x1b4)](), this, _0xfb0d13);
    }
    ['disconnect']() {
        const _0x54beb4 = a33_0x5e6632;
        MessageBus['disconnect'](this[_0x54beb4(0x1b4)](), ![], ![]);
    }
};