define("ballooniesIxfTumbleReelsApi", ["componentmodelComponentApi", "slotModelApi", "clientkernelEventbusApi", "moneyApi"],
    function(componentmodelComponentApi, slotModelApi, clientkernelEventbusApi, moneyApi) {
        "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 ballooniesIxfTumbleReelsApi == 'undefined') {
            var ballooniesIxfTumbleReelsApi = {};
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsDeclaration = function() {};
        ballooniesIxfTumbleReelsApi.TumbleReelsDeclaration = ck_implements(ballooniesIxfTumbleReelsApi.TumbleReelsDeclaration, componentmodelComponentApi.IComponentDeclaration);
        ballooniesIxfTumbleReelsApi.TumbleReelsDeclaration.__interfaces__ = [componentmodelComponentApi.IComponentDeclaration];
        ballooniesIxfTumbleReelsApi.TumbleReelsDeclaration.__name__ = ["ballooniesIxfTumbleReelsApi", "TumbleReelsDeclaration"];
        ballooniesIxfTumbleReelsApi.TumbleReelsDeclaration.prototype.getChildComponents = function() {
            return null;
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsDeclaration.prototype.getReferredComponents = function() {
            return null;
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsDeclaration.prototype.getImplementedPorts = function() {
            return [ballooniesIxfTumbleReelsApi.ITumbleReelsImplementationPort];
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsDeclaration.prototype.getUsedPorts = function() {
            return [slotModelApi.IInitializeGamePhasePort, slotModelApi.IOutcomePhasePort, slotModelApi.ISlotModelPort];
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsDeclaration.prototype.__class__ = ballooniesIxfTumbleReelsApi.TumbleReelsDeclaration;

        ballooniesIxfTumbleReelsApi.ITumbleReelsImplementationPort = function() {}
        ballooniesIxfTumbleReelsApi.ITumbleReelsImplementationPort.prototype = {

            getUpdateReelPicture: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getStartSpin: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getStopSpin: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getAbortSpin: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getUpdateGaps: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getUpdateCellsVisibility: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShow: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHide: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getSpinStopped: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getReelStopped: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getReelTumbledUp: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getReelPictureExited: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getStopping: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getUpdateReelSkin: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        ballooniesIxfTumbleReelsApi.ITumbleReelsPort = function() {}
        ballooniesIxfTumbleReelsApi.ITumbleReelsPort.prototype = {

            getUpdateReelPicture: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getStartSpin: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getStopSpin: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getAbortSpin: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getUpdateGaps: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getUpdateCellsVisibility: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShow: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHide: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getSpinStopped: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getReelStopped: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getReelTumbledUp: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getReelPictureExited: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getStopping: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getUpdateReelSkin: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsPort = function(bus) {
            this.reelPictureExited = new clientkernelEventbusApi.Topic("tumblereels:reelPictureExited");
            this.stopping = new clientkernelEventbusApi.Topic("tumblereels:stopping");
            this.reelTumbledUp = new clientkernelEventbusApi.Topic("tumblereels:reelTumbledUp");
            this.reelStopped = new clientkernelEventbusApi.Topic("tumblereels:reelStopped");
            this.spinStopped = new clientkernelEventbusApi.Topic("tumblereels:spinStopped");
            this.updateGaps = new clientkernelEventbusApi.Topic("tumblereels:updateGaps");
            this.abortSpin = new clientkernelEventbusApi.Topic("tumblereels:abortSpin");
            this.stopSpin = new clientkernelEventbusApi.Topic("tumblereels:stopSpin");
            this.startSpin = new clientkernelEventbusApi.Topic("tumblereels:startSpin");
            this.hide = new clientkernelEventbusApi.Topic("tumblereels:hide");
            this.show = new clientkernelEventbusApi.Topic("tumblereels:show");
            this.setReelSkin = new clientkernelEventbusApi.Topic("tumblereels:setReelSkin");
            this.setReelCellsVisibility = new clientkernelEventbusApi.Topic("tumblereels:setReelCellsVisibility");
            this.setReelPicture = new clientkernelEventbusApi.Topic("tumblereels:setReelPicture");
            this.setReelPicture.connect(bus);
            this.setReelCellsVisibility.connect(bus);
            this.setReelSkin.connect(bus);
            this.show.connect(bus);
            this.hide.connect(bus);
            this.startSpin.connect(bus);
            this.stopSpin.connect(bus);
            this.abortSpin.connect(bus);
            this.updateGaps.connect(bus);
            this.spinStopped.connect(bus);
            this.reelStopped.connect(bus);
            this.reelTumbledUp.connect(bus);
            this.stopping.connect(bus);
            this.reelPictureExited.connect(bus);
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsPort = ck_implements(ballooniesIxfTumbleReelsApi.TumbleReelsPort, ballooniesIxfTumbleReelsApi.ITumbleReelsPort);
        ballooniesIxfTumbleReelsApi.TumbleReelsPort = ck_implements(ballooniesIxfTumbleReelsApi.TumbleReelsPort, ballooniesIxfTumbleReelsApi.ITumbleReelsImplementationPort);
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.__interfaces__ = [ballooniesIxfTumbleReelsApi.ITumbleReelsPort, ballooniesIxfTumbleReelsApi.ITumbleReelsImplementationPort];
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.__name__ = ["ballooniesIxfTumbleReelsApi", "TumbleReelsPort"];
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.setReelPicture = null;
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.setReelCellsVisibility = null;
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.setReelSkin = null;
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.show = null;
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.hide = null;
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.startSpin = null;
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.stopSpin = null;
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.abortSpin = null;
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.updateGaps = null;
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.spinStopped = null;
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.reelStopped = null;
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.reelTumbledUp = null;
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.stopping = null;
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.reelPictureExited = null;
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.getUpdateReelPicture = function() {
            return this.setReelPicture;
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.getStartSpin = function() {
            return this.startSpin;
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.getStopSpin = function() {
            return this.stopSpin;
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.getAbortSpin = function() {
            return this.abortSpin;
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.getUpdateGaps = function() {
            return this.updateGaps;
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.getUpdateCellsVisibility = function() {
            return this.setReelCellsVisibility;
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.getShow = function() {
            return this.show;
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.getHide = function() {
            return this.hide;
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.getSpinStopped = function() {
            return this.spinStopped;
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.getReelStopped = function() {
            return this.reelStopped;
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.getReelTumbledUp = function() {
            return this.reelTumbledUp;
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.getStopping = function() {
            return this.stopping;
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.getReelPictureExited = function() {
            return this.reelPictureExited;
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.getUpdateReelSkin = function() {
            return this.setReelSkin;
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsPort.prototype.__class__ = ballooniesIxfTumbleReelsApi.TumbleReelsPort;
        ballooniesIxfTumbleReelsApi.TumbleReelsPortFactory = function() {};
        ballooniesIxfTumbleReelsApi.TumbleReelsPortFactory = ck_implements(ballooniesIxfTumbleReelsApi.TumbleReelsPortFactory, componentmodelComponentApi.IPortFactory);
        ballooniesIxfTumbleReelsApi.TumbleReelsPortFactory.__interfaces__ = [componentmodelComponentApi.IPortFactory];
        ballooniesIxfTumbleReelsApi.TumbleReelsPortFactory.__name__ = ["ballooniesIxfTumbleReelsApi", "TumbleReelsPortFactory"];
        ballooniesIxfTumbleReelsApi.TumbleReelsPortFactory.prototype.provide = function(channel) {
            return new ballooniesIxfTumbleReelsApi.TumbleReelsPort(channel);
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsPortFactory.prototype["use"] = function(channel) {
            return new ballooniesIxfTumbleReelsApi.TumbleReelsPort(channel);
        };
        ballooniesIxfTumbleReelsApi.TumbleReelsPortFactory.prototype.__class__ = ballooniesIxfTumbleReelsApi.TumbleReelsPortFactory;
        ballooniesIxfTumbleReelsApi.StopSpinPayload = function(reelPicture, winSymbols) {
            this.reelPicture = reelPicture;
            this.winSymbols = winSymbols;
        };
        ballooniesIxfTumbleReelsApi.StopSpinPayload.__name__ = ["ballooniesIxfTumbleReelsApi", "StopSpinPayload"];
        ballooniesIxfTumbleReelsApi.StopSpinPayload.prototype.reelPicture = null;
        ballooniesIxfTumbleReelsApi.StopSpinPayload.prototype.winSymbols = null;
        ballooniesIxfTumbleReelsApi.StopSpinPayload.prototype.__class__ = ballooniesIxfTumbleReelsApi.StopSpinPayload;
        if (typeof haxe == 'undefined') {
            var haxe = {};
        };

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

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