(function (_, kotlin_kotlin, kotlin_org_kodein_type_kaverit) { 'use strict'; //region block: imports var imul = Math.imul; var protoOf = kotlin_kotlin.$_$.uc; var classMeta = kotlin_kotlin.$_$.jb; var setMetadataFor = kotlin_kotlin.$_$.vc; 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.$_$.n9; var StringBuilder_init_$Create$ = kotlin_kotlin.$_$.f1; var repeat = kotlin_kotlin.$_$.rf; var ensureNotNull = kotlin_kotlin.$_$.yi; var KProperty1 = kotlin_kotlin.$_$.td; var getPropertyCallableRef = kotlin_kotlin.$_$.sb; var objectMeta = kotlin_kotlin.$_$.tc; var toString = kotlin_kotlin.$_$.lj; var Companion_getInstance = kotlin_org_kodein_type_kaverit.$_$.a; var equals = kotlin_kotlin.$_$.mb; var objectCreate = kotlin_kotlin.$_$.sc; var RuntimeException = kotlin_kotlin.$_$.ei; var RuntimeException_init_$Init$ = kotlin_kotlin.$_$.m2; var captureStack = kotlin_kotlin.$_$.db; var hashCode = kotlin_kotlin.$_$.ub; var THROW_CCE = kotlin_kotlin.$_$.fi; var interfaceMeta = kotlin_kotlin.$_$.vb; var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.a2; var getBooleanHashCode = kotlin_kotlin.$_$.pb; var getStringHashCode = kotlin_kotlin.$_$.tb; var TypeToken = kotlin_org_kodein_type_kaverit.$_$.b; var isInterface = kotlin_kotlin.$_$.ec; var joinToString = kotlin_kotlin.$_$.z7; var erasedOf = kotlin_org_kodein_type_kaverit.$_$.c; var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.l; var toString_0 = kotlin_kotlin.$_$.zc; 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.$_$.hb; var Enum = kotlin_kotlin.$_$.sh; var Map = kotlin_kotlin.$_$.y5; var listOf = kotlin_kotlin.$_$.i8; var plus = kotlin_kotlin.$_$.x8; var emptyList = kotlin_kotlin.$_$.i7; var plus_0 = kotlin_kotlin.$_$.y8; var checkIndexOverflow = kotlin_kotlin.$_$.l6; var _Char___init__impl__6a9atx = kotlin_kotlin.$_$.u2; var mapCapacity = kotlin_kotlin.$_$.k8; var coerceAtLeast = kotlin_kotlin.$_$.hd; var LinkedHashMap_init_$Create$_0 = kotlin_kotlin.$_$.u; var to = kotlin_kotlin.$_$.mj; var KProperty0 = kotlin_kotlin.$_$.sd; var lazy = kotlin_kotlin.$_$.ej; var asSequence = kotlin_kotlin.$_$.h6; var filter = kotlin_kotlin.$_$.zd; var flatMap = kotlin_kotlin.$_$.be; var mapNotNull = kotlin_kotlin.$_$.ee; var map = kotlin_kotlin.$_$.fe; var toList = kotlin_kotlin.$_$.le; var Triple = kotlin_kotlin.$_$.ii; 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.$_$.s7; //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.u5c(tag, overrides) : $super.u5c.call(this, tag, overrides); } function import$default(module_0, allowOverride, $super) { allowOverride = allowOverride === VOID ? false : allowOverride; var tmp; if ($super === VOID) { this.w5c(module_0, allowOverride); tmp = Unit_instance; } else { tmp = $super.w5c.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.z5c(di, allowOverride, copy); tmp = Unit_instance; } else { tmp = $super.z5c.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.u5d(key, context, overrideLevel) : $super.u5d.call(this, key, context, overrideLevel); } function factoryOrNull$default(key, context, overrideLevel, $super) { overrideLevel = overrideLevel === VOID ? 0 : overrideLevel; return $super === VOID ? this.w5d(key, context, overrideLevel) : $super.w5d.call(this, key, context, overrideLevel); } function provider(key, context, overrideLevel) { // Inline function 'org.kodein.di.toProvider' call var this_0 = this.v5d(key, context); return DIContainer$provider$lambda(this_0); } function provider$default(key, context, overrideLevel, $super) { overrideLevel = overrideLevel === VOID ? 0 : overrideLevel; return $super === VOID ? this.y5d(key, context, overrideLevel) : provider(key, context, overrideLevel); } function providerOrNull(key, context, overrideLevel) { var tmp0_safe_receiver = this.x5d(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.z5d(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.c5e(key, overrideLevel, all) : $super.c5e.call(this, key, overrideLevel, all); } setMetadataFor(DITree, 'DITree', interfaceMeta); function get_di_0() { return this.g5e(); } 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.t5e(); } function get_scope() { return null; } function get_description() { var arg = !equals(this.v5e(), Companion_getInstance().v5a_1) ? this.v5e().x5a() + ' -> ' : ''; var tmp; var tmp_0 = this.h5c(); if (tmp_0 instanceof NoScope) { tmp = null; } else { tmp = this.h5c(); } 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).x5a() + ').'; } var tmp1_elvis_lhs = tmp_1; var context = tmp1_elvis_lhs == null ? !equals(this.g5c(), Companion_getInstance().w5a_1) ? 'contexted<' + this.g5c().x5a() + '>().' : '' : tmp1_elvis_lhs; return context + this.t5e() + ' { ' + arg + this.w5e().x5a() + ' }'; } function get_fullDescription() { var arg = !equals(this.v5e(), Companion_getInstance().v5a_1) ? this.v5e().z5a() + ' -> ' : ''; var tmp; var tmp_0 = this.h5c(); if (tmp_0 instanceof NoScope) { tmp = null; } else { tmp = this.h5c(); } 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).z5a() + ').'; } var tmp1_elvis_lhs = tmp_1; var context = tmp1_elvis_lhs == null ? !equals(this.g5c(), Companion_getInstance().w5a_1) ? 'contexted<' + this.g5c().z5a() + '>().' : '' : tmp1_elvis_lhs; return context + this.u5e() + ' { ' + arg + this.w5e().z5a() + ' }'; } function get_copier() { return null; } function get_supportSubTypes() { return false; } setMetadataFor(DIBinding, 'DIBinding', interfaceMeta); function get_argType() { return Companion_getInstance().v5a_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.p5b_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.q5b_1 = binding; this.r5b_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()).r5b_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()).q5b_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.q5b_1)); } } _this__u8e3s4.y5('\n'); } return Unit_instance; } function bindDescription$factory() { return getPropertyCallableRef('bindDescription', 1, KProperty1, function (receiver) { return receiver.x5b(); }, null); } function description$factory() { return getPropertyCallableRef('description', 1, KProperty1, function (receiver) { return receiver.y5b(); }, null); } function bindFullDescription$factory() { return getPropertyCallableRef('bindFullDescription', 1, KProperty1, function (receiver) { return receiver.z5b(); }, null); } function fullDescription$factory() { return getPropertyCallableRef('fullDescription', 1, KProperty1, function (receiver) { return receiver.a5c(); }, null); } function NonCached() { } protoOf(NonCached).b5c = function (tree) { // Inline function 'kotlin.collections.filter' call // Inline function 'kotlin.collections.filterTo' call var this_0 = tree.c5c(); 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()).q5b_1.d5c() == 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.v5b_1 == null)) { _this__u8e3s4.y5(' tagged "' + toString($this.v5b_1) + '"'); } if (!equals($this.s5b_1, Companion_getInstance().w5a_1)) { _this__u8e3s4.y5(' on context ' + displayString($this.s5b_1)); } if (!equals($this.t5b_1, Companion_getInstance().v5a_1)) { _this__u8e3s4.y5(', with argument ' + displayString($this.t5b_1)); } } function TypeToken$simpleDispString$ref() { var l = function (p0) { return p0.x5a(); }; l.callableName = 'simpleDispString'; return l; } function TypeToken$qualifiedDispString$ref() { var l = function (p0) { return p0.z5a(); }; l.callableName = 'qualifiedDispString'; return l; } function ImplWithScope(contextType, scope) { this.e5c_1 = contextType; this.f5c_1 = scope; } protoOf(ImplWithScope).g5c = function () { return this.e5c_1; }; protoOf(ImplWithScope).h5c = function () { return this.f5c_1; }; protoOf(ImplWithScope).i5c = 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.m5c_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.n5c_1 = key; } function OverridingException(message) { RuntimeException_init_$Init$(message, this); captureStack(this, OverridingException); } function Key(contextType, argType, type, tag) { this.s5b_1 = contextType; this.t5b_1 = argType; this.u5b_1 = type; this.v5b_1 = tag; this.w5b_1 = 0; } protoOf(Key).hashCode = function () { if (this.w5b_1 === 0) { this.w5b_1 = hashCode(this.s5b_1); this.w5b_1 = imul(31, this.w5b_1) + hashCode(this.t5b_1) | 0; this.w5b_1 = imul(29, hashCode(this.u5b_1)); var tmp = this; var tmp_0 = imul(23, this.w5b_1); var tmp0_safe_receiver = this.v5b_1; var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : hashCode(tmp0_safe_receiver); tmp.w5b_1 = tmp_0 + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0; } return this.w5b_1; }; protoOf(Key).toString = function () { return this.y5b(); }; protoOf(Key).x5b = 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.u5b_1.x5a() + '>'); if (!(this.v5b_1 == null)) { this_0.y5('(tag = "' + toString(this.v5b_1) + '")'); } return this_0.toString(); }; protoOf(Key).z5b = 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.u5b_1.z5a() + '>'); if (!(this.v5b_1 == null)) { this_0.y5('(tag = "' + toString(this.v5b_1) + '")'); } return this_0.toString(); }; protoOf(Key).y5b = 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.u5b_1.x5a()); appendDescription(this_0, this, TypeToken$simpleDispString$ref()); return this_0.toString(); }; protoOf(Key).o5c = function () { return '(context: ' + this.s5b_1.x5a() + ', arg: ' + this.t5b_1.x5a() + ', type: ' + this.u5b_1.x5a() + ', tag: ' + toString(this.v5b_1) + ')'; }; protoOf(Key).a5c = 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.u5b_1.z5a()); appendDescription(this_0, this, TypeToken$qualifiedDispString$ref()); return this_0.toString(); }; protoOf(Key).p5c = function (contextType, argType, type, tag) { return new Key(contextType, argType, type, tag); }; protoOf(Key).q5c = function (contextType, argType, type, tag, $super) { contextType = contextType === VOID ? this.s5b_1 : contextType; argType = argType === VOID ? this.t5b_1 : argType; type = type === VOID ? this.u5b_1 : type; tag = tag === VOID ? this.v5b_1 : tag; return $super === VOID ? this.p5c(contextType, argType, type, tag) : $super.p5c.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.s5b_1, tmp0_other_with_cast.s5b_1)) return false; if (!equals(this.t5b_1, tmp0_other_with_cast.t5b_1)) return false; if (!equals(this.u5b_1, tmp0_other_with_cast.u5b_1)) return false; if (!equals(this.v5b_1, tmp0_other_with_cast.v5b_1)) return false; return true; }; function Builder() { } function MainBuilder() { } function Module(allowSilentOverride, prefix, init) { allowSilentOverride = allowSilentOverride === VOID ? false : allowSilentOverride; prefix = prefix === VOID ? '' : prefix; this.j5c_1 = allowSilentOverride; this.k5c_1 = prefix; this.l5c_1 = init; this.m5c_1 = null; } protoOf(Module).dc = function () { var tmp0_elvis_lhs = this.m5c_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.j5c_1 + ', prefix=' + this.k5c_1 + ', init=' + this.l5c_1 + ')'; }; protoOf(Module).hashCode = function () { var result = getBooleanHashCode(this.j5c_1); result = imul(result, 31) + getStringHashCode(this.k5c_1) | 0; result = imul(result, 31) + hashCode(this.l5c_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.j5c_1 === tmp0_other_with_cast.j5c_1)) return false; if (!(this.k5c_1 === tmp0_other_with_cast.k5c_1)) return false; if (!equals(this.l5c_1, tmp0_other_with_cast.l5c_1)) return false; return true; }; function Companion() { this.b5d_1 = false; this.c5d_1 = false; } protoOf(Companion).d5d = function (allowSilentOverride, init) { return DIImpl_init_$Create$(allowSilentOverride, init); }; protoOf(Companion).e5d = function (allowSilentOverride, init, $super) { allowSilentOverride = allowSilentOverride === VOID ? false : allowSilentOverride; return $super === VOID ? this.d5d(allowSilentOverride, init) : $super.d5d.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.f5d().g5d(), _this__u8e3s4.h5d()); } function DIAware() { } function Instance(_this__u8e3s4, type, tag) { tag = tag === VOID ? null : tag; var tmp = _this__u8e3s4.i5d(); var tmp_0 = _this__u8e3s4.h5d(); return new DIProperty(tmp, tmp_0, Instance$lambda(_this__u8e3s4, type, tag)); } function Value(type, value) { this.j5d_1 = type; this.k5d_1 = value; } protoOf(Value).l5d = function () { return this.j5d_1; }; protoOf(Value).t2 = function () { return this.k5d_1; }; protoOf(Value).toString = function () { return 'Value(type=' + this.j5d_1 + ', value=' + this.k5d_1 + ')'; }; protoOf(Value).hashCode = function () { var result = hashCode(this.j5d_1); result = imul(result, 31) + hashCode(this.k5d_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.j5d_1, tmp0_other_with_cast.j5d_1)) return false; if (!equals(this.k5d_1, tmp0_other_with_cast.k5d_1)) return false; return true; }; function Companion_0() { } protoOf(Companion_0).m5d = 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.h5d() : context; trigger = trigger === VOID ? _this__u8e3s4.i5d() : trigger; return DIWrapper_init_$Create$(_this__u8e3s4, context, trigger); } function InstanceOrNull(_this__u8e3s4, type, tag) { tag = tag === VOID ? null : tag; var tmp = _this__u8e3s4.i5d(); var tmp_0 = _this__u8e3s4.h5d(); return new DIProperty(tmp, tmp_0, InstanceOrNull$lambda(_this__u8e3s4, type, tag)); } function get_AnyDIContext() { return Contexes_getInstance().n5d_1; } function DIWrapper_init_$Init$(base, diContext, trigger, $this) { diContext = diContext === VOID ? base.h5d() : diContext; trigger = trigger === VOID ? base.i5d() : trigger; DIWrapper.call($this, base.f5d(), 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.o5d_1 = _base; this.p5d_1 = diContext; this.q5d_1 = diTrigger; } protoOf(DIWrapper).h5d = function () { return this.p5d_1; }; protoOf(DIWrapper).i5d = function () { return this.q5d_1; }; protoOf(DIWrapper).f5d = function () { return this; }; protoOf(DIWrapper).g5d = function () { return this.o5d_1.g5d(); }; function Contexes() { Contexes_instance = this; this.n5d_1 = Companion_instance_0.m5d(Companion_getInstance().w5a_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.f5d().g5d(); // Inline function 'org.kodein.di.anyType' call var tmp_0 = ctx.l5d(); var tmp$ret$0 = isInterface(tmp_0, TypeToken) ? tmp_0 : THROW_CCE(); return tmp.r5d(new Key(tmp$ret$0, Companion_getInstance().v5a_1, $type, $tag), ctx.t2())(); }; } function InstanceOrNull$lambda($this_InstanceOrNull, $type, $tag) { return function (ctx, _anonymous_parameter_1__qggqgd) { var tmp = $this_InstanceOrNull.f5d().g5d(); // Inline function 'org.kodein.di.anyType' call var tmp_0 = ctx.l5d(); var tmp$ret$0 = isInterface(tmp_0, TypeToken) ? tmp_0 : THROW_CCE(); var tmp0_safe_receiver = tmp.s5d(new Key(tmp$ret$0, Companion_getInstance().v5a_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.l5e_1 = contextType; this.m5e_1 = argType; this.n5e_1 = type; this.o5e_1 = tag; } protoOf(SearchSpecs).toString = function () { var args = ArrayList_init_$Create$(); if (!(this.l5e_1 == null)) { // Inline function 'kotlin.collections.plusAssign' call var tmp0_safe_receiver = this.l5e_1; var element = 'contextType=' + (tmp0_safe_receiver == null ? null : tmp0_safe_receiver.x5a()); args.i1(element); } if (!(this.m5e_1 == null)) { // Inline function 'kotlin.collections.plusAssign' call var tmp1_safe_receiver = this.m5e_1; var element_0 = 'argType=' + (tmp1_safe_receiver == null ? null : tmp1_safe_receiver.x5a()); args.i1(element_0); } if (!(this.n5e_1 == null)) { // Inline function 'kotlin.collections.plusAssign' call var tmp2_safe_receiver = this.n5e_1; var element_1 = 'type=' + (tmp2_safe_receiver == null ? null : tmp2_safe_receiver.x5a()); args.i1(element_1); } if (!equals(this.o5e_1, NoDefinedTag_instance)) { // Inline function 'kotlin.collections.plusAssign' call var element_2 = 'tag=' + toString(this.o5e_1); args.i1(element_2); } return '[' + joinToString(args, ', ') + ']'; }; function NoArgBindingDIWrap(_di) { this.p5e_1 = _di; } protoOf(NoArgBindingDIWrap).f5d = function () { return this.p5e_1.f5d(); }; protoOf(NoArgBindingDIWrap).k5e = function () { return this.p5e_1.k5e(); }; protoOf(NoArgBindingDIWrap).g5e = function () { return this.p5e_1.g5e(); }; protoOf(NoArgBindingDIWrap).i5e = function (type, tag) { return this.p5e_1.i5e(type, tag); }; protoOf(NoArgBindingDIWrap).j5e = function (type, tag) { return this.p5e_1.j5e(type, tag); }; protoOf(NoArgBindingDIWrap).h5e = function (context) { return this.p5e_1.h5e(context); }; protoOf(NoArgBindingDIWrap).od = function () { return this.p5e_1.od(); }; function ErasedContext() { } protoOf(ErasedContext).l5d = function () { return Companion_getInstance().w5a_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.q5e_1 = $f; } protoOf(DIBinding$Copier$Companion$invoke$1).r5e = function (builder) { return this.q5e_1(builder); }; function Companion_1() { } protoOf(Companion_1).s5e = 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).z5e = 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.a5f_1 = current; this.b5f_1 = next; } protoOf(Reference).y6 = function () { return this.a5f_1; }; protoOf(Reference).z6 = function () { return this.b5f_1; }; protoOf(Reference).toString = function () { return 'Reference(current=' + this.a5f_1 + ', next=' + this.b5f_1 + ')'; }; protoOf(Reference).hashCode = function () { var result = hashCode(this.a5f_1); result = imul(result, 31) + hashCode(this.b5f_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.a5f_1, tmp0_other_with_cast.a5f_1)) return false; if (!equals(this.b5f_1, tmp0_other_with_cast.b5f_1)) return false; return true; }; function ScopeRegistry() { } function StandardScopeRegistry() { ScopeRegistry.call(this); this.d5f_1 = newConcurrentMap(); this.e5f_1 = new Object(); } protoOf(StandardScopeRegistry).c5f = function (key, sync, creator) { var tmp$ret$2; $l$block_1: { // Inline function 'org.kodein.di.internal.synchronizedIfNull' call sync && this.e5f_1; // Inline function 'org.kodein.di.bindings.StandardScopeRegistry.getOrCreate.' call var tmp0_safe_receiver = this.d5f_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.d5f_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.d5f_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.h5f_1 = contextType; this.i5f_1 = scopeType; this.j5f_1 = t; } protoOf(SimpleContextTranslator).g5c = function () { return this.h5f_1; }; protoOf(SimpleContextTranslator).f5f = function () { return this.i5f_1; }; protoOf(SimpleContextTranslator).g5f = function (di, ctx) { return this.j5f_1(di, ctx); }; protoOf(SimpleContextTranslator).toString = function () { return '()'; }; function NoScope() { this.k5f_1 = new StandardScopeRegistry(); } protoOf(NoScope).l5f = function (context) { return this.k5f_1; }; protoOf(NoScope).m5f = function (context) { return this.l5f((context == null ? true : !(context == null)) ? context : THROW_CCE()); }; function toKContext(_this__u8e3s4, di, ctx) { var tmp0_safe_receiver = _this__u8e3s4.g5f(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.m5d(_this__u8e3s4.f5f(), tmp0_safe_receiver); } return tmp; } function CompositeContextTranslator(src, dst) { this.n5f_1 = src; this.o5f_1 = dst; } protoOf(CompositeContextTranslator).g5c = function () { return this.n5f_1.g5c(); }; protoOf(CompositeContextTranslator).f5f = function () { return this.o5f_1.f5f(); }; protoOf(CompositeContextTranslator).g5f = function (di, ctx) { var tmp0_safe_receiver = this.n5f_1.g5f(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.o5f_1.g5f(di, tmp0_safe_receiver); } return tmp; }; protoOf(CompositeContextTranslator).toString = function () { return '(' + this.n5f_1 + ' -> ' + this.o5f_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.u5f_1(new NoArgBindingDIWrap($bindingDi)); }; } function Singleton$getFactory$lambda$lambda(this$0, $bindingDi) { return function () { return this$0.v5f_1.z5e(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.p5f_1.m5f($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.c5f(this$0.w5f_1, this$0.t5f_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.p5f_1, this$0.q5f_1, this$0.r5f_1, this$0.s5f_1, this$0.v5f_1, this$0.t5f_1, this$0.u5f_1); }; } function Singleton(scope, contextType, explicitContext, createdType, refMaker, sync, creator) { refMaker = refMaker === VOID ? null : refMaker; sync = sync === VOID ? true : sync; this.p5f_1 = scope; this.q5f_1 = contextType; this.r5f_1 = explicitContext; this.s5f_1 = createdType; this.t5f_1 = sync; this.u5f_1 = creator; var tmp = this; tmp.v5f_1 = refMaker == null ? SingletonReference_instance : refMaker; this.w5f_1 = new ScopeKey(new Object(), Unit_instance); var tmp_0 = this; var tmp_1 = Companion_instance_1; tmp_0.x5f_1 = tmp_1.s5e(Singleton$copier$lambda(this)); } protoOf(Singleton).h5c = function () { return this.p5f_1; }; protoOf(Singleton).g5c = function () { return this.q5f_1; }; protoOf(Singleton).w5e = function () { return this.s5f_1; }; protoOf(Singleton).t5e = function () { var params = ArrayList_init_$Create$_0(2); if (!equals(this.v5f_1, SingletonReference_instance)) { params.i1('ref = ' + erasedOf(this.v5f_1).x5a()); } return factoryName(this, params); }; protoOf(Singleton).u5e = function () { var params = ArrayList_init_$Create$_0(2); if (!equals(this.v5f_1, SingletonReference_instance)) { params.i1('ref = ' + erasedOf(this.v5f_1).z5a()); } return factoryName(this, params); }; protoOf(Singleton).y5f = function (key, di) { var lateInitRegistry = {_v: null}; var bindingDi = this.r5f_1 ? di : di.z5f(); return Singleton$getFactory$lambda(lateInitRegistry, this, bindingDi); }; protoOf(Singleton).y5e = function (key, di) { return this.y5f(key, di); }; protoOf(Singleton).d5c = function () { return this.x5f_1; }; function Provider$getFactory$lambda(this$0, $di) { return function (_anonymous_parameter_0__qggqh8) { return this$0.c5g_1(new NoArgBindingDIWrap($di)); }; } function Provider(contextType, createdType, creator) { this.a5g_1 = contextType; this.b5g_1 = createdType; this.c5g_1 = creator; } protoOf(Provider).g5c = function () { return this.a5g_1; }; protoOf(Provider).w5e = function () { return this.b5g_1; }; protoOf(Provider).t5e = function () { return 'provider'; }; protoOf(Provider).y5f = function (key, di) { return Provider$getFactory$lambda(this, di); }; protoOf(Provider).y5e = function (key, di) { return this.y5f(key, di); }; function ScopeKey(scopeId, arg) { this.d5g_1 = scopeId; this.e5g_1 = arg; } protoOf(ScopeKey).toString = function () { return 'ScopeKey(scopeId=' + toString_0(this.d5g_1) + ', arg=' + this.e5g_1 + ')'; }; protoOf(ScopeKey).hashCode = function () { var result = hashCode(this.d5g_1); result = imul(result, 31) + (this.e5g_1 == null ? 0 : hashCode(this.e5g_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.d5g_1, tmp0_other_with_cast.d5g_1)) return false; if (!equals(this.e5g_1, tmp0_other_with_cast.e5g_1)) return false; return true; }; function InstanceBinding$getFactory$lambda(this$0) { return function (_anonymous_parameter_0__qggqh8) { return this$0.g5g_1; }; } function InstanceBinding(createdType, instance) { this.f5g_1 = createdType; this.g5g_1 = instance; this.h5g_1 = Companion_getInstance().w5a_1; } protoOf(InstanceBinding).w5e = function () { return this.f5g_1; }; protoOf(InstanceBinding).t5e = function () { return 'instance'; }; protoOf(InstanceBinding).g5c = function () { return this.h5g_1; }; protoOf(InstanceBinding).i5g = function (key, di) { return InstanceBinding$getFactory$lambda(this); }; protoOf(InstanceBinding).y5e = function (key, di) { return this.i5g(key, di); }; protoOf(InstanceBinding).y5b = function () { return this.t5e() + ' ( ' + this.f5g_1.x5a() + ' )'; }; protoOf(InstanceBinding).a5c = function () { return this.u5e() + ' ( ' + this.f5g_1.z5a() + ' )'; }; function DIMainBuilderImpl(allowSilentOverride) { DIBuilderImpl.call(this, null, '', HashSet_init_$Create$(), new DIContainerBuilderImpl(true, allowSilentOverride, HashMap_init_$Create$(), ArrayList_init_$Create$(), ArrayList_init_$Create$())); this.o5g_1 = ArrayList_init_$Create$(); this.p5g_1 = Companion_instance.b5d_1; this.q5g_1 = Companion_instance.c5d_1; } protoOf(DIMainBuilderImpl).b5e = function () { return this.o5g_1; }; protoOf(DIMainBuilderImpl).r5g = function () { return this.p5g_1; }; protoOf(DIMainBuilderImpl).s5g = function () { return this.q5g_1; }; protoOf(DIMainBuilderImpl).z5c = function (di, allowOverride, copy) { var keys = copy.b5c(di.g5d().t5d()); this.r5c().c5h(di.g5d(), allowOverride, keys); // Inline function 'kotlin.collections.plusAssign' call var this_0 = this.b5e(); var elements = di.g5d().t5d().b5e(); addAll(this_0, elements); // Inline function 'kotlin.collections.flatMap' call // Inline function 'kotlin.collections.flatMapTo' call var this_1 = this.r5c().y5g_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.r5b_1; destination_0.i1(tmp$ret$1); } var list = destination_0; addAll(destination, list); } this.v5g_1.m1(filterNotNull(destination)); }; function TypeBinder($outer, type, tag, overrides) { this.g5h_1 = $outer; this.d5h_1 = type; this.e5h_1 = tag; this.f5h_1 = overrides; } protoOf(TypeBinder).r5c = function () { return this.g5h_1.r5c(); }; protoOf(TypeBinder).h5h = function (binding) { return this.r5c().i5h(new Key(binding.g5c(), binding.v5e(), this.d5h_1, this.e5h_1), binding, this.g5h_1.t5g_1, this.f5h_1); }; function ConstantBinder($outer, _tag, _overrides) { this.l5h_1 = $outer; this.j5h_1 = _tag; this.k5h_1 = _overrides; } protoOf(ConstantBinder).m5h = function (valueType, value) { return this.l5h_1.s5c(this.j5h_1, this.k5h_1, new InstanceBinding(valueType, value)); }; function DIBuilderImpl(moduleName, prefix, importedModules, containerBuilder) { this.t5g_1 = moduleName; this.u5g_1 = prefix; this.v5g_1 = importedModules; this.w5g_1 = containerBuilder; this.x5g_1 = Companion_getInstance().w5a_1; } protoOf(DIBuilderImpl).r5c = function () { return this.w5g_1; }; protoOf(DIBuilderImpl).g5c = function () { return this.x5g_1; }; protoOf(DIBuilderImpl).h5c = function () { return new NoScope(); }; protoOf(DIBuilderImpl).i5c = function () { return false; }; protoOf(DIBuilderImpl).t5c = function (type, tag, overrides) { return new TypeBinder(this, type, tag, overrides); }; protoOf(DIBuilderImpl).s5c = function (tag, overrides, binding) { this.r5c().i5h(new Key(binding.g5c(), binding.v5e(), binding.w5e(), tag), binding, this.t5g_1, overrides); }; protoOf(DIBuilderImpl).u5c = function (tag, overrides) { return new ConstantBinder(this, tag, overrides); }; protoOf(DIBuilderImpl).w5c = function (module_0, allowOverride) { var moduleName = this.u5g_1 + module_0.dc(); var tmp; // Inline function 'kotlin.text.isNotEmpty' call if (charSequenceLength(moduleName) > 0) { tmp = this.v5g_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.v5g_1.i1(moduleName); // Inline function 'kotlin.apply' call var this_0 = new DIBuilderImpl(moduleName, this.u5g_1 + module_0.k5c_1, this.v5g_1, this.r5c().n5h(allowOverride, module_0.j5c_1)); // Inline function 'kotlin.contracts.contract' call module_0.l5c_1(this_0); }; protoOf(DIBuilderImpl).y5c = function (translator) { return this.r5c().o5h(translator); }; function DIContainerBuilderImpl$OverrideMode$ALLOW_SILENT() { OverrideMode.call(this, 'ALLOW_SILENT', 0); OverrideMode_ALLOW_SILENT_instance = this; } protoOf(DIContainerBuilderImpl$OverrideMode$ALLOW_SILENT).r5h = function () { return true; }; protoOf(DIContainerBuilderImpl$OverrideMode$ALLOW_SILENT).s5h = 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).r5h = function () { return true; }; protoOf(DIContainerBuilderImpl$OverrideMode$ALLOW_EXPLICIT).s5h = 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).r5h = function () { return false; }; protoOf(DIContainerBuilderImpl$OverrideMode$FORBID).s5h = 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).x5h = 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.b5h_1.s5h(overrides); if (!(mustOverride == null)) { var tmp; if (mustOverride) { // Inline function 'kotlin.collections.contains' call // Inline function 'kotlin.collections.containsKey' call var this_0 = $this.y5g_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.y5g_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.b5h_1.r5h() ? 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.y5g_1 = bindingsMap; this.z5g_1 = callbacks; this.a5h_1 = translators; this.b5h_1 = Companion_instance_2.x5h(allowOverride, silentOverride); } protoOf(DIContainerBuilderImpl).i5h = function (key, binding, fromModule, overrides) { checkOverrides(this, key, overrides); // Inline function 'kotlin.collections.getOrPut' call var this_0 = this.y5g_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).c5h = function (container, allowOverride, copy) { checkMatch(this, allowOverride); // Inline function 'kotlin.collections.forEach' call // Inline function 'kotlin.collections.iterator' call var tmp0_iterator = container.t5d().c5c().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.q5b_1.d5c(); var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.r5e(this); var tmp$ret$3 = new DIDefining(tmp1_elvis_lhs == null ? item.q5b_1 : tmp1_elvis_lhs, item.r5b_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.y5g_1.s(key, newBindings); } // Inline function 'kotlin.collections.plusAssign' call var this_1 = this.a5h_1; var elements = container.t5d().a5e(); addAll(this_1, elements); }; protoOf(DIContainerBuilderImpl).n5h = function (allowOverride, silentOverride) { checkMatch(this, allowOverride); return new DIContainerBuilderImpl(allowOverride, silentOverride, this.y5g_1, this.z5g_1, this.a5h_1); }; protoOf(DIContainerBuilderImpl).o5h = function (translator) { // Inline function 'kotlin.collections.plusAssign' call this.a5h_1.i1(translator); }; function displayString($this, key, overrideLevel) { var descProp = $this.d5i_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.c5i_1 == null ? true : firstKey_0.equals(node_0.a5i_1) ? firstOverrideLevel_0 === node_0.b5i_1 : false) { tmp = plus(listOf(displayString($this_0, node_0.a5i_1, node_0.b5i_1)), tail_0); } else { var tmp0 = $this_0; var tmp4 = plus(listOf(displayString($this_0, node_0.a5i_1, node_0.b5i_1)), tail_0); $this_0 = tmp0; node_0 = node_0.c5i_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.a5i_1.equals(searchedKey_0) ? node_0.b5i_1 === searchedOverrideLevel_0 : false) { tmp = false; } else if (node_0.c5i_1 == null) { tmp = true; } else { $this_0 = $this_0; node_0 = node_0.c5i_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.y5g_1, externalSources, builder.a5h_1), null, fullDescriptionOnError, fullContainerTreeOnError); var init = DIContainerImpl$_init_$lambda_r6ib3j($this, builder); if (runCallbacks) init(); else { var lock = new Object(); var tmp = $this; tmp.i5i_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.a5i_1 = key; this.b5i_1 = overrideLevel; this.c5i_1 = parent; this.d5i_1 = fullDescriptionOnError; } protoOf(Node).j5i = function (searchedKey, searchedOverrideLevel) { if (!recursiveCheck(this, this, searchedKey, searchedOverrideLevel)) { var list = plus_0(recursiveLoop(this, this, searchedKey, searchedOverrideLevel, emptyList()), displayString(this, searchedKey, this.b5i_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.f5i_1, $this.g5i_1), $this.g5i_1, $this.h5i_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.z5g_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.i5i_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.i5i_1; var tmp; if (tmp0_elvis_lhs == null) { break $l$block_0; } else { tmp = tmp0_elvis_lhs; } var value = tmp; this$0.i5i_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.e5i_1 = tree; this.f5i_1 = node; this.g5i_1 = fullDescriptionOnError; this.h5i_1 = fullContainerTreeOnError; this.i5i_1 = null; } protoOf(DIContainerImpl).t5d = function () { return this.e5i_1; }; protoOf(DIContainerImpl).w5d = function (key, context, overrideLevel) { // Inline function 'kotlin.let' call // Inline function 'kotlin.contracts.contract' call var it = this.e5i_1.d5e(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.f5i_1; if (tmp1_safe_receiver == null) null; else { tmp1_safe_receiver.j5i(key, 0); } var tmp_0 = Companion_instance_0.m5d(key.s5b_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.p5b_1, overrideLevel); return definition.q5b_1.y5e(key, bindingDI_0); } var bindingDI_1 = bindingDI(this, key, Companion_instance_0.m5d(key.s5b_1, context), this.e5i_1, overrideLevel); // Inline function 'kotlin.collections.forEach' call var tmp0_iterator = this.e5i_1.b5e().w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DIContainerImpl.factoryOrNull.' call var tmp0_safe_receiver = element.k5i(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.f5i_1; if (tmp0_safe_receiver_0 == null) null; else { tmp0_safe_receiver_0.j5i(key, 0); } return (!(tmp0_safe_receiver == null) ? typeof tmp0_safe_receiver === 'function' : false) ? tmp0_safe_receiver : THROW_CCE(); } } return null; }; protoOf(DIContainerImpl).u5d = function (key, context, overrideLevel) { var result = this.e5i_1.d5e(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.f5i_1; if (tmp1_safe_receiver == null) null; else { tmp1_safe_receiver.j5i(key, overrideLevel); } var tmp = Companion_instance_0.m5d(key.s5b_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.p5b_1, overrideLevel); return definition.q5b_1.y5e(key, bindingDI_0); } var bindingDI_1 = bindingDI(this, key, Companion_instance_0.m5d(key.s5b_1, context), this.e5i_1, overrideLevel); // Inline function 'kotlin.collections.forEach' call var tmp0_iterator = this.e5i_1.b5e().w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DIContainerImpl.factory.' call var tmp0_safe_receiver = element.k5i(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.f5i_1; if (tmp0_safe_receiver_0 == null) null; else { tmp0_safe_receiver_0.j5i(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.g5i_1 ? fullDescription$factory_0(key) : description$factory_0(key); var tmp_0; if (this.g5i_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.h5i_1) { // Inline function 'kotlin.text.appendLine' call this_0.z5(_Char___init__impl__6a9atx(10)); var forType = this.e5i_1.e5e(new SearchSpecs(VOID, VOID, key.u5b_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.e5i_1.c5c(), 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.e5i_1.f5e(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.e5i_1.c5c(); 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.z5b(); }, null); } function bindDescription$factory_0($b0) { return getPropertyCallableRef('bindDescription', 0, KProperty0, function () { return $b0.x5b(); }, null); } function fullDescription$factory_0($b0) { return getPropertyCallableRef('fullDescription', 0, KProperty0, function () { return $b0.a5c(); }, null); } function description$factory_0($b0) { return getPropertyCallableRef('description', 0, KProperty0, function () { return $b0.y5b(); }, 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.r5c(), builder.b5e(), builder.r5g(), builder.s5g(), 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.l5i_1.i5i_1 == null)) { throw IllegalStateException_init_$Create$('DI has not been initialized'); } return this$0.l5i_1; }; } function DIImpl(_container) { this.l5i_1 = _container; var tmp = this; tmp.m5i_1 = lazy(DIImpl$container$delegate$lambda(this)); } protoOf(DIImpl).g5d = function () { // Inline function 'kotlin.getValue' call var this_0 = this.m5i_1; container$factory(); return this_0.t2(); }; function BindingDIImpl(directDI, key, overrideLevel) { this.n5i_1 = directDI; this.o5i_1 = key; this.p5i_1 = overrideLevel; } protoOf(BindingDIImpl).k5e = function () { return this.n5i_1; }; protoOf(BindingDIImpl).f5d = function () { return this.n5i_1.f5d(); }; protoOf(BindingDIImpl).g5e = function () { return this.n5i_1.g5e(); }; protoOf(BindingDIImpl).i5e = function (type, tag) { return this.n5i_1.i5e(type, tag); }; protoOf(BindingDIImpl).j5e = function (type, tag) { return this.n5i_1.j5e(type, tag); }; protoOf(BindingDIImpl).h5e = function (context) { return this.n5i_1.h5e(context); }; protoOf(BindingDIImpl).od = function () { var tmp = this.k5e().f5d().h5d().t2(); return !(tmp == null) ? tmp : THROW_CCE(); }; protoOf(BindingDIImpl).z5f = function () { return new BindingDIImpl(this.k5e().h5e(ErasedContext_instance), this.o5i_1, this.p5i_1); }; function container$factory() { return getPropertyCallableRef('container', 1, KProperty1, function (receiver) { return receiver.g5d(); }, null); } function findBySpecs($this, specs) { var bindSeq = asSequence($this.t5i_1); var specsBindType = specs.n5e_1; if (!(specsBindType == null) ? !equals(specsBindType, Companion_getInstance().w5a_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.l5e_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.m5e_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.o5e_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.o5c(); var tmp_0 = request.o5c(); var tmp_1 = $this.s5i_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.w5i($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.w5i($specsContextType)) { tmp = triple; } else { var tmp$ret$1; $l$block: { // Inline function 'kotlin.collections.firstOrNull' call var tmp0_iterator = this$0.v5i_1.w(); while (tmp0_iterator.f()) { var element = tmp0_iterator.e(); // Inline function 'org.kodein.di.internal.DITreeImpl.findBySpecs..' call if (element.g5c().f5b($specsContextType) ? contextType.w5i(element.f5f()) : 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.w5i($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.o5c(); } function DITreeImpl(map, externalSources, registeredTranslators) { this.q5i_1 = externalSources; this.r5i_1 = registeredTranslators; this.s5i_1 = newConcurrentMap(); this.t5i_1 = HashMap_init_$Create$(); this.v5i_1 = ArrayList_init_$Create$_1(this.r5i_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.q5b_1, item.r5b_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.s5i_1; var value = new Triple(key, definitions, null); this_0.s(key, value); var typeChecker = first(bindings).q5b_1.x5e() ? new Down(key.u5b_1) : new Up(key.u5b_1); // Inline function 'kotlin.collections.getOrPut' call var this_1 = this.t5i_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.s5b_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.t5b_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.v5b_1; tagTree.s(key_2, key); } var tmp_3 = this; // Inline function 'kotlin.collections.mapValues' call var this_2 = this.s5i_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.u5i_1 = HashMap_init_$Create$_0(destination_0); $l$loop: while (true) { var added = ArrayList_init_$Create$(); var tmp0_iterator_2 = this.v5i_1.w(); while (tmp0_iterator_2.f()) { var src = tmp0_iterator_2.e(); var tmp1_iterator = this.v5i_1.w(); while (tmp1_iterator.f()) { var dst = tmp1_iterator.e(); if (dst.g5c().f5b(src.f5f()) ? !equals(src.g5c(), dst.f5f()) : false) { var tmp$ret$17; $l$block_0: { // Inline function 'kotlin.collections.none' call var this_3 = this.v5i_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.g5c(), src.g5c()) ? equals(element_1.f5f(), dst.f5f()) : 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.v5i_1; addAll(this_4, added); if (added.c1()) break $l$loop; } } protoOf(DITreeImpl).b5e = function () { return this.q5i_1; }; protoOf(DITreeImpl).a5e = function () { return this.r5i_1; }; protoOf(DITreeImpl).c5c = function () { return this.u5i_1; }; protoOf(DITreeImpl).c5e = function (key, overrideLevel, all) { if (!all) { var tmp0_safe_receiver = this.s5i_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.s5b_1, Companion_getInstance().w5a_1)) { var anyContextKey = key.q5c(Companion_getInstance().w5a_1); var tmp1_safe_receiver = this.s5i_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.g5c(), key.s5b_1) : false) { break $l$block; } // Inline function 'kotlin.collections.set' call this.s5i_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.v5i_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.g5c(), key.s5b_1)) { destination.i1(element); } } var tmp_5 = destination; // Inline function 'kotlin.collections.filter' call // Inline function 'kotlin.collections.filterTo' call var this_1 = this.v5i_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.g5c(), Companion_getInstance().w5a_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.f5f(), key.t5b_1, key.u5b_1, key.v5b_1); var tmp3_safe_receiver = this.s5i_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.s5i_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.s5b_1, key.t5b_1, key.u5b_1, key.v5b_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.s5i_1; var tmp6_safe_receiver = this.s5i_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.s5i_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).e5e = 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.s5i_1.q(key)).bn_1, translator); destination.i1(tmp$ret$0); } return destination; }; protoOf(DITreeImpl).f5e = function (key) { var tmp = this.s5i_1.q(key); return (tmp == null ? true : tmp instanceof Triple) ? tmp : THROW_CCE(); }; function Down(type) { TypeChecker.call(this); this.x5i_1 = type; this.y5i_1 = equals(this.x5i_1, Companion_getInstance().w5a_1); } protoOf(Down).w5i = function (other) { return this.y5i_1 ? true : this.x5i_1.f5b(other); }; protoOf(Down).toString = function () { return 'Down(type=' + this.x5i_1 + ')'; }; protoOf(Down).hashCode = function () { return hashCode(this.x5i_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.x5i_1, tmp0_other_with_cast.x5i_1)) return false; return true; }; function Up(type) { TypeChecker.call(this); this.z5i_1 = type; } protoOf(Up).w5i = function (other) { return equals(other, Companion_getInstance().w5a_1) ? true : other.f5b(this.z5i_1); }; protoOf(Up).toString = function () { return 'Up(type=' + this.z5i_1 + ')'; }; protoOf(Up).hashCode = function () { return hashCode(this.z5i_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.z5i_1, tmp0_other_with_cast.z5i_1)) return false; return true; }; function TypeChecker() { } function DirectDIBaseImpl(container, context) { this.a5j_1 = container; this.b5j_1 = context; } protoOf(DirectDIBaseImpl).g5d = function () { return this.a5j_1; }; protoOf(DirectDIBaseImpl).k5e = function () { return this; }; protoOf(DirectDIBaseImpl).g5e = function () { var tmp = this.g5d(); return On(new DIImpl(tmp instanceof DIContainerImpl ? tmp : THROW_CCE()), this.b5j_1); }; protoOf(DirectDIBaseImpl).h5e = function (context) { return new DirectDIImpl(this.g5d(), context); }; protoOf(DirectDIBaseImpl).i5e = function (type, tag) { var tmp = this.g5d(); // Inline function 'org.kodein.di.internal.anyType' call var tmp_0 = this.b5j_1.l5d(); var tmp$ret$0 = isInterface(tmp_0, TypeToken) ? tmp_0 : THROW_CCE(); return tmp.r5d(new Key(tmp$ret$0, Companion_getInstance().v5a_1, type, tag), this.b5j_1.t2())(); }; protoOf(DirectDIBaseImpl).j5e = function (type, tag) { var tmp = this.g5d(); // Inline function 'org.kodein.di.internal.anyType' call var tmp_0 = this.b5j_1.l5d(); var tmp$ret$0 = isInterface(tmp_0, TypeToken) ? tmp_0 : THROW_CCE(); var tmp0_safe_receiver = tmp.s5d(new Key(tmp$ret$0, Companion_getInstance().v5a_1, type, tag), this.b5j_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.d5j_1 === get_AnyDIContext() : false) { var tmp_0 = Companion_instance_0; var tmp_1 = erasedOf($receiver); tmp = tmp_0.m5d(isInterface(tmp_1, TypeToken) ? tmp_1 : THROW_CCE(), $receiver); } else { tmp = this$0.d5j_1; } var context = tmp; return this$0.e5j_1(context, $prop.callableName); }; } function DIProperty(trigger, originalContext, get) { this.c5j_1 = trigger; this.d5j_1 = originalContext; this.e5j_1 = get; } protoOf(DIProperty).f5j = 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.c5j_1; var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.g5j_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).v5e = get_argType; protoOf(Singleton).y5b = get_description; protoOf(Singleton).a5c = get_fullDescription; protoOf(Singleton).x5e = get_supportSubTypes; protoOf(Provider).v5e = get_argType; protoOf(Provider).u5e = factoryFullName; protoOf(Provider).h5c = get_scope; protoOf(Provider).y5b = get_description; protoOf(Provider).a5c = get_fullDescription; protoOf(Provider).d5c = get_copier; protoOf(Provider).x5e = get_supportSubTypes; protoOf(InstanceBinding).v5e = get_argType; protoOf(InstanceBinding).u5e = factoryFullName; protoOf(InstanceBinding).h5c = get_scope; protoOf(InstanceBinding).d5c = get_copier; protoOf(InstanceBinding).x5e = get_supportSubTypes; protoOf(DIBuilderImpl).v5c = constant$default; protoOf(DIBuilderImpl).x5c = import$default; protoOf(DIMainBuilderImpl).a5d = extend$default; protoOf(DIContainerImpl).x5d = factoryOrNull$default; protoOf(DIContainerImpl).v5d = factory$default; protoOf(DIContainerImpl).y5d = provider; protoOf(DIContainerImpl).r5d = provider$default; protoOf(DIContainerImpl).z5d = providerOrNull; protoOf(DIContainerImpl).s5d = providerOrNull$default; protoOf(DIImpl).f5d = get_di; protoOf(DIImpl).h5d = get_diContext; protoOf(DIImpl).i5d = get_diTrigger; protoOf(DITreeImpl).d5e = find$default; protoOf(DirectDIBaseImpl).f5d = 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