Exit Full View

Games Cupboard / gamescupboard-client / build / compileSync / main / productionExecutable / kotlin / korlibs-korau.js

(function (root, factory) {
  if (typeof define === 'function' && define.amd)
    define(['exports', './kotlin-kotlin-stdlib-js-ir.js', './korlibs-klock.js', './korlibs-kds.js', './korlibs-korio.js', './korlibs-krypto.js', './korlibs-kmem.js', './kotlinx.coroutines-kotlinx-coroutines-core-js-ir.js', './korlibs-klogger.js'], factory);
  else if (typeof exports === 'object')
    factory(module.exports, require('./kotlin-kotlin-stdlib-js-ir.js'), require('./korlibs-klock.js'), require('./korlibs-kds.js'), require('./korlibs-korio.js'), require('./korlibs-krypto.js'), require('./korlibs-kmem.js'), require('./kotlinx.coroutines-kotlinx-coroutines-core-js-ir.js'), require('./korlibs-klogger.js'));
  else {
    if (typeof this['kotlin-kotlin-stdlib-js-ir'] === 'undefined') {
      throw new Error("Error loading module 'korlibs-korau'. Its dependency 'kotlin-kotlin-stdlib-js-ir' was not found. Please, check whether 'kotlin-kotlin-stdlib-js-ir' is loaded prior to 'korlibs-korau'.");
    }
    if (typeof this['korlibs-klock'] === 'undefined') {
      throw new Error("Error loading module 'korlibs-korau'. Its dependency 'korlibs-klock' was not found. Please, check whether 'korlibs-klock' is loaded prior to 'korlibs-korau'.");
    }
    if (typeof this['korlibs-kds'] === 'undefined') {
      throw new Error("Error loading module 'korlibs-korau'. Its dependency 'korlibs-kds' was not found. Please, check whether 'korlibs-kds' is loaded prior to 'korlibs-korau'.");
    }
    if (typeof this['korlibs-korio'] === 'undefined') {
      throw new Error("Error loading module 'korlibs-korau'. Its dependency 'korlibs-korio' was not found. Please, check whether 'korlibs-korio' is loaded prior to 'korlibs-korau'.");
    }
    if (typeof this['korlibs-krypto'] === 'undefined') {
      throw new Error("Error loading module 'korlibs-korau'. Its dependency 'korlibs-krypto' was not found. Please, check whether 'korlibs-krypto' is loaded prior to 'korlibs-korau'.");
    }
    if (typeof this['korlibs-kmem'] === 'undefined') {
      throw new Error("Error loading module 'korlibs-korau'. Its dependency 'korlibs-kmem' was not found. Please, check whether 'korlibs-kmem' is loaded prior to 'korlibs-korau'.");
    }
    if (typeof this['kotlinx.coroutines-kotlinx-coroutines-core-js-ir'] === 'undefined') {
      throw new Error("Error loading module 'korlibs-korau'. Its dependency 'kotlinx.coroutines-kotlinx-coroutines-core-js-ir' was not found. Please, check whether 'kotlinx.coroutines-kotlinx-coroutines-core-js-ir' is loaded prior to 'korlibs-korau'.");
    }
    if (typeof this['korlibs-klogger'] === 'undefined') {
      throw new Error("Error loading module 'korlibs-korau'. Its dependency 'korlibs-klogger' was not found. Please, check whether 'korlibs-klogger' is loaded prior to 'korlibs-korau'.");
    }
    root['korlibs-korau'] = factory(typeof this['korlibs-korau'] === 'undefined' ? {} : this['korlibs-korau'], this['kotlin-kotlin-stdlib-js-ir'], this['korlibs-klock'], this['korlibs-kds'], this['korlibs-korio'], this['korlibs-krypto'], this['korlibs-kmem'], this['kotlinx.coroutines-kotlinx-coroutines-core-js-ir'], this['korlibs-klogger']);
  }
}(this, function (_, kotlin_kotlin, kotlin_com_soywiz_korlibs_klock_klock, kotlin_com_soywiz_korlibs_kds_kds, kotlin_com_soywiz_korlibs_korio_korio, kotlin_com_soywiz_korlibs_krypto_krypto, kotlin_com_soywiz_korlibs_kmem_kmem, kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core, kotlin_com_soywiz_korlibs_klogger_klogger) {
  'use strict';
  //region block: imports
  var imul = Math.imul;
  var Unit_getInstance = kotlin_kotlin.$_$.k5;
  var objectMeta = kotlin_kotlin.$_$.wd;
  var CoroutineImpl = kotlin_kotlin.$_$.yb;
  var get_COROUTINE_SUSPENDED = kotlin_kotlin.$_$.gb;
  var printStackTrace = kotlin_kotlin.$_$.bj;
  var CancellationException = kotlin_kotlin.$_$.fb;
  var classMeta = kotlin_kotlin.$_$.pc;
  var ArrayList_init_$Create$ = kotlin_kotlin.$_$.m1;
  var addAll = kotlin_kotlin.$_$.j6;
  var toSet = kotlin_kotlin.$_$.va;
  var ensureNotNull = kotlin_kotlin.$_$.ri;
  var addAll_0 = kotlin_kotlin.$_$.i6;
  var Companion_getInstance = kotlin_com_soywiz_korlibs_klock_klock.$_$.e1;
  var Mixin_init_$Create$ = kotlin_com_soywiz_korlibs_kds_kds.$_$.k2;
  var TimeSpan = kotlin_com_soywiz_korlibs_klock_klock.$_$.c;
  var _TimeSpan___get_milliseconds__impl__pb0we5 = kotlin_com_soywiz_korlibs_klock_klock.$_$.t;
  var TimeSpan__hashCode_impl_izs3k5 = kotlin_com_soywiz_korlibs_klock_klock.$_$.p;
  var THROW_CCE = kotlin_kotlin.$_$.di;
  var equals = kotlin_kotlin.$_$.rc;
  var Extra = kotlin_com_soywiz_korlibs_kds_kds.$_$.g;
  var readBytesUpTo = kotlin_com_soywiz_korlibs_korio_korio.$_$.x2;
  var get_hex = kotlin_com_soywiz_korlibs_krypto_krypto.$_$.b;
  var toString = kotlin_kotlin.$_$.ae;
  var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.x2;
  var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.l1;
  var isCharSequence = kotlin_kotlin.$_$.dd;
  var trim = kotlin_kotlin.$_$.kh;
  var sorted = kotlin_kotlin.$_$.y9;
  var RuntimeException = kotlin_kotlin.$_$.ci;
  var RuntimeException_init_$Init$ = kotlin_kotlin.$_$.h3;
  var captureStack = kotlin_kotlin.$_$.jc;
  var KProperty0 = kotlin_kotlin.$_$.df;
  var getPropertyCallableRef = kotlin_kotlin.$_$.vc;
  var lazy = kotlin_kotlin.$_$.yi;
  var to = kotlin_kotlin.$_$.ij;
  var toMap = kotlin_kotlin.$_$.qa;
  var Enum = kotlin_kotlin.$_$.sh;
  var getStringHashCode = kotlin_kotlin.$_$.wc;
  var toLong = kotlin_kotlin.$_$.yd;
  var Long = kotlin_kotlin.$_$.xh;
  var mapOf = kotlin_kotlin.$_$.g9;
  var UByteArrayInt__get_impl_px6q8a = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.q3;
  var get_invalidOp = kotlin_com_soywiz_korlibs_korio_korio.$_$.i1;
  var extract = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.j1;
  var toInt = kotlin_kotlin.$_$.rg;
  var DoubleArrayList_init_$Create$ = kotlin_com_soywiz_korlibs_kds_kds.$_$.j2;
  var readStream = kotlin_com_soywiz_korlibs_korio_korio.$_$.c3;
  var _UByteArrayInt___init__impl__xif7bu = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.o3;
  var toSyncOrNull = kotlin_com_soywiz_korlibs_korio_korio.$_$.i2;
  var _UByteArrayInt___get_bytes__impl__pj0ilc = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.p3;
  var readBytesUpTo_0 = kotlin_com_soywiz_korlibs_korio_korio.$_$.y2;
  var openSync$default = kotlin_com_soywiz_korlibs_korio_korio.$_$.o3;
  var readString$default = kotlin_com_soywiz_korlibs_korio_korio.$_$.q3;
  var numberToLong = kotlin_kotlin.$_$.vd;
  var Charsets_getInstance = kotlin_com_soywiz_korlibs_korio_korio.$_$.l4;
  var readString = kotlin_com_soywiz_korlibs_korio_korio.$_$.d3;
  var readBytesExact = kotlin_com_soywiz_korlibs_korio_korio.$_$.w2;
  var readU8 = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.y2;
  var _TimeSpan___get_seconds__impl__cx2k1c = kotlin_com_soywiz_korlibs_klock_klock.$_$.y;
  var _TimeSpan___get_microseconds__impl__65sv9o = kotlin_com_soywiz_korlibs_klock_klock.$_$.r;
  var binarySearch$default = kotlin_com_soywiz_korlibs_kds_kds.$_$.z1;
  var _BSearchResult___get_nearIndex__impl__s8nq43 = kotlin_com_soywiz_korlibs_kds_kds.$_$.y2;
  var PerformanceCounter_getInstance = kotlin_com_soywiz_korlibs_klock_klock.$_$.c1;
  var TimedResult = kotlin_com_soywiz_korlibs_klock_klock.$_$.d;
  var readS16LE = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.j2;
  var toShort = kotlin_kotlin.$_$.zd;
  var readS24LE = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.l2;
  var invalidOp = kotlin_com_soywiz_korlibs_korio_korio.$_$.j1;
  var hashCode = kotlin_kotlin.$_$.xc;
  var readS16LE_0 = kotlin_com_soywiz_korlibs_korio_korio.$_$.z2;
  var readS32LE = kotlin_com_soywiz_korlibs_korio_korio.$_$.a3;
  var readU32LE = kotlin_com_soywiz_korlibs_korio_korio.$_$.f3;
  var MemorySyncStream$default = kotlin_com_soywiz_korlibs_korio_korio.$_$.l3;
  var toAsync = kotlin_com_soywiz_korlibs_korio_korio.$_$.h2;
  var readString$default_0 = kotlin_com_soywiz_korlibs_korio_korio.$_$.v3;
  var SuspendFunction1 = kotlin_kotlin.$_$.ac;
  var ByteArrayDeque_init_$Create$ = kotlin_com_soywiz_korlibs_kds_kds.$_$.h2;
  var indexOf$default = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.i3;
  var FastByteArrayInputStream_init_$Create$ = kotlin_com_soywiz_korlibs_korio_korio.$_$.c4;
  var hasFlags = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.p1;
  var Closeable = kotlin_com_soywiz_korlibs_korio_korio.$_$.w;
  var interfaceMeta = kotlin_kotlin.$_$.yc;
  var toByte = kotlin_kotlin.$_$.xd;
  var UByteArrayInt = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.e;
  var _Char___init__impl__6a9atx = kotlin_kotlin.$_$.p3;
  var charSequenceGet = kotlin_kotlin.$_$.mc;
  var get_lastIndex = kotlin_kotlin.$_$.ag;
  var Char__toInt_impl_vasixd = kotlin_kotlin.$_$.x3;
  var fillArrayVal = kotlin_kotlin.$_$.tc;
  var UByteArrayInt_0 = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.f;
  var UByteArrayInt_1 = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.g;
  var _UByte___init__impl__g9hnc4 = kotlin_kotlin.$_$.d4;
  var UByte = kotlin_kotlin.$_$.hi;
  var UByte__hashCode_impl_mmczcb = kotlin_kotlin.$_$.f4;
  var UByteArrayInt__set_impl_gn4532 = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.r3;
  var _UByte___get_data__impl__jof9qr = kotlin_kotlin.$_$.e4;
  var fill = kotlin_kotlin.$_$.b8;
  var fill_0 = kotlin_kotlin.$_$.a8;
  var arraycopy = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.n;
  var arraycopy_0 = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.v;
  var UByteArrayInt__set_impl_gn4532_0 = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.s3;
  var until = kotlin_kotlin.$_$.ye;
  var step = kotlin_kotlin.$_$.we;
  var _UInt___init__impl__l7qpdl = kotlin_kotlin.$_$.h4;
  var _UInt___get_data__impl__f0vqqw = kotlin_kotlin.$_$.i4;
  var numberToInt = kotlin_kotlin.$_$.ud;
  var fill$default = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.h3;
  var fill$default_0 = kotlin_kotlin.$_$.k;
  var copyOf = kotlin_kotlin.$_$.h7;
  var ShortCompanionObject_getInstance = kotlin_kotlin.$_$.x4;
  var coerceIn = kotlin_kotlin.$_$.qe;
  var arraycopy_1 = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.p;
  var FastShortTransfer = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.d;
  var contentDeepHashCode = kotlin_kotlin.$_$.u6;
  var contentDeepEquals = kotlin_kotlin.$_$.t6;
  var AssertionError_init_$Create$ = kotlin_kotlin.$_$.i2;
  var arrayinterleave = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.x;
  var get_EmptyShortArray = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.b;
  var ShortArrayDeque_init_$Create$ = kotlin_com_soywiz_korlibs_kds_kds.$_$.u2;
  var getOrNull = kotlin_kotlin.$_$.j8;
  var get_lastIndex_0 = kotlin_kotlin.$_$.x8;
  var compareTo = kotlin_kotlin.$_$.qc;
  var delay = kotlin_com_soywiz_korlibs_korio_korio.$_$.s2;
  var Disposable = kotlin_com_soywiz_korlibs_korio_korio.$_$.x;
  var openAsync$default = kotlin_com_soywiz_korlibs_korio_korio.$_$.m3;
  var get_baseName = kotlin_com_soywiz_korlibs_korio_korio.$_$.r;
  var NotImplementedError_init_$Create$ = kotlin_kotlin.$_$.k1;
  var getNumberHashCode = kotlin_kotlin.$_$.uc;
  var Companion_getInstance_0 = kotlin_com_soywiz_korlibs_klock_klock.$_$.b1;
  var KProperty1 = kotlin_kotlin.$_$.ef;
  var SuspendFunction0 = kotlin_kotlin.$_$.zb;
  var CoroutineScope = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.p1;
  var isInterface = kotlin_kotlin.$_$.id;
  var ConcurrentPool_init_$Create$ = kotlin_com_soywiz_korlibs_kds_kds.$_$.i2;
  var Dispatchers_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.x;
  var createSingleThreadedDispatcher = kotlin_com_soywiz_korlibs_korio_korio.$_$.j;
  var Companion_getInstance_1 = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.w3;
  var EmptyCoroutineContext_getInstance = kotlin_kotlin.$_$.r4;
  var withContext = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.f;
  var CloseableCoroutineDispatcher = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.h1;
  var launchAsap = kotlin_com_soywiz_korlibs_korio_korio.$_$.b;
  var KMutableProperty0 = kotlin_kotlin.$_$.af;
  var KMutableProperty1 = kotlin_kotlin.$_$.bf;
  var UrlVfs = kotlin_com_soywiz_korlibs_korio_korio.$_$.n;
  var LocalVfs = kotlin_com_soywiz_korlibs_korio_korio.$_$.l;
  var CompletableDeferred$default = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.j;
  var Console_getInstance = kotlin_com_soywiz_korlibs_klogger_klogger.$_$.e;
  var get_job = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.g2;
  var launchImmediately = kotlin_com_soywiz_korlibs_korio_korio.$_$.c;
  var Cancellable = kotlin_com_soywiz_korlibs_korio_korio.$_$.t;
  var Companion_getInstance_2 = kotlin_kotlin.$_$.f5;
  var _Result___init__impl__xyqfz8 = kotlin_kotlin.$_$.z3;
  var Exception_init_$Create$ = kotlin_kotlin.$_$.o2;
  var createFailure = kotlin_kotlin.$_$.qi;
  var throwUninitializedPropertyAccessException = kotlin_kotlin.$_$.ej;
  var intercepted = kotlin_kotlin.$_$.ib;
  var SafeContinuation_init_$Create$ = kotlin_kotlin.$_$.e2;
  var returnIfSuspended = kotlin_kotlin.$_$.h;
  var get_uniVfs = kotlin_com_soywiz_korlibs_korio_korio.$_$.q;
  var Job$default = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.m;
  var CompletableDeferred = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.i1;
  var Deferred = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.q1;
  var _Result___get_value__impl__bjfvqg = kotlin_kotlin.$_$.c4;
  var isObject = kotlin_kotlin.$_$.ld;
  var _Result___get_isFailure__impl__jpiriv = kotlin_kotlin.$_$.b4;
  var delay_0 = kotlin_com_soywiz_korlibs_korio_korio.$_$.r2;
  var FloatArrayDeque_init_$Create$ = kotlin_com_soywiz_korlibs_kds_kds.$_$.n2;
  var cancel = kotlin_com_soywiz_korlibs_korio_korio.$_$.f1;
  var OS_getInstance = kotlin_com_soywiz_korlibs_korio_korio.$_$.q4;
  //endregion
  //region block: pre-declaration
  $tryReadInfoCOROUTINE$0.prototype = Object.create(CoroutineImpl.prototype);
  $tryReadInfoCOROUTINE$0.prototype.constructor = $tryReadInfoCOROUTINE$0;
  $decodeStreamCOROUTINE$1.prototype = Object.create(CoroutineImpl.prototype);
  $decodeStreamCOROUTINE$1.prototype.constructor = $decodeStreamCOROUTINE$1;
  AudioFormats.prototype = Object.create(AudioFormat.prototype);
  AudioFormats.prototype.constructor = AudioFormats;
  $decodeStreamOrErrorCOROUTINE$4.prototype = Object.create(CoroutineImpl.prototype);
  $decodeStreamOrErrorCOROUTINE$4.prototype.constructor = $decodeStreamOrErrorCOROUTINE$4;
  InvalidAudioFormatException.prototype = Object.create(RuntimeException.prototype);
  InvalidAudioFormatException.prototype.constructor = InvalidAudioFormatException;
  MP3Base.prototype = Object.create(AudioFormat.prototype);
  MP3Base.prototype.constructor = MP3Base;
  MP3.prototype = Object.create(MP3Base.prototype);
  MP3.prototype.constructor = MP3;
  Companion_1.prototype = Object.create(MP3.prototype);
  Companion_1.prototype.constructor = Companion_1;
  ChannelMode.prototype = Object.create(Enum.prototype);
  ChannelMode.prototype.constructor = ChannelMode;
  $getSeekingTableCOROUTINE$7.prototype = Object.create(CoroutineImpl.prototype);
  $getSeekingTableCOROUTINE$7.prototype.constructor = $getSeekingTableCOROUTINE$7;
  $_getDurationCOROUTINE$8.prototype = Object.create(CoroutineImpl.prototype);
  $_getDurationCOROUTINE$8.prototype.constructor = $_getDurationCOROUTINE$8;
  $skipID3v2TagCOROUTINE$9.prototype = Object.create(CoroutineImpl.prototype);
  $skipID3v2TagCOROUTINE$9.prototype.constructor = $skipID3v2TagCOROUTINE$9;
  $tryReadInfoCOROUTINE$6.prototype = Object.create(CoroutineImpl.prototype);
  $tryReadInfoCOROUTINE$6.prototype.constructor = $tryReadInfoCOROUTINE$6;
  $readCOROUTINE$13.prototype = Object.create(CoroutineImpl.prototype);
  $readCOROUTINE$13.prototype.constructor = $readCOROUTINE$13;
  $cloneCOROUTINE$14.prototype = Object.create(CoroutineImpl.prototype);
  $cloneCOROUTINE$14.prototype.constructor = $cloneCOROUTINE$14;
  WAV.prototype = Object.create(AudioFormat.prototype);
  WAV.prototype.constructor = WAV;
  Companion_4.prototype = Object.create(WAV.prototype);
  Companion_4.prototype.constructor = Companion_4;
  WavAudioStream.prototype = Object.create(AudioStream.prototype);
  WavAudioStream.prototype.constructor = WavAudioStream;
  WAV$parse$slambda.prototype = Object.create(CoroutineImpl.prototype);
  WAV$parse$slambda.prototype.constructor = WAV$parse$slambda;
  $tryReadInfoCOROUTINE$11.prototype = Object.create(CoroutineImpl.prototype);
  $tryReadInfoCOROUTINE$11.prototype.constructor = $tryReadInfoCOROUTINE$11;
  $decodeStreamCOROUTINE$12.prototype = Object.create(CoroutineImpl.prototype);
  $decodeStreamCOROUTINE$12.prototype.constructor = $decodeStreamCOROUTINE$12;
  $parseCOROUTINE$16.prototype = Object.create(CoroutineImpl.prototype);
  $parseCOROUTINE$16.prototype.constructor = $parseCOROUTINE$16;
  $riffCOROUTINE$17.prototype = Object.create(CoroutineImpl.prototype);
  $riffCOROUTINE$17.prototype.constructor = $riffCOROUTINE$17;
  MP3Decoder.prototype = Object.create(AudioFormat.prototype);
  MP3Decoder.prototype.constructor = MP3Decoder;
  Companion_5.prototype = Object.create(MP3Decoder.prototype);
  Companion_5.prototype.constructor = Companion_5;
  $readCOROUTINE$20.prototype = Object.create(CoroutineImpl.prototype);
  $readCOROUTINE$20.prototype.constructor = $readCOROUTINE$20;
  BaseMinimp3AudioFormat$createDecoderStream$2.prototype = Object.create(AudioStream.prototype);
  BaseMinimp3AudioFormat$createDecoderStream$2.prototype.constructor = BaseMinimp3AudioFormat$createDecoderStream$2;
  $createDecoderStreamCOROUTINE$18.prototype = Object.create(CoroutineImpl.prototype);
  $createDecoderStreamCOROUTINE$18.prototype.constructor = $createDecoderStreamCOROUTINE$18;
  $createDecoderStream$readMoreSamplesCOROUTINE$19.prototype = Object.create(CoroutineImpl.prototype);
  $createDecoderStream$readMoreSamplesCOROUTINE$19.prototype.constructor = $createDecoderStream$readMoreSamplesCOROUTINE$19;
  BaseMinimp3AudioFormat.prototype = Object.create(AudioFormat.prototype);
  BaseMinimp3AudioFormat.prototype.constructor = BaseMinimp3AudioFormat;
  Minimp3Decoder.prototype = Object.create(MiniMp3Program.prototype);
  Minimp3Decoder.prototype.constructor = Minimp3Decoder;
  Minimp3AudioFormat.prototype = Object.create(BaseMinimp3AudioFormat.prototype);
  Minimp3AudioFormat.prototype.constructor = Minimp3AudioFormat;
  AudioDataStream.prototype = Object.create(AudioStream.prototype);
  AudioDataStream.prototype.constructor = AudioDataStream;
  $toDataCOROUTINE$22.prototype = Object.create(CoroutineImpl.prototype);
  $toDataCOROUTINE$22.prototype.constructor = $toDataCOROUTINE$22;
  $waitCOROUTINE$23.prototype = Object.create(CoroutineImpl.prototype);
  $waitCOROUTINE$23.prototype.constructor = $waitCOROUTINE$23;
  NativeSoundProvider$createSound$slambda.prototype = Object.create(CoroutineImpl.prototype);
  NativeSoundProvider$createSound$slambda.prototype.constructor = NativeSoundProvider$createSound$slambda;
  $createSoundCOROUTINE$24.prototype = Object.create(CoroutineImpl.prototype);
  $createSoundCOROUTINE$24.prototype.constructor = $createSoundCOROUTINE$24;
  $createSoundCOROUTINE$25.prototype = Object.create(CoroutineImpl.prototype);
  $createSoundCOROUTINE$25.prototype.constructor = $createSoundCOROUTINE$25;
  $createSoundCOROUTINE$26.prototype = Object.create(CoroutineImpl.prototype);
  $createSoundCOROUTINE$26.prototype.constructor = $createSoundCOROUTINE$26;
  DummyNativeSoundProvider.prototype = Object.create(NativeSoundProvider.prototype);
  DummyNativeSoundProvider.prototype.constructor = DummyNativeSoundProvider;
  Companion_10.prototype = Object.create(DummyNativeSoundProvider.prototype);
  Companion_10.prototype.constructor = Companion_10;
  SoundAudioStream$play$slambda$slambda.prototype = Object.create(CoroutineImpl.prototype);
  SoundAudioStream$play$slambda$slambda.prototype.constructor = SoundAudioStream$play$slambda$slambda;
  SoundAudioStream$play$slambda.prototype = Object.create(CoroutineImpl.prototype);
  SoundAudioStream$play$slambda.prototype.constructor = SoundAudioStream$play$slambda;
  SoundAudioStream$play$1.prototype = Object.create(SoundChannel.prototype);
  SoundAudioStream$play$1.prototype.constructor = SoundAudioStream$play$1;
  SoundAudioStream.prototype = Object.create(Sound.prototype);
  SoundAudioStream.prototype.constructor = SoundAudioStream;
  $createSoundCOROUTINE$33.prototype = Object.create(CoroutineImpl.prototype);
  $createSoundCOROUTINE$33.prototype.constructor = $createSoundCOROUTINE$33;
  $createSoundCOROUTINE$34.prototype = Object.create(CoroutineImpl.prototype);
  $createSoundCOROUTINE$34.prototype.constructor = $createSoundCOROUTINE$34;
  HtmlNativeSoundProvider.prototype = Object.create(NativeSoundProvider.prototype);
  HtmlNativeSoundProvider.prototype.constructor = HtmlNativeSoundProvider;
  AudioBufferSound$play$2.prototype = Object.create(SoundChannel.prototype);
  AudioBufferSound$play$2.prototype.constructor = AudioBufferSound$play$2;
  AudioBufferSound.prototype = Object.create(Sound.prototype);
  AudioBufferSound.prototype.constructor = AudioBufferSound;
  HtmlSimpleSound$SimpleSoundChannel$createJobAt$slambda.prototype = Object.create(CoroutineImpl.prototype);
  HtmlSimpleSound$SimpleSoundChannel$createJobAt$slambda.prototype.constructor = HtmlSimpleSound$SimpleSoundChannel$createJobAt$slambda;
  $loadSoundCOROUTINE$37.prototype = Object.create(CoroutineImpl.prototype);
  $loadSoundCOROUTINE$37.prototype.constructor = $loadSoundCOROUTINE$37;
  $loadSoundCOROUTINE$38.prototype = Object.create(CoroutineImpl.prototype);
  $loadSoundCOROUTINE$38.prototype.constructor = $loadSoundCOROUTINE$38;
  $addCOROUTINE$39.prototype = Object.create(CoroutineImpl.prototype);
  $addCOROUTINE$39.prototype.constructor = $addCOROUTINE$39;
  JsPlatformAudioOutput.prototype = Object.create(PlatformAudioOutput.prototype);
  JsPlatformAudioOutput.prototype.constructor = JsPlatformAudioOutput;
  //endregion
  function get_defaultAudioFormats() {
    init_properties_AudioFormat_kt_pby2mx();
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = defaultAudioFormats$factory();
    tmp$ret$0 = defaultAudioFormats$delegate.l1();
    return tmp$ret$0;
  }
  var defaultAudioFormats$delegate;
  function Companion() {
    Companion_instance = this;
  }
  Companion.prototype.ccv = function (formats) {
    return (new AudioFormats()).gcv(formats.slice());
  };
  Companion.$metadata$ = objectMeta('Companion');
  var Companion_instance;
  function Companion_getInstance_3() {
    if (Companion_instance == null)
      new Companion();
    return Companion_instance;
  }
  function invalidate($this) {
    $this.fcv_1 = null;
    return $this;
  }
  function $tryReadInfoCOROUTINE$0(_this__u8e3s4, data, props, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.pcv_1 = _this__u8e3s4;
    this.qcv_1 = data;
    this.rcv_1 = props;
  }
  $tryReadInfoCOROUTINE$0.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 7;
            this.scv_1 = this.pcv_1.ecv_1.j();
            this.o7_1 = 1;
            continue $sm;
          case 1:
            if (!this.scv_1.k()) {
              this.o7_1 = 6;
              continue $sm;
            }

            this.tcv_1 = this.scv_1.l();
            this.p7_1 = 4;
            this.o7_1 = 2;
            suspendResult = this.tcv_1.vcv(this.qcv_1.y2n(), this.rcv_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            var tmp1_elvis_lhs = suspendResult;
            var WHEN_RESULT;
            if (tmp1_elvis_lhs == null) {
              this.p7_1 = 7;
              this.o7_1 = 1;
              continue $sm;
            } else {
              WHEN_RESULT = tmp1_elvis_lhs;
              this.o7_1 = 3;
              continue $sm;
            }

            break;
          case 3:
            return WHEN_RESULT;
          case 4:
            this.p7_1 = 7;
            var tmp_0 = this.r7_1;
            if (tmp_0 instanceof CancellationException) {
              var e = this.r7_1;
              throw e;
            } else {
              var tmp_1 = this.r7_1;
              if (tmp_1 instanceof Error) {
                var e_0 = this.r7_1;
                printStackTrace(e_0);
                this.o7_1 = 5;
                continue $sm;
              } else {
                throw this.r7_1;
              }
            }

            break;
          case 5:
            this.p7_1 = 7;
            this.o7_1 = 1;
            continue $sm;
          case 6:
            return null;
          case 7:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 7) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $tryReadInfoCOROUTINE$0.$metadata$ = classMeta('$tryReadInfoCOROUTINE$0', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $decodeStreamCOROUTINE$1(_this__u8e3s4, data, props, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ecw_1 = _this__u8e3s4;
    this.fcw_1 = data;
    this.gcw_1 = props;
  }
  $decodeStreamCOROUTINE$1.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 9;
            this.hcw_1 = this.ecw_1.ecv_1.j();
            this.o7_1 = 1;
            continue $sm;
          case 1:
            if (!this.hcw_1.k()) {
              this.o7_1 = 8;
              continue $sm;
            }

            this.icw_1 = this.hcw_1.l();
            this.p7_1 = 6;
            this.o7_1 = 2;
            suspendResult = this.icw_1.vcv(this.fcw_1.y2n(), Companion_getInstance_4().lcw_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.jcw_1 = suspendResult;
            if (this.jcw_1 == null) {
              this.p7_1 = 9;
              this.o7_1 = 1;
              continue $sm;
            } else {
              this.o7_1 = 3;
              continue $sm;
            }

            break;
          case 3:
            this.o7_1 = 4;
            suspendResult = this.icw_1.mcw(this.fcw_1.y2n(), this.gcw_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 4:
            var tmp1_elvis_lhs = suspendResult;
            var WHEN_RESULT;
            if (tmp1_elvis_lhs == null) {
              this.p7_1 = 9;
              this.o7_1 = 1;
              continue $sm;
            } else {
              WHEN_RESULT = tmp1_elvis_lhs;
              this.o7_1 = 5;
              continue $sm;
            }

            break;
          case 5:
            return WHEN_RESULT;
          case 6:
            this.p7_1 = 9;
            var tmp_0 = this.r7_1;
            if (tmp_0 instanceof Error) {
              var e = this.r7_1;
              printStackTrace(e);
              this.o7_1 = 7;
              continue $sm;
            } else {
              throw this.r7_1;
            }

            break;
          case 7:
            this.p7_1 = 9;
            this.o7_1 = 1;
            continue $sm;
          case 8:
            return null;
          case 9:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 9) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $decodeStreamCOROUTINE$1.$metadata$ = classMeta('$decodeStreamCOROUTINE$1', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function AudioFormats() {
    Companion_getInstance_3();
    AudioFormat.call(this, []);
    var tmp = this;
    var tmp$ret$0;
    // Inline function 'kotlin.collections.arrayListOf' call
    tmp$ret$0 = ArrayList_init_$Create$();
    tmp.ecv_1 = tmp$ret$0;
    this.fcv_1 = null;
  }
  AudioFormats.prototype.w9p = function () {
    return this.ecv_1;
  };
  AudioFormats.prototype.w3f = function () {
    if (this.fcv_1 == null) {
      var tmp = this;
      var tmp$ret$2;
      // Inline function 'kotlin.collections.flatMap' call
      var tmp0_flatMap = this.ecv_1;
      var tmp$ret$1;
      // Inline function 'kotlin.collections.flatMapTo' call
      var tmp0_flatMapTo = ArrayList_init_$Create$();
      var tmp0_iterator = tmp0_flatMap.j();
      while (tmp0_iterator.k()) {
        var element = tmp0_iterator.l();
        var tmp$ret$0;
        // Inline function 'com.soywiz.korau.format.AudioFormats.<get-extensions>.<anonymous>' call
        tmp$ret$0 = element.w3f();
        var list = tmp$ret$0;
        addAll(tmp0_flatMapTo, list);
      }
      tmp$ret$1 = tmp0_flatMapTo;
      tmp$ret$2 = tmp$ret$1;
      tmp.fcv_1 = toSet(tmp$ret$2);
    }
    return ensureNotNull(this.fcv_1);
  };
  AudioFormats.prototype.gcv = function (formats) {
    var tmp$ret$0;
    // Inline function 'kotlin.apply' call
    var tmp0_apply = invalidate(this);
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korau.format.AudioFormats.register.<anonymous>' call
    var tmp0_this = tmp0_apply;
    // Inline function 'kotlin.collections.plusAssign' call
    var tmp0_plusAssign = tmp0_this.ecv_1;
    addAll_0(tmp0_plusAssign, formats);
    tmp$ret$0 = tmp0_apply;
    return tmp$ret$0;
  };
  AudioFormats.prototype.vcv = function (data, props, $cont) {
    var tmp = new $tryReadInfoCOROUTINE$0(this, data, props, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  AudioFormats.prototype.mcw = function (data, props, $cont) {
    var tmp = new $decodeStreamCOROUTINE$1(this, data, props, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  AudioFormats.$metadata$ = classMeta('AudioFormats', undefined, undefined, undefined, undefined, AudioFormat.prototype);
  function standardAudioFormats() {
    init_properties_AudioFormat_kt_pby2mx();
    return Companion_getInstance_3().ccv([Companion_getInstance_8(), get_FastMP3Decoder()]);
  }
  function Info_init_$Init$(duration, channels, decodingTime, $mask0, $marker, $this) {
    if (!(($mask0 & 1) === 0)) {
      var tmp$ret$0;
      var tmp$ret$0_0;
      // Inline function 'com.soywiz.klock.seconds' call
      tmp$ret$0 = Companion_getInstance().c1i(0.0);
      tmp$ret$0_0 = Unit_getInstance();
      duration = tmp$ret$0;
    }
    if (!(($mask0 & 2) === 0))
      channels = 2;
    if (!(($mask0 & 4) === 0))
      decodingTime = null;
    Info.call($this, duration, channels, decodingTime);
    return $this;
  }
  function Info_init_$Create$(duration, channels, decodingTime, $mask0, $marker) {
    return Info_init_$Init$(duration, channels, decodingTime, $mask0, $marker, Object.create(Info.prototype));
  }
  function Info(duration, channels, decodingTime) {
    this.ocw_1 = duration;
    this.pcw_1 = channels;
    this.qcw_1 = decodingTime;
    var tmp = this;
    tmp.rcw_1 = Mixin_init_$Create$(null, 1, null);
  }
  Info.prototype.e4v = function (_set____db54di) {
    this.rcw_1.e4v(_set____db54di);
  };
  Info.prototype.f4v = function () {
    return this.rcw_1.f4v();
  };
  Info.prototype.scw = function () {
    var tmp0_elvis_lhs = this.ocw_1;
    var tmp;
    var tmp_0 = tmp0_elvis_lhs;
    if ((tmp_0 == null ? null : new TimeSpan(tmp_0)) == null) {
      var tmp$ret$0;
      // Inline function 'com.soywiz.klock.seconds' call
      tmp$ret$0 = Companion_getInstance().c1i(0.0);
      tmp = tmp$ret$0;
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  };
  Info.prototype.toString = function () {
    return 'Info(duration=' + get_niceStr(_TimeSpan___get_milliseconds__impl__pb0we5(this.scw())) + 'ms, channels=' + this.pcw_1 + ')';
  };
  Info.prototype.hashCode = function () {
    var tmp;
    var tmp_0 = this.ocw_1;
    if ((tmp_0 == null ? null : new TimeSpan(tmp_0)) == null) {
      tmp = 0;
    } else {
      tmp = TimeSpan__hashCode_impl_izs3k5(this.ocw_1);
    }
    var result = tmp;
    result = imul(result, 31) + this.pcw_1 | 0;
    var tmp_1 = imul(result, 31);
    var tmp_2;
    var tmp_3 = this.qcw_1;
    if ((tmp_3 == null ? null : new TimeSpan(tmp_3)) == null) {
      tmp_2 = 0;
    } else {
      tmp_2 = TimeSpan__hashCode_impl_izs3k5(this.qcw_1);
    }
    result = tmp_1 + tmp_2 | 0;
    return result;
  };
  Info.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Info))
      return false;
    var tmp0_other_with_cast = other instanceof Info ? other : THROW_CCE();
    var tmp = this.ocw_1;
    var tmp_0 = tmp == null ? null : new TimeSpan(tmp);
    var tmp_1 = tmp0_other_with_cast.ocw_1;
    if (!equals(tmp_0, tmp_1 == null ? null : new TimeSpan(tmp_1)))
      return false;
    if (!(this.pcw_1 === tmp0_other_with_cast.pcw_1))
      return false;
    var tmp_2 = this.qcw_1;
    var tmp_3 = tmp_2 == null ? null : new TimeSpan(tmp_2);
    var tmp_4 = tmp0_other_with_cast.qcw_1;
    if (!equals(tmp_3, tmp_4 == null ? null : new TimeSpan(tmp_4)))
      return false;
    return true;
  };
  Info.$metadata$ = classMeta('Info', [Extra]);
  function $decodeStreamOrErrorCOROUTINE$4(_this__u8e3s4, data, props, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.bcx_1 = _this__u8e3s4;
    this.ccx_1 = data;
    this.dcx_1 = props;
  }
  $decodeStreamOrErrorCOROUTINE$4.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 4;
            this.o7_1 = 1;
            suspendResult = this.bcx_1.mcw(this.ccx_1, this.dcx_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.ecx_1 = suspendResult;
            if (this.ecx_1 == null) {
              this.o7_1 = 2;
              suspendResult = readBytesUpTo(this.ccx_1.y2n(), 8, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.fcx_1 = this.ecx_1;
              this.o7_1 = 3;
              continue $sm;
            }

            break;
          case 2:
            var ARGUMENT = suspendResult;
            var ARGUMENT_0 = get_hex(ARGUMENT);
            var tmp0_error = "Can't decode audio stream [" + this.bcx_1 + '] ' + ARGUMENT_0;
            var tmp_0 = this;
            throw IllegalStateException_init_$Create$(toString(tmp0_error));
          case 3:
            return this.fcx_1;
          case 4:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 4) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $decodeStreamOrErrorCOROUTINE$4.$metadata$ = classMeta('$decodeStreamOrErrorCOROUTINE$4', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function AudioFormat(exts) {
    var tmp = this;
    var tmp$ret$5;
    // Inline function 'kotlin.collections.map' call
    var tmp$ret$4;
    // Inline function 'kotlin.collections.mapTo' call
    var tmp0_mapTo = ArrayList_init_$Create$_0(exts.length);
    var indexedObject = exts;
    var inductionVariable = 0;
    var last = indexedObject.length;
    while (inductionVariable < last) {
      var item = indexedObject[inductionVariable];
      inductionVariable = inductionVariable + 1 | 0;
      var tmp$ret$3;
      // Inline function 'com.soywiz.korau.format.AudioFormat.extensions.<anonymous>' call
      var tmp$ret$2;
      // Inline function 'kotlin.text.trim' call
      var tmp$ret$1;
      // Inline function 'kotlin.text.lowercase' call
      var tmp$ret$0;
      // Inline function 'kotlin.js.asDynamic' call
      tmp$ret$0 = item;
      tmp$ret$1 = tmp$ret$0.toLowerCase();
      var tmp0_trim = tmp$ret$1;
      tmp$ret$2 = toString(trim(isCharSequence(tmp0_trim) ? tmp0_trim : THROW_CCE()));
      tmp$ret$3 = tmp$ret$2;
      tmp0_mapTo.c(tmp$ret$3);
    }
    tmp$ret$4 = tmp0_mapTo;
    tmp$ret$5 = tmp$ret$4;
    tmp.ucv_1 = toSet(tmp$ret$5);
  }
  AudioFormat.prototype.w3f = function () {
    return this.ucv_1;
  };
  AudioFormat.prototype.vcv = function (data, props, $cont) {
    return null;
  };
  AudioFormat.prototype.mcw = function (data, props, $cont) {
    return null;
  };
  AudioFormat.prototype.ncw = function (data, props, $cont) {
    var tmp = new $decodeStreamOrErrorCOROUTINE$4(this, data, props, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  AudioFormat.prototype.t2 = function () {
    return 'AudioFormat';
  };
  AudioFormat.prototype.toString = function () {
    return this.t2() + '(' + sorted(this.w3f()) + ')';
  };
  AudioFormat.$metadata$ = classMeta('AudioFormat');
  function AudioDecodingProps_init_$Init$(exactTimings, readInMemory, formats, maxSamples, $mask0, $marker, $this) {
    if (!(($mask0 & 1) === 0))
      exactTimings = null;
    if (!(($mask0 & 2) === 0))
      readInMemory = true;
    if (!(($mask0 & 4) === 0))
      formats = null;
    if (!(($mask0 & 8) === 0))
      maxSamples = 39690000;
    AudioDecodingProps.call($this, exactTimings, readInMemory, formats, maxSamples);
    return $this;
  }
  function AudioDecodingProps_init_$Create$(exactTimings, readInMemory, formats, maxSamples, $mask0, $marker) {
    return AudioDecodingProps_init_$Init$(exactTimings, readInMemory, formats, maxSamples, $mask0, $marker, Object.create(AudioDecodingProps.prototype));
  }
  function Companion_0() {
    Companion_instance_0 = this;
    var tmp = this;
    tmp.kcw_1 = AudioDecodingProps_init_$Create$(null, false, null, 0, 15, null);
    var tmp_0 = this;
    tmp_0.lcw_1 = AudioDecodingProps_init_$Create$(false, false, null, 0, 12, null);
  }
  Companion_0.$metadata$ = objectMeta('Companion');
  var Companion_instance_0;
  function Companion_getInstance_4() {
    if (Companion_instance_0 == null)
      new Companion_0();
    return Companion_instance_0;
  }
  function AudioDecodingProps(exactTimings, readInMemory, formats, maxSamples) {
    Companion_getInstance_4();
    this.gcx_1 = exactTimings;
    this.hcx_1 = readInMemory;
    this.icx_1 = formats;
    this.jcx_1 = maxSamples;
  }
  AudioDecodingProps.$metadata$ = classMeta('AudioDecodingProps');
  function invalidAudioFormat(message) {
    init_properties_AudioFormat_kt_pby2mx();
    throw new InvalidAudioFormatException(message);
  }
  function InvalidAudioFormatException(message) {
    RuntimeException_init_$Init$(message, this);
    captureStack(this, InvalidAudioFormatException);
  }
  InvalidAudioFormatException.$metadata$ = classMeta('InvalidAudioFormatException', undefined, undefined, undefined, undefined, RuntimeException.prototype);
  function defaultAudioFormats$delegate$lambda() {
    init_properties_AudioFormat_kt_pby2mx();
    return standardAudioFormats();
  }
  function defaultAudioFormats$factory() {
    return getPropertyCallableRef('defaultAudioFormats', 0, KProperty0, function () {
      return get_defaultAudioFormats();
    }, null);
  }
  var properties_initialized_AudioFormat_kt_2wpbb7;
  function init_properties_AudioFormat_kt_pby2mx() {
    if (properties_initialized_AudioFormat_kt_2wpbb7) {
    } else {
      properties_initialized_AudioFormat_kt_2wpbb7 = true;
      defaultAudioFormats$delegate = lazy(defaultAudioFormats$delegate$lambda);
    }
  }
  function Companion_1() {
    Companion_instance_1 = this;
    MP3.call(this);
  }
  Companion_1.$metadata$ = objectMeta('Companion', undefined, undefined, undefined, undefined, MP3.prototype);
  var Companion_instance_1;
  function Companion_getInstance_5() {
    if (Companion_instance_1 == null)
      new Companion_1();
    return Companion_instance_1;
  }
  function MP3() {
    Companion_getInstance_5();
    MP3Base.call(this);
  }
  MP3.$metadata$ = classMeta('MP3', undefined, undefined, undefined, undefined, MP3Base.prototype);
  var ChannelMode_STEREO_instance;
  var ChannelMode_JOINT_STEREO_instance;
  var ChannelMode_DUAL_CHANNEL_instance;
  var ChannelMode_SINGLE_CHANNEL_instance;
  function Companion_2() {
    Companion_instance_2 = this;
    var tmp = this;
    var tmp$ret$2;
    // Inline function 'kotlin.collections.map' call
    var tmp0_map = values();
    var tmp$ret$1;
    // Inline function 'kotlin.collections.mapTo' call
    var tmp0_mapTo = ArrayList_init_$Create$_0(tmp0_map.length);
    var indexedObject = tmp0_map;
    var inductionVariable = 0;
    var last = indexedObject.length;
    while (inductionVariable < last) {
      var item = indexedObject[inductionVariable];
      inductionVariable = inductionVariable + 1 | 0;
      var tmp$ret$0;
      // Inline function 'com.soywiz.korau.format.Companion.BY_ID.<anonymous>' call
      tmp$ret$0 = to(item.ncx_1, item);
      tmp0_mapTo.c(tmp$ret$0);
    }
    tmp$ret$1 = tmp0_mapTo;
    tmp$ret$2 = tmp$ret$1;
    tmp.pcx_1 = toMap(tmp$ret$2);
  }
  Companion_2.$metadata$ = objectMeta('Companion');
  var Companion_instance_2;
  function Companion_getInstance_6() {
    ChannelMode_initEntries();
    if (Companion_instance_2 == null)
      new Companion_2();
    return Companion_instance_2;
  }
  function values() {
    return [ChannelMode_STEREO_getInstance(), ChannelMode_JOINT_STEREO_getInstance(), ChannelMode_DUAL_CHANNEL_getInstance(), ChannelMode_SINGLE_CHANNEL_getInstance()];
  }
  var ChannelMode_entriesInitialized;
  function ChannelMode_initEntries() {
    if (ChannelMode_entriesInitialized)
      return Unit_getInstance();
    ChannelMode_entriesInitialized = true;
    ChannelMode_STEREO_instance = new ChannelMode('STEREO', 0, 0, 2);
    ChannelMode_JOINT_STEREO_instance = new ChannelMode('JOINT_STEREO', 1, 1, 1);
    ChannelMode_DUAL_CHANNEL_instance = new ChannelMode('DUAL_CHANNEL', 2, 2, 2);
    ChannelMode_SINGLE_CHANNEL_instance = new ChannelMode('SINGLE_CHANNEL', 3, 3, 1);
    Companion_getInstance_6();
  }
  function ChannelMode(name, ordinal, id, channels) {
    Enum.call(this, name, ordinal);
    this.ncx_1 = id;
    this.ocx_1 = channels;
  }
  ChannelMode.prototype.c1n = function () {
    return this.ncx_1;
  };
  ChannelMode.$metadata$ = classMeta('ChannelMode', undefined, undefined, undefined, undefined, Enum.prototype);
  function Mp3Info(version, layer, bitrate, samplingRate, channelMode, frameSize, samples) {
    this.qcx_1 = version;
    this.rcx_1 = layer;
    this.scx_1 = bitrate;
    this.tcx_1 = samplingRate;
    this.ucx_1 = channelMode;
    this.vcx_1 = frameSize;
    this.wcx_1 = samples;
  }
  Mp3Info.prototype.toString = function () {
    return 'Mp3Info(version=' + this.qcx_1 + ', layer=' + this.rcx_1 + ', bitrate=' + this.scx_1 + ', samplingRate=' + this.tcx_1 + ', channelMode=' + this.ucx_1 + ', frameSize=' + this.vcx_1 + ', samples=' + this.wcx_1 + ')';
  };
  Mp3Info.prototype.hashCode = function () {
    var result = getStringHashCode(this.qcx_1);
    result = imul(result, 31) + this.rcx_1 | 0;
    result = imul(result, 31) + this.scx_1 | 0;
    result = imul(result, 31) + this.tcx_1 | 0;
    result = imul(result, 31) + this.ucx_1.hashCode() | 0;
    result = imul(result, 31) + this.vcx_1 | 0;
    result = imul(result, 31) + this.wcx_1 | 0;
    return result;
  };
  Mp3Info.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Mp3Info))
      return false;
    var tmp0_other_with_cast = other instanceof Mp3Info ? other : THROW_CCE();
    if (!(this.qcx_1 === tmp0_other_with_cast.qcx_1))
      return false;
    if (!(this.rcx_1 === tmp0_other_with_cast.rcx_1))
      return false;
    if (!(this.scx_1 === tmp0_other_with_cast.scx_1))
      return false;
    if (!(this.tcx_1 === tmp0_other_with_cast.tcx_1))
      return false;
    if (!this.ucx_1.equals(tmp0_other_with_cast.ucx_1))
      return false;
    if (!(this.vcx_1 === tmp0_other_with_cast.vcx_1))
      return false;
    if (!(this.wcx_1 === tmp0_other_with_cast.wcx_1))
      return false;
    return true;
  };
  Mp3Info.$metadata$ = classMeta('Mp3Info');
  function framesize($this, layer, bitrate, sample_rate, padding_bit) {
    var tmp;
    if (layer === 1) {
      tmp = imul((imul(imul(12, bitrate), 1000) / sample_rate | 0) + padding_bit | 0, 4);
    } else {
      tmp = (imul(imul(144, bitrate), 1000) / sample_rate | 0) + padding_bit | 0;
    }
    return tmp;
  }
  function ChannelMode_STEREO_getInstance() {
    ChannelMode_initEntries();
    return ChannelMode_STEREO_instance;
  }
  function ChannelMode_JOINT_STEREO_getInstance() {
    ChannelMode_initEntries();
    return ChannelMode_JOINT_STEREO_instance;
  }
  function ChannelMode_DUAL_CHANNEL_getInstance() {
    ChannelMode_initEntries();
    return ChannelMode_DUAL_CHANNEL_instance;
  }
  function ChannelMode_SINGLE_CHANNEL_getInstance() {
    ChannelMode_initEntries();
    return ChannelMode_SINGLE_CHANNEL_instance;
  }
  function _getDuration($this, use_cbr_estimate, emit, $cont) {
    var tmp = new $_getDurationCOROUTINE$8($this, use_cbr_estimate, emit, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    var tmp_0 = tmp.v7();
    if (tmp_0 === get_COROUTINE_SUSPENDED())
      return tmp_0;
    return new TimeSpan(tmp_0.y1h_1);
  }
  function _getDuration$default($this, use_cbr_estimate, emit, $cont, $mask0, $handler) {
    if (!(($mask0 & 4) === 0))
      emit = null;
    return _getDuration($this, use_cbr_estimate, emit, $cont);
  }
  function estimateDuration($this, bitrate, channels, offset, $cont) {
    var kbps = imul(bitrate, 1000) / 8 | 0;
    var tmp$ret$0;
    // Inline function 'kotlin.Long.minus' call
    var tmp0_minus = $this.icz_1;
    tmp$ret$0 = tmp0_minus.a2(toLong(offset));
    var dataSize = tmp$ret$0;
    var tmp$ret$2;
    // Inline function 'kotlin.Long.div' call
    var tmp$ret$1;
    // Inline function 'kotlin.Long.times' call
    var tmp1_times = 2 / channels | 0;
    tmp$ret$1 = dataSize.sa(toLong(tmp1_times));
    var tmp2_div = tmp$ret$1.sa(new Long(1000000, 0));
    tmp$ret$2 = tmp2_div.kb(toLong(kbps));
    return tmp$ret$2;
  }
  function skipID3v2Tag($this, block, $cont) {
    var tmp = new $skipID3v2TagCOROUTINE$9($this, block, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function Companion_3() {
    Companion_instance_3 = this;
    var tmp = this;
    var tmp$ret$2;
    // Inline function 'kotlin.arrayOf' call
    var tmp$ret$1;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp$ret$0;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$0 = ['2.5', 'x', '2', '1'];
    tmp$ret$1 = tmp$ret$0;
    tmp$ret$2 = tmp$ret$1;
    tmp.wcz_1 = tmp$ret$2;
    var tmp_0 = this;
    var tmp$ret$3;
    // Inline function 'kotlin.intArrayOf' call
    tmp$ret$3 = new Int32Array([-1, 3, 2, 1]);
    tmp_0.xcz_1 = tmp$ret$3;
    var tmp_1 = this;
    var tmp_2 = this.bd0(1, 1);
    var tmp$ret$4;
    // Inline function 'kotlin.intArrayOf' call
    tmp$ret$4 = new Int32Array([0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448]);
    var tmp_3 = to(tmp_2, tmp$ret$4);
    var tmp_4 = this.bd0(1, 2);
    var tmp$ret$5;
    // Inline function 'kotlin.intArrayOf' call
    tmp$ret$5 = new Int32Array([0, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384]);
    var tmp_5 = to(tmp_4, tmp$ret$5);
    var tmp_6 = this.bd0(1, 3);
    var tmp$ret$6;
    // Inline function 'kotlin.intArrayOf' call
    tmp$ret$6 = new Int32Array([0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320]);
    var tmp_7 = to(tmp_6, tmp$ret$6);
    var tmp_8 = this.bd0(2, 1);
    var tmp$ret$7;
    // Inline function 'kotlin.intArrayOf' call
    tmp$ret$7 = new Int32Array([0, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256]);
    var tmp_9 = to(tmp_8, tmp$ret$7);
    var tmp_10 = this.bd0(2, 2);
    var tmp$ret$8;
    // Inline function 'kotlin.intArrayOf' call
    tmp$ret$8 = new Int32Array([0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160]);
    var tmp_11 = to(tmp_10, tmp$ret$8);
    var tmp_12 = this.bd0(2, 3);
    var tmp$ret$9;
    // Inline function 'kotlin.intArrayOf' call
    tmp$ret$9 = new Int32Array([0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160]);
    tmp_1.ycz_1 = mapOf([tmp_3, tmp_5, tmp_7, tmp_9, tmp_11, to(tmp_12, tmp$ret$9)]);
    var tmp_13 = this;
    var tmp$ret$10;
    // Inline function 'kotlin.intArrayOf' call
    tmp$ret$10 = new Int32Array([44100, 48000, 32000]);
    var tmp_14 = to('1', tmp$ret$10);
    var tmp$ret$11;
    // Inline function 'kotlin.intArrayOf' call
    tmp$ret$11 = new Int32Array([22050, 24000, 16000]);
    var tmp_15 = to('2', tmp$ret$11);
    var tmp$ret$12;
    // Inline function 'kotlin.intArrayOf' call
    tmp$ret$12 = new Int32Array([11025, 12000, 8000]);
    tmp_13.zcz_1 = mapOf([tmp_14, tmp_15, to('2.5', tmp$ret$12)]);
    this.ad0_1 = mapOf([to(1, mapOf([to(1, 384), to(2, 1152), to(3, 1152)])), to(2, mapOf([to(1, 384), to(2, 1152), to(3, 576)]))]);
  }
  Companion_3.prototype.bd0 = function (version, layer) {
    return imul(version, 10) + layer | 0;
  };
  Companion_3.prototype.cd0 = function (f4) {
    var b0 = UByteArrayInt__get_impl_px6q8a(f4, 0);
    var b1 = UByteArrayInt__get_impl_px6q8a(f4, 1);
    var b2 = UByteArrayInt__get_impl_px6q8a(f4, 2);
    var b3 = UByteArrayInt__get_impl_px6q8a(f4, 3);
    if (!(b0 === 255)) {
      get_invalidOp();
    }
    var version = this.wcz_1[extract(b1, 3, 2)];
    var simple_version = version === '2.5' ? 2 : toInt(version);
    var layer = this.xcz_1[extract(b1, 1, 2)];
    var protection_bit = extract(b1, 0, 1);
    var bitrate_key = this.bd0(simple_version, layer);
    var bitrate_idx = extract(b2, 4, 4);
    var tmp0_safe_receiver = this.ycz_1.q(bitrate_key);
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver[bitrate_idx];
    var bitrate = tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs;
    var tmp2_safe_receiver = this.zcz_1.q(version);
    var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : tmp2_safe_receiver[extract(b2, 2, 2)];
    var sample_rate = tmp3_elvis_lhs == null ? 0 : tmp3_elvis_lhs;
    var padding_bit = extract(b2, 1, 1);
    var private_bit = extract(b2, 0, 1);
    var channelMode = ensureNotNull(Companion_getInstance_6().pcx_1.q(extract(b3, 6, 2)));
    var mode_extension_bits = extract(b3, 4, 2);
    var copyright_bit = extract(b3, 3, 1);
    var original_bit = extract(b3, 2, 1);
    var emphasis = extract(b3, 0, 2);
    var tmp = framesize(this, layer, bitrate, sample_rate, padding_bit);
    var tmp4_safe_receiver = this.ad0_1.q(simple_version);
    var tmp5_elvis_lhs = tmp4_safe_receiver == null ? null : tmp4_safe_receiver.q(layer);
    return new Mp3Info(version, layer, bitrate, sample_rate, channelMode, tmp, tmp5_elvis_lhs == null ? 0 : tmp5_elvis_lhs);
  };
  Companion_3.$metadata$ = objectMeta('Companion');
  var Companion_instance_3;
  function Companion_getInstance_7() {
    if (Companion_instance_3 == null)
      new Companion_3();
    return Companion_instance_3;
  }
  function MP3Base$Parser$getSeekingTable$lambda($times, $filePositions) {
    return function (filePos, totalMicro, info) {
      $times.m4n(totalMicro);
      $filePositions.m4n(filePos.cf());
      return Unit_getInstance();
    };
  }
  function $getSeekingTableCOROUTINE$7(_this__u8e3s4, rate, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ld0_1 = _this__u8e3s4;
    this.md0_1 = rate;
  }
  $getSeekingTableCOROUTINE$7.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            var tmp_0 = this;
            tmp_0.nd0_1 = DoubleArrayList_init_$Create$(0, 1, null);
            var tmp_1 = this;
            tmp_1.od0_1 = DoubleArrayList_init_$Create$(0, 1, null);
            this.o7_1 = 1;
            suspendResult = _getDuration(this.ld0_1, false, MP3Base$Parser$getSeekingTable$lambda(this.nd0_1, this.od0_1), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            this.o7_1 = 2;
            continue $sm;
          case 1:
            var unboxed = suspendResult.y1h_1;
            suspendResult = new TimeSpan(unboxed);
            this.o7_1 = 2;
            continue $sm;
          case 2:
            ;
            return new SeekingTable(this.nd0_1, this.od0_1, this.md0_1);
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $getSeekingTableCOROUTINE$7.$metadata$ = classMeta('$getSeekingTableCOROUTINE$7', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $_getDurationCOROUTINE$8(_this__u8e3s4, use_cbr_estimate, emit, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.fcy_1 = _this__u8e3s4;
    this.gcy_1 = use_cbr_estimate;
    this.hcy_1 = emit;
  }
  $_getDurationCOROUTINE$8.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 18;
            this.fcy_1.hcz_1.y5k_1 = new Long(0, 0);
            this.icy_1 = this.fcy_1.hcz_1.y2n();
            this.o7_1 = 1;
            suspendResult = this.icy_1.p5c(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.jcy_1 = suspendResult;
            this.kcy_1 = 0.0;
            this.o7_1 = 2;
            suspendResult = readStream(this.icy_1, 100, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.lcy_1 = suspendResult;
            this.o7_1 = 3;
            suspendResult = skipID3v2Tag(this.fcy_1, this.lcy_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.mcy_1 = suspendResult;
            this.ncy_1 = this.mcy_1;
            this.ocy_1 = null;
            this.pcy_1 = 0;
            this.qcy_1 = _UByteArrayInt___init__impl__xif7bu(new Int8Array(10));
            this.rcy_1 = this.icy_1.x5k_1;
            this.scy_1 = toSyncOrNull(this.rcy_1);
            this.tcy_1 = 0;
            this.ucy_1 = 0;
            this.vcy_1 = 0;
            this.o7_1 = 4;
            continue $sm;
          case 4:
            this.o7_1 = 5;
            continue $sm;
          case 5:
            this.p7_1 = 17;
            this.o7_1 = 6;
            continue $sm;
          case 6:
            if (!(this.ncy_1.x1(this.jcy_1) < 0)) {
              this.o7_1 = 15;
              continue $sm;
            }

            if (!(this.scy_1 == null)) {
              this.ycy_1 = this.scy_1.w6k(this.ncy_1, _UByteArrayInt___get_bytes__impl__pj0ilc(this.qcy_1), 0, 10);
              this.o7_1 = 8;
              continue $sm;
            } else {
              var tmp0 = this.vcy_1;
              this.vcy_1 = tmp0 + 1 | 0;
              this.icy_1.y5k_1 = this.ncy_1;
              this.o7_1 = 7;
              suspendResult = readBytesUpTo_0(this.icy_1, _UByteArrayInt___get_bytes__impl__pj0ilc(this.qcy_1), 0, 10, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 7:
            this.ycy_1 = suspendResult;
            this.o7_1 = 8;
            continue $sm;
          case 8:
            this.zcy_1 = this.ycy_1;
            var tmp1 = this.tcy_1;
            this.tcy_1 = tmp1 + 1 | 0;
            ;
            if (this.zcy_1 < 10) {
              this.o7_1 = 15;
              continue $sm;
            } else {
              this.o7_1 = 9;
              continue $sm;
            }

            ;
            break;
          case 9:
            var tmp_0 = this;
            var tmp_1 = this;
            tmp_1.acz_1 = this.ncy_1;
            tmp_0.ncy_1 = this.acz_1.v8(toLong(this.zcy_1));
            if (UByteArrayInt__get_impl_px6q8a(this.qcy_1, 0) === 255 ? !((UByteArrayInt__get_impl_px6q8a(this.qcy_1, 1) & 224) === 0) : false) {
              this.bcz_1 = this.icy_1.y5k_1;
              this.ocy_1 = Companion_getInstance_7().cd0(this.qcy_1);
              var tmp2_safe_receiver = this.hcy_1;
              if (tmp2_safe_receiver == null)
                null;
              else
                tmp2_safe_receiver(this.bcz_1, this.kcy_1, this.ocy_1);
              var tmp3 = this.pcy_1;
              this.pcy_1 = tmp3 + 1 | 0;
              this.fcy_1.jcz_1 = this.ocy_1;
              if (this.ocy_1.vcx_1 === 0) {
                var tmp_2 = this;
                var tmp_3 = this;
                tmp_3.ccz_1 = this.kcy_1;
                tmp_2.xcy_1 = Companion_getInstance().v1h(this.ccz_1);
                this.p7_1 = 18;
                this.o7_1 = 14;
                continue $sm;
              } else {
                this.o7_1 = 10;
                continue $sm;
              }
            } else {
              var tmp_4 = _UByteArrayInt___get_bytes__impl__pj0ilc(this.qcy_1);
              var tmp_5 = openSync$default(tmp_4, null, 1, null);
              if (readString$default(tmp_5, 3, null, 2, null) === 'TAG') {
                var tmp_6 = this;
                var tmp6_plus = this.ncy_1;
                var tmp7_plus = 118;
                tmp_6.ncy_1 = tmp6_plus.v8(toLong(tmp7_plus));
                this.o7_1 = 11;
                continue $sm;
              } else {
                var tmp_7 = this;
                var tmp8_minus = this.ncy_1;
                tmp_7.ncy_1 = tmp8_minus.a2(new Long(9, 0));
                var tmp4 = this.ucy_1;
                this.ucy_1 = tmp4 + 1 | 0;
                this.o7_1 = 11;
                continue $sm;
              }
            }

            break;
          case 10:
            var tmp_8 = this;
            var tmp_9 = this;
            tmp_9.dcz_1 = this.ncy_1;
            var tmp_10 = this;
            tmp_10.ecz_1 = this.ocy_1.vcx_1 - 10 | 0;
            tmp_8.ncy_1 = this.dcz_1.v8(toLong(this.ecz_1));
            var tmp_11 = this;
            var tmp_12 = this.kcy_1;
            var tmp_13 = this;
            tmp_13.fcz_1 = numberToLong(this.ocy_1.wcx_1).sa(new Long(1000000, 0));
            var tmp_14 = this;
            tmp_14.gcz_1 = this.ocy_1.tcx_1;
            tmp_11.kcy_1 = tmp_12 + this.fcz_1.kb(toLong(this.gcz_1)).cf();
            this.o7_1 = 11;
            continue $sm;
          case 11:
            if (!(this.ocy_1 == null) ? this.gcy_1 : false) {
              this.o7_1 = 13;
              suspendResult = estimateDuration(this.fcy_1, this.ocy_1.scx_1, this.ocy_1.ucx_1.ocx_1, this.mcy_1.d2(), this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 12;
              continue $sm;
            }

            break;
          case 12:
            this.o7_1 = 6;
            continue $sm;
          case 13:
            var tmp9__get_microseconds__cjk5rn = suspendResult;
            this.xcy_1 = Companion_getInstance().v1h(tmp9__get_microseconds__cjk5rn.cf());
            this.p7_1 = 18;
            this.o7_1 = 14;
            continue $sm;
          case 14:
            var tmp_15 = this.xcy_1;
            return new TimeSpan(tmp_15);
          case 15:
            this.wcy_1 = Unit_getInstance();
            this.p7_1 = 18;
            this.o7_1 = 16;
            continue $sm;
          case 16:
            var tmp10__get_microseconds__mkv2l5 = this.kcy_1;
            return new TimeSpan(Companion_getInstance().v1h(tmp10__get_microseconds__mkv2l5));
          case 17:
            this.p7_1 = 18;
            var t = this.r7_1;
            throw t;
          case 18:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 18) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $_getDurationCOROUTINE$8.$metadata$ = classMeta('$_getDurationCOROUTINE$8', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $skipID3v2TagCOROUTINE$9(_this__u8e3s4, block, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.scz_1 = _this__u8e3s4;
    this.tcz_1 = block;
  }
  $skipID3v2TagCOROUTINE$9.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 4;
            this.ucz_1 = this.tcz_1.y2n();
            this.o7_1 = 1;
            suspendResult = readString(this.ucz_1, 3, Charsets_getInstance().n5y(), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.vcz_1 = suspendResult;
            if (this.vcz_1 === 'ID3') {
              this.o7_1 = 2;
              suspendResult = readBytesExact(this.ucz_1, 7, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 3;
              continue $sm;
            }

            break;
          case 2:
            var bb = suspendResult;
            var id3v2_major_version = readU8(bb, 0);
            var id3v2_minor_version = readU8(bb, 1);
            var id3v2_flags = readU8(bb, 2);
            var z0 = readU8(bb, 3);
            var z1 = readU8(bb, 4);
            var z2 = readU8(bb, 5);
            var z3 = readU8(bb, 6);
            var flag_unsynchronisation = !(((id3v2_flags >>> 7 | 0) & 1) === 0);
            var flag_extended_header = !(((id3v2_flags >>> 6 | 0) & 1) === 0);
            var flag_experimental_ind = !(((id3v2_flags >>> 5 | 0) & 1) === 0);
            var flag_footer_present = !(((id3v2_flags >>> 4 | 0) & 1) === 0);
            if ((((z0 & 128) === 0 ? (z1 & 128) === 0 : false) ? (z2 & 128) === 0 : false) ? (z3 & 128) === 0 : false) {
              var header_size = 10;
              var tag_size = ((imul(z0 & 127, 2097152) + imul(z1 & 127, 16384) | 0) + imul(z2 & 127, 128) | 0) + (z3 & 127) | 0;
              var footer_size = flag_footer_present ? 10 : 0;
              return toLong((header_size + tag_size | 0) + footer_size | 0);
            }

            this.o7_1 = 3;
            continue $sm;
          case 3:
            return new Long(0, 0);
          case 4:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 4) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $skipID3v2TagCOROUTINE$9.$metadata$ = classMeta('$skipID3v2TagCOROUTINE$9', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function SeekingTable(microseconds, filePositions, rate) {
    this.pd0_1 = microseconds;
    this.qd0_1 = filePositions;
    this.rd0_1 = rate;
  }
  SeekingTable.prototype.sd0 = function () {
    var tmp$ret$0;
    // Inline function 'com.soywiz.klock.microseconds' call
    var tmp0__get_microseconds__mq1imi = this.pd0_1.m(this.pd0_1.i() - 1 | 0);
    tmp$ret$0 = Companion_getInstance().v1h(tmp0__get_microseconds__mq1imi);
    return tmp$ret$0;
  };
  SeekingTable.prototype.td0 = function () {
    return numberToLong(_TimeSpan___get_seconds__impl__cx2k1c(this.sd0()) * this.rd0_1);
  };
  SeekingTable.prototype.ud0 = function (time) {
    var searchMicro = _TimeSpan___get_microseconds__impl__65sv9o(time);
    var result = binarySearch$default(this.pd0_1, searchMicro, 0, 0, 6, null);
    return numberToLong(this.qd0_1.m(_BSearchResult___get_nearIndex__impl__s8nq43(result)));
  };
  SeekingTable.prototype.vd0 = function (sample) {
    var tmp$ret$0;
    // Inline function 'com.soywiz.klock.seconds' call
    var tmp0__get_seconds__yb22lo = sample.cf() / this.rd0_1;
    tmp$ret$0 = Companion_getInstance().c1i(tmp0__get_seconds__yb22lo);
    return this.ud0(tmp$ret$0);
  };
  SeekingTable.$metadata$ = classMeta('SeekingTable');
  function Parser(data, dataLength) {
    Companion_getInstance_7();
    this.hcz_1 = data;
    this.icz_1 = dataLength;
    this.jcz_1 = null;
  }
  Parser.prototype.wd0 = function ($cont) {
    var tmp = _getDuration$default(this, true, null, $cont, 4, null);
    if (tmp === get_COROUTINE_SUSPENDED())
      return tmp;
    return new TimeSpan(tmp.y1h_1);
  };
  Parser.prototype.xd0 = function ($cont) {
    var tmp = _getDuration$default(this, false, null, $cont, 4, null);
    if (tmp === get_COROUTINE_SUSPENDED())
      return tmp;
    return new TimeSpan(tmp.y1h_1);
  };
  Parser.prototype.yd0 = function (rate, $cont) {
    var tmp = new $getSeekingTableCOROUTINE$7(this, rate, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  Parser.$metadata$ = classMeta('Parser');
  function $tryReadInfoCOROUTINE$6(_this__u8e3s4, data, props, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.hd1_1 = _this__u8e3s4;
    this.id1_1 = data;
    this.jd1_1 = props;
  }
  $tryReadInfoCOROUTINE$6.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 10;
            this.p7_1 = 9;
            this.o7_1 = 1;
            suspendResult = this.id1_1.p5c(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.ld1_1 = suspendResult;
            this.md1_1 = new Parser(this.id1_1, this.ld1_1);
            this.nd1_1 = PerformanceCounter_getInstance().u1h();
            this.od1_1 = this.jd1_1.gcx_1;
            if (this.od1_1 == null) {
              this.o7_1 = 6;
              suspendResult = this.md1_1.xd0(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              this.o7_1 = 7;
              continue $sm;
            } else {
              if (this.od1_1 === true) {
                this.o7_1 = 4;
                suspendResult = this.md1_1.xd0(this);
                if (suspendResult === get_COROUTINE_SUSPENDED()) {
                  return suspendResult;
                }
                this.o7_1 = 5;
                continue $sm;
              } else {
                this.o7_1 = 2;
                suspendResult = this.md1_1.wd0(this);
                if (suspendResult === get_COROUTINE_SUSPENDED()) {
                  return suspendResult;
                }
                this.o7_1 = 3;
                continue $sm;
              }
              new TimeSpan(Unit_getInstance());
            }

            break;
          case 2:
            var unboxed = suspendResult.y1h_1;
            suspendResult = new TimeSpan(unboxed);
            this.o7_1 = 3;
            continue $sm;
          case 3:
            this.pd1_1 = suspendResult.y1h_1;
            this.o7_1 = 8;
            continue $sm;
          case 4:
            var unboxed_0 = suspendResult.y1h_1;
            suspendResult = new TimeSpan(unboxed_0);
            this.o7_1 = 5;
            continue $sm;
          case 5:
            this.pd1_1 = suspendResult.y1h_1;
            this.o7_1 = 8;
            continue $sm;
          case 6:
            var unboxed_1 = suspendResult.y1h_1;
            suspendResult = new TimeSpan(unboxed_1);
            this.o7_1 = 7;
            continue $sm;
          case 7:
            this.pd1_1 = suspendResult.y1h_1;
            this.o7_1 = 8;
            continue $sm;
          case 8:
            var result = this.pd1_1;
            var end = PerformanceCounter_getInstance().u1h();
            var tmp0__get_microseconds__mq1imi = end - this.nd1_1;
            var elapsed = Companion_getInstance().v1h(tmp0__get_microseconds__mq1imi);
            var tmp0_container = new TimedResult(new TimeSpan(result), elapsed);
            var duration = tmp0_container.n4().y1h_1;
            var decodingTime = tmp0_container.t1h();
            var tmp_0 = this;
            var tmp1_safe_receiver = this.md1_1.jcz_1;
            var tmp2_safe_receiver = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.ucx_1;
            var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : tmp2_safe_receiver.ocx_1;
            tmp_0.kd1_1 = new Info(duration, tmp3_elvis_lhs == null ? 2 : tmp3_elvis_lhs, decodingTime);
            this.p7_1 = 10;
            this.o7_1 = 11;
            continue $sm;
          case 9:
            this.p7_1 = 10;
            var tmp_1 = this.r7_1;
            if (tmp_1 instanceof Error) {
              var e = this.r7_1;
              var tmp_2 = this;
              tmp_2.kd1_1 = null;
              this.o7_1 = 11;
              continue $sm;
            } else {
              throw this.r7_1;
            }

            break;
          case 10:
            throw this.r7_1;
          case 11:
            this.p7_1 = 10;
            return this.kd1_1;
        }
      } catch ($p) {
        if (this.p7_1 === 10) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $tryReadInfoCOROUTINE$6.$metadata$ = classMeta('$tryReadInfoCOROUTINE$6', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function MP3Base() {
    AudioFormat.call(this, ['mp3']);
  }
  MP3Base.prototype.vcv = function (data, props, $cont) {
    var tmp = new $tryReadInfoCOROUTINE$6(this, data, props, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  MP3Base.$metadata$ = classMeta('MP3Base', undefined, undefined, undefined, undefined, AudioFormat.prototype);
  function $readCOROUTINE$13(_this__u8e3s4, out, offset, length, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.yd1_1 = _this__u8e3s4;
    this.zd1_1 = out;
    this.ad2_1 = offset;
    this.bd2_1 = length;
  }
  $readCOROUTINE$13.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.o7_1 = 1;
            suspendResult = readBytesUpTo(this.yd1_1.jd2_1, imul(imul(this.bd2_1, this.yd1_1.nd2_1), this.yd1_1.qd2_1), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.cd2_1 = suspendResult;
            this.o7_1 = 2;
            suspendResult = this.yd1_1.jd2_1.k6c(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            var ARGUMENT = suspendResult;
            this.yd1_1.od2_1 = ARGUMENT;
            var availableSamples = (this.cd2_1.length / this.yd1_1.nd2_1 | 0) / this.yd1_1.qd2_1 | 0;
            var inductionVariable = 0;
            var last = this.yd1_1.qd2_1;
            if (inductionVariable < last)
              do {
                var channel = inductionVariable;
                inductionVariable = inductionVariable + 1 | 0;
                var tmp1_subject = this.yd1_1.nd2_1;
                switch (tmp1_subject) {
                  case 1:
                    var tmp0_readBlock = Companion_getInstance_8();
                    var tmp1_readBlock = this.yd1_1.qd2_1;
                    var tmp2_readBlock = this.yd1_1.nd2_1;
                    var increment = imul(tmp1_readBlock, tmp2_readBlock);
                    var index = imul(channel, tmp2_readBlock);
                    var outc = this.zd1_1.m(channel);
                    var inductionVariable_0 = 0;
                    if (inductionVariable_0 < availableSamples)
                      do {
                        var n = inductionVariable_0;
                        inductionVariable_0 = inductionVariable_0 + 1 | 0;
                        var tmp_0 = this.ad2_1 + n | 0;
                        var tmp3__anonymous__ufb84q = index;
                        outc[tmp_0] = coerceToShort(imul(readU8(this.cd2_1, tmp3__anonymous__ufb84q) - 128 | 0, 255));
                        index = index + increment | 0;
                      }
                       while (inductionVariable_0 < availableSamples);
                    break;
                  case 2:
                    var tmp4_readBlock = Companion_getInstance_8();
                    var tmp5_readBlock = this.yd1_1.qd2_1;
                    var tmp6_readBlock = this.yd1_1.nd2_1;
                    var increment_0 = imul(tmp5_readBlock, tmp6_readBlock);
                    var index_0 = imul(channel, tmp6_readBlock);
                    var outc_0 = this.zd1_1.m(channel);
                    var inductionVariable_1 = 0;
                    if (inductionVariable_1 < availableSamples)
                      do {
                        var n_0 = inductionVariable_1;
                        inductionVariable_1 = inductionVariable_1 + 1 | 0;
                        var tmp_1 = this.ad2_1 + n_0 | 0;
                        var tmp7__anonymous__b0knam = index_0;
                        outc_0[tmp_1] = toShort(readS16LE(this.cd2_1, tmp7__anonymous__b0knam));
                        index_0 = index_0 + increment_0 | 0;
                      }
                       while (inductionVariable_1 < availableSamples);
                    break;
                  case 3:
                    var tmp8_readBlock = Companion_getInstance_8();
                    var tmp9_readBlock = this.yd1_1.qd2_1;
                    var tmp10_readBlock = this.yd1_1.nd2_1;
                    var increment_1 = imul(tmp9_readBlock, tmp10_readBlock);
                    var index_1 = imul(channel, tmp10_readBlock);
                    var outc_1 = this.zd1_1.m(channel);
                    var inductionVariable_2 = 0;
                    if (inductionVariable_2 < availableSamples)
                      do {
                        var n_1 = inductionVariable_2;
                        inductionVariable_2 = inductionVariable_2 + 1 | 0;
                        var tmp_2 = this.ad2_1 + n_1 | 0;
                        var tmp11__anonymous__tkubxh = index_1;
                        outc_1[tmp_2] = toShort(readS24LE(this.cd2_1, tmp11__anonymous__tkubxh) >>> 8 | 0);
                        index_1 = index_1 + increment_1 | 0;
                      }
                       while (inductionVariable_2 < availableSamples);
                    break;
                  default:
                    invalidOp('Unsupported bytesPerSample=' + this.yd1_1.nd2_1);
                    break;
                }
              }
               while (inductionVariable < last);
            return availableSamples;
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readCOROUTINE$13.$metadata$ = classMeta('$readCOROUTINE$13', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $cloneCOROUTINE$14(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.gd3_1 = _this__u8e3s4;
  }
  $cloneCOROUTINE$14.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = (new WAV()).mcw(this.gd3_1.ld2_1.y2n(), this.gd3_1.md2_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return ensureNotNull(ARGUMENT);
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $cloneCOROUTINE$14.$metadata$ = classMeta('$cloneCOROUTINE$14', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function Fmt_init_$Init$(formatTag, channels, samplesPerSec, avgBytesPerSec, blockAlign, bitsPerSample, $mask0, $marker, $this) {
    if (!(($mask0 & 1) === 0))
      formatTag = -1;
    if (!(($mask0 & 2) === 0))
      channels = 2;
    if (!(($mask0 & 4) === 0))
      samplesPerSec = 44100;
    if (!(($mask0 & 8) === 0))
      avgBytesPerSec = new Long(0, 0);
    if (!(($mask0 & 16) === 0))
      blockAlign = 0;
    if (!(($mask0 & 32) === 0))
      bitsPerSample = 0;
    Fmt.call($this, formatTag, channels, samplesPerSec, avgBytesPerSec, blockAlign, bitsPerSample);
    return $this;
  }
  function Fmt_init_$Create$(formatTag, channels, samplesPerSec, avgBytesPerSec, blockAlign, bitsPerSample, $mask0, $marker) {
    return Fmt_init_$Init$(formatTag, channels, samplesPerSec, avgBytesPerSec, blockAlign, bitsPerSample, $mask0, $marker, Object.create(Fmt.prototype));
  }
  function Companion_4() {
    Companion_instance_4 = this;
    WAV.call(this);
  }
  Companion_4.$metadata$ = objectMeta('Companion', undefined, undefined, undefined, undefined, WAV.prototype);
  var Companion_instance_4;
  function Companion_getInstance_8() {
    if (Companion_instance_4 == null)
      new Companion_4();
    return Companion_instance_4;
  }
  function Chunk(type, data) {
    this.kd3_1 = type;
    this.ld3_1 = data;
  }
  Chunk.prototype.n4 = function () {
    return this.kd3_1;
  };
  Chunk.prototype.o4 = function () {
    return this.ld3_1;
  };
  Chunk.prototype.toString = function () {
    return 'Chunk(type=' + this.kd3_1 + ', data=' + this.ld3_1 + ')';
  };
  Chunk.prototype.hashCode = function () {
    var result = getStringHashCode(this.kd3_1);
    result = imul(result, 31) + hashCode(this.ld3_1) | 0;
    return result;
  };
  Chunk.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Chunk))
      return false;
    var tmp0_other_with_cast = other instanceof Chunk ? other : THROW_CCE();
    if (!(this.kd3_1 === tmp0_other_with_cast.kd3_1))
      return false;
    if (!equals(this.ld3_1, tmp0_other_with_cast.ld3_1))
      return false;
    return true;
  };
  Chunk.$metadata$ = classMeta('Chunk');
  function ProcessedChunk(type, data, extra) {
    this.md3_1 = type;
    this.nd3_1 = data;
    this.od3_1 = extra;
  }
  ProcessedChunk.prototype.toString = function () {
    return 'ProcessedChunk(type=' + this.md3_1 + ', data=' + this.nd3_1 + ', extra=' + toString(this.od3_1) + ')';
  };
  ProcessedChunk.prototype.hashCode = function () {
    var result = getStringHashCode(this.md3_1);
    result = imul(result, 31) + hashCode(this.nd3_1) | 0;
    result = imul(result, 31) + hashCode(this.od3_1) | 0;
    return result;
  };
  ProcessedChunk.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ProcessedChunk))
      return false;
    var tmp0_other_with_cast = other instanceof ProcessedChunk ? other : THROW_CCE();
    if (!(this.md3_1 === tmp0_other_with_cast.md3_1))
      return false;
    if (!equals(this.nd3_1, tmp0_other_with_cast.nd3_1))
      return false;
    if (!equals(this.od3_1, tmp0_other_with_cast.od3_1))
      return false;
    return true;
  };
  ProcessedChunk.$metadata$ = classMeta('ProcessedChunk');
  function WavAudioStream(fmt, buffer, bufferLength, data, props) {
    AudioStream.call(this, fmt.rd3_1, fmt.qd3_1);
    this.id2_1 = fmt;
    this.jd2_1 = buffer;
    this.kd2_1 = bufferLength;
    this.ld2_1 = data;
    this.md2_1 = props;
    this.nd2_1 = this.id2_1.vd3();
    this.od2_1 = false;
  }
  WavAudioStream.prototype.wd3 = function () {
    return this.od2_1;
  };
  WavAudioStream.prototype.xd3 = function (value) {
    this.od2_1 = false;
    var tmp = this.jd2_1;
    var tmp$ret$0;
    // Inline function 'kotlin.Long.times' call
    var tmp0_times = this.nd2_1;
    tmp$ret$0 = value.sa(toLong(tmp0_times));
    tmp.y5k_1 = tmp$ret$0;
  };
  WavAudioStream.prototype.yd3 = function (out, offset, length, $cont) {
    var tmp = new $readCOROUTINE$13(this, out, offset, length, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  WavAudioStream.prototype.zd3 = function ($cont) {
    var tmp = new $cloneCOROUTINE$14(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  WavAudioStream.$metadata$ = classMeta('WavAudioStream', undefined, undefined, undefined, undefined, AudioStream.prototype);
  function Fmt(formatTag, channels, samplesPerSec, avgBytesPerSec, blockAlign, bitsPerSample) {
    this.pd3_1 = formatTag;
    this.qd3_1 = channels;
    this.rd3_1 = samplesPerSec;
    this.sd3_1 = avgBytesPerSec;
    this.td3_1 = blockAlign;
    this.ud3_1 = bitsPerSample;
  }
  Fmt.prototype.vd3 = function () {
    return this.ud3_1 / 8 | 0;
  };
  Fmt.prototype.toString = function () {
    return 'Fmt(formatTag=' + this.pd3_1 + ', channels=' + this.qd3_1 + ', samplesPerSec=' + this.rd3_1 + ', avgBytesPerSec=' + toString(this.sd3_1) + ', blockAlign=' + this.td3_1 + ', bitsPerSample=' + this.ud3_1 + ')';
  };
  Fmt.prototype.hashCode = function () {
    var result = this.pd3_1;
    result = imul(result, 31) + this.qd3_1 | 0;
    result = imul(result, 31) + this.rd3_1 | 0;
    result = imul(result, 31) + this.sd3_1.hashCode() | 0;
    result = imul(result, 31) + this.td3_1 | 0;
    result = imul(result, 31) + this.ud3_1 | 0;
    return result;
  };
  Fmt.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Fmt))
      return false;
    var tmp0_other_with_cast = other instanceof Fmt ? other : THROW_CCE();
    if (!(this.pd3_1 === tmp0_other_with_cast.pd3_1))
      return false;
    if (!(this.qd3_1 === tmp0_other_with_cast.qd3_1))
      return false;
    if (!(this.rd3_1 === tmp0_other_with_cast.rd3_1))
      return false;
    if (!this.sd3_1.equals(tmp0_other_with_cast.sd3_1))
      return false;
    if (!(this.td3_1 === tmp0_other_with_cast.td3_1))
      return false;
    if (!(this.ud3_1 === tmp0_other_with_cast.ud3_1))
      return false;
    return true;
  };
  Fmt.$metadata$ = classMeta('Fmt');
  function WAV$tryReadInfo$lambda(it) {
    return Unit_getInstance();
  }
  function WAV$decodeStream$lambda($fmt, $buffer) {
    return function (it) {
      var extra = it.od3_1;
      var tmp0_subject = extra;
      var tmp;
      if (tmp0_subject instanceof Fmt) {
        $fmt._v = extra;
        tmp = Unit_getInstance();
      }
      var tmp_0;
      if (it.md3_1 === 'data') {
        $buffer._v = it.nd3_1;
        tmp_0 = Unit_getInstance();
      }
      return Unit_getInstance();
    };
  }
  function WAV$parse$slambda($fmt, $dataSize, $handle, resultContinuation) {
    this.kd4_1 = $fmt;
    this.ld4_1 = $dataSize;
    this.md4_1 = $handle;
    CoroutineImpl.call(this, resultContinuation);
  }
  WAV$parse$slambda.prototype.cd5 = function ($this$riff, $cont) {
    var tmp = this.dd5($this$riff, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  WAV$parse$slambda.prototype.w7 = function (p1, $cont) {
    return this.cd5(p1 instanceof Chunk ? p1 : THROW_CCE(), $cont);
  };
  WAV$parse$slambda.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 9;
            this.od4_1 = this.nd4_1;
            this.pd4_1 = this.od4_1.n4();
            this.qd4_1 = this.od4_1.o4();
            this.rd4_1 = this.qd4_1.y2n();
            this.sd4_1 = Unit_getInstance();
            this.td4_1 = this.pd4_1;
            if (this.td4_1 === 'fmt ') {
              this.o7_1 = 2;
              suspendResult = readS16LE_0(this.rd4_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              if (this.td4_1 === 'data') {
                this.ud4_1 = this.ld4_1._v;
                this.o7_1 = 1;
                suspendResult = this.rd4_1.p5c(this);
                if (suspendResult === get_COROUTINE_SUSPENDED()) {
                  return suspendResult;
                }
                continue $sm;
              } else {
                this.o7_1 = 8;
                continue $sm;
              }
            }

            break;
          case 1:
            this.vd4_1 = suspendResult;
            this.wd4_1 = this.ud4_1.v8(this.vd4_1);
            this.ld4_1._v = this.wd4_1;
            this.sd4_1 = this.rd4_1;
            this.o7_1 = 8;
            continue $sm;
          case 2:
            this.xd4_1 = suspendResult;
            this.kd4_1.pd3_1 = this.xd4_1;
            this.o7_1 = 3;
            suspendResult = readS16LE_0(this.rd4_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.yd4_1 = suspendResult;
            this.kd4_1.qd3_1 = this.yd4_1;
            this.o7_1 = 4;
            suspendResult = readS32LE(this.rd4_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 4:
            this.zd4_1 = suspendResult;
            this.kd4_1.rd3_1 = this.zd4_1;
            this.o7_1 = 5;
            suspendResult = readU32LE(this.rd4_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            this.ad5_1 = suspendResult;
            this.kd4_1.sd3_1 = this.ad5_1;
            this.o7_1 = 6;
            suspendResult = readS16LE_0(this.rd4_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 6:
            this.bd5_1 = suspendResult;
            this.kd4_1.td3_1 = this.bd5_1;
            this.o7_1 = 7;
            suspendResult = readS16LE_0(this.rd4_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 7:
            var ARGUMENT = suspendResult;
            this.kd4_1.ud3_1 = ARGUMENT;
            this.sd4_1 = this.kd4_1;
            this.o7_1 = 8;
            continue $sm;
          case 8:
            this.md4_1(new ProcessedChunk(this.nd4_1.kd3_1, this.nd4_1.ld3_1, this.sd4_1));
            return Unit_getInstance();
          case 9:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 9) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  WAV$parse$slambda.prototype.dd5 = function ($this$riff, completion) {
    var i = new WAV$parse$slambda(this.kd4_1, this.ld4_1, this.md4_1, completion);
    i.nd4_1 = $this$riff;
    return i;
  };
  WAV$parse$slambda.$metadata$ = classMeta('WAV$parse$slambda', undefined, undefined, undefined, [1], CoroutineImpl.prototype);
  function WAV$parse$slambda_0($fmt, $dataSize, $handle, resultContinuation) {
    var i = new WAV$parse$slambda($fmt, $dataSize, $handle, resultContinuation);
    var l = function ($this$riff, $cont) {
      return i.cd5($this$riff, $cont);
    };
    l.$arity = 1;
    return l;
  }
  function $tryReadInfoCOROUTINE$11(_this__u8e3s4, data, props, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.md5_1 = _this__u8e3s4;
    this.nd5_1 = data;
    this.od5_1 = props;
  }
  $tryReadInfoCOROUTINE$11.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = this.md5_1.id3(this.nd5_1, WAV$tryReadInfo$lambda, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.pd5_1 = suspendResult;
            this.p7_1 = 3;
            this.o7_1 = 4;
            continue $sm;
          case 2:
            this.p7_1 = 3;
            var tmp_0 = this.r7_1;
            if (tmp_0 instanceof CancellationException) {
              var e = this.r7_1;
              var tmp_1 = this;
              throw e;
            } else {
              var tmp_2 = this.r7_1;
              if (tmp_2 instanceof Error) {
                var e_0 = this.r7_1;
                var tmp_3 = this;
                tmp_3.pd5_1 = null;
                this.o7_1 = 4;
                continue $sm;
              } else {
                throw this.r7_1;
              }
            }

            break;
          case 3:
            throw this.r7_1;
          case 4:
            this.p7_1 = 3;
            return this.pd5_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $tryReadInfoCOROUTINE$11.$metadata$ = classMeta('$tryReadInfoCOROUTINE$11', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $decodeStreamCOROUTINE$12(_this__u8e3s4, data, props, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.yd5_1 = _this__u8e3s4;
    this.zd5_1 = data;
    this.ad6_1 = props;
  }
  $decodeStreamCOROUTINE$12.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            var tmp_0 = this;
            var tmp_1 = new Long(0, 0);
            tmp_0.bd6_1 = {_v: Fmt_init_$Create$(0, 0, 0, tmp_1, 0, 0, 63, null)};
            var tmp_2 = this;
            tmp_2.cd6_1 = {_v: toAsync(MemorySyncStream$default(null, 1, null))};
            this.o7_1 = 1;
            suspendResult = this.yd5_1.id3(this.zd5_1, WAV$decodeStream$lambda(this.bd6_1, this.cd6_1), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            ;
            this.dd6_1 = this.bd6_1._v;
            this.ed6_1 = this.cd6_1._v;
            this.o7_1 = 2;
            suspendResult = this.cd6_1._v.p5c(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            var ARGUMENT = suspendResult;
            return new WavAudioStream(this.dd6_1, this.ed6_1, ARGUMENT, this.zd5_1, this.ad6_1);
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $decodeStreamCOROUTINE$12.$metadata$ = classMeta('$decodeStreamCOROUTINE$12', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $parseCOROUTINE$16(_this__u8e3s4, data, handle, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.nd6_1 = _this__u8e3s4;
    this.od6_1 = data;
    this.pd6_1 = handle;
  }
  $parseCOROUTINE$16.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            var tmp_0 = this;
            var tmp_1 = new Long(0, 0);
            tmp_0.qd6_1 = Fmt_init_$Create$(0, 0, 0, tmp_1, 0, 0, 63, null);
            this.rd6_1 = {_v: new Long(0, 0)};
            this.o7_1 = 1;
            suspendResult = this.nd6_1.jd3(this.od6_1, WAV$parse$slambda_0(this.qd6_1, this.rd6_1, this.pd6_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            if (this.qd6_1.pd3_1 < 0) {
              invalidOp("Couldn't find RIFF 'fmt ' chunk");
            }

            var tmp0_times = this.rd6_1._v;
            var tmp1_times = tmp0_times.sa(new Long(1000, 0));
            var tmp2__get_microseconds__ys9hro = tmp1_times.sa(new Long(1000, 0)).kb(this.qd6_1.sd3_1);
            var tmp_2 = Companion_getInstance().v1h(tmp2__get_microseconds__ys9hro.cf());
            var tmp_3 = this.qd6_1.qd3_1;
            return Info_init_$Create$(tmp_2, tmp_3, null, 4, null);
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $parseCOROUTINE$16.$metadata$ = classMeta('$parseCOROUTINE$16', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $riffCOROUTINE$17(_this__u8e3s4, data, handler, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ad7_1 = _this__u8e3s4;
    this.bd7_1 = data;
    this.cd7_1 = handler;
  }
  $riffCOROUTINE$17.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 18;
            this.dd7_1 = this.bd7_1.y2n();
            this.o7_1 = 1;
            suspendResult = this.dd7_1.h6c(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.ed7_1 = suspendResult;
            if (this.ed7_1.x1(new Long(12, 0)) < 0) {
              throw IllegalStateException_init_$Create$('Not enough data for a RIFF file');
            } else {
              this.o7_1 = 2;
              continue $sm;
            }

            break;
          case 2:
            this.o7_1 = 3;
            suspendResult = readString$default_0(this.dd7_1, 4, null, this, 2, null);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.fd7_1 = suspendResult;
            this.o7_1 = 4;
            suspendResult = readS32LE(this.dd7_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 4:
            this.gd7_1 = suspendResult;
            this.o7_1 = 5;
            suspendResult = readString$default_0(this.dd7_1, 4, null, this, 2, null);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            this.hd7_1 = suspendResult;
            if (!(this.fd7_1 === 'RIFF')) {
              invalidAudioFormat("Not a RIFF file but '" + this.fd7_1 + "'");
            }

            if (!(this.hd7_1 === 'WAVE')) {
              invalidAudioFormat('Not a RIFF + WAVE file');
            }

            this.o7_1 = 6;
            suspendResult = readStream(this.dd7_1, this.gd7_1 - 4 | 0, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 6:
            this.id7_1 = suspendResult;
            this.o7_1 = 7;
            continue $sm;
          case 7:
            this.o7_1 = 8;
            suspendResult = this.id7_1.k6c(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 8:
            this.jd7_1 = suspendResult;
            if (!!this.jd7_1) {
              this.o7_1 = 17;
              continue $sm;
            }

            this.o7_1 = 9;
            suspendResult = this.id7_1.h6c(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 9:
            this.kd7_1 = suspendResult;
            if (this.kd7_1.x1(new Long(8, 0)) < 0) {
              this.o7_1 = 17;
              continue $sm;
            } else {
              this.o7_1 = 10;
              continue $sm;
            }

            break;
          case 10:
            this.o7_1 = 11;
            suspendResult = readString$default_0(this.id7_1, 4, null, this, 2, null);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 11:
            this.ld7_1 = suspendResult;
            this.o7_1 = 12;
            suspendResult = readS32LE(this.id7_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 12:
            this.md7_1 = suspendResult;
            this.o7_1 = 13;
            suspendResult = this.id7_1.h6c(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 13:
            this.nd7_1 = suspendResult;
            if (this.nd7_1.x1(toLong(this.md7_1)) < 0) {
              this.o7_1 = 17;
              continue $sm;
            } else {
              this.o7_1 = 14;
              continue $sm;
            }

            break;
          case 14:
            this.o7_1 = 15;
            suspendResult = readStream(this.id7_1, this.md7_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 15:
            this.od7_1 = suspendResult;
            this.o7_1 = 16;
            suspendResult = this.cd7_1(new Chunk(this.ld7_1, this.od7_1), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 16:
            this.o7_1 = 7;
            continue $sm;
          case 17:
            return Unit_getInstance();
          case 18:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 18) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $riffCOROUTINE$17.$metadata$ = classMeta('$riffCOROUTINE$17', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function WAV() {
    Companion_getInstance_8();
    AudioFormat.call(this, ['wav']);
  }
  WAV.prototype.vcv = function (data, props, $cont) {
    var tmp = new $tryReadInfoCOROUTINE$11(this, data, props, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  WAV.prototype.mcw = function (data, props, $cont) {
    var tmp = new $decodeStreamCOROUTINE$12(this, data, props, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  WAV.prototype.id3 = function (data, handle, $cont) {
    var tmp = new $parseCOROUTINE$16(this, data, handle, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  WAV.prototype.jd3 = function (data, handler, $cont) {
    var tmp = new $riffCOROUTINE$17(this, data, handler, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  WAV.$metadata$ = classMeta('WAV', undefined, undefined, undefined, undefined, AudioFormat.prototype);
  function Companion_5() {
    Companion_instance_5 = this;
    MP3Decoder.call(this);
  }
  Companion_5.$metadata$ = objectMeta('Companion', undefined, undefined, undefined, undefined, MP3Decoder.prototype);
  var Companion_instance_5;
  function Companion_getInstance_9() {
    if (Companion_instance_5 == null)
      new Companion_5();
    return Companion_instance_5;
  }
  function MP3Decoder() {
    Companion_getInstance_9();
    AudioFormat.call(this, ['mp3']);
    this.qd7_1 = Minimp3AudioFormat_getInstance();
  }
  MP3Decoder.prototype.vcv = function (data, props, $cont) {
    return this.qd7_1.vcv(data, props, $cont);
  };
  MP3Decoder.prototype.mcw = function (data, props, $cont) {
    return this.qd7_1.mcw(data, props, $cont);
  };
  MP3Decoder.prototype.toString = function () {
    return 'NativeMp3DecoderFormat';
  };
  MP3Decoder.$metadata$ = classMeta('MP3Decoder', undefined, undefined, undefined, undefined, AudioFormat.prototype);
  function $readCOROUTINE$20(_this__u8e3s4, out, offset, length, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ad8_1 = _this__u8e3s4;
    this.bd8_1 = out;
    this.cd8_1 = offset;
    this.dd8_1 = length;
  }
  $readCOROUTINE$20.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 5;
            this.ed8_1 = false;
            this.o7_1 = 1;
            continue $sm;
          case 1:
            if (!(ensureNotNull(this.ad8_1.cd9_1.jd9().hd8_1).u4l() < this.dd8_1)) {
              this.o7_1 = 4;
              continue $sm;
            }

            this.o7_1 = 2;
            suspendResult = createDecoderStream$readMoreSamples(this.ad8_1.cd9_1, this.ad8_1.ed9_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            var ARGUMENT = suspendResult;
            if (!ARGUMENT) {
              this.ed8_1 = true;
              this.o7_1 = 4;
              continue $sm;
            } else {
              this.o7_1 = 3;
              continue $sm;
            }

            break;
          case 3:
            this.o7_1 = 1;
            continue $sm;
          case 4:
            var tmp_0;
            if (this.ed8_1 ? ensureNotNull(this.ad8_1.cd9_1.jd9().hd8_1).u4l() === 0 : false) {
              this.ad8_1.zd8_1 = true;
              tmp_0 = 0;
            } else {
              tmp_0 = ensureNotNull(this.ad8_1.cd9_1.jd9().hd8_1).md9(this.bd8_1, this.cd8_1, this.dd8_1);
            }

            var tmp0_also = tmp_0;
            var tmp0_this = this.ad8_1;
            var tmp_1 = tmp0_this;
            var tmp0_plus = tmp0_this.bd9_1;
            tmp_1.bd9_1 = tmp0_plus.v8(toLong(tmp0_also));
            return tmp0_also;
          case 5:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 5) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readCOROUTINE$20.$metadata$ = classMeta('$readCOROUTINE$20', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function createDecoderStream($this, data, props, table, $cont) {
    var tmp = new $createDecoderStreamCOROUTINE$18($this, data, props, table, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function BaseMp3DecoderInfo() {
    this.fd8_1 = new Int8Array(4608);
    var tmp = this;
    tmp.gd8_1 = ByteArrayDeque_init_$Create$(0, false, 3, null);
    this.hd8_1 = null;
    this.id8_1 = 0;
    this.jd8_1 = 0;
    this.kd8_1 = 0;
    this.ld8_1 = 0;
    this.md8_1 = 0;
    this.nd8_1 = 0;
    this.od8_1 = 0;
    this.pd8_1 = 0;
    this.qd8_1 = 0;
    this.rd8_1 = 0;
    this.sd8_1 = 0;
    this.td8_1 = 0;
  }
  BaseMp3DecoderInfo.prototype.d2p = function () {
    var tmp0_safe_receiver = this.hd8_1;
    if (tmp0_safe_receiver == null)
      null;
    else {
      tmp0_safe_receiver.x7();
    }
    this.gd8_1.x7();
    this.nd8_1 = 0;
    this.od8_1 = -1;
    this.qd8_1 = 0;
  };
  BaseMp3DecoderInfo.prototype.jda = function (decoder) {
    var availablePeek = this.gd8_1.y4l(this.fd8_1, 0, this.fd8_1.length);
    var tmp$ret$1;
    // Inline function 'kotlin.takeIf' call
    var tmp = Companion_getInstance_10().kda_1;
    var tmp0_takeIf = indexOf$default(this.fd8_1, tmp, 0, 2, null);
    // Inline function 'kotlin.contracts.contract' call
    var tmp_0;
    var tmp$ret$0;
    // Inline function 'com.soywiz.korau.format.mp3.minimp3.BaseMp3DecoderInfo.step.<anonymous>' call
    tmp$ret$0 = tmp0_takeIf >= 0;
    if (tmp$ret$0) {
      tmp_0 = tmp0_takeIf;
    } else {
      tmp_0 = null;
    }
    tmp$ret$1 = tmp_0;
    var tmp0_elvis_lhs = tmp$ret$1;
    var xingIndex = tmp0_elvis_lhs == null ? this.fd8_1.length : tmp0_elvis_lhs;
    var tmp$ret$3;
    // Inline function 'kotlin.takeIf' call
    var tmp_1 = Companion_getInstance_10().lda_1;
    var tmp1_takeIf = indexOf$default(this.fd8_1, tmp_1, 0, 2, null);
    // Inline function 'kotlin.contracts.contract' call
    var tmp_2;
    var tmp$ret$2;
    // Inline function 'com.soywiz.korau.format.mp3.minimp3.BaseMp3DecoderInfo.step.<anonymous>' call
    tmp$ret$2 = tmp1_takeIf >= 0;
    if (tmp$ret$2) {
      tmp_2 = tmp1_takeIf;
    } else {
      tmp_2 = null;
    }
    tmp$ret$3 = tmp_2;
    var tmp1_elvis_lhs = tmp$ret$3;
    var infoIndex = tmp1_elvis_lhs == null ? this.fd8_1.length : tmp1_elvis_lhs;
    if (xingIndex < this.fd8_1.length ? true : infoIndex < this.fd8_1.length) {
      try {
        var tmp$ret$4;
        // Inline function 'kotlin.math.min' call
        tmp$ret$4 = Math.min(xingIndex, infoIndex);
        var index = tmp$ret$4;
        var data = FastByteArrayInputStream_init_$Create$(this.fd8_1, index, 0, 0, 12, null);
        data.j5z(7);
        if (data.z5y() >= 1) {
          var flags = data.o6r();
          var FRAMES_FLAG = 1;
          var BYTES_FLAG = 2;
          var TOC_FLAG = 4;
          var VBR_SCALE_FLAG = 8;
          if (hasFlags(flags, FRAMES_FLAG) ? data.z5y() >= 4 : false) {
            this.rd8_1 = data.s6r();
            if (hasFlags(flags, BYTES_FLAG)) {
              data.j5z(4);
            }
            if (hasFlags(flags, TOC_FLAG)) {
              data.j5z(100);
            }
            if (hasFlags(flags, VBR_SCALE_FLAG)) {
              data.j5z(4);
            }
            if (data.z5y() >= 1) {
              var info = data.o6r();
              if (!(info === 0)) {
                data.j5z(20);
                if (data.z5y() >= 3) {
                  var t0 = data.o6r();
                  var t1 = data.o6r();
                  var t2 = data.o6r();
                  this.sd8_1 = (t0 << 4 | (t1 >>> 4 | 0)) + 529 | 0;
                  this.td8_1 = ((t1 & 15) << 8 | t2) - 529 | 0;
                }
              }
            }
          }
        }
      } catch ($p) {
        if ($p instanceof Error) {
          printStackTrace($p);
        } else {
          throw $p;
        }
      }
    }
    var buf = decoder.mda(availablePeek);
    if (!(this.kd8_1 === 0) ? (!(this.rd8_1 === 0) ? true : !(this.sd8_1 === 0)) ? true : !(this.td8_1 === 0) : false) {
      var rpadding = imul(this.td8_1, this.kd8_1);
      var to_skip = imul(this.sd8_1, this.kd8_1);
      var detected_samples = imul(imul(this.ld8_1, this.rd8_1), this.kd8_1);
      if (detected_samples >= to_skip)
        detected_samples = detected_samples - to_skip | 0;
      if (1 <= rpadding ? rpadding <= detected_samples : false)
        detected_samples = detected_samples - rpadding | 0;
      this.nd8_1 = to_skip + imul(this.ld8_1, this.kd8_1) | 0;
      this.od8_1 = detected_samples;
      this.pd8_1 = detected_samples / this.kd8_1 | 0;
      this.rd8_1 = 0;
      this.sd8_1 = 0;
      this.td8_1 = 0;
    }
    if (!(this.kd8_1 === 0) ? this.hd8_1 == null : false) {
      this.hd8_1 = new AudioSamplesDeque(this.kd8_1);
    }
    if (this.ld8_1 > 0) {
      var offset = 0;
      var toRead = imul(this.ld8_1, this.kd8_1);
      if (this.nd8_1 > 0) {
        var tmp$ret$5;
        // Inline function 'kotlin.math.min' call
        var tmp2_min = this.nd8_1;
        var tmp3_min = toRead;
        tmp$ret$5 = Math.min(tmp2_min, tmp3_min);
        var skipNow = tmp$ret$5;
        offset = offset + skipNow | 0;
        toRead = toRead - skipNow | 0;
        var tmp2_this = this;
        tmp2_this.nd8_1 = tmp2_this.nd8_1 - skipNow | 0;
      }
      if (this.od8_1 >= 0) {
        var tmp$ret$6;
        // Inline function 'kotlin.math.min' call
        var tmp4_min = toRead;
        var tmp5_min = this.od8_1;
        tmp$ret$6 = Math.min(tmp4_min, tmp5_min);
        toRead = tmp$ret$6;
        var tmp3_this = this;
        tmp3_this.od8_1 = tmp3_this.od8_1 - toRead | 0;
      }
      var tmp_3 = ensureNotNull(this.hd8_1);
      var tmp_4 = ensureNotNull(buf);
      var tmp_5 = offset;
      var tmp_6 = toRead;
      tmp_3.nda(tmp_4, tmp_5, tmp_6, 0, 8, null);
    }
    this.gd8_1.x4l(this.md8_1);
    if (this.md8_1 === 0 ? this.ld8_1 === 0 : false) {
      return false;
    }
    if (!(this.hd8_1 == null) ? ensureNotNull(this.hd8_1).u4l() > 0 : false) {
      return true;
    }
    return true;
  };
  BaseMp3DecoderInfo.$metadata$ = classMeta('BaseMp3DecoderInfo');
  function BaseMp3Decoder() {
  }
  BaseMp3Decoder.$metadata$ = interfaceMeta('BaseMp3Decoder', [Closeable]);
  function Companion_6() {
    Companion_instance_6 = this;
    var tmp = this;
    var tmp$ret$4;
    // Inline function 'kotlin.byteArrayOf' call
    var tmp$ret$0;
    // Inline function 'kotlin.code' call
    tmp$ret$0 = 88;
    var tmp_0 = toByte(tmp$ret$0);
    var tmp$ret$1;
    // Inline function 'kotlin.code' call
    tmp$ret$1 = 105;
    var tmp_1 = toByte(tmp$ret$1);
    var tmp$ret$2;
    // Inline function 'kotlin.code' call
    tmp$ret$2 = 110;
    var tmp_2 = toByte(tmp$ret$2);
    var tmp$ret$3;
    // Inline function 'kotlin.code' call
    tmp$ret$3 = 103;
    var tmp0_byteArrayOf = new Int8Array([tmp_0, tmp_1, tmp_2, toByte(tmp$ret$3)]);
    tmp$ret$4 = tmp0_byteArrayOf;
    tmp.kda_1 = tmp$ret$4;
    var tmp_3 = this;
    var tmp$ret$9;
    // Inline function 'kotlin.byteArrayOf' call
    var tmp$ret$5;
    // Inline function 'kotlin.code' call
    tmp$ret$5 = 73;
    var tmp_4 = toByte(tmp$ret$5);
    var tmp$ret$6;
    // Inline function 'kotlin.code' call
    tmp$ret$6 = 110;
    var tmp_5 = toByte(tmp$ret$6);
    var tmp$ret$7;
    // Inline function 'kotlin.code' call
    tmp$ret$7 = 102;
    var tmp_6 = toByte(tmp$ret$7);
    var tmp$ret$8;
    // Inline function 'kotlin.code' call
    tmp$ret$8 = 111;
    var tmp0_byteArrayOf_0 = new Int8Array([tmp_4, tmp_5, tmp_6, toByte(tmp$ret$8)]);
    tmp$ret$9 = tmp0_byteArrayOf_0;
    tmp_3.lda_1 = tmp$ret$9;
  }
  Companion_6.$metadata$ = objectMeta('Companion');
  var Companion_instance_6;
  function Companion_getInstance_10() {
    if (Companion_instance_6 == null)
      new Companion_6();
    return Companion_instance_6;
  }
  function createDecoderStream$readMoreSamples(decoder, $data, $cont) {
    var tmp = new $createDecoderStream$readMoreSamplesCOROUTINE$19(decoder, $data, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function BaseMinimp3AudioFormat$createDecoderStream$2($decoder, $mp3SeekingTable, $data, this$0, $dataStartPosition, $props, $table) {
    this.cd9_1 = $decoder;
    this.dd9_1 = $mp3SeekingTable;
    this.ed9_1 = $data;
    this.fd9_1 = this$0;
    this.gd9_1 = $dataStartPosition;
    this.hd9_1 = $props;
    this.id9_1 = $table;
    AudioStream.call(this, $decoder.jd9().id8_1, $decoder.jd9().kd8_1);
    this.zd8_1 = false;
    var tmp = this;
    var tmp$ret$1;
    // Inline function 'kotlin.takeIf' call
    var tmp0_takeIf = toLong($decoder.jd9().pd8_1);
    // Inline function 'kotlin.contracts.contract' call
    var tmp_0;
    var tmp$ret$0;
    // Inline function 'com.soywiz.korau.format.mp3.minimp3.<no name provided>.totalLengthInSamples.<anonymous>' call
    tmp$ret$0 = !tmp0_takeIf.equals(new Long(0, 0));
    if (tmp$ret$0) {
      tmp_0 = tmp0_takeIf;
    } else {
      tmp_0 = null;
    }
    tmp$ret$1 = tmp_0;
    var tmp1_elvis_lhs = tmp$ret$1;
    var tmp_1;
    if (tmp1_elvis_lhs == null) {
      var tmp0_safe_receiver = $mp3SeekingTable;
      tmp_1 = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.td0();
    } else {
      tmp_1 = tmp1_elvis_lhs;
    }
    tmp.ad9_1 = tmp_1;
    this.bd9_1 = new Long(0, 0);
  }
  BaseMinimp3AudioFormat$createDecoderStream$2.prototype.wd3 = function () {
    return this.zd8_1;
  };
  BaseMinimp3AudioFormat$createDecoderStream$2.prototype.xd3 = function (value) {
    this.zd8_1 = false;
    if (!(this.dd9_1 == null)) {
      this.ed9_1.y5k_1 = this.dd9_1.vd0(value);
      this.bd9_1 = value;
    } else {
      this.ed9_1.y5k_1 = new Long(0, 0);
      this.bd9_1 = new Long(0, 0);
    }
    this.cd9_1.jd9().d2p();
  };
  BaseMinimp3AudioFormat$createDecoderStream$2.prototype.yd3 = function (out, offset, length, $cont) {
    var tmp = new $readCOROUTINE$20(this, out, offset, length, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  BaseMinimp3AudioFormat$createDecoderStream$2.prototype.x2c = function () {
    this.cd9_1.x2c();
  };
  BaseMinimp3AudioFormat$createDecoderStream$2.prototype.zd3 = function ($cont) {
    var tmp$ret$0;
    // Inline function 'kotlin.also' call
    var tmp0_also = this.ed9_1.y2n();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korau.format.mp3.minimp3.<no name provided>.clone.<anonymous>' call
    tmp0_also.y5k_1 = this.gd9_1;
    tmp$ret$0 = tmp0_also;
    return createDecoderStream(this.fd9_1, tmp$ret$0, this.hd9_1, this.id9_1, $cont);
  };
  BaseMinimp3AudioFormat$createDecoderStream$2.$metadata$ = classMeta(undefined, undefined, undefined, undefined, undefined, AudioStream.prototype);
  function $createDecoderStreamCOROUTINE$18(_this__u8e3s4, data, props, table, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.vd9_1 = _this__u8e3s4;
    this.wd9_1 = data;
    this.xd9_1 = props;
    this.yd9_1 = table;
  }
  $createDecoderStreamCOROUTINE$18.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 8;
            this.zd9_1 = this.wd9_1.y5k_1;
            this.ada_1 = this.vd9_1.adb();
            this.ada_1.jd9().d2p();
            this.bda_1 = this.xd9_1.gcx_1;
            if (this.bda_1 === true) {
              this.dda_1 = this.yd9_1;
              if (this.dda_1 == null) {
                this.o7_1 = 1;
                suspendResult = this.wd9_1.o5c(this);
                if (suspendResult === get_COROUTINE_SUSPENDED()) {
                  return suspendResult;
                }
                continue $sm;
              } else {
                this.eda_1 = this.dda_1;
                this.o7_1 = 5;
                continue $sm;
              }
            } else {
              this.cda_1 = null;
              this.o7_1 = 6;
              continue $sm;
            }

            break;
          case 1:
            if (suspendResult) {
              this.o7_1 = 2;
              suspendResult = this.wd9_1.p5c(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.fda_1 = null;
              this.o7_1 = 4;
              continue $sm;
            }

            break;
          case 2:
            this.gda_1 = suspendResult;
            this.hda_1 = new Parser(this.wd9_1, this.gda_1);
            this.o7_1 = 3;
            suspendResult = this.hda_1.yd0(44100, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.fda_1 = suspendResult;
            this.o7_1 = 4;
            continue $sm;
          case 4:
            this.eda_1 = this.fda_1;
            this.o7_1 = 5;
            continue $sm;
          case 5:
            this.cda_1 = this.eda_1;
            this.o7_1 = 6;
            continue $sm;
          case 6:
            this.ida_1 = this.cda_1;
            this.o7_1 = 7;
            suspendResult = createDecoderStream$readMoreSamples(this.ada_1, this.wd9_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 7:
            ;
            return new BaseMinimp3AudioFormat$createDecoderStream$2(this.ada_1, this.ida_1, this.wd9_1, this.vd9_1, this.zd9_1, this.xd9_1, this.yd9_1);
          case 8:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 8) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $createDecoderStreamCOROUTINE$18.$metadata$ = classMeta('$createDecoderStreamCOROUTINE$18', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $createDecoderStream$readMoreSamplesCOROUTINE$19(decoder, $data, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.wda_1 = decoder;
    this.xda_1 = $data;
  }
  $createDecoderStream$readMoreSamplesCOROUTINE$19.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 7;
            this.o7_1 = 1;
            continue $sm;
          case 1:
            if (false) {
              this.o7_1 = 8;
              continue $sm;
            }

            if (this.wda_1.jd9().gd8_1.u4l() < this.wda_1.jd9().fd8_1.length) {
              this.o7_1 = 2;
              suspendResult = this.xda_1.g6c(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.yda_1 = false;
              this.o7_1 = 3;
              continue $sm;
            }

            break;
          case 2:
            this.yda_1 = suspendResult;
            this.o7_1 = 3;
            continue $sm;
          case 3:
            if (this.yda_1) {
              this.zda_1 = this.wda_1.jd9().gd8_1;
              this.o7_1 = 4;
              suspendResult = readBytesUpTo(this.xda_1, 4096, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 5;
              continue $sm;
            }

            ;
            break;
          case 4:
            var ARGUMENT = suspendResult;
            this.zda_1.w4l(ARGUMENT, 0, 0, 6, null);
            ;
            this.o7_1 = 5;
            continue $sm;
          case 5:
            var result = this.wda_1.jd9().jda(this.wda_1);
            if (this.wda_1.jd9().id8_1 === 0 ? true : this.wda_1.jd9().kd8_1 === 0) {
              this.o7_1 = 1;
              continue $sm;
            } else {
              this.o7_1 = 6;
              continue $sm;
            }

            break;
          case 6:
            return result;
          case 7:
            throw this.r7_1;
          case 8:
            return Unit_getInstance();
        }
      } catch ($p) {
        if (this.p7_1 === 7) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $createDecoderStream$readMoreSamplesCOROUTINE$19.$metadata$ = classMeta('$createDecoderStream$readMoreSamplesCOROUTINE$19', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function BaseMinimp3AudioFormat() {
    Companion_getInstance_10();
    AudioFormat.call(this, ['mp3']);
  }
  BaseMinimp3AudioFormat.prototype.vcv = function (data, props, $cont) {
    return Companion_getInstance_5().vcv(data, props, $cont);
  };
  BaseMinimp3AudioFormat.prototype.mcw = function (data, props, $cont) {
    return createDecoderStream(this, data, props, null, $cont);
  };
  BaseMinimp3AudioFormat.$metadata$ = classMeta('BaseMinimp3AudioFormat', undefined, undefined, undefined, undefined, AudioFormat.prototype);
  function arrayOfUByte($this, values, size) {
    return UByteArrayInt(size, MiniMp3Program$Companion$arrayOfUByte$lambda(values));
  }
  function arrayOfUByte$default($this, values, size, $mask0, $handler) {
    if (!(($mask0 & 4) === 0))
      size = values.length;
    return arrayOfUByte($this, values, size);
  }
  function arrayOfShort($this, values, size) {
    var tmp = 0;
    var tmp_0 = size;
    var tmp_1 = new Int16Array(tmp_0);
    while (tmp < tmp_0) {
      var tmp_2 = tmp;
      var tmp$ret$3;
      // Inline function 'com.soywiz.korau.format.mp3.minimp3.Companion.arrayOfShort.<anonymous>' call
      var tmp$ret$2;
      // Inline function 'kotlin.code' call
      var tmp$ret$1;
      // Inline function 'kotlin.text.getOrElse' call
      var tmp_3;
      if (tmp_2 >= 0 ? tmp_2 <= get_lastIndex(values) : false) {
        tmp_3 = charSequenceGet(values, tmp_2);
      } else {
        var tmp$ret$0;
        // Inline function 'com.soywiz.korau.format.mp3.minimp3.Companion.arrayOfShort.<anonymous>' call
        tmp$ret$0 = _Char___init__impl__6a9atx(0);
        tmp_3 = tmp$ret$0;
      }
      tmp$ret$1 = tmp_3;
      var tmp0__get_code__88qj9g = tmp$ret$1;
      tmp$ret$2 = Char__toInt_impl_vasixd(tmp0__get_code__88qj9g);
      tmp$ret$3 = toShort(tmp$ret$2);
      tmp_1[tmp_2] = tmp$ret$3;
      tmp = tmp + 1 | 0;
    }
    return tmp_1;
  }
  function arrayOfShort$default($this, values, size, $mask0, $handler) {
    if (!(($mask0 & 4) === 0))
      size = values.length;
    return arrayOfShort($this, values, size);
  }
  function MiniMp3Program$Companion$arrayOfUByte$lambda($values) {
    return function (it) {
      var tmp$ret$2;
      // Inline function 'kotlin.code' call
      var tmp$ret$1;
      // Inline function 'kotlin.text.getOrElse' call
      var tmp;
      if (it >= 0 ? it <= get_lastIndex($values) : false) {
        tmp = charSequenceGet($values, it);
      } else {
        var tmp$ret$0;
        // Inline function 'com.soywiz.korau.format.mp3.minimp3.Companion.arrayOfUByte.<anonymous>.<anonymous>' call
        tmp$ret$0 = _Char___init__impl__6a9atx(0);
        tmp = tmp$ret$0;
      }
      tmp$ret$1 = tmp;
      var tmp0__get_code__88qj9g = tmp$ret$1;
      tmp$ret$2 = Char__toInt_impl_vasixd(tmp0__get_code__88qj9g);
      return tmp$ret$2;
    };
  }
  function Mp3Dec_init_$Init$($this) {
    var tmp = 0;
    var tmp_0 = 2;
    var tmp$ret$0;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp$ret$0 = fillArrayVal(Array(tmp_0), null);
    var tmp_1 = tmp$ret$0;
    while (tmp < tmp_0) {
      var tmp_2 = tmp;
      var tmp$ret$1;
      // Inline function 'com.soywiz.korau.format.mp3.minimp3.Mp3Dec.<init>.<anonymous>' call
      tmp$ret$1 = new Float32Array(288);
      tmp_1[tmp_2] = tmp$ret$1;
      tmp = tmp + 1 | 0;
    }
    var tmp_3 = new Float32Array(960);
    var tmp_4 = new Int32Array(1);
    var tmp_5 = UByteArrayInt_0(4);
    Companion_getInstance_11();
    Mp3Dec.call($this, tmp_1, tmp_3, 0, tmp_4, tmp_5, UByteArrayInt_0(511));
    return $this;
  }
  function Mp3Dec_init_$Create$() {
    return Mp3Dec_init_$Init$(Object.create(Mp3Dec.prototype));
  }
  function Bs_init_$Init$(buf, pos, limit, $mask0, $marker, $this) {
    if (!(($mask0 & 1) === 0)) {
      var tmp = UByteArrayInt_0(0);
      buf = UByteArrayIntPtr_init_$Create$(tmp, 0, 2, null);
    }
    if (!(($mask0 & 2) === 0))
      pos = 0;
    if (!(($mask0 & 4) === 0))
      limit = 0;
    Bs.call($this, buf, pos, limit);
    return $this;
  }
  function Bs_init_$Create$(buf, pos, limit, $mask0, $marker) {
    return Bs_init_$Init$(buf, pos, limit, $mask0, $marker, Object.create(Bs.prototype));
  }
  function Mp3Scratch_init_$Init$($this) {
    var tmp = Bs_init_$Create$(null, 0, 0, 7, null);
    var tmp_0 = UByteArrayInt_0(2815);
    var tmp_1 = UByteArrayIntPtr_init_$Create$(tmp_0, 0, 2, null);
    var tmp_2 = 0;
    var tmp_3 = 4;
    var tmp$ret$0;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp$ret$0 = fillArrayVal(Array(tmp_3), null);
    var tmp_4 = tmp$ret$0;
    while (tmp_2 < tmp_3) {
      var tmp_5 = tmp_2;
      var tmp$ret$1;
      // Inline function 'com.soywiz.korau.format.mp3.minimp3.Mp3Scratch.<init>.<anonymous>' call
      tmp$ret$1 = GrInfo_init_$Create$(null, 0, 0, 0, 0, 0, 0, 0, 0, null, null, null, 0, 0, 0, 0, 65535, null);
      tmp_4[tmp_5] = tmp$ret$1;
      tmp_2 = tmp_2 + 1 | 0;
    }
    var tmp_6 = new ArrayPtr(tmp_4, 0);
    var tmp$ret$5;
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    var tmp$ret$4;
    // Inline function 'com.soywiz.korau.format.mp3.minimp3.Mp3Scratch.<init>.<anonymous>' call
    var CSIZE = 576;
    var data = new Float32Array(imul(2, CSIZE));
    var tmp_7 = 0;
    var tmp_8 = 2;
    var tmp$ret$2;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp$ret$2 = fillArrayVal(Array(tmp_8), null);
    var tmp_9 = tmp$ret$2;
    while (tmp_7 < tmp_8) {
      var tmp_10 = tmp_7;
      var tmp$ret$3;
      // Inline function 'com.soywiz.korau.format.mp3.minimp3.Mp3Scratch.<init>.<anonymous>.<anonymous>' call
      tmp$ret$3 = new FloatArrayPtr(data, imul(CSIZE, tmp_10));
      tmp_9[tmp_10] = tmp$ret$3;
      tmp_7 = tmp_7 + 1 | 0;
    }
    tmp$ret$4 = tmp_9;
    tmp$ret$5 = tmp$ret$4;
    var tmp_11 = tmp$ret$5;
    var tmp_12 = new Float32Array(40);
    var tmp_13 = FloatArrayPtr_init_$Create$(tmp_12, 0, 2, null);
    var tmp$ret$9;
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    var tmp$ret$8;
    // Inline function 'com.soywiz.korau.format.mp3.minimp3.Mp3Scratch.<init>.<anonymous>' call
    var CSIZE_0 = 64;
    var data_0 = new Float32Array(imul(33, CSIZE_0));
    var tmp_14 = 0;
    var tmp_15 = 33;
    var tmp$ret$6;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp$ret$6 = fillArrayVal(Array(tmp_15), null);
    var tmp_16 = tmp$ret$6;
    while (tmp_14 < tmp_15) {
      var tmp_17 = tmp_14;
      var tmp$ret$7;
      // Inline function 'com.soywiz.korau.format.mp3.minimp3.Mp3Scratch.<init>.<anonymous>.<anonymous>' call
      tmp$ret$7 = new FloatArrayPtr(data_0, imul(CSIZE_0, tmp_17));
      tmp_16[tmp_17] = tmp$ret$7;
      tmp_14 = tmp_14 + 1 | 0;
    }
    tmp$ret$8 = tmp_16;
    tmp$ret$9 = tmp$ret$8;
    var tmp_18 = tmp$ret$9;
    var tmp_19 = 0;
    var tmp_20 = 2;
    var tmp$ret$10;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp$ret$10 = fillArrayVal(Array(tmp_20), null);
    var tmp_21 = tmp$ret$10;
    while (tmp_19 < tmp_20) {
      var tmp_22 = tmp_19;
      var tmp$ret$11;
      // Inline function 'com.soywiz.korau.format.mp3.minimp3.Mp3Scratch.<init>.<anonymous>' call
      tmp$ret$11 = UByteArrayInt_0(39);
      tmp_21[tmp_22] = new UByteArrayInt_1(tmp$ret$11);
      tmp_19 = tmp_19 + 1 | 0;
    }
    Mp3Scratch.call($this, tmp, tmp_1, tmp_6, tmp_11, tmp_13, tmp_18, tmp_21);
    return $this;
  }
  function Mp3Scratch_init_$Create$() {
    return Mp3Scratch_init_$Init$(Object.create(Mp3Scratch.prototype));
  }
  function Mp3FrameInfo_init_$Init$(frame_bytes, frame_offset, channels, hz, layer, bitrate_kbps, $mask0, $marker, $this) {
    if (!(($mask0 & 1) === 0))
      frame_bytes = 0;
    if (!(($mask0 & 2) === 0))
      frame_offset = 0;
    if (!(($mask0 & 4) === 0))
      channels = 0;
    if (!(($mask0 & 8) === 0))
      hz = 0;
    if (!(($mask0 & 16) === 0))
      layer = 0;
    if (!(($mask0 & 32) === 0))
      bitrate_kbps = 0;
    Mp3FrameInfo.call($this, frame_bytes, frame_offset, channels, hz, layer, bitrate_kbps);
    return $this;
  }
  function Mp3FrameInfo_init_$Create$(frame_bytes, frame_offset, channels, hz, layer, bitrate_kbps, $mask0, $marker) {
    return Mp3FrameInfo_init_$Init$(frame_bytes, frame_offset, channels, hz, layer, bitrate_kbps, $mask0, $marker, Object.create(Mp3FrameInfo.prototype));
  }
  function UByteArrayIntPtr_init_$Init$(array, pos, $mask0, $marker, $this) {
    if (!(($mask0 & 2) === 0))
      pos = 0;
    UByteArrayIntPtr.call($this, array, pos);
    return $this;
  }
  function UByteArrayIntPtr_init_$Create$(array, pos, $mask0, $marker) {
    return UByteArrayIntPtr_init_$Init$(array, pos, $mask0, $marker, Object.create(UByteArrayIntPtr.prototype));
  }
  function FloatArrayPtr_init_$Init$(array, pos, $mask0, $marker, $this) {
    if (!(($mask0 & 2) === 0))
      pos = 0;
    FloatArrayPtr.call($this, array, pos);
    return $this;
  }
  function FloatArrayPtr_init_$Create$(array, pos, $mask0, $marker) {
    return FloatArrayPtr_init_$Init$(array, pos, $mask0, $marker, Object.create(FloatArrayPtr.prototype));
  }
  function ShortArrayPtr_init_$Init$(array, pos, $mask0, $marker, $this) {
    if (!(($mask0 & 2) === 0))
      pos = 0;
    ShortArrayPtr.call($this, array, pos);
    return $this;
  }
  function ShortArrayPtr_init_$Create$(array, pos, $mask0, $marker) {
    return ShortArrayPtr_init_$Init$(array, pos, $mask0, $marker, Object.create(ShortArrayPtr.prototype));
  }
  function GrInfo_init_$Init$(sfbtab, part_23_length, big_values, scalefac_compress, global_gain, block_type, mixed_block_flag, n_long_sfb, n_short_sfb, table_select, region_count, subblock_gain, preflag, scalefac_scale, count1_table, scfsi, $mask0, $marker, $this) {
    if (!(($mask0 & 1) === 0)) {
      var tmp = UByteArrayInt_0(0);
      sfbtab = UByteArrayIntPtr_init_$Create$(tmp, 0, 2, null);
    }
    if (!(($mask0 & 2) === 0))
      part_23_length = 0;
    if (!(($mask0 & 4) === 0))
      big_values = 0;
    if (!(($mask0 & 8) === 0))
      scalefac_compress = 0;
    if (!(($mask0 & 16) === 0))
      global_gain = 0;
    if (!(($mask0 & 32) === 0))
      block_type = 0;
    if (!(($mask0 & 64) === 0))
      mixed_block_flag = 0;
    if (!(($mask0 & 128) === 0))
      n_long_sfb = 0;
    if (!(($mask0 & 256) === 0))
      n_short_sfb = 0;
    if (!(($mask0 & 512) === 0))
      table_select = UByteArrayInt_0(3);
    if (!(($mask0 & 1024) === 0))
      region_count = UByteArrayInt_0(3);
    if (!(($mask0 & 2048) === 0))
      subblock_gain = UByteArrayInt_0(3);
    if (!(($mask0 & 4096) === 0))
      preflag = 0;
    if (!(($mask0 & 8192) === 0))
      scalefac_scale = 0;
    if (!(($mask0 & 16384) === 0))
      count1_table = 0;
    if (!(($mask0 & 32768) === 0))
      scfsi = 0;
    GrInfo.call($this, sfbtab, part_23_length, big_values, scalefac_compress, global_gain, block_type, mixed_block_flag, n_long_sfb, n_short_sfb, table_select, region_count, subblock_gain, preflag, scalefac_scale, count1_table, scfsi);
    return $this;
  }
  function GrInfo_init_$Create$(sfbtab, part_23_length, big_values, scalefac_compress, global_gain, block_type, mixed_block_flag, n_long_sfb, n_short_sfb, table_select, region_count, subblock_gain, preflag, scalefac_scale, count1_table, scfsi, $mask0, $marker) {
    return GrInfo_init_$Init$(sfbtab, part_23_length, big_values, scalefac_compress, global_gain, block_type, mixed_block_flag, n_long_sfb, n_short_sfb, table_select, region_count, subblock_gain, preflag, scalefac_scale, count1_table, scfsi, $mask0, $marker, Object.create(GrInfo.prototype));
  }
  function ScaleInfo_init_$Init$(scf, total_bands, stereo_bands, bitalloc, scfcod, $mask0, $marker, $this) {
    if (!(($mask0 & 1) === 0))
      scf = new Float32Array(192);
    if (!(($mask0 & 2) === 0))
      total_bands = 0;
    if (!(($mask0 & 4) === 0))
      stereo_bands = 0;
    if (!(($mask0 & 8) === 0))
      bitalloc = UByteArrayInt_0(64);
    if (!(($mask0 & 16) === 0))
      scfcod = UByteArrayInt_0(64);
    ScaleInfo.call($this, scf, total_bands, stereo_bands, bitalloc, scfcod);
    return $this;
  }
  function ScaleInfo_init_$Create$(scf, total_bands, stereo_bands, bitalloc, scfcod, $mask0, $marker) {
    return ScaleInfo_init_$Init$(scf, total_bands, stereo_bands, bitalloc, scfcod, $mask0, $marker, Object.create(ScaleInfo.prototype));
  }
  function Companion_7() {
    Companion_instance_7 = this;
    this.bdb_1 = 2304;
    this.cdb_1 = 511;
    var tmp = this;
    var tmp$ret$0;
    // Inline function 'kotlin.floatArrayOf' call
    tmp$ret$0 = new Float32Array([0.7372773, 0.7933533, 0.8433915, 0.8870108, 0.9238795, 0.95371693, 0.976296, 0.9914449, 0.99904823, 0.6755902, 0.6087614, 0.53729963, 0.4617486, 0.38268343, 0.3007058, 0.2164396, 0.13052619, 0.04361938]);
    tmp.ddb_1 = tmp$ret$0;
    var tmp_0 = this;
    var tmp$ret$1;
    // Inline function 'kotlin.floatArrayOf' call
    tmp$ret$1 = new Float32Array([0.7933533, 0.9238795, 0.9914449, 0.6087614, 0.38268343, 0.13052619]);
    tmp_0.edb_1 = tmp$ret$1;
    var tmp_1 = this;
    var tmp$ret$2;
    // Inline function 'kotlin.floatArrayOf' call
    tmp$ret$2 = new Float32Array([10.190008, 0.500603, 0.5024193, 3.4076085, 0.50547093, 0.5224986, 2.057781, 0.5154473, 0.56694406, 1.4841646, 0.5310426, 0.6468218, 1.1694399, 0.5531039, 0.7881546, 0.9725682, 0.582935, 1.0606776, 0.8393496, 0.6225041, 1.7224472, 0.7445363, 0.6748083, 5.1011486]);
    tmp_1.fdb_1 = tmp$ret$2;
    var tmp_2 = this;
    var tmp$ret$3;
    // Inline function 'kotlin.floatArrayOf' call
    tmp$ret$3 = new Float32Array([0.0, 1.0, 0.21132487, 0.7886751, 0.3660254, 0.6339746, 0.5, 0.5, 0.6339746, 0.3660254, 0.7886751, 0.21132487, 1.0, 0.0]);
    tmp_2.gdb_1 = tmp$ret$3;
    var tmp_3 = this;
    var tmp$ret$4;
    // Inline function 'kotlin.floatArrayOf' call
    tmp$ret$4 = new Float32Array([-1.0, 26.0, -31.0, 208.0, 218.0, 401.0, -519.0, 2063.0, 2000.0, 4788.0, -5517.0, 7134.0, 5959.0, 35640.0, -39336.0, 74992.0, -1.0, 24.0, -35.0, 202.0, 222.0, 347.0, -581.0, 2080.0, 1952.0, 4425.0, -5879.0, 7640.0, 5288.0, 33791.0, -41176.0, 74856.0, -1.0, 21.0, -38.0, 196.0, 225.0, 294.0, -645.0, 2087.0, 1893.0, 4063.0, -6237.0, 8092.0, 4561.0, 31947.0, -43006.0, 74630.0, -1.0, 19.0, -41.0, 190.0, 227.0, 244.0, -711.0, 2085.0, 1822.0, 3705.0, -6589.0, 8492.0, 3776.0, 30112.0, -44821.0, 74313.0, -1.0, 17.0, -45.0, 183.0, 228.0, 197.0, -779.0, 2075.0, 1739.0, 3351.0, -6935.0, 8840.0, 2935.0, 28289.0, -46617.0, 73908.0, -1.0, 16.0, -49.0, 176.0, 228.0, 153.0, -848.0, 2057.0, 1644.0, 3004.0, -7271.0, 9139.0, 2037.0, 26482.0, -48390.0, 73415.0, -2.0, 14.0, -53.0, 169.0, 227.0, 111.0, -919.0, 2032.0, 1535.0, 2663.0, -7597.0, 9389.0, 1082.0, 24694.0, -50137.0, 72835.0, -2.0, 13.0, -58.0, 161.0, 224.0, 72.0, -991.0, 2001.0, 1414.0, 2330.0, -7910.0, 9592.0, 70.0, 22929.0, -51853.0, 72169.0, -2.0, 11.0, -63.0, 154.0, 221.0, 36.0, -1064.0, 1962.0, 1280.0, 2006.0, -8209.0, 9750.0, -998.0, 21189.0, -53534.0, 71420.0, -2.0, 10.0, -68.0, 147.0, 215.0, 2.0, -1137.0, 1919.0, 1131.0, 1692.0, -8491.0, 9863.0, -2122.0, 19478.0, -55178.0, 70590.0, -3.0, 9.0, -73.0, 139.0, 208.0, -29.0, -1210.0, 1870.0, 970.0, 1388.0, -8755.0, 9935.0, -3300.0, 17799.0, -56778.0, 69679.0, -3.0, 8.0, -79.0, 132.0, 200.0, -57.0, -1283.0, 1817.0, 794.0, 1095.0, -8998.0, 9966.0, -4533.0, 16155.0, -58333.0, 68692.0, -4.0, 7.0, -85.0, 125.0, 189.0, -83.0, -1356.0, 1759.0, 605.0, 814.0, -9219.0, 9959.0, -5818.0, 14548.0, -59838.0, 67629.0, -4.0, 7.0, -91.0, 117.0, 177.0, -106.0, -1428.0, 1698.0, 402.0, 545.0, -9416.0, 9916.0, -7154.0, 12980.0, -61289.0, 66494.0, -5.0, 6.0, -97.0, 111.0, 163.0, -127.0, -1498.0, 1634.0, 185.0, 288.0, -9585.0, 9838.0, -8540.0, 11455.0, -62684.0, 65290.0]);
    tmp_3.hdb_1 = tmp$ret$4;
    var tmp_4 = this;
    var tmp$ret$9;
    // Inline function 'kotlin.arrayOf' call
    var tmp$ret$5;
    // Inline function 'kotlin.floatArrayOf' call
    tmp$ret$5 = new Float32Array([0.8574929, 0.881742, 0.94962865, 0.9833146, 0.9955178, 0.9991606, 0.9998992, 0.99999315]);
    var tmp_5 = tmp$ret$5;
    var tmp$ret$6;
    // Inline function 'kotlin.floatArrayOf' call
    tmp$ret$6 = new Float32Array([0.51449573, 0.47173196, 0.31337744, 0.1819132, 0.09457419, 0.04096558, 0.01419856, 0.00369997]);
    var tmp0_arrayOf = [tmp_5, tmp$ret$6];
    var tmp$ret$8;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp$ret$7;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$7 = tmp0_arrayOf;
    tmp$ret$8 = tmp$ret$7;
    tmp$ret$9 = tmp$ret$8;
    tmp_4.idb_1 = tmp$ret$9;
    var tmp_6 = this;
    var tmp$ret$14;
    // Inline function 'kotlin.arrayOf' call
    var tmp$ret$10;
    // Inline function 'kotlin.floatArrayOf' call
    tmp$ret$10 = new Float32Array([0.99904823, 0.9914449, 0.976296, 0.95371693, 0.9238795, 0.8870108, 0.8433915, 0.7933533, 0.7372773, 0.04361938, 0.13052619, 0.2164396, 0.3007058, 0.38268343, 0.4617486, 0.53729963, 0.6087614, 0.6755902]);
    var tmp_7 = tmp$ret$10;
    var tmp$ret$11;
    // Inline function 'kotlin.floatArrayOf' call
    tmp$ret$11 = new Float32Array([1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.9914449, 0.9238795, 0.7933533, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.13052619, 0.38268343, 0.6087614]);
    var tmp0_arrayOf_0 = [tmp_7, tmp$ret$11];
    var tmp$ret$13;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp$ret$12;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$12 = tmp0_arrayOf_0;
    tmp$ret$13 = tmp$ret$12;
    tmp$ret$14 = tmp$ret$13;
    tmp_6.jdb_1 = tmp$ret$14;
    var tmp_8 = this;
    var tmp$ret$15;
    // Inline function 'kotlin.floatArrayOf' call
    tmp$ret$15 = new Float32Array([9.313226E-10, 7.831458E-10, 6.585445E-10, 5.537677E-10]);
    tmp_8.kdb_1 = tmp$ret$15;
    var tmp_9 = this;
    var tmp$ret$16;
    // Inline function 'kotlin.floatArrayOf' call
    var tmp0_floatArrayOf = new Float32Array([9.536743E-7 / 3.0, 7.569318E-7 / 3.0, 6.007772E-7 / 3.0, 9.536743E-7 / 7.0, 7.569318E-7 / 7.0, 6.007772E-7 / 7.0, 9.536743E-7 / 15.0, 7.569318E-7 / 15.0, 6.007772E-7 / 15.0, 9.536743E-7 / 31.0, 7.569318E-7 / 31.0, 6.007772E-7 / 31.0, 9.536743E-7 / 63.0, 7.569318E-7 / 63.0, 6.007772E-7 / 63.0, 9.536743E-7 / 127.0, 7.569318E-7 / 127.0, 6.007772E-7 / 127.0, 9.536743E-7 / 255.0, 7.569318E-7 / 255.0, 6.007772E-7 / 255.0, 9.536743E-7 / 511.0, 7.569318E-7 / 511.0, 6.007772E-7 / 511.0, 9.536743E-7 / 1023.0, 7.569318E-7 / 1023.0, 6.007772E-7 / 1023.0, 9.536743E-7 / 2047.0, 7.569318E-7 / 2047.0, 6.007772E-7 / 2047.0, 9.536743E-7 / 4095.0, 7.569318E-7 / 4095.0, 6.007772E-7 / 4095.0, 9.536743E-7 / 8191.0, 7.569318E-7 / 8191.0, 6.007772E-7 / 8191.0, 9.536743E-7 / 16383.0, 7.569318E-7 / 16383.0, 6.007772E-7 / 16383.0, 9.536743E-7 / 32767.0, 7.569318E-7 / 32767.0, 6.007772E-7 / 32767.0, 9.536743E-7 / 65535.0, 7.569318E-7 / 65535.0, 6.007772E-7 / 65535.0, 9.536743E-7 / 3.0, 7.569318E-7 / 3.0, 6.007772E-7 / 3.0, 9.536743E-7 / 5.0, 7.569318E-7 / 5.0, 6.007772E-7 / 5.0, 9.536743E-7 / 9.0, 7.569318E-7 / 9.0, 6.007772E-7 / 9.0]);
    tmp$ret$16 = tmp0_floatArrayOf;
    tmp_9.ldb_1 = tmp$ret$16;
    var tmp_10 = this;
    var tmp$ret$17;
    // Inline function 'kotlin.intArrayOf' call
    tmp$ret$17 = new Int32Array([44100, 48000, 32000]);
    tmp_10.mdb_1 = tmp$ret$17;
    var tmp_11 = this;
    var tmp$ret$26;
    // Inline function 'kotlin.arrayOf' call
    var tmp$ret$20;
    // Inline function 'kotlin.arrayOf' call
    var tmp_12 = new UByteArrayInt_1(arrayOfUByte$default(this, '\x00\x04\b\f\x10\x14\x18\x1C (08@HP', 0, 4, null));
    var tmp_13 = new UByteArrayInt_1(arrayOfUByte$default(this, '\x00\x04\b\f\x10\x14\x18\x1C (08@HP', 0, 4, null));
    var tmp0_arrayOf_1 = [tmp_12, tmp_13, new UByteArrayInt_1(arrayOfUByte$default(this, '\x00\x10\x18\x1C (08@HPX`p\x80', 0, 4, null))];
    var tmp$ret$19;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp$ret$18;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$18 = tmp0_arrayOf_1;
    tmp$ret$19 = tmp$ret$18;
    tmp$ret$20 = tmp$ret$19;
    var tmp_14 = tmp$ret$20;
    var tmp$ret$23;
    // Inline function 'kotlin.arrayOf' call
    var tmp_15 = new UByteArrayInt_1(arrayOfUByte$default(this, '\x00\x10\x14\x18\x1C (08@P`p\x80\xA0', 0, 4, null));
    var tmp_16 = new UByteArrayInt_1(arrayOfUByte$default(this, '\x00\x10\x18\x1C (08@P`p\x80\xA0\xC0', 0, 4, null));
    var tmp1_arrayOf = [tmp_15, tmp_16, new UByteArrayInt_1(arrayOfUByte$default(this, '\x00\x10 0@P`p\x80\x90\xA0\xB0\xC0\xD0\xE0', 0, 4, null))];
    var tmp$ret$22;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp$ret$21;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$21 = tmp1_arrayOf;
    tmp$ret$22 = tmp$ret$21;
    tmp$ret$23 = tmp$ret$22;
    var tmp2_arrayOf = [tmp_14, tmp$ret$23];
    var tmp$ret$25;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp$ret$24;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$24 = tmp2_arrayOf;
    tmp$ret$25 = tmp$ret$24;
    tmp$ret$26 = tmp$ret$25;
    tmp_11.ndb_1 = tmp$ret$26;
    var tmp_17 = this;
    tmp_17.odb_1 = arrayOfUByte$default(this, '\x00\x01\x02\x03\f\x05\x06\x07\t\n\x0B\r\x0E\x0F\x12\x13', 0, 4, null);
    var tmp_18 = this;
    tmp_18.pdb_1 = arrayOfUByte$default(this, '\x05\x05\x04\x04\x05\x05\x04\x01\x04\x03\x01\x01\x05\x06\x06\x01\x04\x04\x04\x01\x04\x03\x01\x01', 0, 4, null);
    var tmp_19 = this;
    tmp_19.qdb_1 = arrayOfUByte$default(this, '\x01\x01\x01\x01\x02\x02\x03\x03\x03\x02', 0, 4, null);
    var tmp_20 = this;
    tmp_20.rdb_1 = arrayOfShort$default(this, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\u0311\u0311\u0311\u0311\u0310\u0310\u0310\u0310\u0201\u0201\u0201\u0201\u0201\u0201\u0201\u0201\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\uFF01\u0521\u0512\u0502\u0311\u0311\u0311\u0311\u0310\u0310\u0310\u0310\u0301\u0301\u0301\u0301\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0122\u0120\uFF01\u0521\u0512\u0502\u0301\u0301\u0301\u0301\u0211\u0211\u0211\u0211\u0211\u0211\u0211\u0211\u0210\u0210\u0210\u0210\u0210\u0210\u0210\u0210\u0200\u0200\u0200\u0200\u0200\u0200\u0200\u0200\u0122\u0120\uFF03\uFEC2\uFEA1\uFE91\u0311\u0311\u0311\u0311\u0310\u0310\u0310\u0310\u0301\u0301\u0301\u0301\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0333\u0332\u0223\u0223\u0113\u0113\u0113\u0113\u0231\u0230\u0203\u0222\u0121\u0112\u0120\u0102\uFF02\uFEE1\u0531\u0513\u0522\u0520\u0421\u0421\u0412\u0412\u0402\u0402\u0310\u0310\u0310\u0310\u0211\u0211\u0211\u0211\u0211\u0211\u0211\u0211\u0301\u0301\u0301\u0301\u0300\u0300\u0300\u0300\u0233\u0230\u0132\u0132\u0123\u0103\uFF04\uFE63\uFE23\uFDE2\u0512\uFDC1\u0411\u0411\u0310\u0310\u0310\u0310\u0301\u0301\u0301\u0301\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\uFE81\uFE71\u0453\u0444\u0452\u0425\u0351\u0351\u0315\u0315\u0450\u0443\u0305\u0305\u0434\u0433\u0155\u0154\u0145\u0135\u0342\u0324\u0241\u0241\u0214\u0214\u0204\u0204\u0340\u0332\u0323\u0330\u0231\u0231\u0213\u0213\u0203\u0222\u0121\u0121\u0120\u0102\uFF04\uFE53\uFE13\uFDD1\u0421\u0421\u0412\u0412\u0211\u0211\u0211\u0211\u0211\u0211\u0211\u0211\u0310\u0310\u0310\u0310\u0301\u0301\u0301\u0301\u0200\u0200\u0200\u0200\u0200\u0200\u0200\u0200\uFE82\u0435\uFE61\u0452\u0425\u0450\u0351\u0351\u0315\u0315\u0443\u0434\u0405\u0433\u0342\u0342\u0255\u0245\u0154\u0154\u0153\u0144\u0324\u0341\u0214\u0214\u0340\u0304\u0332\u0323\u0331\u0313\u0330\u0303\u0122\u0122\u0122\u0122\u0120\u0102\uFF03\uFEA3\uFE62\uFE41\uFE31\u0531\u0513\uFE21\u0522\u0520\u0421\u0421\u0412\u0412\u0402\u0402\u0311\u0311\u0311\u0311\u0310\u0310\u0310\u0310\u0301\u0301\u0301\u0301\u0300\u0300\u0300\u0300\uFEC1\u0353\u0335\uFEB1\u0344\u0352\u0325\u0351\u0155\u0154\u0145\u0150\u0215\u0215\u0243\u0243\u0234\u0234\u0305\u0340\u0242\u0224\u0233\u0204\u0141\u0114\u0132\u0123\u0130\u0103\uFF05\uFDC4\uFD23\uFCC2\uFCA1\uFC91\u0411\u0411\u0310\u0310\u0310\u0310\u0301\u0301\u0301\u0301\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\uFE01\uFDF1\uFDE1\u0574\u0547\u0565\u0556\u0573\u0537\u0564\uFDD1\u0536\u0472\u0472\u0427\u0427\u0546\u0570\u0407\u0407\u0426\u0426\u0554\u0553\u0460\u0460\u0535\u0544\u0371\u0371\u0371\u0371\u0177\u0176\u0167\u0175\u0157\u0166\u0155\u0145\u0317\u0317\u0463\u0462\uFD41\u0451\u0415\uFD31\u0361\u0361\u0316\u0316\u0306\u0306\u0450\u0405\u0152\u0125\u0143\u0134\uFCE1\uFCD1\u0341\u0314\u0304\u0332\u0323\u0330\u0142\u0124\u0133\u0140\u0231\u0213\u0203\u0222\u0121\u0112\u0120\u0102\uFF05\uFDF3\uFDA3\uFD53\uFD03\uFCC1\uFCB2\u0512\u0421\u0421\u0520\u0502\u0311\u0311\u0311\u0311\u0310\u0310\u0310\u0310\u0301\u0301\u0301\u0301\u0200\u0200\u0200\u0200\u0200\u0200\u0200\u0200\u0577\u0576\u0567\u0557\u0566\u0574\u0547\uFE01\u0565\u0556\u0473\u0473\u0437\u0437\u0464\u0464\u0554\u0545\u0553\u0535\u0372\u0372\u0372\u0372\u0327\u0327\u0327\u0327\u0446\u0446\u0470\u0470\u0175\u0155\u0217\u0217\u0371\u0307\u0363\u0336\u0306\uFDB1\u0144\u0152\uFD61\u0351\u0226\u0226\u0362\u0360\u0261\u0261\u0125\u0150\u0216\u0216\u0315\u0343\u0305\uFD11\u0342\u0324\u0134\u0133\u0341\u0314\u0340\u0304\u0232\u0232\u0223\u0223\u0131\u0113\u0230\u0203\u0122\u0122\uFF04\uFE73\uFE23\uFDD3\uFD92\uFD73\uFD31\uFD21\uFD12\u0531\u0513\u0522\u0421\u0421\u0412\u0412\u0520\u0502\u0400\u0400\u0311\u0311\u0311\u0311\u0310\u0310\u0310\u0310\u0301\u0301\u0301\u0301\uFE81\u0467\u0475\u0457\u0466\u0474\u0447\u0456\u0365\u0365\u0373\u0373\u0437\u0455\u0372\u0372\u0177\u0176\u0327\u0364\u0346\u0371\u0317\uFE31\u0363\u0336\u0170\u0107\u0354\u0345\u0344\uFDE1\u0262\u0262\u0226\u0226\u0160\u0150\u0216\u0216\u0361\u0306\u0353\u0335\u0352\u0325\u0251\u0215\u0243\u0234\u0305\u0340\u0242\u0242\u0224\u0224\u0241\u0241\u0133\u0114\u0132\u0123\u0204\u0230\u0103\u0103\uFF06\uF7C5\uF635\uF534\uF4A3\uF462\uF441\uF431\u0411\u0411\u0410\u0410\u0301\u0301\u0301\u0301\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\uFD01\uFBE4\uFB43\uFB03\uFAB2\uFA83\uFA43\uFA01\uF9F2\uF9D2\uF9B2\uF991\uF982\uF962\uF942\uF921\uF912\uF8F1\uF8E2\uF8C2\uF8A2\u061D\uF881\uF871\uF861\uF851\u06C3\u06C2\u062C\u06B5\uF841\u06C1\u061C\uF831\u060C\uF821\uF811\u06B3\u063B\uF801\u06B2\uF7F1\u064A\uF7E1\u0649\uF7D1\u052B\u052B\u05B1\u05B1\u051B\u051B\u06B0\u060B\u0669\u06A4\u06A3\u063A\u0695\u0659\u05A2\u05A2\u052A\u052A\uFCF4\uFC33\uFC72\u04FF\u04FE\u04FD\u04EE\u04FC\u04ED\u04FB\u04BF\u04EC\u04CD\uFC41\u03CE\u03CE\u03DD\u03DD\uFC51\u02DF\u01DE\u01DE\u01EF\u01CF\u01FA\u019E\uFBF1\u03EB\u03BE\u03F9\u039F\u03AE\u03DB\u03BD\u01AF\u01DC\u04F8\u048F\u04CC\uFB61\u04E8\uFB51\u037F\u037F\u03AD\u03AD\u04DA\u04CB\u04BC\u046F\u03F6\u03F6\u01EA\u01E9\u01F7\u01E7\u038E\u03F5\u03D9\u039D\u035F\u037E\u03CA\u03BB\u03F4\u034F\uFAC1\u033F\u02F3\u02F3\u03D8\u038D\u01AC\u016E\u02F2\u022F\uFA91\u02F0\u01E6\u01C9\u039C\u03E5\u02BA\u02BA\u03D7\u037D\u02E4\u02E4\u038C\u036D\u02E3\u02E3\u029B\u029B\u03B9\u03AA\u01F1\u011F\u010F\u010F\u02AB\u025E\u024E\u02C8\u02D6\u023E\u012E\u012E\u02E2\u02E0\u01E1\u011E\u020E\u02D5\u025D\u02C7\u027C\u02D4\u02B8\u028B\u024D\u02A9\u029A\u02C6\u016C\u01D3\u023D\u02B7\u01D2\u01D2\u012D\u01D1\u017B\u017B\u02C5\u025C\u0299\u02A7\u013C\u013C\u027A\u0279\u01B4\u01B4\u01D0\u010D\u01A8\u018A\u01C4\u014C\u01B6\u016B\u015B\u0198\u0189\u01C0\u014B\u01A6\u016A\u0197\u0188\u01A5\u015A\u0196\u0187\u0178\u0177\u0167\u05A1\u051A\uF6C1\u050A\uF6B1\u0539\uF6A1\uF691\u0592\u0529\uF681\u0583\u0538\uF671\uF661\uF651\u0491\u0491\u0419\u0419\u0590\u0509\u0584\u0548\u0527\uF641\u0482\u0482\u0428\u0428\u0481\u0481\u01A0\u0186\u0168\u0194\u0193\u0185\u0158\u0176\u0175\u0157\u0166\u0174\u0147\u0165\u0156\u0137\u0164\u0146\u0573\u0572\u0471\u0471\u0417\u0417\u0555\u0570\u0507\u0563\u0536\u0554\u0545\u0562\u0526\u0553\u0318\u0318\u0318\u0318\u0480\u0480\u0408\u0408\u0461\u0461\u0416\u0416\u0460\u0460\u0406\u0406\uF4B1\u0452\u0425\u0450\u0351\u0351\u0315\u0315\u0443\u0434\u0405\u0442\u0424\u0433\u0341\u0341\u0135\u0144\u0214\u0214\u0340\u0304\u0332\u0323\u0231\u0231\u0213\u0230\u0203\u0222\u0121\u0112\u0120\u0102\uFF06\uFB65\uF9D5\uF8D4\uF834\uF7B4\uF733\uF6E3\uF693\uF653\uF612\uF5F2\uF5D1\uF5C2\uF5A1\u0522\u0521\u0512\u0520\u0502\u0311\u0311\u0311\u0311\u0410\u0410\u0401\u0401\u0300\u0300\u0300\u0300\uFD02\uFCE2\uFCC2\uFCA2\uFC81\uFC71\uFC61\uFC51\uFC41\uFC31\uFC21\uFC11\uFC01\uFBF1\uFBE1\uFBD2\u06BC\u066F\uFBB1\uFBA1\u065F\u06E7\u067E\u06CA\u06AC\u06BB\uFB91\u06F4\u064F\u06F3\u063F\u068D\u066E\u06F2\u062F\uFB81\u06F1\u061F\u06C9\u069C\u06E5\u06BA\u06AB\u065E\u06D7\u067D\u06E4\u064E\u06C8\u068C\u06E3\u06D6\u066D\u063E\u06B9\u069B\u06E2\u06AA\u062E\u06E1\u061E\uFB71\u06D5\u065D\u02FF\u02FE\u02EF\u02FD\u01EE\u01EE\u02DF\u02FC\u02CF\u02ED\u02DE\u02FB\u01BF\u01BF\u02EC\u02CE\u01DD\u01FA\u01AF\u01EB\u01BE\u01DC\u01CD\u01F9\u019F\u01AE\u01DB\u01BD\u01F8\u018F\u01CC\u01E9\u019E\u01F7\u017F\u01DA\u01AD\u01CB\u01F6\u01F6\u02EA\u02F0\u01E8\u018E\u01F5\u01D9\u019D\u01D8\u01E6\u010F\u01E0\u010E\uFA61\uFA51\u054D\uFA41\uFA31\uFA21\u053D\u052D\uFA11\u05D1\u05B7\u057B\u051D\uFA01\u055C\u05A8\u058A\u05C4\u054C\u05B6\u056B\uF9F1\u05C3\u053C\u05A7\u057A\u056A\uF9E1\u042C\u042C\u05C2\u05B5\u01C7\u017C\u01D4\u01B8\u018B\u01A9\u019A\u01C6\u016C\u01D3\u01D2\u01D0\u01C5\u010D\u0199\u01C0\u010C\u01B0\u055B\u05C1\u0598\u0589\u051C\u05B4\u054B\u05A6\u05B3\u0597\u043B\u043B\u0579\u0588\u05B2\u05A5\u042B\u042B\u055A\u05B1\u041B\u041B\u050B\u0596\u0569\u05A4\u054A\u0587\u0578\u05A3\u043A\u043A\u0495\u0459\u04A2\u042A\u04A1\u041A\uF851\u0486\u0468\u0494\u0449\u0493\u0439\uF841\u0485\u0458\u01A0\u010A\u0177\u0190\u0492\u0476\u0467\u0429\u0319\u0319\u0491\u0409\u0484\u0448\u0475\u0457\u0483\u0438\u0466\u0474\u0382\u0382\u0328\u0328\u0381\u0381\u0318\u0318\u0447\u0480\u0408\u0465\u0456\u0473\u0437\u0464\u0372\u0327\u0346\u0371\u0355\u0317\uF6F1\u0363\u0170\u0107\u0336\u0354\u0345\u0362\u0326\u0361\uF6A1\u0353\u0160\u0106\u0216\u0216\u0335\u0344\u0252\u0252\u0225\u0225\u0251\u0251\u0215\u0215\u0350\u0305\u0243\u0243\u0234\u0242\u0224\u0233\u0114\u0114\u0241\u0240\u0132\u0123\u0204\u0230\u0131\u0131\u0113\u0103\uFF05\uFC84\uF7F6\uF5C4\uF4F4\uF473\uF431\uF421\u0411\u0411\u0410\u0410\u0301\u0301\u0301\u0301\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\uFE01\uFDF1\uFDE1\uFDD1\u05FA\uFDC1\uFDB1\u05F8\u05F7\u057F\u05F6\u056F\u03FF\u03FF\u03FF\u03FF\u05F5\u055F\u04F4\u04F4\u044F\u044F\u043F\u043F\u040F\u040F\u05F3\uFDA4\u032F\u032F\u032F\u032F\u01FE\u01EF\u01FD\u01DF\u01FC\u01CF\u01FB\u01BF\u01AF\u01F9\u019F\u018F\uFD22\uFCF2\u04EE\uFCD1\u04EB\u04DC\uFCC1\u04EA\u04CC\uFCB1\uFCA1\u04AC\uFC91\u04E5\u03DB\u03DB\u02EC\uFD01\u01ED\u01ED\u01CE\u01DD\u019E\u019E\u02AE\u029D\u01DE\u01BE\u01CD\u01BD\u01DA\u01AD\u01E7\u01CA\u019C\u01D7\u04F2\u04F0\u03F1\u03F1\u031F\u031F\uFC05\uFB04\uFA54\uF9D3\uF973\uF923\uF8E3\uF8A2\uF873\uF833\u04E9\u04E9\u05CB\u05BC\u05E8\u058E\u05D9\u057E\u05BB\u05D8\u058D\u05E6\u046E\u046E\u04C9\u04C9\u05BA\u05AB\u055E\u057D\u04E4\u04E4\u054E\u05C8\u048C\u048C\u04E3\u04E3\u04D6\u04D6\u056D\u05B9\uFA81\u041E\u044D\uFA71\u04B7\uFA61\u033E\u033E\u04E0\u040E\u04D5\u045D\u04C7\u047C\u04D4\u04B8\u019B\u01AA\u018B\u019A\u017B\u010D\u04A9\u04C6\u046C\u04D3\u04C5\u045C\u03D0\u03D0\u04A8\u048A\u0499\u04C4\u046B\u04A7\u03C3\u03C3\uF991\u03C1\u030C\uF981\u022E\u022E\u03E2\u03E1\u01B5\u0198\u0189\u0197\u033D\u03D2\u032D\u031D\u03B3\uF931\u02D1\u02D1\u0179\u0188\u034C\u03B6\u033C\u037A\u02C2\u02C2\u032C\u035B\u031C\u03C0\u03B4\u034B\u03A6\u036A\u023B\u023B\uF881\u02B2\u022B\u02B1\u01A5\u015A\u021B\u021B\u03B0\u030B\u0396\u0369\u03A4\u034A\u0387\u0378\u023A\u023A\u03A3\u0395\u02A2\u02A2\uF5F1\u061A\uF5E1\u0649\uF5D1\u0676\u052A\u052A\u05A1\u05A1\u06A0\u060A\u0693\u0639\u0685\u0658\u0592\u0592\u0529\u0529\u0667\u0690\u0591\u0591\u0519\u0519\u0609\u0684\u0648\u0657\u0683\u0638\u0666\u0682\u0528\u0528\u0674\u0647\u0581\u0581\u0518\u0518\u0508\u0508\u0680\u0665\u0573\u0573\u0537\u0537\u0656\u0664\u0572\u0572\u0527\u0527\u0646\u0655\u0570\u0570\u0471\u0471\u0471\u0471\u0159\u0186\u0168\u0177\u0194\u0175\u0417\uF541\uF531\uF521\u0426\u0461\u0416\uF511\u0435\uF501\u0452\u0425\u0315\u0315\u0451\u0450\u0107\u0163\u0136\u0154\u0145\u0162\u0160\u0106\u0153\u0144\u0443\u0434\u0405\u0442\u0424\u0433\u0341\u0341\u0314\u0314\u0440\u0404\u0332\u0332\u0323\u0323\u0231\u0231\u0213\u0213\u0330\u0303\u0222\u0222\u0121\u0112\u0120\u0102\uFF03\uFEC3\uFE83\uFE42\uFE22\uFE03\u04FF\u04FF\uFCD5\uFB65\uFA55\uF924\uF894\uF814\uF773\uF733\uF6E3\uF692\uF673\uF631\uF622\u0521\u0512\uF601\u0411\u0411\u0410\u0410\u0401\u0401\u0400\u0400\u03FE\u03EF\u03FD\u03DF\u03FC\u03CF\u03FB\u03BF\u02AF\u02AF\u03FA\u03F9\u029F\u029F\u028F\u028F\u03F8\u03F7\u027F\u027F\u02F6\u02F6\u026F\u026F\u02F5\u025F\u02F4\u024F\u02F3\u023F\u02F2\u022F\u021F\u021F\u03F1\u030F\uFDC1\uFD93\uFD53\uFD13\u01F0\uFDB2\u02EE\u02ED\u02DE\u02EC\u03CE\u03DD\u03EB\u03BE\u03DC\u03CD\u03EA\u03AE\u03DB\u03BD\u03CC\u03E9\u039E\u03DA\u03AD\u03CB\u03BC\u03E8\u038E\u03D9\u039D\u03E7\u037E\u03CA\uFBD1\uFBC1\uFBB2\u056E\uFB91\u059C\u05E5\u05AB\u055E\uFB81\u057D\u054E\u05C8\u058C\uFB71\u05E3\u05D6\u056D\u053E\u05B9\u059B\u05AA\u052E\u05E1\u051E\u05D5\u055D\u05C7\u057C\u05D4\u05B8\u058B\u01AC\u01BB\u01D8\u018D\u02E0\u020E\u01D0\u01D0\u01E6\u01C9\u01BA\u01D7\u01E4\u01E2\u054D\u05A9\u059A\u05C6\u056C\u05D3\u053D\u05D2\u052D\u05D1\u05B7\u057B\u051D\u05C5\u055C\u05A8\u058A\u0599\u05C4\u054C\u05B6\u056B\uFA61\u05C3\u053C\u05A7\u057A\u05C2\u052C\u05B5\u055B\u05C1\u010D\u01C0\u0598\u0589\u051C\u05B4\uF951\u05B3\uF941\u05A1\u044B\u044B\u05A6\u056A\u0597\u0579\uF931\u0509\u043B\u043B\u0488\u0488\u05B2\u05A5\u042B\u042B\u055A\u05B1\u051B\u0596\u0469\u0469\u044A\u044A\u010C\u01B0\u010B\u01A0\u010A\u0190\uF8A1\u0478\u04A3\u043A\u0495\u0459\u04A2\u042A\u041A\u0486\u0468\u0477\u0494\u0449\u0493\u0439\u01A4\u0187\u0485\u0458\u0492\u0476\u0467\u0429\u0491\u0419\u0484\u0448\u0475\u0457\u0483\u0438\u0466\u0482\u0428\u0481\u0474\u0447\u0418\uF791\u0465\u0456\u0471\uF781\u0337\u0337\u0473\u0472\u0327\u0327\u0180\u0108\u0170\u0107\u0364\u0346\u0355\u0317\u0363\u0336\u0354\u0345\u0362\u0326\u0361\u0316\uF6F1\u0353\u0335\u0344\u0160\u0106\u0352\u0325\u0351\uF6A1\u0215\u0215\u0343\u0334\u0150\u0105\u0242\u0224\u0233\u0241\u0214\u0214\u0340\u0304\u0232\u0232\u0223\u0223\u0131\u0113\u0230\u0203\u0122\u0122\u0120\u0102', 0, 4, null);
    var tmp_21 = this;
    tmp_21.sdb_1 = arrayOfUByte$default(this, '\x82\xA2\xC1\xD1,\x1CL\x8C\t\t\t\t\t\t\t\t\xBE\xFE\xDE\xEE~^\x9D\x9Dm=\xAD\xCD', 0, 4, null);
    var tmp_22 = this;
    tmp_22.tdb_1 = arrayOfUByte$default(this, '\xFC\xEC\xDC\xCC\xBC\xAC\x9C\x8C|l\\L<,\x1C\f', 0, 4, null);
    var tmp_23 = this;
    tmp_23.udb_1 = arrayOfShort$default(this, '\x00 @b\x00\x84\xB4\xDA\u0124\u016C\u01AA\u021A\u0288\u02EA\x00\u0466\u05B4\u05B4\u05B4\u05B4\u05B4\u05B4\u05B4\u05B4\u0732\u0732\u0732\u0732\u0732\u0732\u0732\u0732', 0, 4, null);
    var tmp_24 = this;
    tmp_24.vdb_1 = arrayOfUByte$default(this, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x06\b\n\r\x04\x05\x06\x07\b\t\x0B\r', 0, 4, null);
    var tmp_25 = this;
    tmp_25.wdb_1 = arrayOfUByte$default(this, '\x00\x11\x03\x04\x05\x06\x07\b\t\n\x0B\f\r\x0E\x0F\x10\x00\x11\x12\x03\x13\x04\x05\x06\x07\b\t\n\x0B\f\r\x10\x00\x11\x12\x03\x13\x04\x05\x10\x00\x11\x12\x10\x00\x11\x12\x13\x04\x05\x06\x07\b\t\n\x0B\f\r\x0E\x0F\x00\x11\x12\x03\x13\x04\x05\x06\x07\b\t\n\x0B\f\r\x0E\x00\x02\x03\x04\x05\x06\x07\b\t\n\x0B\f\r\x0E\x0F\x10', 0, 4, null);
    var tmp_26 = this;
    var tmp$ret$29;
    // Inline function 'kotlin.arrayOf' call
    var tmp_27 = new UByteArrayInt_1(arrayOfUByte$default(this, '\x06\x06\x06\x06\x06\x06\b\n\f\x0E\x10\x14\x18\x1C &.4<D:6\x00', 0, 4, null));
    var tmp_28 = new UByteArrayInt_1(arrayOfUByte$default(this, '\f\f\f\f\f\f\x10\x14\x18\x1C (08@LZ\x02\x02\x02\x02\x02\x00', 0, 4, null));
    var tmp_29 = new UByteArrayInt_1(arrayOfUByte$default(this, '\x06\x06\x06\x06\x06\x06\b\n\f\x0E\x10\x14\x18\x1C &.4<D:6\x00', 0, 4, null));
    var tmp_30 = new UByteArrayInt_1(arrayOfUByte$default(this, '\x06\x06\x06\x06\x06\x06\b\n\f\x0E\x10\x12\x16\x1A &.6>FL$\x00', 0, 4, null));
    var tmp_31 = new UByteArrayInt_1(arrayOfUByte$default(this, '\x06\x06\x06\x06\x06\x06\b\n\f\x0E\x10\x14\x18\x1C &.4<D:6\x00', 0, 4, null));
    var tmp_32 = new UByteArrayInt_1(arrayOfUByte$default(this, '\x04\x04\x04\x04\x04\x04\x06\x06\b\b\n\f\x10\x14\x18\x1C"*26L\x9E\x00', 0, 4, null));
    var tmp_33 = new UByteArrayInt_1(arrayOfUByte$default(this, '\x04\x04\x04\x04\x04\x04\x06\x06\x06\b\n\f\x10\x12\x16\x1C"(.66\xC0\x00', 0, 4, null));
    var tmp0_arrayOf_2 = [tmp_27, tmp_28, tmp_29, tmp_30, tmp_31, tmp_32, tmp_33, new UByteArrayInt_1(arrayOfUByte$default(this, '\x04\x04\x04\x04\x04\x04\x06\x06\b\n\f\x10\x14\x18\x1E&.8DTf\x1A\x00', 0, 4, null))];
    var tmp$ret$28;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp$ret$27;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$27 = tmp0_arrayOf_2;
    tmp$ret$28 = tmp$ret$27;
    tmp$ret$29 = tmp$ret$28;
    tmp_26.xdb_1 = tmp$ret$29;
    var tmp_34 = this;
    var tmp$ret$32;
    // Inline function 'kotlin.arrayOf' call
    var tmp_35 = new UByteArrayInt_1(arrayOfUByte$default(this, '\x04\x04\x04\x04\x04\x04\x04\x04\x04\x06\x06\x06\b\b\b\n\n\n\f\f\f\x0E\x0E\x0E\x12\x12\x12\x18\x18\x18\x1E\x1E\x1E(((\x12\x12\x12\x00', 0, 4, null));
    var tmp_36 = new UByteArrayInt_1(arrayOfUByte$default(this, '\b\b\b\b\b\b\b\b\b\f\f\f\x10\x10\x10\x14\x14\x14\x18\x18\x18\x1C\x1C\x1C$$$\x02\x02\x02\x02\x02\x02\x02\x02\x02\x1A\x1A\x1A\x00', 0, 4, null));
    var tmp_37 = new UByteArrayInt_1(arrayOfUByte$default(this, '\x04\x04\x04\x04\x04\x04\x04\x04\x04\x06\x06\x06\x06\x06\x06\b\b\b\n\n\n\x0E\x0E\x0E\x12\x12\x12\x1A\x1A\x1A   ***\x12\x12\x12\x00', 0, 4, null));
    var tmp_38 = new UByteArrayInt_1(arrayOfUByte$default(this, '\x04\x04\x04\x04\x04\x04\x04\x04\x04\x06\x06\x06\b\b\b\n\n\n\f\f\f\x0E\x0E\x0E\x12\x12\x12\x18\x18\x18   ,,,\f\f\f\x00', 0, 4, null));
    var tmp_39 = new UByteArrayInt_1(arrayOfUByte$default(this, '\x04\x04\x04\x04\x04\x04\x04\x04\x04\x06\x06\x06\b\b\b\n\n\n\f\f\f\x0E\x0E\x0E\x12\x12\x12\x18\x18\x18\x1E\x1E\x1E(((\x12\x12\x12\x00', 0, 4, null));
    var tmp_40 = new UByteArrayInt_1(arrayOfUByte$default(this, '\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x06\x06\x06\b\b\b\n\n\n\f\f\f\x0E\x0E\x0E\x12\x12\x12\x16\x16\x16\x1E\x1E\x1E888\x00', 0, 4, null));
    var tmp_41 = new UByteArrayInt_1(arrayOfUByte$default(this, '\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x06\x06\x06\x06\x06\x06\n\n\n\f\f\f\x0E\x0E\x0E\x10\x10\x10\x14\x14\x14\x1A\x1A\x1ABBB\x00', 0, 4, null));
    var tmp0_arrayOf_3 = [tmp_35, tmp_36, tmp_37, tmp_38, tmp_39, tmp_40, tmp_41, new UByteArrayInt_1(arrayOfUByte$default(this, '\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x06\x06\x06\b\b\b\f\f\f\x10\x10\x10\x14\x14\x14\x1A\x1A\x1A"""***\f\f\f\x00', 0, 4, null))];
    var tmp$ret$31;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp$ret$30;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$30 = tmp0_arrayOf_3;
    tmp$ret$31 = tmp$ret$30;
    tmp$ret$32 = tmp$ret$31;
    tmp_34.ydb_1 = tmp$ret$32;
    var tmp_42 = this;
    var tmp$ret$35;
    // Inline function 'kotlin.arrayOf' call
    var tmp_43 = new UByteArrayInt_1(arrayOfUByte(this, '\x06\x06\x06\x06\x06\x06\x06\x06\x06\b\b\b\n\n\n\f\f\f\x0E\x0E\x0E\x12\x12\x12\x18\x18\x18\x1E\x1E\x1E(((\x12\x12\x12\x00', 40));
    var tmp0_arrayOf_4 = [tmp_43, new UByteArrayInt_1(arrayOfUByte$default(this, '\f\f\f\x04\x04\x04\b\b\b\f\f\f\x10\x10\x10\x14\x14\x14\x18\x18\x18\x1C\x1C\x1C$$$\x02\x02\x02\x02\x02\x02\x02\x02\x02\x1A\x1A\x1A\x00', 0, 4, null)), new UByteArrayInt_1(arrayOfUByte(this, '\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\b\b\b\n\n\n\x0E\x0E\x0E\x12\x12\x12\x1A\x1A\x1A   ***\x12\x12\x12\x00', 40)), new UByteArrayInt_1(arrayOfUByte(this, '\x06\x06\x06\x06\x06\x06\x06\x06\x06\b\b\b\n\n\n\f\f\f\x0E\x0E\x0E\x12\x12\x12\x18\x18\x18   ,,,\f\f\f\x00', 40)), new UByteArrayInt_1(arrayOfUByte(this, '\x06\x06\x06\x06\x06\x06\x06\x06\x06\b\b\b\n\n\n\f\f\f\x0E\x0E\x0E\x12\x12\x12\x18\x18\x18\x1E\x1E\x1E(((\x12\x12\x12\x00', 40)), new UByteArrayInt_1(arrayOfUByte(this, '\x04\x04\x04\x04\x04\x04\x06\x06\x04\x04\x04\x06\x06\x06\b\b\b\n\n\n\f\f\f\x0E\x0E\x0E\x12\x12\x12\x16\x16\x16\x1E\x1E\x1E888\x00', 40)), new UByteArrayInt_1(arrayOfUByte(this, '\x04\x04\x04\x04\x04\x04\x06\x06\x04\x04\x04\x06\x06\x06\x06\x06\x06\n\n\n\f\f\f\x0E\x0E\x0E\x10\x10\x10\x14\x14\x14\x1A\x1A\x1ABBB\x00', 40)), new UByteArrayInt_1(arrayOfUByte(this, '\x04\x04\x04\x04\x04\x04\x06\x06\x04\x04\x04\x06\x06\x06\b\b\b\f\f\f\x10\x10\x10\x14\x14\x14\x1A\x1A\x1A"""***\f\f\f\x00', 40))];
    var tmp$ret$34;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp$ret$33;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$33 = tmp0_arrayOf_4;
    tmp$ret$34 = tmp$ret$33;
    tmp$ret$35 = tmp$ret$34;
    tmp_42.zdb_1 = tmp$ret$35;
    var tmp_44 = this;
    var tmp$ret$38;
    // Inline function 'kotlin.arrayOf' call
    var tmp_45 = new UByteArrayInt_1(arrayOfUByte$default(this, '\x06\x05\x05\x05\x06\x05\x05\x05\x06\x05\x07\x03\x0B\n\x00\x00\x07\x07\x07\x00\x06\x06\x06\x03\b\b\x05\x00', 0, 4, null));
    var tmp_46 = new UByteArrayInt_1(arrayOfUByte$default(this, '\b\t\x06\f\x06\t\t\t\x06\t\f\x06\x0F\x12\x00\x00\x06\x0F\f\x00\x06\f\t\x06\x06\x12\t\x00', 0, 4, null));
    var tmp0_arrayOf_5 = [tmp_45, tmp_46, new UByteArrayInt_1(arrayOfUByte$default(this, '\t\t\x06\f\t\t\t\t\t\t\f\x06\x12\x12\x00\x00\f\f\f\x00\f\t\t\x06\x0F\f\t\x00', 0, 4, null))];
    var tmp$ret$37;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp$ret$36;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$36 = tmp0_arrayOf_5;
    tmp$ret$37 = tmp$ret$36;
    tmp$ret$38 = tmp$ret$37;
    tmp_44.adc_1 = tmp$ret$38;
    var tmp_47 = this;
    var tmp$ret$41;
    // Inline function 'kotlin.arrayOf' call
    var tmp0_arrayOf_6 = [new L12_subband_alloc_tStruct(_UByte___init__impl__g9hnc4(76), _UByte___init__impl__g9hnc4(4), _UByte___init__impl__g9hnc4(32))];
    var tmp$ret$40;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp$ret$39;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$39 = tmp0_arrayOf_6;
    tmp$ret$40 = tmp$ret$39;
    tmp$ret$41 = tmp$ret$40;
    tmp_47.bdc_1 = tmp$ret$41;
    var tmp_48 = this;
    var tmp$ret$44;
    // Inline function 'kotlin.arrayOf' call
    var tmp0_arrayOf_7 = [new L12_subband_alloc_tStruct(_UByte___init__impl__g9hnc4(60), _UByte___init__impl__g9hnc4(4), _UByte___init__impl__g9hnc4(4)), new L12_subband_alloc_tStruct(_UByte___init__impl__g9hnc4(44), _UByte___init__impl__g9hnc4(3), _UByte___init__impl__g9hnc4(7)), new L12_subband_alloc_tStruct(_UByte___init__impl__g9hnc4(44), _UByte___init__impl__g9hnc4(2), _UByte___init__impl__g9hnc4(19))];
    var tmp$ret$43;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp$ret$42;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$42 = tmp0_arrayOf_7;
    tmp$ret$43 = tmp$ret$42;
    tmp$ret$44 = tmp$ret$43;
    tmp_48.cdc_1 = tmp$ret$44;
    var tmp_49 = this;
    var tmp$ret$47;
    // Inline function 'kotlin.arrayOf' call
    var tmp0_arrayOf_8 = [new L12_subband_alloc_tStruct(_UByte___init__impl__g9hnc4(0), _UByte___init__impl__g9hnc4(4), _UByte___init__impl__g9hnc4(3)), new L12_subband_alloc_tStruct(_UByte___init__impl__g9hnc4(16), _UByte___init__impl__g9hnc4(4), _UByte___init__impl__g9hnc4(8)), new L12_subband_alloc_tStruct(_UByte___init__impl__g9hnc4(32), _UByte___init__impl__g9hnc4(3), _UByte___init__impl__g9hnc4(12)), new L12_subband_alloc_tStruct(_UByte___init__impl__g9hnc4(40), _UByte___init__impl__g9hnc4(2), _UByte___init__impl__g9hnc4(7))];
    var tmp$ret$46;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp$ret$45;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$45 = tmp0_arrayOf_8;
    tmp$ret$46 = tmp$ret$45;
    tmp$ret$47 = tmp$ret$46;
    tmp_49.ddc_1 = tmp$ret$47;
    var tmp_50 = this;
    var tmp$ret$50;
    // Inline function 'kotlin.arrayOf' call
    var tmp0_arrayOf_9 = [new L12_subband_alloc_tStruct(_UByte___init__impl__g9hnc4(44), _UByte___init__impl__g9hnc4(4), _UByte___init__impl__g9hnc4(2)), new L12_subband_alloc_tStruct(_UByte___init__impl__g9hnc4(44), _UByte___init__impl__g9hnc4(3), _UByte___init__impl__g9hnc4(10))];
    var tmp$ret$49;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp$ret$48;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$48 = tmp0_arrayOf_9;
    tmp$ret$49 = tmp$ret$48;
    tmp$ret$50 = tmp$ret$49;
    tmp_50.edc_1 = tmp$ret$50;
    var tmp_51 = this;
    var tmp$ret$51;
    // Inline function 'kotlin.floatArrayOf' call
    tmp$ret$51 = new Float32Array([0.0, -1.0, -2.519842, -4.326749, -6.349604, -8.54988, -10.902724, -13.390518, -16.0, -18.720755, -21.544348, -24.463781, -27.473143, -30.56735, -33.741993, -36.99318, 0.0, 1.0, 2.519842, 4.326749, 6.349604, 8.54988, 10.902724, 13.390518, 16.0, 18.720755, 21.544348, 24.463781, 27.473143, 30.56735, 33.741993, 36.99318, 40.317474, 43.71179, 47.173344, 50.69963, 54.288353, 57.93741, 61.644863, 65.40894, 69.22798, 73.10044, 77.024895, 81.0, 85.02449, 89.09719, 93.21697, 97.3828, 101.593666, 105.84863, 110.146805, 114.48732, 118.869385, 123.292206, 127.755066, 132.25725, 136.79808, 141.3769, 145.99312, 150.64612, 155.33533, 160.0602, 164.8202, 169.61482, 174.44357, 179.30598, 184.20157, 189.12991, 194.09058, 199.08315, 204.10721, 209.16238, 214.24829, 219.36456, 224.51085, 229.68678, 234.89206, 240.12633, 245.38928, 250.6806, 256.0, 261.34717, 266.72183, 272.12372, 277.55255, 283.00806, 288.48996, 293.99805, 299.53207, 305.09177, 310.6769, 316.28726, 321.92258, 327.5827, 333.26736, 338.97638, 344.70956, 350.46664, 356.24747, 362.05188, 367.8796, 373.73053, 379.60443, 385.50113, 391.4205, 397.3623, 403.32642, 409.31268, 415.3209, 421.3509, 427.4026, 433.47574, 439.57028, 445.68597, 451.82275, 457.98044, 464.15887, 470.35797, 476.57755, 482.81744, 489.0776, 495.35788, 501.65808, 507.97815, 514.31793, 520.6773, 527.0562, 533.4544, 539.8719, 546.3085, 552.76404, 559.2386, 565.7319, 572.2439, 578.7744, 585.3235, 591.89087, 598.47656, 605.08044, 611.70233, 618.3422, 625.0, 631.67554, 638.3688, 645.0796]);
    tmp_51.fdc_1 = tmp$ret$51;
  }
  Companion_7.$metadata$ = objectMeta('Companion');
  var Companion_instance_7;
  function Companion_getInstance_11() {
    if (Companion_instance_7 == null)
      new Companion_7();
    return Companion_instance_7;
  }
  function L12_subband_alloc_tStruct(tab_offset, code_tab_width, band_count) {
    this.gdc_1 = tab_offset;
    this.hdc_1 = code_tab_width;
    this.idc_1 = band_count;
  }
  L12_subband_alloc_tStruct.prototype.toString = function () {
    return 'L12_subband_alloc_tStruct(tab_offset=' + new UByte(this.gdc_1) + ', code_tab_width=' + new UByte(this.hdc_1) + ', band_count=' + new UByte(this.idc_1) + ')';
  };
  L12_subband_alloc_tStruct.prototype.hashCode = function () {
    var result = UByte__hashCode_impl_mmczcb(this.gdc_1);
    result = imul(result, 31) + UByte__hashCode_impl_mmczcb(this.hdc_1) | 0;
    result = imul(result, 31) + UByte__hashCode_impl_mmczcb(this.idc_1) | 0;
    return result;
  };
  L12_subband_alloc_tStruct.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof L12_subband_alloc_tStruct))
      return false;
    var tmp0_other_with_cast = other instanceof L12_subband_alloc_tStruct ? other : THROW_CCE();
    if (!(this.gdc_1 === tmp0_other_with_cast.gdc_1))
      return false;
    if (!(this.hdc_1 === tmp0_other_with_cast.hdc_1))
      return false;
    if (!(this.idc_1 === tmp0_other_with_cast.idc_1))
      return false;
    return true;
  };
  L12_subband_alloc_tStruct.$metadata$ = classMeta('L12_subband_alloc_tStruct');
  function Mp3Dec(mdct_overlap, qmf_state, reserv, free_format_bytes_array, header, reserv_buf) {
    this.jdc_1 = mdct_overlap;
    this.kdc_1 = qmf_state;
    this.ldc_1 = reserv;
    this.mdc_1 = free_format_bytes_array;
    this.ndc_1 = header;
    this.odc_1 = reserv_buf;
  }
  Mp3Dec.$metadata$ = classMeta('Mp3Dec');
  function Bs(buf, pos, limit) {
    this.pdc_1 = buf;
    this.qdc_1 = pos;
    this.rdc_1 = limit;
  }
  Bs.$metadata$ = classMeta('Bs');
  function Mp3Scratch(bs, maindata, gr_info, grbuf, scf, syn, ist_pos) {
    this.sdc_1 = bs;
    this.tdc_1 = maindata;
    this.udc_1 = gr_info;
    this.vdc_1 = grbuf;
    this.wdc_1 = scf;
    this.xdc_1 = syn;
    this.ydc_1 = ist_pos;
  }
  Mp3Scratch.$metadata$ = classMeta('Mp3Scratch');
  function Mp3FrameInfo(frame_bytes, frame_offset, channels, hz, layer, bitrate_kbps) {
    this.zdc_1 = frame_bytes;
    this.add_1 = frame_offset;
    this.bdd_1 = channels;
    this.cdd_1 = hz;
    this.ddd_1 = layer;
    this.edd_1 = bitrate_kbps;
  }
  Mp3FrameInfo.prototype.l1 = function () {
    return this;
  };
  Mp3FrameInfo.$metadata$ = classMeta('Mp3FrameInfo');
  function ArrayPtr(array, pos) {
    this.fdd_1 = array;
    this.gdd_1 = pos;
  }
  ArrayPtr.prototype.l1 = function () {
    return this.fdd_1[this.gdd_1];
  };
  ArrayPtr.prototype.m = function (index) {
    return this.fdd_1[this.gdd_1 + index | 0];
  };
  ArrayPtr.prototype.go = function () {
    return new ArrayPtr(this.fdd_1, this.gdd_1 + 1 | 0);
  };
  ArrayPtr.prototype.bo = function (other) {
    return new ArrayPtr(this.fdd_1, this.gdd_1 + other | 0);
  };
  ArrayPtr.$metadata$ = classMeta('ArrayPtr');
  function UByteArrayIntPtr(array, pos) {
    this.hdd_1 = array;
    this.idd_1 = pos;
  }
  UByteArrayIntPtr.prototype.l1 = function () {
    return UByteArrayInt__get_impl_px6q8a(this.hdd_1, this.idd_1);
  };
  UByteArrayIntPtr.prototype.m = function (index) {
    return UByteArrayInt__get_impl_px6q8a(this.hdd_1, this.idd_1 + index | 0);
  };
  UByteArrayIntPtr.prototype.r4o = function (index, value) {
    UByteArrayInt__set_impl_gn4532(this.hdd_1, this.idd_1 + index | 0, value);
  };
  UByteArrayIntPtr.prototype.go = function () {
    return new UByteArrayIntPtr(this.hdd_1, this.idd_1 + 1 | 0);
  };
  UByteArrayIntPtr.prototype.bo = function (other) {
    return new UByteArrayIntPtr(this.hdd_1, this.idd_1 + other | 0);
  };
  UByteArrayIntPtr.prototype.jdd = function (other) {
    return this.idd_1 - other.idd_1 | 0;
  };
  UByteArrayIntPtr.prototype.kdd = function (value, from, to) {
    var tmp = _UByteArrayInt___get_bytes__impl__pj0ilc(this.hdd_1);
    var tmp$ret$0;
    // Inline function 'kotlin.UByte.toByte' call
    tmp$ret$0 = _UByte___get_data__impl__jof9qr(value);
    fill(tmp, tmp$ret$0, this.idd_1 + from | 0, this.idd_1 + to | 0);
  };
  UByteArrayIntPtr.$metadata$ = classMeta('UByteArrayIntPtr');
  function FloatArrayPtr(array, pos) {
    this.ldd_1 = array;
    this.mdd_1 = pos;
  }
  FloatArrayPtr.prototype.ndd = function (value) {
    this.ldd_1[this.mdd_1] = value;
  };
  FloatArrayPtr.prototype.l1 = function () {
    return this.ldd_1[this.mdd_1];
  };
  FloatArrayPtr.prototype.m = function (index) {
    return this.ldd_1[this.mdd_1 + index | 0];
  };
  FloatArrayPtr.prototype.w4q = function (index, value) {
    this.ldd_1[this.mdd_1 + index | 0] = value;
  };
  FloatArrayPtr.prototype.go = function () {
    return new FloatArrayPtr(this.ldd_1, this.mdd_1 + 1 | 0);
  };
  FloatArrayPtr.prototype.bo = function (other) {
    return new FloatArrayPtr(this.ldd_1, this.mdd_1 + other | 0);
  };
  FloatArrayPtr.prototype.odd = function (other) {
    return this.mdd_1 - other.mdd_1 | 0;
  };
  FloatArrayPtr.prototype.pdd = function (value, from, to) {
    fill_0(this.ldd_1, value, this.mdd_1 + from | 0, this.mdd_1 + to | 0);
  };
  FloatArrayPtr.$metadata$ = classMeta('FloatArrayPtr');
  function ShortArrayPtr(array, pos) {
    this.qdd_1 = array;
    this.rdd_1 = pos;
  }
  ShortArrayPtr.prototype.p4z = function (index, value) {
    this.qdd_1[this.rdd_1 + index | 0] = value;
  };
  ShortArrayPtr.prototype.bo = function (other) {
    return new ShortArrayPtr(this.qdd_1, this.rdd_1 + other | 0);
  };
  ShortArrayPtr.$metadata$ = classMeta('ShortArrayPtr');
  function GrInfo(sfbtab, part_23_length, big_values, scalefac_compress, global_gain, block_type, mixed_block_flag, n_long_sfb, n_short_sfb, table_select, region_count, subblock_gain, preflag, scalefac_scale, count1_table, scfsi) {
    this.sdd_1 = sfbtab;
    this.tdd_1 = part_23_length;
    this.udd_1 = big_values;
    this.vdd_1 = scalefac_compress;
    this.wdd_1 = global_gain;
    this.xdd_1 = block_type;
    this.ydd_1 = mixed_block_flag;
    this.zdd_1 = n_long_sfb;
    this.ade_1 = n_short_sfb;
    this.bde_1 = table_select;
    this.cde_1 = region_count;
    this.dde_1 = subblock_gain;
    this.ede_1 = preflag;
    this.fde_1 = scalefac_scale;
    this.gde_1 = count1_table;
    this.hde_1 = scfsi;
  }
  GrInfo.$metadata$ = classMeta('GrInfo');
  function ScaleInfo(scf, total_bands, stereo_bands, bitalloc, scfcod) {
    this.ide_1 = scf;
    this.jde_1 = total_bands;
    this.kde_1 = stereo_bands;
    this.lde_1 = bitalloc;
    this.mde_1 = scfcod;
  }
  ScaleInfo.$metadata$ = classMeta('ScaleInfo');
  function MiniMp3Program() {
    Companion_getInstance_11();
    this.nde_1 = new Int32Array(3);
    this.ode_1 = new Float32Array(9);
    this.pde_1 = new Float32Array(9);
    this.qde_1 = new Float32Array(4);
    this.rde_1 = new Float32Array(4);
    this.sde_1 = Mp3Scratch_init_$Create$();
    var tmp = this;
    tmp.tde_1 = Bs_init_$Create$(null, 0, 0, 7, null);
  }
  MiniMp3Program.prototype.ude = function (dst, src, size) {
    arraycopy(src.ldd_1, src.mdd_1, dst.ldd_1, dst.mdd_1, size);
  };
  MiniMp3Program.prototype.vde = function (dst, src, size) {
    arraycopy_0(src.hdd_1, src.idd_1, dst.hdd_1, dst.idd_1, size);
  };
  MiniMp3Program.prototype.wde = function (_this__u8e3s4) {
    return _this__u8e3s4 ? 1 : 0;
  };
  MiniMp3Program.prototype.xde = function (bs, data, bytes) {
    bs.pdc_1 = data;
    bs.qdc_1 = 0;
    bs.rdc_1 = imul(bytes, 8);
  };
  MiniMp3Program.prototype.yde = function (bs, n) {
    var cache = 0;
    var s = bs.qdc_1 & 7;
    var shl = n + s | 0;
    var p = bs.pdc_1.bo(bs.qdc_1 >>> 3 | 0);
    var tmp0_this = bs;
    tmp0_this.qdc_1 = tmp0_this.qdc_1 + n | 0;
    if (bs.qdc_1 > bs.rdc_1)
      return 0;
    var next = p.l1() & (255 >>> s | 0);
    var tmp1 = p;
    p = tmp1.go();
    $l$loop: while (true) {
      shl = shl - 8 | 0;
      if (shl <= 0)
        break $l$loop;
      cache = cache | next << shl;
      next = p.l1();
      var tmp2 = p;
      p = tmp2.go();
    }
    return cache | (next >>> (-shl | 0) | 0);
  };
  MiniMp3Program.prototype.zde = function (h) {
    var h0 = h.m(0);
    var h1 = h.m(1);
    var h2 = h.m(2);
    return (((h0 === 255 ? (h1 & 240) === 240 ? true : (h1 & 254) === 226 : false) ? !((h1 >> 1 & 3) === 0) : false) ? !(h2 >> 4 === 15) : false) ? !((h2 >> 2 & 3) === 3) : false;
  };
  MiniMp3Program.prototype.adf = function (h1, h2) {
    return this.wde(((this.zde(h2) ? ((h1.m(1) ^ h2.m(1)) & 254) === 0 : false) ? ((h1.m(2) ^ h2.m(2)) & 12) === 0 : false) ? (this.wde((h1.m(2) & 240) === 0) ^ this.wde((h2.m(2) & 240) === 0)) === 0 : false);
  };
  MiniMp3Program.prototype.bdf = function (h) {
    return imul(2, UByteArrayInt__get_impl_px6q8a(Companion_getInstance_11().ndb_1[this.wde(!((h.m(1) & 8) === 0))][(h.m(1) >> 1 & 3) - 1 | 0].y4v_1, h.m(2) >> 4));
  };
  MiniMp3Program.prototype.cdf = function (h) {
    var g_hz = Companion_getInstance_11().mdb_1;
    return g_hz[h.m(2) >> 2 & 3] >> this.wde((h.m(1) & 8) === 0) >> this.wde((h.m(1) & 16) === 0);
  };
  MiniMp3Program.prototype.ddf = function (h) {
    return (h.m(1) & 6) === 6 ? 384 : 1152 >> this.wde((h.m(1) & 14) === 2);
  };
  MiniMp3Program.prototype.edf = function (h, free_format_size) {
    var frame_bytes = imul(imul(this.ddf(h), this.bdf(h)), 125) / this.cdf(h) | 0;
    if ((h.m(1) & 6) === 6) {
      frame_bytes = frame_bytes & -4;
    }
    return !(frame_bytes === 0) ? frame_bytes : free_format_size;
  };
  MiniMp3Program.prototype.fdf = function (h) {
    return !((h.m(2) & 2) === 0) ? (h.m(1) & 6) === 6 ? 4 : 1 : 0;
  };
  MiniMp3Program.prototype.gdf = function (hdr, sci) {
    var alloc = Companion_getInstance_11().bdc_1;
    var mode = hdr.m(3) >> 6 & 3;
    var nbands;
    var tmp0_subject = mode;
    {
      var stereo_bands;
      switch (tmp0_subject) {
        case 3:
          stereo_bands = 0;
          break;
        case 1:
          stereo_bands = ((hdr.m(3) >> 4 & 3) << 2) + 4 | 0;
          break;
        default:
          stereo_bands = 32;
          break;
      }
    }
    if ((hdr.m(1) & 6) === 6) {
      alloc = Companion_getInstance_11().bdc_1;
      nbands = 32;
    } else if ((hdr.m(1) & 8) === 0) {
      alloc = Companion_getInstance_11().cdc_1;
      nbands = 30;
    } else {
      var sample_rate_idx = hdr.m(2) >> 2 & 3;
      var kbps = this.bdf(hdr) >> this.wde(!(mode === 3));
      if (kbps === 0)
        kbps = 192;
      alloc = Companion_getInstance_11().ddc_1;
      nbands = 27;
      if (kbps < 56) {
        alloc = Companion_getInstance_11().edc_1;
        nbands = sample_rate_idx === 2 ? 12 : 8;
      } else if (kbps >= 96 ? !(sample_rate_idx === 1) : false) {
        nbands = 30;
      }
    }
    sci.jde_1 = nbands;
    sci.kde_1 = stereo_bands > nbands ? nbands : stereo_bands;
    return alloc;
  };
  MiniMp3Program.prototype.hdf = function (bs, pba, scfcod, bands, scf) {
    var scfOffset = 0;
    var g_deq_L12 = Companion_getInstance_11().ldb_1;
    var inductionVariable = 0;
    if (inductionVariable < bands)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var s = 0.0;
        var ba = UByteArrayInt__get_impl_px6q8a(pba, i);
        var mask = !(ba === 0) ? 4 + (19 >> UByteArrayInt__get_impl_px6q8a(scfcod, i) & 3) | 0 : 0;
        var m = 4;
        while (!(m === 0)) {
          if (!((mask & m) === 0)) {
            var b = this.yde(bs, 6);
            s = g_deq_L12[(imul(ba, 3) - 6 | 0) + (b % 3 | 0) | 0] * (2097152 >> (b / 3 | 0));
          }
          scf.w4q(scfOffset, s);
          m = m >> 1;
          var tmp1 = scfOffset;
          scfOffset = tmp1 + 1 | 0;
        }
      }
       while (inductionVariable < bands);
  };
  MiniMp3Program.prototype.idf = function (hdr, bs, sci) {
    var tmp = Companion_getInstance_11().wdb_1;
    var g_bitalloc_code_tab = UByteArrayIntPtr_init_$Create$(tmp, 0, 2, null);
    var subband_alloc = this.gdf(hdr, sci);
    var subband_alloc_n = 0;
    var k = 0;
    var ba_bits = 0;
    var ba_code_tab = g_bitalloc_code_tab;
    var inductionVariable = 0;
    var last = sci.jde_1;
    if (inductionVariable < last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var ba = 0;
        if (i === k) {
          var tmp_0 = k;
          var tmp$ret$0;
          // Inline function 'kotlin.UByte.toInt' call
          var tmp0_toInt = subband_alloc[subband_alloc_n].idc_1;
          tmp$ret$0 = _UByte___get_data__impl__jof9qr(tmp0_toInt) & 255;
          k = tmp_0 + tmp$ret$0 | 0;
          var tmp$ret$1;
          // Inline function 'kotlin.UByte.toInt' call
          var tmp1_toInt = subband_alloc[subband_alloc_n].hdc_1;
          tmp$ret$1 = _UByte___get_data__impl__jof9qr(tmp1_toInt) & 255;
          ba_bits = tmp$ret$1;
          var tmp$ret$2;
          // Inline function 'kotlin.UByte.toInt' call
          var tmp2_toInt = subband_alloc[subband_alloc_n].gdc_1;
          tmp$ret$2 = _UByte___get_data__impl__jof9qr(tmp2_toInt) & 255;
          ba_code_tab = g_bitalloc_code_tab.bo(tmp$ret$2);
          var tmp1 = subband_alloc_n;
          subband_alloc_n = tmp1 + 1 | 0;
        }
        ba = ba_code_tab.m(this.yde(bs, ba_bits));
        UByteArrayInt__set_impl_gn4532(sci.lde_1, imul(2, i), ba);
        if (i < sci.kde_1) {
          ba = ba_code_tab.m(this.yde(bs, ba_bits));
        }
        UByteArrayInt__set_impl_gn4532(sci.lde_1, imul(2, i) + 1 | 0, !(sci.kde_1 === 0) ? ba : 0);
      }
       while (inductionVariable < last);
    var inductionVariable_0 = 0;
    var last_0 = imul(2, sci.jde_1);
    if (inductionVariable_0 < last_0)
      do {
        var i_0 = inductionVariable_0;
        inductionVariable_0 = inductionVariable_0 + 1 | 0;
        UByteArrayInt__set_impl_gn4532(sci.mde_1, i_0, !(UByteArrayInt__get_impl_px6q8a(sci.lde_1, i_0) === 0) ? (hdr.m(1) & 6) === 6 ? 2 : this.yde(bs, 2) : 6);
      }
       while (inductionVariable_0 < last_0);
    var tmp_1 = sci.lde_1;
    var tmp_2 = sci.mde_1;
    var tmp_3 = imul(sci.jde_1, 2);
    var tmp_4 = sci.ide_1;
    this.hdf(bs, tmp_1, tmp_2, tmp_3, FloatArrayPtr_init_$Create$(tmp_4, 0, 2, null));
    var inductionVariable_1 = sci.kde_1;
    var last_1 = sci.jde_1;
    if (inductionVariable_1 < last_1)
      do {
        var i_1 = inductionVariable_1;
        inductionVariable_1 = inductionVariable_1 + 1 | 0;
        UByteArrayInt__set_impl_gn4532(sci.lde_1, imul(2, i_1) + 1 | 0, 0);
      }
       while (inductionVariable_1 < last_1);
  };
  MiniMp3Program.prototype.jdf = function (grbuf, bs, sci, group_size) {
    var choff = 576;
    var inductionVariable = 0;
    if (inductionVariable < 4)
      do {
        var j = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var dst = grbuf.bo(imul(group_size, j));
        var inductionVariable_0 = 0;
        var last = imul(2, sci.jde_1);
        if (inductionVariable_0 < last)
          do {
            var i = inductionVariable_0;
            inductionVariable_0 = inductionVariable_0 + 1 | 0;
            var ba = UByteArrayInt__get_impl_px6q8a(sci.lde_1, i);
            if (!(ba === 0)) {
              if (ba < 17) {
                var half = (1 << (ba - 1 | 0)) - 1 | 0;
                var inductionVariable_1 = 0;
                if (inductionVariable_1 < group_size)
                  do {
                    var k = inductionVariable_1;
                    inductionVariable_1 = inductionVariable_1 + 1 | 0;
                    dst.w4q(k, this.yde(bs, ba) - half | 0);
                  }
                   while (inductionVariable_1 < group_size);
              } else {
                var mod = (2 << (ba - 17 | 0)) + 1 | 0;
                var code = this.yde(bs, (mod + 2 | 0) - (mod >> 3) | 0);
                var inductionVariable_2 = 0;
                if (inductionVariable_2 < group_size)
                  do {
                    var k_0 = inductionVariable_2;
                    inductionVariable_2 = inductionVariable_2 + 1 | 0;
                    dst.w4q(k_0, (code % mod | 0) - (mod / 2 | 0) | 0);
                    code = code / mod | 0;
                  }
                   while (inductionVariable_2 < group_size);
              }
            }
            dst = dst.bo(choff);
            choff = 18 - choff | 0;
          }
           while (inductionVariable_0 < last);
      }
       while (inductionVariable < 4);
    return imul(group_size, 4);
  };
  MiniMp3Program.prototype.kdf = function (sci, scf, dst) {
    var scf_0 = scf;
    var dst_0 = dst;
    this.ude(dst_0.bo(576).bo(imul(sci.kde_1, 18)), dst_0.bo(imul(sci.kde_1, 18)), imul(sci.jde_1 - sci.kde_1 | 0, 18));
    var inductionVariable = 0;
    var last = sci.jde_1;
    if (inductionVariable < last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var inductionVariable_0 = 0;
        if (inductionVariable_0 < 12)
          do {
            var k = inductionVariable_0;
            inductionVariable_0 = inductionVariable_0 + 1 | 0;
            dst_0.w4q(k + 0 | 0, dst_0.m(k + 0 | 0) * scf_0.m(0));
            dst_0.w4q(k + 576 | 0, dst_0.m(k + 576 | 0) * scf_0.m(3));
          }
           while (inductionVariable_0 < 12);
        dst_0 = dst_0.bo(18);
        scf_0 = scf_0.bo(6);
      }
       while (inductionVariable < last);
  };
  MiniMp3Program.prototype.ldf = function (bs, gr, hdr) {
    var gr_0 = gr;
    var g_scf_long = Companion_getInstance_11().xdb_1;
    var g_scf_short = Companion_getInstance_11().ydb_1;
    var g_scf_mixed = Companion_getInstance_11().zdb_1;
    var tables;
    var scfsi = 0;
    var main_data_begin;
    var part_23_sum = 0;
    var sr_idx = (hdr.m(2) >> 2 & 3) + imul((hdr.m(1) >> 3 & 1) + (hdr.m(1) >> 4 & 1) | 0, 3) | 0;
    sr_idx = sr_idx - this.wde(!(sr_idx === 0)) | 0;
    var gr_count = (hdr.m(3) & 192) === 192 ? 1 : 2;
    if (!((hdr.m(1) & 8) === 0)) {
      gr_count = imul(gr_count, 2);
      main_data_begin = this.yde(bs, 9);
      scfsi = this.yde(bs, 7 + gr_count | 0);
    } else {
      main_data_begin = this.yde(bs, 8 + gr_count | 0) >> gr_count;
    }
    $l$1: do {
      $l$0: do {
        if ((hdr.m(3) & 192) === 192) {
          scfsi = scfsi << 4;
        }
        gr_0.l1().tdd_1 = this.yde(bs, 12);
        part_23_sum = part_23_sum + gr_0.l1().tdd_1 | 0;
        gr_0.l1().udd_1 = this.yde(bs, 9);
        if (gr_0.l1().udd_1 > 288)
          return -1;
        gr_0.l1().wdd_1 = this.yde(bs, 8);
        gr_0.l1().vdd_1 = this.yde(bs, !((hdr.m(1) & 8) === 0) ? 4 : 9);
        var tmp = gr_0.l1();
        var tmp_0 = g_scf_long[sr_idx].y4v_1;
        tmp.sdd_1 = UByteArrayIntPtr_init_$Create$(tmp_0, 0, 2, null);
        gr_0.l1().zdd_1 = 22;
        gr_0.l1().ade_1 = 0;
        if (!(this.yde(bs, 1) === 0)) {
          gr_0.l1().xdd_1 = this.yde(bs, 2);
          if (gr_0.l1().xdd_1 === 0)
            return -1;
          gr_0.l1().ydd_1 = this.yde(bs, 1);
          UByteArrayInt__set_impl_gn4532_0(gr_0.l1().cde_1, 0, _UByte___init__impl__g9hnc4(7));
          UByteArrayInt__set_impl_gn4532(gr_0.l1().cde_1, 1, 255);
          if (gr_0.l1().xdd_1 === 2) {
            scfsi = scfsi & 3855;
            if (gr_0.l1().ydd_1 === 0) {
              UByteArrayInt__set_impl_gn4532(gr_0.l1().cde_1, 0, 8);
              var tmp_1 = gr_0.l1();
              var tmp_2 = g_scf_short[sr_idx].y4v_1;
              tmp_1.sdd_1 = UByteArrayIntPtr_init_$Create$(tmp_2, 0, 2, null);
              gr_0.l1().zdd_1 = 0;
              gr_0.l1().ade_1 = 39;
            } else {
              var tmp_3 = gr_0.l1();
              var tmp_4 = g_scf_mixed[sr_idx].y4v_1;
              tmp_3.sdd_1 = UByteArrayIntPtr_init_$Create$(tmp_4, 0, 2, null);
              gr_0.l1().zdd_1 = !((hdr.m(1) & 8) === 0) ? 8 : 6;
              gr_0.l1().ade_1 = 30;
            }
          }
          tables = this.yde(bs, 10);
          tables = tables << 5;
          UByteArrayInt__set_impl_gn4532(gr_0.l1().dde_1, 0, this.yde(bs, 3));
          UByteArrayInt__set_impl_gn4532(gr_0.l1().dde_1, 1, this.yde(bs, 3));
          UByteArrayInt__set_impl_gn4532(gr_0.l1().dde_1, 2, this.yde(bs, 3));
        } else {
          gr_0.l1().xdd_1 = 0;
          gr_0.l1().ydd_1 = 0;
          tables = this.yde(bs, 15);
          UByteArrayInt__set_impl_gn4532(gr_0.l1().cde_1, 0, this.yde(bs, 4));
          UByteArrayInt__set_impl_gn4532(gr_0.l1().cde_1, 1, this.yde(bs, 3));
          UByteArrayInt__set_impl_gn4532(gr_0.l1().cde_1, 2, 255);
        }
        UByteArrayInt__set_impl_gn4532(gr_0.l1().bde_1, 0, tables >> 10);
        UByteArrayInt__set_impl_gn4532(gr_0.l1().bde_1, 1, tables >> 5 & 31);
        UByteArrayInt__set_impl_gn4532(gr_0.l1().bde_1, 2, tables & 31);
        gr_0.l1().ede_1 = !((hdr.m(1) & 8) === 0) ? this.yde(bs, 1) : this.wde(gr_0.l1().vdd_1 >= 500);
        gr_0.l1().fde_1 = this.yde(bs, 1);
        gr_0.l1().gde_1 = this.yde(bs, 1);
        gr_0.l1().hde_1 = scfsi >> 12 & 15;
        scfsi = scfsi << 4;
        var tmp0 = gr_0;
        gr_0 = tmp0.go();
      }
       while (false);
      gr_count = gr_count - 1 | 0;
    }
     while (!(gr_count === 0));
    if ((part_23_sum + bs.qdc_1 | 0) > (bs.rdc_1 + imul(main_data_begin, 8) | 0))
      return -1;
    return main_data_begin;
  };
  MiniMp3Program.prototype.mdf = function (scf, ist_pos, scf_size, scf_count, bitbuf, scfsi) {
    var scf_0 = scf;
    var ist_pos_0 = UByteArrayIntPtr_init_$Create$(ist_pos, 0, 2, null);
    var scfsi_0 = scfsi;
    var inductionVariable = 0;
    if (inductionVariable < 4)
      $l$loop: do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        if (scf_count.m(i) === 0)
          break $l$loop;
        var cnt = scf_count.m(i);
        if (!((scfsi_0 & 8) === 0)) {
          var inductionVariable_0 = 0;
          if (inductionVariable_0 < cnt)
            do {
              var n = inductionVariable_0;
              inductionVariable_0 = inductionVariable_0 + 1 | 0;
              scf_0.r4o(n, ist_pos_0.m(n));
            }
             while (inductionVariable_0 < cnt);
        } else {
          var bits = UByteArrayInt__get_impl_px6q8a(scf_size, i);
          if (bits === 0) {
            scf_0.kdd(_UByte___init__impl__g9hnc4(0), 0, cnt);
            ist_pos_0.kdd(_UByte___init__impl__g9hnc4(0), 0, cnt);
          } else {
            var max_scf = (scfsi_0 < 0 ? toLong((1 << bits) - 1 | 0) : new Long(-1, -1)).d2();
            var inductionVariable_1 = 0;
            if (inductionVariable_1 < cnt)
              do {
                var k = inductionVariable_1;
                inductionVariable_1 = inductionVariable_1 + 1 | 0;
                var s = this.yde(bitbuf, bits);
                ist_pos_0.r4o(k, (s === max_scf ? new Long(-1, -1) : toLong(s)).d2());
                scf_0.r4o(k, s);
              }
               while (inductionVariable_1 < cnt);
          }
        }
        ist_pos_0 = ist_pos_0.bo(cnt);
        scf_0 = scf_0.bo(cnt);
        scfsi_0 = imul(scfsi_0, 2);
      }
       while (inductionVariable < 4);
    scf_0.r4o(0, 0);
    scf_0.r4o(1, 0);
    scf_0.r4o(2, 0);
  };
  MiniMp3Program.prototype.ndf = function (y, exp_q2) {
    var y_0 = y;
    var exp_q2_0 = exp_q2;
    var g_expfrac = Companion_getInstance_11().kdb_1;
    do {
      var e = 120 > exp_q2_0 ? exp_q2_0 : 120;
      y_0 = y_0 * (g_expfrac[e & 3] * (1073741824 >> (e >> 2)));
      exp_q2_0 = exp_q2_0 - e | 0;
    }
     while (exp_q2_0 > 0);
    return y_0;
  };
  MiniMp3Program.prototype.odf = function (hdr, ist_pos, bs, gr, scf, ch) {
    var g_scf_partitions = Companion_getInstance_11().adc_1;
    var tmp = g_scf_partitions[this.wde(!(gr.l1().ade_1 === 0)) + this.wde(gr.l1().zdd_1 === 0) | 0].y4v_1;
    var scf_partition = UByteArrayIntPtr_init_$Create$(tmp, 0, 2, null);
    var scf_size = UByteArrayInt_0(4);
    var iscf = UByteArrayInt_0(40);
    var scf_shift = gr.l1().fde_1 + 1 | 0;
    var scfsi = gr.l1().hde_1;
    if (!((UByteArrayInt__get_impl_px6q8a(hdr, 1) & 8) === 0)) {
      var g_scfc_decode = Companion_getInstance_11().odb_1;
      var part = UByteArrayInt__get_impl_px6q8a(g_scfc_decode, gr.l1().vdd_1);
      UByteArrayInt__set_impl_gn4532(scf_size, 0, part >> 2);
      UByteArrayInt__set_impl_gn4532(scf_size, 1, UByteArrayInt__get_impl_px6q8a(scf_size, 0));
      UByteArrayInt__set_impl_gn4532(scf_size, 2, part & 3);
      UByteArrayInt__set_impl_gn4532(scf_size, 3, UByteArrayInt__get_impl_px6q8a(scf_size, 2));
    } else {
      var g_mod = Companion_getInstance_11().pdb_1;
      var ist = this.wde(!((UByteArrayInt__get_impl_px6q8a(hdr, 3) & 16) === 0) ? !(ch === 0) : false);
      var sfc = gr.l1().vdd_1 >> ist;
      var k = imul(imul(ist, 3), 4);
      while (sfc >= 0) {
        var modprod = 1;
        var inductionVariable = 3;
        if (0 <= inductionVariable)
          do {
            var i = inductionVariable;
            inductionVariable = inductionVariable + -1 | 0;
            UByteArrayInt__set_impl_gn4532(scf_size, i, (sfc / modprod | 0) % UByteArrayInt__get_impl_px6q8a(g_mod, k + i | 0) | 0);
            modprod = imul(modprod, UByteArrayInt__get_impl_px6q8a(g_mod, k + i | 0));
          }
           while (0 <= inductionVariable);
        sfc = sfc - modprod | 0;
        k = k + 4 | 0;
      }
      scf_partition = scf_partition.bo(k);
      scfsi = -16;
    }
    this.mdf(UByteArrayIntPtr_init_$Create$(iscf, 0, 2, null), ist_pos, scf_size, scf_partition, bs, scfsi);
    if (!(gr.l1().ade_1 === 0)) {
      var sh = 3 - scf_shift | 0;
      var progression = step(until(0, gr.l1().ade_1), 3);
      var inductionVariable_0 = progression.r1_1;
      var last = progression.s1_1;
      var step_0 = progression.t1_1;
      if ((step_0 > 0 ? inductionVariable_0 <= last : false) ? true : step_0 < 0 ? last <= inductionVariable_0 : false)
        do {
          var i_0 = inductionVariable_0;
          inductionVariable_0 = inductionVariable_0 + step_0 | 0;
          UByteArrayInt__set_impl_gn4532(iscf, (gr.l1().zdd_1 + i_0 | 0) + 0 | 0, UByteArrayInt__get_impl_px6q8a(iscf, (gr.l1().zdd_1 + i_0 | 0) + 0 | 0) + (UByteArrayInt__get_impl_px6q8a(gr.l1().dde_1, 0) << sh) | 0);
          UByteArrayInt__set_impl_gn4532(iscf, (gr.l1().zdd_1 + i_0 | 0) + 1 | 0, UByteArrayInt__get_impl_px6q8a(iscf, (gr.l1().zdd_1 + i_0 | 0) + 1 | 0) + (UByteArrayInt__get_impl_px6q8a(gr.l1().dde_1, 1) << sh) | 0);
          UByteArrayInt__set_impl_gn4532(iscf, (gr.l1().zdd_1 + i_0 | 0) + 2 | 0, UByteArrayInt__get_impl_px6q8a(iscf, (gr.l1().zdd_1 + i_0 | 0) + 2 | 0) + (UByteArrayInt__get_impl_px6q8a(gr.l1().dde_1, 2) << sh) | 0);
        }
         while (!(i_0 === last));
    } else {
      if (!(gr.l1().ede_1 === 0)) {
        var g_preamp = Companion_getInstance_11().qdb_1;
        var inductionVariable_1 = 0;
        if (inductionVariable_1 < 10)
          do {
            var i_1 = inductionVariable_1;
            inductionVariable_1 = inductionVariable_1 + 1 | 0;
            UByteArrayInt__set_impl_gn4532(iscf, 11 + i_1 | 0, UByteArrayInt__get_impl_px6q8a(iscf, 11 + i_1 | 0) + UByteArrayInt__get_impl_px6q8a(g_preamp, i_1) | 0);
          }
           while (inductionVariable_1 < 10);
      }
    }
    var gain_exp = (numberToLong(gr.l1().wdd_1).v8(new Long(-4, -1)).d2() - 210 | 0) - ((UByteArrayInt__get_impl_px6q8a(hdr, 3) & 224) === 96 ? 2 : 0) | 0;
    var gain = this.ndf(2048, (new Long(44, 0)).a2(toLong(gain_exp)).d2());
    var inductionVariable_2 = 0;
    var last_0 = gr.l1().zdd_1 + gr.l1().ade_1 | 0;
    if (inductionVariable_2 < last_0)
      do {
        var i_2 = inductionVariable_2;
        inductionVariable_2 = inductionVariable_2 + 1 | 0;
        scf.w4q(i_2, this.ndf(gain, UByteArrayInt__get_impl_px6q8a(iscf, i_2) << scf_shift));
      }
       while (inductionVariable_2 < last_0);
  };
  MiniMp3Program.prototype.pdf = function (x) {
    var x_0 = x;
    var mult = 256;
    if (x_0 < 129)
      return Companion_getInstance_11().fdc_1[16 + x_0 | 0];
    if (x_0 < 1024) {
      mult = 16;
      x_0 = x_0 << 3;
    }
    var sign = imul(2, x_0) & 64;
    var frac = ((x_0 & 63) - sign | 0) / ((x_0 & -64) + sign | 0);
    return Companion_getInstance_11().fdc_1[16 + ((x_0 + sign | 0) >> 6) | 0] * (1.0 + frac * (4.0 / 3.0 + frac * (2.0 / 9.0))) * mult;
  };
  MiniMp3Program.prototype.qdf = function (dst, bs, gr_info, scf, layer3gr_limit) {
    var dst_0 = dst;
    var scf_0 = scf;
    var tabs = Companion_getInstance_11().rdb_1;
    var tab32 = Companion_getInstance_11().sdb_1;
    var tab33 = Companion_getInstance_11().tdb_1;
    var tabindex = Companion_getInstance_11().udb_1;
    var g_linbits = Companion_getInstance_11().vdb_1;
    var one = 0.0;
    var ireg = 0;
    var big_val_cnt = gr_info.l1().udd_1;
    var sfb = gr_info.l1().sdd_1;
    var bs_next_ptr = bs.pdc_1.bo(bs.qdc_1 / 8 | 0);
    var tmp$ret$0;
    // Inline function 'kotlin.toUInt' call
    var tmp0_toUInt = (imul(imul(imul(bs_next_ptr.m(0), 256) + bs_next_ptr.m(1) | 0, 256) + bs_next_ptr.m(2) | 0, 256) + bs_next_ptr.m(3) | 0) << (bs.qdc_1 & 7);
    tmp$ret$0 = _UInt___init__impl__l7qpdl(tmp0_toUInt);
    var bs_cache = tmp$ret$0;
    var pairs_to_decode = 0;
    var np = 0;
    var bs_sh = (bs.qdc_1 & 7) - 8 | 0;
    bs_next_ptr = bs_next_ptr.bo(4);
    while (big_val_cnt > 0) {
      var tab_num = UByteArrayInt__get_impl_px6q8a(gr_info.l1().bde_1, ireg);
      var tmp = gr_info.l1().cde_1;
      var tmp0 = ireg;
      ireg = tmp0 + 1 | 0;
      var sfb_cnt = UByteArrayInt__get_impl_px6q8a(tmp, tmp0);
      var codebook = tabindex[tab_num];
      var linbits = UByteArrayInt__get_impl_px6q8a(g_linbits, tab_num);
      if (!(linbits === 0)) {
        $l$3: do {
          $l$2: do {
            np = sfb.l1() / 2 | 0;
            var tmp1 = sfb;
            sfb = tmp1.go();
            pairs_to_decode = big_val_cnt > np ? np : big_val_cnt;
            var tmp2 = scf_0;
            scf_0 = tmp2.go();
            one = tmp2.l1();
            $l$1: do {
              $l$0: do {
                var w = 5;
                var tmp$ret$2;
                // Inline function 'kotlin.UInt.toInt' call
                var tmp$ret$1;
                // Inline function 'kotlin.UInt.shr' call
                var tmp1_shr = bs_cache;
                var tmp2_shr = 32 - w | 0;
                tmp$ret$1 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp1_shr) >>> tmp2_shr | 0);
                var tmp3_toInt = tmp$ret$1;
                tmp$ret$2 = _UInt___get_data__impl__f0vqqw(tmp3_toInt);
                var leaf = tabs[codebook + tmp$ret$2 | 0];
                while (leaf < 0) {
                  var tmp$ret$3;
                  // Inline function 'kotlin.UInt.shl' call
                  var tmp4_shl = bs_cache;
                  var tmp5_shl = w;
                  tmp$ret$3 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp4_shl) << tmp5_shl);
                  bs_cache = tmp$ret$3;
                  bs_sh = bs_sh + w | 0;
                  w = leaf & 7;
                  var tmp$ret$5;
                  // Inline function 'kotlin.UInt.toInt' call
                  var tmp$ret$4;
                  // Inline function 'kotlin.UInt.shr' call
                  var tmp6_shr = bs_cache;
                  var tmp7_shr = 32 - w | 0;
                  tmp$ret$4 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp6_shr) >>> tmp7_shr | 0);
                  var tmp8_toInt = tmp$ret$4;
                  tmp$ret$5 = _UInt___get_data__impl__f0vqqw(tmp8_toInt);
                  leaf = tabs[(codebook + tmp$ret$5 | 0) - (leaf >> 3) | 0];
                }
                var tmp$ret$6;
                // Inline function 'kotlin.UInt.shl' call
                var tmp9_shl = bs_cache;
                var tmp10_shl = leaf >> 8;
                tmp$ret$6 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp9_shl) << tmp10_shl);
                bs_cache = tmp$ret$6;
                bs_sh = bs_sh + (leaf >> 8) | 0;
                var inductionVariable = 0;
                if (inductionVariable < 2)
                  do {
                    var j = inductionVariable;
                    inductionVariable = inductionVariable + 1 | 0;
                    var lsb = leaf & 15;
                    if (lsb === 15) {
                      var tmp_0 = lsb;
                      var tmp$ret$8;
                      // Inline function 'kotlin.UInt.toInt' call
                      var tmp$ret$7;
                      // Inline function 'kotlin.UInt.shr' call
                      var tmp11_shr = bs_cache;
                      var tmp12_shr = 32 - linbits | 0;
                      tmp$ret$7 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp11_shr) >>> tmp12_shr | 0);
                      var tmp13_toInt = tmp$ret$7;
                      tmp$ret$8 = _UInt___get_data__impl__f0vqqw(tmp13_toInt);
                      lsb = tmp_0 + tmp$ret$8 | 0;
                      var tmp$ret$9;
                      // Inline function 'kotlin.UInt.shl' call
                      var tmp14_shl = bs_cache;
                      tmp$ret$9 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp14_shl) << linbits);
                      bs_cache = tmp$ret$9;
                      bs_sh = bs_sh + linbits | 0;
                      while (bs_sh >= 0) {
                        var tmp$ret$11;
                        // Inline function 'kotlin.UInt.or' call
                        var tmp16_or = bs_cache;
                        var tmp$ret$10;
                        // Inline function 'kotlin.toUInt' call
                        var tmp15_toUInt = bs_next_ptr.l1() << bs_sh;
                        tmp$ret$10 = _UInt___init__impl__l7qpdl(tmp15_toUInt);
                        var tmp17_or = tmp$ret$10;
                        tmp$ret$11 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp16_or) | _UInt___get_data__impl__f0vqqw(tmp17_or));
                        bs_cache = tmp$ret$11;
                        var tmp4 = bs_next_ptr;
                        bs_next_ptr = tmp4.go();
                        bs_sh = bs_sh - 8 | 0;
                      }
                      var tmp_1 = dst_0;
                      var tmp_2 = one * this.pdf(lsb);
                      var tmp_3;
                      var tmp$ret$12;
                      // Inline function 'kotlin.UInt.toInt' call
                      var tmp18_toInt = bs_cache;
                      tmp$ret$12 = _UInt___get_data__impl__f0vqqw(tmp18_toInt);
                      if (tmp$ret$12 < 0) {
                        tmp_3 = new Long(-1, -1);
                      } else {
                        tmp_3 = new Long(1, 0);
                      }
                      tmp_1.ndd(tmp_2 * tmp_3.mo());
                    } else {
                      var tmp_4 = dst_0;
                      var tmp_5 = Companion_getInstance_11().fdc_1;
                      var tmp_6 = 16 + lsb | 0;
                      var tmp$ret$14;
                      // Inline function 'kotlin.UInt.toInt' call
                      var tmp$ret$13;
                      // Inline function 'kotlin.UInt.shr' call
                      var tmp19_shr = bs_cache;
                      tmp$ret$13 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp19_shr) >>> 31 | 0);
                      var tmp20_toInt = tmp$ret$13;
                      tmp$ret$14 = _UInt___get_data__impl__f0vqqw(tmp20_toInt);
                      tmp_4.ndd(tmp_5[tmp_6 - imul(16, tmp$ret$14) | 0] * one);
                    }
                    var tmp$ret$15;
                    // Inline function 'kotlin.UInt.shl' call
                    var tmp21_shl = bs_cache;
                    var tmp22_shl = !(lsb === 0) ? 1 : 0;
                    tmp$ret$15 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp21_shl) << tmp22_shl);
                    bs_cache = tmp$ret$15;
                    bs_sh = bs_sh + (!(lsb === 0) ? 1 : 0) | 0;
                    var tmp5 = dst_0;
                    dst_0 = tmp5.go();
                    leaf = leaf >> 4;
                  }
                   while (inductionVariable < 2);
                while (bs_sh >= 0) {
                  var tmp$ret$17;
                  // Inline function 'kotlin.UInt.or' call
                  var tmp24_or = bs_cache;
                  var tmp$ret$16;
                  // Inline function 'kotlin.toUInt' call
                  var tmp23_toUInt = bs_next_ptr.l1() << bs_sh;
                  tmp$ret$16 = _UInt___init__impl__l7qpdl(tmp23_toUInt);
                  var tmp25_or = tmp$ret$16;
                  tmp$ret$17 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp24_or) | _UInt___get_data__impl__f0vqqw(tmp25_or));
                  bs_cache = tmp$ret$17;
                  var tmp6 = bs_next_ptr;
                  bs_next_ptr = tmp6.go();
                  bs_sh = bs_sh - 8 | 0;
                }
              }
               while (false);
              pairs_to_decode = pairs_to_decode - 1 | 0;
            }
             while (!(pairs_to_decode === 0));
            big_val_cnt = big_val_cnt - np | 0;
          }
           while (false);
          var tmp_7;
          if (big_val_cnt > 0) {
            sfb_cnt = sfb_cnt - 1 | 0;
            tmp_7 = sfb_cnt >= 0;
          } else {
            tmp_7 = false;
          }
        }
         while (tmp_7);
      } else {
        $l$7: do {
          $l$6: do {
            np = sfb.l1() / 2 | 0;
            var tmp7 = sfb;
            sfb = tmp7.go();
            pairs_to_decode = big_val_cnt > np ? np : big_val_cnt;
            var tmp8 = scf_0;
            scf_0 = tmp8.go();
            one = tmp8.l1();
            $l$5: do {
              $l$4: do {
                var w_0 = 5;
                var tmp$ret$19;
                // Inline function 'kotlin.UInt.toInt' call
                var tmp$ret$18;
                // Inline function 'kotlin.UInt.shr' call
                var tmp26_shr = bs_cache;
                var tmp27_shr = 32 - w_0 | 0;
                tmp$ret$18 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp26_shr) >>> tmp27_shr | 0);
                var tmp28_toInt = tmp$ret$18;
                tmp$ret$19 = _UInt___get_data__impl__f0vqqw(tmp28_toInt);
                var leaf_0 = tabs[codebook + tmp$ret$19 | 0];
                while (leaf_0 < 0) {
                  var tmp$ret$20;
                  // Inline function 'kotlin.UInt.shl' call
                  var tmp29_shl = bs_cache;
                  var tmp30_shl = w_0;
                  tmp$ret$20 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp29_shl) << tmp30_shl);
                  bs_cache = tmp$ret$20;
                  bs_sh = bs_sh + w_0 | 0;
                  w_0 = leaf_0 & 7;
                  var tmp$ret$22;
                  // Inline function 'kotlin.UInt.toInt' call
                  var tmp$ret$21;
                  // Inline function 'kotlin.UInt.shr' call
                  var tmp31_shr = bs_cache;
                  var tmp32_shr = 32 - w_0 | 0;
                  tmp$ret$21 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp31_shr) >>> tmp32_shr | 0);
                  var tmp33_toInt = tmp$ret$21;
                  tmp$ret$22 = _UInt___get_data__impl__f0vqqw(tmp33_toInt);
                  leaf_0 = tabs[(codebook + tmp$ret$22 | 0) - (leaf_0 >> 3) | 0];
                }
                var tmp$ret$23;
                // Inline function 'kotlin.UInt.shl' call
                var tmp34_shl = bs_cache;
                var tmp35_shl = leaf_0 >> 8;
                tmp$ret$23 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp34_shl) << tmp35_shl);
                bs_cache = tmp$ret$23;
                bs_sh = bs_sh + (leaf_0 >> 8) | 0;
                var inductionVariable_0 = 0;
                if (inductionVariable_0 < 2)
                  do {
                    var j_0 = inductionVariable_0;
                    inductionVariable_0 = inductionVariable_0 + 1 | 0;
                    var lsb_0 = leaf_0 & 15;
                    var tmp_8 = dst_0;
                    var tmp_9 = Companion_getInstance_11().fdc_1;
                    var tmp_10 = 16 + lsb_0 | 0;
                    var tmp$ret$25;
                    // Inline function 'kotlin.UInt.toInt' call
                    var tmp$ret$24;
                    // Inline function 'kotlin.UInt.shr' call
                    var tmp36_shr = bs_cache;
                    tmp$ret$24 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp36_shr) >>> 31 | 0);
                    var tmp37_toInt = tmp$ret$24;
                    tmp$ret$25 = _UInt___get_data__impl__f0vqqw(tmp37_toInt);
                    tmp_8.ndd(tmp_9[tmp_10 - imul(16, tmp$ret$25) | 0] * one);
                    var tmp$ret$26;
                    // Inline function 'kotlin.UInt.shl' call
                    var tmp38_shl = bs_cache;
                    var tmp39_shl = !(lsb_0 === 0) ? 1 : 0;
                    tmp$ret$26 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp38_shl) << tmp39_shl);
                    bs_cache = tmp$ret$26;
                    bs_sh = bs_sh + (!(lsb_0 === 0) ? 1 : 0) | 0;
                    var tmp10 = dst_0;
                    dst_0 = tmp10.go();
                    leaf_0 = leaf_0 >> 4;
                  }
                   while (inductionVariable_0 < 2);
                while (bs_sh >= 0) {
                  var tmp$ret$28;
                  // Inline function 'kotlin.UInt.or' call
                  var tmp41_or = bs_cache;
                  var tmp$ret$27;
                  // Inline function 'kotlin.toUInt' call
                  var tmp40_toUInt = bs_next_ptr.l1() << bs_sh;
                  tmp$ret$27 = _UInt___init__impl__l7qpdl(tmp40_toUInt);
                  var tmp42_or = tmp$ret$27;
                  tmp$ret$28 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp41_or) | _UInt___get_data__impl__f0vqqw(tmp42_or));
                  bs_cache = tmp$ret$28;
                  var tmp11 = bs_next_ptr;
                  bs_next_ptr = tmp11.go();
                  bs_sh = bs_sh - 8 | 0;
                }
              }
               while (false);
              pairs_to_decode = pairs_to_decode - 1 | 0;
            }
             while (!(pairs_to_decode === 0));
            big_val_cnt = big_val_cnt - np | 0;
          }
           while (false);
          var tmp_11;
          if (big_val_cnt > 0) {
            sfb_cnt = sfb_cnt - 1 | 0;
            tmp_11 = sfb_cnt >= 0;
          } else {
            tmp_11 = false;
          }
        }
         while (tmp_11);
      }
    }
    np = 1 - big_val_cnt | 0;
    $l$loop_1: while (true) {
      var codebook_count1 = !(gr_info.l1().gde_1 === 0) ? tab33 : tab32;
      var tmp$ret$30;
      // Inline function 'kotlin.UInt.toInt' call
      var tmp$ret$29;
      // Inline function 'kotlin.UInt.shr' call
      var tmp43_shr = bs_cache;
      var tmp44_shr = 28;
      tmp$ret$29 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp43_shr) >>> tmp44_shr | 0);
      var tmp45_toInt = tmp$ret$29;
      tmp$ret$30 = _UInt___get_data__impl__f0vqqw(tmp45_toInt);
      var leaf_1 = UByteArrayInt__get_impl_px6q8a(codebook_count1, tmp$ret$30);
      if ((leaf_1 & 8) === 0) {
        var tmp_12 = leaf_1 >> 3;
        var tmp$ret$33;
        // Inline function 'kotlin.UInt.toInt' call
        var tmp$ret$32;
        // Inline function 'kotlin.UInt.shr' call
        var tmp$ret$31;
        // Inline function 'kotlin.UInt.shl' call
        var tmp46_shl = bs_cache;
        tmp$ret$31 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp46_shl) << 4);
        var tmp47_shr = tmp$ret$31;
        var tmp48_shr = 32 - (leaf_1 & 3) | 0;
        tmp$ret$32 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp47_shr) >>> tmp48_shr | 0);
        var tmp49_toInt = tmp$ret$32;
        tmp$ret$33 = _UInt___get_data__impl__f0vqqw(tmp49_toInt);
        leaf_1 = UByteArrayInt__get_impl_px6q8a(codebook_count1, tmp_12 + tmp$ret$33 | 0);
      }
      var tmp$ret$34;
      // Inline function 'kotlin.UInt.shl' call
      var tmp50_shl = bs_cache;
      var tmp51_shl = leaf_1 & 7;
      tmp$ret$34 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp50_shl) << tmp51_shl);
      bs_cache = tmp$ret$34;
      bs_sh = bs_sh + (leaf_1 & 7) | 0;
      if (((imul(bs_next_ptr.jdd(bs.pdc_1), 8) - 24 | 0) + bs_sh | 0) > layer3gr_limit) {
        break $l$loop_1;
      }
      np = np - 1 | 0;
      if (np === 0) {
        np = sfb.l1() / 2 | 0;
        var tmp12 = sfb;
        sfb = tmp12.go();
        if (np === 0)
          break $l$loop_1;
        var tmp13 = scf_0;
        scf_0 = tmp13.go();
        one = tmp13.l1();
      }
      if (!((leaf_1 & 128) === 0)) {
        var tmp_13 = dst_0;
        var tmp_14;
        var tmp$ret$35;
        // Inline function 'kotlin.UInt.toInt' call
        var tmp52_toInt = bs_cache;
        tmp$ret$35 = _UInt___get_data__impl__f0vqqw(tmp52_toInt);
        if (tmp$ret$35 < 0) {
          tmp_14 = -one;
        } else {
          tmp_14 = one;
        }
        tmp_13.w4q(0, tmp_14);
        var tmp$ret$36;
        // Inline function 'kotlin.UInt.shl' call
        var tmp53_shl = bs_cache;
        tmp$ret$36 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp53_shl) << 1);
        bs_cache = tmp$ret$36;
        var tmp14 = bs_sh;
        bs_sh = tmp14 + 1 | 0;
      }
      if (!((leaf_1 & 64) === 0)) {
        var tmp_15 = dst_0;
        var tmp_16;
        var tmp$ret$37;
        // Inline function 'kotlin.UInt.toInt' call
        var tmp54_toInt = bs_cache;
        tmp$ret$37 = _UInt___get_data__impl__f0vqqw(tmp54_toInt);
        if (tmp$ret$37 < 0) {
          tmp_16 = -one;
        } else {
          tmp_16 = one;
        }
        tmp_15.w4q(1, tmp_16);
        var tmp$ret$38;
        // Inline function 'kotlin.UInt.shl' call
        var tmp55_shl = bs_cache;
        tmp$ret$38 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp55_shl) << 1);
        bs_cache = tmp$ret$38;
        var tmp15 = bs_sh;
        bs_sh = tmp15 + 1 | 0;
      }
      np = np - 1 | 0;
      if (np === 0) {
        np = sfb.l1() / 2 | 0;
        var tmp16 = sfb;
        sfb = tmp16.go();
        if (np === 0)
          break $l$loop_1;
        var tmp17 = scf_0;
        scf_0 = tmp17.go();
        one = tmp17.l1();
      }
      if (!((leaf_1 & 32) === 0)) {
        var tmp_17 = dst_0;
        var tmp_18;
        var tmp$ret$39;
        // Inline function 'kotlin.UInt.toInt' call
        var tmp56_toInt = bs_cache;
        tmp$ret$39 = _UInt___get_data__impl__f0vqqw(tmp56_toInt);
        if (tmp$ret$39 < 0) {
          tmp_18 = -one;
        } else {
          tmp_18 = one;
        }
        tmp_17.w4q(2, tmp_18);
        var tmp$ret$40;
        // Inline function 'kotlin.UInt.shl' call
        var tmp57_shl = bs_cache;
        tmp$ret$40 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp57_shl) << 1);
        bs_cache = tmp$ret$40;
        var tmp18 = bs_sh;
        bs_sh = tmp18 + 1 | 0;
      }
      if (!((leaf_1 & 16) === 0)) {
        var tmp_19 = dst_0;
        var tmp_20;
        var tmp$ret$41;
        // Inline function 'kotlin.UInt.toInt' call
        var tmp58_toInt = bs_cache;
        tmp$ret$41 = _UInt___get_data__impl__f0vqqw(tmp58_toInt);
        if (tmp$ret$41 < 0) {
          tmp_20 = -one;
        } else {
          tmp_20 = one;
        }
        tmp_19.w4q(3, tmp_20);
        var tmp$ret$42;
        // Inline function 'kotlin.UInt.shl' call
        var tmp59_shl = bs_cache;
        tmp$ret$42 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp59_shl) << 1);
        bs_cache = tmp$ret$42;
        var tmp19 = bs_sh;
        bs_sh = tmp19 + 1 | 0;
      }
      while (bs_sh >= 0) {
        var tmp$ret$44;
        // Inline function 'kotlin.UInt.or' call
        var tmp61_or = bs_cache;
        var tmp$ret$43;
        // Inline function 'kotlin.toUInt' call
        var tmp60_toUInt = bs_next_ptr.l1() << bs_sh;
        tmp$ret$43 = _UInt___init__impl__l7qpdl(tmp60_toUInt);
        var tmp62_or = tmp$ret$43;
        tmp$ret$44 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(tmp61_or) | _UInt___get_data__impl__f0vqqw(tmp62_or));
        bs_cache = tmp$ret$44;
        var tmp20 = bs_next_ptr;
        bs_next_ptr = tmp20.go();
        bs_sh = bs_sh - 8 | 0;
      }
      dst_0 = dst_0.bo(4);
    }
    bs.qdc_1 = layer3gr_limit;
  };
  MiniMp3Program.prototype.rdf = function (left, n) {
    var right = left.bo(576);
    var inductionVariable = 0;
    if (inductionVariable < n)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var a = left.m(i);
        var b = right.m(i);
        left.w4q(i, a + b);
        right.w4q(i, a - b);
      }
       while (inductionVariable < n);
  };
  MiniMp3Program.prototype.sdf = function (left, n, kl, kr) {
    var inductionVariable = 0;
    if (inductionVariable < n)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        left.w4q(i + 576 | 0, left.m(i) * kr);
        left.w4q(i, left.m(i) * kl);
      }
       while (inductionVariable < n);
  };
  MiniMp3Program.prototype.tdf = function (right, sfb, nbands, max_band) {
    var right_0 = right;
    max_band[0] = -1;
    max_band[1] = -1;
    max_band[2] = -1;
    var inductionVariable = 0;
    if (inductionVariable < nbands)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var k = 0;
        $l$loop: while (k < sfb.m(i)) {
          if (!(right_0.m(k) === 0.0) ? true : !(right_0.m(k + 1 | 0) === 0.0)) {
            max_band[i % 3 | 0] = i;
            break $l$loop;
          }
          k = k + 2 | 0;
        }
        right_0 = right_0.bo(sfb.m(i));
      }
       while (inductionVariable < nbands);
  };
  MiniMp3Program.prototype.udf = function (left, ist_pos, sfb, hdr, max_band, mpeg2_sh) {
    var left_0 = left;
    var g_pan = Companion_getInstance_11().gdb_1;
    var max_pos = !((UByteArrayInt__get_impl_px6q8a(hdr, 1) & 8) === 0) ? 7 : 64;
    var i = 0;
    while (!(sfb.m(i) === 0)) {
      var ipos = UByteArrayInt__get_impl_px6q8a(ist_pos, i);
      if (i > max_band[i % 3 | 0] ? ipos < max_pos : false) {
        var kl;
        var kr;
        var s = !((UByteArrayInt__get_impl_px6q8a(hdr, 3) & 32) === 0) ? 1.4142135 : 1.0;
        if (!((UByteArrayInt__get_impl_px6q8a(hdr, 1) & 8) === 0)) {
          kl = g_pan[imul(2, ipos) + 0 | 0];
          kr = g_pan[imul(2, ipos) + 1 | 0];
        } else {
          kl = 1.0;
          kr = this.ndf(1.0, (ipos + 1 | 0) >> 1 << mpeg2_sh);
          if (!((ipos & 1) === 0)) {
            kl = kr;
            kr = 1.0;
          }
        }
        this.sdf(left_0, sfb.m(i), kl * s, kr * s);
      } else {
        if (!((UByteArrayInt__get_impl_px6q8a(hdr, 3) & 32) === 0)) {
          this.rdf(left_0, sfb.m(i));
        }
      }
      left_0 = left_0.bo(sfb.m(i));
      var tmp0 = i;
      i = tmp0 + 1 | 0;
    }
  };
  MiniMp3Program.prototype.vdf = function (left, ist_pos, gr, hdr) {
    var max_band = this.nde_1;
    var n_sfb = gr.l1().zdd_1 + gr.l1().ade_1 | 0;
    var max_blocks = !(gr.l1().ade_1 === 0) ? 3 : 1;
    this.tdf(left.bo(576), gr.l1().sdd_1, n_sfb, max_band);
    if (!(gr.l1().zdd_1 === 0)) {
      var tmp$ret$1;
      // Inline function 'kotlin.math.max' call
      var tmp$ret$0;
      // Inline function 'kotlin.math.max' call
      var tmp0_max = max_band[0];
      var tmp1_max = max_band[1];
      tmp$ret$0 = Math.max(tmp0_max, tmp1_max);
      var tmp2_max = tmp$ret$0;
      var tmp3_max = max_band[2];
      tmp$ret$1 = Math.max(tmp2_max, tmp3_max);
      var v = tmp$ret$1;
      max_band[0] = v;
      max_band[1] = v;
      max_band[2] = v;
    }
    var inductionVariable = 0;
    if (inductionVariable < max_blocks)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var default_pos = !((UByteArrayInt__get_impl_px6q8a(hdr, 1) & 8) === 0) ? 3 : 0;
        var itop = (n_sfb - max_blocks | 0) + i | 0;
        var prev = itop - max_blocks | 0;
        UByteArrayInt__set_impl_gn4532(ist_pos, itop, max_band[i] >= prev ? default_pos : UByteArrayInt__get_impl_px6q8a(ist_pos, prev));
      }
       while (inductionVariable < max_blocks);
    this.udf(left, ist_pos, gr.l1().sdd_1, hdr, max_band, gr.m(1).vdd_1 & 1);
  };
  MiniMp3Program.prototype.wdf = function (grbuf, scratch, sfb) {
    var sfb_0 = sfb;
    var i = 0;
    var len = 0;
    var src = grbuf;
    var dst = scratch;
    $l$loop: while (true) {
      len = sfb_0.l1();
      if (len === 0)
        break $l$loop;
      i = 0;
      while (i < len) {
        var tmp0 = dst;
        dst = tmp0.go();
        tmp0.ndd(src.m(imul(0, len)));
        var tmp1 = dst;
        dst = tmp1.go();
        tmp1.ndd(src.m(imul(1, len)));
        var tmp2 = dst;
        dst = tmp2.go();
        tmp2.ndd(src.m(imul(2, len)));
        var tmp3 = i;
        i = tmp3 + 1 | 0;
        var tmp4 = src;
        src = tmp4.go();
      }
      sfb_0 = sfb_0.bo(3);
      src = src.bo(imul(2, len));
    }
    this.ude(grbuf, scratch, dst.odd(scratch));
  };
  MiniMp3Program.prototype.xdf = function (grbuf, nbands) {
    var grbuf_0 = grbuf;
    var nbands_0 = nbands;
    var g_aa = Companion_getInstance_11().idb_1;
    while (nbands_0 > 0) {
      var inductionVariable = 0;
      if (inductionVariable < 8)
        do {
          var i = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          var u = grbuf_0.m(18 + i | 0);
          var d = grbuf_0.m(17 - i | 0);
          grbuf_0.w4q(18 + i | 0, u * g_aa[0][i] - d * g_aa[1][i]);
          grbuf_0.w4q(17 - i | 0, u * g_aa[1][i] + d * g_aa[0][i]);
        }
         while (inductionVariable < 8);
      var tmp1 = nbands_0;
      nbands_0 = tmp1 - 1 | 0;
      grbuf_0 = grbuf_0.bo(18);
    }
  };
  MiniMp3Program.prototype.ydf = function (y) {
    var s0 = y[0];
    var s2 = y[2];
    var s4 = y[4];
    var s6 = y[6];
    var s8 = y[8];
    var t0 = s0 + s6 * 0.5;
    s0 = s0 - s6;
    var t4 = (s4 + s2) * 0.9396926;
    var t2 = (s8 + s2) * 0.76604444;
    s6 = (s4 - s8) * 0.17364818;
    s4 = s4 + (s8 - s2);
    s2 = s0 - s4 * 0.5;
    y[4] = s4 + s0;
    s8 = t0 - t2 + s6;
    s0 = t0 - t4 + t2;
    s4 = t0 + t4 - s6;
    var s1 = y[1];
    var s3 = y[3];
    var s5 = y[5];
    var s7 = y[7];
    s3 = s3 * 0.8660254;
    t0 = (s5 + s1) * 0.9848077;
    t4 = (s5 - s7) * 0.34202015;
    t2 = (s1 + s7) * 0.64278764;
    s1 = (s1 - s5 - s7) * 0.8660254;
    s5 = t0 - s3 - t2;
    s7 = t4 - s3 - t0;
    s3 = t4 + s3 - t2;
    y[0] = s4 - s7;
    y[1] = s2 + s1;
    y[2] = s0 - s3;
    y[3] = s8 + s5;
    y[5] = s8 - s5;
    y[6] = s0 + s3;
    y[7] = s2 - s1;
    y[8] = s4 + s7;
  };
  MiniMp3Program.prototype.zdf = function (grbuf, overlap, window_0, nbands) {
    var grbuf_0 = grbuf;
    var overlap_0 = overlap;
    var g_twid9 = Companion_getInstance_11().ddb_1;
    var inductionVariable = 0;
    if (inductionVariable < nbands)
      do {
        var j = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var co = this.ode_1;
        var si = this.pde_1;
        co[0] = -grbuf_0.m(0);
        si[0] = grbuf_0.m(17);
        var inductionVariable_0 = 0;
        if (inductionVariable_0 < 4)
          do {
            var i = inductionVariable_0;
            inductionVariable_0 = inductionVariable_0 + 1 | 0;
            si[8 - imul(2, i) | 0] = grbuf_0.m(imul(4, i) + 1 | 0) - grbuf_0.m(imul(4, i) + 2 | 0);
            co[1 + imul(2, i) | 0] = grbuf_0.m(imul(4, i) + 1 | 0) + grbuf_0.m(imul(4, i) + 2 | 0);
            si[7 - imul(2, i) | 0] = grbuf_0.m(imul(4, i) + 4 | 0) - grbuf_0.m(imul(4, i) + 3 | 0);
            co[2 + imul(2, i) | 0] = -(grbuf_0.m(imul(4, i) + 3 | 0) + grbuf_0.m(imul(4, i) + 4 | 0));
          }
           while (inductionVariable_0 < 4);
        this.ydf(co);
        this.ydf(si);
        si[1] = -si[1];
        si[3] = -si[3];
        si[5] = -si[5];
        si[7] = -si[7];
        var inductionVariable_1 = 0;
        if (inductionVariable_1 < 9)
          do {
            var i_0 = inductionVariable_1;
            inductionVariable_1 = inductionVariable_1 + 1 | 0;
            var ovl = overlap_0.m(i_0);
            var sum = co[i_0] * g_twid9[9 + i_0 | 0] + si[i_0] * g_twid9[0 + i_0 | 0];
            overlap_0.w4q(i_0, co[i_0] * g_twid9[0 + i_0 | 0] - si[i_0] * g_twid9[9 + i_0 | 0]);
            grbuf_0.w4q(i_0, ovl * window_0[0 + i_0 | 0] - sum * window_0[9 + i_0 | 0]);
            grbuf_0.w4q(17 - i_0 | 0, ovl * window_0[9 + i_0 | 0] + sum * window_0[0 + i_0 | 0]);
          }
           while (inductionVariable_1 < 9);
        grbuf_0 = grbuf_0.bo(18);
        overlap_0 = overlap_0.bo(9);
      }
       while (inductionVariable < nbands);
  };
  MiniMp3Program.prototype.adg = function (x0, x1, x2, dst) {
    var m1 = x1 * 0.8660254;
    var a1 = x0 - x2 * 0.5;
    dst[1] = x0 + x2;
    dst[0] = a1 + m1;
    dst[2] = a1 - m1;
  };
  MiniMp3Program.prototype.bdg = function (x, dst, overlap) {
    var g_twid3 = Companion_getInstance_11().edb_1;
    var co = this.qde_1;
    var si = this.rde_1;
    this.adg(-x.m(0), x.m(6) + x.m(3), x.m(12) + x.m(9), co);
    this.adg(x.m(15), x.m(12) - x.m(9), x.m(6) - x.m(3), si);
    si[1] = -si[1];
    var inductionVariable = 0;
    if (inductionVariable < 3)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var ovl = overlap.m(i);
        var sum = co[i] * g_twid3[3 + i | 0] + si[i] * g_twid3[0 + i | 0];
        overlap.w4q(i, co[i] * g_twid3[0 + i | 0] - si[i] * g_twid3[3 + i | 0]);
        dst.w4q(i, ovl * g_twid3[2 - i | 0] - sum * g_twid3[5 - i | 0]);
        dst.w4q(5 - i | 0, ovl * g_twid3[5 - i | 0] + sum * g_twid3[2 - i | 0]);
      }
       while (inductionVariable < 3);
  };
  MiniMp3Program.prototype.cdg = function (grbuf, overlap, nbands) {
    var grbuf_0 = grbuf;
    var overlap_0 = overlap;
    var nbands_0 = nbands;
    while (nbands_0 > 0) {
      var tmp = new Float32Array(18);
      var tmp_0 = FloatArrayPtr_init_$Create$(tmp, 0, 2, null);
      this.ude(tmp_0, grbuf_0, 18);
      this.ude(grbuf_0, overlap_0, 6);
      this.bdg(tmp_0, grbuf_0.bo(6), overlap_0.bo(6));
      this.bdg(tmp_0.bo(1), grbuf_0.bo(12), overlap_0.bo(6));
      this.bdg(tmp_0.bo(2), overlap_0, overlap_0.bo(6));
      var tmp0 = nbands_0;
      nbands_0 = tmp0 - 1 | 0;
      overlap_0 = overlap_0.bo(9);
      grbuf_0 = grbuf_0.bo(18);
    }
  };
  MiniMp3Program.prototype.ddg = function (grbuf) {
    var p = 18;
    var progression = step(until(0, 32), 2);
    var inductionVariable = progression.r1_1;
    var last = progression.s1_1;
    var step_0 = progression.t1_1;
    if ((step_0 > 0 ? inductionVariable <= last : false) ? true : step_0 < 0 ? last <= inductionVariable : false)
      do {
        var b = inductionVariable;
        inductionVariable = inductionVariable + step_0 | 0;
        var progression_0 = step(until(1, 18), 2);
        var inductionVariable_0 = progression_0.r1_1;
        var last_0 = progression_0.s1_1;
        var step_1 = progression_0.t1_1;
        if ((step_1 > 0 ? inductionVariable_0 <= last_0 : false) ? true : step_1 < 0 ? last_0 <= inductionVariable_0 : false)
          do {
            var i = inductionVariable_0;
            inductionVariable_0 = inductionVariable_0 + step_1 | 0;
            var index = p + i | 0;
            grbuf.w4q(index, -grbuf.m(index));
          }
           while (!(i === last_0));
        p = p + 36 | 0;
      }
       while (!(b === last));
  };
  MiniMp3Program.prototype.edg = function (grbuf, overlap, block_type, n_long_bands) {
    var grbuf_0 = grbuf;
    var overlap_0 = overlap;
    var g_mdct_window = Companion_getInstance_11().jdb_1;
    if (!(n_long_bands === 0)) {
      this.zdf(grbuf_0, overlap_0, g_mdct_window[0], n_long_bands);
      grbuf_0 = grbuf_0.bo(imul(18, n_long_bands));
      overlap_0 = overlap_0.bo(imul(9, n_long_bands));
    }
    if (block_type === 2) {
      this.cdg(grbuf_0, overlap_0, 32 - n_long_bands | 0);
    } else {
      this.zdf(grbuf_0, overlap_0, g_mdct_window[this.wde(block_type === 3)], 32 - n_long_bands | 0);
    }
  };
  MiniMp3Program.prototype.fdg = function (h, s) {
    var pos = (s.sdc_1.qdc_1 + 7 | 0) / 8 | 0;
    var remains = (s.sdc_1.rdc_1 / 8 | 0) - pos | 0;
    var tmp = remains;
    Companion_getInstance_11();
    if (tmp > 511) {
      var tmp_0 = pos;
      var tmp_1 = remains;
      Companion_getInstance_11();
      pos = tmp_0 + (tmp_1 - 511 | 0) | 0;
      Companion_getInstance_11();
      remains = 511;
    }
    if (remains > 0) {
      var tmp_2 = h.odc_1;
      this.vde(UByteArrayIntPtr_init_$Create$(tmp_2, 0, 2, null), s.tdc_1.bo(pos), remains);
    }
    h.ldc_1 = remains;
  };
  MiniMp3Program.prototype.gdg = function (h, bs, s, main_data_begin) {
    var frame_bytes = (bs.rdc_1 - bs.qdc_1 | 0) / 8 | 0;
    var bytes_have = h.ldc_1 > main_data_begin ? main_data_begin : h.ldc_1;
    var tmp = s.tdc_1;
    var tmp_0 = h.odc_1;
    this.vde(tmp, UByteArrayIntPtr_init_$Create$(tmp_0, 0, 2, null).bo(0 < (h.ldc_1 - main_data_begin | 0) ? h.ldc_1 - main_data_begin | 0 : 0), h.ldc_1 > main_data_begin ? main_data_begin : h.ldc_1);
    this.vde(s.tdc_1.bo(bytes_have), bs.pdc_1.bo(bs.qdc_1 / 8 | 0), frame_bytes);
    this.xde(s.sdc_1, s.tdc_1, bytes_have + frame_bytes | 0);
    return this.wde(h.ldc_1 >= main_data_begin);
  };
  MiniMp3Program.prototype.hdg = function (h, s, gr_info, nch) {
    var gr_info_0 = gr_info;
    var inductionVariable = 0;
    if (inductionVariable < nch)
      do {
        var ch = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var layer3gr_limit = s.sdc_1.qdc_1 + gr_info_0.m(ch).tdd_1 | 0;
        this.odf(h.ndc_1, s.ydc_1[ch].y4v_1, s.sdc_1, gr_info_0.bo(ch), s.wdc_1, ch);
        this.qdf(s.vdc_1[ch], s.sdc_1, gr_info_0.bo(ch), s.wdc_1, layer3gr_limit);
      }
       while (inductionVariable < nch);
    if (!((UByteArrayInt__get_impl_px6q8a(h.ndc_1, 3) & 16) === 0)) {
      this.vdf(s.vdc_1[0], s.ydc_1[1].y4v_1, gr_info_0, h.ndc_1);
    } else if ((UByteArrayInt__get_impl_px6q8a(h.ndc_1, 3) & 224) === 96) {
      this.rdf(s.vdc_1[0], 576);
    }
    var inductionVariable_0 = 0;
    if (inductionVariable_0 < nch)
      do {
        var ch_0 = inductionVariable_0;
        inductionVariable_0 = inductionVariable_0 + 1 | 0;
        var aa_bands = 31;
        var n_long_bands = (!(gr_info_0.l1().ydd_1 === 0) ? 2 : 0) << this.wde(((UByteArrayInt__get_impl_px6q8a(h.ndc_1, 2) >> 2 & 3) + imul((UByteArrayInt__get_impl_px6q8a(h.ndc_1, 1) >> 3 & 1) + (UByteArrayInt__get_impl_px6q8a(h.ndc_1, 1) >> 4 & 1) | 0, 3) | 0) === 2);
        if (!(gr_info_0.l1().ade_1 === 0)) {
          aa_bands = n_long_bands - 1 | 0;
          this.wdf(s.vdc_1[ch_0].bo(imul(n_long_bands, 18)), s.xdc_1[0], gr_info_0.l1().sdd_1.bo(gr_info_0.l1().zdd_1));
        }
        this.xdf(s.vdc_1[ch_0], aa_bands);
        var tmp = s.vdc_1[ch_0];
        var tmp_0 = h.jdc_1[ch_0];
        this.edg(tmp, FloatArrayPtr_init_$Create$(tmp_0, 0, 2, null), gr_info_0.l1().xdd_1, n_long_bands);
        this.ddg(s.vdc_1[ch_0]);
        gr_info_0 = gr_info_0.bo(1);
      }
       while (inductionVariable_0 < nch);
  };
  MiniMp3Program.prototype.idg = function (grbuf, n) {
    var g_sec = Companion_getInstance_11().fdb_1;
    var tmp = 0;
    var tmp_0 = 4;
    var tmp$ret$0;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp$ret$0 = fillArrayVal(Array(tmp_0), null);
    var tmp_1 = tmp$ret$0;
    while (tmp < tmp_0) {
      var tmp_2 = tmp;
      var tmp$ret$1;
      // Inline function 'com.soywiz.korau.format.mp3.minimp3.MiniMp3Program.mp3d_DCT_II.<anonymous>' call
      tmp$ret$1 = new Float32Array(8);
      tmp_1[tmp_2] = tmp$ret$1;
      tmp = tmp + 1 | 0;
    }
    var t = tmp_1;
    var inductionVariable = 0;
    if (inductionVariable < n)
      do {
        var k = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var y = grbuf.bo(k);
        var inductionVariable_0 = 0;
        if (inductionVariable_0 < 8)
          do {
            var i = inductionVariable_0;
            inductionVariable_0 = inductionVariable_0 + 1 | 0;
            var x0 = y.m(imul(i, 18));
            var x1 = y.m(imul(15 - i | 0, 18));
            var x2 = y.m(imul(16 + i | 0, 18));
            var x3 = y.m(imul(31 - i | 0, 18));
            var t0 = x0 + x3;
            var t1 = x1 + x2;
            var t2 = (x1 - x2) * g_sec[imul(3, i) + 0 | 0];
            var t3 = (x0 - x3) * g_sec[imul(3, i) + 1 | 0];
            t[0][i] = t0 + t1;
            t[1][i] = (t0 - t1) * g_sec[imul(3, i) + 2 | 0];
            t[2][i] = t3 + t2;
            t[3][i] = (t3 - t2) * g_sec[imul(3, i) + 2 | 0];
          }
           while (inductionVariable_0 < 8);
        var inductionVariable_1 = 0;
        if (inductionVariable_1 < 4)
          do {
            var i_0 = inductionVariable_1;
            inductionVariable_1 = inductionVariable_1 + 1 | 0;
            var x = t[i_0];
            var x0_0 = x[0];
            var x1_0 = x[1];
            var x2_0 = x[2];
            var x3_0 = x[3];
            var x4 = x[4];
            var x5 = x[5];
            var x6 = x[6];
            var x7 = x[7];
            var xt = x0_0 - x7;
            x0_0 = x0_0 + x7;
            x7 = x1_0 - x6;
            x1_0 = x1_0 + x6;
            x6 = x2_0 - x5;
            x2_0 = x2_0 + x5;
            x5 = x3_0 - x4;
            x3_0 = x3_0 + x4;
            x4 = x0_0 - x3_0;
            x0_0 = x0_0 + x3_0;
            x3_0 = x1_0 - x2_0;
            x1_0 = x1_0 + x2_0;
            x[0] = x0_0 + x1_0;
            x[4] = (x0_0 - x1_0) * 0.70710677;
            x5 = x5 + x6;
            x6 = (x6 + x7) * 0.70710677;
            x7 = x7 + xt;
            x3_0 = (x3_0 + x4) * 0.70710677;
            x5 = x5 - x7 * 0.19891237;
            x7 = x7 + x5 * 0.38268343;
            x5 = x5 - x7 * 0.19891237;
            x0_0 = xt - x6;
            xt = xt + x6;
            x[1] = (xt + x7) * 0.5097956;
            x[2] = (x4 + x3_0) * 0.5411961;
            x[3] = (x0_0 - x5) * 0.6013449;
            x[5] = (x0_0 + x5) * 0.8999762;
            x[6] = (x4 - x3_0) * 1.306563;
            x[7] = (xt - x7) * 2.5629156;
          }
           while (inductionVariable_1 < 4);
        var inductionVariable_2 = 0;
        if (inductionVariable_2 < 7)
          do {
            var i_1 = inductionVariable_2;
            inductionVariable_2 = inductionVariable_2 + 1 | 0;
            y.w4q(0, t[0][i_1]);
            y.w4q(18, t[2][i_1] + t[3][i_1] + t[3][i_1 + 1 | 0]);
            y.w4q(36, t[1][i_1] + t[1][i_1 + 1 | 0]);
            y.w4q(54, t[2][i_1 + 1 | 0] + t[3][i_1] + t[3][i_1 + 1 | 0]);
            y = y.bo(72);
          }
           while (inductionVariable_2 < 7);
        y.w4q(0, t[0][7]);
        y.w4q(18, t[2][7] + t[3][7]);
        y.w4q(36, t[1][7]);
        y.w4q(54, t[3][7]);
      }
       while (inductionVariable < n);
  };
  MiniMp3Program.prototype.jdg = function (sample) {
    if (sample >= 32766.5)
      return 32767;
    if (sample <= -32767.5)
      return -32768;
    var s = toShort(numberToInt(sample + 0.5));
    return toShort(s - this.wde(s < 0) | 0);
  };
  MiniMp3Program.prototype.kdg = function (pcm, nch, z) {
    var z_0 = z;
    var a = 0.0;
    a = a + (z_0.m(896) - z_0.m(0)) * 29.0;
    a = a + (z_0.m(64) + z_0.m(832)) * 213.0;
    a = a + (z_0.m(768) - z_0.m(128)) * 459.0;
    a = a + (z_0.m(192) + z_0.m(704)) * 2037.0;
    a = a + (z_0.m(640) - z_0.m(256)) * 5153.0;
    a = a + (z_0.m(320) + z_0.m(576)) * 6574.0;
    a = a + (z_0.m(512) - z_0.m(384)) * 37489.0;
    a = a + z_0.m(448) * 75038.0;
    pcm.p4z(0, this.jdg(a));
    z_0 = z_0.bo(2);
    a = z_0.m(896) * 104.0;
    a = a + z_0.m(768) * 1567.0;
    a = a + z_0.m(640) * 9727.0;
    a = a + z_0.m(512) * 64019.0;
    a = a + z_0.m(384) * -9975.0;
    a = a + z_0.m(256) * -45.0;
    a = a + z_0.m(128) * 146.0;
    a = a + z_0.m(0) * -5.0;
    pcm.p4z(imul(16, nch), this.jdg(a));
  };
  MiniMp3Program.prototype.ldg = function (xl, dstl, nch, lins) {
    var xr = xl.bo(imul(576, nch - 1 | 0));
    var dstr = dstl.bo(nch - 1 | 0);
    var g_win = Companion_getInstance_11().hdb_1;
    var zlin = lins.bo(960);
    var w = 0;
    zlin.w4q(60, xl.m(288));
    zlin.w4q(61, xr.m(288));
    zlin.w4q(62, xl.m(0));
    zlin.w4q(63, xr.m(0));
    zlin.w4q(124, xl.m(289));
    zlin.w4q(125, xr.m(289));
    zlin.w4q(126, xl.m(1));
    zlin.w4q(127, xr.m(1));
    this.kdg(dstr, nch, lins.bo(60).bo(1));
    this.kdg(dstr.bo(imul(32, nch)), nch, lins.bo(60).bo(64).bo(1));
    this.kdg(dstl, nch, lins.bo(60));
    this.kdg(dstl.bo(imul(32, nch)), nch, lins.bo(60).bo(64));
    var inductionVariable = 14;
    if (0 <= inductionVariable)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + -1 | 0;
        var a = this.qde_1;
        var b = this.rde_1;
        zlin.w4q(imul(4, i), xl.m(imul(18, 31 - i | 0)));
        zlin.w4q(imul(4, i) + 1 | 0, xr.m(imul(18, 31 - i | 0)));
        zlin.w4q(imul(4, i) + 2 | 0, xl.m(1 + imul(18, 31 - i | 0) | 0));
        zlin.w4q(imul(4, i) + 3 | 0, xr.m(1 + imul(18, 31 - i | 0) | 0));
        zlin.w4q(imul(4, i + 16 | 0), xl.m(1 + imul(18, 1 + i | 0) | 0));
        zlin.w4q(imul(4, i + 16 | 0) + 1 | 0, xr.m(1 + imul(18, 1 + i | 0) | 0));
        zlin.w4q(imul(4, i - 16 | 0) + 2 | 0, xl.m(imul(18, 1 + i | 0)));
        zlin.w4q(imul(4, i - 16 | 0) + 3 | 0, xr.m(imul(18, 1 + i | 0)));
        var inductionVariable_0 = 0;
        if (inductionVariable_0 < 4)
          do {
            var j = inductionVariable_0;
            inductionVariable_0 = inductionVariable_0 + 1 | 0;
            b[j] = 0.0;
            a[j] = 0.0;
          }
           while (inductionVariable_0 < 4);
        var inductionVariable_1 = 0;
        if (inductionVariable_1 < 8)
          do {
            var n = inductionVariable_1;
            inductionVariable_1 = inductionVariable_1 + 1 | 0;
            var tmp3 = w;
            w = tmp3 + 1 | 0;
            var w0 = g_win[tmp3];
            var tmp4 = w;
            w = tmp4 + 1 | 0;
            var w1 = g_win[tmp4];
            var vz = zlin.bo(imul(4, i) - imul(n, 64) | 0);
            var vy = zlin.bo(imul(4, i) - imul(15 - n | 0, 64) | 0);
            if ((n % 2 | 0) === 0) {
              var inductionVariable_2 = 0;
              if (inductionVariable_2 < 4)
                do {
                  var j_0 = inductionVariable_2;
                  inductionVariable_2 = inductionVariable_2 + 1 | 0;
                  b[j_0] = b[j_0] + vz.m(j_0) * w1 + vy.m(j_0) * w0;
                  a[j_0] = a[j_0] + vz.m(j_0) * w0 - vy.m(j_0) * w1;
                }
                 while (inductionVariable_2 < 4);
            } else {
              var inductionVariable_3 = 0;
              if (inductionVariable_3 < 4)
                do {
                  var j_1 = inductionVariable_3;
                  inductionVariable_3 = inductionVariable_3 + 1 | 0;
                  b[j_1] = b[j_1] + (vz.m(j_1) * w1 + vy.m(j_1) * w0);
                  a[j_1] = a[j_1] + (vy.m(j_1) * w1 - vz.m(j_1) * w0);
                }
                 while (inductionVariable_3 < 4);
            }
          }
           while (inductionVariable_1 < 8);
        dstr.p4z(imul(15 - i | 0, nch), this.jdg(a[1]));
        dstr.p4z(imul(17 + i | 0, nch), this.jdg(b[1]));
        dstl.p4z(imul(15 - i | 0, nch), this.jdg(a[0]));
        dstl.p4z(imul(17 + i | 0, nch), this.jdg(b[0]));
        dstr.p4z(imul(47 - i | 0, nch), this.jdg(a[3]));
        dstr.p4z(imul(49 + i | 0, nch), this.jdg(b[3]));
        dstl.p4z(imul(47 - i | 0, nch), this.jdg(a[2]));
        dstl.p4z(imul(49 + i | 0, nch), this.jdg(b[2]));
      }
       while (0 <= inductionVariable);
  };
  MiniMp3Program.prototype.mdg = function (qmf_state, grbuf, nbands, nch, pcm, lins) {
    var i = 0;
    i = 0;
    while (i < nch) {
      this.idg(grbuf.bo(imul(576, i)), nbands);
      var tmp0 = i;
      i = tmp0 + 1 | 0;
    }
    this.ude(lins, qmf_state, 960);
    i = 0;
    while (i < nbands) {
      this.ldg(grbuf.bo(i), pcm.bo(imul(32, imul(nch, i))), nch, lins.bo(imul(i, 64)));
      i = i + 2 | 0;
    }
    if (nch === 1) {
      i = 0;
      while (i < 960) {
        qmf_state.w4q(i, lins.m(imul(nbands, 64) + i | 0));
        i = i + 2 | 0;
      }
    } else {
      this.ude(qmf_state, lins.bo(imul(nbands, 64)), 960);
    }
  };
  MiniMp3Program.prototype.ndg = function (hdr, mp3_bytes, frame_bytes) {
    var i = 0;
    var inductionVariable = 0;
    if (inductionVariable < 10)
      do {
        var nmatch = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        i = i + (this.edf(hdr.bo(i), frame_bytes) + this.fdf(hdr.bo(i)) | 0) | 0;
        if ((i + 4 | 0) > mp3_bytes)
          return this.wde(nmatch > 0);
        if (this.adf(hdr, hdr.bo(i)) === 0)
          return 0;
      }
       while (inductionVariable < 10);
    return 1;
  };
  MiniMp3Program.prototype.odg = function (mp3, mp3_bytes, free_format_bytes, ptr_frame_bytes) {
    var mp3_0 = mp3;
    var i = 0;
    var k = 0;
    i = 0;
    while (i < (mp3_bytes - 4 | 0)) {
      if (this.zde(mp3_0)) {
        var frame_bytes = this.edf(mp3_0, free_format_bytes[0]);
        var frame_and_padding = frame_bytes + this.fdf(mp3_0) | 0;
        k = 4;
        $l$loop: while ((frame_bytes === 0 ? k < 2304 : false) ? !((i + imul(2, this.wde(k < (mp3_bytes - 4 | 0))) | 0) === 0) : false) {
          if (!(this.adf(mp3_0, mp3_0.bo(k)) === 0)) {
            var fb = k - this.fdf(mp3_0) | 0;
            var nextfb = fb + this.fdf(mp3_0.bo(k)) | 0;
            if ((((i + k | 0) + nextfb | 0) + 4 | 0) > mp3_bytes ? true : this.adf(mp3_0, mp3_0.bo(k).bo(nextfb)) === 0) {
              k = k + 1 | 0;
              continue $l$loop;
            }
            frame_and_padding = k;
            frame_bytes = fb;
            free_format_bytes[0] = fb;
          }
          var tmp0 = k;
          k = tmp0 + 1 | 0;
        }
        if (((!(frame_bytes === 0) ? !((i + this.wde(frame_and_padding <= mp3_bytes) | 0) === 0) : false) ? !(this.ndg(mp3_0, mp3_bytes - i | 0, frame_bytes) === 0) : false) ? true : i === 0 ? frame_and_padding === mp3_bytes : false) {
          ptr_frame_bytes[0] = frame_and_padding;
          return i;
        }
        free_format_bytes[0] = 0;
      }
      var tmp1 = i;
      i = tmp1 + 1 | 0;
      mp3_0 = mp3_0.bo(1);
    }
    ptr_frame_bytes[0] = 0;
    return mp3_bytes;
  };
  MiniMp3Program.prototype.pdg = function (dec) {
    UByteArrayInt__set_impl_gn4532(dec.ndc_1, 0, 0);
  };
  MiniMp3Program.prototype.qdg = function (dec, mp3, mp3_bytes, pcm, info) {
    var pcm_0 = pcm;
    var i = 0;
    var frame_size = new Int32Array(1);
    var success = 1;
    var bs_frame = this.tde_1;
    var scratch = this.sde_1;
    var tmp;
    if (mp3_bytes > 4 ? UByteArrayInt__get_impl_px6q8a(dec.ndc_1, 0) === 255 : false) {
      var tmp_0 = dec.ndc_1;
      tmp = !(this.adf(UByteArrayIntPtr_init_$Create$(tmp_0, 0, 2, null), mp3) === 0);
    } else {
      tmp = false;
    }
    if (tmp) {
      frame_size[0] = this.edf(mp3, dec.mdc_1[0]) + this.fdf(mp3) | 0;
      if (!(frame_size[0] === mp3_bytes) ? (frame_size[0] + 4 | 0) > mp3_bytes ? true : this.adf(mp3, mp3.bo(frame_size[0])) === 0 : false) {
        frame_size[0] = 0;
      }
    }
    if (frame_size[0] === 0) {
      dec.ldc_1 = 0;
      dec.mdc_1[0] = 0;
      var tmp_1 = dec.odc_1;
      fill$default(tmp_1, 0, 0, 0, 6, null);
      var tmp_2 = dec.ndc_1;
      fill$default(tmp_2, 0, 0, 0, 6, null);
      var tmp_3 = dec.kdc_1;
      fill$default_0(tmp_3, 0.0, 0, 0, 6, null);
      var tmp_4 = dec.jdc_1[0];
      fill$default_0(tmp_4, 0.0, 0, 0, 6, null);
      var tmp_5 = dec.jdc_1[1];
      fill$default_0(tmp_5, 0.0, 0, 0, 6, null);
      i = this.odg(mp3, mp3_bytes, dec.mdc_1, frame_size);
      if (frame_size[0] === 0 ? true : !((i + this.wde(frame_size[0] > mp3_bytes) | 0) === 0)) {
        info.l1().zdc_1 = i;
        return 0;
      }
    }
    var hdr = mp3.bo(i);
    var tmp_6 = dec.ndc_1;
    this.vde(UByteArrayIntPtr_init_$Create$(tmp_6, 0, 2, null), hdr, 4);
    info.l1().zdc_1 = i + frame_size[0] | 0;
    info.l1().add_1 = i;
    info.l1().bdd_1 = (hdr.m(3) & 192) === 192 ? 1 : 2;
    info.l1().cdd_1 = this.cdf(hdr);
    info.l1().ddd_1 = 4 - (hdr.m(1) >> 1 & 3) | 0;
    info.l1().edd_1 = this.bdf(hdr);
    var tmp$ret$0;
    // Inline function 'kotlin.collections.isEmpty' call
    var tmp0_isEmpty = pcm_0.qdd_1;
    tmp$ret$0 = tmp0_isEmpty.length === 0;
    if (tmp$ret$0) {
      return this.ddf(hdr);
    }
    this.xde(bs_frame, hdr.bo(4), frame_size[0] - 4 | 0);
    if ((hdr.m(1) & 1) === 0) {
      this.yde(bs_frame, 16);
    }
    if (info.l1().ddd_1 === 3) {
      var main_data_begin = this.ldf(bs_frame, scratch.udc_1, hdr);
      if (main_data_begin < 0 ? true : bs_frame.qdc_1 > bs_frame.rdc_1) {
        this.pdg(dec);
        return 0;
      }
      success = this.gdg(dec, bs_frame, scratch, main_data_begin);
      if (!(success === 0)) {
        var igr = 0;
        while (igr < (!((hdr.m(1) & 8) === 0) ? 2 : 1)) {
          scratch.vdc_1[0].pdd(0.0, 0, 1152);
          this.hdg(dec, scratch, scratch.udc_1.bo(imul(igr, info.l1().bdd_1)), info.l1().bdd_1);
          var tmp_7 = dec.kdc_1;
          this.mdg(FloatArrayPtr_init_$Create$(tmp_7, 0, 2, null), scratch.vdc_1[0], 18, info.l1().bdd_1, pcm_0, scratch.xdc_1[0]);
          var tmp0 = igr;
          igr = tmp0 + 1 | 0;
          pcm_0 = pcm_0.bo(imul(576, info.l1().bdd_1));
        }
      }
      this.fdg(dec, scratch);
    } else {
      var sci = ScaleInfo_init_$Create$(null, 0, 0, null, null, 31, null);
      this.idf(hdr, bs_frame, sci);
      scratch.vdc_1[0].pdd(0.0, 0, 1152);
      i = 0;
      var igr_0 = 0;
      while (igr_0 < 3) {
        i = i + this.jdf(scratch.vdc_1[0].bo(i), bs_frame, sci, info.l1().ddd_1 | 1) | 0;
        if (12 === i) {
          i = 0;
          var tmp_8 = sci.ide_1;
          this.kdf(sci, FloatArrayPtr_init_$Create$(tmp_8, 0, 2, null).bo(igr_0), scratch.vdc_1[0]);
          var tmp_9 = dec.kdc_1;
          this.mdg(FloatArrayPtr_init_$Create$(tmp_9, 0, 2, null), scratch.vdc_1[0], 12, info.l1().bdd_1, pcm_0, scratch.xdc_1[0]);
          scratch.vdc_1[0].pdd(0.0, 0, 1152);
          pcm_0 = pcm_0.bo(imul(384, info.l1().bdd_1));
        }
        if (bs_frame.qdc_1 > bs_frame.rdc_1) {
          this.pdg(dec);
          return 0;
        }
        var tmp1 = igr_0;
        igr_0 = tmp1 + 1 | 0;
      }
    }
    var tmp_10 = success;
    var tmp_11 = dec.ndc_1;
    return imul(tmp_10, this.ddf(UByteArrayIntPtr_init_$Create$(tmp_11, 0, 2, null)));
  };
  MiniMp3Program.$metadata$ = classMeta('MiniMp3Program');
  function Minimp3Decoder() {
    MiniMp3Program.call(this);
    var tmp = this;
    Companion_getInstance_11();
    tmp.ydg_1 = new Int16Array(imul(imul(2304, 2), 2));
    this.zdg_1 = Mp3Dec_init_$Create$();
    var tmp_0 = this;
    tmp_0.adh_1 = Mp3FrameInfo_init_$Create$(0, 0, 0, 0, 0, 0, 63, null);
    this.pdg(this.zdg_1);
    this.bdh_1 = new BaseMp3DecoderInfo();
  }
  Minimp3Decoder.prototype.jd9 = function () {
    return this.bdh_1;
  };
  Minimp3Decoder.prototype.mda = function (availablePeek) {
    var tmp = _UByteArrayInt___init__impl__xif7bu(this.bdh_1.fd8_1);
    var tmp_0 = UByteArrayIntPtr_init_$Create$(tmp, 0, 2, null);
    var samples = this.qdg(this.zdg_1, tmp_0, availablePeek, ShortArrayPtr_init_$Create$(this.ydg_1, 0, 2, null), this.adh_1);
    var struct = this.adh_1;
    this.bdh_1.kd8_1 = struct.bdd_1;
    this.bdh_1.id8_1 = struct.cdd_1;
    this.bdh_1.jd8_1 = struct.edd_1;
    this.bdh_1.md8_1 = struct.zdc_1;
    this.bdh_1.ld8_1 = samples;
    if (this.bdh_1.kd8_1 === 0 ? true : samples <= 0)
      return null;
    return copyOf(this.ydg_1, imul(samples, this.bdh_1.kd8_1));
  };
  Minimp3Decoder.prototype.x2c = function () {
  };
  Minimp3Decoder.$metadata$ = classMeta('Minimp3Decoder', [BaseMp3Decoder], undefined, undefined, undefined, MiniMp3Program.prototype);
  function Minimp3AudioFormat() {
    Minimp3AudioFormat_instance = this;
    BaseMinimp3AudioFormat.call(this);
  }
  Minimp3AudioFormat.prototype.adb = function () {
    return new Minimp3Decoder();
  };
  Minimp3AudioFormat.$metadata$ = objectMeta('Minimp3AudioFormat', undefined, undefined, undefined, undefined, BaseMinimp3AudioFormat.prototype);
  var Minimp3AudioFormat_instance;
  function Minimp3AudioFormat_getInstance() {
    if (Minimp3AudioFormat_instance == null)
      new Minimp3AudioFormat();
    return Minimp3AudioFormat_instance;
  }
  function get_temp() {
    init_properties_ArrayDequeExt_kt_63wucm();
    return temp;
  }
  var temp;
  function write(_this__u8e3s4, value) {
    init_properties_ArrayDequeExt_kt_63wucm();
    get_temp()[0] = value;
    _this__u8e3s4.f4n(get_temp(), 0, 1);
  }
  var properties_initialized_ArrayDequeExt_kt_10mhca;
  function init_properties_ArrayDequeExt_kt_63wucm() {
    if (properties_initialized_ArrayDequeExt_kt_10mhca) {
    } else {
      properties_initialized_ArrayDequeExt_kt_10mhca = true;
      temp = new Float32Array(1);
    }
  }
  function coerceToShort(_this__u8e3s4) {
    return toShort(coerceIn(_this__u8e3s4, ShortCompanionObject_getInstance().lf_1, ShortCompanionObject_getInstance().mf_1));
  }
  function get_niceStr(_this__u8e3s4) {
    var tmp;
    var tmp$ret$0;
    // Inline function 'kotlin.math.floor' call
    tmp$ret$0 = Math.floor(_this__u8e3s4);
    if (tmp$ret$0 === _this__u8e3s4) {
      tmp = '' + numberToInt(_this__u8e3s4);
    } else {
      tmp = '' + _this__u8e3s4;
    }
    return tmp;
  }
  function SampleConvert() {
    SampleConvert_instance = this;
  }
  SampleConvert.prototype.ddh = function (v) {
    return v / ShortCompanionObject_getInstance().mf_1;
  };
  SampleConvert.$metadata$ = objectMeta('SampleConvert');
  var SampleConvert_instance;
  function SampleConvert_getInstance() {
    if (SampleConvert_instance == null)
      new SampleConvert();
    return SampleConvert_instance;
  }
  function AudioData$Companion$DUMMY$delegate$lambda() {
    return new AudioData(44100, AudioSamples_init_$Create$(2, 0, null, 4, null));
  }
  function Companion_8() {
    Companion_instance_8 = this;
    var tmp = this;
    tmp.edh_1 = lazy(AudioData$Companion$DUMMY$delegate$lambda);
  }
  Companion_8.$metadata$ = objectMeta('Companion');
  var Companion_instance_8;
  function Companion_getInstance_12() {
    if (Companion_instance_8 == null)
      new Companion_8();
    return Companion_instance_8;
  }
  function AudioData$samplesInterleaved$delegate$lambda(this$0) {
    return function () {
      return interleaved$default(this$0.gdh_1, null, 1, null);
    };
  }
  function AudioData(rate, samples) {
    Companion_getInstance_12();
    this.fdh_1 = rate;
    this.gdh_1 = samples;
    var tmp = this;
    tmp.hdh_1 = lazy(AudioData$samplesInterleaved$delegate$lambda(this));
  }
  AudioData.prototype.idh = function () {
    return this.gdh_1.ud2_1;
  };
  AudioData.prototype.jdh = function () {
    return this.gdh_1.vd2_1;
  };
  AudioData.prototype.toString = function () {
    return 'AudioData(rate=' + this.fdh_1 + ', channels=' + this.idh() + ', samples=' + this.jdh() + ')';
  };
  AudioData.$metadata$ = classMeta('AudioData');
  function toStream(_this__u8e3s4) {
    return new AudioDataStream(_this__u8e3s4);
  }
  function AudioDataStream(data) {
    AudioStream.call(this, data.fdh_1, data.idh());
    this.pdh_1 = data;
    this.qdh_1 = 0;
    this.rdh_1 = false;
  }
  AudioDataStream.prototype.wd3 = function () {
    return this.rdh_1;
  };
  AudioDataStream.prototype.yd3 = function (out, offset, length, $cont) {
    var available = this.pdh_1.gdh_1.vd2_1 - this.qdh_1 | 0;
    var tmp$ret$0;
    // Inline function 'kotlin.math.min' call
    tmp$ret$0 = Math.min(available, length);
    var toread = tmp$ret$0;
    if (toread > 0) {
      var inductionVariable = 0;
      var last = this.qd2_1;
      if (inductionVariable < last)
        do {
          var n = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          arraycopy_1(this.pdh_1.gdh_1.m(n), this.qdh_1, out.m(n), offset, toread);
        }
         while (inductionVariable < last);
      var tmp1_this = this;
      tmp1_this.qdh_1 = tmp1_this.qdh_1 + toread | 0;
    }
    if (toread <= 0)
      this.rdh_1 = true;
    return toread;
  };
  AudioDataStream.prototype.zd3 = function ($cont) {
    return new AudioDataStream(this.pdh_1);
  };
  AudioDataStream.$metadata$ = classMeta('AudioDataStream', undefined, undefined, undefined, undefined, AudioStream.prototype);
  function AudioSamples_init_$Init$(channels, totalSamples, data, $mask0, $marker, $this) {
    if (!(($mask0 & 4) === 0)) {
      var tmp = 0;
      var tmp_0 = channels;
      var tmp$ret$0;
      var tmp$ret$0_0;
      // Inline function 'kotlin.arrayOfNulls' call
      tmp$ret$0 = fillArrayVal(Array(tmp_0), null);
      tmp$ret$0_0 = Unit_getInstance();
      var tmp_1 = tmp$ret$0;
      while (tmp < tmp_0) {
        var tmp_2 = tmp;
        var tmp$ret$1;
        var tmp$ret$1_0;
        // Inline function 'com.soywiz.korau.sound.AudioSamples.<init>.<anonymous>' call
        tmp$ret$1 = new Int16Array(totalSamples);
        tmp$ret$1_0 = Unit_getInstance();
        tmp_1[tmp_2] = tmp$ret$1;
        tmp = tmp + 1 | 0;
      }
      data = tmp_1;
    }
    AudioSamples.call($this, channels, totalSamples, data);
    return $this;
  }
  function AudioSamples_init_$Create$(channels, totalSamples, data, $mask0, $marker) {
    return AudioSamples_init_$Init$(channels, totalSamples, data, $mask0, $marker, Object.create(AudioSamples.prototype));
  }
  function AudioSamples(channels, totalSamples, data) {
    this.ud2_1 = channels;
    this.vd2_1 = totalSamples;
    this.wd2_1 = data;
    this.xd2_1 = new FastShortTransfer();
  }
  AudioSamples.prototype.idh = function () {
    return this.ud2_1;
  };
  AudioSamples.prototype.jdh = function () {
    return this.vd2_1;
  };
  AudioSamples.prototype.m = function (channel) {
    return this.wd2_1[channel];
  };
  AudioSamples.prototype.l78 = function (channel, sample) {
    return this.wd2_1[channel][sample];
  };
  AudioSamples.prototype.hashCode = function () {
    return (this.ud2_1 + imul(this.vd2_1, 32) | 0) + imul(contentDeepHashCode(this.wd2_1), 64) | 0;
  };
  AudioSamples.prototype.equals = function (other) {
    var tmp;
    var tmp_0;
    var tmp_1;
    if (other instanceof AudioSamples) {
      tmp_1 = this.ud2_1 === other.ud2_1;
    } else {
      tmp_1 = false;
    }
    if (tmp_1) {
      tmp_0 = this.vd2_1 === other.vd2_1;
    } else {
      tmp_0 = false;
    }
    if (tmp_0) {
      tmp = contentDeepEquals(this.wd2_1, other.wd2_1);
    } else {
      tmp = false;
    }
    return tmp;
  };
  AudioSamples.prototype.toString = function () {
    return 'AudioSamples(channels=' + this.ud2_1 + ', totalSamples=' + this.vd2_1 + ')';
  };
  AudioSamples.$metadata$ = classMeta('AudioSamples', [IAudioSamples]);
  function AudioSamplesInterleaved_init_$Init$(channels, totalSamples, data, $mask0, $marker, $this) {
    if (!(($mask0 & 4) === 0))
      data = new Int16Array(imul(totalSamples, channels));
    AudioSamplesInterleaved.call($this, channels, totalSamples, data);
    return $this;
  }
  function AudioSamplesInterleaved_init_$Create$(channels, totalSamples, data, $mask0, $marker) {
    return AudioSamplesInterleaved_init_$Init$(channels, totalSamples, data, $mask0, $marker, Object.create(AudioSamplesInterleaved.prototype));
  }
  function AudioSamplesInterleaved(channels, totalSamples, data) {
    this.sdh_1 = channels;
    this.tdh_1 = totalSamples;
    this.udh_1 = data;
    this.vdh_1 = new FastShortTransfer();
  }
  AudioSamplesInterleaved.prototype.toString = function () {
    return 'AudioSamplesInterleaved(channels=' + this.sdh_1 + ', totalSamples=' + this.tdh_1 + ')';
  };
  AudioSamplesInterleaved.$metadata$ = classMeta('AudioSamplesInterleaved', [IAudioSamples]);
  function interleaved(_this__u8e3s4, out) {
    // Inline function 'com.soywiz.korio.lang.assert' call
    var tmp0_assert = out.udh_1.length >= imul(_this__u8e3s4.vd2_1, _this__u8e3s4.ud2_1);
    if (!tmp0_assert)
      throw AssertionError_init_$Create$();
    var tmp0_subject = _this__u8e3s4.ud2_1;
    switch (tmp0_subject) {
      case 1:
        arraycopy_1(_this__u8e3s4.wd2_1[0], 0, out.udh_1, 0, _this__u8e3s4.vd2_1);
        ;
        break;
      case 2:
        arrayinterleave(out.udh_1, 0, _this__u8e3s4.wd2_1[0], 0, _this__u8e3s4.wd2_1[1], 0, _this__u8e3s4.vd2_1, out.vdh_1);
        ;
        break;
      default:
        // Inline function 'com.soywiz.kmem.FastShortTransfer.use' call
        var tmp1_use = out.vdh_1;
        var tmp2_use = out.udh_1;
        try {
          tmp1_use.n4y_1 = tmp2_use;
          // Inline function 'com.soywiz.korau.sound.interleaved.<anonymous>' call
          var channels = _this__u8e3s4.ud2_1;
          var inductionVariable = 0;
          if (inductionVariable < channels)
            do {
              var c = inductionVariable;
              inductionVariable = inductionVariable + 1 | 0;
              var m = c;
              var inductionVariable_0 = 0;
              var last = _this__u8e3s4.vd2_1;
              if (inductionVariable_0 < last)
                do {
                  var n = inductionVariable_0;
                  inductionVariable_0 = inductionVariable_0 + 1 | 0;
                  // Inline function 'com.soywiz.kmem.FastShortTransfer.set' call
                  var tmp0_set = m;
                  var tmp1_set = _this__u8e3s4.l78(c, n);
                  tmp1_use.n4y_1[tmp0_set] = tmp1_set;
                  m = m + channels | 0;
                }
                 while (inductionVariable_0 < last);
            }
             while (inductionVariable < channels);
        }finally {
          tmp1_use.n4y_1 = get_EmptyShortArray();
        }

        break;
    }
    return out;
  }
  function interleaved$default(_this__u8e3s4, out, $mask0, $handler) {
    if (!(($mask0 & 1) === 0)) {
      out = AudioSamplesInterleaved_init_$Create$(_this__u8e3s4.ud2_1, _this__u8e3s4.vd2_1, null, 4, null);
    }
    return interleaved(_this__u8e3s4, out);
  }
  function IAudioSamples() {
  }
  IAudioSamples.$metadata$ = interfaceMeta('IAudioSamples');
  function AudioSamplesDeque(channels) {
    this.kd9_1 = channels;
    var tmp = this;
    var tmp_0 = 0;
    var tmp_1 = this.kd9_1;
    var tmp$ret$0;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp$ret$0 = fillArrayVal(Array(tmp_1), null);
    var tmp_2 = tmp$ret$0;
    while (tmp_0 < tmp_1) {
      var tmp_3 = tmp_0;
      var tmp$ret$1;
      // Inline function 'com.soywiz.korau.sound.AudioSamplesDeque.buffer.<anonymous>' call
      tmp$ret$1 = ShortArrayDeque_init_$Create$(0, 1, null);
      tmp_2[tmp_3] = tmp$ret$1;
      tmp_0 = tmp_0 + 1 | 0;
    }
    tmp.ld9_1 = tmp_2;
  }
  AudioSamplesDeque.prototype.u4l = function () {
    var tmp0_safe_receiver = getOrNull(this.ld9_1, 0);
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.u4l();
    return tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs;
  };
  AudioSamplesDeque.prototype.wdh = function () {
    var tmp$ret$1;
    $l$block: {
      // Inline function 'kotlin.collections.maxOfOrNull' call
      var tmp0_maxOfOrNull = this.ld9_1;
      var tmp$ret$0;
      // Inline function 'kotlin.collections.isEmpty' call
      tmp$ret$0 = tmp0_maxOfOrNull.length === 0;
      if (tmp$ret$0) {
        tmp$ret$1 = null;
        break $l$block;
      }
      var tmp$ret$2;
      // Inline function 'com.soywiz.korau.sound.AudioSamplesDeque.<get-availableReadMax>.<anonymous>' call
      var tmp1__anonymous__uwfjfc = tmp0_maxOfOrNull[0];
      tmp$ret$2 = tmp1__anonymous__uwfjfc.u4l();
      var maxValue = tmp$ret$2;
      var inductionVariable = 1;
      var last = get_lastIndex_0(tmp0_maxOfOrNull);
      if (inductionVariable <= last)
        do {
          var i = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          var tmp$ret$3;
          // Inline function 'com.soywiz.korau.sound.AudioSamplesDeque.<get-availableReadMax>.<anonymous>' call
          var tmp2__anonymous__z9zvc9 = tmp0_maxOfOrNull[i];
          tmp$ret$3 = tmp2__anonymous__z9zvc9.u4l();
          var v = tmp$ret$3;
          if (compareTo(maxValue, v) < 0) {
            maxValue = v;
          }
        }
         while (!(i === last));
      tmp$ret$1 = maxValue;
    }
    var tmp0_elvis_lhs = tmp$ret$1;
    return tmp0_elvis_lhs == null ? 0 : tmp0_elvis_lhs;
  };
  AudioSamplesDeque.prototype.xdh = function (channel, sample) {
    this.ld9_1[channel].q4m(sample);
  };
  AudioSamplesDeque.prototype.ydh = function (samples, offset, len) {
    var inductionVariable = 0;
    var last = this.kd9_1;
    if (inductionVariable < last)
      do {
        var channel = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        this.zdh(channel, samples.m(channel % samples.ud2_1 | 0), offset, len);
      }
       while (inductionVariable < last);
  };
  AudioSamplesDeque.prototype.zdh = function (channel, data, offset, len) {
    this.ld9_1[channel].p4m(data, offset, len);
  };
  AudioSamplesDeque.prototype.adi = function (data, offset, len, channels) {
    var tmp0_subject = channels;
    switch (tmp0_subject) {
      case 1:
        var inductionVariable = 0;
        var last = this.kd9_1;
        if (inductionVariable < last)
          do {
            var n = inductionVariable;
            inductionVariable = inductionVariable + 1 | 0;
            this.ld9_1[n].p4m(data, offset, len);
          }
           while (inductionVariable < last);
        break;
      case 2:
        var inductionVariable_0 = 0;
        var last_0 = len / 2 | 0;
        if (inductionVariable_0 < last_0)
          do {
            var n_0 = inductionVariable_0;
            inductionVariable_0 = inductionVariable_0 + 1 | 0;
            this.xdh(0, data[imul(n_0, 2) + 0 | 0]);
          }
           while (inductionVariable_0 < last_0);
        var inductionVariable_1 = 0;
        var last_1 = len / 2 | 0;
        if (inductionVariable_1 < last_1)
          do {
            var n_1 = inductionVariable_1;
            inductionVariable_1 = inductionVariable_1 + 1 | 0;
            this.xdh(1, data[imul(n_1, 2) + 1 | 0]);
          }
           while (inductionVariable_1 < last_1);
        break;
      default:
        var inductionVariable_2 = 0;
        if (inductionVariable_2 < channels)
          do {
            var c = inductionVariable_2;
            inductionVariable_2 = inductionVariable_2 + 1 | 0;
            var inductionVariable_3 = 0;
            var last_2 = len / channels | 0;
            if (inductionVariable_3 < last_2)
              do {
                var n_2 = inductionVariable_3;
                inductionVariable_3 = inductionVariable_3 + 1 | 0;
                this.xdh(c, data[imul(n_2, channels) + c | 0]);
              }
               while (inductionVariable_3 < last_2);
          }
           while (inductionVariable_2 < channels);
        break;
    }
  };
  AudioSamplesDeque.prototype.nda = function (data, offset, len, channels, $mask0, $handler) {
    if (!(($mask0 & 4) === 0))
      len = data.length - offset | 0;
    if (!(($mask0 & 8) === 0))
      channels = this.kd9_1;
    return this.adi(data, offset, len, channels);
  };
  AudioSamplesDeque.prototype.md9 = function (out, offset, len) {
    var tmp$ret$0;
    // Inline function 'kotlin.math.min' call
    var tmp0_min = this.u4l();
    tmp$ret$0 = Math.min(len, tmp0_min);
    var rlen = tmp$ret$0;
    var inductionVariable = 0;
    var last = out.ud2_1;
    if (inductionVariable < last)
      do {
        var channel = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        this.ld9_1[channel % this.kd9_1 | 0].o4m(out.m(channel), offset, rlen);
      }
       while (inductionVariable < last);
    return rlen;
  };
  AudioSamplesDeque.prototype.bdi = function (out, offset, len, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      offset = 0;
    if (!(($mask0 & 4) === 0))
      len = out.vd2_1 - offset | 0;
    return this.md9(out, offset, len);
  };
  AudioSamplesDeque.prototype.x7 = function () {
    var inductionVariable = 0;
    var last = this.ld9_1.length - 1 | 0;
    if (inductionVariable <= last)
      do {
        var c = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        this.ld9_1[c].x7();
      }
       while (inductionVariable <= last);
  };
  AudioSamplesDeque.prototype.toString = function () {
    return 'AudioSamplesDeque(channels=' + this.kd9_1 + ', availableRead=' + this.u4l() + ')';
  };
  AudioSamplesDeque.$metadata$ = classMeta('AudioSamplesDeque');
  var DEFAULT_MAX_SAMPLES;
  function Companion_9() {
    Companion_instance_9 = this;
  }
  Companion_9.$metadata$ = objectMeta('Companion');
  var Companion_instance_9;
  function Companion_getInstance_13() {
    if (Companion_instance_9 == null)
      new Companion_9();
    return Companion_instance_9;
  }
  function AudioStream(rate, channels) {
    Companion_getInstance_13();
    this.pd2_1 = rate;
    this.qd2_1 = channels;
    this.rd2_1 = false;
    this.sd2_1 = null;
    this.td2_1 = new Long(0, 0);
  }
  AudioStream.prototype.wd3 = function () {
    return this.rd2_1;
  };
  AudioStream.prototype.xd3 = function (_set____db54di) {
    this.td2_1 = _set____db54di;
  };
  AudioStream.prototype.ad4 = function (value) {
    this.xd3(this.bd4(value));
  };
  AudioStream.prototype.bd4 = function (time) {
    return numberToLong(_TimeSpan___get_seconds__impl__cx2k1c(time) * this.pd2_1);
  };
  AudioStream.prototype.yd3 = function (out, offset, length, $cont) {
    return 0;
  };
  AudioStream.prototype.x2c = function () {
    return Unit_getInstance();
  };
  AudioStream.$metadata$ = classMeta('AudioStream', [AudioStreamable, Closeable]);
  function toData(_this__u8e3s4, maxSamples, $cont) {
    var tmp = new $toDataCOROUTINE$22(_this__u8e3s4, maxSamples, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function toData$default(_this__u8e3s4, maxSamples, $cont, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      maxSamples = DEFAULT_MAX_SAMPLES;
    return toData(_this__u8e3s4, maxSamples, $cont);
  }
  function $toDataCOROUTINE$22(_this__u8e3s4, maxSamples, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.kdi_1 = _this__u8e3s4;
    this.ldi_1 = maxSamples;
  }
  $toDataCOROUTINE$22.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 9;
            this.mdi_1 = new AudioSamplesDeque(this.kdi_1.qd2_1);
            var tmp_0 = this;
            var tmp_1 = this;
            tmp_1.ndi_1 = 65536;
            var tmp_2 = Math.min(this.ldi_1, this.ndi_1);
            tmp_0.odi_1 = AudioSamples_init_$Create$(this.kdi_1.qd2_1, tmp_2, null, 4, null);
            this.o7_1 = 1;
            continue $sm;
          case 1:
            this.p7_1 = 8;
            this.o7_1 = 2;
            continue $sm;
          case 2:
            if (!!this.kdi_1.wd3()) {
              this.o7_1 = 6;
              continue $sm;
            }

            this.o7_1 = 3;
            var tmp_3 = this;
            tmp_3.qdi_1 = this.ldi_1 - this.mdi_1.u4l() | 0;
            var tmp_4 = this;
            tmp_4.rdi_1 = this.odi_1.vd2_1;
            suspendResult = this.kdi_1.yd3(this.odi_1, 0, Math.min(this.qdi_1, this.rdi_1), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            var read = suspendResult;
            if (read <= 0) {
              this.o7_1 = 6;
              continue $sm;
            } else {
              this.o7_1 = 4;
              continue $sm;
            }

            break;
          case 4:
            var tmp3_min = this.ldi_1 - this.mdi_1.u4l() | 0;
            var mread = Math.min(read, tmp3_min);
            this.mdi_1.ydh(this.odi_1, 0, mread);
            if (this.mdi_1.u4l() >= this.ldi_1) {
              this.o7_1 = 6;
              continue $sm;
            } else {
              this.o7_1 = 5;
              continue $sm;
            }

            break;
          case 5:
            this.o7_1 = 2;
            continue $sm;
          case 6:
            this.pdi_1 = Unit_getInstance();
            this.p7_1 = 9;
            this.o7_1 = 7;
            continue $sm;
          case 7:
            this.kdi_1.x2c();
            ;
            var maxOutSamples = this.mdi_1.wdh();
            var tmp4_apply = AudioSamples_init_$Create$(this.kdi_1.qd2_1, maxOutSamples, null, 4, null);
            this.mdi_1.bdi(tmp4_apply, 0, 0, 6, null);
            ;
            return new AudioData(this.kdi_1.pd2_1, tmp4_apply);
          case 8:
            this.p7_1 = 9;
            var t = this.r7_1;
            this.kdi_1.x2c();
            ;
            throw t;
          case 9:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 9) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $toDataCOROUTINE$22.$metadata$ = classMeta('$toDataCOROUTINE$22', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function AudioStreamable() {
  }
  AudioStreamable.$metadata$ = interfaceMeta('AudioStreamable');
  function $waitCOROUTINE$23(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.adj_1 = _this__u8e3s4;
  }
  $waitCOROUTINE$23.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 4;
            this.o7_1 = 1;
            continue $sm;
          case 1:
            if (!(this.adj_1.hdj() > 0)) {
              this.o7_1 = 3;
              continue $sm;
            }

            this.o7_1 = 2;
            suspendResult = delay(Companion_getInstance().o1h(10.0), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.o7_1 = 1;
            continue $sm;
          case 3:
            return Unit_getInstance();
          case 4:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 4) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $waitCOROUTINE$23.$metadata$ = classMeta('$waitCOROUTINE$23', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function PlatformAudioOutput(coroutineContext, frequency) {
    this.bdj_1 = coroutineContext;
    this.cdj_1 = frequency;
    this.ddj_1 = 0;
    this.edj_1 = 1.0;
    this.fdj_1 = 1.0;
    this.gdj_1 = 0.0;
  }
  PlatformAudioOutput.prototype.hdj = function () {
    return this.ddj_1;
  };
  PlatformAudioOutput.prototype.idj = function (_set____db54di) {
    this.edj_1 = _set____db54di;
  };
  PlatformAudioOutput.prototype.jdj = function () {
    return this.edj_1;
  };
  PlatformAudioOutput.prototype.kdj = function (_set____db54di) {
    this.fdj_1 = _set____db54di;
  };
  PlatformAudioOutput.prototype.ldj = function () {
    return this.fdj_1;
  };
  PlatformAudioOutput.prototype.mdj = function (_set____db54di) {
    this.gdj_1 = _set____db54di;
  };
  PlatformAudioOutput.prototype.ndj = function () {
    return this.gdj_1;
  };
  PlatformAudioOutput.prototype.odj = function (samples, offset, size, $cont) {
    var tmp$ret$0;
    // Inline function 'com.soywiz.klock.milliseconds' call
    tmp$ret$0 = Companion_getInstance().o1h(100.0);
    return delay(tmp$ret$0, $cont);
  };
  PlatformAudioOutput.prototype.pdj = function () {
    return Unit_getInstance();
  };
  PlatformAudioOutput.prototype.qdj = function () {
    return Unit_getInstance();
  };
  PlatformAudioOutput.prototype.rdj = function ($cont) {
    var tmp = new $waitCOROUTINE$23(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  PlatformAudioOutput.$metadata$ = classMeta('PlatformAudioOutput', [Disposable, SoundProps]);
  function NativeSoundProvider$audioFormats$delegate$lambda() {
    return get_defaultAudioFormats();
  }
  function NativeSoundProvider$createSound$slambda($stream, resultContinuation) {
    this.adk_1 = $stream;
    CoroutineImpl.call(this, resultContinuation);
  }
  NativeSoundProvider$createSound$slambda.prototype.z56 = function ($cont) {
    var tmp = this.k53($cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  NativeSoundProvider$createSound$slambda.prototype.to = function ($cont) {
    return this.z56($cont);
  };
  NativeSoundProvider$createSound$slambda.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = this.adk_1.x51(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_getInstance();
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  NativeSoundProvider$createSound$slambda.prototype.k53 = function (completion) {
    var i = new NativeSoundProvider$createSound$slambda(this.adk_1, completion);
    return i;
  };
  NativeSoundProvider$createSound$slambda.$metadata$ = classMeta('NativeSoundProvider$createSound$slambda', undefined, undefined, undefined, [0], CoroutineImpl.prototype);
  function NativeSoundProvider$createSound$slambda_0($stream, resultContinuation) {
    var i = new NativeSoundProvider$createSound$slambda($stream, resultContinuation);
    var l = function ($cont) {
      return i.z56($cont);
    };
    l.$arity = 0;
    return l;
  }
  function $createSoundCOROUTINE$24(_this__u8e3s4, data, streaming, props, name, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.jdk_1 = _this__u8e3s4;
    this.kdk_1 = data;
    this.ldk_1 = streaming;
    this.mdk_1 = props;
    this.ndk_1 = name;
  }
  $createSoundCOROUTINE$24.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 6;
            var tmp_0 = this;
            var tmp0_elvis_lhs = this.mdk_1.icx_1;
            tmp_0.odk_1 = tmp0_elvis_lhs == null ? this.jdk_1.udk() : tmp0_elvis_lhs;
            this.o7_1 = 1;
            suspendResult = this.odk_1.ncw(openAsync$default(this.kdk_1, null, 1, null), this.mdk_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.pdk_1 = suspendResult;
            if (this.ldk_1) {
              this.o7_1 = 4;
              suspendResult = this.jdk_1.vdk(this.pdk_1, true, this.ndk_1, null, this, 8, null);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 2;
              suspendResult = toData$default(this.pdk_1, 0, this, 1, null);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 2:
            this.rdk_1 = suspendResult;
            this.o7_1 = 3;
            suspendResult = this.jdk_1.wdk(this.rdk_1, this.ndk_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.qdk_1 = suspendResult;
            this.o7_1 = 5;
            continue $sm;
          case 4:
            this.qdk_1 = suspendResult;
            this.o7_1 = 5;
            continue $sm;
          case 5:
            return this.qdk_1;
          case 6:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 6) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $createSoundCOROUTINE$24.$metadata$ = classMeta('$createSoundCOROUTINE$24', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $createSoundCOROUTINE$25(_this__u8e3s4, vfs, path, streaming, props, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.fdl_1 = _this__u8e3s4;
    this.gdl_1 = vfs;
    this.hdl_1 = path;
    this.idl_1 = streaming;
    this.jdl_1 = props;
  }
  $createSoundCOROUTINE$25.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 9;
            if (this.idl_1) {
              this.ldl_1 = this.gdl_1.d5j(this.hdl_1);
              if (this.jdl_1.hcx_1) {
                this.o7_1 = 4;
                suspendResult = this.ldl_1.h5n(this);
                if (suspendResult === get_COROUTINE_SUSPENDED()) {
                  return suspendResult;
                }
                continue $sm;
              } else {
                this.o7_1 = 3;
                suspendResult = this.ldl_1.f5n(null, this, 1, null);
                if (suspendResult === get_COROUTINE_SUSPENDED()) {
                  return suspendResult;
                }
                continue $sm;
              }
            } else {
              this.o7_1 = 1;
              suspendResult = this.gdl_1.d5j(this.hdl_1).i5m(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 1:
            this.ndl_1 = suspendResult;
            this.o7_1 = 2;
            suspendResult = this.fdl_1.rdl(this.ndl_1, this.idl_1, this.jdl_1, get_baseName(this.gdl_1.c19(this.hdl_1)), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.kdl_1 = suspendResult;
            this.o7_1 = 8;
            continue $sm;
          case 3:
            this.mdl_1 = suspendResult;
            this.o7_1 = 5;
            continue $sm;
          case 4:
            this.odl_1 = suspendResult;
            var tmp_0 = this;
            tmp_0.mdl_1 = openAsync$default(this.odl_1, null, 1, null);
            this.o7_1 = 5;
            continue $sm;
          case 5:
            this.pdl_1 = this.mdl_1;
            this.o7_1 = 6;
            var tmp0_elvis_lhs = this.jdl_1.icx_1;
            suspendResult = (tmp0_elvis_lhs == null ? this.fdl_1.udk() : tmp0_elvis_lhs).ncw(this.pdl_1, this.jdl_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 6:
            this.qdl_1 = suspendResult;
            this.o7_1 = 7;
            var tmp_1 = get_baseName(this.ldl_1);
            suspendResult = this.fdl_1.vdk(this.qdl_1, false, tmp_1, NativeSoundProvider$createSound$slambda_0(this.pdl_1, null), this, 2, null);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 7:
            this.kdl_1 = suspendResult;
            this.o7_1 = 8;
            continue $sm;
          case 8:
            return this.kdl_1;
          case 9:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 9) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $createSoundCOROUTINE$25.$metadata$ = classMeta('$createSoundCOROUTINE$25', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $createSoundCOROUTINE$26(_this__u8e3s4, file, streaming, props, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.adm_1 = _this__u8e3s4;
    this.bdm_1 = file;
    this.cdm_1 = streaming;
    this.ddm_1 = props;
  }
  $createSoundCOROUTINE$26.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.o7_1 = 1;
            suspendResult = this.bdm_1.e5h(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.edm_1 = suspendResult;
            this.o7_1 = 2;
            suspendResult = this.adm_1.fdm(this.edm_1, this.cdm_1, this.ddm_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            return suspendResult;
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $createSoundCOROUTINE$26.$metadata$ = classMeta('$createSoundCOROUTINE$26', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function NativeSoundProvider() {
    this.sdk_1 = 'unknown';
    var tmp = this;
    tmp.tdk_1 = lazy(NativeSoundProvider$audioFormats$delegate$lambda);
  }
  NativeSoundProvider.prototype.gdm = function (coroutineContext, freq) {
    return new PlatformAudioOutput(coroutineContext, freq);
  };
  NativeSoundProvider.prototype.rdl = function (data, streaming, props, name, $cont) {
    var tmp = new $createSoundCOROUTINE$24(this, data, streaming, props, name, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  NativeSoundProvider.prototype.udk = function () {
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = audioFormats$factory();
    tmp$ret$0 = this.tdk_1.l1();
    return tmp$ret$0;
  };
  NativeSoundProvider.prototype.hdm = function (vfs, path, streaming, props, $cont) {
    var tmp = new $createSoundCOROUTINE$25(this, vfs, path, streaming, props, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  NativeSoundProvider.prototype.idm = function (vfs, path, streaming, props, $cont, $mask0, $handler) {
    if (!(($mask0 & 4) === 0))
      streaming = false;
    if (!(($mask0 & 8) === 0))
      props = Companion_getInstance_4().kcw_1;
    return $handler == null ? this.hdm(vfs, path, streaming, props, $cont) : $handler(vfs, path, streaming, props, $cont);
  };
  NativeSoundProvider.prototype.fdm = function (file, streaming, props, $cont) {
    return this.hdm(file.p5n(), file.q5n(), streaming, props, $cont);
  };
  NativeSoundProvider.prototype.jdm = function (file, streaming, props, $cont) {
    var tmp = new $createSoundCOROUTINE$26(this, file, streaming, props, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  NativeSoundProvider.prototype.wdk = function (data, name, $cont) {
    var tmp = toStream(data);
    return this.vdk(tmp, true, name, null, $cont, 8, null);
  };
  NativeSoundProvider.prototype.kdm = function (stream, closeStream, name, onComplete, $cont) {
    var tmp$ret$0;
    // Inline function 'kotlin.js.getCoroutineContext' call
    tmp$ret$0 = $cont.p5();
    return new SoundAudioStream(tmp$ret$0, stream, this, closeStream, name, onComplete);
  };
  NativeSoundProvider.prototype.vdk = function (stream, closeStream, name, onComplete, $cont, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      closeStream = false;
    if (!(($mask0 & 4) === 0))
      name = 'Unknown';
    if (!(($mask0 & 8) === 0))
      onComplete = null;
    return this.kdm(stream, closeStream, name, onComplete, $cont);
  };
  NativeSoundProvider.$metadata$ = classMeta('NativeSoundProvider', [Disposable]);
  function Companion_10() {
    Companion_instance_10 = this;
    DummyNativeSoundProvider.call(this);
  }
  Companion_10.$metadata$ = objectMeta('Companion', undefined, undefined, undefined, undefined, DummyNativeSoundProvider.prototype);
  var Companion_instance_10;
  function Companion_getInstance_14() {
    if (Companion_instance_10 == null)
      new Companion_10();
    return Companion_instance_10;
  }
  function DummyNativeSoundProvider() {
    Companion_getInstance_14();
    NativeSoundProvider.call(this);
  }
  DummyNativeSoundProvider.$metadata$ = classMeta('DummyNativeSoundProvider', undefined, undefined, undefined, undefined, NativeSoundProvider.prototype);
  function Sound(creationCoroutineContext) {
    this.ldm_1 = creationCoroutineContext;
    this.mdm_1 = this.ldm_1;
    this.ndm_1 = 'UnknownNativeSound';
    this.odm_1 = 1.0;
    this.pdm_1 = 0.0;
    this.qdm_1 = 1.0;
    var tmp = this;
    var tmp$ret$0;
    // Inline function 'com.soywiz.klock.seconds' call
    tmp$ret$0 = Companion_getInstance().c1i(0.0);
    tmp.rdm_1 = tmp$ret$0;
  }
  Sound.prototype.t2 = function () {
    return this.ndm_1;
  };
  Sound.prototype.kdj = function (_set____db54di) {
    this.odm_1 = _set____db54di;
  };
  Sound.prototype.ldj = function () {
    return this.odm_1;
  };
  Sound.prototype.mdj = function (_set____db54di) {
    this.pdm_1 = _set____db54di;
  };
  Sound.prototype.ndj = function () {
    return this.pdm_1;
  };
  Sound.prototype.idj = function (_set____db54di) {
    this.qdm_1 = _set____db54di;
  };
  Sound.prototype.jdj = function () {
    return this.qdm_1;
  };
  Sound.prototype.sdm = function (coroutineContext, params) {
    throw NotImplementedError_init_$Create$(null, 1, null);
  };
  Sound.prototype.tdm = function (params, $cont) {
    var tmp$ret$0;
    // Inline function 'kotlin.js.getCoroutineContext' call
    tmp$ret$0 = $cont.p5();
    return this.sdm(tmp$ret$0, params);
  };
  Sound.prototype.udm = function (params, $cont, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      params = Companion_getInstance_15().vdm_1;
    return this.tdm(params, $cont);
  };
  Sound.prototype.toString = function () {
    return "NativeSound('" + this.t2() + "')";
  };
  Sound.$metadata$ = classMeta('Sound', [SoundProps, AudioStreamable]);
  function PlaybackParameters_init_$Init$(times, startTime, bufferTime, volume, pitch, panning, onCancel, onFinish, $mask0, $marker, $this) {
    if (!(($mask0 & 1) === 0)) {
      var tmp$ret$0;
      var tmp$ret$0_0;
      // Inline function 'com.soywiz.korau.sound.playbackTimes' call
      tmp$ret$0 = _PlaybackTimes___init__impl__rt6rw2(1);
      tmp$ret$0_0 = Unit_getInstance();
      times = tmp$ret$0;
    }
    if (!(($mask0 & 2) === 0)) {
      var tmp$ret$0_1;
      var tmp$ret$1;
      // Inline function 'com.soywiz.klock.seconds' call
      tmp$ret$0_1 = Companion_getInstance().c1i(0.0);
      tmp$ret$1 = Unit_getInstance();
      startTime = tmp$ret$0_1;
    }
    if (!(($mask0 & 4) === 0)) {
      var tmp$ret$0_2;
      var tmp$ret$2;
      // Inline function 'com.soywiz.klock.seconds' call
      tmp$ret$0_2 = Companion_getInstance().c1i(0.16);
      tmp$ret$2 = Unit_getInstance();
      bufferTime = tmp$ret$0_2;
    }
    if (!(($mask0 & 8) === 0))
      volume = 1.0;
    if (!(($mask0 & 16) === 0))
      pitch = 1.0;
    if (!(($mask0 & 32) === 0))
      panning = 0.0;
    if (!(($mask0 & 64) === 0))
      onCancel = null;
    if (!(($mask0 & 128) === 0))
      onFinish = null;
    PlaybackParameters.call($this, times, startTime, bufferTime, volume, pitch, panning, onCancel, onFinish);
    return $this;
  }
  function PlaybackParameters_init_$Create$(times, startTime, bufferTime, volume, pitch, panning, onCancel, onFinish, $mask0, $marker) {
    return PlaybackParameters_init_$Init$(times, startTime, bufferTime, volume, pitch, panning, onCancel, onFinish, $mask0, $marker, Object.create(PlaybackParameters.prototype));
  }
  function Companion_11() {
    Companion_instance_11 = this;
    var tmp = this;
    var tmp$ret$0;
    // Inline function 'com.soywiz.korau.sound.playbackTimes' call
    tmp$ret$0 = _PlaybackTimes___init__impl__rt6rw2(1);
    var tmp_0 = tmp$ret$0;
    var tmp$ret$1;
    // Inline function 'com.soywiz.klock.seconds' call
    tmp$ret$1 = Companion_getInstance().c1i(0.0);
    var tmp_1 = tmp$ret$1;
    tmp.vdm_1 = PlaybackParameters_init_$Create$(tmp_0, tmp_1, null, 0.0, 0.0, 0.0, null, null, 252, null);
  }
  Companion_11.$metadata$ = objectMeta('Companion');
  var Companion_instance_11;
  function Companion_getInstance_15() {
    if (Companion_instance_11 == null)
      new Companion_11();
    return Companion_instance_11;
  }
  function PlaybackParameters(times, startTime, bufferTime, volume, pitch, panning, onCancel, onFinish) {
    Companion_getInstance_15();
    this.wdm_1 = times;
    this.xdm_1 = startTime;
    this.ydm_1 = bufferTime;
    this.zdm_1 = volume;
    this.adn_1 = pitch;
    this.bdn_1 = panning;
    this.cdn_1 = onCancel;
    this.ddn_1 = onFinish;
  }
  PlaybackParameters.prototype.ldj = function () {
    return this.zdm_1;
  };
  PlaybackParameters.prototype.jdj = function () {
    return this.adn_1;
  };
  PlaybackParameters.prototype.ndj = function () {
    return this.bdn_1;
  };
  PlaybackParameters.prototype.toString = function () {
    return 'PlaybackParameters(times=' + new PlaybackTimes(this.wdm_1) + ', startTime=' + new TimeSpan(this.xdm_1) + ', bufferTime=' + new TimeSpan(this.ydm_1) + ', volume=' + this.zdm_1 + ', pitch=' + this.adn_1 + ', panning=' + this.bdn_1 + ', onCancel=' + this.cdn_1 + ', onFinish=' + this.ddn_1 + ')';
  };
  PlaybackParameters.prototype.hashCode = function () {
    var result = PlaybackTimes__hashCode_impl_mtf95(this.wdm_1);
    result = imul(result, 31) + TimeSpan__hashCode_impl_izs3k5(this.xdm_1) | 0;
    result = imul(result, 31) + TimeSpan__hashCode_impl_izs3k5(this.ydm_1) | 0;
    result = imul(result, 31) + getNumberHashCode(this.zdm_1) | 0;
    result = imul(result, 31) + getNumberHashCode(this.adn_1) | 0;
    result = imul(result, 31) + getNumberHashCode(this.bdn_1) | 0;
    result = imul(result, 31) + (this.cdn_1 == null ? 0 : hashCode(this.cdn_1)) | 0;
    result = imul(result, 31) + (this.ddn_1 == null ? 0 : hashCode(this.ddn_1)) | 0;
    return result;
  };
  PlaybackParameters.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PlaybackParameters))
      return false;
    var tmp0_other_with_cast = other instanceof PlaybackParameters ? other : THROW_CCE();
    if (!(this.wdm_1 === tmp0_other_with_cast.wdm_1))
      return false;
    if (!equals(this.xdm_1, tmp0_other_with_cast.xdm_1))
      return false;
    if (!equals(this.ydm_1, tmp0_other_with_cast.ydm_1))
      return false;
    if (!equals(this.zdm_1, tmp0_other_with_cast.zdm_1))
      return false;
    if (!equals(this.adn_1, tmp0_other_with_cast.adn_1))
      return false;
    if (!equals(this.bdn_1, tmp0_other_with_cast.bdn_1))
      return false;
    if (!equals(this.cdn_1, tmp0_other_with_cast.cdn_1))
      return false;
    if (!equals(this.ddn_1, tmp0_other_with_cast.ddn_1))
      return false;
    return true;
  };
  PlaybackParameters.$metadata$ = classMeta('PlaybackParameters', [ReadonlySoundProps]);
  function SoundProps() {
  }
  SoundProps.$metadata$ = interfaceMeta('SoundProps', [ReadonlySoundProps]);
  function SoundChannel(sound) {
    this.edn_1 = sound;
    var tmp = this;
    tmp.fdn_1 = Mixin_init_$Create$(null, 1, null);
    this.gdn_1 = Companion_getInstance_0().d1h();
    this.hdn_1 = 1.0;
    this.idn_1 = 1.0;
    this.jdn_1 = 0.0;
  }
  SoundChannel.prototype.e4v = function (_set____db54di) {
    this.fdn_1.e4v(_set____db54di);
  };
  SoundChannel.prototype.f4v = function () {
    return this.fdn_1.f4v();
  };
  SoundChannel.prototype.kdj = function (_set____db54di) {
    this.hdn_1 = _set____db54di;
  };
  SoundChannel.prototype.ldj = function () {
    return this.hdn_1;
  };
  SoundChannel.prototype.idj = function (_set____db54di) {
    this.idn_1 = _set____db54di;
  };
  SoundChannel.prototype.jdj = function () {
    return this.idn_1;
  };
  SoundChannel.prototype.mdj = function (_set____db54di) {
    this.jdn_1 = _set____db54di;
  };
  SoundChannel.prototype.ndj = function () {
    return this.jdn_1;
  };
  SoundChannel.$metadata$ = classMeta('SoundChannel', [SoundChannelBase, Extra]);
  function _PlaybackTimes___init__impl__rt6rw2(count) {
    return count;
  }
  function _PlaybackTimes___get_count__impl__ll6dcs($this) {
    return $this;
  }
  function Companion_12() {
    Companion_instance_12 = this;
    this.kdn_1 = _PlaybackTimes___init__impl__rt6rw2(0);
    this.ldn_1 = _PlaybackTimes___init__impl__rt6rw2(1);
    this.mdn_1 = _PlaybackTimes___init__impl__rt6rw2(-1);
  }
  Companion_12.$metadata$ = objectMeta('Companion');
  var Companion_instance_12;
  function Companion_getInstance_16() {
    if (Companion_instance_12 == null)
      new Companion_12();
    return Companion_instance_12;
  }
  function _PlaybackTimes___get_hasMore__impl__ei8boc($this) {
    return !($this === Companion_getInstance_16().kdn_1);
  }
  function _PlaybackTimes___get_oneLess__impl__ea0jl8($this) {
    return $this === Companion_getInstance_16().mdn_1 ? Companion_getInstance_16().mdn_1 : _PlaybackTimes___init__impl__rt6rw2(_PlaybackTimes___get_count__impl__ll6dcs($this) - 1 | 0);
  }
  function PlaybackTimes__toString_impl_l4chjq($this) {
    return _PlaybackTimes___get_count__impl__ll6dcs($this) >= 0 ? '' + _PlaybackTimes___get_count__impl__ll6dcs($this) + ' times' : 'Infinite times';
  }
  function PlaybackTimes__hashCode_impl_mtf95($this) {
    return $this;
  }
  function PlaybackTimes__equals_impl_suah7n($this, other) {
    if (!(other instanceof PlaybackTimes))
      return false;
    var tmp0_other_with_cast = other instanceof PlaybackTimes ? other.ndn_1 : THROW_CCE();
    if (!($this === tmp0_other_with_cast))
      return false;
    return true;
  }
  function PlaybackTimes(count) {
    Companion_getInstance_16();
    this.ndn_1 = count;
  }
  PlaybackTimes.prototype.toString = function () {
    return PlaybackTimes__toString_impl_l4chjq(this.ndn_1);
  };
  PlaybackTimes.prototype.hashCode = function () {
    return PlaybackTimes__hashCode_impl_mtf95(this.ndn_1);
  };
  PlaybackTimes.prototype.equals = function (other) {
    return PlaybackTimes__equals_impl_suah7n(this.ndn_1, other);
  };
  PlaybackTimes.$metadata$ = classMeta('PlaybackTimes');
  function get_playbackTimes(_this__u8e3s4) {
    return _PlaybackTimes___init__impl__rt6rw2(_this__u8e3s4);
  }
  function ReadonlySoundProps() {
  }
  ReadonlySoundProps.$metadata$ = interfaceMeta('ReadonlySoundProps');
  function SoundChannelBase() {
  }
  SoundChannelBase.$metadata$ = interfaceMeta('SoundChannelBase', [SoundProps]);
  function copySoundPropsFrom(_this__u8e3s4, other) {
    _this__u8e3s4.kdj(other.ldj());
    _this__u8e3s4.idj(other.jdj());
    _this__u8e3s4.mdj(other.ndj());
  }
  function readSound(_this__u8e3s4, props, streaming, $cont) {
    return get_nativeSoundProvider().jdm(_this__u8e3s4, streaming, props, $cont);
  }
  function readSound$default(_this__u8e3s4, props, streaming, $cont, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      props = Companion_getInstance_4().kcw_1;
    if (!(($mask0 & 2) === 0))
      streaming = false;
    return readSound(_this__u8e3s4, props, streaming, $cont);
  }
  function audioFormats$factory() {
    return getPropertyCallableRef('audioFormats', 1, KProperty1, function (receiver) {
      return receiver.udk();
    }, null);
  }
  function SoundAudioStream$Companion$ID_POOL$lambda(it) {
    return it;
  }
  function SoundAudioStream$play$slambda$slambda(this$0, $newStream, $params, $playing, $nas, $paused, resultContinuation) {
    this.wdn_1 = this$0;
    this.xdn_1 = $newStream;
    this.ydn_1 = $params;
    this.zdn_1 = $playing;
    this.ado_1 = $nas;
    this.bdo_1 = $paused;
    CoroutineImpl.call(this, resultContinuation);
  }
  SoundAudioStream$play$slambda$slambda.prototype.qdo = function ($this$withContext, $cont) {
    var tmp = this.i2n($this$withContext, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  SoundAudioStream$play$slambda$slambda.prototype.w7 = function (p1, $cont) {
    return this.qdo((!(p1 == null) ? isInterface(p1, CoroutineScope) : false) ? p1 : THROW_CCE(), $cont);
  };
  SoundAudioStream$play$slambda$slambda.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 26;
            this.o7_1 = 1;
            suspendResult = this.wdn_1.ydo_1.zd3(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.ddo_1 = suspendResult;
            this.xdn_1._v = this.ddo_1;
            this.ddo_1.ad4(this.ydn_1.xdm_1);
            this.zdn_1._v = true;
            this.edo_1 = this.ydn_1.wdm_1;
            this.o7_1 = 2;
            continue $sm;
          case 2:
            this.p7_1 = 18;
            this.p7_1 = 17;
            var tmp_0 = this;
            tmp_0.gdo_1 = AudioSamples_init_$Create$(this.ddo_1.qd2_1, 1024, null, 4, null);
            this.hdo_1 = 2;
            this.ido_1 = numberToInt(imul(this.ddo_1.pd2_1, this.hdo_1) * _TimeSpan___get_seconds__impl__cx2k1c(this.ydn_1.ydm_1));
            this.ado_1.pdj();
            this.o7_1 = 3;
            continue $sm;
          case 3:
            if (!_PlaybackTimes___get_hasMore__impl__ei8boc(this.edo_1)) {
              this.o7_1 = 16;
              continue $sm;
            }

            this.ddo_1.xd3(new Long(0, 0));
            this.o7_1 = 4;
            continue $sm;
          case 4:
            if (!!this.ddo_1.wd3()) {
              this.o7_1 = 15;
              continue $sm;
            }

            this.o7_1 = 5;
            continue $sm;
          case 5:
            if (!this.bdo_1._v) {
              this.o7_1 = 7;
              continue $sm;
            }

            this.o7_1 = 6;
            suspendResult = delay(Companion_getInstance().o1h(2.0), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 6:
            this.o7_1 = 5;
            continue $sm;
          case 7:
            this.o7_1 = 8;
            suspendResult = this.ddo_1.yd3(this.gdo_1, 0, this.gdo_1.vd2_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 8:
            this.jdo_1 = suspendResult;
            this.o7_1 = 9;
            suspendResult = this.ado_1.odj(this.gdo_1, 0, this.jdo_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 9:
            this.o7_1 = 10;
            continue $sm;
          case 10:
            var containsLower = this.ido_1;
            var containsUpper = imul(this.ido_1, 2);
            var containsArg = this.ado_1.hdj();
            if (!(containsLower <= containsArg ? containsArg <= containsUpper : false)) {
              this.o7_1 = 12;
              continue $sm;
            }

            this.o7_1 = 11;
            suspendResult = delay(Companion_getInstance().o1h(2.0), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 11:
            this.o7_1 = 10;
            continue $sm;
          case 12:
            var tmp_1;
            var containsLower_0 = this.ido_1;
            var containsUpper_0 = imul(this.ido_1, 2);
            var containsArg_0 = this.ado_1.hdj();
            if (!(containsLower_0 <= containsArg_0 ? containsArg_0 <= containsUpper_0 : false)) {
              tmp_1 = !this.ddo_1.wd3();
            } else {
              tmp_1 = false;
            }

            if (tmp_1) {
              this.o7_1 = 13;
              suspendResult = delay(Companion_getInstance().o1h(2.0), this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 14;
              continue $sm;
            }

            break;
          case 13:
            this.o7_1 = 14;
            continue $sm;
          case 14:
            this.o7_1 = 4;
            continue $sm;
          case 15:
            this.edo_1 = _PlaybackTimes___get_oneLess__impl__ea0jl8(this.edo_1);
            this.o7_1 = 3;
            continue $sm;
          case 16:
            this.fdo_1 = Unit_getInstance();
            this.p7_1 = 26;
            this.o7_1 = 22;
            continue $sm;
          case 17:
            this.p7_1 = 18;
            var tmp_2 = this.r7_1;
            if (tmp_2 instanceof CancellationException) {
              this.kdo_1 = this.r7_1;
              var tmp_3 = this;
              var tmp0_safe_receiver = this.ydn_1.cdn_1;
              tmp_3.fdo_1 = tmp0_safe_receiver == null ? null : tmp0_safe_receiver();
              this.p7_1 = 26;
              this.o7_1 = 22;
              continue $sm;
            } else {
              throw this.r7_1;
            }

            break;
          case 18:
            this.p7_1 = 26;
            this.ldo_1 = this.r7_1;
            this.o7_1 = 19;
            suspendResult = this.ado_1.rdj(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 19:
            this.ado_1.qdj();
            if (this.wdn_1.adp_1) {
              this.ddo_1.x2c();
            }

            this.zdn_1._v = false;
            var tmp1_safe_receiver = this.ydn_1.ddn_1;
            if (tmp1_safe_receiver == null)
              null;
            else
              tmp1_safe_receiver();
            ;
            this.mdo_1 = this.wdn_1.cdp_1;
            if (this.mdo_1 == null) {
              this.ndo_1 = null;
              this.o7_1 = 21;
              continue $sm;
            } else {
              this.o7_1 = 20;
              suspendResult = this.mdo_1(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 20:
            var tmp_4 = this;
            tmp_4.ndo_1 = Unit_getInstance();
            this.o7_1 = 21;
            continue $sm;
          case 21:
            ;
            throw this.ldo_1;
          case 22:
            this.o7_1 = 23;
            suspendResult = this.ado_1.rdj(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 23:
            this.ado_1.qdj();
            if (this.wdn_1.adp_1) {
              this.ddo_1.x2c();
            }

            this.zdn_1._v = false;
            var tmp1_safe_receiver_0 = this.ydn_1.ddn_1;
            if (tmp1_safe_receiver_0 == null)
              null;
            else
              tmp1_safe_receiver_0();
            ;
            this.odo_1 = this.wdn_1.cdp_1;
            if (this.odo_1 == null) {
              this.pdo_1 = null;
              this.o7_1 = 25;
              continue $sm;
            } else {
              this.o7_1 = 24;
              suspendResult = this.odo_1(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 24:
            var tmp_5 = this;
            tmp_5.pdo_1 = Unit_getInstance();
            this.o7_1 = 25;
            continue $sm;
          case 25:
            return Unit_getInstance();
          case 26:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 26) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  SoundAudioStream$play$slambda$slambda.prototype.i2n = function ($this$withContext, completion) {
    var i = new SoundAudioStream$play$slambda$slambda(this.wdn_1, this.xdn_1, this.ydn_1, this.zdn_1, this.ado_1, this.bdo_1, completion);
    i.cdo_1 = $this$withContext;
    return i;
  };
  SoundAudioStream$play$slambda$slambda.$metadata$ = classMeta('SoundAudioStream$play$slambda$slambda', undefined, undefined, undefined, [1], CoroutineImpl.prototype);
  function SoundAudioStream$play$slambda$slambda_0(this$0, $newStream, $params, $playing, $nas, $paused, resultContinuation) {
    var i = new SoundAudioStream$play$slambda$slambda(this$0, $newStream, $params, $playing, $nas, $paused, resultContinuation);
    var l = function ($this$withContext, $cont) {
      return i.qdo($this$withContext, $cont);
    };
    l.$arity = 1;
    return l;
  }
  function Companion_13() {
    Companion_instance_13 = this;
    var tmp = this;
    tmp.edp_1 = ConcurrentPool_init_$Create$(null, 0, SoundAudioStream$Companion$ID_POOL$lambda, 3, null);
  }
  Companion_13.$metadata$ = objectMeta('Companion');
  var Companion_instance_13;
  function Companion_getInstance_17() {
    if (Companion_instance_13 == null)
      new Companion_13();
    return Companion_instance_13;
  }
  function SoundAudioStream$play$slambda($dispatcherName, $channelId, this$0, $newStream, $params, $playing, $nas, $paused, resultContinuation) {
    this.ndp_1 = $dispatcherName;
    this.odp_1 = $channelId;
    this.pdp_1 = this$0;
    this.qdp_1 = $newStream;
    this.rdp_1 = $params;
    this.sdp_1 = $playing;
    this.tdp_1 = $nas;
    this.udp_1 = $paused;
    CoroutineImpl.call(this, resultContinuation);
  }
  SoundAudioStream$play$slambda.prototype.z56 = function ($cont) {
    var tmp = this.k53($cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  SoundAudioStream$play$slambda.prototype.to = function ($cont) {
    return this.z56($cont);
  };
  SoundAudioStream$play$slambda.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 5;
            this.vdp_1 = Companion_getInstance_1().a4z().f4z() ? null : createSingleThreadedDispatcher(Dispatchers_getInstance(), this.ndp_1);
            this.o7_1 = 1;
            continue $sm;
          case 1:
            this.p7_1 = 4;
            this.o7_1 = 2;
            var tmp0_elvis_lhs = this.vdp_1;
            var tmp_0 = tmp0_elvis_lhs == null ? EmptyCoroutineContext_getInstance() : tmp0_elvis_lhs;
            suspendResult = withContext(tmp_0, SoundAudioStream$play$slambda$slambda_0(this.pdp_1, this.qdp_1, this.rdp_1, this.sdp_1, this.tdp_1, this.udp_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            var tmp_1 = this;
            tmp_1.wdp_1 = Unit_getInstance();
            this.p7_1 = 5;
            this.o7_1 = 3;
            continue $sm;
          case 3:
            Companion_getInstance_17().edp_1.u4t(this.odp_1);
            var tmp1_subject = this.vdp_1;
            if (tmp1_subject instanceof CloseableCoroutineDispatcher) {
              this.vdp_1.x2c();
            } else {
              if (!(tmp1_subject == null) ? isInterface(tmp1_subject, Closeable) : false) {
                this.vdp_1.x2c();
              }
            }

            return Unit_getInstance();
          case 4:
            this.p7_1 = 5;
            var t = this.r7_1;
            Companion_getInstance_17().edp_1.u4t(this.odp_1);
            var tmp1_subject_0 = this.vdp_1;
            if (tmp1_subject_0 instanceof CloseableCoroutineDispatcher) {
              this.vdp_1.x2c();
            } else {
              if (!(tmp1_subject_0 == null) ? isInterface(tmp1_subject_0, Closeable) : false) {
                this.vdp_1.x2c();
              }
            }

            throw t;
          case 5:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 5) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  SoundAudioStream$play$slambda.prototype.k53 = function (completion) {
    var i = new SoundAudioStream$play$slambda(this.ndp_1, this.odp_1, this.pdp_1, this.qdp_1, this.rdp_1, this.sdp_1, this.tdp_1, this.udp_1, completion);
    return i;
  };
  SoundAudioStream$play$slambda.$metadata$ = classMeta('SoundAudioStream$play$slambda', undefined, undefined, undefined, [0], CoroutineImpl.prototype);
  function SoundAudioStream$play$slambda_0($dispatcherName, $channelId, this$0, $newStream, $params, $playing, $nas, $paused, resultContinuation) {
    var i = new SoundAudioStream$play$slambda($dispatcherName, $channelId, this$0, $newStream, $params, $playing, $nas, $paused, resultContinuation);
    var l = function ($cont) {
      return i.z56($cont);
    };
    l.$arity = 0;
    return l;
  }
  function SoundAudioStream$play$1($nas, this$0, $newStream, $paused, $playing, $job) {
    this.gdq_1 = this$0;
    this.hdq_1 = $newStream;
    this.idq_1 = $paused;
    this.jdq_1 = $playing;
    this.kdq_1 = $job;
    SoundChannel.call(this, this$0.ddp_1);
    this.ddq_1 = volume$factory($nas);
    this.edq_1 = pitch$factory($nas);
    this.fdq_1 = panning$factory($nas);
  }
  SoundAudioStream$play$1.prototype.kdj = function (_set____db54di) {
    var tmp0_setValue = volume$factory_0();
    return this.ddq_1.set(_set____db54di);
  };
  SoundAudioStream$play$1.prototype.ldj = function () {
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = volume$factory_1();
    tmp$ret$0 = this.ddq_1.get();
    return tmp$ret$0;
  };
  SoundAudioStream$play$1.prototype.idj = function (_set____db54di) {
    var tmp0_setValue = pitch$factory_0();
    return this.edq_1.set(_set____db54di);
  };
  SoundAudioStream$play$1.prototype.jdj = function () {
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = pitch$factory_1();
    tmp$ret$0 = this.edq_1.get();
    return tmp$ret$0;
  };
  SoundAudioStream$play$1.prototype.mdj = function (_set____db54di) {
    var tmp0_setValue = panning$factory_0();
    return this.fdq_1.set(_set____db54di);
  };
  SoundAudioStream$play$1.prototype.ndj = function () {
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = panning$factory_1();
    tmp$ret$0 = this.fdq_1.get();
    return tmp$ret$0;
  };
  SoundAudioStream$play$1.$metadata$ = classMeta(undefined, undefined, undefined, undefined, undefined, SoundChannel.prototype);
  function SoundAudioStream(coroutineContext, stream, soundProvider, closeStream, name, onComplete) {
    Companion_getInstance_17();
    Sound.call(this, coroutineContext);
    this.ydo_1 = stream;
    this.zdo_1 = soundProvider;
    this.adp_1 = closeStream;
    this.bdp_1 = name;
    this.cdp_1 = onComplete;
    this.ddp_1 = this;
  }
  SoundAudioStream.prototype.t2 = function () {
    return this.bdp_1;
  };
  SoundAudioStream.prototype.sdm = function (coroutineContext, params) {
    var nas = this.zdo_1.gdm(coroutineContext, this.ydo_1.pd2_1);
    copySoundPropsFrom(nas, params);
    var playing = {_v: true};
    var paused = {_v: false};
    var newStream = {_v: null};
    var channelId = Companion_getInstance_17().edp_1.t4t();
    var dispatcherName = 'SoundChannel-SoundAudioStream-' + channelId;
    var job = launchAsap(coroutineContext, SoundAudioStream$play$slambda_0(dispatcherName, channelId, this, newStream, params, playing, nas, paused, null));
    return new SoundAudioStream$play$1(nas, this, newStream, paused, playing, job);
  };
  SoundAudioStream.$metadata$ = classMeta('SoundAudioStream', undefined, undefined, undefined, undefined, Sound.prototype);
  function volume$factory($b0) {
    return getPropertyCallableRef('volume', 0, KMutableProperty0, function () {
      return $b0.ldj();
    }, function (value) {
      return $b0.kdj(value);
    });
  }
  function pitch$factory($b0) {
    return getPropertyCallableRef('pitch', 0, KMutableProperty0, function () {
      return $b0.jdj();
    }, function (value) {
      return $b0.idj(value);
    });
  }
  function panning$factory($b0) {
    return getPropertyCallableRef('panning', 0, KMutableProperty0, function () {
      return $b0.ndj();
    }, function (value) {
      return $b0.mdj(value);
    });
  }
  function volume$factory_0() {
    return getPropertyCallableRef('volume', 1, KMutableProperty1, function (receiver) {
      return receiver.ldj();
    }, function (receiver, value) {
      return receiver.kdj(value);
    });
  }
  function volume$factory_1() {
    return getPropertyCallableRef('volume', 1, KMutableProperty1, function (receiver) {
      return receiver.ldj();
    }, function (receiver, value) {
      return receiver.kdj(value);
    });
  }
  function pitch$factory_0() {
    return getPropertyCallableRef('pitch', 1, KMutableProperty1, function (receiver) {
      return receiver.jdj();
    }, function (receiver, value) {
      return receiver.idj(value);
    });
  }
  function pitch$factory_1() {
    return getPropertyCallableRef('pitch', 1, KMutableProperty1, function (receiver) {
      return receiver.jdj();
    }, function (receiver, value) {
      return receiver.idj(value);
    });
  }
  function panning$factory_0() {
    return getPropertyCallableRef('panning', 1, KMutableProperty1, function (receiver) {
      return receiver.ndj();
    }, function (receiver, value) {
      return receiver.mdj(value);
    });
  }
  function panning$factory_1() {
    return getPropertyCallableRef('panning', 1, KMutableProperty1, function (receiver) {
      return receiver.ndj();
    }, function (receiver, value) {
      return receiver.mdj(value);
    });
  }
  function get_FastMP3Decoder() {
    return Companion_getInstance_9();
  }
  function $createSoundCOROUTINE$33(_this__u8e3s4, data, streaming, props, name, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.tdq_1 = _this__u8e3s4;
    this.udq_1 = data;
    this.vdq_1 = streaming;
    this.wdq_1 = props;
    this.xdq_1 = name;
  }
  $createSoundCOROUTINE$33.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = HtmlSimpleSound_getInstance().cdr(this.udq_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            var ARGUMENT_0 = AudioBufferOrHTMLMediaElement_init_$Create$(ARGUMENT);
            return new AudioBufferSound(ARGUMENT_0, '#bytes', this.p5(), this.xdq_1);
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $createSoundCOROUTINE$33.$metadata$ = classMeta('$createSoundCOROUTINE$33', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $createSoundCOROUTINE$34(_this__u8e3s4, vfs, path, streaming, props, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ldr_1 = _this__u8e3s4;
    this.mdr_1 = vfs;
    this.ndr_1 = path;
    this.odr_1 = streaming;
    this.pdr_1 = props;
  }
  $createSoundCOROUTINE$34.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.qdr_1 = this.mdr_1;
            var tmp_0;
            var tmp_1 = this.qdr_1;
            if (tmp_1 instanceof LocalVfs) {
              tmp_0 = true;
            } else {
              var tmp_2 = this.qdr_1;
              tmp_0 = tmp_2 instanceof UrlVfs;
            }

            if (tmp_0) {
              var tmp_3 = this;
              var tmp1_subject = this.mdr_1;
              var tmp_4;
              if (tmp1_subject instanceof LocalVfs) {
                tmp_4 = this.ndr_1;
              } else {
                if (tmp1_subject instanceof UrlVfs) {
                  tmp_4 = this.mdr_1.f5w(this.ndr_1);
                } else {
                  get_invalidOp();
                }
              }
              tmp_3.sdr_1 = tmp_4;
              if (this.odr_1) {
                var tmp_5 = this;
                var tmp_6 = AudioBufferOrHTMLMediaElement_init_$Create$_0(HtmlSimpleSound_getInstance().vdr(this.sdr_1));
                var tmp_7 = this.p5();
                tmp_5.tdr_1 = AudioBufferSound_init_$Create$(tmp_6, this.sdr_1, tmp_7, null, 8, null);
                this.o7_1 = 4;
                continue $sm;
              } else {
                this.o7_1 = 2;
                suspendResult = HtmlSimpleSound_getInstance().udr(this.sdr_1, this);
                if (suspendResult === get_COROUTINE_SUSPENDED()) {
                  return suspendResult;
                }
                continue $sm;
              }
            } else {
              this.o7_1 = 1;
              suspendResult = NativeSoundProvider.prototype.idm.call(this.ldr_1, this.mdr_1, this.ndr_1, false, null, this, 12, NativeSoundProvider.prototype.hdm.bind(this.ldr_1));
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 1:
            this.rdr_1 = suspendResult;
            this.o7_1 = 5;
            continue $sm;
          case 2:
            var ARGUMENT = suspendResult;
            var ARGUMENT_0 = AudioBufferOrHTMLMediaElement_init_$Create$(ARGUMENT);
            var tmp_8 = this;
            var tmp_9 = this.p5();
            tmp_8.tdr_1 = AudioBufferSound_init_$Create$(ARGUMENT_0, this.sdr_1, tmp_9, null, 8, null);
            this.o7_1 = 4;
            continue $sm;
          case 3:
            throw this.r7_1;
          case 4:
            this.rdr_1 = this.tdr_1;
            this.o7_1 = 5;
            continue $sm;
          case 5:
            return this.rdr_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $createSoundCOROUTINE$34.$metadata$ = classMeta('$createSoundCOROUTINE$34', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function HtmlNativeSoundProvider() {
    NativeSoundProvider.call(this);
    HtmlSimpleSound_getInstance().wdr();
  }
  HtmlNativeSoundProvider.prototype.gdm = function (coroutineContext, freq) {
    return new JsPlatformAudioOutput(coroutineContext, freq);
  };
  HtmlNativeSoundProvider.prototype.rdl = function (data, streaming, props, name, $cont) {
    var tmp = new $createSoundCOROUTINE$33(this, data, streaming, props, name, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  HtmlNativeSoundProvider.prototype.hdm = function (vfs, path, streaming, props, $cont) {
    var tmp = new $createSoundCOROUTINE$34(this, vfs, path, streaming, props, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  HtmlNativeSoundProvider.$metadata$ = classMeta('HtmlNativeSoundProvider', undefined, undefined, undefined, undefined, NativeSoundProvider.prototype);
  function AudioBufferSound_init_$Init$(buffer, url, coroutineContext, name, $mask0, $marker, $this) {
    if (!(($mask0 & 8) === 0))
      name = 'unknown';
    AudioBufferSound.call($this, buffer, url, coroutineContext, name);
    return $this;
  }
  function AudioBufferSound_init_$Create$(buffer, url, coroutineContext, name, $mask0, $marker) {
    return AudioBufferSound_init_$Init$(buffer, url, coroutineContext, name, $mask0, $marker, Object.create(AudioBufferSound.prototype));
  }
  function AudioBufferSound$play$lambda($channel) {
    return function (it) {
      var tmp0_safe_receiver = $channel;
      if (tmp0_safe_receiver == null)
        null;
      else {
        tmp0_safe_receiver.pds();
      }
      return Unit_getInstance();
    };
  }
  function AudioBufferSound$play$2(this$0, $channel) {
    this.xds_1 = $channel;
    SoundChannel.call(this, this$0);
    var tmp = this;
    var tmp0_safe_receiver = this$0.fdt_1;
    var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.ldt();
    var tmp_0;
    if (tmp1_safe_receiver == null) {
      tmp_0 = null;
    } else {
      var tmp$ret$0;
      // Inline function 'com.soywiz.klock.seconds' call
      tmp$ret$0 = Companion_getInstance().c1i(tmp1_safe_receiver);
      tmp_0 = tmp$ret$0;
    }
    var tmp2_elvis_lhs = tmp_0;
    var tmp_1;
    var tmp_2 = tmp2_elvis_lhs;
    if ((tmp_2 == null ? null : new TimeSpan(tmp_2)) == null) {
      var tmp$ret$1;
      // Inline function 'com.soywiz.klock.seconds' call
      tmp$ret$1 = Companion_getInstance().c1i(0.0);
      tmp_1 = tmp$ret$1;
    } else {
      tmp_1 = tmp2_elvis_lhs;
    }
    tmp.wds_1 = tmp_1;
  }
  AudioBufferSound$play$2.prototype.kdj = function (value) {
    var tmp0_safe_receiver = this.xds_1;
    if (tmp0_safe_receiver == null) {
    } else {
      tmp0_safe_receiver.kdj(value);
    }
  };
  AudioBufferSound$play$2.prototype.ldj = function () {
    var tmp0_safe_receiver = this.xds_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.jds_1;
    return tmp1_elvis_lhs == null ? 1.0 : tmp1_elvis_lhs;
  };
  AudioBufferSound$play$2.prototype.idj = function (value) {
    var tmp0_safe_receiver = this.xds_1;
    if (tmp0_safe_receiver == null) {
    } else {
      tmp0_safe_receiver.idj(value);
    }
  };
  AudioBufferSound$play$2.prototype.jdj = function () {
    var tmp0_safe_receiver = this.xds_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.kds_1;
    return tmp1_elvis_lhs == null ? 1.0 : tmp1_elvis_lhs;
  };
  AudioBufferSound$play$2.prototype.mdj = function (value) {
    var tmp0_safe_receiver = this.xds_1;
    if (tmp0_safe_receiver == null) {
    } else {
      tmp0_safe_receiver.mdj(value);
    }
  };
  AudioBufferSound$play$2.prototype.ndj = function () {
    var tmp0_safe_receiver = this.xds_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.lds_1;
    return tmp1_elvis_lhs == null ? 0.0 : tmp1_elvis_lhs;
  };
  AudioBufferSound$play$2.$metadata$ = classMeta(undefined, undefined, undefined, undefined, undefined, SoundChannel.prototype);
  function AudioBufferSound(buffer, url, coroutineContext, name) {
    Sound.call(this, coroutineContext);
    this.fdt_1 = buffer;
    this.gdt_1 = url;
    this.hdt_1 = name;
    var tmp = this;
    var tmp$ret$0;
    // Inline function 'com.soywiz.klock.seconds' call
    var tmp0_elvis_lhs = this.fdt_1.ldt();
    var tmp0__get_seconds__yb22lo = tmp0_elvis_lhs == null ? 0.0 : tmp0_elvis_lhs;
    tmp$ret$0 = Companion_getInstance().c1i(tmp0__get_seconds__yb22lo);
    tmp.idt_1 = tmp$ret$0;
  }
  AudioBufferSound.prototype.t2 = function () {
    return this.hdt_1;
  };
  AudioBufferSound.prototype.sdm = function (coroutineContext, params) {
    var channel = this.fdt_1.ndt() ? HtmlSimpleSound_getInstance().mdt(this.fdt_1, params, coroutineContext) : null;
    var tmp = HtmlSimpleSound_getInstance();
    tmp.odt(AudioBufferSound$play$lambda(channel));
    var tmp$ret$0;
    // Inline function 'kotlin.also' call
    var tmp0_also = new AudioBufferSound$play$2(this, channel);
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korau.sound.AudioBufferSound.play.<anonymous>' call
    copySoundPropsFrom(tmp0_also, params);
    tmp$ret$0 = tmp0_also;
    return tmp$ret$0;
  };
  AudioBufferSound.$metadata$ = classMeta('AudioBufferSound', undefined, undefined, undefined, undefined, Sound.prototype);
  function HtmlSimpleSound$SimpleSoundChannel$createJobAt$slambda$lambda($deferred) {
    return function () {
      return $deferred.x1z(Unit_getInstance());
    };
  }
  function HtmlSimpleSound$SimpleSoundChannel$createJobAt$slambda$lambda_0($deferred) {
    return function () {
      $deferred.x1z(Unit_getInstance());
      return Unit_getInstance();
    };
  }
  function HtmlSimpleSound$SimpleSoundChannel$createNode$lambda$lambda($htmlAudioElement, this$0, $audioBuffer) {
    return function ($this$gain) {
      var tmp;
      if (!($htmlAudioElement == null)) {
        this$0.gds_1 = clone($htmlAudioElement);
        var tmp_0 = this$0;
        var tmp_1 = HtmlSimpleSound_getInstance();
        var tmp_2 = ensureNotNull(this$0.gds_1);
        tmp_0.fds_1 = tmp_1.qdt($this$gain, tmp_2, null, 2, null);
        tmp = Unit_getInstance();
      } else if (!($audioBuffer == null)) {
        var tmp_3 = this$0;
        var tmp_4 = HtmlSimpleSound_getInstance();
        tmp_3.fds_1 = tmp_4.pdt($this$gain, $audioBuffer, null, 2, null);
        tmp = Unit_getInstance();
      }
      return Unit_getInstance();
    };
  }
  function HtmlSimpleSound$SimpleSoundChannel$createNode$lambda(this$0, $htmlAudioElement, $audioBuffer) {
    return function ($this$panner) {
      var tmp = this$0;
      var tmp_0 = HtmlSimpleSound_getInstance();
      tmp.dds_1 = tmp_0.rdt($this$panner, HtmlSimpleSound$SimpleSoundChannel$createNode$lambda$lambda($htmlAudioElement, this$0, $audioBuffer));
      return Unit_getInstance();
    };
  }
  function HtmlSimpleSound$SimpleSoundChannel$createJobAt$slambda(this$0, $startTime, resultContinuation) {
    this.adu_1 = this$0;
    this.bdu_1 = $startTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  HtmlSimpleSound$SimpleSoundChannel$createJobAt$slambda.prototype.z56 = function ($cont) {
    var tmp = this.k53($cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  HtmlSimpleSound$SimpleSoundChannel$createJobAt$slambda.prototype.to = function ($cont) {
    return this.z56($cont);
  };
  HtmlSimpleSound$SimpleSoundChannel$createJobAt$slambda.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 8;
            this.o7_1 = 1;
            continue $sm;
          case 1:
            this.p7_1 = 7;
            this.p7_1 = 6;
            this.o7_1 = 2;
            continue $sm;
          case 2:
            if (!_PlaybackTimes___get_hasMore__impl__ei8boc(this.adu_1.ids_1)) {
              this.o7_1 = 5;
              continue $sm;
            }

            this.adu_1.hds_1 = Companion_getInstance_0().d1h();
            this.adu_1.edu(this.bdu_1._v.y1h_1);
            this.bdu_1._v = new TimeSpan(Companion_getInstance().c1i(0.0));
            var tmp_0 = this;
            tmp_0.ddu_1 = CompletableDeferred$default(null, 1, null);
            var tmp_1;
            if (this.adu_1.fds_1 == null) {
              tmp_1 = true;
            } else {
              var tmp0_safe_receiver = this.adu_1.ads_1;
              tmp_1 = !((tmp0_safe_receiver == null ? null : tmp0_safe_receiver.state) === 'running');
            }

            if (tmp_1) {
              var tmp_2 = window;
              var tmp_3 = HtmlSimpleSound$SimpleSoundChannel$createJobAt$slambda$lambda(this.ddu_1);
              var tmp0_asDynamic = this.adu_1.zdr_1;
              var tmp1_unsafeCast = tmp0_asDynamic.duration;
              tmp_2.setTimeout(tmp_3, numberToInt(tmp1_unsafeCast * 1000));
            } else {
              var tmp1_safe_receiver = this.adu_1.fds_1;
              if (tmp1_safe_receiver == null) {
              } else {
                tmp1_safe_receiver.onended = HtmlSimpleSound$SimpleSoundChannel$createJobAt$slambda$lambda_0(this.ddu_1);
              }
            }

            this.o7_1 = 3;
            suspendResult = this.ddu_1.y1w(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.adu_1.ids_1 = _PlaybackTimes___get_oneLess__impl__ea0jl8(this.adu_1.ids_1);
            if (!_PlaybackTimes___get_hasMore__impl__ei8boc(this.adu_1.ids_1)) {
              this.o7_1 = 5;
              continue $sm;
            } else {
              this.o7_1 = 4;
              continue $sm;
            }

            break;
          case 4:
            this.o7_1 = 2;
            continue $sm;
          case 5:
            this.cdu_1 = Unit_getInstance();
            this.p7_1 = 8;
            this.o7_1 = 9;
            continue $sm;
          case 6:
            this.p7_1 = 7;
            var tmp_4 = this.r7_1;
            if (tmp_4 instanceof CancellationException) {
              var e = this.r7_1;
              var tmp_5 = this;
              var tmp2_safe_receiver = this.adu_1.bds_1.cdn_1;
              if (tmp2_safe_receiver == null)
                null;
              else
                tmp2_safe_receiver();
              tmp_5.cdu_1 = Unit_getInstance();
              this.p7_1 = 8;
              this.o7_1 = 9;
              continue $sm;
            } else {
              throw this.r7_1;
            }

            break;
          case 7:
            this.p7_1 = 8;
            var t = this.r7_1;
            this.adu_1.mds_1 = false;
            var realHtmlAudioElement = this.adu_1.gds_1;
            if (!(realHtmlAudioElement == null)) {
              realHtmlAudioElement.pause();
              realHtmlAudioElement.currentTime = 0.0;
            } else {
              var tmp3_safe_receiver = this.adu_1.fds_1;
              if (tmp3_safe_receiver == null)
                null;
              else {
                tmp3_safe_receiver.stop();
              }
            }

            this.adu_1.dds_1 = null;
            this.adu_1.eds_1 = null;
            this.adu_1.fds_1 = null;
            var tmp4_safe_receiver = this.adu_1.bds_1.ddn_1;
            if (tmp4_safe_receiver == null)
              null;
            else
              tmp4_safe_receiver();
            ;
            throw t;
          case 8:
            throw this.r7_1;
          case 9:
            this.adu_1.mds_1 = false;
            var realHtmlAudioElement_0 = this.adu_1.gds_1;
            if (!(realHtmlAudioElement_0 == null)) {
              realHtmlAudioElement_0.pause();
              realHtmlAudioElement_0.currentTime = 0.0;
            } else {
              var tmp3_safe_receiver_0 = this.adu_1.fds_1;
              if (tmp3_safe_receiver_0 == null)
                null;
              else {
                tmp3_safe_receiver_0.stop();
              }
            }

            this.adu_1.dds_1 = null;
            this.adu_1.eds_1 = null;
            this.adu_1.fds_1 = null;
            var tmp4_safe_receiver_0 = this.adu_1.bds_1.ddn_1;
            if (tmp4_safe_receiver_0 == null)
              null;
            else
              tmp4_safe_receiver_0();
            ;
            return Unit_getInstance();
        }
      } catch ($p) {
        if (this.p7_1 === 8) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  HtmlSimpleSound$SimpleSoundChannel$createJobAt$slambda.prototype.k53 = function (completion) {
    var i = new HtmlSimpleSound$SimpleSoundChannel$createJobAt$slambda(this.adu_1, this.bdu_1, completion);
    return i;
  };
  HtmlSimpleSound$SimpleSoundChannel$createJobAt$slambda.$metadata$ = classMeta('HtmlSimpleSound$SimpleSoundChannel$createJobAt$slambda', undefined, undefined, undefined, [0], CoroutineImpl.prototype);
  function HtmlSimpleSound$SimpleSoundChannel$createJobAt$slambda_0(this$0, $startTime, resultContinuation) {
    var i = new HtmlSimpleSound$SimpleSoundChannel$createJobAt$slambda(this$0, $startTime, resultContinuation);
    var l = function ($cont) {
      return i.z56($cont);
    };
    l.$arity = 0;
    return l;
  }
  function SimpleSoundChannel(buffer, ctx, params, coroutineContext) {
    this.zdr_1 = buffer;
    this.ads_1 = ctx;
    this.bds_1 = params;
    this.cds_1 = coroutineContext;
    this.dds_1 = null;
    this.eds_1 = null;
    this.fds_1 = null;
    this.gds_1 = null;
    this.hds_1 = Companion_getInstance_0().d1h();
    this.ids_1 = this.bds_1.wdm_1;
    this.jds_1 = this.bds_1.zdm_1;
    this.kds_1 = this.bds_1.adn_1;
    this.lds_1 = this.bds_1.bdn_1;
    this.mds_1 = true;
    this.nds_1 = null;
    this.ods_1 = null;
  }
  SimpleSoundChannel.prototype.fdu = function (_set____db54di) {
    this.dds_1 = _set____db54di;
  };
  SimpleSoundChannel.prototype.gdu = function (_set____db54di) {
    this.eds_1 = _set____db54di;
  };
  SimpleSoundChannel.prototype.hdu = function (_set____db54di) {
    this.fds_1 = _set____db54di;
  };
  SimpleSoundChannel.prototype.idu = function (_set____db54di) {
    this.gds_1 = _set____db54di;
  };
  SimpleSoundChannel.prototype.jdu = function () {
    return this.gds_1;
  };
  SimpleSoundChannel.prototype.edu = function (startTime) {
    var tmp0_safe_receiver = this.gds_1;
    if (tmp0_safe_receiver == null)
      null;
    else {
      tmp0_safe_receiver.pause();
    }
    var tmp1_safe_receiver = this.fds_1;
    if (tmp1_safe_receiver == null)
      null;
    else {
      tmp1_safe_receiver.disconnect();
    }
    var htmlAudioElement = this.zdr_1.kdt_1;
    var audioBuffer = this.zdr_1.jdt_1;
    var tmp$ret$0;
    // Inline function 'kotlin.apply' call
    var tmp0_apply = this.ads_1.destination;
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korau.sound.SimpleSoundChannel.createNode.<anonymous>' call
    var tmp = this;
    var tmp_0 = HtmlSimpleSound_getInstance();
    tmp.eds_1 = tmp_0.kdu(tmp0_apply, HtmlSimpleSound$SimpleSoundChannel$createNode$lambda(this, htmlAudioElement, audioBuffer));
    this.ldu();
    tmp$ret$0 = tmp0_apply;
    var realHtmlAudioElement = this.gds_1;
    if (!(realHtmlAudioElement == null)) {
      realHtmlAudioElement.currentTime = _TimeSpan___get_seconds__impl__cx2k1c(startTime);
      realHtmlAudioElement.play();
    } else {
      var tmp2_safe_receiver = this.fds_1;
      if (tmp2_safe_receiver == null)
        null;
      else {
        tmp2_safe_receiver.start(0.0, _TimeSpan___get_seconds__impl__cx2k1c(startTime));
      }
    }
  };
  SimpleSoundChannel.prototype.mdu = function (startTime) {
    if (get_job(this.cds_1).w1u()) {
      Console_getInstance().q50(["Sound won't play because coroutineContext.job is completed"]);
    }
    this.hds_1 = Companion_getInstance_0().d1h();
    var startTime_0 = {_v: new TimeSpan(startTime)};
    var tmp0_safe_receiver = this.ads_1;
    if (tmp0_safe_receiver == null)
      null;
    else {
      tmp0_safe_receiver.resume();
    }
    return launchImmediately(this.cds_1, HtmlSimpleSound$SimpleSoundChannel$createJobAt$slambda_0(this, startTime_0, null));
  };
  SimpleSoundChannel.prototype.kdj = function (value) {
    this.jds_1 = value;
    this.ndu();
  };
  SimpleSoundChannel.prototype.idj = function (value) {
    this.kds_1 = value;
    this.odu();
  };
  SimpleSoundChannel.prototype.mdj = function (value) {
    this.lds_1 = value;
    this.pdu();
  };
  SimpleSoundChannel.prototype.ldu = function () {
    this.ndu();
    this.odu();
    this.pdu();
  };
  SimpleSoundChannel.prototype.ndu = function () {
    var tmp0_safe_receiver = this.dds_1;
    var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.gain;
    if (tmp1_safe_receiver == null) {
    } else {
      tmp1_safe_receiver.value = this.jds_1;
    }
  };
  SimpleSoundChannel.prototype.odu = function () {
  };
  SimpleSoundChannel.prototype.pdu = function () {
    var tmp0_safe_receiver = this.eds_1;
    if (tmp0_safe_receiver == null)
      null;
    else {
      tmp0_safe_receiver.setPosition(this.lds_1, 0.0, 0.0);
    }
    var tmp1_safe_receiver = this.eds_1;
    if (tmp1_safe_receiver == null)
      null;
    else {
      tmp1_safe_receiver.setOrientation(0.0, 1.0, 0.0);
    }
  };
  SimpleSoundChannel.prototype.qdj = function () {
    var tmp0_safe_receiver = this.ods_1;
    if (tmp0_safe_receiver == null)
      null;
    else {
      tmp0_safe_receiver.j1v(null, 1, null);
    }
  };
  SimpleSoundChannel.prototype.pds = function () {
    if (!(this.ods_1 == null) ? !(this.gds_1 == null) : false) {
      var tmp0_safe_receiver = this.gds_1;
      if (tmp0_safe_receiver == null)
        null;
      else
        tmp0_safe_receiver.play();
    } else {
      this.qdj();
      this.ods_1 = this.mdu(this.bds_1.xdm_1);
    }
  };
  SimpleSoundChannel.$metadata$ = classMeta('SimpleSoundChannel');
  function sam$com_soywiz_korio_lang_Cancellable$0(function_0) {
    this.qdu_1 = function_0;
  }
  sam$com_soywiz_korio_lang_Cancellable$0.prototype.r5y = function (e) {
    return this.qdu_1(e);
  };
  sam$com_soywiz_korio_lang_Cancellable$0.$metadata$ = classMeta('sam$com_soywiz_korio_lang_Cancellable$0', [Cancellable]);
  function HtmlSimpleSound$source$lambda($this$null) {
    return Unit_getInstance();
  }
  function HtmlSimpleSound$source$lambda_0($this$null) {
    return Unit_getInstance();
  }
  function HtmlSimpleSound$callOnUnlocked$lambda($cancelled, $callback) {
    return function (it) {
      if (!$cancelled._v)
        $callback(Unit_getInstance());
      return Unit_getInstance();
    };
  }
  function HtmlSimpleSound$callOnUnlocked$lambda_0($cancelled) {
    return function (it) {
      $cancelled._v = true;
      return Unit_getInstance();
    };
  }
  function HtmlSimpleSound$loadSound$lambda($safe) {
    return function (data) {
      var tmp$ret$1;
      // Inline function 'kotlin.coroutines.resume' call
      var tmp$ret$0;
      // Inline function 'kotlin.Companion.success' call
      var tmp0_success = Companion_getInstance_2();
      tmp$ret$0 = _Result___init__impl__xyqfz8(data);
      $safe.n5(tmp$ret$0);
      tmp$ret$1 = Unit_getInstance();
      return Unit_getInstance();
    };
  }
  function HtmlSimpleSound$loadSound$lambda_0($url, $safe) {
    return function () {
      var tmp$ret$1;
      // Inline function 'kotlin.coroutines.resumeWithException' call
      var tmp0_resumeWithException = Exception_init_$Create$('error decoding ' + $url);
      var tmp$ret$0;
      // Inline function 'kotlin.Companion.failure' call
      var tmp0_failure = Companion_getInstance_2();
      tmp$ret$0 = _Result___init__impl__xyqfz8(createFailure(tmp0_resumeWithException));
      $safe.n5(tmp$ret$0);
      tmp$ret$1 = Unit_getInstance();
      return Unit_getInstance();
    };
  }
  function HtmlSimpleSound$lambda$lambda($source) {
    return function () {
      $source.disconnect(0);
      HtmlSimpleSound_getInstance().zdq_1 = true;
      Console_getInstance().p50(['Web Audio was successfully unlocked']);
      HtmlSimpleSound_getInstance().adr_1.x1z(Unit_getInstance());
      return Unit_getInstance();
    };
  }
  function HtmlSimpleSound$lambda($unlock, $_scratchBuffer) {
    return function (it) {
      var tmp = document;
      var tmp_0;
      if ($unlock._v == null) {
        throwUninitializedPropertyAccessException('unlock');
      } else {
        tmp_0 = $unlock._v;
      }
      tmp.removeEventListener('keydown', tmp_0, true);
      var tmp_1 = document;
      var tmp_2;
      if ($unlock._v == null) {
        throwUninitializedPropertyAccessException('unlock');
      } else {
        tmp_2 = $unlock._v;
      }
      tmp_1.removeEventListener('touchstart', tmp_2, true);
      var tmp_3 = document;
      var tmp_4;
      if ($unlock._v == null) {
        throwUninitializedPropertyAccessException('unlock');
      } else {
        tmp_4 = $unlock._v;
      }
      tmp_3.removeEventListener('touchend', tmp_4, true);
      var tmp_5 = document;
      var tmp_6;
      if ($unlock._v == null) {
        throwUninitializedPropertyAccessException('unlock');
      } else {
        tmp_6 = $unlock._v;
      }
      tmp_5.removeEventListener('mousedown', tmp_6, true);
      var tmp_7;
      if (!(HtmlSimpleSound_getInstance().ydq_1 == null)) {
        var tmp$ret$1;
        // Inline function 'kotlin.js.unsafeCast' call
        var tmp$ret$0;
        // Inline function 'kotlin.js.asDynamic' call
        var tmp0_asDynamic = window;
        tmp$ret$0 = tmp0_asDynamic;
        var tmp1_unsafeCast = tmp$ret$0.globalAudioContext;
        tmp$ret$1 = tmp1_unsafeCast;
        var tmp0_safe_receiver = tmp$ret$1;
        if (tmp0_safe_receiver == null)
          null;
        else {
          tmp0_safe_receiver.resume();
        }
        var source = HtmlSimpleSound_getInstance().ydq_1.createBufferSource();
        source.buffer = $_scratchBuffer;
        source.connect(HtmlSimpleSound_getInstance().ydq_1.destination);
        source.start(0.0);
        var tmp$ret$2;
        // Inline function 'kotlin.js.asDynamic' call
        var tmp2_asDynamic = HtmlSimpleSound_getInstance().ydq_1;
        tmp$ret$2 = tmp2_asDynamic;
        if (typeof tmp$ret$2.resume === 'function') {
          var tmp$ret$3;
          // Inline function 'kotlin.js.asDynamic' call
          var tmp3_asDynamic = HtmlSimpleSound_getInstance().ydq_1;
          tmp$ret$3 = tmp3_asDynamic;
          tmp$ret$3.resume();
        }
        source.onended = HtmlSimpleSound$lambda$lambda(source);
        tmp_7 = Unit_getInstance();
      }
      return Unit_getInstance();
    };
  }
  function $loadSoundCOROUTINE$37(_this__u8e3s4, data, url, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.zdu_1 = _this__u8e3s4;
    this.adv_1 = data;
    this.bdv_1 = url;
  }
  $loadSoundCOROUTINE$37.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            if (this.zdu_1.ydq_1 == null)
              return null;
            this.o7_1 = 1;
            var tmp_0 = this;
            tmp_0.cdv_1 = this;
            this.ddv_1 = SafeContinuation_init_$Create$(intercepted(this.cdv_1));
            var tmp_1 = HtmlSimpleSound_getInstance().ydq_1;
            var tmp_2 = HtmlSimpleSound$loadSound$lambda(this.ddv_1);
            tmp_1.decodeAudioData(this.adv_1, tmp_2, HtmlSimpleSound$loadSound$lambda_0(this.bdv_1, this.ddv_1));
            ;
            suspendResult = returnIfSuspended(this.ddv_1.pj(), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $loadSoundCOROUTINE$37.$metadata$ = classMeta('$loadSoundCOROUTINE$37', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $loadSoundCOROUTINE$38(_this__u8e3s4, url, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.mdv_1 = _this__u8e3s4;
    this.ndv_1 = url;
  }
  $loadSoundCOROUTINE$38.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.o7_1 = 1;
            suspendResult = get_uniVfs(this.ndv_1).i5n(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.odv_1 = suspendResult;
            this.o7_1 = 2;
            suspendResult = this.mdv_1.cdr(this.odv_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            return suspendResult;
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $loadSoundCOROUTINE$38.$metadata$ = classMeta('$loadSoundCOROUTINE$38', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function HtmlSimpleSound() {
    HtmlSimpleSound_instance = this;
    var tmp = this;
    var tmp_0;
    try {
      var tmp$ret$3;
      // Inline function 'kotlin.also' call
      var tmp_1;
      var tmp$ret$0;
      // Inline function 'kotlin.js.asDynamic' call
      var tmp0_asDynamic = window;
      tmp$ret$0 = tmp0_asDynamic;
      if (!(typeof tmp$ret$0.AudioContext === 'undefined')) {
        tmp_1 = new AudioContext();
      } else {
        var tmp$ret$1;
        // Inline function 'kotlin.js.asDynamic' call
        var tmp1_asDynamic = window;
        tmp$ret$1 = tmp1_asDynamic;
        if (!(typeof tmp$ret$1.webkitAudioContext === 'undefined')) {
          tmp_1 = new webkitAudioContext();
        } else {
          tmp_1 = null;
        }
      }
      var tmp2_also = tmp_1;
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.soywiz.korau.sound.HtmlSimpleSound.ctx.<anonymous>' call
      var tmp$ret$2;
      // Inline function 'kotlin.js.asDynamic' call
      var tmp0_asDynamic_0 = window;
      tmp$ret$2 = tmp0_asDynamic_0;
      tmp$ret$2.globalAudioContext = tmp2_also;
      tmp$ret$3 = tmp2_also;
      tmp_0 = tmp$ret$3;
    } catch ($p) {
      var tmp_2;
      if ($p instanceof Error) {
        console.error($p);
        tmp_2 = null;
      } else {
        throw $p;
      }
      tmp_0 = tmp_2;
    }
    tmp.ydq_1 = tmp_0;
    this.zdq_1 = false;
    var tmp_3 = this;
    tmp_3.adr_1 = CompletableDeferred(Job$default(null, 1, null));
    var tmp_4 = this;
    var tmp_5 = this.adr_1;
    tmp_4.bdr_1 = isInterface(tmp_5, Deferred) ? tmp_5 : THROW_CCE();
    var tmp0_safe_receiver = this.ydq_1;
    var _scratchBuffer = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.createBuffer(1, 1, 22050);
    var unlock = {_v: null};
    unlock._v = HtmlSimpleSound$lambda(unlock, _scratchBuffer);
    var tmp_6 = document;
    var tmp_7;
    if (unlock._v == null) {
      throwUninitializedPropertyAccessException('unlock');
    } else {
      tmp_7 = unlock._v;
    }
    tmp_6.addEventListener('keydown', tmp_7, true);
    var tmp_8 = document;
    var tmp_9;
    if (unlock._v == null) {
      throwUninitializedPropertyAccessException('unlock');
    } else {
      tmp_9 = unlock._v;
    }
    tmp_8.addEventListener('touchstart', tmp_9, true);
    var tmp_10 = document;
    var tmp_11;
    if (unlock._v == null) {
      throwUninitializedPropertyAccessException('unlock');
    } else {
      tmp_11 = unlock._v;
    }
    tmp_10.addEventListener('touchend', tmp_11, true);
    var tmp_12 = document;
    var tmp_13;
    if (unlock._v == null) {
      throwUninitializedPropertyAccessException('unlock');
    } else {
      tmp_13 = unlock._v;
    }
    tmp_12.addEventListener('mousedown', tmp_13, true);
  }
  HtmlSimpleSound.prototype.z5y = function () {
    return !(this.ydq_1 == null);
  };
  HtmlSimpleSound.prototype.kdu = function (_this__u8e3s4, callback) {
    var tmp0_elvis_lhs = this.ydq_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      return null;
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var ctx = tmp;
    var tmp$ret$4;
    // Inline function 'kotlin.Result.getOrNull' call
    var tmp$ret$3;
    // Inline function 'kotlin.runCatching' call
    var tmp_0;
    try {
      var tmp$ret$1;
      // Inline function 'kotlin.Companion.success' call
      var tmp0_success = Companion_getInstance_2();
      var tmp$ret$0;
      // Inline function 'com.soywiz.korau.sound.HtmlSimpleSound.panner.<anonymous>' call
      tmp$ret$0 = ctx.createPanner();
      var tmp1_success = tmp$ret$0;
      tmp$ret$1 = _Result___init__impl__xyqfz8(tmp1_success);
      tmp_0 = tmp$ret$1;
    } catch ($p) {
      var tmp_1;
      if ($p instanceof Error) {
        var tmp$ret$2;
        // Inline function 'kotlin.Companion.failure' call
        var tmp2_failure = Companion_getInstance_2();
        tmp$ret$2 = _Result___init__impl__xyqfz8(createFailure($p));
        tmp_1 = tmp$ret$2;
      } else {
        throw $p;
      }
      tmp_0 = tmp_1;
    }
    tmp$ret$3 = tmp_0;
    var tmp0_getOrNull = tmp$ret$3;
    var tmp_2;
    if (_Result___get_isFailure__impl__jpiriv(tmp0_getOrNull)) {
      tmp_2 = null;
    } else {
      var tmp_3 = _Result___get_value__impl__bjfvqg(tmp0_getOrNull);
      tmp_2 = (tmp_3 == null ? true : isObject(tmp_3)) ? tmp_3 : THROW_CCE();
    }
    tmp$ret$4 = tmp_2;
    var tmp1_elvis_lhs = tmp$ret$4;
    var tmp_4;
    if (tmp1_elvis_lhs == null) {
      return null;
    } else {
      tmp_4 = tmp1_elvis_lhs;
    }
    var node = tmp_4;
    callback(node);
    node.connect(_this__u8e3s4);
    return node;
  };
  HtmlSimpleSound.prototype.rdt = function (_this__u8e3s4, callback) {
    var tmp0_elvis_lhs = this.ydq_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      return null;
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var ctx = tmp;
    var node = ctx.createGain();
    callback(node);
    node.connect(_this__u8e3s4);
    return node;
  };
  HtmlSimpleSound.prototype.pdv = function (_this__u8e3s4, buffer, callback) {
    var tmp0_elvis_lhs = this.ydq_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      return null;
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var ctx = tmp;
    var node = ctx.createBufferSource();
    node.buffer = buffer;
    callback(node);
    node.connect(_this__u8e3s4);
    return node;
  };
  HtmlSimpleSound.prototype.pdt = function (_this__u8e3s4, buffer, callback, $mask0, $handler) {
    if (!(($mask0 & 2) === 0)) {
      callback = HtmlSimpleSound$source$lambda;
    }
    return this.pdv(_this__u8e3s4, buffer, callback);
  };
  HtmlSimpleSound.prototype.qdv = function (_this__u8e3s4, buffer, callback) {
    var tmp0_elvis_lhs = this.ydq_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      return null;
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var ctx = tmp;
    var node = ctx.createMediaElementSource(buffer);
    callback(node);
    node.connect(_this__u8e3s4);
    return node;
  };
  HtmlSimpleSound.prototype.qdt = function (_this__u8e3s4, buffer, callback, $mask0, $handler) {
    if (!(($mask0 & 2) === 0)) {
      callback = HtmlSimpleSound$source$lambda_0;
    }
    return this.qdv(_this__u8e3s4, buffer, callback);
  };
  HtmlSimpleSound.prototype.mdt = function (buffer, params, coroutineContext) {
    var tmp0_safe_receiver = this.ydq_1;
    var tmp;
    if (tmp0_safe_receiver == null) {
      tmp = null;
    } else {
      var tmp$ret$1;
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      var tmp$ret$0;
      // Inline function 'com.soywiz.korau.sound.HtmlSimpleSound.playSound.<anonymous>' call
      tmp$ret$0 = new SimpleSoundChannel(buffer, tmp0_safe_receiver, params, coroutineContext);
      tmp$ret$1 = tmp$ret$0;
      tmp = tmp$ret$1;
    }
    return tmp;
  };
  HtmlSimpleSound.prototype.wdr = function () {
  };
  HtmlSimpleSound.prototype.odt = function (callback) {
    var cancelled = {_v: false};
    this.bdr_1.c1v(HtmlSimpleSound$callOnUnlocked$lambda(cancelled, callback));
    var tmp = HtmlSimpleSound$callOnUnlocked$lambda_0(cancelled);
    return new sam$com_soywiz_korio_lang_Cancellable$0(tmp);
  };
  HtmlSimpleSound.prototype.rdv = function (data, url, $cont) {
    var tmp = new $loadSoundCOROUTINE$37(this, data, url, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  HtmlSimpleSound.prototype.vdr = function (url) {
    if (this.ydq_1 == null)
      return null;
    return createAudioElement$default(url, 0.0, false, null, 14, null);
  };
  HtmlSimpleSound.prototype.cdr = function (data, $cont) {
    var tmp$ret$1;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp$ret$0;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$0 = data;
    tmp$ret$1 = tmp$ret$0;
    return this.rdv(tmp$ret$1.buffer, 'ByteArray', $cont);
  };
  HtmlSimpleSound.prototype.udr = function (url, $cont) {
    var tmp = new $loadSoundCOROUTINE$38(this, url, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  HtmlSimpleSound.$metadata$ = objectMeta('HtmlSimpleSound');
  var HtmlSimpleSound_instance;
  function HtmlSimpleSound_getInstance() {
    if (HtmlSimpleSound_instance == null)
      new HtmlSimpleSound();
    return HtmlSimpleSound_instance;
  }
  function AudioBufferOrHTMLMediaElement_init_$Init$(audioBuffer, $this) {
    AudioBufferOrHTMLMediaElement.call($this, audioBuffer, null);
    return $this;
  }
  function AudioBufferOrHTMLMediaElement_init_$Create$(audioBuffer) {
    return AudioBufferOrHTMLMediaElement_init_$Init$(audioBuffer, Object.create(AudioBufferOrHTMLMediaElement.prototype));
  }
  function AudioBufferOrHTMLMediaElement_init_$Init$_0(htmlMediaElement, $this) {
    AudioBufferOrHTMLMediaElement.call($this, null, htmlMediaElement);
    return $this;
  }
  function AudioBufferOrHTMLMediaElement_init_$Create$_0(htmlMediaElement) {
    return AudioBufferOrHTMLMediaElement_init_$Init$_0(htmlMediaElement, Object.create(AudioBufferOrHTMLMediaElement.prototype));
  }
  function AudioBufferOrHTMLMediaElement(audioBuffer, htmlAudioElement) {
    this.jdt_1 = audioBuffer;
    this.kdt_1 = htmlAudioElement;
  }
  AudioBufferOrHTMLMediaElement.prototype.sdv = function () {
    return this.jdt_1 == null ? this.kdt_1 == null : false;
  };
  AudioBufferOrHTMLMediaElement.prototype.ndt = function () {
    return !this.sdv();
  };
  AudioBufferOrHTMLMediaElement.prototype.ldt = function () {
    return !(this.jdt_1 == null) ? this.jdt_1.duration : !(this.kdt_1 == null) ? this.kdt_1.duration : null;
  };
  AudioBufferOrHTMLMediaElement.$metadata$ = classMeta('AudioBufferOrHTMLMediaElement');
  function clone(_this__u8e3s4) {
    return createAudioElement(_this__u8e3s4.src, _this__u8e3s4.currentTime, _this__u8e3s4.autoplay, _this__u8e3s4.crossOrigin);
  }
  function createAudioElement(src, currentTime, autoplay, crossOrigin) {
    var out = new Audio(src);
    out.crossOrigin = crossOrigin;
    out.currentTime = currentTime;
    out.autoplay = autoplay;
    out.pause();
    return out;
  }
  function createAudioElement$default(src, currentTime, autoplay, crossOrigin, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      currentTime = 0.0;
    if (!(($mask0 & 4) === 0))
      autoplay = false;
    if (!(($mask0 & 8) === 0))
      crossOrigin = 'anonymous';
    return createAudioElement(src, currentTime, autoplay, crossOrigin);
  }
  function get_nativeSoundProvider() {
    init_properties_NativeAudioStreamJs_kt_hrpacs();
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = nativeSoundProvider$factory();
    tmp$ret$0 = nativeSoundProvider$delegate.l1();
    return tmp$ret$0;
  }
  var nativeSoundProvider$delegate;
  function Companion_14() {
    Companion_instance_14 = this;
    this.tdv_1 = 0;
  }
  Companion_14.$metadata$ = objectMeta('Companion');
  var Companion_instance_14;
  function Companion_getInstance_18() {
    if (Companion_instance_14 == null)
      new Companion_14();
    return Companion_instance_14;
  }
  function process($this, e) {
    var tmp = 0;
    var tmp_0 = e.outputBuffer.numberOfChannels;
    var tmp$ret$0;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp$ret$0 = fillArrayVal(Array(tmp_0), null);
    var tmp_1 = tmp$ret$0;
    while (tmp < tmp_0) {
      var tmp_2 = tmp;
      var tmp$ret$1;
      // Inline function 'com.soywiz.korau.sound.JsPlatformAudioOutput.process.<anonymous>' call
      tmp$ret$1 = e.outputBuffer.getChannelData(tmp_2);
      tmp_1[tmp_2] = tmp$ret$1;
      tmp = tmp + 1 | 0;
    }
    var outChannels = tmp_1;
    var hasData = true;
    var tmp$ret$2;
    // Inline function 'kotlin.js.asDynamic' call
    var tmp0_asDynamic = document;
    tmp$ret$2 = tmp0_asDynamic;
    if (!tmp$ret$2.hidden) {
      var inductionVariable = 0;
      var last = $this.fdw_1;
      if (inductionVariable < last)
        do {
          var channel = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          var deque = $this.gdw_1[channel];
          var outChannel = outChannels[channel];
          var read = deque.g4n(outChannel, 0, 0, 6, null);
          if (read < outChannel.length)
            hasData = false;
        }
         while (inductionVariable < last);
    }
    if (!hasData) {
      var tmp1_this = $this;
      var tmp2 = tmp1_this.cdw_1;
      tmp1_this.cdw_1 = tmp2 + 1 | 0;
    }
    if ($this.cdw_1 >= 500) {
      $this.qdj();
    }
  }
  function ensureInit($this) {
  }
  function JsPlatformAudioOutput$start$lambda$lambda(this$0) {
    return function (it) {
      process(this$0, it);
      return Unit_getInstance();
    };
  }
  function JsPlatformAudioOutput$start$lambda(this$0) {
    return function (it) {
      var tmp = this$0;
      var tmp0_safe_receiver = HtmlSimpleSound_getInstance().ydq_1;
      tmp.edw_1 = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.createScriptProcessor(1024, 2, 2);
      var tmp1_safe_receiver = this$0.edw_1;
      var tmp_0;
      if (tmp1_safe_receiver == null) {
        tmp_0 = Unit_getInstance();
      } else {
        tmp1_safe_receiver.onaudioprocess = JsPlatformAudioOutput$start$lambda$lambda(this$0);
        tmp_0 = Unit_getInstance();
      }
      var tmp_1;
      if (!(HtmlSimpleSound_getInstance().ydq_1 == null)) {
        var tmp2_safe_receiver = this$0.edw_1;
        if (tmp2_safe_receiver == null)
          null;
        else
          tmp2_safe_receiver.connect(HtmlSimpleSound_getInstance().ydq_1.destination);
        tmp_1 = Unit_getInstance();
      }
      return Unit_getInstance();
    };
  }
  function $addCOROUTINE$39(_this__u8e3s4, samples, offset, size, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.rdw_1 = _this__u8e3s4;
    this.sdw_1 = samples;
    this.tdw_1 = offset;
    this.udw_1 = size;
  }
  $addCOROUTINE$39.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 6;
            var tmp0_this = this.rdw_1;
            tmp0_this.idw_1 = tmp0_this.idw_1 + this.udw_1 | 0;
            if (!HtmlSimpleSound_getInstance().z5y()) {
              this.vdw_1 = this.udw_1 / 2 | 0;
              this.wdw_1 = this.vdw_1 / 41000.0;
              this.o7_1 = 4;
              suspendResult = delay_0(this.rdw_1.bdj_1, Companion_getInstance().c1i(this.wdw_1), this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.rdw_1.ydw();
              this.xdw_1 = this.sdw_1.ud2_1;
              var inductionVariable = 0;
              var last = this.rdw_1.fdw_1;
              if (inductionVariable < last)
                do {
                  var channel = inductionVariable;
                  inductionVariable = inductionVariable + 1 | 0;
                  var sample = this.sdw_1.m(channel % this.xdw_1 | 0);
                  var deque = this.rdw_1.gdw_1[channel];
                  var inductionVariable_0 = 0;
                  var last_0 = this.udw_1;
                  if (inductionVariable_0 < last_0)
                    do {
                      var n = inductionVariable_0;
                      inductionVariable_0 = inductionVariable_0 + 1 | 0;
                      write(deque, SampleConvert_getInstance().ddh(sample[this.tdw_1 + n | 0]));
                    }
                     while (inductionVariable_0 < last_0);
                }
                 while (inductionVariable < last);
              this.o7_1 = 1;
              continue $sm;
            }

            break;
          case 1:
            if (!(this.rdw_1.gdw_1[0].u4l() > imul(this.sdw_1.vd2_1, 4))) {
              this.o7_1 = 3;
              continue $sm;
            }

            this.o7_1 = 2;
            suspendResult = delay_0(this.rdw_1.bdj_1, Companion_getInstance().o1h(4.0), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.o7_1 = 1;
            continue $sm;
          case 3:
            this.o7_1 = 5;
            continue $sm;
          case 4:
            this.o7_1 = 5;
            continue $sm;
          case 5:
            return Unit_getInstance();
          case 6:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 6) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $addCOROUTINE$39.$metadata$ = classMeta('$addCOROUTINE$39', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function JsPlatformAudioOutput(coroutineContext, freq) {
    Companion_getInstance_18();
    PlatformAudioOutput.call(this, coroutineContext, freq);
    this.adw_1 = freq;
    var tmp = this;
    var tmp0_this = Companion_getInstance_18();
    var tmp1 = tmp0_this.tdv_1;
    tmp0_this.tdv_1 = tmp1 + 1 | 0;
    tmp.bdw_1 = tmp1;
    get_nativeSoundProvider();
    this.cdw_1 = 0;
    this.ddw_1 = false;
    this.edw_1 = null;
    this.fdw_1 = 2;
    var tmp_0 = this;
    var tmp_1 = 0;
    var tmp_2 = this.fdw_1;
    var tmp$ret$0;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp$ret$0 = fillArrayVal(Array(tmp_2), null);
    var tmp_3 = tmp$ret$0;
    while (tmp_1 < tmp_2) {
      var tmp_4 = tmp_1;
      var tmp$ret$1;
      // Inline function 'com.soywiz.korau.sound.JsPlatformAudioOutput.deques.<anonymous>' call
      tmp$ret$1 = FloatArrayDeque_init_$Create$(0, 1, null);
      tmp_3[tmp_4] = tmp$ret$1;
      tmp_1 = tmp_1 + 1 | 0;
    }
    tmp_0.gdw_1 = tmp_3;
    this.hdw_1 = null;
    this.idw_1 = 0;
  }
  JsPlatformAudioOutput.prototype.pdj = function () {
    if (this.ddw_1)
      return Unit_getInstance();
    var tmp = this;
    var tmp_0 = HtmlSimpleSound_getInstance();
    tmp.hdw_1 = tmp_0.odt(JsPlatformAudioOutput$start$lambda(this));
    this.cdw_1 = 0;
    this.ddw_1 = true;
  };
  JsPlatformAudioOutput.prototype.qdj = function () {
    if (!this.ddw_1)
      return Unit_getInstance();
    var tmp0_safe_receiver = this.hdw_1;
    if (tmp0_safe_receiver == null)
      null;
    else {
      cancel(tmp0_safe_receiver);
    }
    var tmp1_safe_receiver = this.edw_1;
    if (tmp1_safe_receiver == null)
      null;
    else {
      tmp1_safe_receiver.disconnect();
    }
    this.ddw_1 = false;
  };
  JsPlatformAudioOutput.prototype.ydw = function () {
    ensureInit(this);
    if (!this.ddw_1) {
      this.pdj();
    }
  };
  JsPlatformAudioOutput.prototype.hdj = function () {
    return this.idw_1;
  };
  JsPlatformAudioOutput.prototype.odj = function (samples, offset, size, $cont) {
    var tmp = new $addCOROUTINE$39(this, samples, offset, size, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  JsPlatformAudioOutput.$metadata$ = classMeta('JsPlatformAudioOutput', undefined, undefined, undefined, undefined, PlatformAudioOutput.prototype);
  function nativeSoundProvider$delegate$lambda() {
    init_properties_NativeAudioStreamJs_kt_hrpacs();
    var tmp;
    if (OS_getInstance().p6u()) {
      tmp = new HtmlNativeSoundProvider();
    } else {
      tmp = Companion_getInstance_14();
    }
    return tmp;
  }
  function nativeSoundProvider$factory() {
    return getPropertyCallableRef('nativeSoundProvider', 0, KProperty0, function () {
      return get_nativeSoundProvider();
    }, null);
  }
  var properties_initialized_NativeAudioStreamJs_kt_w5xceg;
  function init_properties_NativeAudioStreamJs_kt_hrpacs() {
    if (properties_initialized_NativeAudioStreamJs_kt_w5xceg) {
    } else {
      properties_initialized_NativeAudioStreamJs_kt_w5xceg = true;
      nativeSoundProvider$delegate = lazy(nativeSoundProvider$delegate$lambda);
    }
  }
  //region block: init
  DEFAULT_MAX_SAMPLES = 39690000;
  //endregion
  //region block: exports
  _.$_$ = _.$_$ || {};
  _.$_$.a = readSound$default;
  //endregion
  return _;
}));

//# sourceMappingURL=korlibs-korau.js.map