(function (_, kotlin_kotlin, kotlin_org_kodein_type_kaverit) { 'use strict'; //region block: imports var imul = Math.imul; var protoOf = kotlin_kotlin.$_$.xc; var classMeta = kotlin_kotlin.$_$.mb; var setMetadataFor = kotlin_kotlin.$_$.yc; var VOID = kotlin_kotlin.$_$.f; var LinkedHashMap_init_$Create$ = kotlin_kotlin.$_$.v; var first = kotlin_kotlin.$_$.p7; var ArrayList_init_$Create$ = kotlin_kotlin.$_$.m; var Unit_instance = kotlin_kotlin.$_$.m5; var filterNotNull = kotlin_kotlin.$_$.m7; var sorted = kotlin_kotlin.$_$.p9; var StringBuilder_init_$Create$ = kotlin_kotlin.$_$.f1; var repeat = kotlin_kotlin.$_$.vf; var ensureNotNull = kotlin_kotlin.$_$.bj; var KProperty1 = kotlin_kotlin.$_$.wd; var getPropertyCallableRef = kotlin_kotlin.$_$.vb; var objectMeta = kotlin_kotlin.$_$.wc; var toString = kotlin_kotlin.$_$.oj; var Companion_getInstance = kotlin_org_kodein_type_kaverit.$_$.a; var equals = kotlin_kotlin.$_$.pb; var objectCreate = kotlin_kotlin.$_$.vc; var RuntimeException = kotlin_kotlin.$_$.ii; var RuntimeException_init_$Init$ = kotlin_kotlin.$_$.m2; var captureStack = kotlin_kotlin.$_$.gb; var hashCode = kotlin_kotlin.$_$.xb; var THROW_CCE = kotlin_kotlin.$_$.ji; var interfaceMeta = kotlin_kotlin.$_$.yb; var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.a2; var getBooleanHashCode = kotlin_kotlin.$_$.sb; var getStringHashCode = kotlin_kotlin.$_$.wb; var TypeToken = kotlin_org_kodein_type_kaverit.$_$.b; var isInterface = kotlin_kotlin.$_$.hc; var joinToString = kotlin_kotlin.$_$.a8; var erasedOf = kotlin_org_kodein_type_kaverit.$_$.c; var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.l; var toString_0 = kotlin_kotlin.$_$.cd; var HashSet_init_$Create$ = kotlin_kotlin.$_$.s; var HashMap_init_$Create$ = kotlin_kotlin.$_$.p; var addAll = kotlin_kotlin.$_$.e6; var collectionSizeOrDefault = kotlin_kotlin.$_$.n6; var charSequenceLength = kotlin_kotlin.$_$.kb; var Enum = kotlin_kotlin.$_$.wh; var Map = kotlin_kotlin.$_$.y5; var listOf = kotlin_kotlin.$_$.k8; var plus = kotlin_kotlin.$_$.z8; var emptyList = kotlin_kotlin.$_$.i7; var plus_0 = kotlin_kotlin.$_$.a9; var checkIndexOverflow = kotlin_kotlin.$_$.l6; var _Char___init__impl__6a9atx = kotlin_kotlin.$_$.u2; var mapCapacity = kotlin_kotlin.$_$.m8; var coerceAtLeast = kotlin_kotlin.$_$.kd; var LinkedHashMap_init_$Create$_0 = kotlin_kotlin.$_$.u; var to = kotlin_kotlin.$_$.pj; var KProperty0 = kotlin_kotlin.$_$.vd; var lazy = kotlin_kotlin.$_$.hj; var asSequence = kotlin_kotlin.$_$.h6; var filter = kotlin_kotlin.$_$.ce; var flatMap = kotlin_kotlin.$_$.ee; var mapNotNull = kotlin_kotlin.$_$.he; var map = kotlin_kotlin.$_$.ie; var toList = kotlin_kotlin.$_$.oe; var Triple = kotlin_kotlin.$_$.mi; var ArrayList_init_$Create$_1 = kotlin_kotlin.$_$.n; var HashMap_init_$Create$_0 = kotlin_kotlin.$_$.q; var Collection = kotlin_kotlin.$_$.p5; var getOrNull = kotlin_kotlin.$_$.t7; //endregion //region block: pre-declaration setMetadataFor(DIDefining, 'DIDefining', classMeta); setMetadataFor(DIDefinition, 'DIDefinition', classMeta, DIDefining); setMetadataFor(NonCached, 'NonCached', objectMeta); setMetadataFor(ImplWithScope, 'ImplWithScope', classMeta); setMetadataFor(DependencyLoopException, 'DependencyLoopException', classMeta, RuntimeException); setMetadataFor(NotFoundException, 'NotFoundException', classMeta, RuntimeException); setMetadataFor(OverridingException, 'OverridingException', classMeta, RuntimeException); setMetadataFor(Key, 'Key', classMeta); function constant$default(tag, overrides, $super) { overrides = overrides === VOID ? null : overrides; return $super === VOID ? this.p56(tag, overrides) : $super.p56.call(this, tag, overrides); } function import$default(module_0, allowOverride, $super) { allowOverride = allowOverride === VOID ? false : allowOverride; var tmp; if ($super === VOID) { this.r56(module_0, allowOverride); tmp = Unit_instance; } else { tmp = $super.r56.call(this, module_0, allowOverride); } return tmp; } setMetadataFor(Builder, 'Builder', interfaceMeta); function extend$default(di, allowOverride, copy, $super) { allowOverride = allowOverride === VOID ? false : allowOverride; copy = copy === VOID ? NonCached_instance : copy; var tmp; if ($super === VOID) { this.u56(di, allowOverride, copy); tmp = Unit_instance; } else { tmp = $super.u56.call(this, di, allowOverride, copy); } return tmp; } setMetadataFor(MainBuilder, 'MainBuilder', interfaceMeta, VOID, [Builder]); setMetadataFor(Module, 'Module', classMeta); setMetadataFor(Companion, 'Companion', objectMeta); function get_diContext() { return get_AnyDIContext(); } function get_diTrigger() { return null; } setMetadataFor(DIAware, 'DIAware', interfaceMeta); function get_di() { return this; } setMetadataFor(DI, 'DI', interfaceMeta, VOID, [DIAware]); setMetadataFor(DIContext, 'DIContext', interfaceMeta); setMetadataFor(Value, 'Value', classMeta, VOID, [DIContext]); setMetadataFor(Companion_0, 'Companion', objectMeta); setMetadataFor(DIWrapper, 'DIWrapper', classMeta, VOID, [DI]); setMetadataFor(Contexes, 'Contexes', objectMeta); function factory$default(key, context, overrideLevel, $super) { overrideLevel = overrideLevel === VOID ? 0 : overrideLevel; return $super === VOID ? this.p57(key, context, overrideLevel) : $super.p57.call(this, key, context, overrideLevel); } function factoryOrNull$default(key, context, overrideLevel, $super) { overrideLevel = overrideLevel === VOID ? 0 : overrideLevel; return $super === VOID ? this.r57(key, context, overrideLevel) : $super.r57.call(this, key, context, overrideLevel); } function provider(key, context, overrideLevel) { // Inline function 'org.kodein.di.toProvider' call var this_0 = this.q57(key, context); return DIContainer$provider$lambda(this_0); } function provider$default(key, context, overrideLevel, $super) { overrideLevel = overrideLevel === VOID ? 0 : overrideLevel; return $super === VOID ? this.t57(key, context, overrideLevel) : provider(key, context, overrideLevel); } function providerOrNull(key, context, overrideLevel) { var tmp0_safe_receiver = this.s57(key, context); var tmp; if (tmp0_safe_receiver == null) { tmp = null; } else { // Inline function 'org.kodein.di.toProvider' call tmp = DIContainer$providerOrNull$lambda(tmp0_safe_receiver); } return tmp; } function providerOrNull$default(key, context, overrideLevel, $super) { overrideLevel = overrideLevel === VOID ? 0 : overrideLevel; return $super === VOID ? this.u57(key, context, overrideLevel) : providerOrNull(key, context, overrideLevel); } setMetadataFor(DIContainer, 'DIContainer', interfaceMeta); function find$default(key, overrideLevel, all, $super) { overrideLevel = overrideLevel === VOID ? 0 : overrideLevel; all = all === VOID ? false : all; return $super === VOID ? this.x57(key, overrideLevel, all) : $super.x57.call(this, key, overrideLevel, all); } setMetadataFor(DITree, 'DITree', interfaceMeta); function get_di_0() { return this.b58(); } setMetadataFor(DirectDIBase, 'DirectDIBase', interfaceMeta); setMetadataFor(NoDefinedTag, 'NoDefinedTag', objectMeta); setMetadataFor(SearchSpecs, 'SearchSpecs', classMeta, VOID, VOID, SearchSpecs); setMetadataFor(NoArgBindingDIWrap, 'NoArgBindingDIWrap', classMeta, VOID, [DirectDIBase]); setMetadataFor(ErasedContext, 'ErasedContext', objectMeta, VOID, [DIContext]); setMetadataFor(DIBinding$Copier$Companion$invoke$1, VOID, classMeta); setMetadataFor(Companion_1, 'Companion', objectMeta); function factoryFullName() { return this.o58(); } function get_scope() { return null; } function get_description() { var arg = !equals(this.q58(), Companion_getInstance().q54_1) ? this.q58().s54() + ' -> ' : ''; var tmp; var tmp_0 = this.c56(); if (tmp_0 instanceof NoScope) { tmp = null; } else { tmp = this.c56(); } var scope = tmp; var tmp_1; if (scope == null) { tmp_1 = null; } else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.bindings.DIBinding..' call tmp_1 = 'scoped(' + erasedOf(scope).s54() + ').'; } var tmp1_elvis_lhs = tmp_1; var context = tmp1_elvis_lhs == null ? !equals(this.b56(), Companion_getInstance().r54_1) ? 'contexted<' + this.b56().s54() + '>().' : '' : tmp1_elvis_lhs; return context + this.o58() + ' { ' + arg + this.r58().s54() + ' }'; } function get_fullDescription() { var arg = !equals(this.q58(), Companion_getInstance().q54_1) ? this.q58().u54() + ' -> ' : ''; var tmp; var tmp_0 = this.c56(); if (tmp_0 instanceof NoScope) { tmp = null; } else { tmp = this.c56(); } var scope = tmp; var tmp_1; if (scope == null) { tmp_1 = null; } else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.bindings.DIBinding..' call tmp_1 = 'scoped(' + erasedOf(scope).u54() + ').'; } var tmp1_elvis_lhs = tmp_1; var context = tmp1_elvis_lhs == null ? !equals(this.b56(), Companion_getInstance().r54_1) ? 'contexted<' + this.b56().u54() + '>().' : '' : tmp1_elvis_lhs; return context + this.p58() + ' { ' + arg + this.r58().u54() + ' }'; } function get_copier() { return null; } function get_supportSubTypes() { return false; } setMetadataFor(DIBinding, 'DIBinding', interfaceMeta); function get_argType() { return Companion_getInstance().q54_1; } setMetadataFor(NoArgDIBinding, 'NoArgDIBinding', interfaceMeta, VOID, [DIBinding]); setMetadataFor(SingletonReference, 'SingletonReference', objectMeta); setMetadataFor(Reference, 'Reference', classMeta); setMetadataFor(ScopeRegistry, 'ScopeRegistry', classMeta); setMetadataFor(StandardScopeRegistry, 'StandardScopeRegistry', classMeta, ScopeRegistry, VOID, StandardScopeRegistry); setMetadataFor(ContextTranslator, 'ContextTranslator', interfaceMeta); setMetadataFor(SimpleContextTranslator, 'SimpleContextTranslator', classMeta, VOID, [ContextTranslator]); setMetadataFor(NoScope, 'NoScope', classMeta, VOID, VOID, NoScope); setMetadataFor(CompositeContextTranslator, 'CompositeContextTranslator', classMeta, VOID, [ContextTranslator]); setMetadataFor(Singleton, 'Singleton', classMeta, VOID, [NoArgDIBinding]); setMetadataFor(Provider, 'Provider', classMeta, VOID, [NoArgDIBinding]); setMetadataFor(ScopeKey, 'ScopeKey', classMeta); setMetadataFor(InstanceBinding, 'InstanceBinding', classMeta, VOID, [NoArgDIBinding]); setMetadataFor(DIBuilderImpl, 'DIBuilderImpl', classMeta, VOID, [Builder]); setMetadataFor(DIMainBuilderImpl, 'DIMainBuilderImpl', classMeta, DIBuilderImpl, [DIBuilderImpl, MainBuilder]); setMetadataFor(TypeBinder, 'TypeBinder', classMeta); setMetadataFor(ConstantBinder, 'ConstantBinder', classMeta); setMetadataFor(OverrideMode, 'OverrideMode', classMeta, Enum); setMetadataFor(DIContainerBuilderImpl$OverrideMode$ALLOW_SILENT, 'ALLOW_SILENT', classMeta, OverrideMode); setMetadataFor(DIContainerBuilderImpl$OverrideMode$ALLOW_EXPLICIT, 'ALLOW_EXPLICIT', classMeta, OverrideMode); setMetadataFor(DIContainerBuilderImpl$OverrideMode$FORBID, 'FORBID', classMeta, OverrideMode); setMetadataFor(Companion_2, 'Companion', objectMeta); setMetadataFor(DIContainerBuilderImpl, 'DIContainerBuilderImpl', classMeta); setMetadataFor(Node, 'Node', classMeta); setMetadataFor(DIContainerImpl, 'DIContainerImpl', classMeta, VOID, [DIContainer]); setMetadataFor(Companion_3, 'Companion', objectMeta); setMetadataFor(DIImpl, 'DIImpl', classMeta, VOID, [DI]); setMetadataFor(BindingDIImpl, 'BindingDIImpl', classMeta, VOID, [DirectDIBase]); setMetadataFor(DITreeImpl, 'DITreeImpl', classMeta, VOID, [DITree]); setMetadataFor(TypeChecker, 'TypeChecker', classMeta); setMetadataFor(Down, 'Down', classMeta, TypeChecker); setMetadataFor(Up, 'Up', classMeta, TypeChecker); setMetadataFor(DirectDIBaseImpl, 'DirectDIBaseImpl', classMeta, VOID, [DirectDIBase]); setMetadataFor(DIProperty, 'DIProperty', classMeta); setMetadataFor(DirectDIImpl, 'DirectDIImpl', classMeta, DirectDIBaseImpl, [DirectDIBaseImpl, DirectDIBase]); //endregion function DIDefinition(binding, fromModule, tree) { DIDefining.call(this, binding, fromModule); this.k55_1 = tree; } function description(_this__u8e3s4, withOverrides, ident) { withOverrides = withOverrides === VOID ? false : withOverrides; ident = ident === VOID ? 8 : ident; return descriptionImpl(_this__u8e3s4, withOverrides, ident, bindDescription$factory(), description$factory()); } function DIDefining(binding, fromModule) { this.l55_1 = binding; this.m55_1 = fromModule; } function descriptionImpl(_this__u8e3s4, withOverrides, ident, keyBindDisp, bindingDisp) { // Inline function 'kotlin.collections.groupBy' call // Inline function 'kotlin.collections.groupByTo' call var this_0 = _this__u8e3s4.q2(); var destination = LinkedHashMap_init_$Create$(); var tmp0_iterator = this_0.w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.descriptionImpl.' call var key = first(element.t2()).m55_1; // Inline function 'kotlin.collections.getOrPut' call var value = destination.q(key); var tmp; if (value == null) { // Inline function 'kotlin.collections.groupByTo.' call var answer = ArrayList_init_$Create$(); destination.s(key, answer); tmp = answer; } else { tmp = value; } var list = tmp; list.i1(element); } var byModule = destination; var modules = sorted(filterNotNull(byModule.o2())); // Inline function 'kotlin.text.buildString' call // Inline function 'kotlin.contracts.contract' call // Inline function 'kotlin.apply' call var this_1 = StringBuilder_init_$Create$(); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.descriptionImpl.' call var tmp0_safe_receiver = byModule.q(null); if (tmp0_safe_receiver == null) null; else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call descriptionImpl$appendBindings(this_1, keyBindDisp, bindingDisp, withOverrides, ident, tmp0_safe_receiver); } // Inline function 'kotlin.collections.forEach' call var tmp0_iterator_0 = modules.w(); while (tmp0_iterator_0.f()) { var element_0 = tmp0_iterator_0.e(); // Inline function 'org.kodein.di.descriptionImpl..' call this_1.y5(repeat(' ', ident) + 'module ' + element_0 + ' {\n'); descriptionImpl$appendBindings(this_1, keyBindDisp, bindingDisp, withOverrides, ident + 4 | 0, ensureNotNull(byModule.q(element_0))); this_1.y5(repeat(' ', ident) + '}\n'); } return this_1.toString(); } function fullDescription(_this__u8e3s4, withOverrides, ident) { withOverrides = withOverrides === VOID ? false : withOverrides; ident = ident === VOID ? 8 : ident; return descriptionImpl(_this__u8e3s4, withOverrides, ident, bindFullDescription$factory(), fullDescription$factory()); } function descriptionImpl$appendBindings(_this__u8e3s4, $keyBindDisp, $bindingDisp, $withOverrides, ident, entries) { var tmp0_iterator = entries.w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.descriptionImpl.appendBindings.' call var keyDescription = $keyBindDisp(element.s2()); _this__u8e3s4.y5(repeat(' ', ident) + keyDescription + ' { ' + $bindingDisp(first(element.t2()).l55_1) + ' }'); if ($withOverrides) { var subIdent = keyDescription.length - 4 | 0; // Inline function 'kotlin.collections.forEach' call var tmp0_iterator_0 = element.t2().z(1, element.t2().u()).w(); while (tmp0_iterator_0.f()) { var element_0 = tmp0_iterator_0.e(); // Inline function 'org.kodein.di.descriptionImpl.appendBindings..' call _this__u8e3s4.y5(repeat(' ', subIdent) + 'overrides ' + $bindingDisp(element_0.l55_1)); } } _this__u8e3s4.y5('\n'); } return Unit_instance; } function bindDescription$factory() { return getPropertyCallableRef('bindDescription', 1, KProperty1, function (receiver) { return receiver.s55(); }, null); } function description$factory() { return getPropertyCallableRef('description', 1, KProperty1, function (receiver) { return receiver.t55(); }, null); } function bindFullDescription$factory() { return getPropertyCallableRef('bindFullDescription', 1, KProperty1, function (receiver) { return receiver.u55(); }, null); } function fullDescription$factory() { return getPropertyCallableRef('fullDescription', 1, KProperty1, function (receiver) { return receiver.v55(); }, null); } function NonCached() { } protoOf(NonCached).w55 = function (tree) { // Inline function 'kotlin.collections.filter' call // Inline function 'kotlin.collections.filterTo' call var this_0 = tree.x55(); var destination = LinkedHashMap_init_$Create$(); // Inline function 'kotlin.collections.iterator' call var tmp0_iterator = this_0.q2().w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.NonCached.keySet.' call if (first(element.t2()).l55_1.y55() == null) { destination.s(element.s2(), element.t2()); } } return destination.o2(); }; var NonCached_instance; function NonCached_getInstance() { return NonCached_instance; } function appendDescription(_this__u8e3s4, $this, displayString) { if (!($this.q55_1 == null)) { _this__u8e3s4.y5(' tagged "' + toString($this.q55_1) + '"'); } if (!equals($this.n55_1, Companion_getInstance().r54_1)) { _this__u8e3s4.y5(' on context ' + displayString($this.n55_1)); } if (!equals($this.o55_1, Companion_getInstance().q54_1)) { _this__u8e3s4.y5(', with argument ' + displayString($this.o55_1)); } } function TypeToken$simpleDispString$ref() { var l = function (p0) { return p0.s54(); }; l.callableName = 'simpleDispString'; return l; } function TypeToken$qualifiedDispString$ref() { var l = function (p0) { return p0.u54(); }; l.callableName = 'qualifiedDispString'; return l; } function ImplWithScope(contextType, scope) { this.z55_1 = contextType; this.a56_1 = scope; } protoOf(ImplWithScope).b56 = function () { return this.z55_1; }; protoOf(ImplWithScope).c56 = function () { return this.a56_1; }; protoOf(ImplWithScope).d56 = function () { return true; }; function Module_init_$Init$(name, allowSilentOverride, prefix, init, $this) { allowSilentOverride = allowSilentOverride === VOID ? false : allowSilentOverride; prefix = prefix === VOID ? '' : prefix; Module.call($this, allowSilentOverride, prefix, init); $this.h56_1 = name; return $this; } function Module_init_$Create$(name, allowSilentOverride, prefix, init) { return Module_init_$Init$(name, allowSilentOverride, prefix, init, objectCreate(protoOf(Module))); } function DependencyLoopException(message) { RuntimeException_init_$Init$(message, this); captureStack(this, DependencyLoopException); } function NotFoundException(key, message) { RuntimeException_init_$Init$(message, this); captureStack(this, NotFoundException); this.i56_1 = key; } function OverridingException(message) { RuntimeException_init_$Init$(message, this); captureStack(this, OverridingException); } function Key(contextType, argType, type, tag) { this.n55_1 = contextType; this.o55_1 = argType; this.p55_1 = type; this.q55_1 = tag; this.r55_1 = 0; } protoOf(Key).hashCode = function () { if (this.r55_1 === 0) { this.r55_1 = hashCode(this.n55_1); this.r55_1 = imul(31, this.r55_1) + hashCode(this.o55_1) | 0; this.r55_1 = imul(29, hashCode(this.p55_1)); var tmp = this; var tmp_0 = imul(23, this.r55_1); var tmp0_safe_receiver = this.q55_1; var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : hashCode(tmp0_safe_receiver); tmp.r55_1 = tmp_0 + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0; } return this.r55_1; }; protoOf(Key).toString = function () { return this.t55(); }; protoOf(Key).s55 = function () { // Inline function 'kotlin.text.buildString' call // Inline function 'kotlin.contracts.contract' call // Inline function 'kotlin.apply' call var this_0 = StringBuilder_init_$Create$(); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.Key..' call this_0.y5('bind<' + this.p55_1.s54() + '>'); if (!(this.q55_1 == null)) { this_0.y5('(tag = "' + toString(this.q55_1) + '")'); } return this_0.toString(); }; protoOf(Key).u55 = function () { // Inline function 'kotlin.text.buildString' call // Inline function 'kotlin.contracts.contract' call // Inline function 'kotlin.apply' call var this_0 = StringBuilder_init_$Create$(); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.Key..' call this_0.y5('bind<' + this.p55_1.u54() + '>'); if (!(this.q55_1 == null)) { this_0.y5('(tag = "' + toString(this.q55_1) + '")'); } return this_0.toString(); }; protoOf(Key).t55 = function () { // Inline function 'kotlin.text.buildString' call // Inline function 'kotlin.contracts.contract' call // Inline function 'kotlin.apply' call var this_0 = StringBuilder_init_$Create$(); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.Key..' call this_0.y5(this.p55_1.s54()); appendDescription(this_0, this, TypeToken$simpleDispString$ref()); return this_0.toString(); }; protoOf(Key).j56 = function () { return '(context: ' + this.n55_1.s54() + ', arg: ' + this.o55_1.s54() + ', type: ' + this.p55_1.s54() + ', tag: ' + toString(this.q55_1) + ')'; }; protoOf(Key).v55 = function () { // Inline function 'kotlin.text.buildString' call // Inline function 'kotlin.contracts.contract' call // Inline function 'kotlin.apply' call var this_0 = StringBuilder_init_$Create$(); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.Key..' call this_0.y5(this.p55_1.u54()); appendDescription(this_0, this, TypeToken$qualifiedDispString$ref()); return this_0.toString(); }; protoOf(Key).k56 = function (contextType, argType, type, tag) { return new Key(contextType, argType, type, tag); }; protoOf(Key).l56 = function (contextType, argType, type, tag, $super) { contextType = contextType === VOID ? this.n55_1 : contextType; argType = argType === VOID ? this.o55_1 : argType; type = type === VOID ? this.p55_1 : type; tag = tag === VOID ? this.q55_1 : tag; return $super === VOID ? this.k56(contextType, argType, type, tag) : $super.k56.call(this, contextType, argType, type, tag); }; protoOf(Key).equals = function (other) { if (this === other) return true; if (!(other instanceof Key)) return false; var tmp0_other_with_cast = other instanceof Key ? other : THROW_CCE(); if (!equals(this.n55_1, tmp0_other_with_cast.n55_1)) return false; if (!equals(this.o55_1, tmp0_other_with_cast.o55_1)) return false; if (!equals(this.p55_1, tmp0_other_with_cast.p55_1)) return false; if (!equals(this.q55_1, tmp0_other_with_cast.q55_1)) return false; return true; }; function Builder() { } function MainBuilder() { } function Module(allowSilentOverride, prefix, init) { allowSilentOverride = allowSilentOverride === VOID ? false : allowSilentOverride; prefix = prefix === VOID ? '' : prefix; this.e56_1 = allowSilentOverride; this.f56_1 = prefix; this.g56_1 = init; this.h56_1 = null; } protoOf(Module).dc = function () { var tmp0_elvis_lhs = this.h56_1; var tmp; if (tmp0_elvis_lhs == null) { throw IllegalStateException_init_$Create$('module must have a name.'); } else { tmp = tmp0_elvis_lhs; } return tmp; }; protoOf(Module).toString = function () { return 'Module(allowSilentOverride=' + this.e56_1 + ', prefix=' + this.f56_1 + ', init=' + this.g56_1 + ')'; }; protoOf(Module).hashCode = function () { var result = getBooleanHashCode(this.e56_1); result = imul(result, 31) + getStringHashCode(this.f56_1) | 0; result = imul(result, 31) + hashCode(this.g56_1) | 0; return result; }; protoOf(Module).equals = function (other) { if (this === other) return true; if (!(other instanceof Module)) return false; var tmp0_other_with_cast = other instanceof Module ? other : THROW_CCE(); if (!(this.e56_1 === tmp0_other_with_cast.e56_1)) return false; if (!(this.f56_1 === tmp0_other_with_cast.f56_1)) return false; if (!equals(this.g56_1, tmp0_other_with_cast.g56_1)) return false; return true; }; function Companion() { this.w56_1 = false; this.x56_1 = false; } protoOf(Companion).y56 = function (allowSilentOverride, init) { return DIImpl_init_$Create$(allowSilentOverride, init); }; protoOf(Companion).z56 = function (allowSilentOverride, init, $super) { allowSilentOverride = allowSilentOverride === VOID ? false : allowSilentOverride; return $super === VOID ? this.y56(allowSilentOverride, init) : $super.y56.call(this, allowSilentOverride, init); }; var Companion_instance; function Companion_getInstance_0() { return Companion_instance; } function DI() { } function get_direct(_this__u8e3s4) { return new DirectDIImpl(_this__u8e3s4.a57().b57(), _this__u8e3s4.c57()); } function DIAware() { } function Instance(_this__u8e3s4, type, tag) { tag = tag === VOID ? null : tag; var tmp = _this__u8e3s4.d57(); var tmp_0 = _this__u8e3s4.c57(); return new DIProperty(tmp, tmp_0, Instance$lambda(_this__u8e3s4, type, tag)); } function Value(type, value) { this.e57_1 = type; this.f57_1 = value; } protoOf(Value).g57 = function () { return this.e57_1; }; protoOf(Value).t2 = function () { return this.f57_1; }; protoOf(Value).toString = function () { return 'Value(type=' + this.e57_1 + ', value=' + this.f57_1 + ')'; }; protoOf(Value).hashCode = function () { var result = hashCode(this.e57_1); result = imul(result, 31) + hashCode(this.f57_1) | 0; return result; }; protoOf(Value).equals = function (other) { if (this === other) return true; if (!(other instanceof Value)) return false; var tmp0_other_with_cast = other instanceof Value ? other : THROW_CCE(); if (!equals(this.e57_1, tmp0_other_with_cast.e57_1)) return false; if (!equals(this.f57_1, tmp0_other_with_cast.f57_1)) return false; return true; }; function Companion_0() { } protoOf(Companion_0).h57 = function (type, value) { return new Value(type, value); }; var Companion_instance_0; function Companion_getInstance_1() { return Companion_instance_0; } function DIContext() { } function On(_this__u8e3s4, context, trigger) { context = context === VOID ? _this__u8e3s4.c57() : context; trigger = trigger === VOID ? _this__u8e3s4.d57() : trigger; return DIWrapper_init_$Create$(_this__u8e3s4, context, trigger); } function InstanceOrNull(_this__u8e3s4, type, tag) { tag = tag === VOID ? null : tag; var tmp = _this__u8e3s4.d57(); var tmp_0 = _this__u8e3s4.c57(); return new DIProperty(tmp, tmp_0, InstanceOrNull$lambda(_this__u8e3s4, type, tag)); } function get_AnyDIContext() { return Contexes_getInstance().i57_1; } function DIWrapper_init_$Init$(base, diContext, trigger, $this) { diContext = diContext === VOID ? base.c57() : diContext; trigger = trigger === VOID ? base.d57() : trigger; DIWrapper.call($this, base.a57(), diContext, trigger); return $this; } function DIWrapper_init_$Create$(base, diContext, trigger) { return DIWrapper_init_$Init$(base, diContext, trigger, objectCreate(protoOf(DIWrapper))); } function DIWrapper(_base, diContext, diTrigger) { diTrigger = diTrigger === VOID ? null : diTrigger; this.j57_1 = _base; this.k57_1 = diContext; this.l57_1 = diTrigger; } protoOf(DIWrapper).c57 = function () { return this.k57_1; }; protoOf(DIWrapper).d57 = function () { return this.l57_1; }; protoOf(DIWrapper).a57 = function () { return this; }; protoOf(DIWrapper).b57 = function () { return this.j57_1.b57(); }; function Contexes() { Contexes_instance = this; this.i57_1 = Companion_instance_0.h57(Companion_getInstance().r54_1, new Object()); } var Contexes_instance; function Contexes_getInstance() { if (Contexes_instance == null) new Contexes(); return Contexes_instance; } function Instance$lambda($this_Instance, $type, $tag) { return function (ctx, _anonymous_parameter_1__qggqgd) { var tmp = $this_Instance.a57().b57(); // Inline function 'org.kodein.di.anyType' call var tmp_0 = ctx.g57(); var tmp$ret$0 = isInterface(tmp_0, TypeToken) ? tmp_0 : THROW_CCE(); return tmp.m57(new Key(tmp$ret$0, Companion_getInstance().q54_1, $type, $tag), ctx.t2())(); }; } function InstanceOrNull$lambda($this_InstanceOrNull, $type, $tag) { return function (ctx, _anonymous_parameter_1__qggqgd) { var tmp = $this_InstanceOrNull.a57().b57(); // Inline function 'org.kodein.di.anyType' call var tmp_0 = ctx.g57(); var tmp$ret$0 = isInterface(tmp_0, TypeToken) ? tmp_0 : THROW_CCE(); var tmp0_safe_receiver = tmp.n57(new Key(tmp$ret$0, Companion_getInstance().q54_1, $type, $tag), ctx.t2()); return tmp0_safe_receiver == null ? null : tmp0_safe_receiver(); }; } function DIContainer$provider$lambda($this) { return function () { return $this(Unit_instance); }; } function DIContainer$providerOrNull$lambda($this) { return function () { return $this(Unit_instance); }; } function DIContainer() { } function DITree() { } function DirectDIBase() { } function NoDefinedTag() { } var NoDefinedTag_instance; function NoDefinedTag_getInstance() { return NoDefinedTag_instance; } function SearchSpecs(contextType, argType, type, tag) { contextType = contextType === VOID ? null : contextType; argType = argType === VOID ? null : argType; type = type === VOID ? null : type; tag = tag === VOID ? NoDefinedTag_instance : tag; this.g58_1 = contextType; this.h58_1 = argType; this.i58_1 = type; this.j58_1 = tag; } protoOf(SearchSpecs).toString = function () { var args = ArrayList_init_$Create$(); if (!(this.g58_1 == null)) { // Inline function 'kotlin.collections.plusAssign' call var tmp0_safe_receiver = this.g58_1; var element = 'contextType=' + (tmp0_safe_receiver == null ? null : tmp0_safe_receiver.s54()); args.i1(element); } if (!(this.h58_1 == null)) { // Inline function 'kotlin.collections.plusAssign' call var tmp1_safe_receiver = this.h58_1; var element_0 = 'argType=' + (tmp1_safe_receiver == null ? null : tmp1_safe_receiver.s54()); args.i1(element_0); } if (!(this.i58_1 == null)) { // Inline function 'kotlin.collections.plusAssign' call var tmp2_safe_receiver = this.i58_1; var element_1 = 'type=' + (tmp2_safe_receiver == null ? null : tmp2_safe_receiver.s54()); args.i1(element_1); } if (!equals(this.j58_1, NoDefinedTag_instance)) { // Inline function 'kotlin.collections.plusAssign' call var element_2 = 'tag=' + toString(this.j58_1); args.i1(element_2); } return '[' + joinToString(args, ', ') + ']'; }; function NoArgBindingDIWrap(_di) { this.k58_1 = _di; } protoOf(NoArgBindingDIWrap).a57 = function () { return this.k58_1.a57(); }; protoOf(NoArgBindingDIWrap).f58 = function () { return this.k58_1.f58(); }; protoOf(NoArgBindingDIWrap).b58 = function () { return this.k58_1.b58(); }; protoOf(NoArgBindingDIWrap).d58 = function (type, tag) { return this.k58_1.d58(type, tag); }; protoOf(NoArgBindingDIWrap).e58 = function (type, tag) { return this.k58_1.e58(type, tag); }; protoOf(NoArgBindingDIWrap).c58 = function (context) { return this.k58_1.c58(context); }; protoOf(NoArgBindingDIWrap).od = function () { return this.k58_1.od(); }; function ErasedContext() { } protoOf(ErasedContext).g57 = function () { return Companion_getInstance().r54_1; }; protoOf(ErasedContext).t2 = function () { return ErasedContext_instance; }; var ErasedContext_instance; function ErasedContext_getInstance() { return ErasedContext_instance; } function DIBinding$Copier$Companion$invoke$1($f) { this.l58_1 = $f; } protoOf(DIBinding$Copier$Companion$invoke$1).m58 = function (builder) { return this.l58_1(builder); }; function Companion_1() { } protoOf(Companion_1).n58 = function (f) { return new DIBinding$Copier$Companion$invoke$1(f); }; var Companion_instance_1; function Companion_getInstance_2() { return Companion_instance_1; } function DIBinding() { } function NoArgDIBinding() { } function SingletonReference$make$lambda($value) { return function () { return $value; }; } function SingletonReference() { } protoOf(SingletonReference).u58 = function (creator) { var value = creator(); return new Reference(value, SingletonReference$make$lambda(value)); }; var SingletonReference_instance; function SingletonReference_getInstance() { return SingletonReference_instance; } function Reference(current, next) { this.v58_1 = current; this.w58_1 = next; } protoOf(Reference).y6 = function () { return this.v58_1; }; protoOf(Reference).z6 = function () { return this.w58_1; }; protoOf(Reference).toString = function () { return 'Reference(current=' + this.v58_1 + ', next=' + this.w58_1 + ')'; }; protoOf(Reference).hashCode = function () { var result = hashCode(this.v58_1); result = imul(result, 31) + hashCode(this.w58_1) | 0; return result; }; protoOf(Reference).equals = function (other) { if (this === other) return true; if (!(other instanceof Reference)) return false; var tmp0_other_with_cast = other instanceof Reference ? other : THROW_CCE(); if (!equals(this.v58_1, tmp0_other_with_cast.v58_1)) return false; if (!equals(this.w58_1, tmp0_other_with_cast.w58_1)) return false; return true; }; function ScopeRegistry() { } function StandardScopeRegistry() { ScopeRegistry.call(this); this.y58_1 = newConcurrentMap(); this.z58_1 = new Object(); } protoOf(StandardScopeRegistry).x58 = function (key, sync, creator) { var tmp$ret$2; $l$block_1: { // Inline function 'org.kodein.di.internal.synchronizedIfNull' call sync && this.z58_1; // Inline function 'org.kodein.di.bindings.StandardScopeRegistry.getOrCreate.' call var tmp0_safe_receiver = this.y58_1.q(key); var tmp0_safe_receiver_0 = tmp0_safe_receiver == null ? null : tmp0_safe_receiver(); if (tmp0_safe_receiver_0 == null) null; else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.bindings.StandardScopeRegistry.getOrCreate.' call tmp$ret$2 = tmp0_safe_receiver_0; break $l$block_1; } // Inline function 'org.kodein.di.internal.maySynchronized' call var tmp$ret$5; $l$block_0: { // Inline function 'org.kodein.di.internal.synchronizedIfNull.' call // Inline function 'org.kodein.di.bindings.StandardScopeRegistry.getOrCreate.' call var tmp0_safe_receiver_1 = this.y58_1.q(key); var tmp0_safe_receiver_2 = tmp0_safe_receiver_1 == null ? null : tmp0_safe_receiver_1(); if (tmp0_safe_receiver_2 == null) null; else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call tmp$ret$5 = tmp0_safe_receiver_2; break $l$block_0; } // Inline function 'org.kodein.di.bindings.StandardScopeRegistry.getOrCreate.' call var tmp0_container = creator(); var current = tmp0_container.y6(); var next = tmp0_container.z6(); // Inline function 'kotlin.collections.set' call this.y58_1.s(key, next); tmp$ret$2 = current; break $l$block_1; } var value = tmp$ret$5; // Inline function 'org.kodein.di.bindings.StandardScopeRegistry.getOrCreate.' call tmp$ret$2 = value; } return tmp$ret$2; }; function ContextTranslator() { } function SimpleContextTranslator(contextType, scopeType, t) { this.c59_1 = contextType; this.d59_1 = scopeType; this.e59_1 = t; } protoOf(SimpleContextTranslator).b56 = function () { return this.c59_1; }; protoOf(SimpleContextTranslator).a59 = function () { return this.d59_1; }; protoOf(SimpleContextTranslator).b59 = function (di, ctx) { return this.e59_1(di, ctx); }; protoOf(SimpleContextTranslator).toString = function () { return '()'; }; function NoScope() { this.f59_1 = new StandardScopeRegistry(); } protoOf(NoScope).g59 = function (context) { return this.f59_1; }; protoOf(NoScope).h59 = function (context) { return this.g59((context == null ? true : !(context == null)) ? context : THROW_CCE()); }; function toKContext(_this__u8e3s4, di, ctx) { var tmp0_safe_receiver = _this__u8e3s4.b59(di, ctx); var tmp; if (tmp0_safe_receiver == null) { tmp = null; } else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.bindings.toKContext.' call tmp = Companion_instance_0.h57(_this__u8e3s4.a59(), tmp0_safe_receiver); } return tmp; } function CompositeContextTranslator(src, dst) { this.i59_1 = src; this.j59_1 = dst; } protoOf(CompositeContextTranslator).b56 = function () { return this.i59_1.b56(); }; protoOf(CompositeContextTranslator).a59 = function () { return this.j59_1.a59(); }; protoOf(CompositeContextTranslator).b59 = function (di, ctx) { var tmp0_safe_receiver = this.i59_1.b59(di, ctx); var tmp; if (tmp0_safe_receiver == null) { tmp = null; } else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.bindings.CompositeContextTranslator.translate.' call tmp = this.j59_1.b59(di, tmp0_safe_receiver); } return tmp; }; protoOf(CompositeContextTranslator).toString = function () { return '(' + this.i59_1 + ' -> ' + this.j59_1 + ')'; }; function factoryName($this, params) { // Inline function 'kotlin.text.buildString' call // Inline function 'kotlin.contracts.contract' call // Inline function 'kotlin.apply' call var this_0 = StringBuilder_init_$Create$(); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.bindings.Singleton.factoryName.' call this_0.y5('singleton'); // Inline function 'kotlin.collections.isNotEmpty' call if (!params.c1()) { this_0.y5(joinToString(params, ', ', '(', ')')); } return this_0.toString(); } function Singleton$getFactory$lambda$lambda$lambda(this$0, $bindingDi) { return function () { return this$0.p59_1(new NoArgBindingDIWrap($bindingDi)); }; } function Singleton$getFactory$lambda$lambda(this$0, $bindingDi) { return function () { return this$0.q59_1.u58(Singleton$getFactory$lambda$lambda$lambda(this$0, $bindingDi)); }; } function Singleton$getFactory$lambda($lateInitRegistry, this$0, $bindingDi) { return function (_anonymous_parameter_0__qggqh8) { var tmp0_elvis_lhs = $lateInitRegistry._v; var tmp; if (tmp0_elvis_lhs == null) { // Inline function 'kotlin.also' call var this_0 = this$0.k59_1.h59($bindingDi.od()); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.bindings.Singleton.getFactory..' call $lateInitRegistry._v = this_0; tmp = this_0; } else { tmp = tmp0_elvis_lhs; } var registry = tmp; var tmp_0 = registry.x58(this$0.r59_1, this$0.o59_1, Singleton$getFactory$lambda$lambda(this$0, $bindingDi)); return !(tmp_0 == null) ? tmp_0 : THROW_CCE(); }; } function Singleton$copier$lambda(this$0) { return function (it) { return new Singleton(this$0.k59_1, this$0.l59_1, this$0.m59_1, this$0.n59_1, this$0.q59_1, this$0.o59_1, this$0.p59_1); }; } function Singleton(scope, contextType, explicitContext, createdType, refMaker, sync, creator) { refMaker = refMaker === VOID ? null : refMaker; sync = sync === VOID ? true : sync; this.k59_1 = scope; this.l59_1 = contextType; this.m59_1 = explicitContext; this.n59_1 = createdType; this.o59_1 = sync; this.p59_1 = creator; var tmp = this; tmp.q59_1 = refMaker == null ? SingletonReference_instance : refMaker; this.r59_1 = new ScopeKey(new Object(), Unit_instance); var tmp_0 = this; var tmp_1 = Companion_instance_1; tmp_0.s59_1 = tmp_1.n58(Singleton$copier$lambda(this)); } protoOf(Singleton).c56 = function () { return this.k59_1; }; protoOf(Singleton).b56 = function () { return this.l59_1; }; protoOf(Singleton).r58 = function () { return this.n59_1; }; protoOf(Singleton).o58 = function () { var params = ArrayList_init_$Create$_0(2); if (!equals(this.q59_1, SingletonReference_instance)) { params.i1('ref = ' + erasedOf(this.q59_1).s54()); } return factoryName(this, params); }; protoOf(Singleton).p58 = function () { var params = ArrayList_init_$Create$_0(2); if (!equals(this.q59_1, SingletonReference_instance)) { params.i1('ref = ' + erasedOf(this.q59_1).u54()); } return factoryName(this, params); }; protoOf(Singleton).t59 = function (key, di) { var lateInitRegistry = {_v: null}; var bindingDi = this.m59_1 ? di : di.u59(); return Singleton$getFactory$lambda(lateInitRegistry, this, bindingDi); }; protoOf(Singleton).t58 = function (key, di) { return this.t59(key, di); }; protoOf(Singleton).y55 = function () { return this.s59_1; }; function Provider$getFactory$lambda(this$0, $di) { return function (_anonymous_parameter_0__qggqh8) { return this$0.x59_1(new NoArgBindingDIWrap($di)); }; } function Provider(contextType, createdType, creator) { this.v59_1 = contextType; this.w59_1 = createdType; this.x59_1 = creator; } protoOf(Provider).b56 = function () { return this.v59_1; }; protoOf(Provider).r58 = function () { return this.w59_1; }; protoOf(Provider).o58 = function () { return 'provider'; }; protoOf(Provider).t59 = function (key, di) { return Provider$getFactory$lambda(this, di); }; protoOf(Provider).t58 = function (key, di) { return this.t59(key, di); }; function ScopeKey(scopeId, arg) { this.y59_1 = scopeId; this.z59_1 = arg; } protoOf(ScopeKey).toString = function () { return 'ScopeKey(scopeId=' + toString_0(this.y59_1) + ', arg=' + this.z59_1 + ')'; }; protoOf(ScopeKey).hashCode = function () { var result = hashCode(this.y59_1); result = imul(result, 31) + (this.z59_1 == null ? 0 : hashCode(this.z59_1)) | 0; return result; }; protoOf(ScopeKey).equals = function (other) { if (this === other) return true; if (!(other instanceof ScopeKey)) return false; var tmp0_other_with_cast = other instanceof ScopeKey ? other : THROW_CCE(); if (!equals(this.y59_1, tmp0_other_with_cast.y59_1)) return false; if (!equals(this.z59_1, tmp0_other_with_cast.z59_1)) return false; return true; }; function InstanceBinding$getFactory$lambda(this$0) { return function (_anonymous_parameter_0__qggqh8) { return this$0.b5a_1; }; } function InstanceBinding(createdType, instance) { this.a5a_1 = createdType; this.b5a_1 = instance; this.c5a_1 = Companion_getInstance().r54_1; } protoOf(InstanceBinding).r58 = function () { return this.a5a_1; }; protoOf(InstanceBinding).o58 = function () { return 'instance'; }; protoOf(InstanceBinding).b56 = function () { return this.c5a_1; }; protoOf(InstanceBinding).d5a = function (key, di) { return InstanceBinding$getFactory$lambda(this); }; protoOf(InstanceBinding).t58 = function (key, di) { return this.d5a(key, di); }; protoOf(InstanceBinding).t55 = function () { return this.o58() + ' ( ' + this.a5a_1.s54() + ' )'; }; protoOf(InstanceBinding).v55 = function () { return this.p58() + ' ( ' + this.a5a_1.u54() + ' )'; }; function DIMainBuilderImpl(allowSilentOverride) { DIBuilderImpl.call(this, null, '', HashSet_init_$Create$(), new DIContainerBuilderImpl(true, allowSilentOverride, HashMap_init_$Create$(), ArrayList_init_$Create$(), ArrayList_init_$Create$())); this.j5a_1 = ArrayList_init_$Create$(); this.k5a_1 = Companion_instance.w56_1; this.l5a_1 = Companion_instance.x56_1; } protoOf(DIMainBuilderImpl).w57 = function () { return this.j5a_1; }; protoOf(DIMainBuilderImpl).m5a = function () { return this.k5a_1; }; protoOf(DIMainBuilderImpl).n5a = function () { return this.l5a_1; }; protoOf(DIMainBuilderImpl).u56 = function (di, allowOverride, copy) { var keys = copy.w55(di.b57().o57()); this.m56().x5a(di.b57(), allowOverride, keys); // Inline function 'kotlin.collections.plusAssign' call var this_0 = this.w57(); var elements = di.b57().o57().w57(); addAll(this_0, elements); // Inline function 'kotlin.collections.flatMap' call // Inline function 'kotlin.collections.flatMapTo' call var this_1 = this.m56().t5a_1; var destination = ArrayList_init_$Create$(); // Inline function 'kotlin.collections.iterator' call var tmp0_iterator = this_1.q2().w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DIMainBuilderImpl.extend.' call // Inline function 'kotlin.collections.map' call var this_2 = element.t2(); // Inline function 'kotlin.collections.mapTo' call var destination_0 = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_2, 10)); var tmp0_iterator_0 = this_2.w(); while (tmp0_iterator_0.f()) { var item = tmp0_iterator_0.e(); // Inline function 'org.kodein.di.internal.DIMainBuilderImpl.extend..' call var tmp$ret$1 = item.m55_1; destination_0.i1(tmp$ret$1); } var list = destination_0; addAll(destination, list); } this.q5a_1.m1(filterNotNull(destination)); }; function TypeBinder($outer, type, tag, overrides) { this.b5b_1 = $outer; this.y5a_1 = type; this.z5a_1 = tag; this.a5b_1 = overrides; } protoOf(TypeBinder).m56 = function () { return this.b5b_1.m56(); }; protoOf(TypeBinder).c5b = function (binding) { return this.m56().d5b(new Key(binding.b56(), binding.q58(), this.y5a_1, this.z5a_1), binding, this.b5b_1.o5a_1, this.a5b_1); }; function ConstantBinder($outer, _tag, _overrides) { this.g5b_1 = $outer; this.e5b_1 = _tag; this.f5b_1 = _overrides; } protoOf(ConstantBinder).h5b = function (valueType, value) { return this.g5b_1.n56(this.e5b_1, this.f5b_1, new InstanceBinding(valueType, value)); }; function DIBuilderImpl(moduleName, prefix, importedModules, containerBuilder) { this.o5a_1 = moduleName; this.p5a_1 = prefix; this.q5a_1 = importedModules; this.r5a_1 = containerBuilder; this.s5a_1 = Companion_getInstance().r54_1; } protoOf(DIBuilderImpl).m56 = function () { return this.r5a_1; }; protoOf(DIBuilderImpl).b56 = function () { return this.s5a_1; }; protoOf(DIBuilderImpl).c56 = function () { return new NoScope(); }; protoOf(DIBuilderImpl).d56 = function () { return false; }; protoOf(DIBuilderImpl).o56 = function (type, tag, overrides) { return new TypeBinder(this, type, tag, overrides); }; protoOf(DIBuilderImpl).n56 = function (tag, overrides, binding) { this.m56().d5b(new Key(binding.b56(), binding.q58(), binding.r58(), tag), binding, this.o5a_1, overrides); }; protoOf(DIBuilderImpl).p56 = function (tag, overrides) { return new ConstantBinder(this, tag, overrides); }; protoOf(DIBuilderImpl).r56 = function (module_0, allowOverride) { var moduleName = this.p5a_1 + module_0.dc(); var tmp; // Inline function 'kotlin.text.isNotEmpty' call if (charSequenceLength(moduleName) > 0) { tmp = this.q5a_1.a1(moduleName); } else { tmp = false; } if (tmp) { throw IllegalStateException_init_$Create$('Module "' + moduleName + '" has already been imported!'); } // Inline function 'kotlin.collections.plusAssign' call this.q5a_1.i1(moduleName); // Inline function 'kotlin.apply' call var this_0 = new DIBuilderImpl(moduleName, this.p5a_1 + module_0.f56_1, this.q5a_1, this.m56().i5b(allowOverride, module_0.e56_1)); // Inline function 'kotlin.contracts.contract' call module_0.g56_1(this_0); }; protoOf(DIBuilderImpl).t56 = function (translator) { return this.m56().j5b(translator); }; function DIContainerBuilderImpl$OverrideMode$ALLOW_SILENT() { OverrideMode.call(this, 'ALLOW_SILENT', 0); OverrideMode_ALLOW_SILENT_instance = this; } protoOf(DIContainerBuilderImpl$OverrideMode$ALLOW_SILENT).m5b = function () { return true; }; protoOf(DIContainerBuilderImpl$OverrideMode$ALLOW_SILENT).n5b = function (overrides) { return overrides; }; var OverrideMode_ALLOW_SILENT_instance; function DIContainerBuilderImpl$OverrideMode$ALLOW_EXPLICIT() { OverrideMode.call(this, 'ALLOW_EXPLICIT', 1); OverrideMode_ALLOW_EXPLICIT_instance = this; } protoOf(DIContainerBuilderImpl$OverrideMode$ALLOW_EXPLICIT).m5b = function () { return true; }; protoOf(DIContainerBuilderImpl$OverrideMode$ALLOW_EXPLICIT).n5b = function (overrides) { return overrides == null ? false : overrides; }; var OverrideMode_ALLOW_EXPLICIT_instance; function DIContainerBuilderImpl$OverrideMode$FORBID() { OverrideMode.call(this, 'FORBID', 2); OverrideMode_FORBID_instance = this; } protoOf(DIContainerBuilderImpl$OverrideMode$FORBID).m5b = function () { return false; }; protoOf(DIContainerBuilderImpl$OverrideMode$FORBID).n5b = function (overrides) { var tmp; if (!(overrides == null) ? overrides : false) { throw new OverridingException('Overriding has been forbidden'); } else { tmp = false; } return tmp; }; var OverrideMode_FORBID_instance; function Companion_2() { } protoOf(Companion_2).s5b = function (allow, silent) { if (!allow) return OverrideMode_FORBID_getInstance(); if (silent) return OverrideMode_ALLOW_SILENT_getInstance(); return OverrideMode_ALLOW_EXPLICIT_getInstance(); }; var Companion_instance_2; function Companion_getInstance_3() { return Companion_instance_2; } var OverrideMode_entriesInitialized; function OverrideMode_initEntries() { if (OverrideMode_entriesInitialized) return Unit_instance; OverrideMode_entriesInitialized = true; OverrideMode_ALLOW_SILENT_instance = new DIContainerBuilderImpl$OverrideMode$ALLOW_SILENT(); OverrideMode_ALLOW_EXPLICIT_instance = new DIContainerBuilderImpl$OverrideMode$ALLOW_EXPLICIT(); OverrideMode_FORBID_instance = new DIContainerBuilderImpl$OverrideMode$FORBID(); } function OverrideMode(name, ordinal) { Enum.call(this, name, ordinal); } function checkOverrides($this, key, overrides) { var mustOverride = $this.w5a_1.n5b(overrides); if (!(mustOverride == null)) { var tmp; if (mustOverride) { // Inline function 'kotlin.collections.contains' call // Inline function 'kotlin.collections.containsKey' call var this_0 = $this.t5a_1; tmp = !(isInterface(this_0, Map) ? this_0 : THROW_CCE()).r(key); } else { tmp = false; } if (tmp) throw new OverridingException('Binding ' + key + ' must override an existing binding.'); var tmp_0; if (!mustOverride) { // Inline function 'kotlin.collections.contains' call // Inline function 'kotlin.collections.containsKey' call var this_1 = $this.t5a_1; tmp_0 = (isInterface(this_1, Map) ? this_1 : THROW_CCE()).r(key); } else { tmp_0 = false; } if (tmp_0) throw new OverridingException('Binding ' + key + ' must not override an existing binding.'); } } function checkMatch($this, allowOverride) { if (!$this.w5a_1.m5b() ? allowOverride : false) throw new OverridingException('Overriding has been forbidden'); } function OverrideMode_ALLOW_SILENT_getInstance() { OverrideMode_initEntries(); return OverrideMode_ALLOW_SILENT_instance; } function OverrideMode_ALLOW_EXPLICIT_getInstance() { OverrideMode_initEntries(); return OverrideMode_ALLOW_EXPLICIT_instance; } function OverrideMode_FORBID_getInstance() { OverrideMode_initEntries(); return OverrideMode_FORBID_instance; } function DIContainerBuilderImpl(allowOverride, silentOverride, bindingsMap, callbacks, translators) { this.t5a_1 = bindingsMap; this.u5a_1 = callbacks; this.v5a_1 = translators; this.w5a_1 = Companion_instance_2.s5b(allowOverride, silentOverride); } protoOf(DIContainerBuilderImpl).d5b = function (key, binding, fromModule, overrides) { checkOverrides(this, key, overrides); // Inline function 'kotlin.collections.getOrPut' call var this_0 = this.t5a_1; var value = this_0.q(key); var tmp; if (value == null) { // Inline function 'org.kodein.di.internal.DIContainerBuilderImpl.bind.' call var answer = newLinkedList(); this_0.s(key, answer); tmp = answer; } else { tmp = value; } var bindings = tmp; bindings.c2(0, new DIDefining(isInterface(binding, DIBinding) ? binding : THROW_CCE(), fromModule)); }; protoOf(DIContainerBuilderImpl).x5a = function (container, allowOverride, copy) { checkMatch(this, allowOverride); // Inline function 'kotlin.collections.forEach' call // Inline function 'kotlin.collections.iterator' call var tmp0_iterator = container.o57().x55().q2().w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DIContainerBuilderImpl.extend.' call // Inline function 'kotlin.collections.component1' call var key = element.s2(); // Inline function 'kotlin.collections.component2' call var bindings = element.t2(); if (!allowOverride) { checkOverrides(this, key, null); } var tmp; if (copy.a1(key)) { // Inline function 'kotlin.also' call var this_0 = newLinkedList(); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.internal.DIContainerBuilderImpl.extend..' call // Inline function 'kotlin.collections.mapTo' call var tmp0_iterator_0 = bindings.w(); while (tmp0_iterator_0.f()) { var item = tmp0_iterator_0.e(); // Inline function 'org.kodein.di.internal.DIContainerBuilderImpl.extend...' call var tmp0_safe_receiver = item.l55_1.y55(); var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.m58(this); var tmp$ret$3 = new DIDefining(tmp1_elvis_lhs == null ? item.l55_1 : tmp1_elvis_lhs, item.m55_1); this_0.i1(tmp$ret$3); } tmp = this_0; } else { tmp = newLinkedList_0(bindings); } var newBindings = tmp; // Inline function 'kotlin.collections.set' call this.t5a_1.s(key, newBindings); } // Inline function 'kotlin.collections.plusAssign' call var this_1 = this.v5a_1; var elements = container.o57().v57(); addAll(this_1, elements); }; protoOf(DIContainerBuilderImpl).i5b = function (allowOverride, silentOverride) { checkMatch(this, allowOverride); return new DIContainerBuilderImpl(allowOverride, silentOverride, this.t5a_1, this.u5a_1, this.v5a_1); }; protoOf(DIContainerBuilderImpl).j5b = function (translator) { // Inline function 'kotlin.collections.plusAssign' call this.v5a_1.i1(translator); }; function displayString($this, key, overrideLevel) { var descProp = $this.y5b_1 ? bindFullDescription$factory_0(key) : bindDescription$factory_0(key); return !(overrideLevel === 0) ? 'overridden ' + descProp.get() : descProp.get(); } function recursiveLoop($this, node, firstKey, firstOverrideLevel, tail) { var $this_0 = $this; var node_0 = node; var firstKey_0 = firstKey; var firstOverrideLevel_0 = firstOverrideLevel; var tail_0 = tail; $l$1: do { $l$0: do { var tmp; if (node_0.x5b_1 == null ? true : firstKey_0.equals(node_0.v5b_1) ? firstOverrideLevel_0 === node_0.w5b_1 : false) { tmp = plus(listOf(displayString($this_0, node_0.v5b_1, node_0.w5b_1)), tail_0); } else { var tmp0 = $this_0; var tmp4 = plus(listOf(displayString($this_0, node_0.v5b_1, node_0.w5b_1)), tail_0); $this_0 = tmp0; node_0 = node_0.x5b_1; firstKey_0 = firstKey_0; firstOverrideLevel_0 = firstOverrideLevel_0; tail_0 = tmp4; continue $l$0; } return tmp; } while (false); } while (true); } function recursiveCheck($this, node, searchedKey, searchedOverrideLevel) { var $this_0 = $this; var node_0 = node; var searchedKey_0 = searchedKey; var searchedOverrideLevel_0 = searchedOverrideLevel; $l$1: do { $l$0: do { var tmp; if (node_0.v5b_1.equals(searchedKey_0) ? node_0.w5b_1 === searchedOverrideLevel_0 : false) { tmp = false; } else if (node_0.x5b_1 == null) { tmp = true; } else { $this_0 = $this_0; node_0 = node_0.x5b_1; searchedKey_0 = searchedKey_0; searchedOverrideLevel_0 = searchedOverrideLevel_0; continue $l$0; } return tmp; } while (false); } while (true); } function DIContainerImpl_init_$Init$(builder, externalSources, fullDescriptionOnError, fullContainerTreeOnError, runCallbacks, $this) { DIContainerImpl.call($this, new DITreeImpl(builder.t5a_1, externalSources, builder.v5a_1), null, fullDescriptionOnError, fullContainerTreeOnError); var init = DIContainerImpl$_init_$lambda_r6ib3j($this, builder); if (runCallbacks) init(); else { var lock = new Object(); var tmp = $this; tmp.d5c_1 = DIContainerImpl$_init_$lambda_r6ib3j_0(lock, $this, init); } return $this; } function DIContainerImpl_init_$Create$(builder, externalSources, fullDescriptionOnError, fullContainerTreeOnError, runCallbacks) { return DIContainerImpl_init_$Init$(builder, externalSources, fullDescriptionOnError, fullContainerTreeOnError, runCallbacks, objectCreate(protoOf(DIContainerImpl))); } function Node(key, overrideLevel, parent, fullDescriptionOnError) { this.v5b_1 = key; this.w5b_1 = overrideLevel; this.x5b_1 = parent; this.y5b_1 = fullDescriptionOnError; } protoOf(Node).e5c = function (searchedKey, searchedOverrideLevel) { if (!recursiveCheck(this, this, searchedKey, searchedOverrideLevel)) { var list = plus_0(recursiveLoop(this, this, searchedKey, searchedOverrideLevel, emptyList()), displayString(this, searchedKey, this.w5b_1)); var sb = StringBuilder_init_$Create$(); // Inline function 'kotlin.collections.forEachIndexed' call var index = 0; var tmp0_iterator = list.w(); while (tmp0_iterator.f()) { var item = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.Node.check.' call var tmp1 = index; index = tmp1 + 1 | 0; var index_0 = checkIndexOverflow(tmp1); sb.y5(' '); switch (index_0) { case 0: sb.y5(' '); break; case 1: sb.y5(' \u2554\u2569>'); break; default: sb.y5(' \u2551'); sb.y5(repeat(' ', index_0 - 1 | 0)); sb.y5('\u255A>'); break; } sb.y5(item); sb.y5('\n'); } sb.y5(' \u255A'); sb.y5(repeat('\u2550\u2550', list.u() - 1 | 0)); sb.y5('\u255D'); throw new DependencyLoopException('Dependency recursion:\n' + sb); } }; function bindingDI($this, key, context, tree, overrideLevel) { var container = new DIContainerImpl(tree, new Node(key, overrideLevel, $this.a5c_1, $this.b5c_1), $this.b5c_1, $this.c5c_1); return new BindingDIImpl(new DirectDIImpl(container, context), key, overrideLevel); } function DIContainerImpl$_init_$lambda_r6ib3j(this$0, $builder) { return function () { var direct = new DirectDIImpl(this$0, get_AnyDIContext()); var tmp0_iterator = $builder.u5a_1.w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DIContainerImpl...' call element(direct); } return Unit_instance; }; } function DIContainerImpl$_init_$lambda_r6ib3j_0($lock, this$0, $init) { return function () { $l$block_1: { // Inline function 'org.kodein.di.internal.synchronizedIfNotNull' call if (this$0.d5c_1 == null) { // Inline function 'org.kodein.di.internal.DIContainerImpl...' call break $l$block_1; } // Inline function 'org.kodein.di.internal.maySynchronized' call $l$block_0: { // Inline function 'org.kodein.di.internal.synchronizedIfNotNull.' call var tmp0_elvis_lhs = this$0.d5c_1; var tmp; if (tmp0_elvis_lhs == null) { break $l$block_0; } else { tmp = tmp0_elvis_lhs; } var value = tmp; this$0.d5c_1 = null; $init(); break $l$block_1; } // Inline function 'org.kodein.di.internal.DIContainerImpl...' call } return Unit_instance; }; } function DIContainerImpl$factory$lambda($this$null, it) { return fullDescription($this$null, it); } function DIContainerImpl$factory$lambda_0($this$null, it) { return description($this$null, it); } function DIContainerImpl(tree, node, fullDescriptionOnError, fullContainerTreeOnError) { this.z5b_1 = tree; this.a5c_1 = node; this.b5c_1 = fullDescriptionOnError; this.c5c_1 = fullContainerTreeOnError; this.d5c_1 = null; } protoOf(DIContainerImpl).o57 = function () { return this.z5b_1; }; protoOf(DIContainerImpl).r57 = function (key, context, overrideLevel) { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call var it = this.z5b_1.y57(key, 0); var tmp; if (it.u() === 1) { var tmp0_container = it.v(0); var definition = tmp0_container.z6(); var translator = tmp0_container.dn(); var tmp1_safe_receiver = this.a5c_1; if (tmp1_safe_receiver == null) null; else { tmp1_safe_receiver.e5c(key, 0); } var tmp_0 = Companion_instance_0.h57(key.n55_1, context); var originalContext = isInterface(tmp_0, DIContext) ? tmp_0 : THROW_CCE(); var tmp3_elvis_lhs = translator == null ? null : toKContext(translator, new DirectDIImpl(this, originalContext), context); var kContext = tmp3_elvis_lhs == null ? originalContext : tmp3_elvis_lhs; if (!(key instanceof Key)) THROW_CCE(); var bindingDI_0 = bindingDI(this, key, kContext, definition.k55_1, overrideLevel); return definition.l55_1.t58(key, bindingDI_0); } var bindingDI_1 = bindingDI(this, key, Companion_instance_0.h57(key.n55_1, context), this.z5b_1, overrideLevel); // Inline function 'kotlin.collections.forEach' call var tmp0_iterator = this.z5b_1.w57().w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DIContainerImpl.factoryOrNull.' call var tmp0_safe_receiver = element.f5c(bindingDI_1, key); if (tmp0_safe_receiver == null) null; else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call var tmp0_safe_receiver_0 = this.a5c_1; if (tmp0_safe_receiver_0 == null) null; else { tmp0_safe_receiver_0.e5c(key, 0); } return (!(tmp0_safe_receiver == null) ? typeof tmp0_safe_receiver === 'function' : false) ? tmp0_safe_receiver : THROW_CCE(); } } return null; }; protoOf(DIContainerImpl).p57 = function (key, context, overrideLevel) { var result = this.z5b_1.y57(key, overrideLevel); if (result.u() === 1) { var tmp0_container = result.v(0); var definition = tmp0_container.z6(); var translator = tmp0_container.dn(); var tmp1_safe_receiver = this.a5c_1; if (tmp1_safe_receiver == null) null; else { tmp1_safe_receiver.e5c(key, overrideLevel); } var tmp = Companion_instance_0.h57(key.n55_1, context); var originalContext = isInterface(tmp, DIContext) ? tmp : THROW_CCE(); var tmp3_elvis_lhs = translator == null ? null : toKContext(translator, new DirectDIImpl(this, originalContext), context); var kContext = tmp3_elvis_lhs == null ? originalContext : tmp3_elvis_lhs; if (!(key instanceof Key)) THROW_CCE(); var bindingDI_0 = bindingDI(this, key, kContext, definition.k55_1, overrideLevel); return definition.l55_1.t58(key, bindingDI_0); } var bindingDI_1 = bindingDI(this, key, Companion_instance_0.h57(key.n55_1, context), this.z5b_1, overrideLevel); // Inline function 'kotlin.collections.forEach' call var tmp0_iterator = this.z5b_1.w57().w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DIContainerImpl.factory.' call var tmp0_safe_receiver = element.f5c(bindingDI_1, key); if (tmp0_safe_receiver == null) null; else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call var tmp0_safe_receiver_0 = this.a5c_1; if (tmp0_safe_receiver_0 == null) null; else { tmp0_safe_receiver_0.e5c(key, overrideLevel); } return (!(tmp0_safe_receiver == null) ? typeof tmp0_safe_receiver === 'function' : false) ? tmp0_safe_receiver : THROW_CCE(); } } var withOverrides = !(overrideLevel === 0); var descProp = this.b5c_1 ? fullDescription$factory_0(key) : description$factory_0(key); var tmp_0; if (this.b5c_1) { tmp_0 = DIContainerImpl$factory$lambda; } else { tmp_0 = DIContainerImpl$factory$lambda_0; } var descFun = tmp_0; if (result.c1()) { // Inline function 'kotlin.text.buildString' call // Inline function 'kotlin.contracts.contract' call // Inline function 'kotlin.apply' call var this_0 = StringBuilder_init_$Create$(); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.internal.DIContainerImpl.factory.' call this_0.y5('No binding found for ' + descProp.get()); if (this.c5c_1) { // Inline function 'kotlin.text.appendLine' call this_0.z5(_Char___init__impl__6a9atx(10)); var forType = this.z5b_1.z57(new SearchSpecs(VOID, VOID, key.p55_1)); // Inline function 'kotlin.collections.isNotEmpty' call if (!forType.c1()) { // Inline function 'kotlin.collections.associate' call var capacity = coerceAtLeast(mapCapacity(collectionSizeOrDefault(forType, 10)), 16); // Inline function 'kotlin.collections.associateTo' call var destination = LinkedHashMap_init_$Create$_0(capacity); var tmp0_iterator_0 = forType.w(); while (tmp0_iterator_0.f()) { var element_0 = tmp0_iterator_0.e(); // Inline function 'kotlin.collections.plusAssign' call // Inline function 'org.kodein.di.internal.DIContainerImpl.factory..' call var pair = to(element_0.an_1, element_0.bn_1); destination.s(pair.w6_1, pair.x6_1); } this_0.y5('Available bindings for this type:\n' + descFun(destination, withOverrides)); } this_0.y5('Registered in this DI container:\n' + descFun(this.z5b_1.x55(), withOverrides)); } var description = this_0.toString(); throw new NotFoundException(key, description); } // Inline function 'kotlin.collections.associate' call var capacity_0 = coerceAtLeast(mapCapacity(collectionSizeOrDefault(result, 10)), 16); // Inline function 'kotlin.collections.associateTo' call var destination_0 = LinkedHashMap_init_$Create$_0(capacity_0); var tmp0_iterator_1 = result.w(); while (tmp0_iterator_1.f()) { var element_1 = tmp0_iterator_1.e(); // Inline function 'kotlin.collections.plusAssign' call // Inline function 'org.kodein.di.internal.DIContainerImpl.factory.' call var pair_0 = to(element_1.an_1, ensureNotNull(this.z5b_1.a58(element_1.an_1)).bn_1); destination_0.s(pair_0.w6_1, pair_0.x6_1); } var potentials = destination_0; // Inline function 'kotlin.collections.filter' call // Inline function 'kotlin.collections.filterTo' call var this_1 = this.z5b_1.x55(); var destination_1 = LinkedHashMap_init_$Create$(); // Inline function 'kotlin.collections.iterator' call var tmp0_iterator_2 = this_1.q2().w(); while (tmp0_iterator_2.f()) { var element_2 = tmp0_iterator_2.e(); // Inline function 'org.kodein.di.internal.DIContainerImpl.factory.' call // Inline function 'kotlin.collections.component1' call var key_0 = element_2.s2(); if (!potentials.o2().a1(key_0)) { destination_1.s(element_2.s2(), element_2.t2()); } } var others = destination_1; throw new NotFoundException(key, '' + potentials.u() + ' bindings found that match ' + key + ':\n' + descFun(potentials, withOverrides) + 'Other bindings registered in DI:\n' + descFun(others, withOverrides)); }; function bindFullDescription$factory_0($b0) { return getPropertyCallableRef('bindFullDescription', 0, KProperty0, function () { return $b0.u55(); }, null); } function bindDescription$factory_0($b0) { return getPropertyCallableRef('bindDescription', 0, KProperty0, function () { return $b0.s55(); }, null); } function fullDescription$factory_0($b0) { return getPropertyCallableRef('fullDescription', 0, KProperty0, function () { return $b0.v55(); }, null); } function description$factory_0($b0) { return getPropertyCallableRef('description', 0, KProperty0, function () { return $b0.t55(); }, null); } function newBuilder($this, allowSilentOverride, init) { // Inline function 'kotlin.apply' call var this_0 = new DIMainBuilderImpl(allowSilentOverride); // Inline function 'kotlin.contracts.contract' call init(this_0); return this_0; } function DIImpl_init_$Init$(builder, runCallbacks, $this) { DIImpl.call($this, DIContainerImpl_init_$Create$(builder.m56(), builder.w57(), builder.m5a(), builder.n5a(), runCallbacks)); return $this; } function DIImpl_init_$Init$_0(allowSilentOverride, init, $this) { allowSilentOverride = allowSilentOverride === VOID ? false : allowSilentOverride; DIImpl_init_$Init$(newBuilder(Companion_instance_3, allowSilentOverride, init), true, $this); return $this; } function DIImpl_init_$Create$(allowSilentOverride, init) { return DIImpl_init_$Init$_0(allowSilentOverride, init, objectCreate(protoOf(DIImpl))); } function Companion_3() { } var Companion_instance_3; function Companion_getInstance_4() { return Companion_instance_3; } function DIImpl$container$delegate$lambda(this$0) { return function () { var tmp; if (!(this$0.g5c_1.d5c_1 == null)) { throw IllegalStateException_init_$Create$('DI has not been initialized'); } return this$0.g5c_1; }; } function DIImpl(_container) { this.g5c_1 = _container; var tmp = this; tmp.h5c_1 = lazy(DIImpl$container$delegate$lambda(this)); } protoOf(DIImpl).b57 = function () { // Inline function 'kotlin.getValue' call var this_0 = this.h5c_1; container$factory(); return this_0.t2(); }; function BindingDIImpl(directDI, key, overrideLevel) { this.i5c_1 = directDI; this.j5c_1 = key; this.k5c_1 = overrideLevel; } protoOf(BindingDIImpl).f58 = function () { return this.i5c_1; }; protoOf(BindingDIImpl).a57 = function () { return this.i5c_1.a57(); }; protoOf(BindingDIImpl).b58 = function () { return this.i5c_1.b58(); }; protoOf(BindingDIImpl).d58 = function (type, tag) { return this.i5c_1.d58(type, tag); }; protoOf(BindingDIImpl).e58 = function (type, tag) { return this.i5c_1.e58(type, tag); }; protoOf(BindingDIImpl).c58 = function (context) { return this.i5c_1.c58(context); }; protoOf(BindingDIImpl).od = function () { var tmp = this.f58().a57().c57().t2(); return !(tmp == null) ? tmp : THROW_CCE(); }; protoOf(BindingDIImpl).u59 = function () { return new BindingDIImpl(this.f58().c58(ErasedContext_instance), this.j5c_1, this.k5c_1); }; function container$factory() { return getPropertyCallableRef('container', 1, KProperty1, function (receiver) { return receiver.b57(); }, null); } function findBySpecs($this, specs) { var bindSeq = asSequence($this.o5c_1); var specsBindType = specs.i58_1; if (!(specsBindType == null) ? !equals(specsBindType, Companion_getInstance().r54_1) : false) { var tmp = bindSeq; bindSeq = filter(tmp, DITreeImpl$findBySpecs$lambda(specsBindType)); } var tmp_0 = bindSeq; var contextSeq = flatMap(tmp_0, DITreeImpl$findBySpecs$lambda_0); var specsContextType = specs.g58_1; if (!(specsContextType == null)) { var tmp_1 = contextSeq; contextSeq = mapNotNull(tmp_1, DITreeImpl$findBySpecs$lambda_1(specsContextType, $this)); } var tmp_2 = contextSeq; var argSeq = flatMap(tmp_2, DITreeImpl$findBySpecs$lambda_2); var specsArgType = specs.h58_1; if (!(specsArgType == null)) { var tmp_3 = argSeq; argSeq = filter(tmp_3, DITreeImpl$findBySpecs$lambda_3(specsArgType)); } var tmp_4 = argSeq; var tagSeq = flatMap(tmp_4, DITreeImpl$findBySpecs$lambda_4); var specsTag = specs.j58_1; if (!equals(specsTag, NoDefinedTag_instance)) { var tmp_5 = tagSeq; tagSeq = filter(tmp_5, DITreeImpl$findBySpecs$lambda_5(specsTag)); } var tmp_6 = tagSeq; var resultSeq = map(tmp_6, DITreeImpl$findBySpecs$lambda_6); return toList(resultSeq); } function notInMap($this, result, request) { var tmp = result.j56(); var tmp_0 = request.j56(); var tmp_1 = $this.n5c_1.o2(); return IllegalStateException_init_$Create$('Tree returned key ' + tmp + ' that is not in cache when searching for ' + tmp_0 + '.\nKeys in cache:\n' + joinToString(tmp_1, '\n', VOID, VOID, VOID, VOID, DITreeImpl$notInMap$lambda)); } function DITreeImpl$findBySpecs$lambda($specsBindType) { return function (_name_for_destructuring_parameter_0__wldtmu) { // Inline function 'kotlin.collections.component1' call var bindType = _name_for_destructuring_parameter_0__wldtmu.s2(); return bindType.r5c($specsBindType); }; } function DITreeImpl$findBySpecs$lambda_0(_name_for_destructuring_parameter_0__wldtmu) { // Inline function 'kotlin.collections.component2' call var contextTree = _name_for_destructuring_parameter_0__wldtmu.t2(); var tmp = asSequence(contextTree); return map(tmp, DITreeImpl$findBySpecs$lambda$lambda); } function DITreeImpl$findBySpecs$lambda$lambda(it) { return new Triple(it.s2(), it.t2(), null); } function DITreeImpl$findBySpecs$lambda_1($specsContextType, this$0) { return function (triple) { var contextType = triple.y6(); var tmp; if (contextType.r5c($specsContextType)) { tmp = triple; } else { var tmp$ret$1; $l$block: { // Inline function 'kotlin.collections.firstOrNull' call var tmp0_iterator = this$0.q5c_1.w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DITreeImpl.findBySpecs..' call if (element.b56().a55($specsContextType) ? contextType.r5c(element.a59()) : false) { tmp$ret$1 = element; break $l$block; } } tmp$ret$1 = null; } var translator = tmp$ret$1; tmp = !(translator == null) ? triple.fn(VOID, VOID, translator) : null; } return tmp; }; } function DITreeImpl$findBySpecs$lambda_2(_name_for_destructuring_parameter_0__wldtmu) { var argumentTree = _name_for_destructuring_parameter_0__wldtmu.z6(); var translator = _name_for_destructuring_parameter_0__wldtmu.dn(); var tmp = asSequence(argumentTree); return map(tmp, DITreeImpl$findBySpecs$lambda$lambda_0(translator)); } function DITreeImpl$findBySpecs$lambda$lambda_0($translator) { return function (it) { return new Triple(it.s2(), it.t2(), $translator); }; } function DITreeImpl$findBySpecs$lambda_3($specsArgType) { return function (_name_for_destructuring_parameter_0__wldtmu) { var argType = _name_for_destructuring_parameter_0__wldtmu.y6(); return argType.r5c($specsArgType); }; } function DITreeImpl$findBySpecs$lambda_4(_name_for_destructuring_parameter_0__wldtmu) { var tagTree = _name_for_destructuring_parameter_0__wldtmu.z6(); var translator = _name_for_destructuring_parameter_0__wldtmu.dn(); var tmp = asSequence(tagTree); return map(tmp, DITreeImpl$findBySpecs$lambda$lambda_1(translator)); } function DITreeImpl$findBySpecs$lambda$lambda_1($translator) { return function (it) { return new Triple(it.s2(), it.t2(), $translator); }; } function DITreeImpl$findBySpecs$lambda_5($specsTag) { return function (_name_for_destructuring_parameter_0__wldtmu) { var tag = _name_for_destructuring_parameter_0__wldtmu.y6(); return equals(tag, $specsTag); }; } function DITreeImpl$findBySpecs$lambda_6(_name_for_destructuring_parameter_0__wldtmu) { var key = _name_for_destructuring_parameter_0__wldtmu.z6(); var translator = _name_for_destructuring_parameter_0__wldtmu.dn(); return to(key, translator); } function DITreeImpl$notInMap$lambda(it) { return it.j56(); } function DITreeImpl(map, externalSources, registeredTranslators) { this.l5c_1 = externalSources; this.m5c_1 = registeredTranslators; this.n5c_1 = newConcurrentMap(); this.o5c_1 = HashMap_init_$Create$(); this.q5c_1 = ArrayList_init_$Create$_1(this.m5c_1); // Inline function 'kotlin.collections.forEach' call // Inline function 'kotlin.collections.iterator' call var tmp0_iterator = map.q2().w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DITreeImpl.' call // Inline function 'kotlin.collections.component1' call var key = element.s2(); // Inline function 'kotlin.collections.component2' call var bindings = element.t2(); // Inline function 'kotlin.collections.map' call // Inline function 'kotlin.collections.mapTo' call var destination = ArrayList_init_$Create$_0(collectionSizeOrDefault(bindings, 10)); var tmp0_iterator_0 = bindings.w(); while (tmp0_iterator_0.f()) { var item = tmp0_iterator_0.e(); // Inline function 'org.kodein.di.internal.DITreeImpl..' call var tmp; if (item instanceof DIDefinition) { tmp = item; } else { tmp = new DIDefinition(item.l55_1, item.m55_1, this); } var tmp$ret$3 = tmp; destination.i1(tmp$ret$3); } var definitions = destination; // Inline function 'kotlin.collections.set' call var this_0 = this.n5c_1; var value = new Triple(key, definitions, null); this_0.s(key, value); var typeChecker = first(bindings).l55_1.s58() ? new Down(key.p55_1) : new Up(key.p55_1); // Inline function 'kotlin.collections.getOrPut' call var this_1 = this.o5c_1; var value_0 = this_1.q(typeChecker); var tmp_0; if (value_0 == null) { // Inline function 'org.kodein.di.internal.DITreeImpl..' call var answer = HashMap_init_$Create$(); this_1.s(typeChecker, answer); tmp_0 = answer; } else { tmp_0 = value_0; } var contextTree = tmp_0; // Inline function 'kotlin.collections.getOrPut' call var key_0 = new Down(key.n55_1); var value_1 = contextTree.q(key_0); var tmp_1; if (value_1 == null) { // Inline function 'org.kodein.di.internal.DITreeImpl..' call var answer_0 = HashMap_init_$Create$(); contextTree.s(key_0, answer_0); tmp_1 = answer_0; } else { tmp_1 = value_1; } var argumentTree = tmp_1; // Inline function 'kotlin.collections.getOrPut' call var key_1 = new Down(key.o55_1); var value_2 = argumentTree.q(key_1); var tmp_2; if (value_2 == null) { // Inline function 'org.kodein.di.internal.DITreeImpl..' call var answer_1 = HashMap_init_$Create$(); argumentTree.s(key_1, answer_1); tmp_2 = answer_1; } else { tmp_2 = value_2; } var tagTree = tmp_2; // Inline function 'kotlin.collections.set' call var key_2 = key.q55_1; tagTree.s(key_2, key); } var tmp_3 = this; // Inline function 'kotlin.collections.mapValues' call var this_2 = this.n5c_1; // Inline function 'kotlin.collections.mapValuesTo' call var destination_0 = LinkedHashMap_init_$Create$_0(mapCapacity(this_2.u())); // Inline function 'kotlin.collections.associateByTo' call var tmp0_iterator_1 = this_2.q2().w(); while (tmp0_iterator_1.f()) { var element_0 = tmp0_iterator_1.e(); // Inline function 'kotlin.collections.mapValuesTo.' call var tmp_4 = element_0.s2(); // Inline function 'org.kodein.di.internal.DITreeImpl.' call var tmp$ret$13 = element_0.t2().bn_1; destination_0.s(tmp_4, tmp$ret$13); } tmp_3.p5c_1 = HashMap_init_$Create$_0(destination_0); $l$loop: while (true) { var added = ArrayList_init_$Create$(); var tmp0_iterator_2 = this.q5c_1.w(); while (tmp0_iterator_2.f()) { var src = tmp0_iterator_2.e(); var tmp1_iterator = this.q5c_1.w(); while (tmp1_iterator.f()) { var dst = tmp1_iterator.e(); if (dst.b56().a55(src.a59()) ? !equals(src.b56(), dst.a59()) : false) { var tmp$ret$17; $l$block_0: { // Inline function 'kotlin.collections.none' call var this_3 = this.q5c_1; var tmp_5; if (isInterface(this_3, Collection)) { tmp_5 = this_3.c1(); } else { tmp_5 = false; } if (tmp_5) { tmp$ret$17 = true; break $l$block_0; } var tmp0_iterator_3 = this_3.w(); while (tmp0_iterator_3.f()) { var element_1 = tmp0_iterator_3.e(); // Inline function 'org.kodein.di.internal.DITreeImpl.' call if (equals(element_1.b56(), src.b56()) ? equals(element_1.a59(), dst.a59()) : false) { tmp$ret$17 = false; break $l$block_0; } } tmp$ret$17 = true; } if (tmp$ret$17) { // Inline function 'kotlin.collections.plusAssign' call var tmp_6 = isInterface(src, ContextTranslator) ? src : THROW_CCE(); var element_2 = new CompositeContextTranslator(tmp_6, isInterface(dst, ContextTranslator) ? dst : THROW_CCE()); added.i1(element_2); } } } } // Inline function 'kotlin.collections.plusAssign' call var this_4 = this.q5c_1; addAll(this_4, added); if (added.c1()) break $l$loop; } } protoOf(DITreeImpl).w57 = function () { return this.l5c_1; }; protoOf(DITreeImpl).v57 = function () { return this.m5c_1; }; protoOf(DITreeImpl).x55 = function () { return this.p5c_1; }; protoOf(DITreeImpl).x57 = function (key, overrideLevel, all) { if (!all) { var tmp0_safe_receiver = this.n5c_1.q(key); if (tmp0_safe_receiver == null) null; else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call var realKey = tmp0_safe_receiver.y6(); var list = tmp0_safe_receiver.z6(); var translator = tmp0_safe_receiver.dn(); var tmp0_elvis_lhs = getOrNull(list, overrideLevel); var tmp; if (tmp0_elvis_lhs == null) { return emptyList(); } else { tmp = tmp0_elvis_lhs; } var definition = tmp; var tmp_0 = realKey instanceof Key ? realKey : THROW_CCE(); var tmp_1 = definition instanceof DIDefinition ? definition : THROW_CCE(); return listOf(new Triple(tmp_0, tmp_1, (translator == null ? true : isInterface(translator, ContextTranslator)) ? translator : THROW_CCE())); } if (!equals(key.n55_1, Companion_getInstance().r54_1)) { var anyContextKey = key.l56(Companion_getInstance().r54_1); var tmp1_safe_receiver = this.n5c_1.q(anyContextKey); if (tmp1_safe_receiver == null) null; else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call $l$block: { // Inline function 'org.kodein.di.internal.DITreeImpl.find.' call var realKey_0 = tmp1_safe_receiver.y6(); var list_0 = tmp1_safe_receiver.z6(); var translator_0 = tmp1_safe_receiver.dn(); if (!(translator_0 == null) ? !equals(translator_0.b56(), key.n55_1) : false) { break $l$block; } // Inline function 'kotlin.collections.set' call this.n5c_1.s(key, tmp1_safe_receiver); var tmp1_elvis_lhs = getOrNull(list_0, overrideLevel); var tmp_2; if (tmp1_elvis_lhs == null) { return emptyList(); } else { tmp_2 = tmp1_elvis_lhs; } var definition_0 = tmp_2; var tmp_3 = realKey_0 instanceof Key ? realKey_0 : THROW_CCE(); var tmp_4 = definition_0 instanceof DIDefinition ? definition_0 : THROW_CCE(); return listOf(new Triple(tmp_3, tmp_4, (translator_0 == null ? true : isInterface(translator_0, ContextTranslator)) ? translator_0 : THROW_CCE())); } } } // Inline function 'kotlin.collections.filter' call // Inline function 'kotlin.collections.filterTo' call var this_0 = this.q5c_1; var destination = ArrayList_init_$Create$(); var tmp0_iterator = this_0.w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DITreeImpl.find.' call if (equals(element.b56(), key.n55_1)) { destination.i1(element); } } var tmp_5 = destination; // Inline function 'kotlin.collections.filter' call // Inline function 'kotlin.collections.filterTo' call var this_1 = this.q5c_1; var destination_0 = ArrayList_init_$Create$(); var tmp0_iterator_0 = this_1.w(); while (tmp0_iterator_0.f()) { var element_0 = tmp0_iterator_0.e(); // Inline function 'org.kodein.di.internal.DITreeImpl.find.' call if (equals(element_0.b56(), Companion_getInstance().r54_1)) { destination_0.i1(element_0); } } var applicableTranslators = plus(tmp_5, destination_0); var tmp2_iterator = applicableTranslators.w(); while (tmp2_iterator.f()) { var translator_1 = tmp2_iterator.e(); var translatedKey = new Key(translator_1.a59(), key.o55_1, key.p55_1, key.q55_1); var tmp3_safe_receiver = this.n5c_1.q(translatedKey); var tmp_6; if (tmp3_safe_receiver == null) { tmp_6 = null; } else { // Inline function 'kotlin.takeIf' call // Inline function 'kotlin.contracts.contract' call var tmp_7; // Inline function 'org.kodein.di.internal.DITreeImpl.find.' call if (tmp3_safe_receiver.cn_1 == null) { tmp_7 = tmp3_safe_receiver; } else { tmp_7 = null; } tmp_6 = tmp_7; } var tmp4_safe_receiver = tmp_6; if (tmp4_safe_receiver == null) null; else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call $l$block_0: { // Inline function 'org.kodein.di.internal.DITreeImpl.find.' call if (!(tmp4_safe_receiver.cn_1 == null)) { break $l$block_0; } // Inline function 'kotlin.collections.set' call var this_2 = this.n5c_1; var value = tmp4_safe_receiver.fn(VOID, VOID, translator_1); this_2.s(key, value); var realKey_1 = tmp4_safe_receiver.y6(); var list_1 = tmp4_safe_receiver.z6(); var tmp1_elvis_lhs_0 = getOrNull(list_1, overrideLevel); var tmp_8; if (tmp1_elvis_lhs_0 == null) { return emptyList(); } else { tmp_8 = tmp1_elvis_lhs_0; } var definition_1 = tmp_8; var tmp_9 = realKey_1 instanceof Key ? realKey_1 : THROW_CCE(); var tmp_10 = definition_1 instanceof DIDefinition ? definition_1 : THROW_CCE(); return listOf(new Triple(tmp_9, tmp_10, isInterface(translator_1, ContextTranslator) ? translator_1 : THROW_CCE())); } } } } var result = findBySpecs(this, new SearchSpecs(key.n55_1, key.o55_1, key.p55_1, key.q55_1)); if (result.u() === 1) { var tmp5_container = first(result); var realKey_2 = tmp5_container.y6(); var translator_2 = tmp5_container.z6(); // Inline function 'kotlin.collections.set' call var this_3 = this.n5c_1; var tmp6_safe_receiver = this.n5c_1.q(realKey_2); var tmp7_elvis_lhs = tmp6_safe_receiver == null ? null : tmp6_safe_receiver.fn(VOID, VOID, translator_2); var tmp_11; if (tmp7_elvis_lhs == null) { throw notInMap(this, realKey_2, key); } else { tmp_11 = tmp7_elvis_lhs; } var value_0 = tmp_11; this_3.s(key, value_0); } // Inline function 'kotlin.collections.mapNotNull' call // Inline function 'kotlin.collections.mapNotNullTo' call var destination_1 = ArrayList_init_$Create$(); // Inline function 'kotlin.collections.forEach' call var tmp0_iterator_1 = result.w(); while (tmp0_iterator_1.f()) { var element_1 = tmp0_iterator_1.e(); // Inline function 'kotlin.collections.mapNotNullTo.' call var tmp$ret$13; $l$block_1: { // Inline function 'org.kodein.di.internal.DITreeImpl.find.' call var realKey_3 = element_1.y6(); var translator_3 = element_1.z6(); var tmp0_elvis_lhs_0 = this.n5c_1.q(realKey_3); var tmp_12; if (tmp0_elvis_lhs_0 == null) { throw notInMap(this, realKey_3, key); } else { tmp_12 = tmp0_elvis_lhs_0; } var definitions = tmp_12.z6(); var tmp2_elvis_lhs = getOrNull(definitions, overrideLevel); var tmp_13; if (tmp2_elvis_lhs == null) { tmp$ret$13 = null; break $l$block_1; } else { tmp_13 = tmp2_elvis_lhs; } var definition_2 = tmp_13; var tmp_14 = realKey_3 instanceof Key ? realKey_3 : THROW_CCE(); var tmp_15 = definition_2 instanceof DIDefinition ? definition_2 : THROW_CCE(); tmp$ret$13 = new Triple(tmp_14, tmp_15, (translator_3 == null ? true : isInterface(translator_3, ContextTranslator)) ? translator_3 : THROW_CCE()); } var tmp0_safe_receiver_0 = tmp$ret$13; if (tmp0_safe_receiver_0 == null) null; else { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call destination_1.i1(tmp0_safe_receiver_0); } } return destination_1; }; protoOf(DITreeImpl).z57 = function (search) { var result = findBySpecs(this, search); // Inline function 'kotlin.collections.map' call // Inline function 'kotlin.collections.mapTo' call var destination = ArrayList_init_$Create$_0(collectionSizeOrDefault(result, 10)); var tmp0_iterator = result.w(); while (tmp0_iterator.f()) { var item = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DITreeImpl.find.' call var key = item.y6(); var translator = item.z6(); var tmp$ret$0 = new Triple(key, ensureNotNull(this.n5c_1.q(key)).bn_1, translator); destination.i1(tmp$ret$0); } return destination; }; protoOf(DITreeImpl).a58 = function (key) { var tmp = this.n5c_1.q(key); return (tmp == null ? true : tmp instanceof Triple) ? tmp : THROW_CCE(); }; function Down(type) { TypeChecker.call(this); this.s5c_1 = type; this.t5c_1 = equals(this.s5c_1, Companion_getInstance().r54_1); } protoOf(Down).r5c = function (other) { return this.t5c_1 ? true : this.s5c_1.a55(other); }; protoOf(Down).toString = function () { return 'Down(type=' + this.s5c_1 + ')'; }; protoOf(Down).hashCode = function () { return hashCode(this.s5c_1); }; protoOf(Down).equals = function (other) { if (this === other) return true; if (!(other instanceof Down)) return false; var tmp0_other_with_cast = other instanceof Down ? other : THROW_CCE(); if (!equals(this.s5c_1, tmp0_other_with_cast.s5c_1)) return false; return true; }; function Up(type) { TypeChecker.call(this); this.u5c_1 = type; } protoOf(Up).r5c = function (other) { return equals(other, Companion_getInstance().r54_1) ? true : other.a55(this.u5c_1); }; protoOf(Up).toString = function () { return 'Up(type=' + this.u5c_1 + ')'; }; protoOf(Up).hashCode = function () { return hashCode(this.u5c_1); }; protoOf(Up).equals = function (other) { if (this === other) return true; if (!(other instanceof Up)) return false; var tmp0_other_with_cast = other instanceof Up ? other : THROW_CCE(); if (!equals(this.u5c_1, tmp0_other_with_cast.u5c_1)) return false; return true; }; function TypeChecker() { } function DirectDIBaseImpl(container, context) { this.v5c_1 = container; this.w5c_1 = context; } protoOf(DirectDIBaseImpl).b57 = function () { return this.v5c_1; }; protoOf(DirectDIBaseImpl).f58 = function () { return this; }; protoOf(DirectDIBaseImpl).b58 = function () { var tmp = this.b57(); return On(new DIImpl(tmp instanceof DIContainerImpl ? tmp : THROW_CCE()), this.w5c_1); }; protoOf(DirectDIBaseImpl).c58 = function (context) { return new DirectDIImpl(this.b57(), context); }; protoOf(DirectDIBaseImpl).d58 = function (type, tag) { var tmp = this.b57(); // Inline function 'org.kodein.di.internal.anyType' call var tmp_0 = this.w5c_1.g57(); var tmp$ret$0 = isInterface(tmp_0, TypeToken) ? tmp_0 : THROW_CCE(); return tmp.m57(new Key(tmp$ret$0, Companion_getInstance().q54_1, type, tag), this.w5c_1.t2())(); }; protoOf(DirectDIBaseImpl).e58 = function (type, tag) { var tmp = this.b57(); // Inline function 'org.kodein.di.internal.anyType' call var tmp_0 = this.w5c_1.g57(); var tmp$ret$0 = isInterface(tmp_0, TypeToken) ? tmp_0 : THROW_CCE(); var tmp0_safe_receiver = tmp.n57(new Key(tmp$ret$0, Companion_getInstance().q54_1, type, tag), this.w5c_1.t2()); return tmp0_safe_receiver == null ? null : tmp0_safe_receiver(); }; function DIProperty$provideDelegate$lambda($receiver, this$0, $prop) { return function () { var tmp; if (!($receiver == null) ? this$0.y5c_1 === get_AnyDIContext() : false) { var tmp_0 = Companion_instance_0; var tmp_1 = erasedOf($receiver); tmp = tmp_0.h57(isInterface(tmp_1, TypeToken) ? tmp_1 : THROW_CCE(), $receiver); } else { tmp = this$0.y5c_1; } var context = tmp; return this$0.z5c_1(context, $prop.callableName); }; } function DIProperty(trigger, originalContext, get) { this.x5c_1 = trigger; this.y5c_1 = originalContext; this.z5c_1 = get; } protoOf(DIProperty).a5d = function (receiver, prop) { // Inline function 'kotlin.also' call var this_0 = lazy(DIProperty$provideDelegate$lambda(receiver, this, prop)); // Inline function 'kotlin.contracts.contract' call // Inline function 'org.kodein.di.DIProperty.provideDelegate.' call var tmp0_safe_receiver = this.x5c_1; var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.b5d_1; if (tmp1_safe_receiver == null) null; else tmp1_safe_receiver.i1(this_0); return this_0; }; function DirectDIImpl(container, context) { DirectDIBaseImpl.call(this, container, context); } function newConcurrentMap() { return HashMap_init_$Create$(); } function newLinkedList() { return ArrayList_init_$Create$(); } function newLinkedList_0(c) { return ArrayList_init_$Create$_1(c); } //region block: post-declaration protoOf(Singleton).q58 = get_argType; protoOf(Singleton).t55 = get_description; protoOf(Singleton).v55 = get_fullDescription; protoOf(Singleton).s58 = get_supportSubTypes; protoOf(Provider).q58 = get_argType; protoOf(Provider).p58 = factoryFullName; protoOf(Provider).c56 = get_scope; protoOf(Provider).t55 = get_description; protoOf(Provider).v55 = get_fullDescription; protoOf(Provider).y55 = get_copier; protoOf(Provider).s58 = get_supportSubTypes; protoOf(InstanceBinding).q58 = get_argType; protoOf(InstanceBinding).p58 = factoryFullName; protoOf(InstanceBinding).c56 = get_scope; protoOf(InstanceBinding).y55 = get_copier; protoOf(InstanceBinding).s58 = get_supportSubTypes; protoOf(DIBuilderImpl).q56 = constant$default; protoOf(DIBuilderImpl).s56 = import$default; protoOf(DIMainBuilderImpl).v56 = extend$default; protoOf(DIContainerImpl).s57 = factoryOrNull$default; protoOf(DIContainerImpl).q57 = factory$default; protoOf(DIContainerImpl).t57 = provider; protoOf(DIContainerImpl).m57 = provider$default; protoOf(DIContainerImpl).u57 = providerOrNull; protoOf(DIContainerImpl).n57 = providerOrNull$default; protoOf(DIImpl).a57 = get_di; protoOf(DIImpl).c57 = get_diContext; protoOf(DIImpl).d57 = get_diTrigger; protoOf(DITreeImpl).y57 = find$default; protoOf(DirectDIBaseImpl).a57 = get_di_0; //endregion //region block: init NonCached_instance = new NonCached(); Companion_instance = new Companion(); Companion_instance_0 = new Companion_0(); NoDefinedTag_instance = new NoDefinedTag(); ErasedContext_instance = new ErasedContext(); Companion_instance_1 = new Companion_1(); SingletonReference_instance = new SingletonReference(); Companion_instance_2 = new Companion_2(); Companion_instance_3 = new Companion_3(); //endregion //region block: exports _.$_$ = _.$_$ || {}; _.$_$.a = Module_init_$Create$; _.$_$.b = Companion_instance; _.$_$.c = Companion_instance_0; _.$_$.d = Provider; _.$_$.e = SimpleContextTranslator; _.$_$.f = Singleton; _.$_$.g = StandardScopeRegistry; _.$_$.h = ImplWithScope; _.$_$.i = get_diContext; _.$_$.j = get_diTrigger; _.$_$.k = DIAware; _.$_$.l = InstanceOrNull; _.$_$.m = Instance; _.$_$.n = On; _.$_$.o = get_direct; //endregion return _; }(module.exports, require('./kotlin-kotlin-stdlib.js'), require('./Kosi-Kaverit-kaverit.js'))); //# sourceMappingURL=Kosi-Kodein-kodein-di.js.map