/** Copyright (C) 2020-2026 Kedron Holdings LLC, All Rights Reserved. This file is part of Reactor.
 *  For info and license terms please see https://reactor.toggledbits.com/
 *  ------------------------------------------------------------------------------
*/
function a36_0x4cfa(_0x167806, _0x1dec0e) {
    _0x167806 = _0x167806 - 0xfb;
    const _0x24eea1 = a36_0x24ee();
    let _0x4cfa1a = _0x24eea1[_0x167806];
    return _0x4cfa1a;
}
function a36_0x24ee() {
    const _0x17ebf1 = [
        'subscribe',
        '3694943RvwBum',
        'dump',
        './MessageBus',
        '36LQhAwg',
        'send',
        '721311XQYmWv',
        'connect',
        'dump_observed',
        '10107000YvUoRZ',
        'Can\x27t\x20subscribe\x20to\x20object\x20that\x20is\x20not\x20Observable\x20(',
        'unsubscribe',
        '4276IHQcLu',
        'toString',
        '1000JQdsfV',
        'getBusName',
        'notify',
        'object',
        '108504GOiTqd',
        'stopPropagation',
        'Class\x20does\x20not\x20implement\x20required\x20Observer\x20interface\x20method\x20toString()',
        'bind',
        'undefined',
        '12GUThxA',
        'publish',
        '327Tkwmwf',
        '2876lCUVIV',
        'Missing\x20required\x20implementation\x20for\x20notify()\x20method\x20in\x20',
        '__observer_bound_notify',
        'disconnect',
        '15086434hoRUWv',
        'propagate',
        'exports',
        'Can\x27t\x20observe\x20undefined',
        '635rePpAK',
        'getPrototypeOf'
    ];
    a36_0x24ee = function () {
        return _0x17ebf1;
    };
    return a36_0x24ee();
}
const a36_0x45fe8d = a36_0x4cfa;
(function (_0x18cd75, _0x513e53) {
    const _0x5012ca = a36_0x4cfa, _0x27e21a = _0x18cd75();
    while (!![]) {
        try {
            const _0x112a40 = parseInt(_0x5012ca(0x105)) / 0x1 * (parseInt(_0x5012ca(0x11c)) / 0x2) + -parseInt(_0x5012ca(0x116)) / 0x3 + parseInt(_0x5012ca(0x106)) / 0x4 * (-parseInt(_0x5012ca(0x10e)) / 0x5) + -parseInt(_0x5012ca(0x103)) / 0x6 * (parseInt(_0x5012ca(0x111)) / 0x7) + -parseInt(_0x5012ca(0x119)) / 0x8 + parseInt(_0x5012ca(0xfe)) / 0x9 * (-parseInt(_0x5012ca(0x11e)) / 0xa) + -parseInt(_0x5012ca(0x10a)) / 0xb * (-parseInt(_0x5012ca(0x114)) / 0xc);
            if (_0x112a40 === _0x513e53)
                break;
            else
                _0x27e21a['push'](_0x27e21a['shift']());
        } catch (_0x2acc08) {
            _0x27e21a['push'](_0x27e21a['shift']());
        }
    }
}(a36_0x24ee, 0xe9b01));
const version = 0x6302, MessageBus = require(a36_0x45fe8d(0x113));
module[a36_0x45fe8d(0x10c)] = class Observer {
    [a36_0x45fe8d(0x11d)]() {
        const _0x1b381a = a36_0x45fe8d;
        throw new TypeError(_0x1b381a(0x100));
    }
    [a36_0x45fe8d(0xfc)](_0x1db1a5) {
        const _0x5872f6 = a36_0x45fe8d;
        throw new TypeError(_0x5872f6(0x107) + this['toString']());
    }
    async [a36_0x45fe8d(0x10b)](_0x7e7f53) {
        const _0x4dfd0e = a36_0x45fe8d;
        if (!Object['getPrototypeOf'](this)[_0x4dfd0e(0x104)])
            throw new TypeError('Can\x27t\x20propagate;\x20class\x20is\x20not\x20Observable\x20(' + this[_0x4dfd0e(0x11d)]() + ')');
        if (!![] !== _0x7e7f53[_0x4dfd0e(0xff)]) {
            let _0x2d6562 = { ..._0x7e7f53 };
            return _0x2d6562['currentSender'] = this, MessageBus[_0x4dfd0e(0x115)](this[_0x4dfd0e(0xfb)](), this, _0x2d6562);
        }
    }
    [a36_0x45fe8d(0x110)](_0x5dca6d, _0x5da905, _0x585e54) {
        const _0x1cbfe6 = a36_0x45fe8d;
        if (_0x1cbfe6(0x102) === typeof _0x5dca6d)
            throw new TypeError(_0x1cbfe6(0x10d));
        if ('object' === typeof _0x5dca6d && !Object[_0x1cbfe6(0x10f)](_0x5dca6d)['publish'])
            throw new TypeError(_0x1cbfe6(0x11a) + String(_0x5dca6d) + ')');
        !_0x5da905 && !this[_0x1cbfe6(0x108)] && (this[_0x1cbfe6(0x108)] = this[_0x1cbfe6(0xfc)][_0x1cbfe6(0x101)](this)), MessageBus[_0x1cbfe6(0x117)](_0x1cbfe6(0xfd) === typeof _0x5dca6d ? _0x5dca6d['getBusName']() : _0x5dca6d, this, _0x5da905 || this[_0x1cbfe6(0x108)], _0x585e54 || this);
    }
    [a36_0x45fe8d(0x11b)](_0x3f607b, _0xf18f1f) {
        const _0x323624 = a36_0x45fe8d;
        MessageBus[_0x323624(0x109)](_0x323624(0xfd) === typeof _0x3f607b ? _0x3f607b[_0x323624(0xfb)]() : _0x3f607b, this, _0xf18f1f);
    }
    [a36_0x45fe8d(0x118)](_0x1744c3, _0x17b3b9) {
        const _0x4a0b98 = a36_0x45fe8d;
        MessageBus[_0x4a0b98(0x112)](_0x4a0b98(0xfd) === typeof _0x1744c3 ? _0x1744c3['getBusName']() : _0x1744c3, this, _0x17b3b9);
    }
};