define("pBWOFExoticFarEastTensionApi", ["componentmodelComponentApi", "clientkernelEventbusApi"],
    function(componentmodelComponentApi, clientkernelEventbusApi) {
        "use strict";

        function $iterator(o) {
            if (o instanceof Array) return function() {
                return {
                    cur: 0,
                    arr: o,
                    hasNext: function() {
                        return this.cur < this.arr.length;
                    },
                    next: function() {
                        return this.arr[this.cur++];
                    }
                };
            };
            return typeof(o.iterator) == 'function' ? $bind(o, o.iterator) : o.iterator;
        };;
        var $fid = 0;

        function $bind(o, m) {
            if (m == null) return null;
            if (m.__id__ == null) m.__id__ = $fid++;
            var f;
            if (o.hx__closures__ == null) o.hx__closures__ = {};
            else f = o.hx__closures__[m.__id__];
            if (f == null) {
                f = function() {
                    return f.method.apply(f.scope, arguments);
                };
                f.scope = o;
                f.method = m;
                o.hx__closures__[m.__id__] = f;
            }
            return f;
        };
        var $_;
        var $estr = function() {
            return _hcmn_.js_Boot.__string_rec(this, '');
        };
        if (typeof pBWOFExoticFarEastTensionApi == 'undefined') {
            var pBWOFExoticFarEastTensionApi = {};
        };

        pBWOFExoticFarEastTensionApi.ITensionImplementationPort = function() {}
        pBWOFExoticFarEastTensionApi.ITensionImplementationPort.prototype = {

            getShowTension: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHideTension: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowWildTension: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHideWildTension: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        pBWOFExoticFarEastTensionApi.ITensionPort = function() {}
        pBWOFExoticFarEastTensionApi.ITensionPort.prototype = {

            getShowTension: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHideTension: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowWildTension: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHideWildTension: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };
        pBWOFExoticFarEastTensionApi.TensionDeclaration = function() {};
        pBWOFExoticFarEastTensionApi.TensionDeclaration = ck_implements(pBWOFExoticFarEastTensionApi.TensionDeclaration, componentmodelComponentApi.IComponentDeclaration);
        pBWOFExoticFarEastTensionApi.TensionDeclaration.__interfaces__ = [componentmodelComponentApi.IComponentDeclaration];
        pBWOFExoticFarEastTensionApi.TensionDeclaration.__name__ = ["pBWOFExoticFarEastTensionApi", "TensionDeclaration"];
        pBWOFExoticFarEastTensionApi.TensionDeclaration.prototype.getChildComponents = function() {
            return null;
        };
        pBWOFExoticFarEastTensionApi.TensionDeclaration.prototype.getReferredComponents = function() {
            return null;
        };
        pBWOFExoticFarEastTensionApi.TensionDeclaration.prototype.getImplementedPorts = function() {
            return [pBWOFExoticFarEastTensionApi.ITensionImplementationPort];
        };
        pBWOFExoticFarEastTensionApi.TensionDeclaration.prototype.getUsedPorts = function() {
            return [pBWOFExoticFarEastTensionApi.ITensionPort];
        };
        pBWOFExoticFarEastTensionApi.TensionDeclaration.prototype.__class__ = pBWOFExoticFarEastTensionApi.TensionDeclaration;
        pBWOFExoticFarEastTensionApi.TensionPort = function(bus) {
            this.hideWildTension = new clientkernelEventbusApi.Topic("wildtension:hide");
            this.showWildTension = new clientkernelEventbusApi.Topic("wildtension:show");
            this.hideTension = new clientkernelEventbusApi.Topic("tension:hide");
            this.showTension = new clientkernelEventbusApi.Topic("tension:show");
            this.showTension.connect(bus);
            this.hideTension.connect(bus);
            this.showWildTension.connect(bus);
            this.hideWildTension.connect(bus);
        };
        pBWOFExoticFarEastTensionApi.TensionPort = ck_implements(pBWOFExoticFarEastTensionApi.TensionPort, pBWOFExoticFarEastTensionApi.ITensionPort);
        pBWOFExoticFarEastTensionApi.TensionPort = ck_implements(pBWOFExoticFarEastTensionApi.TensionPort, pBWOFExoticFarEastTensionApi.ITensionImplementationPort);
        pBWOFExoticFarEastTensionApi.TensionPort.__interfaces__ = [pBWOFExoticFarEastTensionApi.ITensionPort, pBWOFExoticFarEastTensionApi.ITensionImplementationPort];
        pBWOFExoticFarEastTensionApi.TensionPort.__name__ = ["pBWOFExoticFarEastTensionApi", "TensionPort"];
        pBWOFExoticFarEastTensionApi.TensionPort.prototype.showTension = null;
        pBWOFExoticFarEastTensionApi.TensionPort.prototype.hideTension = null;
        pBWOFExoticFarEastTensionApi.TensionPort.prototype.showWildTension = null;
        pBWOFExoticFarEastTensionApi.TensionPort.prototype.hideWildTension = null;
        pBWOFExoticFarEastTensionApi.TensionPort.prototype.getShowTension = function() {
            return this.showTension;
        };
        pBWOFExoticFarEastTensionApi.TensionPort.prototype.getHideTension = function() {
            return this.hideTension;
        };
        pBWOFExoticFarEastTensionApi.TensionPort.prototype.getShowWildTension = function() {
            return this.showWildTension;
        };
        pBWOFExoticFarEastTensionApi.TensionPort.prototype.getHideWildTension = function() {
            return this.hideWildTension;
        };
        pBWOFExoticFarEastTensionApi.TensionPort.prototype.__class__ = pBWOFExoticFarEastTensionApi.TensionPort;
        pBWOFExoticFarEastTensionApi.TensionPortFactory = function() {};
        pBWOFExoticFarEastTensionApi.TensionPortFactory = ck_implements(pBWOFExoticFarEastTensionApi.TensionPortFactory, componentmodelComponentApi.IPortFactory);
        pBWOFExoticFarEastTensionApi.TensionPortFactory.__interfaces__ = [componentmodelComponentApi.IPortFactory];
        pBWOFExoticFarEastTensionApi.TensionPortFactory.__name__ = ["pBWOFExoticFarEastTensionApi", "TensionPortFactory"];
        pBWOFExoticFarEastTensionApi.TensionPortFactory.prototype.provide = function(channel) {
            return new pBWOFExoticFarEastTensionApi.TensionPort(channel);
        };
        pBWOFExoticFarEastTensionApi.TensionPortFactory.prototype["use"] = function(channel) {
            return new pBWOFExoticFarEastTensionApi.TensionPort(channel);
        };
        pBWOFExoticFarEastTensionApi.TensionPortFactory.prototype.__class__ = pBWOFExoticFarEastTensionApi.TensionPortFactory;
        pBWOFExoticFarEastTensionApi.ShowTensionPayload = function(reels, reelId) {
            this.reels = reels;
            this.reelId = reelId;
        };
        pBWOFExoticFarEastTensionApi.ShowTensionPayload.__name__ = ["pBWOFExoticFarEastTensionApi", "ShowTensionPayload"];
        pBWOFExoticFarEastTensionApi.ShowTensionPayload.prototype.reels = null;
        pBWOFExoticFarEastTensionApi.ShowTensionPayload.prototype.reelId = null;
        pBWOFExoticFarEastTensionApi.ShowTensionPayload.prototype.__class__ = pBWOFExoticFarEastTensionApi.ShowTensionPayload;
        pBWOFExoticFarEastTensionApi.TensionTypeEnum = {
            __ename__: ["pBWOFExoticFarEastTensionApi", "TensionTypeEnum"],
            __constructs__: ["wild_tension", "tension_frame"]
        };
        pBWOFExoticFarEastTensionApi.TensionTypeEnum.tension_frame = ["tension_frame", 1];
        pBWOFExoticFarEastTensionApi.TensionTypeEnum.tension_frame.toString = $estr;
        pBWOFExoticFarEastTensionApi.TensionTypeEnum.tension_frame.__enum__ = pBWOFExoticFarEastTensionApi.TensionTypeEnum;
        pBWOFExoticFarEastTensionApi.TensionTypeEnum.wild_tension = ["wild_tension", 0];
        pBWOFExoticFarEastTensionApi.TensionTypeEnum.wild_tension.toString = $estr;
        pBWOFExoticFarEastTensionApi.TensionTypeEnum.wild_tension.__enum__ = pBWOFExoticFarEastTensionApi.TensionTypeEnum;
        if (typeof haxe == 'undefined') {
            var haxe = {};
        };

        haxe.IMap = function() {}
        haxe.IMap.prototype = {

        };
        return {
            exports: pBWOFExoticFarEastTensionApi
        };
    });
//# sourceURL=pbWofExoticFarEastTensionApi.js