(function (_, kotlin_kotlin, kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core) {
  'use strict';
  //region block: imports
  var imul = Math.imul;
  var CoroutineImpl = kotlin_kotlin.$_$.va;
  var Unit_instance = kotlin_kotlin.$_$.m5;
  var protoOf = kotlin_kotlin.$_$.wc;
  var THROW_CCE = kotlin_kotlin.$_$.hi;
  var SequenceScope = kotlin_kotlin.$_$.xd;
  var until = kotlin_kotlin.$_$.rd;
  var charSequenceLength = kotlin_kotlin.$_$.jb;
  var get_COROUTINE_SUSPENDED = kotlin_kotlin.$_$.ha;
  var classMeta = kotlin_kotlin.$_$.lb;
  var setMetadataFor = kotlin_kotlin.$_$.xc;
  var VOID = kotlin_kotlin.$_$.f;
  var ArrayList_init_$Create$ = kotlin_kotlin.$_$.m;
  var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.a2;
  var _Char___init__impl__6a9atx = kotlin_kotlin.$_$.u2;
  var sequence = kotlin_kotlin.$_$.le;
  var listOfNotNull = kotlin_kotlin.$_$.i8;
  var toString = kotlin_kotlin.$_$.bd;
  var IllegalArgumentException_init_$Create$ = kotlin_kotlin.$_$.u1;
  var StringBuilder_init_$Create$ = kotlin_kotlin.$_$.f1;
  var collectionSizeOrDefault = kotlin_kotlin.$_$.n6;
  var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.l;
  var ensureNotNull = kotlin_kotlin.$_$.zi;
  var equals = kotlin_kotlin.$_$.ob;
  var IndexOutOfBoundsException_init_$Create$ = kotlin_kotlin.$_$.d2;
  var objectCreate = kotlin_kotlin.$_$.uc;
  var emptyList = kotlin_kotlin.$_$.i7;
  var MutableList = kotlin_kotlin.$_$.z5;
  var isInterface = kotlin_kotlin.$_$.gc;
  var objectMeta = kotlin_kotlin.$_$.vc;
  var LinkedHashSet_init_$Create$ = kotlin_kotlin.$_$.x;
  var toList = kotlin_kotlin.$_$.t9;
  var asSequence = kotlin_kotlin.$_$.zd;
  var checkCountOverflow = kotlin_kotlin.$_$.k6;
  var isBlank = kotlin_kotlin.$_$.ef;
  var UnsupportedOperationException_init_$Create$ = kotlin_kotlin.$_$.r2;
  var indexOf = kotlin_kotlin.$_$.df;
  var to = kotlin_kotlin.$_$.nj;
  var split = kotlin_kotlin.$_$.zf;
  var Enum = kotlin_kotlin.$_$.uh;
  var PrimitiveClasses_getInstance = kotlin_kotlin.$_$.c5;
  var arrayOf = kotlin_kotlin.$_$.wi;
  var createKType = kotlin_kotlin.$_$.b;
  var serializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.s3;
  var KSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.i3;
  var getKClass = kotlin_kotlin.$_$.e;
  var buildClassSerialDescriptor = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.u1;
  var Companion_instance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.q;
  var throwUninitializedPropertyAccessException = kotlin_kotlin.$_$.lj;
  var interfaceMeta = kotlin_kotlin.$_$.xb;
  var asSequence_0 = kotlin_kotlin.$_$.i6;
  var plus = kotlin_kotlin.$_$.ie;
  var toList_0 = kotlin_kotlin.$_$.ne;
  var StringCompanionObject_instance = kotlin_kotlin.$_$.a5;
  var serializer_0 = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.b1;
  var Iterator = kotlin_kotlin.$_$.t5;
  var getStringHashCode = kotlin_kotlin.$_$.vb;
  var flatMap = kotlin_kotlin.$_$.de;
  var fillArrayVal = kotlin_kotlin.$_$.qb;
  var Collection = kotlin_kotlin.$_$.p5;
  var ListSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.x;
  var SerialDescriptor = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.p1;
  var sequenceOf = kotlin_kotlin.$_$.ke;
  var reversed = kotlin_kotlin.$_$.pd;
  var firstOrNull = kotlin_kotlin.$_$.n7;
  var firstOrNull_0 = kotlin_kotlin.$_$.ce;
  var filter = kotlin_kotlin.$_$.be;
  var map = kotlin_kotlin.$_$.he;
  var IndexOutOfBoundsException_init_$Create$_0 = kotlin_kotlin.$_$.e2;
  var IndexOutOfBoundsException = kotlin_kotlin.$_$.zh;
  var contentEquals = kotlin_kotlin.$_$.q6;
  var contentHashCode = kotlin_kotlin.$_$.t6;
  var ArrayDeque_init_$Create$ = kotlin_kotlin.$_$.k;
  var NoSuchElementException_init_$Create$ = kotlin_kotlin.$_$.f2;
  var joinToString = kotlin_kotlin.$_$.b8;
  var getKClassFromExpression = kotlin_kotlin.$_$.d;
  var captureStack = kotlin_kotlin.$_$.fb;
  var LinkedHashMap_init_$Create$ = kotlin_kotlin.$_$.v;
  var RuntimeException = kotlin_kotlin.$_$.gi;
  var charSequenceGet = kotlin_kotlin.$_$.ib;
  var charSequenceSubSequence = kotlin_kotlin.$_$.kb;
  var StringBuilder_init_$Create$_0 = kotlin_kotlin.$_$.e1;
  var arrayCopy = kotlin_kotlin.$_$.f6;
  var _UInt___init__impl__l7qpdl = kotlin_kotlin.$_$.q3;
  var UIntRange = kotlin_kotlin.$_$.hd;
  var UInt__compareTo_impl_yacclj = kotlin_kotlin.$_$.r3;
  var _UShort___init__impl__jigrne = kotlin_kotlin.$_$.j4;
  var _Char___init__impl__6a9atx_0 = kotlin_kotlin.$_$.v2;
  var _UInt___get_data__impl__f0vqqw = kotlin_kotlin.$_$.s3;
  var toShort = kotlin_kotlin.$_$.ad;
  var uintCompare = kotlin_kotlin.$_$.oj;
  var Char = kotlin_kotlin.$_$.ph;
  var Pair = kotlin_kotlin.$_$.ei;
  var toString_0 = kotlin_kotlin.$_$.zg;
  var isCharSequence = kotlin_kotlin.$_$.cc;
  var trimStart = kotlin_kotlin.$_$.ih;
  var Char__toInt_impl_vasixd = kotlin_kotlin.$_$.b3;
  var isHighSurrogate = kotlin_kotlin.$_$.gf;
  var UInt = kotlin_kotlin.$_$.oi;
  var copyOf = kotlin_kotlin.$_$.c7;
  var downTo = kotlin_kotlin.$_$.od;
  var copyOf_0 = kotlin_kotlin.$_$.d7;
  var getProgressionLastElement = kotlin_kotlin.$_$.ab;
  var joinToString_0 = kotlin_kotlin.$_$.a8;
  var booleanArray = kotlin_kotlin.$_$.eb;
  var NoSuchElementException_init_$Create$_0 = kotlin_kotlin.$_$.h2;
  var AssertionError_init_$Create$ = kotlin_kotlin.$_$.h1;
  var startsWith = kotlin_kotlin.$_$.ag;
  var Exception_init_$Init$ = kotlin_kotlin.$_$.l1;
  var Exception_init_$Init$_0 = kotlin_kotlin.$_$.m1;
  var Exception_init_$Init$_1 = kotlin_kotlin.$_$.o1;
  var Exception = kotlin_kotlin.$_$.wh;
  var get_js = kotlin_kotlin.$_$.kc;
  var hashCode = kotlin_kotlin.$_$.wb;
  var joinTo = kotlin_kotlin.$_$.c8;
  var HashSet_init_$Create$ = kotlin_kotlin.$_$.s;
  //endregion
  //region block: pre-declaration
  setMetadataFor(DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9, 'DomReader$<get-namespaceContext>$o$iterator$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  function getPrefixes(namespaceURI) {
    return this.pl6(namespaceURI);
  }
  setMetadataFor(NamespaceContextImpl, 'NamespaceContextImpl', interfaceMeta);
  function freeze() {
    return SimpleNamespaceContext_init_$Create$_2(this);
  }
  function plus_0(secondary) {
    return SimpleNamespaceContext_init_$Create$_1(toList_0(plus(asSequence_0(this), asSequence_0(secondary))));
  }
  setMetadataFor(IterableNamespaceContext, 'IterableNamespaceContext', interfaceMeta, VOID, [NamespaceContextImpl]);
  setMetadataFor(DomReader$namespaceContext$1, VOID, classMeta, VOID, [IterableNamespaceContext]);
  function get_name() {
    return qname(this.sl6(), this.tl6(), this.ul6());
  }
  function require_0(type, namespace, name) {
    if (!this.bl7().equals(type))
      throw XmlException_init_$Create$_0('Type ' + this.bl7() + ' does not match expected type "' + type + '" (' + this.cl7() + ')');
    else if (!(namespace == null) ? !(this.sl6() === namespace) : false)
      throw XmlException_init_$Create$_0('Namespace ' + this.sl6() + ' does not match expected "' + namespace + '" (' + this.cl7() + ')');
    else if (!(name == null) ? !(this.tl6() === name) : false)
      throw XmlException_init_$Create$_0('local name ' + this.tl6() + ' does not match expected "' + name + '" (' + this.cl7() + ')');
  }
  function require_1(type, name) {
    var tmp;
    if (name == null) {
      tmp = null;
    } else {
      // Inline function 'nl.adaptivity.xmlutil.namespaceURI' call
      tmp = name.rla();
    }
    var tmp_0 = tmp;
    var tmp_1;
    if (name == null) {
      tmp_1 = null;
    } else {
      // Inline function 'nl.adaptivity.xmlutil.localPart' call
      tmp_1 = name.sla();
    }
    return this.ll7(type, tmp_0, tmp_1);
  }
  function getAttributeName(index) {
    return qname(this.hl7(index), this.jl7(index), this.il7(index));
  }
  function getAttributeValue(name) {
    // Inline function 'nl.adaptivity.xmlutil.namespaceURI' call
    var tmp = name.rla();
    // Inline function 'nl.adaptivity.xmlutil.localPart' call
    var tmp$ret$1 = name.sla();
    return this.m7d(tmp, tmp$ret$1);
  }
  function isWhitespace() {
    return this.bl7() === EventType_IGNORABLE_WHITESPACE_getInstance() ? true : this.bl7() === EventType_TEXT_getInstance() ? isXmlWhitespace(this.zl6()) : false;
  }
  setMetadataFor(XmlReader, 'XmlReader', interfaceMeta, VOID, [Iterator]);
  setMetadataFor(DomReader, 'DomReader', classMeta, VOID, [XmlReader]);
  setMetadataFor(Companion, 'Companion', objectMeta);
  setMetadataFor(DomWriter$namespaceContext$1, VOID, classMeta, VOID, [NamespaceContextImpl]);
  function namespaceAttr(namespace) {
    this.ml8(namespace.ul6(), namespace.sl6());
  }
  function processingInstruction(target, data) {
    return this.il8(target + ' ' + data);
  }
  function startDocument$default(version, encoding, standalone, $super) {
    version = version === VOID ? null : version;
    encoding = encoding === VOID ? null : encoding;
    standalone = standalone === VOID ? null : standalone;
    var tmp;
    if ($super === VOID) {
      this.sl8(version, encoding, standalone);
      tmp = Unit_instance;
    } else {
      tmp = $super.sl8.call(this, version, encoding, standalone);
    }
    return tmp;
  }
  setMetadataFor(XmlWriter, 'XmlWriter', interfaceMeta);
  setMetadataFor(PlatformXmlWriterBase, 'PlatformXmlWriterBase', classMeta, VOID, [XmlWriter]);
  setMetadataFor(DomWriter, 'DomWriter', classMeta, PlatformXmlWriterBase, [PlatformXmlWriterBase, XmlWriter], DomWriter_init_$Create$);
  setMetadataFor(EventType, 'EventType', classMeta, Enum);
  setMetadataFor(EventType$START_DOCUMENT, 'START_DOCUMENT', classMeta, EventType);
  setMetadataFor(EventType$START_ELEMENT, 'START_ELEMENT', classMeta, EventType);
  setMetadataFor(EventType$END_ELEMENT, 'END_ELEMENT', classMeta, EventType);
  setMetadataFor(EventType$COMMENT, 'COMMENT', classMeta, EventType);
  setMetadataFor(EventType$TEXT, 'TEXT', classMeta, EventType);
  setMetadataFor(EventType$CDSECT, 'CDSECT', classMeta, EventType);
  setMetadataFor(EventType$DOCDECL, 'DOCDECL', classMeta, EventType);
  setMetadataFor(EventType$END_DOCUMENT, 'END_DOCUMENT', classMeta, EventType);
  setMetadataFor(EventType$ENTITY_REF, 'ENTITY_REF', classMeta, EventType);
  setMetadataFor(EventType$IGNORABLE_WHITESPACE, 'IGNORABLE_WHITESPACE', classMeta, EventType);
  setMetadataFor(EventType$ATTRIBUTE, 'ATTRIBUTE', classMeta, EventType);
  setMetadataFor(EventType$PROCESSING_INSTRUCTION, 'PROCESSING_INSTRUCTION', classMeta, EventType);
  setMetadataFor(Companion_0, 'Companion', objectMeta, VOID, [KSerializer]);
  setMetadataFor(Namespace, 'Namespace', interfaceMeta);
  setMetadataFor(QNameSerializer, 'QNameSerializer', objectMeta, VOID, [KSerializer]);
  setMetadataFor(SimpleIterator, 'SimpleIterator', classMeta, VOID, [Iterator]);
  setMetadataFor(SimpleNamespace, 'SimpleNamespace', classMeta, VOID, [Namespace]);
  setMetadataFor(Companion_1, 'Companion', objectMeta, VOID, [KSerializer]);
  setMetadataFor(SimpleNamespaceContext, 'SimpleNamespaceContext', classMeta, VOID, [IterableNamespaceContext], SimpleNamespaceContext_init_$Create$, VOID, {0: Companion_getInstance_1});
  setMetadataFor(XMLConstants, 'XMLConstants', objectMeta);
  setMetadataFor(XmlBufferedReaderBase, 'XmlBufferedReaderBase', classMeta, VOID, [XmlReader]);
  setMetadataFor(XmlBufferedReader, 'XmlBufferedReader', classMeta, XmlBufferedReaderBase);
  setMetadataFor(XmlDelegatingReader, 'XmlDelegatingReader', classMeta, VOID, [XmlReader]);
  setMetadataFor(Companion_2, 'Companion', objectMeta);
  setMetadataFor(XmlEvent, 'XmlEvent', classMeta);
  setMetadataFor(TextEvent, 'TextEvent', classMeta, XmlEvent);
  setMetadataFor(ProcessingInstructionEvent, 'ProcessingInstructionEvent', classMeta, TextEvent);
  setMetadataFor(EntityRefEvent, 'EntityRefEvent', classMeta, TextEvent);
  setMetadataFor(EndDocumentEvent, 'EndDocumentEvent', classMeta, XmlEvent);
  setMetadataFor(NamedEvent, 'NamedEvent', classMeta, XmlEvent);
  setMetadataFor(EndElementEvent, 'EndElementEvent', classMeta, NamedEvent);
  setMetadataFor(StartDocumentEvent, 'StartDocumentEvent', classMeta, XmlEvent);
  setMetadataFor(StartElementEvent, 'StartElementEvent', classMeta, NamedEvent);
  setMetadataFor(Attribute, 'Attribute', classMeta, XmlEvent);
  setMetadataFor(NamespaceImpl, 'NamespaceImpl', classMeta, VOID, [Namespace]);
  setMetadataFor(IOException, 'IOException', classMeta, Exception, VOID, IOException_init_$Create$);
  setMetadataFor(XmlException, 'XmlException', classMeta, IOException, VOID, XmlException_init_$Create$);
  setMetadataFor(Companion_3, 'Companion', objectMeta);
  setMetadataFor(XmlDeclMode, 'XmlDeclMode', classMeta, Enum);
  setMetadataFor(EscapeMode, 'EscapeMode', classMeta, Enum);
  setMetadataFor(Companion_4, 'Companion', objectMeta);
  setMetadataFor(WriteState, 'WriteState', classMeta, Enum);
  setMetadataFor(KtXmlWriter, 'KtXmlWriter', classMeta, PlatformXmlWriterBase, [PlatformXmlWriterBase, XmlWriter]);
  setMetadataFor(asCodePoints$1$iterator$1, VOID, classMeta, VOID, [Iterator]);
  setMetadataFor(asCodePoints$1, VOID, classMeta);
  setMetadataFor(XmlVersion, 'XmlVersion', classMeta, Enum);
  setMetadataFor(NamespaceHolder$namespaceContext$1, VOID, classMeta, VOID, [IterableNamespaceContext]);
  setMetadataFor(NamespaceHolder$iterator$1, VOID, classMeta, VOID, [Iterator]);
  setMetadataFor(NamespaceHolder, 'NamespaceHolder', classMeta, VOID, VOID, NamespaceHolder);
  setMetadataFor(Companion_5, 'Companion', objectMeta);
  setMetadataFor(NamedNodeMapIterator, 'NamedNodeMapIterator', classMeta, VOID, [Iterator]);
  setMetadataFor(NodeConsts, 'NodeConsts', objectMeta);
  setMetadataFor(NodeListIterator, 'NodeListIterator', classMeta, VOID, [Iterator]);
  setMetadataFor(ICompactFragment, 'ICompactFragment', interfaceMeta);
  setMetadataFor(QName, 'QName', classMeta);
  setMetadataFor(XmlStreaming, 'XmlStreaming', objectMeta);
  setMetadataFor(WriterXmlWriter, 'WriterXmlWriter', classMeta, VOID, [XmlWriter]);
  setMetadataFor(Writer, 'Writer', classMeta);
  setMetadataFor(StringWriter, 'StringWriter', classMeta, Writer, VOID, StringWriter);
  setMetadataFor(Factory, 'Factory', classMeta, VOID, VOID, Factory);
  setMetadataFor(Companion_6, 'Companion', objectMeta);
  setMetadataFor(CompactFragment, 'CompactFragment', classMeta, VOID, [ICompactFragment]);
  setMetadataFor(FragmentNamespaceContext, 'FragmentNamespaceContext', classMeta, SimpleNamespaceContext);
  setMetadataFor(Companion_7, 'Companion', objectMeta);
  setMetadataFor(XMLFragmentStreamReader, 'XMLFragmentStreamReader', classMeta, XmlDelegatingReader);
  //endregion
  function DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9(this$0, resultContinuation) {
    this.ul5_1 = this$0;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9).cl6 = function ($this$sequence, $completion) {
    var tmp = this.dl6($this$sequence, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9).he = function (p1, $completion) {
    return this.cl6(p1 instanceof SequenceScope ? p1 : THROW_CCE(), $completion);
  };
  protoOf(DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 8;
            this.wl5_1 = this.ul5_1.el6_1;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            if (!!(this.wl5_1 == null)) {
              this.hd_1 = 7;
              continue $sm;
            }

            var tmp_0 = this;
            tmp_0.xl5_1 = this.wl5_1.attributes;
            this.yl5_1 = this.xl5_1.length;
            this.zl5_1 = until(0, this.yl5_1).w();
            this.hd_1 = 2;
            continue $sm;
          case 2:
            if (!this.zl5_1.f()) {
              this.hd_1 = 6;
              continue $sm;
            }

            this.al6_1 = this.zl5_1.e();
            var tmp_1 = this;
            var tmp_2 = this.xl5_1.item(this.al6_1);
            tmp_1.bl6_1 = (!(tmp_2 == null) ? !(tmp_2 == null) : false) ? tmp_2 : THROW_CCE();
            if (this.bl6_1.prefix === 'xmlns') {
              this.hd_1 = 4;
              var tmp0_elvis_lhs = this.bl6_1.localName;
              suspendResult = this.vl5_1.ig(new NamespaceImpl(tmp0_elvis_lhs == null ? this.bl6_1.name : tmp0_elvis_lhs, this.bl6_1.value), this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              var tmp_3;
              var this_0 = this.bl6_1.prefix;
              if (this_0 == null ? true : charSequenceLength(this_0) === 0) {
                tmp_3 = this.bl6_1.localName === 'xmlns';
              } else {
                tmp_3 = false;
              }
              if (tmp_3) {
                this.hd_1 = 3;
                suspendResult = this.vl5_1.ig(new NamespaceImpl('', this.bl6_1.value), this);
                if (suspendResult === get_COROUTINE_SUSPENDED()) {
                  return suspendResult;
                }
                continue $sm;
              } else {
                this.hd_1 = 5;
                continue $sm;
              }
            }

          case 3:
            this.hd_1 = 5;
            continue $sm;
          case 4:
            this.hd_1 = 5;
            continue $sm;
          case 5:
            this.hd_1 = 2;
            continue $sm;
          case 6:
            this.wl5_1 = this.wl5_1.parentElement;
            this.hd_1 = 1;
            continue $sm;
          case 7:
            return Unit_instance;
          case 8:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 8) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9).dl6 = function ($this$sequence, completion) {
    var i = new DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9(this.ul5_1, completion);
    i.vl5_1 = $this$sequence;
    return i;
  };
  function DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9_0(this$0, resultContinuation) {
    var i = new DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9(this$0, resultContinuation);
    var l = function ($this$sequence, $completion) {
      return i.cl6($this$sequence, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function _get_namespaceAttrs__14mg2s($this) {
    var tmp0_elvis_lhs = $this.kl6_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      // Inline function 'kotlin.also' call
      // Inline function 'nl.adaptivity.xmlutil.util.filterTyped' call
      var this_0 = _get_requireCurrentElem__bg81k8($this).attributes;
      // Inline function 'kotlin.collections.mutableListOf' call
      var result = ArrayList_init_$Create$();
      // Inline function 'nl.adaptivity.xmlutil.util.forEachAttr' call
      var l = this_0.length;
      var inductionVariable = 0;
      if (inductionVariable < l)
        do {
          var idx = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          // Inline function 'nl.adaptivity.xmlutil.util.filterTyped.<anonymous>' call
          var tmp_0 = this_0.item(idx);
          var attr = (!(tmp_0 == null) ? !(tmp_0 == null) : false) ? tmp_0 : THROW_CCE();
          // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-namespaceAttrs>.<anonymous>' call
          var tmp_1;
          var tmp_2;
          var tmp_3;
          if (attr.namespaceURI == null) {
            tmp_3 = true;
          } else {
            var tmp_4 = attr.namespaceURI;
            tmp_3 = tmp_4 === 'http://www.w3.org/2000/xmlns/';
          }
          if (tmp_3) {
            var tmp_5;
            if (attr.prefix === 'xmlns') {
              tmp_5 = true;
            } else {
              var tmp_6;
              // Inline function 'kotlin.text.isNullOrEmpty' call
              var this_1 = attr.prefix;
              // Inline function 'kotlin.contracts.contract' call
              if (this_1 == null ? true : charSequenceLength(this_1) === 0) {
                tmp_6 = attr.localName === 'xmlns';
              } else {
                tmp_6 = false;
              }
              tmp_5 = tmp_6;
            }
            tmp_2 = tmp_5;
          } else {
            tmp_2 = false;
          }
          if (tmp_2) {
            var tmp_7 = attr.value;
            tmp_1 = !(tmp_7 === 'http://www.w3.org/2000/xmlns/');
          } else {
            tmp_1 = false;
          }
          if (tmp_1) {
            result.i1(attr);
          }
        }
         while (inductionVariable < l);
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-namespaceAttrs>.<anonymous>' call
      $this.kl6_1 = result;
      tmp = result;
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  }
  function _get_requireCurrent__f4sn5j($this) {
    var tmp0_elvis_lhs = $this.gl6_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw IllegalStateException_init_$Create$('No current element');
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  }
  function _get_requireCurrentElem__bg81k8($this) {
    var tmp0_elvis_lhs = $this.ll6();
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw IllegalStateException_init_$Create$('No current element');
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  }
  function _get_locationInfo_$helper_86tu52(node, result) {
    var tmp;
    var tmp_0;
    if (node == null) {
      tmp_0 = true;
    } else {
      var tmp_1 = node.nodeType;
      tmp_0 = tmp_1 === 9;
    }
    if (tmp_0) {
      tmp = result;
    } else {
      if (get_isElement(node)) {
        // Inline function 'kotlin.apply' call
        var this_0 = _get_locationInfo_$helper_86tu52(node.parentNode, result);
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-locationInfo>.helper.<anonymous>' call
        this_0.z5(_Char___init__impl__6a9atx(47)).r8(node.nodeName);
        tmp = this_0;
      } else {
        if (get_isText(node)) {
          // Inline function 'kotlin.apply' call
          var this_1 = _get_locationInfo_$helper_86tu52(node.parentNode, result);
          // Inline function 'kotlin.contracts.contract' call
          // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-locationInfo>.helper.<anonymous>' call
          this_1.r8('/text()');
          tmp = this_1;
        } else {
          // Inline function 'kotlin.apply' call
          var this_2 = _get_locationInfo_$helper_86tu52(node.parentNode, result);
          // Inline function 'kotlin.contracts.contract' call
          // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-locationInfo>.helper.<anonymous>' call
          this_2.r8('/.');
          tmp = this_2;
        }
      }
    }
    return tmp;
  }
  function DomReader$namespaceContext$1(this$0) {
    var tmp = this;
    var tmp_0 = _get_requireCurrent__f4sn5j(this$0);
    var tmp0_elvis_lhs = !(tmp_0 == null) ? tmp_0 : null;
    var tmp_1;
    if (tmp0_elvis_lhs == null) {
      var tmp_2 = _get_requireCurrent__f4sn5j(this$0).parentNode;
      tmp_1 = (!(tmp_2 == null) ? !(tmp_2 == null) : false) ? tmp_2 : null;
    } else {
      tmp_1 = tmp0_elvis_lhs;
    }
    tmp.el6_1 = tmp_1;
  }
  protoOf(DomReader$namespaceContext$1).ml6 = function (prefix) {
    var tmp0_safe_receiver = this.el6_1;
    return tmp0_safe_receiver == null ? null : myLookupNamespaceURI(tmp0_safe_receiver, prefix);
  };
  protoOf(DomReader$namespaceContext$1).nl6 = function (namespaceURI) {
    var tmp0_safe_receiver = this.el6_1;
    return tmp0_safe_receiver == null ? null : myLookupPrefix(tmp0_safe_receiver, namespaceURI);
  };
  protoOf(DomReader$namespaceContext$1).ol6 = function () {
    return this;
  };
  protoOf(DomReader$namespaceContext$1).w = function () {
    return sequence(DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9_0(this, null)).w();
  };
  protoOf(DomReader$namespaceContext$1).pl6 = function (namespaceURI) {
    return listOfNotNull(this.nl6(namespaceURI)).w();
  };
  function DomReader(delegate) {
    this.fl6_1 = delegate;
    this.gl6_1 = null;
    this.hl6_1 = false;
    this.il6_1 = false;
    this.jl6_1 = 0;
    this.kl6_1 = null;
  }
  protoOf(DomReader).sl6 = function () {
    var tmp0_safe_receiver = this.ll6();
    var tmp;
    if (tmp0_safe_receiver == null) {
      tmp = null;
    } else {
      // Inline function 'kotlin.run' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-namespaceURI>.<anonymous>' call
      var tmp0_elvis_lhs = tmp0_safe_receiver.namespaceURI;
      tmp = tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
    }
    var tmp1_elvis_lhs = tmp;
    var tmp_0;
    if (tmp1_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Only elements have a namespace uri');
    } else {
      tmp_0 = tmp1_elvis_lhs;
    }
    return tmp_0;
  };
  protoOf(DomReader).tl6 = function () {
    var tmp0_safe_receiver = this.ll6();
    var tmp;
    if (tmp0_safe_receiver == null) {
      tmp = null;
    } else {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-localName>.<anonymous>' call
      var tmp0_elvis_lhs = tmp0_safe_receiver.localName;
      tmp = tmp0_elvis_lhs == null ? tmp0_safe_receiver.tagName : tmp0_elvis_lhs;
    }
    var tmp1_elvis_lhs = tmp;
    var tmp_0;
    if (tmp1_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Only elements have a local name');
    } else {
      tmp_0 = tmp1_elvis_lhs;
    }
    return tmp_0;
  };
  protoOf(DomReader).ul6 = function () {
    var tmp0_safe_receiver = this.ll6();
    var tmp;
    if (tmp0_safe_receiver == null) {
      tmp = null;
    } else {
      // Inline function 'kotlin.run' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-prefix>.<anonymous>' call
      var tmp0_elvis_lhs = tmp0_safe_receiver.prefix;
      tmp = tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
    }
    var tmp1_elvis_lhs = tmp;
    var tmp_0;
    if (tmp1_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Only elements have a prefix');
    } else {
      tmp_0 = tmp1_elvis_lhs;
    }
    return tmp_0;
  };
  protoOf(DomReader).vl6 = function () {
    return this.hl6_1;
  };
  protoOf(DomReader).wl6 = function () {
    return this.jl6_1;
  };
  protoOf(DomReader).xl6 = function () {
    var c = _get_requireCurrent__f4sn5j(this);
    // Inline function 'kotlin.require' call
    var tmp = c.nodeType;
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.require' call
    // Inline function 'kotlin.contracts.contract' call
    if (!(tmp === 7)) {
      // Inline function 'kotlin.require.<anonymous>' call
      var message = 'Failed requirement.';
      throw IllegalArgumentException_init_$Create$(toString(message));
    }
    // Inline function 'nl.adaptivity.xmlutil.dom.getTarget' call
    return (!(c == null) ? c : THROW_CCE()).target;
  };
  protoOf(DomReader).yl6 = function () {
    var c = _get_requireCurrent__f4sn5j(this);
    // Inline function 'kotlin.require' call
    var tmp = c.nodeType;
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.require' call
    // Inline function 'kotlin.contracts.contract' call
    if (!(tmp === 7)) {
      // Inline function 'kotlin.require.<anonymous>' call
      var message = 'Failed requirement.';
      throw IllegalArgumentException_init_$Create$(toString(message));
    }
    // Inline function 'nl.adaptivity.xmlutil.dom.getData' call
    return (!(c == null) ? c : THROW_CCE()).data;
  };
  protoOf(DomReader).zl6 = function () {
    var tmp0_safe_receiver = this.gl6_1;
    var tmp1_subject = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.nodeType;
    var tmp;
    var tmp_0;
    var tmp_1;
    var tmp_2;
    var tmp_3 = tmp1_subject == null ? null : tmp1_subject;
    if (tmp_3 === 5) {
      tmp_2 = true;
    } else {
      var tmp_4 = tmp1_subject == null ? null : tmp1_subject;
      tmp_2 = tmp_4 === 8;
    }
    if (tmp_2) {
      tmp_1 = true;
    } else {
      var tmp_5 = tmp1_subject == null ? null : tmp1_subject;
      tmp_1 = tmp_5 === 3;
    }
    if (tmp_1) {
      tmp_0 = true;
    } else {
      var tmp_6 = tmp1_subject == null ? null : tmp1_subject;
      tmp_0 = tmp_6 === 4;
    }
    if (tmp_0) {
      var tmp_7 = this.gl6_1;
      tmp = ((!(tmp_7 == null) ? !(tmp_7 == null) : false) ? tmp_7 : THROW_CCE()).data;
    } else {
      var tmp_8 = tmp1_subject == null ? null : tmp1_subject;
      if (tmp_8 === 7) {
        // Inline function 'kotlin.let' call
        var tmp_9 = this.gl6_1;
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-text>.<anonymous>' call
        var it = (!(tmp_9 == null) ? !(tmp_9 == null) : false) ? tmp_9 : THROW_CCE();
        var tmp_10 = it.nodeName;
        // Inline function 'nl.adaptivity.xmlutil.dom.getData' call
        tmp = tmp_10 + ' ' + it.data;
      } else {
        throw XmlException_init_$Create$_0('Node is not a text node');
      }
    }
    return tmp;
  };
  protoOf(DomReader).al7 = function () {
    var tmp = this.gl6_1;
    var tmp0_safe_receiver = (tmp == null ? true : !(tmp == null)) ? tmp : THROW_CCE();
    var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.attributes;
    var tmp2_elvis_lhs = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.length;
    return tmp2_elvis_lhs == null ? 0 : tmp2_elvis_lhs;
  };
  protoOf(DomReader).bl7 = function () {
    var c = this.gl6_1;
    return c == null ? EventType_END_DOCUMENT_getInstance() : toEventType(c, this.il6_1);
  };
  protoOf(DomReader).cl7 = function () {
    return _get_locationInfo_$helper_86tu52(this.gl6_1, StringBuilder_init_$Create$()).toString();
  };
  protoOf(DomReader).ll6 = function () {
    var tmp0_safe_receiver = this.gl6_1;
    var tmp;
    var tmp2_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.nodeType;
    var tmp_0 = tmp2_safe_receiver == null ? null : tmp2_safe_receiver;
    if (tmp_0 === 1) {
      var tmp_1 = this.gl6_1;
      tmp = (!(tmp_1 == null) ? !(tmp_1 == null) : false) ? tmp_1 : THROW_CCE();
    } else {
      tmp = null;
    }
    return tmp;
  };
  protoOf(DomReader).dl7 = function () {
    return new DomReader$namespaceContext$1(this);
  };
  protoOf(DomReader).el7 = function () {
    // Inline function 'kotlin.collections.map' call
    var this_0 = _get_namespaceAttrs__14mg2s(this);
    // Inline function 'kotlin.collections.mapTo' call
    var destination = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_0, 10));
    var tmp0_iterator = this_0.w();
    while (tmp0_iterator.f()) {
      var item = tmp0_iterator.e();
      // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-namespaceDecls>.<anonymous>' call
      var tmp$ret$0 = item.prefix === 'xmlns' ? new NamespaceImpl(ensureNotNull(item.localName), item.value) : new NamespaceImpl('', item.value);
      destination.i1(tmp$ret$0);
    }
    return destination;
  };
  protoOf(DomReader).fl7 = function () {
    var d = this.fl6_1;
    var tmp;
    var tmp_0 = d.nodeType;
    if (tmp_0 === 9) {
      tmp = (!(d == null) ? d : THROW_CCE()).inputEncoding;
    } else {
      tmp = ensureNotNull(d.ownerDocument).inputEncoding;
    }
    return tmp;
  };
  protoOf(DomReader).gl7 = function () {
    return null;
  };
  protoOf(DomReader).p3c = function () {
    return '1.0';
  };
  protoOf(DomReader).f = function () {
    var tmp;
    var tmp_0;
    if (this.il6_1) {
      var tmp0_safe_receiver = this.gl6_1;
      tmp_0 = (tmp0_safe_receiver == null ? null : tmp0_safe_receiver.parentNode) == null;
    } else {
      tmp_0 = false;
    }
    if (!tmp_0) {
      tmp = true;
    } else {
      tmp = !equals(this.gl6_1, this.fl6_1);
    }
    return tmp;
  };
  protoOf(DomReader).e = function () {
    this.kl6_1 = null;
    var c = this.gl6_1;
    if (c == null) {
      this.hl6_1 = true;
      this.gl6_1 = this.fl6_1;
      return EventType_START_DOCUMENT_getInstance();
    } else {
      if (this.il6_1) {
        if (!(c.nextSibling == null)) {
          this.gl6_1 = c.nextSibling;
          this.il6_1 = false;
        } else {
          this.gl6_1 = c.parentNode;
          var tmp0_safe_receiver = this.gl6_1;
          var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : toEventType(tmp0_safe_receiver, true);
          return tmp1_elvis_lhs == null ? EventType_END_DOCUMENT_getInstance() : tmp1_elvis_lhs;
        }
      } else if (!(c.firstChild == null)) {
        this.gl6_1 = c.firstChild;
      } else {
        this.il6_1 = true;
        return EventType_END_ELEMENT_getInstance();
      }
      var c2 = _get_requireCurrent__f4sn5j(this);
      var nodeType = c2.nodeType;
      var tmp;
      var tmp_0 = nodeType;
      if (!(tmp_0 === 1)) {
        var tmp_1 = nodeType;
        tmp = !(tmp_1 === 9);
      } else {
        tmp = false;
      }
      if (tmp) {
        this.il6_1 = true;
      }
      return toEventType(c2, this.il6_1);
    }
  };
  protoOf(DomReader).hl7 = function (index) {
    var tmp0_elvis_lhs = get(_get_requireCurrentElem__bg81k8(this).attributes, index);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw IndexOutOfBoundsException_init_$Create$();
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var attr = tmp;
    var tmp1_elvis_lhs = attr.namespaceURI;
    return tmp1_elvis_lhs == null ? '' : tmp1_elvis_lhs;
  };
  protoOf(DomReader).il7 = function (index) {
    var tmp0_elvis_lhs = get(_get_requireCurrentElem__bg81k8(this).attributes, index);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw IndexOutOfBoundsException_init_$Create$();
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var attr = tmp;
    var tmp1_elvis_lhs = attr.prefix;
    return tmp1_elvis_lhs == null ? '' : tmp1_elvis_lhs;
  };
  protoOf(DomReader).jl7 = function (index) {
    var tmp0_elvis_lhs = get(_get_requireCurrentElem__bg81k8(this).attributes, index);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw IndexOutOfBoundsException_init_$Create$();
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var attr = tmp;
    var tmp1_elvis_lhs = attr.localName;
    return tmp1_elvis_lhs == null ? attr.name : tmp1_elvis_lhs;
  };
  protoOf(DomReader).kl7 = function (index) {
    var tmp0_elvis_lhs = get(_get_requireCurrentElem__bg81k8(this).attributes, index);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw IndexOutOfBoundsException_init_$Create$();
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var attr = tmp;
    return attr.value;
  };
  protoOf(DomReader).m7d = function (nsUri, localName) {
    return _get_requireCurrentElem__bg81k8(this).getAttributeNS(nsUri, localName);
  };
  protoOf(DomReader).n = function () {
    this.gl6_1 = null;
  };
  function toEventType(_this__u8e3s4, endOfElement) {
    var tmp0_subject = _this__u8e3s4.nodeType;
    var tmp;
    var tmp_0 = tmp0_subject;
    if (tmp_0 === 2) {
      tmp = EventType_ATTRIBUTE_getInstance();
    } else {
      var tmp_1 = tmp0_subject;
      if (tmp_1 === 4) {
        tmp = EventType_CDSECT_getInstance();
      } else {
        var tmp_2 = tmp0_subject;
        if (tmp_2 === 8) {
          tmp = EventType_COMMENT_getInstance();
        } else {
          var tmp_3 = tmp0_subject;
          if (tmp_3 === 10) {
            tmp = EventType_DOCDECL_getInstance();
          } else {
            var tmp_4 = tmp0_subject;
            if (tmp_4 === 5) {
              tmp = EventType_ENTITY_REF_getInstance();
            } else {
              var tmp_5;
              var tmp_6 = tmp0_subject;
              if (tmp_6 === 11) {
                tmp_5 = true;
              } else {
                var tmp_7 = tmp0_subject;
                tmp_5 = tmp_7 === 9;
              }
              if (tmp_5) {
                tmp = endOfElement ? EventType_END_DOCUMENT_getInstance() : EventType_START_DOCUMENT_getInstance();
              } else {
                var tmp_8 = tmp0_subject;
                if (tmp_8 === 7) {
                  tmp = EventType_PROCESSING_INSTRUCTION_getInstance();
                } else {
                  var tmp_9 = tmp0_subject;
                  if (tmp_9 === 3) {
                    tmp = isXmlWhitespace_1(ensureNotNull(_this__u8e3s4.textContent)) ? EventType_IGNORABLE_WHITESPACE_getInstance() : EventType_TEXT_getInstance();
                  } else {
                    var tmp_10 = tmp0_subject;
                    if (tmp_10 === 1) {
                      tmp = endOfElement ? EventType_END_ELEMENT_getInstance() : EventType_START_ELEMENT_getInstance();
                    } else {
                      throw XmlException_init_$Create$_0('Unsupported event type (' + _this__u8e3s4 + ')');
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    return tmp;
  }
  function collectDeclaredPrefixes(_this__u8e3s4, $this, namespaceUri, result, redeclared) {
    // Inline function 'nl.adaptivity.xmlutil.util.forEachAttr' call
    var this_0 = _this__u8e3s4.attributes;
    var l = this_0.length;
    var inductionVariable = 0;
    if (inductionVariable < l)
      do {
        var idx = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'nl.adaptivity.xmlutil.<no name provided>.collectDeclaredPrefixes.<anonymous>' call
        var tmp = this_0.item(idx);
        var attr = (!(tmp == null) ? !(tmp == null) : false) ? tmp : THROW_CCE();
        var tmp_0;
        if (attr.prefix === 'xmlns') {
          tmp_0 = attr.localName;
        } else {
          var tmp_1;
          // Inline function 'kotlin.text.isNullOrEmpty' call
          var this_1 = attr.prefix;
          // Inline function 'kotlin.contracts.contract' call
          if (this_1 == null ? true : charSequenceLength(this_1) === 0) {
            tmp_1 = attr.localName === 'xmlns';
          } else {
            tmp_1 = false;
          }
          if (tmp_1) {
            tmp_0 = '';
          } else {
            tmp_0 = null;
          }
        }
        var prefix = tmp_0;
        if (!(prefix == null)) {
          if (redeclared.a1(prefix)) {
            if (attr.value === namespaceUri) {
              result.i1(prefix);
            }
            redeclared.i1(prefix);
          }
        }
      }
       while (inductionVariable < l);
    var tmp0_safe_receiver = _this__u8e3s4.parentElement;
    if (tmp0_safe_receiver == null)
      null;
    else {
      collectDeclaredPrefixes(tmp0_safe_receiver, $this, namespaceUri, result, redeclared);
    }
  }
  function DomWriter_init_$Init$(xmlDeclMode, $this) {
    xmlDeclMode = xmlDeclMode === VOID ? XmlDeclMode_None_getInstance() : xmlDeclMode;
    DomWriter.call($this, null, VOID, xmlDeclMode);
    return $this;
  }
  function DomWriter_init_$Create$(xmlDeclMode) {
    return DomWriter_init_$Init$(xmlDeclMode, objectCreate(protoOf(DomWriter)));
  }
  function writeIndent($this, newDepth) {
    var indentSeq = $this.ml7_1;
    var tmp;
    var tmp_0;
    if ($this.tl7_1 >= 0) {
      // Inline function 'kotlin.collections.isNotEmpty' call
      tmp_0 = !indentSeq.c1();
    } else {
      tmp_0 = false;
    }
    if (tmp_0) {
      tmp = !($this.tl7_1 === $this.vl7_1);
    } else {
      tmp = false;
    }
    if (tmp) {
      $this.zl7('\n');
      try {
        $this.ml7_1 = emptyList();
        // Inline function 'kotlin.repeat' call
        var times = $this.vl7_1;
        // Inline function 'kotlin.contracts.contract' call
        var inductionVariable = 0;
        if (inductionVariable < times)
          do {
            var index = inductionVariable;
            inductionVariable = inductionVariable + 1 | 0;
            // Inline function 'nl.adaptivity.xmlutil.DomWriter.writeIndent.<anonymous>' call
            // Inline function 'kotlin.collections.forEach' call
            var tmp0_iterator = indentSeq.w();
            while (tmp0_iterator.f()) {
              var element = tmp0_iterator.e();
              // Inline function 'nl.adaptivity.xmlutil.DomWriter.writeIndent.<anonymous>.<anonymous>' call
              element.dl8($this);
            }
          }
           while (inductionVariable < times);
      }finally {
        $this.ml7_1 = indentSeq;
      }
    }
    $this.tl7_1 = newDepth;
  }
  function writeIndent$default($this, newDepth, $super) {
    newDepth = newDepth === VOID ? $this.vl7_1 : newDepth;
    return writeIndent($this, newDepth);
  }
  function addToPending($this, operation) {
    if ($this.ql7_1 == null) {
      var tmp = $this.sl7_1;
      (isInterface(tmp, MutableList) ? tmp : THROW_CCE()).i1(operation);
    } else
      throw IllegalStateException_init_$Create$('Use of pending list when there is a document already');
  }
  function requireCurrent($this, error) {
    var tmp = $this.rl7_1;
    var tmp0_elvis_lhs = (!(tmp == null) ? !(tmp == null) : false) ? tmp : null;
    var tmp_0;
    if (tmp0_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('The current node is not an element: ' + error);
    } else {
      tmp_0 = tmp0_elvis_lhs;
    }
    return tmp_0;
  }
  function Companion() {
    this.el8_1 = -1;
    this.fl8_1 = 2147483647;
  }
  var Companion_instance_0;
  function Companion_getInstance() {
    return Companion_instance_0;
  }
  function DomWriter$namespaceContext$1(this$0) {
    this.gl8_1 = this$0;
  }
  protoOf(DomWriter$namespaceContext$1).ml6 = function (prefix) {
    var tmp0_safe_receiver = this.gl8_1.rl7_1;
    return tmp0_safe_receiver == null ? null : tmp0_safe_receiver.lookupNamespaceURI(prefix);
  };
  protoOf(DomWriter$namespaceContext$1).nl6 = function (namespaceURI) {
    var tmp0_safe_receiver = this.gl8_1.rl7_1;
    return tmp0_safe_receiver == null ? null : tmp0_safe_receiver.lookupPrefix(namespaceURI);
  };
  protoOf(DomWriter$namespaceContext$1).pl6 = function (namespaceURI) {
    // Inline function 'kotlin.collections.buildSet' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildSetInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = LinkedHashSet_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.<no name provided>.getPrefixesCompat.<anonymous>' call
    var tmp = this.gl8_1.rl7_1;
    var tmp0_safe_receiver = (tmp == null ? true : !(tmp == null)) ? tmp : THROW_CCE();
    if (tmp0_safe_receiver == null)
      null;
    else {
      // Inline function 'kotlin.collections.mutableListOf' call
      var tmp$ret$0 = ArrayList_init_$Create$();
      collectDeclaredPrefixes(tmp0_safe_receiver, this, namespaceURI, this_0, tmp$ret$0);
    }
    var tmp$ret$3 = this_0.f3();
    return toList(tmp$ret$3).w();
  };
  function DomWriter$comment$lambda(this$0, $text) {
    return function (it) {
      this$0.hl8($text);
      return Unit_instance;
    };
  }
  function DomWriter$text$lambda(this$0, $text) {
    return function (it) {
      this$0.zl7($text);
      return Unit_instance;
    };
  }
  function DomWriter$processingInstruction$lambda(this$0, $text) {
    return function (it) {
      this$0.il8($text);
      return Unit_instance;
    };
  }
  function DomWriter$processingInstruction$lambda_0(this$0, $target, $data) {
    return function (it) {
      this$0.jl8($target, $data);
      return Unit_instance;
    };
  }
  function DomWriter$ignorableWhitespace$lambda(this$0, $text) {
    return function (it) {
      this$0.zl7($text);
      return Unit_instance;
    };
  }
  function DomWriter$docdecl$lambda(this$0, $text) {
    return function (it) {
      this$0.kl8($text);
      return Unit_instance;
    };
  }
  function DomWriter$close$lambda(this$0) {
    return function () {
      return 'Closing a dom writer but not all elements were closed (depth:' + this$0.vl7_1 + ')';
    };
  }
  function DomWriter(current, isAppend, xmlDeclMode) {
    isAppend = isAppend === VOID ? false : isAppend;
    xmlDeclMode = xmlDeclMode === VOID ? XmlDeclMode_None_getInstance() : xmlDeclMode;
    PlatformXmlWriterBase.call(this);
    this.ol7_1 = isAppend;
    this.pl7_1 = xmlDeclMode;
    var tmp = this;
    var tmp1_subject = current == null ? null : current.nodeType;
    var tmp_0;
    if (tmp1_subject == null) {
      tmp_0 = null;
    } else {
      var tmp_1 = tmp1_subject == null ? null : tmp1_subject;
      if (tmp_1 === 9) {
        tmp_0 = (!(current == null) ? !(current == null) : false) ? current : THROW_CCE();
      } else {
        tmp_0 = current.ownerDocument;
      }
    }
    tmp.ql7_1 = tmp_0;
    this.rl7_1 = current;
    var tmp_2 = this;
    // Inline function 'kotlin.collections.mutableListOf' call
    tmp_2.sl7_1 = ArrayList_init_$Create$();
    this.tl7_1 = -1;
    var tmp_3 = this;
    tmp_3.ul7_1 = new DomWriter$namespaceContext$1(this);
    this.vl7_1 = 0;
    this.wl7_1 = null;
    this.xl7_1 = null;
    this.yl7_1 = null;
  }
  protoOf(DomWriter).ll8 = function () {
    var tmp0_elvis_lhs = this.ql7_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Document not created yet');
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  };
  protoOf(DomWriter).dl7 = function () {
    return this.ul7_1;
  };
  protoOf(DomWriter).wl6 = function () {
    return this.vl7_1;
  };
  protoOf(DomWriter).ml8 = function (namespacePrefix, namespaceUri) {
    var cur = requireCurrent(this, 'Namespace attribute');
    // Inline function 'kotlin.text.isEmpty' call
    if (charSequenceLength(namespacePrefix) === 0) {
      var tmp;
      // Inline function 'kotlin.text.isEmpty' call
      if (charSequenceLength(namespaceUri) === 0) {
        tmp = cur.lookupNamespaceURI('') === '';
      } else {
        tmp = false;
      }
      if (!tmp) {
        cur.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns', namespaceUri);
      }
    } else {
      cur.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns' + ':' + namespacePrefix, namespaceUri);
    }
  };
  protoOf(DomWriter).nl8 = function (namespace, localName, prefix) {
    writeIndent$default(this);
    this.vl7_1 = this.vl7_1 + 1 | 0;
    if (this.rl7_1 == null ? this.ql7_1 == null : false) {
      var doc = createDocument(qname(namespace == null ? '' : namespace, localName, prefix));
      this.ql7_1 = doc;
      this.rl7_1 = this.ql7_1;
      var e = ensureNotNull(doc.documentElement);
      doc.removeChild(e);
      var tmp3_iterator = this.sl7_1.w();
      while (tmp3_iterator.f()) {
        var pending = tmp3_iterator.e();
        pending(doc);
      }
      doc.appendChild(e);
      var tmp = this.sl7_1;
      (isInterface(tmp, MutableList) ? tmp : THROW_CCE()).n1();
      this.tl7_1 = 0;
      this.rl7_1 = doc.documentElement;
      return Unit_instance;
    } else if (this.rl7_1 == null ? !this.ol7_1 : false) {
      // Inline function 'kotlin.sequences.count' call
      var count = 0;
      var tmp0_iterator = asSequence(iterator_0(this.ll8().childNodes)).w();
      while (tmp0_iterator.f()) {
        var element = tmp0_iterator.e();
        // Inline function 'nl.adaptivity.xmlutil.DomWriter.startTag.<anonymous>' call
        var tmp_0 = element.nodeType;
        if (tmp_0 === 1) {
          count = count + 1 | 0;
          checkCountOverflow(count);
        }
      }
      if (count > 0) {
        removeElementChildren(this.ll8());
      }
    }
    // Inline function 'kotlin.let' call
    // Inline function 'kotlin.contracts.contract' call
    var elem = createElement(this.ll8(), qname(namespace, localName, prefix));
    ensureNotNull(this.rl7_1).appendChild(elem);
    this.rl7_1 = elem;
  };
  protoOf(DomWriter).hl8 = function (text) {
    writeIndent$default(this);
    var ce = this.rl7_1;
    if (ce == null) {
      addToPending(this, DomWriter$comment$lambda(this, text));
    } else {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomWriter.comment.<anonymous>' call
      var comment = this.ll8().createComment(text);
      ce.appendChild(comment);
    }
  };
  protoOf(DomWriter).ol8 = function (text) {
    this.tl7_1 = -1;
    var ce = this.rl7_1;
    if (ce == null) {
      if (isBlank(text)) {
        addToPending(this, DomWriter$text$lambda(this, text));
      } else
        throw XmlException_init_$Create$_0('Not in an element -- text');
    } else {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomWriter.text.<anonymous>' call
      var textNode = this.ll8().createTextNode(text);
      ce.appendChild(textNode);
    }
  };
  protoOf(DomWriter).pl8 = function (text) {
    this.tl7_1 = -1;
    // Inline function 'kotlin.let' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.DomWriter.cdsect.<anonymous>' call
    var cdataSection = this.ll8().createCDATASection(text);
    var tmp0_safe_receiver = this.rl7_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.appendChild(cdataSection);
    var tmp;
    if (tmp1_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Not in an element -- cdsect');
    } else {
      tmp = tmp1_elvis_lhs;
    }
  };
  protoOf(DomWriter).ql8 = function (text) {
    this.tl7_1 = -1;
    throw UnsupportedOperationException_init_$Create$('Creating entity references is not supported (or incorrect) in most browsers');
  };
  protoOf(DomWriter).il8 = function (text) {
    writeIndent(this, 2147483647);
    var tmp0_safe_receiver = this.rl7_1;
    var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.nodeType;
    var tmp = tmp1_safe_receiver == null ? null : tmp1_safe_receiver;
    if (!(tmp === 1))
      throw XmlException_init_$Create$_0('Document already started');
    if (this.ql7_1 == null) {
      addToPending(this, DomWriter$processingInstruction$lambda(this, text));
    } else {
      var split = indexOf(text, _Char___init__impl__6a9atx(32));
      var tmp_0;
      if (split < 0) {
        tmp_0 = to(text, '');
      } else {
        // Inline function 'kotlin.text.substring' call
        // Inline function 'kotlin.js.asDynamic' call
        var tmp_1 = text.substring(0, split);
        // Inline function 'kotlin.text.substring' call
        var startIndex = split + 1 | 0;
        // Inline function 'kotlin.js.asDynamic' call
        var tmp$ret$3 = text.substring(startIndex);
        tmp_0 = to(tmp_1, tmp$ret$3);
      }
      var tmp2_container = tmp_0;
      var target = tmp2_container.y6();
      var data = tmp2_container.z6();
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomWriter.processingInstruction.<anonymous>' call
      var processInstr = this.ll8().createProcessingInstruction(target, data);
      this.ll8().appendChild(processInstr);
    }
  };
  protoOf(DomWriter).jl8 = function (target, data) {
    var ce = this.rl7_1;
    if (ce == null) {
      addToPending(this, DomWriter$processingInstruction$lambda_0(this, target, data));
    } else {
      var processInstr = this.ll8().createProcessingInstruction(target, data);
      ce.appendChild(processInstr);
    }
    this.tl7_1 = -1;
  };
  protoOf(DomWriter).zl7 = function (text) {
    var ce = this.rl7_1;
    if (ce == null) {
      addToPending(this, DomWriter$ignorableWhitespace$lambda(this, text));
    } else {
      var tmp = ce.nodeType;
      if (!(tmp === 9)) {
        // Inline function 'kotlin.let' call
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'nl.adaptivity.xmlutil.DomWriter.ignorableWhitespace.<anonymous>' call
        var textNode = this.ll8().createTextNode(text);
        ce.appendChild(textNode);
      }
    }
    this.tl7_1 = -1;
  };
  protoOf(DomWriter).rl8 = function (namespace, name, prefix, value) {
    var cur = requireCurrent(this, 'attribute');
    var tmp;
    // Inline function 'kotlin.text.isNullOrEmpty' call
    // Inline function 'kotlin.contracts.contract' call
    if (namespace == null ? true : charSequenceLength(namespace) === 0) {
      // Inline function 'kotlin.text.isNullOrEmpty' call
      // Inline function 'kotlin.contracts.contract' call
      tmp = prefix == null ? true : charSequenceLength(prefix) === 0;
    } else {
      tmp = false;
    }
    if (tmp) {
      cur.setAttribute(name, value);
    } else {
      // Inline function 'kotlin.text.isNullOrEmpty' call
      // Inline function 'kotlin.contracts.contract' call
      if (prefix == null ? true : charSequenceLength(prefix) === 0) {
        cur.setAttributeNS(namespace, name, value);
      } else {
        var tmp_0;
        if (namespace == null) {
          tmp_0 = '';
        } else {
          tmp_0 = namespace;
        }
        cur.setAttributeNS(tmp_0, '' + prefix + ':' + name, value);
      }
    }
  };
  protoOf(DomWriter).kl8 = function (text) {
    writeIndent(this, 2147483647);
    var target = this.ql7_1;
    if (target == null) {
      addToPending(this, DomWriter$docdecl$lambda(this, text));
    } else {
      var textElems = split(text, [' '], VOID, 3);
      var qualifiedName = textElems.v(0);
      var publicId = textElems.u() > 1 ? textElems.v(1) : '';
      var systemId = textElems.u() > 2 ? textElems.v(2) : '';
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomWriter.docdecl.<anonymous>' call
      var docType = target.implementation.createDocumentType(qualifiedName, publicId, systemId);
      target.appendChild(docType);
    }
  };
  protoOf(DomWriter).sl8 = function (version, encoding, standalone) {
    writeIndent(this, 2147483647);
    this.wl7_1 = version;
    this.xl7_1 = encoding;
    this.yl7_1 = standalone;
  };
  protoOf(DomWriter).ul8 = function () {
    this.rl7_1 = null;
  };
  protoOf(DomWriter).vl8 = function (namespace, localName, prefix) {
    this.vl7_1 = this.vl7_1 - 1 | 0;
    writeIndent(this, 2147483647);
    this.rl7_1 = requireCurrent(this, 'No current element or no parent element').parentNode;
  };
  protoOf(DomWriter).wl8 = function (prefix) {
    var tmp0_safe_receiver = this.rl7_1;
    return tmp0_safe_receiver == null ? null : myLookupNamespaceURI(tmp0_safe_receiver, prefix);
  };
  protoOf(DomWriter).xl8 = function (namespaceUri) {
    var tmp1_safe_receiver = this.rl7_1;
    var tmp;
    if (tmp1_safe_receiver == null) {
      tmp = null;
    } else {
      tmp = myLookupPrefix(tmp1_safe_receiver, namespaceUri == null ? '' : namespaceUri);
    }
    return tmp;
  };
  protoOf(DomWriter).n = function () {
    var tmp = this.vl7_1 === 0;
    assert(tmp, DomWriter$close$lambda(this));
    this.rl7_1 = null;
  };
  function EventType$START_DOCUMENT() {
    EventType.call(this, 'START_DOCUMENT', 0);
    EventType_START_DOCUMENT_instance = this;
  }
  protoOf(EventType$START_DOCUMENT).dl9 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.START_DOCUMENT.createEvent.<anonymous>' call
    return new StartDocumentEvent(reader.cl7(), reader.p3c(), reader.fl7(), reader.gl7());
  };
  protoOf(EventType$START_DOCUMENT).el9 = function (writer, reader) {
    writer.sl8(reader.p3c(), reader.fl7(), reader.gl7());
  };
  var EventType_START_DOCUMENT_instance;
  function EventType$START_ELEMENT() {
    EventType.call(this, 'START_ELEMENT', 1);
    EventType_START_ELEMENT_instance = this;
  }
  protoOf(EventType$START_ELEMENT).dl9 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.START_ELEMENT.createEvent.<anonymous>' call
    return new StartElementEvent(reader.cl7(), reader.sl6(), reader.tl6(), reader.ul6(), get_attributes(reader), reader.dl7().ol6(), reader.el7());
  };
  protoOf(EventType$START_ELEMENT).el9 = function (writer, reader) {
    writer.nl8(reader.sl6(), reader.tl6(), reader.ul6());
    var tmp0_iterator = reader.el7().w();
    while (tmp0_iterator.f()) {
      var attr = tmp0_iterator.e();
      writer.ml8(attr.ul6(), attr.sl6());
    }
    var inductionVariable = 0;
    var last = reader.al7();
    if (inductionVariable < last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var attrNs = reader.hl7(i);
        if (!(attrNs === 'http://www.w3.org/2000/xmlns/')) {
          var attrPrefix = reader.il7(i);
          var tmp;
          if (attrNs === '') {
            tmp = '';
          } else if (attrNs === writer.dl7().ml6(attrPrefix)) {
            tmp = attrPrefix;
          } else {
            var tmp3_elvis_lhs = writer.dl7().nl6(attrNs);
            tmp = tmp3_elvis_lhs == null ? attrPrefix : tmp3_elvis_lhs;
          }
          var prefix = tmp;
          writer.rl8(attrNs, reader.jl7(i), prefix, reader.kl7(i));
        }
      }
       while (inductionVariable < last);
  };
  var EventType_START_ELEMENT_instance;
  function EventType$END_ELEMENT() {
    EventType.call(this, 'END_ELEMENT', 2);
    EventType_END_ELEMENT_instance = this;
  }
  protoOf(EventType$END_ELEMENT).dl9 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.END_ELEMENT.createEvent.<anonymous>' call
    return new EndElementEvent(reader.cl7(), reader.sl6(), reader.tl6(), reader.ul6(), reader.dl7());
  };
  protoOf(EventType$END_ELEMENT).el9 = function (writer, reader) {
    writer.vl8(reader.sl6(), reader.tl6(), reader.ul6());
  };
  var EventType_END_ELEMENT_instance;
  function EventType$COMMENT() {
    EventType.call(this, 'COMMENT', 3);
    EventType_COMMENT_instance = this;
  }
  protoOf(EventType$COMMENT).hl9 = function () {
    return true;
  };
  protoOf(EventType$COMMENT).dl9 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.COMMENT.createEvent.<anonymous>' call
    return new TextEvent(reader.cl7(), EventType_COMMENT_getInstance(), reader.zl6());
  };
  protoOf(EventType$COMMENT).il9 = function (writer, textEvent) {
    writer.hl8(textEvent.cl8_1);
  };
  protoOf(EventType$COMMENT).el9 = function (writer, reader) {
    writer.hl8(reader.zl6());
  };
  var EventType_COMMENT_instance;
  function EventType$TEXT() {
    EventType.call(this, 'TEXT', 4);
    EventType_TEXT_instance = this;
  }
  protoOf(EventType$TEXT).hl9 = function () {
    return true;
  };
  protoOf(EventType$TEXT).dl9 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.TEXT.createEvent.<anonymous>' call
    return new TextEvent(reader.cl7(), EventType_TEXT_getInstance(), reader.zl6());
  };
  protoOf(EventType$TEXT).il9 = function (writer, textEvent) {
    writer.ol8(textEvent.cl8_1);
  };
  protoOf(EventType$TEXT).el9 = function (writer, reader) {
    writer.ol8(reader.zl6());
  };
  var EventType_TEXT_instance;
  function EventType$CDSECT() {
    EventType.call(this, 'CDSECT', 5);
    EventType_CDSECT_instance = this;
  }
  protoOf(EventType$CDSECT).hl9 = function () {
    return true;
  };
  protoOf(EventType$CDSECT).dl9 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.CDSECT.createEvent.<anonymous>' call
    return new TextEvent(reader.cl7(), EventType_CDSECT_getInstance(), reader.zl6());
  };
  protoOf(EventType$CDSECT).il9 = function (writer, textEvent) {
    writer.pl8(textEvent.cl8_1);
  };
  protoOf(EventType$CDSECT).el9 = function (writer, reader) {
    writer.pl8(reader.zl6());
  };
  var EventType_CDSECT_instance;
  function EventType$DOCDECL() {
    EventType.call(this, 'DOCDECL', 6);
    EventType_DOCDECL_instance = this;
  }
  protoOf(EventType$DOCDECL).dl9 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.DOCDECL.createEvent.<anonymous>' call
    return new TextEvent(reader.cl7(), EventType_DOCDECL_getInstance(), reader.zl6());
  };
  protoOf(EventType$DOCDECL).il9 = function (writer, textEvent) {
    writer.kl8(textEvent.cl8_1);
  };
  protoOf(EventType$DOCDECL).el9 = function (writer, reader) {
    writer.kl8(reader.zl6());
  };
  var EventType_DOCDECL_instance;
  function EventType$END_DOCUMENT() {
    EventType.call(this, 'END_DOCUMENT', 7);
    EventType_END_DOCUMENT_instance = this;
  }
  protoOf(EventType$END_DOCUMENT).dl9 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.END_DOCUMENT.createEvent.<anonymous>' call
    return new EndDocumentEvent(reader.cl7());
  };
  protoOf(EventType$END_DOCUMENT).el9 = function (writer, reader) {
    writer.ul8();
  };
  var EventType_END_DOCUMENT_instance;
  function EventType$ENTITY_REF() {
    EventType.call(this, 'ENTITY_REF', 8);
    EventType_ENTITY_REF_instance = this;
  }
  protoOf(EventType$ENTITY_REF).hl9 = function () {
    return true;
  };
  protoOf(EventType$ENTITY_REF).dl9 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.ENTITY_REF.createEvent.<anonymous>' call
    return new EntityRefEvent(reader.cl7(), reader.tl6(), reader.zl6());
  };
  protoOf(EventType$ENTITY_REF).il9 = function (writer, textEvent) {
    writer.ol8(textEvent.cl8_1);
  };
  protoOf(EventType$ENTITY_REF).el9 = function (writer, reader) {
    writer.ol8(reader.zl6());
  };
  var EventType_ENTITY_REF_instance;
  function EventType$IGNORABLE_WHITESPACE() {
    EventType.call(this, 'IGNORABLE_WHITESPACE', 9);
    EventType_IGNORABLE_WHITESPACE_instance = this;
  }
  protoOf(EventType$IGNORABLE_WHITESPACE).hl9 = function () {
    return true;
  };
  protoOf(EventType$IGNORABLE_WHITESPACE).dl9 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.IGNORABLE_WHITESPACE.createEvent.<anonymous>' call
    return new TextEvent(reader.cl7(), EventType_IGNORABLE_WHITESPACE_getInstance(), reader.zl6());
  };
  protoOf(EventType$IGNORABLE_WHITESPACE).il9 = function (writer, textEvent) {
    writer.zl7(textEvent.cl8_1);
  };
  protoOf(EventType$IGNORABLE_WHITESPACE).el9 = function (writer, reader) {
    writer.zl7(reader.zl6());
  };
  var EventType_IGNORABLE_WHITESPACE_instance;
  function EventType$ATTRIBUTE() {
    EventType.call(this, 'ATTRIBUTE', 10);
    EventType_ATTRIBUTE_instance = this;
  }
  protoOf(EventType$ATTRIBUTE).dl9 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.ATTRIBUTE.createEvent.<anonymous>' call
    return new Attribute(reader.cl7(), reader.sl6(), reader.tl6(), reader.ul6(), reader.zl6());
  };
  protoOf(EventType$ATTRIBUTE).el9 = function (writer, reader) {
    writer.rl8(reader.sl6(), reader.tl6(), reader.ul6(), reader.zl6());
  };
  var EventType_ATTRIBUTE_instance;
  function EventType$PROCESSING_INSTRUCTION() {
    EventType.call(this, 'PROCESSING_INSTRUCTION', 11);
    EventType_PROCESSING_INSTRUCTION_instance = this;
  }
  protoOf(EventType$PROCESSING_INSTRUCTION).hl9 = function () {
    return true;
  };
  protoOf(EventType$PROCESSING_INSTRUCTION).dl9 = function (reader) {
    return new ProcessingInstructionEvent(reader.cl7(), reader.xl6(), reader.yl6());
  };
  protoOf(EventType$PROCESSING_INSTRUCTION).il9 = function (writer, textEvent) {
    var tmp;
    if (textEvent instanceof ProcessingInstructionEvent) {
      writer.jl8(textEvent.ila_1, textEvent.jla_1);
      tmp = Unit_instance;
    } else {
      writer.il8(textEvent.cl8_1);
      tmp = Unit_instance;
    }
    return tmp;
  };
  protoOf(EventType$PROCESSING_INSTRUCTION).el9 = function (writer, reader) {
    writer.jl8(reader.xl6(), reader.yl6());
  };
  var EventType_PROCESSING_INSTRUCTION_instance;
  var EventType_entriesInitialized;
  function EventType_initEntries() {
    if (EventType_entriesInitialized)
      return Unit_instance;
    EventType_entriesInitialized = true;
    EventType_START_DOCUMENT_instance = new EventType$START_DOCUMENT();
    EventType_START_ELEMENT_instance = new EventType$START_ELEMENT();
    EventType_END_ELEMENT_instance = new EventType$END_ELEMENT();
    EventType_COMMENT_instance = new EventType$COMMENT();
    EventType_TEXT_instance = new EventType$TEXT();
    EventType_CDSECT_instance = new EventType$CDSECT();
    EventType_DOCDECL_instance = new EventType$DOCDECL();
    EventType_END_DOCUMENT_instance = new EventType$END_DOCUMENT();
    EventType_ENTITY_REF_instance = new EventType$ENTITY_REF();
    EventType_IGNORABLE_WHITESPACE_instance = new EventType$IGNORABLE_WHITESPACE();
    EventType_ATTRIBUTE_instance = new EventType$ATTRIBUTE();
    EventType_PROCESSING_INSTRUCTION_instance = new EventType$PROCESSING_INSTRUCTION();
  }
  function EventType(name, ordinal) {
    Enum.call(this, name, ordinal);
  }
  protoOf(EventType).hl9 = function () {
    return false;
  };
  protoOf(EventType).il9 = function (writer, textEvent) {
    throw UnsupportedOperationException_init_$Create$('This is not generally supported, only by text types');
  };
  function EventType_START_DOCUMENT_getInstance() {
    EventType_initEntries();
    return EventType_START_DOCUMENT_instance;
  }
  function EventType_START_ELEMENT_getInstance() {
    EventType_initEntries();
    return EventType_START_ELEMENT_instance;
  }
  function EventType_END_ELEMENT_getInstance() {
    EventType_initEntries();
    return EventType_END_ELEMENT_instance;
  }
  function EventType_COMMENT_getInstance() {
    EventType_initEntries();
    return EventType_COMMENT_instance;
  }
  function EventType_TEXT_getInstance() {
    EventType_initEntries();
    return EventType_TEXT_instance;
  }
  function EventType_CDSECT_getInstance() {
    EventType_initEntries();
    return EventType_CDSECT_instance;
  }
  function EventType_DOCDECL_getInstance() {
    EventType_initEntries();
    return EventType_DOCDECL_instance;
  }
  function EventType_END_DOCUMENT_getInstance() {
    EventType_initEntries();
    return EventType_END_DOCUMENT_instance;
  }
  function EventType_ENTITY_REF_getInstance() {
    EventType_initEntries();
    return EventType_ENTITY_REF_instance;
  }
  function EventType_IGNORABLE_WHITESPACE_getInstance() {
    EventType_initEntries();
    return EventType_IGNORABLE_WHITESPACE_instance;
  }
  function EventType_ATTRIBUTE_getInstance() {
    EventType_initEntries();
    return EventType_ATTRIBUTE_instance;
  }
  function EventType_PROCESSING_INSTRUCTION_getInstance() {
    EventType_initEntries();
    return EventType_PROCESSING_INSTRUCTION_instance;
  }
  function Namespace$Companion$descriptor$lambda($this$buildClassSerialDescriptor) {
    // Inline function 'kotlinx.serialization.descriptors.serialDescriptor' call
    // Inline function 'kotlinx.serialization.serializer' call
    // Inline function 'kotlinx.serialization.internal.cast' call
    var this_0 = serializer(createKType(PrimitiveClasses_getInstance().g8(), arrayOf([]), false));
    var tmp$ret$2 = (isInterface(this_0, KSerializer) ? this_0 : THROW_CCE()).q44();
    $this$buildClassSerialDescriptor.b45('prefix', tmp$ret$2);
    // Inline function 'kotlinx.serialization.descriptors.serialDescriptor' call
    // Inline function 'kotlinx.serialization.serializer' call
    // Inline function 'kotlinx.serialization.internal.cast' call
    var this_1 = serializer(createKType(PrimitiveClasses_getInstance().g8(), arrayOf([]), false));
    var tmp$ret$5 = (isInterface(this_1, KSerializer) ? this_1 : THROW_CCE()).q44();
    $this$buildClassSerialDescriptor.b45('namespaceURI', tmp$ret$5);
    return Unit_instance;
  }
  function Companion_0() {
    Companion_instance_1 = this;
    var tmp = this;
    var tmp_0 = ensureNotNull(getKClass(Namespace).f7());
    tmp.kla_1 = buildClassSerialDescriptor(tmp_0, [], Namespace$Companion$descriptor$lambda);
  }
  protoOf(Companion_0).q44 = function () {
    return this.kla_1;
  };
  protoOf(Companion_0).s44 = function (decoder) {
    var prefix = {_v: null};
    var namespaceUri = {_v: null};
    // Inline function 'kotlinx.serialization.encoding.decodeStructure' call
    var descriptor = this.kla_1;
    var composite = decoder.i48(descriptor);
    var index = composite.y48(Companion_getInstance_0().kla_1);
    $l$loop: while (true) {
      var tmp = index;
      if (!!(tmp === -1)) {
        break $l$loop;
      }
      var tmp0_subject = index;
      if (tmp0_subject === 0) {
        prefix._v = composite.s48(Companion_getInstance_0().kla_1, index);
      } else if (tmp0_subject === 1) {
        namespaceUri._v = composite.s48(Companion_getInstance_0().kla_1, index);
      }
      index = composite.y48(Companion_getInstance_0().kla_1);
    }
    var result = Unit_instance;
    composite.j48(descriptor);
    var tmp_0;
    if (prefix._v == null) {
      throwUninitializedPropertyAccessException('prefix');
    } else {
      tmp_0 = prefix._v;
    }
    var tmp_1 = tmp_0;
    var tmp_2;
    if (namespaceUri._v == null) {
      throwUninitializedPropertyAccessException('namespaceUri');
    } else {
      tmp_2 = namespaceUri._v;
    }
    return new NamespaceImpl(tmp_1, tmp_2);
  };
  protoOf(Companion_0).lla = function (encoder, value) {
    // Inline function 'kotlinx.serialization.encoding.encodeStructure' call
    var descriptor = this.kla_1;
    var composite = encoder.i48(descriptor);
    // Inline function 'nl.adaptivity.xmlutil.Companion.serialize.<anonymous>' call
    composite.w49(Companion_getInstance_0().kla_1, 0, value.ul6());
    composite.w49(Companion_getInstance_0().kla_1, 1, value.sl6());
    composite.j48(descriptor);
  };
  protoOf(Companion_0).r44 = function (encoder, value) {
    return this.lla(encoder, (!(value == null) ? isInterface(value, Namespace) : false) ? value : THROW_CCE());
  };
  var Companion_instance_1;
  function Companion_getInstance_0() {
    if (Companion_instance_1 == null)
      new Companion_0();
    return Companion_instance_1;
  }
  function Namespace() {
  }
  function IterableNamespaceContext() {
  }
  function QNameSerializer$descriptor$lambda($this$buildClassSerialDescriptor) {
    var stringSerializer = serializer_0(StringCompanionObject_instance);
    $this$buildClassSerialDescriptor.b45('namespace', stringSerializer.q44(), VOID, true);
    $this$buildClassSerialDescriptor.b45('localPart', stringSerializer.q44());
    $this$buildClassSerialDescriptor.b45('prefix', stringSerializer.q44(), VOID, true);
    return Unit_instance;
  }
  function QNameSerializer() {
    QNameSerializer_instance = this;
    var tmp = this;
    tmp.mla_1 = buildClassSerialDescriptor('javax.xml.namespace.QName', [], QNameSerializer$descriptor$lambda);
  }
  protoOf(QNameSerializer).q44 = function () {
    return this.mla_1;
  };
  protoOf(QNameSerializer).s44 = function (decoder) {
    // Inline function 'kotlinx.serialization.encoding.decodeStructure' call
    var descriptor = this.mla_1;
    var composite = decoder.i48(descriptor);
    // Inline function 'nl.adaptivity.xmlutil.QNameSerializer.deserialize.<anonymous>' call
    var prefix = '';
    var namespace = '';
    var localPart = null;
    loop: while (true) {
      var tmp0_subject = composite.y48(QNameSerializer_getInstance().mla_1);
      if (tmp0_subject === -1)
        break loop;
      else {
        if (tmp0_subject === 0)
          namespace = composite.s48(QNameSerializer_getInstance().mla_1, 0);
        else {
          if (tmp0_subject === 1)
            localPart = composite.s48(QNameSerializer_getInstance().mla_1, 1);
          else {
            if (tmp0_subject === 2)
              prefix = composite.s48(QNameSerializer_getInstance().mla_1, 2);
          }
        }
      }
    }
    var tmp = namespace;
    var tmp_0;
    if (localPart == null) {
      throwUninitializedPropertyAccessException('localPart');
    } else {
      tmp_0 = localPart;
    }
    var result = new QName(tmp, tmp_0, prefix);
    composite.j48(descriptor);
    return result;
  };
  protoOf(QNameSerializer).nla = function (encoder, value) {
    // Inline function 'kotlinx.serialization.encoding.encodeStructure' call
    var descriptor = this.mla_1;
    var composite = encoder.i48(descriptor);
    // Inline function 'nl.adaptivity.xmlutil.QNameSerializer.serialize.<anonymous>' call
    // Inline function 'kotlin.let' call
    // Inline function 'nl.adaptivity.xmlutil.namespaceURI' call
    // Inline function 'kotlin.contracts.contract' call
    var ns = value.rla();
    var tmp;
    var tmp_0;
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(ns) > 0) {
      tmp_0 = true;
    } else {
      tmp_0 = composite.e4a(QNameSerializer_getInstance().mla_1, 0);
    }
    if (tmp_0) {
      composite.w49(QNameSerializer_getInstance().mla_1, 0, ns);
      tmp = Unit_instance;
    }
    var tmp_1 = QNameSerializer_getInstance().mla_1;
    // Inline function 'nl.adaptivity.xmlutil.localPart' call
    var tmp$ret$3 = value.sla();
    composite.w49(tmp_1, 1, tmp$ret$3);
    // Inline function 'kotlin.let' call
    // Inline function 'nl.adaptivity.xmlutil.prefix' call
    // Inline function 'kotlin.contracts.contract' call
    var prefix = value.tla();
    var tmp_2;
    var tmp_3;
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(prefix) > 0) {
      tmp_3 = true;
    } else {
      tmp_3 = composite.e4a(QNameSerializer_getInstance().mla_1, 2);
    }
    if (tmp_3) {
      composite.w49(QNameSerializer_getInstance().mla_1, 2, prefix);
      tmp_2 = Unit_instance;
    }
    composite.j48(descriptor);
  };
  protoOf(QNameSerializer).r44 = function (encoder, value) {
    return this.nla(encoder, value instanceof QName ? value : THROW_CCE());
  };
  var QNameSerializer_instance;
  function QNameSerializer_getInstance() {
    if (QNameSerializer_instance == null)
      new QNameSerializer();
    return QNameSerializer_instance;
  }
  function isEquivalent(_this__u8e3s4, other) {
    return _this__u8e3s4.sla() === other.sla() ? _this__u8e3s4.rla() === other.rla() : false;
  }
  function toNamespace(_this__u8e3s4) {
    // Inline function 'nl.adaptivity.xmlutil.prefix' call
    var tmp = _this__u8e3s4.tla();
    // Inline function 'nl.adaptivity.xmlutil.namespaceURI' call
    var tmp$ret$1 = _this__u8e3s4.rla();
    return new NamespaceImpl(tmp, tmp$ret$1);
  }
  function SimpleIterator($outer) {
    this.vla_1 = $outer;
    this.ula_1 = 0;
  }
  protoOf(SimpleIterator).f = function () {
    return this.ula_1 < this.vla_1.u();
  };
  protoOf(SimpleIterator).e = function () {
    var tmp1 = this.ula_1;
    this.ula_1 = tmp1 + 1 | 0;
    return new SimpleNamespace(this.vla_1, tmp1);
  };
  function SimpleNamespace($outer, pos) {
    this.yla_1 = $outer;
    this.xla_1 = pos;
  }
  protoOf(SimpleNamespace).ul6 = function () {
    return this.yla_1.zla(this.xla_1);
  };
  protoOf(SimpleNamespace).sl6 = function () {
    return this.yla_1.alb(this.xla_1);
  };
  protoOf(SimpleNamespace).hashCode = function () {
    return imul(getStringHashCode(this.ul6()), 31) + getStringHashCode(this.sl6()) | 0;
  };
  protoOf(SimpleNamespace).equals = function (other) {
    if (this === other)
      return true;
    if (!(!(other == null) ? isInterface(other, Namespace) : false))
      return false;
    return this.ul6() === other.ul6() ? this.sl6() === other.sl6() : false;
  };
  protoOf(SimpleNamespace).toString = function () {
    return '{' + this.ul6() + ':' + this.sl6() + '}';
  };
  function SimpleNamespaceContext_init_$Init$($this) {
    // Inline function 'kotlin.emptyArray' call
    var tmp$ret$0 = [];
    SimpleNamespaceContext.call($this, tmp$ret$0);
    return $this;
  }
  function SimpleNamespaceContext_init_$Create$() {
    return SimpleNamespaceContext_init_$Init$(objectCreate(protoOf(SimpleNamespaceContext)));
  }
  function SimpleNamespaceContext_init_$Init$_0(prefixMap, $this) {
    // Inline function 'nl.adaptivity.xmlutil.Companion.flatten' call
    Companion_getInstance_1();
    var namespaces = prefixMap.q2();
    var tmp = asSequence_0(namespaces);
    var filler = flatMap(tmp, SimpleNamespaceContext$_init_$lambda_w7q6ud).w();
    var tmp_0 = 0;
    var tmp_1 = imul(namespaces.u(), 2);
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_2 = fillArrayVal(Array(tmp_1), null);
    while (tmp_0 < tmp_1) {
      tmp_2[tmp_0] = filler.e();
      tmp_0 = tmp_0 + 1 | 0;
    }
    SimpleNamespaceContext.call($this, tmp_2);
    return $this;
  }
  function SimpleNamespaceContext_init_$Create$_0(prefixMap) {
    return SimpleNamespaceContext_init_$Init$_0(prefixMap, objectCreate(protoOf(SimpleNamespaceContext)));
  }
  function SimpleNamespaceContext_init_$Init$_1(prefixes, namespaces, $this) {
    var tmp = 0;
    var tmp_0 = imul(prefixes.length, 2);
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_1 = fillArrayVal(Array(tmp_0), null);
    while (tmp < tmp_0) {
      var tmp_2 = tmp;
      tmp_1[tmp_2] = toString((tmp_2 % 2 | 0) === 0 ? prefixes[tmp_2 / 2 | 0] : namespaces[tmp_2 / 2 | 0]);
      tmp = tmp + 1 | 0;
    }
    SimpleNamespaceContext.call($this, tmp_1);
    return $this;
  }
  function SimpleNamespaceContext_init_$Init$_2(namespaces, $this) {
    // Inline function 'nl.adaptivity.xmlutil.Companion.flatten' call
    Companion_getInstance_1();
    var tmp = asSequence_0(namespaces);
    var filler = flatMap(tmp, SimpleNamespaceContext$_init_$lambda_w7q6ud_0).w();
    var tmp_0 = 0;
    var tmp_1 = imul(namespaces.u(), 2);
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_2 = fillArrayVal(Array(tmp_1), null);
    while (tmp_0 < tmp_1) {
      tmp_2[tmp_0] = filler.e();
      tmp_0 = tmp_0 + 1 | 0;
    }
    SimpleNamespaceContext.call($this, tmp_2);
    return $this;
  }
  function SimpleNamespaceContext_init_$Create$_1(namespaces) {
    return SimpleNamespaceContext_init_$Init$_2(namespaces, objectCreate(protoOf(SimpleNamespaceContext)));
  }
  function SimpleNamespaceContext_init_$Init$_3(namespaces, $this) {
    var tmp0_elvis_lhs = isInterface(namespaces, Collection) ? namespaces : null;
    SimpleNamespaceContext_init_$Init$_2(tmp0_elvis_lhs == null ? toList(namespaces) : tmp0_elvis_lhs, $this);
    return $this;
  }
  function SimpleNamespaceContext_init_$Create$_2(namespaces) {
    return SimpleNamespaceContext_init_$Init$_3(namespaces, objectCreate(protoOf(SimpleNamespaceContext)));
  }
  function Companion_1() {
    Companion_instance_2 = this;
    this.blb_1 = ListSerializer(Companion_getInstance_0());
    this.clb_1 = SerialDescriptor('nl.adaptivity.xmlutil.SimpleNamespaceContext', this.blb_1.q44());
  }
  protoOf(Companion_1).q44 = function () {
    return this.clb_1;
  };
  protoOf(Companion_1).dlb = function (originalNSContext) {
    var tmp;
    if (originalNSContext instanceof SimpleNamespaceContext) {
      tmp = originalNSContext;
    } else {
      tmp = SimpleNamespaceContext_init_$Create$_2(originalNSContext);
    }
    return tmp;
  };
  protoOf(Companion_1).s44 = function (decoder) {
    return SimpleNamespaceContext_init_$Create$_1(this.blb_1.s44(decoder));
  };
  protoOf(Companion_1).elb = function (encoder, value) {
    this.blb_1.r44(encoder, toList(value));
  };
  protoOf(Companion_1).r44 = function (encoder, value) {
    return this.elb(encoder, value instanceof SimpleNamespaceContext ? value : THROW_CCE());
  };
  var Companion_instance_2;
  function Companion_getInstance_1() {
    if (Companion_instance_2 == null)
      new Companion_1();
    return Companion_instance_2;
  }
  function SimpleNamespaceContext$_init_$lambda_w7q6ud(it) {
    // Inline function 'nl.adaptivity.xmlutil.SimpleNamespaceContext.<init>.<anonymous>' call
    var tmp = toString(it.s2());
    // Inline function 'nl.adaptivity.xmlutil.SimpleNamespaceContext.<init>.<anonymous>' call
    var tmp$ret$1 = toString(it.t2());
    return sequenceOf([tmp, tmp$ret$1]);
  }
  function SimpleNamespaceContext$_init_$lambda_w7q6ud_0(it) {
    // Inline function 'nl.adaptivity.xmlutil.SimpleNamespaceContext.<init>.<anonymous>' call
    var tmp = it.ul6();
    // Inline function 'nl.adaptivity.xmlutil.SimpleNamespaceContext.<init>.<anonymous>' call
    var tmp$ret$1 = it.sl6();
    return sequenceOf([tmp, tmp$ret$1]);
  }
  function SimpleNamespaceContext$getPrefixSequence$lambda(this$0, $namespaceURI) {
    return function (it) {
      return this$0.alb(it) === $namespaceURI;
    };
  }
  function SimpleNamespaceContext$getPrefixSequence$lambda_0(this$0) {
    return function (it) {
      return this$0.zla(it);
    };
  }
  function SimpleNamespaceContext(buffer) {
    Companion_getInstance_1();
    this.wla_1 = buffer;
  }
  protoOf(SimpleNamespaceContext).flb = function () {
    return until(0, this.u());
  };
  protoOf(SimpleNamespaceContext).u = function () {
    return this.wla_1.length / 2 | 0;
  };
  protoOf(SimpleNamespaceContext).ol6 = function () {
    return this;
  };
  protoOf(SimpleNamespaceContext).ml6 = function (prefix) {
    var tmp;
    if (prefix === 'xml') {
      tmp = 'http://www.w3.org/XML/1998/namespace';
    } else {
      if (prefix === 'xmlns') {
        tmp = 'http://www.w3.org/2000/xmlns/';
      } else {
        // Inline function 'kotlin.collections.filter' call
        // Inline function 'kotlin.collections.filterTo' call
        var this_0 = reversed(this.flb());
        var destination = ArrayList_init_$Create$();
        var tmp0_iterator = this_0.w();
        while (tmp0_iterator.f()) {
          var element = tmp0_iterator.e();
          // Inline function 'nl.adaptivity.xmlutil.SimpleNamespaceContext.getNamespaceURI.<anonymous>' call
          if (this.zla(element) === prefix) {
            destination.i1(element);
          }
        }
        var tmp1_safe_receiver = firstOrNull(destination);
        var tmp_0;
        if (tmp1_safe_receiver == null) {
          tmp_0 = null;
        } else {
          // Inline function 'kotlin.let' call
          // Inline function 'kotlin.contracts.contract' call
          // Inline function 'nl.adaptivity.xmlutil.SimpleNamespaceContext.getNamespaceURI.<anonymous>' call
          tmp_0 = this.alb(tmp1_safe_receiver);
        }
        tmp = tmp_0;
      }
    }
    return tmp;
  };
  protoOf(SimpleNamespaceContext).nl6 = function (namespaceURI) {
    return firstOrNull_0(this.glb(namespaceURI));
  };
  protoOf(SimpleNamespaceContext).glb = function (namespaceURI) {
    var tmp;
    if (namespaceURI === 'http://www.w3.org/XML/1998/namespace') {
      tmp = sequenceOf(['xml']);
    } else {
      if (namespaceURI === '') {
        tmp = sequenceOf(['']);
      } else {
        if (namespaceURI === 'http://www.w3.org/2000/xmlns/') {
          tmp = sequenceOf(['xmlns']);
        } else {
          var tmp_0 = asSequence_0(reversed(this.flb()));
          var tmp_1 = filter(tmp_0, SimpleNamespaceContext$getPrefixSequence$lambda(this, namespaceURI));
          tmp = map(tmp_1, SimpleNamespaceContext$getPrefixSequence$lambda_0(this));
        }
      }
    }
    return tmp;
  };
  protoOf(SimpleNamespaceContext).pl6 = function (namespaceURI) {
    return this.glb(namespaceURI).w();
  };
  protoOf(SimpleNamespaceContext).zla = function (index) {
    try {
      return this.wla_1[imul(index, 2)];
    } catch ($p) {
      if ($p instanceof IndexOutOfBoundsException) {
        var e = $p;
        throw IndexOutOfBoundsException_init_$Create$_0('Index out of range: ' + index);
      } else {
        throw $p;
      }
    }
  };
  protoOf(SimpleNamespaceContext).alb = function (index) {
    try {
      return this.wla_1[imul(index, 2) + 1 | 0];
    } catch ($p) {
      if ($p instanceof IndexOutOfBoundsException) {
        var e = $p;
        throw IndexOutOfBoundsException_init_$Create$_0('Index out of range: ' + index);
      } else {
        throw $p;
      }
    }
  };
  protoOf(SimpleNamespaceContext).w = function () {
    return new SimpleIterator(this);
  };
  protoOf(SimpleNamespaceContext).ql6 = function (secondary) {
    var tmp;
    var tmp_0;
    if (secondary instanceof SimpleNamespaceContext) {
      tmp_0 = secondary.u() === 0;
    } else {
      tmp_0 = false;
    }
    if (tmp_0) {
      tmp = this;
    } else {
      var tmp_1;
      if (secondary instanceof SimpleNamespaceContext) {
        tmp_1 = this.u() === 0;
      } else {
        tmp_1 = false;
      }
      if (tmp_1) {
        tmp = secondary;
      } else {
        tmp = plus_0.call(this, secondary);
      }
    }
    return tmp;
  };
  protoOf(SimpleNamespaceContext).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof SimpleNamespaceContext))
      return false;
    if (!contentEquals(this.wla_1, other.wla_1))
      return false;
    return true;
  };
  protoOf(SimpleNamespaceContext).hashCode = function () {
    return contentHashCode(this.wla_1);
  };
  function XMLConstants() {
    this.hlb_1 = '';
    this.ilb_1 = '';
    this.jlb_1 = 'http://www.w3.org/2000/xmlns/';
    this.klb_1 = 'xmlns';
    this.llb_1 = 'xml';
    this.mlb_1 = 'http://www.w3.org/XML/1998/namespace';
    this.nlb_1 = 'xsi';
    this.olb_1 = 'http://www.w3.org/2001/XMLSchema-instance';
    this.plb_1 = 'xsd';
    this.qlb_1 = 'http://www.w3.org/2001/XMLSchema';
  }
  var XMLConstants_instance;
  function XMLConstants_getInstance() {
    return XMLConstants_instance;
  }
  function XmlBufferedReader(delegate) {
    XmlBufferedReaderBase.call(this, delegate);
    this.ulb_1 = ArrayDeque_init_$Create$();
  }
  protoOf(XmlBufferedReader).vlb = function () {
    // Inline function 'kotlin.collections.isNotEmpty' call
    return !this.ulb_1.c1();
  };
  protoOf(XmlBufferedReader).wlb = function () {
    return this.ulb_1.hf();
  };
  protoOf(XmlBufferedReader).xlb = function () {
    return this.ulb_1.kf();
  };
  protoOf(XmlBufferedReader).ylb = function () {
    var tmp0_elvis_lhs = this.blc_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Push back fails due to missing current element');
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var c = tmp;
    switch (c.bl7().za_1) {
      case 1:
        this.dlc();
        break;
      case 2:
        this.elc();
        break;
      default:
        break;
    }
    this.ulb_1.if(c);
  };
  protoOf(XmlBufferedReader).flc = function (events) {
    this.ulb_1.m1(events);
  };
  protoOf(XmlBufferedReader).n = function () {
    protoOf(XmlBufferedReaderBase).n.call(this);
    this.ulb_1.n1();
  };
  function _get_currentElement__mbt3qg($this) {
    var tmp = $this.blc_1;
    var tmp0_elvis_lhs = tmp instanceof StartElementEvent ? tmp : null;
    var tmp_0;
    if (tmp0_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Expected a start element, but did not find it.');
    } else {
      tmp_0 = tmp0_elvis_lhs;
    }
    return tmp_0;
  }
  function removeFirstToCurrent($this) {
    var event = $this.xlb();
    $this.blc_1 = event;
    switch (event.bl7().za_1) {
      case 1:
        $this.alc_1.elc();
        var start = event instanceof StartElementEvent ? event : THROW_CCE();
        var tmp1_iterator = start.el7().w();
        while (tmp1_iterator.f()) {
          var ns = tmp1_iterator.e();
          $this.alc_1.bld(ns);
        }

        break;
      case 2:
        $this.alc_1.dlc();
        break;
      default:
        break;
    }
    return event;
  }
  function XmlBufferedReaderBase(delegate) {
    this.zlb_1 = delegate;
    this.alc_1 = new NamespaceHolder();
    if (this.zlb_1.vl6()) {
      var tmp0_iterator = this.zlb_1.dl7().w();
      while (tmp0_iterator.f()) {
        var ns = tmp0_iterator.e();
        this.alc_1.bld(ns);
      }
    }
    this.blc_1 = this.zlb_1.vl6() ? Companion_instance_3.cld(this.zlb_1) : null;
  }
  protoOf(XmlBufferedReaderBase).sl6 = function () {
    var tmp0_safe_receiver = this.blc_1;
    var tmp1_subject = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.bl7();
    var tmp;
    switch (tmp1_subject == null ? -1 : tmp1_subject.za_1) {
      case 10:
        var tmp_0 = this.blc_1;
        tmp = (tmp_0 instanceof Attribute ? tmp_0 : THROW_CCE()).hld_1;
        break;
      case 1:
        var tmp_1 = this.blc_1;
        tmp = (tmp_1 instanceof StartElementEvent ? tmp_1 : THROW_CCE()).jld_1;
        break;
      case 2:
        var tmp_2 = this.blc_1;
        tmp = (tmp_2 instanceof EndElementEvent ? tmp_2 : THROW_CCE()).jld_1;
        break;
      default:
        var tmp2_safe_receiver = this.blc_1;
        throw XmlException_init_$Create$_0('Attribute not defined here: namespaceUri (current event: ' + (tmp2_safe_receiver == null ? null : tmp2_safe_receiver.bl7()) + ')');
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).tl6 = function () {
    var tmp0_safe_receiver = this.blc_1;
    var tmp1_subject = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.bl7();
    var tmp;
    switch (tmp1_subject == null ? -1 : tmp1_subject.za_1) {
      case 8:
        var tmp_0 = this.blc_1;
        tmp = (tmp_0 instanceof EntityRefEvent ? tmp_0 : THROW_CCE()).pld_1;
        break;
      case 10:
        var tmp_1 = this.blc_1;
        tmp = (tmp_1 instanceof Attribute ? tmp_1 : THROW_CCE()).gld_1;
        break;
      case 1:
        var tmp_2 = this.blc_1;
        tmp = (tmp_2 instanceof StartElementEvent ? tmp_2 : THROW_CCE()).kld_1;
        break;
      case 2:
        var tmp_3 = this.blc_1;
        tmp = (tmp_3 instanceof EndElementEvent ? tmp_3 : THROW_CCE()).kld_1;
        break;
      default:
        throw XmlException_init_$Create$_0('Attribute not defined here: localName');
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).ul6 = function () {
    var tmp0_safe_receiver = this.blc_1;
    var tmp1_subject = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.bl7();
    var tmp;
    switch (tmp1_subject == null ? -1 : tmp1_subject.za_1) {
      case 10:
        var tmp_0 = this.blc_1;
        tmp = (tmp_0 instanceof Attribute ? tmp_0 : THROW_CCE()).fld_1;
        break;
      case 1:
        var tmp_1 = this.blc_1;
        tmp = (tmp_1 instanceof StartElementEvent ? tmp_1 : THROW_CCE()).lld_1;
        break;
      case 2:
        var tmp_2 = this.blc_1;
        tmp = (tmp_2 instanceof EndElementEvent ? tmp_2 : THROW_CCE()).lld_1;
        break;
      default:
        throw XmlException_init_$Create$_0('Attribute not defined here: prefix');
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).wl6 = function () {
    return this.alc_1.slc_1;
  };
  protoOf(XmlBufferedReaderBase).elc = function () {
    this.alc_1.elc();
  };
  protoOf(XmlBufferedReaderBase).dlc = function () {
    this.alc_1.dlc();
  };
  protoOf(XmlBufferedReaderBase).xl6 = function () {
    var tmp = this.blc_1;
    return (tmp instanceof ProcessingInstructionEvent ? tmp : THROW_CCE()).ila_1;
  };
  protoOf(XmlBufferedReaderBase).yl6 = function () {
    var tmp = this.blc_1;
    return (tmp instanceof ProcessingInstructionEvent ? tmp : THROW_CCE()).jla_1;
  };
  protoOf(XmlBufferedReaderBase).zl6 = function () {
    var tmp;
    if (ensureNotNull(this.blc_1).bl7() === EventType_ATTRIBUTE_getInstance()) {
      var tmp_0 = this.blc_1;
      tmp = (tmp_0 instanceof Attribute ? tmp_0 : THROW_CCE()).eld_1;
    } else {
      var tmp_1 = this.blc_1;
      tmp = (tmp_1 instanceof TextEvent ? tmp_1 : THROW_CCE()).cl8_1;
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).al7 = function () {
    return _get_currentElement__mbt3qg(this).ylc_1.length;
  };
  protoOf(XmlBufferedReaderBase).vl6 = function () {
    return !(this.blc_1 == null);
  };
  protoOf(XmlBufferedReaderBase).bl7 = function () {
    var tmp0_safe_receiver = this.blc_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.bl7();
    var tmp;
    if (tmp1_elvis_lhs == null) {
      var tmp_0;
      if (this.f()) {
        throw XmlException_init_$Create$_0('Attempting to get the event type before getting an event.');
      } else {
        throw XmlException_init_$Create$_0('Attempting to read beyond the end of the stream');
      }
    } else {
      tmp = tmp1_elvis_lhs;
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).cl7 = function () {
    var tmp0_safe_receiver = this.blc_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.clc_1;
    return tmp1_elvis_lhs == null ? this.zlb_1.cl7() : tmp1_elvis_lhs;
  };
  protoOf(XmlBufferedReaderBase).dl7 = function () {
    var c = this.blc_1;
    var tmp;
    if (c instanceof StartElementEvent) {
      tmp = c.dl7();
    } else {
      if (c instanceof EndElementEvent) {
        tmp = c.uld_1;
      } else {
        tmp = this.alc_1.tlc_1;
      }
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).el7 = function () {
    var c = this.blc_1;
    var tmp;
    if (c instanceof StartElementEvent) {
      tmp = toList(c.el7());
    } else {
      tmp = this.alc_1.vld();
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).fl7 = function () {
    var tmp = this.blc_1;
    return (tmp instanceof StartDocumentEvent ? tmp : THROW_CCE()).xld_1;
  };
  protoOf(XmlBufferedReaderBase).gl7 = function () {
    var tmp = this.blc_1;
    return (tmp instanceof StartDocumentEvent ? tmp : THROW_CCE()).zld_1;
  };
  protoOf(XmlBufferedReaderBase).p3c = function () {
    var tmp = this.blc_1;
    return (tmp instanceof StartDocumentEvent ? tmp : THROW_CCE()).yld_1;
  };
  protoOf(XmlBufferedReaderBase).glc = function () {
    if (this.vlb()) {
      return removeFirstToCurrent(this);
    }
    if (!this.f()) {
      throw NoSuchElementException_init_$Create$();
    }
    this.hlc();
    return removeFirstToCurrent(this);
  };
  protoOf(XmlBufferedReaderBase).hlc = function () {
    if (!this.vlb()) {
      this.flc(this.ilc());
    }
    return this.wlb();
  };
  protoOf(XmlBufferedReaderBase).ilc = function () {
    if (this.zlb_1.f()) {
      this.zlb_1.e();
      var event = Companion_instance_3.cld(this.zlb_1);
      var result = ArrayList_init_$Create$_0(1);
      result.i1(event);
      return result;
    }
    return emptyList();
  };
  protoOf(XmlBufferedReaderBase).f = function () {
    if (this.vlb()) {
      return true;
    }
    return !(this.hlc() == null);
  };
  protoOf(XmlBufferedReaderBase).n = function () {
    this.zlb_1.n();
  };
  protoOf(XmlBufferedReaderBase).jlc = function () {
    return this.klc().bl7();
  };
  protoOf(XmlBufferedReaderBase).klc = function () {
    var current = this.glc();
    var tmp;
    switch (current.bl7().za_1) {
      case 4:
        var tmp_0;
        if (isXmlWhitespace((current instanceof TextEvent ? current : THROW_CCE()).cl8_1)) {
          tmp_0 = this.klc();
        } else {
          throw XmlException_init_$Create$_0('Unexpected element found when looking for tags: ' + current);
        }

        tmp = tmp_0;
        break;
      case 0:
      case 3:
      case 9:
      case 11:
        tmp = this.klc();
        break;
      case 1:
      case 2:
        tmp = current;
        break;
      default:
        throw XmlException_init_$Create$_0('Unexpected element found when looking for tags: ' + current);
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).e = function () {
    return this.glc().bl7();
  };
  protoOf(XmlBufferedReaderBase).hl7 = function (index) {
    return _get_currentElement__mbt3qg(this).ylc_1[index].hld_1;
  };
  protoOf(XmlBufferedReaderBase).il7 = function (index) {
    return _get_currentElement__mbt3qg(this).ylc_1[index].fld_1;
  };
  protoOf(XmlBufferedReaderBase).jl7 = function (index) {
    return _get_currentElement__mbt3qg(this).ylc_1[index].gld_1;
  };
  protoOf(XmlBufferedReaderBase).kl7 = function (index) {
    return _get_currentElement__mbt3qg(this).ylc_1[index].eld_1;
  };
  protoOf(XmlBufferedReaderBase).m7d = function (nsUri, localName) {
    var tmp$ret$1;
    $l$block: {
      // Inline function 'kotlin.collections.firstOrNull' call
      var indexedObject = _get_currentElement__mbt3qg(this).ylc_1;
      var inductionVariable = 0;
      var last = indexedObject.length;
      while (inductionVariable < last) {
        var element = indexedObject[inductionVariable];
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'nl.adaptivity.xmlutil.XmlBufferedReaderBase.getAttributeValue.<anonymous>' call
        if ((nsUri == null ? true : nsUri === element.hld_1) ? localName === element.gld_1 : false) {
          tmp$ret$1 = element;
          break $l$block;
        }
      }
      tmp$ret$1 = null;
    }
    var tmp0_safe_receiver = tmp$ret$1;
    return tmp0_safe_receiver == null ? null : tmp0_safe_receiver.eld_1;
  };
  protoOf(XmlBufferedReaderBase).ml6 = function (prefix) {
    return _get_currentElement__mbt3qg(this).ml6(prefix);
  };
  function XmlDelegatingReader(delegate) {
    this.ale_1 = delegate;
  }
  protoOf(XmlDelegatingReader).fx = function () {
    return this.ale_1;
  };
  protoOf(XmlDelegatingReader).al7 = function () {
    return this.ale_1.al7();
  };
  protoOf(XmlDelegatingReader).wl6 = function () {
    return this.ale_1.wl6();
  };
  protoOf(XmlDelegatingReader).fl7 = function () {
    return this.ale_1.fl7();
  };
  protoOf(XmlDelegatingReader).bl7 = function () {
    return this.ale_1.bl7();
  };
  protoOf(XmlDelegatingReader).vl6 = function () {
    return this.ale_1.vl6();
  };
  protoOf(XmlDelegatingReader).tl6 = function () {
    return this.ale_1.tl6();
  };
  protoOf(XmlDelegatingReader).cl7 = function () {
    return this.ale_1.cl7();
  };
  protoOf(XmlDelegatingReader).dc = function () {
    return this.ale_1.dc();
  };
  protoOf(XmlDelegatingReader).dl7 = function () {
    return this.ale_1.dl7();
  };
  protoOf(XmlDelegatingReader).el7 = function () {
    return this.ale_1.el7();
  };
  protoOf(XmlDelegatingReader).sl6 = function () {
    return this.ale_1.sl6();
  };
  protoOf(XmlDelegatingReader).yl6 = function () {
    return this.ale_1.yl6();
  };
  protoOf(XmlDelegatingReader).xl6 = function () {
    return this.ale_1.xl6();
  };
  protoOf(XmlDelegatingReader).ul6 = function () {
    return this.ale_1.ul6();
  };
  protoOf(XmlDelegatingReader).gl7 = function () {
    return this.ale_1.gl7();
  };
  protoOf(XmlDelegatingReader).zl6 = function () {
    return this.ale_1.zl6();
  };
  protoOf(XmlDelegatingReader).p3c = function () {
    return this.ale_1.p3c();
  };
  protoOf(XmlDelegatingReader).n = function () {
    this.ale_1.n();
  };
  protoOf(XmlDelegatingReader).jl7 = function (index) {
    return this.ale_1.jl7(index);
  };
  protoOf(XmlDelegatingReader).hl7 = function (index) {
    return this.ale_1.hl7(index);
  };
  protoOf(XmlDelegatingReader).il7 = function (index) {
    return this.ale_1.il7(index);
  };
  protoOf(XmlDelegatingReader).kl7 = function (index) {
    return this.ale_1.kl7(index);
  };
  protoOf(XmlDelegatingReader).m7d = function (nsUri, localName) {
    return this.ale_1.m7d(nsUri, localName);
  };
  protoOf(XmlDelegatingReader).f = function () {
    return this.ale_1.f();
  };
  protoOf(XmlDelegatingReader).e = function () {
    return this.ale_1.e();
  };
  protoOf(XmlDelegatingReader).ll7 = function (type, namespace, name) {
    this.ale_1.ll7(type, namespace, name);
  };
  function XmlEvent$StartElementEvent$toString$lambda(it) {
    return it.gld_1 + ' = ' + it.eld_1 + ' ';
  }
  function Companion_2() {
  }
  protoOf(Companion_2).cld = function (reader) {
    return reader.bl7().dl9(reader);
  };
  var Companion_instance_3;
  function Companion_getInstance_2() {
    return Companion_instance_3;
  }
  function TextEvent(locationInfo, eventType, text) {
    XmlEvent.call(this, locationInfo);
    this.bl8_1 = eventType;
    this.cl8_1 = text;
  }
  protoOf(TextEvent).bl7 = function () {
    return this.bl8_1;
  };
  protoOf(TextEvent).dl8 = function (writer) {
    return this.bl7().il9(writer, this);
  };
  protoOf(TextEvent).toString = function () {
    var tmp = this.bl7();
    var tmp0_elvis_lhs = this.clc_1;
    return '' + tmp + ' - "' + this.cl8_1 + '" (' + (tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs) + ')';
  };
  function ProcessingInstructionEvent(locationInfo, target, data) {
    TextEvent.call(this, locationInfo, EventType_PROCESSING_INSTRUCTION_getInstance(), target + ' ' + data);
    this.ila_1 = target;
    this.jla_1 = data;
  }
  function EntityRefEvent(locationInfo, localName, text) {
    TextEvent.call(this, locationInfo, EventType_ENTITY_REF_getInstance(), text);
    this.pld_1 = localName;
  }
  protoOf(EntityRefEvent).dl8 = function (writer) {
    return this.bl7().il9(writer, this);
  };
  protoOf(EntityRefEvent).toString = function () {
    var tmp = this.bl7();
    var tmp0_elvis_lhs = this.clc_1;
    return '' + tmp + ' - "' + this.cl8_1 + '" (' + (tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs) + ')';
  };
  function EndDocumentEvent(locationInfo) {
    XmlEvent.call(this, locationInfo);
  }
  protoOf(EndDocumentEvent).bl7 = function () {
    return EventType_END_DOCUMENT_getInstance();
  };
  protoOf(EndDocumentEvent).toString = function () {
    var tmp = this.bl7();
    var tmp0_elvis_lhs = this.clc_1;
    return '' + tmp + ' (' + (tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs) + ')';
  };
  function EndElementEvent(locationInfo, namespaceUri, localName, prefix, namespaceContext) {
    NamedEvent.call(this, locationInfo, namespaceUri, localName, prefix);
    this.uld_1 = namespaceContext.ol6();
  }
  protoOf(EndElementEvent).bl7 = function () {
    return EventType_END_ELEMENT_getInstance();
  };
  function StartDocumentEvent(locationInfo, encoding, version, standalone) {
    XmlEvent.call(this, locationInfo);
    this.xld_1 = encoding;
    this.yld_1 = version;
    this.zld_1 = standalone;
  }
  protoOf(StartDocumentEvent).bl7 = function () {
    return EventType_START_DOCUMENT_getInstance();
  };
  protoOf(StartDocumentEvent).toString = function () {
    var tmp = this.bl7();
    var tmp0_elvis_lhs = this.clc_1;
    return '' + tmp + ' - encoding:' + this.xld_1 + ', version: ' + this.yld_1 + ', standalone: ' + this.zld_1 + ' (' + (tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs) + ')';
  };
  function NamedEvent(locationInfo, namespaceUri, localName, prefix) {
    XmlEvent.call(this, locationInfo);
    this.jld_1 = namespaceUri;
    this.kld_1 = localName;
    this.lld_1 = prefix;
  }
  protoOf(NamedEvent).toString = function () {
    var tmp = this.bl7();
    var tmp0_elvis_lhs = this.clc_1;
    return '' + tmp + ' - {' + this.jld_1 + '}' + this.lld_1 + ':' + this.kld_1 + ' (' + (tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs) + ')';
  };
  function StartElementEvent(locationInfo, namespaceUri, localName, prefix, attributes, parentNamespaceContext, namespaceDecls) {
    NamedEvent.call(this, locationInfo, namespaceUri, localName, prefix);
    this.ylc_1 = attributes;
    this.zlc_1 = parentNamespaceContext;
    var tmp = this;
    // Inline function 'kotlin.collections.asIterable' call
    tmp.ald_1 = SimpleNamespaceContext_init_$Create$_2(namespaceDecls);
  }
  protoOf(StartElementEvent).el7 = function () {
    return this.ald_1;
  };
  protoOf(StartElementEvent).bl7 = function () {
    return EventType_START_ELEMENT_getInstance();
  };
  protoOf(StartElementEvent).ml6 = function (prefix) {
    var decl = this.ald_1.ml6(prefix);
    return decl == null ? this.zlc_1.ml6(prefix) : decl;
  };
  protoOf(StartElementEvent).dl7 = function () {
    return this.ald_1.ql6(this.zlc_1);
  };
  protoOf(StartElementEvent).toString = function () {
    var tmp = this.bl7();
    var tmp0_elvis_lhs = this.clc_1;
    var tmp_0 = '' + tmp + ' - {' + this.jld_1 + '}' + this.lld_1 + ':' + this.kld_1 + ' (' + (tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs) + ')';
    var tmp_1;
    // Inline function 'kotlin.collections.isNotEmpty' call
    // Inline function 'kotlin.collections.isEmpty' call
    if (!(this.ylc_1.length === 0)) {
      tmp_1 = '\n    ';
    } else {
      tmp_1 = '';
    }
    var tmp_2 = tmp_1;
    return tmp_0 + joinToString(this.ylc_1, '\n    ', tmp_2, VOID, VOID, VOID, XmlEvent$StartElementEvent$toString$lambda);
  };
  function Attribute(locationInfo, namespaceUri, localName, prefix, value) {
    XmlEvent.call(this, locationInfo);
    this.eld_1 = toString(value);
    this.fld_1 = toString(prefix);
    this.gld_1 = toString(localName);
    this.hld_1 = toString(namespaceUri);
  }
  protoOf(Attribute).bl7 = function () {
    return EventType_ATTRIBUTE_getInstance();
  };
  protoOf(Attribute).toString = function () {
    return isBlank(this.hld_1) ? this.gld_1 + '="' + this.eld_1 + '"' : isBlank(this.fld_1) ? '{' + this.hld_1 + '}' + this.gld_1 + '="' + this.eld_1 + '"' : '{' + this.hld_1 + '}' + this.fld_1 + ':' + this.gld_1 + '="' + this.eld_1 + '"';
  };
  protoOf(Attribute).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof Attribute))
      THROW_CCE();
    if (!(this.eld_1 === other.eld_1))
      return false;
    if (!(this.fld_1 === other.fld_1))
      return false;
    if (!(this.gld_1 === other.gld_1))
      return false;
    if (!(this.hld_1 === other.hld_1))
      return false;
    return true;
  };
  protoOf(Attribute).hashCode = function () {
    var result = getStringHashCode(this.eld_1);
    result = imul(31, result) + getStringHashCode(this.fld_1) | 0;
    result = imul(31, result) + getStringHashCode(this.gld_1) | 0;
    result = imul(31, result) + getStringHashCode(this.hld_1) | 0;
    return result;
  };
  function NamespaceImpl(namespacePrefix, namespaceUri) {
    this.cle_1 = toString(namespacePrefix);
    this.dle_1 = toString(namespaceUri);
  }
  protoOf(NamespaceImpl).ul6 = function () {
    return this.cle_1;
  };
  protoOf(NamespaceImpl).sl6 = function () {
    return this.dle_1;
  };
  protoOf(NamespaceImpl).equals = function (other) {
    if (this === other)
      return true;
    if (!(!(other == null) ? isInterface(other, Namespace) : false))
      return false;
    if (!(this.cle_1 === other.ul6()))
      return false;
    if (!(this.dle_1 === other.sl6()))
      return false;
    return true;
  };
  protoOf(NamespaceImpl).hashCode = function () {
    return imul(31, getStringHashCode(this.cle_1)) + getStringHashCode(this.dle_1) | 0;
  };
  protoOf(NamespaceImpl).toString = function () {
    return '{' + this.cle_1 + ':' + this.dle_1 + '}';
  };
  function XmlEvent(locationInfo) {
    this.clc_1 = locationInfo;
  }
  function XmlException_init_$Init$($this) {
    IOException_init_$Init$($this);
    XmlException.call($this);
    return $this;
  }
  function XmlException_init_$Create$() {
    var tmp = XmlException_init_$Init$(objectCreate(protoOf(XmlException)));
    captureStack(tmp, XmlException_init_$Create$);
    return tmp;
  }
  function XmlException_init_$Init$_0(message, $this) {
    IOException_init_$Init$_0(message, $this);
    XmlException.call($this);
    return $this;
  }
  function XmlException_init_$Create$_0(message) {
    var tmp = XmlException_init_$Init$_0(message, objectCreate(protoOf(XmlException)));
    captureStack(tmp, XmlException_init_$Create$_0);
    return tmp;
  }
  function XmlException_init_$Init$_1(message, cause, $this) {
    IOException_init_$Init$_1(message, cause, $this);
    XmlException.call($this);
    return $this;
  }
  function XmlException_init_$Create$_1(message, cause) {
    var tmp = XmlException_init_$Init$_1(message, cause, objectCreate(protoOf(XmlException)));
    captureStack(tmp, XmlException_init_$Create$_1);
    return tmp;
  }
  function XmlException() {
    captureStack(this, XmlException);
  }
  function XmlReader() {
  }
  function skipPreamble(_this__u8e3s4) {
    while ((!_this__u8e3s4.vl6() ? true : isIgnorable(_this__u8e3s4)) ? _this__u8e3s4.f() : false) {
      _this__u8e3s4.e();
    }
  }
  function readSimpleElement(_this__u8e3s4) {
    var t = _this__u8e3s4;
    t.ll7(EventType_START_ELEMENT_getInstance(), null, null);
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.readSimpleElement.<anonymous>' call
    while (!(t.e() === EventType_END_ELEMENT_getInstance())) {
      switch (t.bl7().za_1) {
        case 3:
        case 11:
          break;
        case 9:
        case 4:
        case 8:
        case 5:
          this_0.y5(t.zl6());
          break;
        default:
          throw XmlException_init_$Create$_0('Expected text content or end tag, found: ' + t.bl7());
      }
    }
    return this_0.toString();
  }
  function allConsecutiveTextContent(_this__u8e3s4) {
    var t = _this__u8e3s4;
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.allConsecutiveTextContent.<anonymous>' call
    if (_this__u8e3s4.bl7().hl9() ? true : _this__u8e3s4.bl7().equals(EventType_IGNORABLE_WHITESPACE_getInstance())) {
      this_0.y5(_this__u8e3s4.zl6());
    }
    var event = null;
    loop: while (true) {
      // Inline function 'kotlin.apply' call
      var this_1 = t.hlc();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.allConsecutiveTextContent.<anonymous>.<anonymous>' call
      event = this_1;
      if (!!((this_1 == null ? null : this_1.bl7()) === EventType_END_ELEMENT_getInstance())) {
        break loop;
      }
      var tmp1_safe_receiver = event;
      var tmp2_subject = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.bl7();
      switch (tmp2_subject == null ? -1 : tmp2_subject.za_1) {
        case 11:
        case 3:
          t.e();
          break;
        case 9:
        case 4:
        case 8:
        case 5:
          t.e();
          this_0.y5(t.zl6());
          break;
        case 1:
          break loop;
        default:
          throw XmlException_init_$Create$_0('Found unexpected child tag: ' + event);
      }
    }
    return this_0.toString();
  }
  function allText(_this__u8e3s4) {
    var t = _this__u8e3s4;
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.allText.<anonymous>' call
    if (_this__u8e3s4.bl7().hl9()) {
      this_0.y5(_this__u8e3s4.zl6());
    }
    var type;
    $l$loop: while (true) {
      // Inline function 'kotlin.apply' call
      var this_1 = t.e();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.allText.<anonymous>.<anonymous>' call
      type = this_1;
      if (!!(this_1 === EventType_END_ELEMENT_getInstance())) {
        break $l$loop;
      }
      switch (type == null ? -1 : type.za_1) {
        case 11:
        case 3:
          break;
        case 9:
          if (!(this_0.a() === 0)) {
            this_0.y5(t.zl6());
          }

          break;
        case 8:
        case 4:
        case 5:
          this_0.y5(t.zl6());
          break;
        default:
          throw XmlException_init_$Create$_0('Found unexpected child tag with type: ' + type);
      }
    }
    return this_0.toString();
  }
  function isIgnorable(_this__u8e3s4) {
    switch (_this__u8e3s4.bl7().za_1) {
      case 3:
      case 0:
      case 7:
      case 11:
      case 6:
      case 9:
        return true;
      case 4:
        return isXmlWhitespace(_this__u8e3s4.zl6());
      default:
        return false;
    }
  }
  function get_attributes(_this__u8e3s4) {
    var tmp = 0;
    var tmp_0 = _this__u8e3s4.al7();
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_1 = fillArrayVal(Array(tmp_0), null);
    while (tmp < tmp_0) {
      var tmp_2 = tmp;
      tmp_1[tmp_2] = new Attribute(_this__u8e3s4.cl7(), _this__u8e3s4.hl7(tmp_2), _this__u8e3s4.jl7(tmp_2), _this__u8e3s4.il7(tmp_2), _this__u8e3s4.kl7(tmp_2));
      tmp = tmp + 1 | 0;
    }
    return tmp_1;
  }
  function writeCurrent(_this__u8e3s4, writer) {
    return _this__u8e3s4.bl7().el9(writer, _this__u8e3s4);
  }
  function get_attributeIndices(_this__u8e3s4) {
    return until(0, _this__u8e3s4.al7());
  }
  function isPrefixDeclaredInElement(_this__u8e3s4, prefix) {
    var tmp$ret$0;
    $l$block_0: {
      // Inline function 'kotlin.collections.any' call
      var this_0 = _this__u8e3s4.el7();
      var tmp;
      if (isInterface(this_0, Collection)) {
        tmp = this_0.c1();
      } else {
        tmp = false;
      }
      if (tmp) {
        tmp$ret$0 = false;
        break $l$block_0;
      }
      var tmp0_iterator = this_0.w();
      while (tmp0_iterator.f()) {
        var element = tmp0_iterator.e();
        // Inline function 'nl.adaptivity.xmlutil.isPrefixDeclaredInElement.<anonymous>' call
        if (element.ul6() === prefix) {
          tmp$ret$0 = true;
          break $l$block_0;
        }
      }
      tmp$ret$0 = false;
    }
    return tmp$ret$0;
  }
  function elementContentToFragment(_this__u8e3s4) {
    var r = _this__u8e3s4;
    skipPreamble(r);
    if (r.f()) {
      r.ll7(EventType_START_ELEMENT_getInstance(), null, null);
      r.e();
      return siblingsToFragment(r);
    }
    return CompactFragment_init_$Create$('');
  }
  function elementToFragment(_this__u8e3s4) {
    var output = StringBuilder_init_$Create$();
    if (!_this__u8e3s4.vl6()) {
      if (_this__u8e3s4.f()) {
        _this__u8e3s4.e();
      } else {
        return CompactFragment_init_$Create$('');
      }
    }
    var startLocation = _this__u8e3s4.cl7();
    try {
      // Inline function 'kotlin.collections.mutableMapOf' call
      var missingNamespaces = LinkedHashMap_init_$Create$();
      if (_this__u8e3s4.bl7().hl9() ? true : _this__u8e3s4.bl7().equals(EventType_IGNORABLE_WHITESPACE_getInstance()))
        return CompactFragment_init_$Create$(_this__u8e3s4.zl6());
      _this__u8e3s4.ll7(EventType_START_ELEMENT_getInstance(), null, null);
      $l$block: {
        // Inline function 'nl.adaptivity.xmlutil.core.impl.multiplatform.use' call
        var this_0 = new KtXmlWriter(output, false, XmlDeclMode_None_getInstance());
        try {
          this_0.yl8('');
          while (_this__u8e3s4.bl7().equals(EventType_IGNORABLE_WHITESPACE_getInstance())) {
            this_0.zl7(_this__u8e3s4.zl6());
            _this__u8e3s4.e();
          }
          if (_this__u8e3s4.bl7().equals(EventType_END_ELEMENT_getInstance()) ? true : _this__u8e3s4.bl7().equals(EventType_END_DOCUMENT_getInstance())) {
            return CompactFragment_init_$Create$(output.toString());
          }
          _this__u8e3s4.ll7(EventType_START_ELEMENT_getInstance(), null, null);
          var namespaceForPrefix = this_0.wl8(_this__u8e3s4.ul6());
          writeCurrent(_this__u8e3s4, this_0);
          if (!(namespaceForPrefix === _this__u8e3s4.sl6())) {
            addUndeclaredNamespaces(this_0, _this__u8e3s4, missingNamespaces);
          }
          writeElementContent(this_0, missingNamespaces, _this__u8e3s4);
          break $l$block;
        }finally {
          this_0.n();
        }
      }
      if (missingNamespaces.q('') === '') {
        missingNamespaces.u2('');
      }
      return CompactFragment_init_$Create$_0(SimpleNamespaceContext_init_$Create$_0(missingNamespaces), output.toString());
    } catch ($p) {
      if ($p instanceof XmlException) {
        var e = $p;
        throw XmlException_init_$Create$_1('Failure to parse children into string at ' + startLocation, e);
      } else {
        if ($p instanceof RuntimeException) {
          var e_0 = $p;
          throw XmlException_init_$Create$_1('Failure to parse children into string at ' + startLocation, e_0);
        } else {
          throw $p;
        }
      }
    }
  }
  var XmlDeclMode_None_instance;
  var XmlDeclMode_Minimal_instance;
  var XmlDeclMode_Auto_instance;
  var XmlDeclMode_Charset_instance;
  function Companion_3() {
  }
  var Companion_instance_4;
  function Companion_getInstance_3() {
    return Companion_instance_4;
  }
  var XmlDeclMode_entriesInitialized;
  function XmlDeclMode_initEntries() {
    if (XmlDeclMode_entriesInitialized)
      return Unit_instance;
    XmlDeclMode_entriesInitialized = true;
    XmlDeclMode_None_instance = new XmlDeclMode('None', 0);
    XmlDeclMode_Minimal_instance = new XmlDeclMode('Minimal', 1);
    XmlDeclMode_Auto_instance = new XmlDeclMode('Auto', 2);
    XmlDeclMode_Charset_instance = new XmlDeclMode('Charset', 3);
  }
  function XmlDeclMode(name, ordinal) {
    Enum.call(this, name, ordinal);
  }
  function XmlDeclMode_None_getInstance() {
    XmlDeclMode_initEntries();
    return XmlDeclMode_None_instance;
  }
  function XmlDeclMode_Minimal_getInstance() {
    XmlDeclMode_initEntries();
    return XmlDeclMode_Minimal_instance;
  }
  function toCName(_this__u8e3s4) {
    if ('' === _this__u8e3s4.tla())
      return _this__u8e3s4.sla();
    return _this__u8e3s4.tla() + ':' + _this__u8e3s4.sla();
  }
  function toQname(_this__u8e3s4, namespace) {
    var split = indexOf(_this__u8e3s4, _Char___init__impl__6a9atx(125));
    var localname;
    var nsUri;
    if (split >= 0) {
      if (!(charSequenceGet(_this__u8e3s4, 0) === _Char___init__impl__6a9atx(123)))
        throw IllegalArgumentException_init_$Create$('Not a valid qname literal');
      // Inline function 'kotlin.text.substring' call
      nsUri = toString(charSequenceSubSequence(_this__u8e3s4, 1, split));
      // Inline function 'kotlin.text.substring' call
      var startIndex = split + 1 | 0;
      var endIndex = charSequenceLength(_this__u8e3s4);
      localname = toString(charSequenceSubSequence(_this__u8e3s4, startIndex, endIndex));
    } else {
      nsUri = namespace.sl6();
      localname = toString(_this__u8e3s4);
    }
    return QName_init_$Create$(nsUri, localname);
  }
  function xmlCollapseWhitespace(original) {
    // Inline function 'kotlin.text.buildString' call
    var capacity = original.length;
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$_0(capacity);
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.xmlCollapseWhitespace.<anonymous>' call
    var last = _Char___init__impl__6a9atx(32);
    var inductionVariable = 0;
    var last_0 = original.length;
    while (inductionVariable < last_0) {
      var c = charSequenceGet(original, inductionVariable);
      inductionVariable = inductionVariable + 1 | 0;
      var tmp;
      if (((c === _Char___init__impl__6a9atx(9) ? true : c === _Char___init__impl__6a9atx(10)) ? true : c === _Char___init__impl__6a9atx(13)) ? true : c === _Char___init__impl__6a9atx(32)) {
        if (!(last === _Char___init__impl__6a9atx(32))) {
          this_0.z5(_Char___init__impl__6a9atx(32));
        }
        tmp = _Char___init__impl__6a9atx(32);
      } else {
        this_0.z5(c);
        tmp = c;
      }
      last = tmp;
    }
    if (last === _Char___init__impl__6a9atx(32)) {
      this_0.a9(this_0.a() - 1 | 0);
    }
    return this_0.toString();
  }
  function isXmlWhitespace(data) {
    var tmp$ret$1;
    $l$block: {
      // Inline function 'kotlin.text.all' call
      var inductionVariable = 0;
      while (inductionVariable < charSequenceLength(data)) {
        var element = charSequenceGet(data, inductionVariable);
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'nl.adaptivity.xmlutil.isXmlWhitespace.<anonymous>' call
        if (!isXmlWhitespace_0(element)) {
          tmp$ret$1 = false;
          break $l$block;
        }
      }
      tmp$ret$1 = true;
    }
    return tmp$ret$1;
  }
  function qname(namespaceUri, localname, prefix) {
    var tmp;
    if (prefix === VOID) {
      tmp = '';
    } else {
      tmp = prefix;
    }
    prefix = tmp;
    var tmp_0;
    if (namespaceUri == null) {
      tmp_0 = '';
    } else {
      tmp_0 = namespaceUri;
    }
    var tmp_1 = tmp_0;
    var tmp_2;
    if (prefix == null) {
      tmp_2 = '';
    } else {
      tmp_2 = prefix;
    }
    return new QName(tmp_1, localname, tmp_2);
  }
  function isXmlWhitespace_0(char) {
    return ((char === _Char___init__impl__6a9atx(10) ? true : char === _Char___init__impl__6a9atx(9)) ? true : char === _Char___init__impl__6a9atx(13)) ? true : char === _Char___init__impl__6a9atx(32);
  }
  function xmlEncode(_this__u8e3s4) {
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.xmlEncode.<anonymous>' call
    var inductionVariable = 0;
    while (inductionVariable < charSequenceLength(_this__u8e3s4)) {
      var c = charSequenceGet(_this__u8e3s4, inductionVariable);
      inductionVariable = inductionVariable + 1 | 0;
      if (c === _Char___init__impl__6a9atx(60)) {
        this_0.y5('&lt;');
      } else if (c === _Char___init__impl__6a9atx(62)) {
        this_0.y5('&gt;');
      } else if (c === _Char___init__impl__6a9atx(38)) {
        this_0.y5('&amp;');
      } else {
        this_0.z5(c);
      }
    }
    return this_0.toString();
  }
  function XmlWriter() {
  }
  function smartStartTag(_this__u8e3s4, qName) {
    smartStartTag_0(_this__u8e3s4, qName.rla(), qName.sla(), qName.tla());
  }
  function endTag(_this__u8e3s4, predelemname) {
    _this__u8e3s4.vl8(predelemname.rla(), predelemname.sla(), predelemname.tla());
  }
  function writeAttribute(_this__u8e3s4, name, value) {
    if (value == null)
      null;
    else {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      var tmp;
      var tmp_0;
      // Inline function 'kotlin.text.isEmpty' call
      // Inline function 'nl.adaptivity.xmlutil.namespaceURI' call
      var this_0 = name.rla();
      if (charSequenceLength(this_0) === 0) {
        // Inline function 'kotlin.text.isEmpty' call
        // Inline function 'nl.adaptivity.xmlutil.prefix' call
        var this_1 = name.tla();
        tmp_0 = charSequenceLength(this_1) === 0;
      } else {
        tmp_0 = false;
      }
      if (tmp_0) {
        // Inline function 'nl.adaptivity.xmlutil.localPart' call
        var tmp$ret$4 = name.sla();
        _this__u8e3s4.rl8(null, tmp$ret$4, null, value);
        tmp = Unit_instance;
      } else {
        // Inline function 'nl.adaptivity.xmlutil.namespaceURI' call
        var tmp_1 = name.rla();
        // Inline function 'nl.adaptivity.xmlutil.localPart' call
        var tmp_2 = name.sla();
        // Inline function 'nl.adaptivity.xmlutil.prefix' call
        var tmp$ret$7 = name.tla();
        _this__u8e3s4.rl8(tmp_1, tmp_2, tmp$ret$7, value);
        tmp = Unit_instance;
      }
    }
  }
  function writeElement(_this__u8e3s4, missingNamespaces, reader) {
    if (reader.bl7().equals(EventType_END_ELEMENT_getInstance()))
      throw IllegalArgumentException_init_$Create$('Cannot really validly write an end element here');
    writeCurrent(reader, _this__u8e3s4);
    if (reader.bl7().equals(EventType_START_ELEMENT_getInstance())) {
      writeElementContent(_this__u8e3s4, missingNamespaces, reader);
    }
  }
  function serialize(_this__u8e3s4, reader) {
    while (reader.f()) {
      switch (reader.e().za_1) {
        case 0:
        case 11:
        case 6:
        case 7:
          if (_this__u8e3s4.wl6() <= 0) {
            writeCurrentEvent(_this__u8e3s4, reader);
          }

          break;
        case 9:
          // Inline function 'kotlin.text.isEmpty' call

          var this_0 = _this__u8e3s4.zl8();
          if (charSequenceLength(this_0) === 0) {
            writeCurrentEvent(_this__u8e3s4, reader);
          }

          break;
        default:
          writeCurrentEvent(_this__u8e3s4, reader);
          break;
      }
    }
  }
  function addUndeclaredNamespaces(_this__u8e3s4, reader, missingNamespaces) {
    undeclaredPrefixes(_this__u8e3s4, reader, missingNamespaces);
  }
  function writeElementContent(_this__u8e3s4, missingNamespaces, reader) {
    // Inline function 'kotlin.collections.forEach' call
    // Inline function 'kotlin.collections.iterator' call
    var tmp0_iterator = reader;
    while (tmp0_iterator.f()) {
      var element = tmp0_iterator.e();
      // Inline function 'nl.adaptivity.xmlutil.writeElementContent.<anonymous>' call
      if (reader.bl7().equals(EventType_START_ELEMENT_getInstance()) ? !(missingNamespaces == null) : false) {
        addUndeclaredNamespaces(_this__u8e3s4, reader, missingNamespaces);
      }
      writeCurrent(reader, _this__u8e3s4);
      switch (element.za_1) {
        case 1:
          writeElementContent(_this__u8e3s4, missingNamespaces, reader);
          break;
        case 2:
          return Unit_instance;
        default:
          break;
      }
    }
  }
  function smartStartTag_0(_this__u8e3s4, nsUri, localName, prefix) {
    prefix = prefix === VOID ? null : prefix;
    var tmp;
    var tmp_0;
    if (nsUri == null) {
      tmp_0 = true;
    } else {
      tmp_0 = nsUri === 'http://www.w3.org/XML/1998/namespace';
    }
    if (tmp_0) {
      tmp = true;
    } else {
      tmp = nsUri === 'http://www.w3.org/2000/xmlns/';
    }
    if (tmp) {
      var tmp_1 = _this__u8e3s4.dl7();
      var tmp_2;
      if (prefix == null) {
        tmp_2 = '';
      } else {
        tmp_2 = prefix;
      }
      var tmp1_elvis_lhs = tmp_1.ml6(tmp_2);
      var tmp_3;
      if (tmp1_elvis_lhs == null) {
        tmp_3 = '';
      } else {
        tmp_3 = tmp1_elvis_lhs;
      }
      var namespace = tmp_3;
      _this__u8e3s4.nl8(namespace, localName, prefix);
    } else {
      var writeNs = false;
      var tmp2_elvis_lhs = _this__u8e3s4.xl8(nsUri);
      var tmp_4;
      if (tmp2_elvis_lhs == null) {
        // Inline function 'kotlin.run' call
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'nl.adaptivity.xmlutil.smartStartTag.<anonymous>' call
        var tmp_5;
        if (prefix == null) {
          tmp_5 = null;
        } else {
          // Inline function 'kotlin.let' call
          // Inline function 'kotlin.contracts.contract' call
          // Inline function 'nl.adaptivity.xmlutil.smartStartTag.<anonymous>.<anonymous>' call
          tmp_5 = _this__u8e3s4.wl8(prefix);
        }
        var tmp1_elvis_lhs_0 = tmp_5;
        var tmp_6;
        if (tmp1_elvis_lhs_0 == null) {
          tmp_6 = '';
        } else {
          tmp_6 = tmp1_elvis_lhs_0;
        }
        var currentNs = tmp_6;
        if (!(nsUri === currentNs)) {
          writeNs = true;
        }
        var tmp_7;
        if (prefix == null) {
          tmp_7 = '';
        } else {
          tmp_7 = prefix;
        }
        tmp_4 = tmp_7;
      } else {
        tmp_4 = tmp2_elvis_lhs;
      }
      var usedPrefix = tmp_4;
      _this__u8e3s4.nl8(nsUri, localName, usedPrefix);
      if (writeNs) {
        _this__u8e3s4.ml8(usedPrefix, nsUri);
      }
    }
  }
  function writeCurrentEvent(_this__u8e3s4, reader) {
    switch (reader.bl7().za_1) {
      case 0:
        _this__u8e3s4.sl8(null, reader.fl7(), reader.gl7());
        break;
      case 1:
        _this__u8e3s4.nl8(reader.sl6(), reader.tl6(), reader.ul6());
        // Inline function 'kotlin.run' call

        // Inline function 'kotlin.contracts.contract' call

        var tmp0_iterator = reader.el7().w();
        while (tmp0_iterator.f()) {
          var a = tmp0_iterator.e();
          _this__u8e3s4.ml8(a.ul6(), a.sl6());
        }

        // Inline function 'kotlin.run' call

        // Inline function 'kotlin.contracts.contract' call

        var progression = get_attributeIndices(reader);
        var inductionVariable = progression.ib_1;
        var last = progression.jb_1;
        var tmp;
        if (inductionVariable <= last) {
          do {
            var i = inductionVariable;
            inductionVariable = inductionVariable + 1 | 0;
            var attrPrefix = reader.il7(i);
            var namespace = attrPrefix === '' ? '' : reader.hl7(i);
            var tmp_0;
            if (namespace === '') {
              tmp_0 = '';
            } else if (namespace === _this__u8e3s4.dl7().ml6(attrPrefix)) {
              tmp_0 = attrPrefix;
            } else {
              var tmp2_elvis_lhs = _this__u8e3s4.dl7().nl6(namespace);
              tmp_0 = tmp2_elvis_lhs == null ? attrPrefix : tmp2_elvis_lhs;
            }
            var prefix = tmp_0;
            _this__u8e3s4.rl8(namespace, reader.jl7(i), prefix, reader.kl7(i));
          }
           while (!(i === last));
          tmp = Unit_instance;
        }

        break;
      case 2:
        _this__u8e3s4.vl8(reader.sl6(), reader.tl6(), reader.ul6());
        break;
      case 3:
        _this__u8e3s4.hl8(reader.zl6());
        break;
      case 4:
        _this__u8e3s4.ol8(reader.zl6());
        break;
      case 10:
        _this__u8e3s4.rl8(reader.sl6(), reader.tl6(), reader.ul6(), reader.zl6());
        break;
      case 5:
        _this__u8e3s4.pl8(reader.zl6());
        break;
      case 6:
        _this__u8e3s4.kl8(reader.zl6());
        break;
      case 7:
        _this__u8e3s4.ul8();
        break;
      case 8:
        _this__u8e3s4.ql8(reader.zl6());
        break;
      case 9:
        _this__u8e3s4.zl7(reader.zl6());
        break;
      case 11:
        _this__u8e3s4.jl8(reader.xl6(), reader.yl6());
        break;
    }
  }
  function undeclaredPrefixes(_this__u8e3s4, reader, missingNamespaces) {
    assert_0(reader.bl7() === EventType_START_ELEMENT_getInstance());
    var prefix = reader.ul6();
    if (!missingNamespaces.r(prefix)) {
      var uri = reader.sl6();
      if (_this__u8e3s4.wl8(prefix) === uri ? isPrefixDeclaredInElement(reader, prefix) : false) {
        return Unit_instance;
      } else {
        // Inline function 'kotlin.collections.set' call
        missingNamespaces.s(prefix, uri);
      }
    }
  }
  var EscapeMode_MINIMAL_instance;
  var EscapeMode_ATTRCONTENTQUOT_instance;
  var EscapeMode_ATTRCONTENTAPOS_instance;
  var EscapeMode_TEXTCONTENT_instance;
  var EscapeMode_DTD_instance;
  var EscapeMode_entriesInitialized;
  function EscapeMode_initEntries() {
    if (EscapeMode_entriesInitialized)
      return Unit_instance;
    EscapeMode_entriesInitialized = true;
    EscapeMode_MINIMAL_instance = new EscapeMode('MINIMAL', 0);
    EscapeMode_ATTRCONTENTQUOT_instance = new EscapeMode('ATTRCONTENTQUOT', 1);
    EscapeMode_ATTRCONTENTAPOS_instance = new EscapeMode('ATTRCONTENTAPOS', 2);
    EscapeMode_TEXTCONTENT_instance = new EscapeMode('TEXTCONTENT', 3);
    EscapeMode_DTD_instance = new EscapeMode('DTD', 4);
  }
  var WriteState_BeforeDocument_instance;
  var WriteState_AfterXmlDecl_instance;
  var WriteState_AfterDocTypeDecl_instance;
  var WriteState_InTagContent_instance;
  var WriteState_Finished_instance;
  var WriteState_entriesInitialized;
  function WriteState_initEntries() {
    if (WriteState_entriesInitialized)
      return Unit_instance;
    WriteState_entriesInitialized = true;
    WriteState_BeforeDocument_instance = new WriteState('BeforeDocument', 0);
    WriteState_AfterXmlDecl_instance = new WriteState('AfterXmlDecl', 1);
    WriteState_AfterDocTypeDecl_instance = new WriteState('AfterDocTypeDecl', 2);
    WriteState_InTagContent_instance = new WriteState('InTagContent', 3);
    WriteState_Finished_instance = new WriteState('Finished', 4);
  }
  function namespaceAt($this, depth) {
    return ensureNotNull($this.lle_1[imul(depth, 3)]);
  }
  function setElementStack($this, depth, namespace, prefix, localName) {
    var esp = imul(depth, 3);
    if ($this.lle_1.length < (esp + 3 | 0)) {
      // Inline function 'kotlin.arrayOfNulls' call
      var size = $this.lle_1.length + 12 | 0;
      var hlp = fillArrayVal(Array(size), null);
      // Inline function 'kotlin.collections.copyInto' call
      var this_0 = $this.lle_1;
      var endIndex = esp;
      arrayCopy(this_0, hlp, 0, 0, endIndex);
      $this.lle_1 = hlp;
    }
    var tmp = $this.lle_1;
    var tmp0 = esp;
    esp = tmp0 + 1 | 0;
    tmp[tmp0] = namespace;
    var tmp_0 = $this.lle_1;
    var tmp1 = esp;
    esp = tmp1 + 1 | 0;
    tmp_0[tmp1] = prefix;
    $this.lle_1[esp] = localName;
  }
  function prefixAt($this, depth) {
    return ensureNotNull($this.lle_1[imul(depth, 3) + 1 | 0]);
  }
  function localNameAt($this, depth) {
    return ensureNotNull($this.lle_1[imul(depth, 3) + 2 | 0]);
  }
  function finishPartialStartTag($this, close) {
    if (!$this.kle_1) {
      return Unit_instance;
    }
    $this.kle_1 = false;
    var endOfTag = !close ? '>' : $this.jle_1 ? ' />' : '/>';
    $this.fle_1.r8(endOfTag);
  }
  function EscapeMode(name, ordinal) {
    Enum.call(this, name, ordinal);
  }
  function appendXmlCodepoint(_this__u8e3s4, $this, codepoint, mode) {
    var c = codepoint;
    var tmp;
    var tmp_0;
    var tmp_1;
    if ((codepoint === _UInt___init__impl__l7qpdl(9) ? true : codepoint === _UInt___init__impl__l7qpdl(10)) ? true : codepoint === _UInt___init__impl__l7qpdl(13)) {
      tmp_1 = true;
    } else {
      // Inline function 'kotlin.UInt.rangeTo' call
      var this_0 = _UInt___init__impl__l7qpdl(32);
      var other = _UInt___init__impl__l7qpdl(55295);
      var progression = new UIntRange(this_0, other);
      var containsLower = progression.jo_1;
      tmp_1 = UInt__compareTo_impl_yacclj(codepoint, progression.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(codepoint, containsLower) : false;
    }
    if (tmp_1) {
      tmp_0 = true;
    } else {
      // Inline function 'kotlin.UInt.rangeTo' call
      var this_1 = _UInt___init__impl__l7qpdl(57344);
      var other_0 = _UInt___init__impl__l7qpdl(65533);
      var progression_0 = new UIntRange(this_1, other_0);
      var containsLower_0 = progression_0.jo_1;
      tmp_0 = UInt__compareTo_impl_yacclj(codepoint, progression_0.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(codepoint, containsLower_0) : false;
    }
    if (tmp_0) {
      // Inline function 'kotlin.UInt.toUShort' call
      // Inline function 'kotlin.toUShort' call
      var this_2 = _UInt___get_data__impl__f0vqqw(codepoint);
      var tmp$ret$3 = _UShort___init__impl__jigrne(toShort(this_2));
      tmp = _Char___init__impl__6a9atx_0(tmp$ret$3);
    } else {
      tmp = _Char___init__impl__6a9atx_0(_UShort___init__impl__jigrne(0));
    }
    var ch = tmp;
    if (c === _UInt___init__impl__l7qpdl(0))
      throw IllegalArgumentException_init_$Create$('XML documents may not contain null strings directly or indirectly');
    else {
      if (ch === _Char___init__impl__6a9atx(38)) {
        _this__u8e3s4.r8('&amp;');
      } else {
        if (ch === _Char___init__impl__6a9atx(60) ? !mode.equals(EscapeMode_MINIMAL_getInstance()) : false) {
          _this__u8e3s4.r8('&lt;');
        } else {
          if (ch === _Char___init__impl__6a9atx(62) ? mode.equals(EscapeMode_TEXTCONTENT_getInstance()) : false) {
            _this__u8e3s4.r8('&gt;');
          } else {
            if (ch === _Char___init__impl__6a9atx(34) ? mode.equals(EscapeMode_ATTRCONTENTQUOT_getInstance()) : false) {
              _this__u8e3s4.r8('&quot;');
            } else {
              if (ch === _Char___init__impl__6a9atx(39) ? mode.equals(EscapeMode_ATTRCONTENTAPOS_getInstance()) : false) {
                _this__u8e3s4.r8('&apos;');
              } else {
                var tmp_2;
                var tmp_3;
                var tmp_4;
                // Inline function 'kotlin.UInt.rangeTo' call
                var this_3 = _UInt___init__impl__l7qpdl(1);
                var other_1 = _UInt___init__impl__l7qpdl(8);
                var progression_1 = new UIntRange(this_3, other_1);
                var containsLower_1 = progression_1.jo_1;
                if (UInt__compareTo_impl_yacclj(c, progression_1.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(c, containsLower_1) : false) {
                  tmp_4 = true;
                } else {
                  tmp_4 = c === _UInt___init__impl__l7qpdl(11);
                }
                if (tmp_4) {
                  tmp_3 = true;
                } else {
                  tmp_3 = c === _UInt___init__impl__l7qpdl(12);
                }
                if (tmp_3) {
                  tmp_2 = true;
                } else {
                  // Inline function 'kotlin.UInt.rangeTo' call
                  var this_4 = _UInt___init__impl__l7qpdl(14);
                  var other_2 = _UInt___init__impl__l7qpdl(31);
                  var progression_2 = new UIntRange(this_4, other_2);
                  var containsLower_2 = progression_2.jo_1;
                  tmp_2 = UInt__compareTo_impl_yacclj(c, progression_2.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(c, containsLower_2) : false;
                }
                if (tmp_2) {
                  var tmp0 = $this.ile_1.za_1;
                  if (tmp0 === 0) {
                    appendXmlCodepoint$throwInvalid($this, c);
                  } else if (tmp0 === 1) {
                    appendXmlCodepoint$appendNumCharRef(_this__u8e3s4, c);
                  }
                } else {
                  var tmp_5;
                  // Inline function 'kotlin.UInt.rangeTo' call
                  var this_5 = _UInt___init__impl__l7qpdl(127);
                  var other_3 = _UInt___init__impl__l7qpdl(132);
                  var progression_3 = new UIntRange(this_5, other_3);
                  var containsLower_3 = progression_3.jo_1;
                  if (UInt__compareTo_impl_yacclj(c, progression_3.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(c, containsLower_3) : false) {
                    tmp_5 = true;
                  } else {
                    // Inline function 'kotlin.UInt.rangeTo' call
                    var this_6 = _UInt___init__impl__l7qpdl(134);
                    var other_4 = _UInt___init__impl__l7qpdl(159);
                    var progression_4 = new UIntRange(this_6, other_4);
                    var containsLower_4 = progression_4.jo_1;
                    tmp_5 = UInt__compareTo_impl_yacclj(c, progression_4.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(c, containsLower_4) : false;
                  }
                  if (tmp_5) {
                    var tmp0_0 = $this.ile_1.za_1;
                    if (tmp0_0 === 0) {
                      _this__u8e3s4.z5(ch);
                    } else if (tmp0_0 === 1) {
                      appendXmlCodepoint$appendNumCharRef(_this__u8e3s4, c);
                    }
                  } else {
                    var tmp_6;
                    var tmp_7;
                    // Inline function 'kotlin.UInt.rangeTo' call
                    var this_7 = _UInt___init__impl__l7qpdl(55296);
                    var other_5 = _UInt___init__impl__l7qpdl(57343);
                    var progression_5 = new UIntRange(this_7, other_5);
                    var containsLower_5 = progression_5.jo_1;
                    if (UInt__compareTo_impl_yacclj(c, progression_5.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(c, containsLower_5) : false) {
                      tmp_7 = true;
                    } else {
                      tmp_7 = c === _UInt___init__impl__l7qpdl(65534);
                    }
                    if (tmp_7) {
                      tmp_6 = true;
                    } else {
                      tmp_6 = c === _UInt___init__impl__l7qpdl(65535);
                    }
                    if (tmp_6) {
                      appendXmlCodepoint$throwInvalid($this, c);
                    } else {
                      // Inline function 'kotlin.UInt.compareTo' call
                      var other_6 = _UInt___init__impl__l7qpdl(65535);
                      if (uintCompare(_UInt___get_data__impl__f0vqqw(c), _UInt___get_data__impl__f0vqqw(other_6)) > 0) {
                        // Inline function 'kotlin.UInt.minus' call
                        var other_7 = _UInt___init__impl__l7qpdl(65536);
                        var down = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(c) - _UInt___get_data__impl__f0vqqw(other_7) | 0);
                        // Inline function 'kotlin.UInt.plus' call
                        // Inline function 'kotlin.UInt.shr' call
                        var this_8 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(down) >>> 10 | 0);
                        var other_8 = _UInt___init__impl__l7qpdl(55296);
                        var highSurogate = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_8) + _UInt___get_data__impl__f0vqqw(other_8) | 0);
                        // Inline function 'kotlin.UInt.plus' call
                        // Inline function 'kotlin.UInt.and' call
                        var other_9 = _UInt___init__impl__l7qpdl(1023);
                        var this_9 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(down) & _UInt___get_data__impl__f0vqqw(other_9));
                        var other_10 = _UInt___init__impl__l7qpdl(56320);
                        var lowSurogate = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_9) + _UInt___get_data__impl__f0vqqw(other_10) | 0);
                        // Inline function 'kotlin.UInt.toUShort' call
                        // Inline function 'kotlin.toUShort' call
                        var this_10 = _UInt___get_data__impl__f0vqqw(highSurogate);
                        var tmp$ret$16 = _UShort___init__impl__jigrne(toShort(this_10));
                        _this__u8e3s4.z5(_Char___init__impl__6a9atx_0(tmp$ret$16));
                        // Inline function 'kotlin.UInt.toUShort' call
                        // Inline function 'kotlin.toUShort' call
                        var this_11 = _UInt___get_data__impl__f0vqqw(lowSurogate);
                        var tmp$ret$18 = _UShort___init__impl__jigrne(toShort(this_11));
                        _this__u8e3s4.z5(_Char___init__impl__6a9atx_0(tmp$ret$18));
                      } else {
                        _this__u8e3s4.z5(ch);
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
  function writeEscapedText($this, s, mode) {
    var tmp0_iterator = asCodePoints(s).w();
    loop: while (tmp0_iterator.f()) {
      var c = tmp0_iterator.e().wn_1;
      appendXmlCodepoint($this.fle_1, $this, c, mode);
    }
  }
  function triggerStartDocument($this) {
    if ($this.mle_1.za_1 === 0) {
      if (!$this.hle_1.equals(XmlDeclMode_None_getInstance())) {
        $this.sl8(null, null, null);
      }
      $this.mle_1 = WriteState_AfterXmlDecl_getInstance();
    }
  }
  function writeIndent_0($this, newDepth) {
    var indentSeq = $this.ml7_1;
    var tmp;
    var tmp_0;
    if ($this.ole_1 >= 0) {
      // Inline function 'kotlin.collections.isNotEmpty' call
      tmp_0 = !indentSeq.c1();
    } else {
      tmp_0 = false;
    }
    if (tmp_0) {
      tmp = !($this.ole_1 === $this.wl6());
    } else {
      tmp = false;
    }
    if (tmp) {
      $this.zl7('\n');
      try {
        $this.ml7_1 = emptyList();
        var merged = joinRepeated(indentSeq, $this.wl6());
        // Inline function 'kotlin.collections.forEach' call
        var tmp0_iterator = merged.w();
        while (tmp0_iterator.f()) {
          var element = tmp0_iterator.e();
          // Inline function 'nl.adaptivity.xmlutil.core.KtXmlWriter.writeIndent.<anonymous>' call
          element.dl8($this);
        }
      }finally {
        $this.ml7_1 = indentSeq;
      }
    }
    $this.ole_1 = newDepth;
  }
  function writeIndent$default_0($this, newDepth, $super) {
    newDepth = newDepth === VOID ? $this.wl6() : newDepth;
    return writeIndent_0($this, newDepth);
  }
  function ensureNamespaceIfRepairing($this, namespace, prefix) {
    var tmp;
    var tmp_0;
    if ($this.gle_1 ? !(namespace == null) : false) {
      // Inline function 'kotlin.text.isNotEmpty' call
      tmp_0 = charSequenceLength(namespace) > 0;
    } else {
      tmp_0 = false;
    }
    if (tmp_0) {
      tmp = !(prefix == null);
    } else {
      tmp = false;
    }
    if (tmp) {
      if (!($this.nle_1.ple(prefix) == namespace)) {
        $this.ml8(prefix, namespace);
      }
    }
  }
  function rawWriteAttribute($this, prefix, localName, value) {
    $this.fle_1.z5(_Char___init__impl__6a9atx(32));
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(prefix) > 0) {
      $this.fle_1.r8(prefix).z5(_Char___init__impl__6a9atx(58));
    }
    $this.fle_1.r8(localName).z5(_Char___init__impl__6a9atx(61));
    var tmp1_container = indexOf(value, _Char___init__impl__6a9atx(34)) === -1 ? new Pair(new Char(_Char___init__impl__6a9atx(34)), EscapeMode_ATTRCONTENTQUOT_getInstance()) : new Pair(new Char(_Char___init__impl__6a9atx(39)), EscapeMode_ATTRCONTENTAPOS_getInstance());
    var q = tmp1_container.y6().rb_1;
    var mode = tmp1_container.z6();
    $this.fle_1.z5(q);
    writeEscapedText($this, value, mode);
    $this.fle_1.z5(q);
  }
  function Companion_4() {
    this.qle_1 = -1;
    this.rle_1 = 2147483647;
  }
  var Companion_instance_5;
  function Companion_getInstance_4() {
    return Companion_instance_5;
  }
  function WriteState(name, ordinal) {
    Enum.call(this, name, ordinal);
  }
  function appendXmlCodepoint$appendNumCharRef($this_appendXmlCodepoint, code) {
    $this_appendXmlCodepoint.r8('&#x').r8(toString_0(code, 16)).z5(_Char___init__impl__6a9atx(59));
  }
  function appendXmlCodepoint$throwInvalid(this$0, code) {
    throw IllegalArgumentException_init_$Create$('In xml ' + this$0.ile_1.ule_1 + ' the character 0x' + toString_0(code, 16) + ' is not valid');
  }
  function EscapeMode_MINIMAL_getInstance() {
    EscapeMode_initEntries();
    return EscapeMode_MINIMAL_instance;
  }
  function EscapeMode_ATTRCONTENTQUOT_getInstance() {
    EscapeMode_initEntries();
    return EscapeMode_ATTRCONTENTQUOT_instance;
  }
  function EscapeMode_ATTRCONTENTAPOS_getInstance() {
    EscapeMode_initEntries();
    return EscapeMode_ATTRCONTENTAPOS_instance;
  }
  function EscapeMode_TEXTCONTENT_getInstance() {
    EscapeMode_initEntries();
    return EscapeMode_TEXTCONTENT_instance;
  }
  function WriteState_BeforeDocument_getInstance() {
    WriteState_initEntries();
    return WriteState_BeforeDocument_instance;
  }
  function WriteState_AfterXmlDecl_getInstance() {
    WriteState_initEntries();
    return WriteState_AfterXmlDecl_instance;
  }
  function WriteState_AfterDocTypeDecl_getInstance() {
    WriteState_initEntries();
    return WriteState_AfterDocTypeDecl_instance;
  }
  function WriteState_InTagContent_getInstance() {
    WriteState_initEntries();
    return WriteState_InTagContent_instance;
  }
  function WriteState_Finished_getInstance() {
    WriteState_initEntries();
    return WriteState_Finished_instance;
  }
  function KtXmlWriter(writer, isRepairNamespaces, xmlDeclMode, xmlVersion) {
    isRepairNamespaces = isRepairNamespaces === VOID ? true : isRepairNamespaces;
    xmlDeclMode = xmlDeclMode === VOID ? XmlDeclMode_None_getInstance() : xmlDeclMode;
    xmlVersion = xmlVersion === VOID ? XmlVersion_XML11_getInstance() : xmlVersion;
    PlatformXmlWriterBase.call(this);
    this.fle_1 = writer;
    this.gle_1 = isRepairNamespaces;
    this.hle_1 = xmlDeclMode;
    this.ile_1 = xmlVersion;
    this.jle_1 = true;
    this.kle_1 = false;
    var tmp = this;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp.lle_1 = fillArrayVal(Array(12), null);
    this.mle_1 = WriteState_BeforeDocument_getInstance();
    this.nle_1 = new NamespaceHolder();
    this.ole_1 = -1;
  }
  protoOf(KtXmlWriter).dl7 = function () {
    return this.nle_1.tlc_1;
  };
  protoOf(KtXmlWriter).wl6 = function () {
    return this.nle_1.slc_1;
  };
  protoOf(KtXmlWriter).t6 = function () {
    finishPartialStartTag(this, false);
  };
  protoOf(KtXmlWriter).sl8 = function (version, encoding, standalone) {
    writeIndent_0(this, 2147483647);
    if (!this.mle_1.equals(WriteState_BeforeDocument_getInstance())) {
      throw XmlException_init_$Create$_0('Attempting to write start document after document already started');
    }
    this.mle_1 = WriteState_AfterXmlDecl_getInstance();
    var tmp;
    switch (version) {
      case null:
        tmp = this.ile_1.ule_1;
        break;
      case '1':
      case '1.0':
        this.ile_1 = XmlVersion_XML10_getInstance();
        tmp = version;
        break;
      default:
        this.ile_1 = XmlVersion_XML11_getInstance();
        tmp = version;
        break;
    }
    var verString = tmp;
    this.fle_1.r8("<?xml version='" + verString + "'");
    var effectiveEncoding = encoding == null ? 'UTF-8' : encoding;
    if (!this.hle_1.equals(XmlDeclMode_Minimal_getInstance()) ? true : !(encoding == null)) {
      this.fle_1.r8(" encoding='");
      writeEscapedText(this, effectiveEncoding, EscapeMode_ATTRCONTENTAPOS_getInstance());
      this.fle_1.z5(_Char___init__impl__6a9atx(39));
      if (!(standalone == null)) {
        this.fle_1.r8(" standalone='");
        this.fle_1.r8(standalone ? 'yes' : 'no');
        this.fle_1.z5(_Char___init__impl__6a9atx(39));
      }
    }
    if (this.jle_1) {
      this.fle_1.z5(_Char___init__impl__6a9atx(32));
    }
    this.fle_1.r8('?>');
  };
  protoOf(KtXmlWriter).kl8 = function (text) {
    writeIndent_0(this, 2147483647);
    triggerStartDocument(this);
    if (!this.mle_1.equals(WriteState_AfterXmlDecl_getInstance())) {
      throw XmlException_init_$Create$_0('Writing a DTD is only allowed once, in the prolog');
    }
    this.mle_1 = WriteState_AfterDocTypeDecl_getInstance();
    var tmp = this.fle_1.r8('<!DOCTYPE ');
    // Inline function 'kotlin.text.trimStart' call
    var tmp$ret$0 = toString(trimStart(isCharSequence(text) ? text : THROW_CCE()));
    tmp.r8(tmp$ret$0).r8('>');
  };
  protoOf(KtXmlWriter).il8 = function (text) {
    finishPartialStartTag(this, false);
    writeIndent_0(this, 2147483647);
    triggerStartDocument(this);
    this.fle_1.r8('<?');
    this.fle_1.r8(text);
    this.fle_1.r8('?>');
  };
  protoOf(KtXmlWriter).jl8 = function (target, data) {
    finishPartialStartTag(this, false);
    writeIndent_0(this, 2147483647);
    triggerStartDocument(this);
    this.fle_1.r8('<?');
    this.fle_1.r8(target);
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(data) > 0) {
      this.fle_1.z5(_Char___init__impl__6a9atx(32)).r8(data);
    }
    this.fle_1.r8('?>');
  };
  protoOf(KtXmlWriter).nl8 = function (namespace, localName, prefix) {
    finishPartialStartTag(this, false);
    writeIndent$default_0(this);
    triggerStartDocument(this);
    if (this.mle_1.equals(WriteState_Finished_getInstance())) {
      throw XmlException_init_$Create$_0('Attempting to write tag after the document finished');
    }
    this.mle_1 = WriteState_InTagContent_getInstance();
    var tmp;
    if (namespace === '') {
      tmp = '';
    } else {
      var reg = this.xl8(namespace);
      tmp = !(reg == null) ? reg : prefix == null ? this.nle_1.vle() : prefix;
    }
    var appliedPrefix = tmp;
    var tmp_0 = this.wl6();
    setElementStack(this, tmp_0, namespace == null ? '' : namespace, appliedPrefix, localName);
    this.fle_1.z5(_Char___init__impl__6a9atx(60));
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(appliedPrefix) > 0) {
      this.fle_1.r8(appliedPrefix);
      this.fle_1.z5(_Char___init__impl__6a9atx(58));
    }
    this.fle_1.r8(localName);
    this.kle_1 = true;
    this.nle_1.elc();
    ensureNamespaceIfRepairing(this, namespace, appliedPrefix);
  };
  protoOf(KtXmlWriter).vl8 = function (namespace, localName, prefix) {
    this.nle_1.dlc();
    writeIndent_0(this, 2147483647);
    var tmp;
    if (!((namespace == null ? '' : namespace) === namespaceAt(this, this.wl6()))) {
      tmp = true;
    } else {
      tmp = !(localNameAt(this, this.wl6()) === localName);
    }
    if (tmp) {
      throw IllegalArgumentException_init_$Create$('<\/{' + namespace + '}' + localName + '> does not match start');
    }
    if (this.kle_1) {
      finishPartialStartTag(this, true);
    } else {
      this.fle_1.r8('<\/');
      var actualPrefix = prefixAt(this, this.wl6());
      // Inline function 'kotlin.text.isNotEmpty' call
      if (charSequenceLength(actualPrefix) > 0) {
        this.fle_1.r8(actualPrefix);
        this.fle_1.z5(_Char___init__impl__6a9atx(58));
      }
      this.fle_1.r8(localName);
      this.fle_1.z5(_Char___init__impl__6a9atx(62));
    }
  };
  protoOf(KtXmlWriter).hl8 = function (text) {
    finishPartialStartTag(this, false);
    writeIndent_0(this, 2147483647);
    triggerStartDocument(this);
    var lastWasHyphen = false;
    this.fle_1.r8('<!--');
    var tmp0_iterator = asCodePoints(text).w();
    while (tmp0_iterator.f()) {
      var cp = tmp0_iterator.e().wn_1;
      // Inline function 'kotlin.toUInt' call
      // Inline function 'kotlin.code' call
      var this_0 = _Char___init__impl__6a9atx(45);
      var this_1 = Char__toInt_impl_vasixd(this_0);
      if (cp === _UInt___init__impl__l7qpdl(this_1)) {
        if (lastWasHyphen) {
          lastWasHyphen = false;
          this.fle_1.r8('&#x2d;');
        } else {
          lastWasHyphen = true;
          this.fle_1.z5(_Char___init__impl__6a9atx(45));
        }
      } else {
        appendXmlCodepoint(this.fle_1, this, cp, EscapeMode_MINIMAL_getInstance());
      }
    }
    this.fle_1.r8('-->');
  };
  protoOf(KtXmlWriter).ol8 = function (text) {
    finishPartialStartTag(this, false);
    writeEscapedText(this, text, EscapeMode_TEXTCONTENT_getInstance());
    this.ole_1 = -1;
  };
  protoOf(KtXmlWriter).pl8 = function (text) {
    finishPartialStartTag(this, false);
    var endPos = 0;
    this.fle_1.r8('<![CDATA[');
    var tmp0_iterator = asCodePoints(text).w();
    while (tmp0_iterator.f()) {
      var cp = tmp0_iterator.e().wn_1;
      var tmp;
      // Inline function 'kotlin.UInt.compareTo' call
      var other = _UInt___init__impl__l7qpdl(32223);
      if (uintCompare(_UInt___get_data__impl__f0vqqw(cp), _UInt___get_data__impl__f0vqqw(other)) < 0) {
        // Inline function 'kotlin.UInt.toUShort' call
        // Inline function 'kotlin.toUShort' call
        var this_0 = _UInt___get_data__impl__f0vqqw(cp);
        var tmp$ret$2 = _UShort___init__impl__jigrne(toShort(this_0));
        tmp = _Char___init__impl__6a9atx_0(tmp$ret$2);
      } else {
        tmp = _Char___init__impl__6a9atx_0(_UShort___init__impl__jigrne(0));
      }
      var ch = tmp;
      if (ch === _Char___init__impl__6a9atx(93) ? endPos === 0 ? true : endPos === 1 : false) {
        endPos = endPos + 1 | 0;
        this.fle_1.z5(ch);
      } else if (ch === _Char___init__impl__6a9atx(62) ? endPos === 2 : false) {
        this.fle_1.r8('&gt;');
      } else if (ch === _Char___init__impl__6a9atx(93) ? endPos === 2 : false) {
        this.fle_1.z5(ch);
      } else {
        endPos = 0;
        appendXmlCodepoint(this.fle_1, this, cp, EscapeMode_MINIMAL_getInstance());
      }
    }
    this.fle_1.r8(']]>');
    this.ole_1 = -1;
  };
  protoOf(KtXmlWriter).ql8 = function (text) {
    finishPartialStartTag(this, false);
    this.fle_1.z5(_Char___init__impl__6a9atx(38)).r8(text).z5(_Char___init__impl__6a9atx(59));
    this.ole_1 = -1;
  };
  protoOf(KtXmlWriter).zl7 = function (text) {
    finishPartialStartTag(this, false);
    triggerStartDocument(this);
    var inductionVariable = 0;
    var last = text.length;
    while (inductionVariable < last) {
      var c = charSequenceGet(text, inductionVariable);
      inductionVariable = inductionVariable + 1 | 0;
      if (!(((c === _Char___init__impl__6a9atx(10) ? true : c === _Char___init__impl__6a9atx(13)) ? true : c === _Char___init__impl__6a9atx(9)) ? true : c === _Char___init__impl__6a9atx(32))) {
        throw IllegalArgumentException_init_$Create$('"' + text + '" is not ignorable whitespace');
      }
    }
    this.fle_1.r8(text);
    this.ole_1 = -1;
  };
  protoOf(KtXmlWriter).rl8 = function (namespace, name, prefix, value) {
    if (namespace === 'http://www.w3.org/2000/xmlns/') {
      this.ml8(name, value);
      return Unit_instance;
    } else {
      var tmp;
      // Inline function 'kotlin.text.isNullOrEmpty' call
      // Inline function 'kotlin.contracts.contract' call
      if (namespace == null ? true : charSequenceLength(namespace) === 0) {
        tmp = 'xmlns' === name;
      } else {
        tmp = false;
      }
      if (tmp) {
        this.ml8('', value);
        return Unit_instance;
      }
    }
    var tmp_0;
    var tmp_1;
    var tmp_2;
    if (!(prefix == null)) {
      // Inline function 'kotlin.text.isNotEmpty' call
      tmp_2 = charSequenceLength(prefix) > 0;
    } else {
      tmp_2 = false;
    }
    if (tmp_2) {
      tmp_1 = !(namespace == null);
    } else {
      tmp_1 = false;
    }
    if (tmp_1) {
      // Inline function 'kotlin.text.isNotEmpty' call
      tmp_0 = charSequenceLength(namespace) > 0;
    } else {
      tmp_0 = false;
    }
    if (tmp_0) {
      this.wle(prefix, namespace);
      ensureNamespaceIfRepairing(this, namespace, prefix);
    }
    if (!this.kle_1) {
      throw IllegalStateException_init_$Create$('illegal position for attribute');
    }
    var tmp_3;
    // Inline function 'kotlin.text.isNullOrEmpty' call
    // Inline function 'kotlin.contracts.contract' call
    if (!(prefix == null ? true : charSequenceLength(prefix) === 0)) {
      var tmp_4;
      if (!(this.wl8(prefix) == namespace)) {
        tmp_4 = this.xl8(namespace);
      } else {
        tmp_4 = prefix;
      }
      tmp_3 = tmp_4;
    } else {
      tmp_3 = prefix;
    }
    var tmp0_elvis_lhs = tmp_3;
    var actualPrefix = tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
    rawWriteAttribute(this, actualPrefix, name, value);
  };
  protoOf(KtXmlWriter).ml8 = function (namespacePrefix, namespaceUri) {
    var existingNamespaceForPrefix = this.nle_1.xle(namespacePrefix);
    if (!(existingNamespaceForPrefix == null)) {
      if (this.gle_1)
        return Unit_instance;
      else if (!(existingNamespaceForPrefix === namespaceUri))
        throw IllegalStateException_init_$Create$('Attempting to set prefix to different values in the same tag');
      else
        throw IllegalStateException_init_$Create$('Namespace attribute duplicated');
    }
    this.nle_1.yle(namespacePrefix, namespaceUri);
    if (!this.kle_1) {
      throw IllegalStateException_init_$Create$('illegal position for attribute');
    }
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(namespacePrefix) > 0) {
      rawWriteAttribute(this, 'xmlns', namespacePrefix, namespaceUri);
    } else {
      rawWriteAttribute(this, '', 'xmlns', namespaceUri);
    }
  };
  protoOf(KtXmlWriter).ul8 = function () {
    assert_0(this.wl6() === 0);
    if (!this.mle_1.equals(WriteState_InTagContent_getInstance())) {
      throw XmlException_init_$Create$_0('Attempting to end document when in invalid state: ' + this.mle_1);
    }
    while (this.wl6() > 0) {
      this.vl8(namespaceAt(this, this.wl6() - 1 | 0), prefixAt(this, this.wl6() - 1 | 0), localNameAt(this, this.wl6() - 1 | 0));
    }
    this.t6();
  };
  protoOf(KtXmlWriter).wle = function (prefix, namespaceUri) {
    if (!(namespaceUri === this.wl8(prefix))) {
      this.nle_1.yle(prefix, namespaceUri);
    }
  };
  protoOf(KtXmlWriter).wl8 = function (prefix) {
    return this.nle_1.ple(prefix);
  };
  protoOf(KtXmlWriter).xl8 = function (namespaceUri) {
    var tmp;
    if (namespaceUri == null) {
      tmp = null;
    } else {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.core.KtXmlWriter.getPrefix.<anonymous>' call
      tmp = this.nle_1.zle(namespaceUri);
    }
    return tmp;
  };
  protoOf(KtXmlWriter).n = function () {
    this.nle_1.n1();
  };
  function asCodePoints(_this__u8e3s4) {
    return new asCodePoints$1(_this__u8e3s4);
  }
  function joinRepeated(_this__u8e3s4, repeats) {
    var it = _this__u8e3s4.w();
    if (!it.f())
      return emptyList();
    // Inline function 'kotlin.collections.mutableListOf' call
    var result = ArrayList_init_$Create$();
    var pending = null;
    var inductionVariable = 0;
    if (inductionVariable < repeats)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var tmp1_iterator = _this__u8e3s4.w();
        while (tmp1_iterator.f()) {
          var ev = tmp1_iterator.e();
          if (pending == null) {
            pending = ev;
          } else if (pending.bl7().equals(EventType_COMMENT_getInstance()) ? true : !pending.bl7().equals(ev.bl7())) {
            result.i1(pending);
            pending = ev;
          } else if (ev.bl7().equals(pending.bl7())) {
            pending = new TextEvent(null, pending.bl7(), pending.cl8_1 + ev.cl8_1);
          }
        }
      }
       while (inductionVariable < repeats);
    if (!(pending == null)) {
      result.i1(pending);
    }
    return result;
  }
  function asCodePoints$1$iterator$1($this_asCodePoints) {
    this.blf_1 = $this_asCodePoints;
    this.alf_1 = 0;
  }
  protoOf(asCodePoints$1$iterator$1).f = function () {
    return this.alf_1 < charSequenceLength(this.blf_1);
  };
  protoOf(asCodePoints$1$iterator$1).ao = function () {
    var tmp;
    if (isHighSurrogate(charSequenceGet(this.blf_1, this.alf_1)) === true) {
      // Inline function 'kotlin.UInt.plus' call
      // Inline function 'kotlin.UInt.plus' call
      var this_0 = _UInt___init__impl__l7qpdl(65536);
      // Inline function 'kotlin.UInt.shl' call
      // Inline function 'kotlin.UInt.minus' call
      // Inline function 'kotlin.toUInt' call
      // Inline function 'kotlin.code' call
      var this_1 = charSequenceGet(this.blf_1, this.alf_1);
      var this_2 = Char__toInt_impl_vasixd(this_1);
      var this_3 = _UInt___init__impl__l7qpdl(this_2);
      var other = _UInt___init__impl__l7qpdl(55296);
      var this_4 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_3) - _UInt___get_data__impl__f0vqqw(other) | 0);
      var other_0 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_4) << 10);
      var this_5 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_0) + _UInt___get_data__impl__f0vqqw(other_0) | 0);
      // Inline function 'kotlin.UInt.minus' call
      // Inline function 'kotlin.toUInt' call
      // Inline function 'kotlin.code' call
      var this_6 = charSequenceGet(this.blf_1, this.alf_1 + 1 | 0);
      var this_7 = Char__toInt_impl_vasixd(this_6);
      var this_8 = _UInt___init__impl__l7qpdl(this_7);
      var other_1 = _UInt___init__impl__l7qpdl(56320);
      var other_2 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_8) - _UInt___get_data__impl__f0vqqw(other_1) | 0);
      var codePoint = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_5) + _UInt___get_data__impl__f0vqqw(other_2) | 0);
      this.alf_1 = this.alf_1 + 2 | 0;
      tmp = codePoint;
    } else {
      // Inline function 'kotlin.also' call
      // Inline function 'kotlin.toUInt' call
      // Inline function 'kotlin.code' call
      var this_9 = charSequenceGet(this.blf_1, this.alf_1);
      var this_10 = Char__toInt_impl_vasixd(this_9);
      var tmp$ret$10 = _UInt___init__impl__l7qpdl(this_10);
      var this_11 = new UInt(tmp$ret$10);
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.core.<no name provided>.next.<anonymous>' call
      this_11.wn_1;
      this.alf_1 = this.alf_1 + 1 | 0;
      tmp = this_11.wn_1;
    }
    return tmp;
  };
  protoOf(asCodePoints$1$iterator$1).e = function () {
    return new UInt(this.ao());
  };
  function asCodePoints$1($this_asCodePoints) {
    this.clf_1 = $this_asCodePoints;
  }
  protoOf(asCodePoints$1).w = function () {
    return new asCodePoints$1$iterator$1(this.clf_1);
  };
  var XmlVersion_XML10_instance;
  var XmlVersion_XML11_instance;
  var XmlVersion_entriesInitialized;
  function XmlVersion_initEntries() {
    if (XmlVersion_entriesInitialized)
      return Unit_instance;
    XmlVersion_entriesInitialized = true;
    XmlVersion_XML10_instance = new XmlVersion('XML10', 0, '1.0');
    XmlVersion_XML11_instance = new XmlVersion('XML11', 1, '1.1');
  }
  function XmlVersion(name, ordinal, versionString) {
    Enum.call(this, name, ordinal);
    this.ule_1 = versionString;
  }
  function XmlVersion_XML10_getInstance() {
    XmlVersion_initEntries();
    return XmlVersion_XML10_instance;
  }
  function XmlVersion_XML11_getInstance() {
    XmlVersion_initEntries();
    return XmlVersion_XML11_instance;
  }
  function NamespaceHolder$namespaceContext$o$getPrefixesCompat$lambda(this$0, $namespaceURI) {
    return function (it) {
      return getNamespace(this$0, it) === $namespaceURI;
    };
  }
  function NamespaceHolder$namespaceContext$o$getPrefixesCompat$lambda_0(this$0) {
    return function (it) {
      return getPrefix(this$0, it);
    };
  }
  function namespaceIndicesAt($this, depth) {
    var startIdx = depth === 0 ? 0 : arrayUseAtDepth($this, depth - 1 | 0) / 2 | 0;
    var endIdx = arrayUseAtDepth($this, depth) / 2 | 0;
    return until(startIdx, endIdx);
  }
  function arrayUseAtDepth($this, depth) {
    return imul($this.rlc_1[depth], 2);
  }
  function prefixArrayPos($this, pairPos) {
    return imul(pairPos, 2);
  }
  function nsArrayPos($this, pairPos) {
    return imul(pairPos, 2) + 1 | 0;
  }
  function setPrefix($this, pos, value) {
    var tmp = $this.qlc_1;
    var tmp_0 = prefixArrayPos($this, pos);
    var tmp1_elvis_lhs = value == null ? null : toString(value);
    tmp[tmp_0] = tmp1_elvis_lhs == null ? '' : tmp1_elvis_lhs;
  }
  function getPrefix($this, pos) {
    return ensureNotNull($this.qlc_1[prefixArrayPos($this, pos)]);
  }
  function setNamespace($this, pos, value) {
    var tmp = $this.qlc_1;
    var tmp_0 = nsArrayPos($this, pos);
    var tmp1_elvis_lhs = value == null ? null : toString(value);
    tmp[tmp_0] = tmp1_elvis_lhs == null ? '' : tmp1_elvis_lhs;
  }
  function getNamespace($this, pos) {
    return ensureNotNull($this.qlc_1[nsArrayPos($this, pos)]);
  }
  function enlargeNamespaceBuffer($this) {
    $this.qlc_1 = copyOf($this.qlc_1, imul($this.qlc_1.length, 2));
  }
  function NamespaceHolder$namespaceContext$1(this$0) {
    this.dlf_1 = this$0;
  }
  protoOf(NamespaceHolder$namespaceContext$1).ml6 = function (prefix) {
    return this.dlf_1.ple(prefix);
  };
  protoOf(NamespaceHolder$namespaceContext$1).nl6 = function (namespaceURI) {
    return this.dlf_1.zle(namespaceURI);
  };
  protoOf(NamespaceHolder$namespaceContext$1).ol6 = function () {
    return SimpleNamespaceContext_init_$Create$_2(this.dlf_1);
  };
  protoOf(NamespaceHolder$namespaceContext$1).w = function () {
    return this.dlf_1.w();
  };
  protoOf(NamespaceHolder$namespaceContext$1).pl6 = function (namespaceURI) {
    var tmp = asSequence_0(downTo(this.dlf_1.elf() - 1 | 0, 0));
    var tmp_0 = filter(tmp, NamespaceHolder$namespaceContext$o$getPrefixesCompat$lambda(this.dlf_1, namespaceURI));
    return map(tmp_0, NamespaceHolder$namespaceContext$o$getPrefixesCompat$lambda_0(this.dlf_1)).w();
  };
  function NamespaceHolder$iterator$1(this$0) {
    this.glf_1 = this$0;
    this.flf_1 = 0;
  }
  protoOf(NamespaceHolder$iterator$1).f = function () {
    return this.flf_1 < this.glf_1.rlc_1[this.glf_1.slc_1];
  };
  protoOf(NamespaceHolder$iterator$1).e = function () {
    // Inline function 'kotlin.also' call
    var this_0 = new NamespaceImpl(getPrefix(this.glf_1, this.flf_1), getNamespace(this.glf_1, this.flf_1));
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.core.impl.<no name provided>.next.<anonymous>' call
    this.flf_1 = this.flf_1 + 1 | 0;
    return this_0;
  };
  function NamespaceHolder() {
    this.plc_1 = 1;
    var tmp = this;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp.qlc_1 = fillArrayVal(Array(10), null);
    this.rlc_1 = new Int32Array(20);
    this.slc_1 = 0;
    var tmp_0 = this;
    tmp_0.tlc_1 = new NamespaceHolder$namespaceContext$1(this);
  }
  protoOf(NamespaceHolder).vld = function () {
    // Inline function 'kotlin.collections.map' call
    var this_0 = namespaceIndicesAt(this, this.slc_1);
    // Inline function 'kotlin.collections.mapTo' call
    var destination = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_0, 10));
    var tmp0_iterator = this_0.w();
    while (tmp0_iterator.f()) {
      var item = tmp0_iterator.e();
      // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.<get-namespacesAtCurrentDepth>.<anonymous>' call
      var tmp$ret$0 = new NamespaceImpl(getPrefix(this, item), getNamespace(this, item));
      destination.i1(tmp$ret$0);
    }
    return destination;
  };
  protoOf(NamespaceHolder).elc = function () {
    this.slc_1 = this.slc_1 + 1 | 0;
    if (this.slc_1 >= this.rlc_1.length) {
      this.rlc_1 = copyOf_0(this.rlc_1, imul(this.rlc_1.length, 2));
    }
    this.rlc_1[this.slc_1] = this.slc_1 === 0 ? 0 : this.rlc_1[this.slc_1 - 1 | 0];
  };
  protoOf(NamespaceHolder).dlc = function () {
    var progression = namespaceIndicesAt(this, this.slc_1);
    var inductionVariable = progression.ib_1;
    var last = progression.jb_1;
    if (inductionVariable <= last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        this.qlc_1[prefixArrayPos(this, i)] = null;
        this.qlc_1[nsArrayPos(this, i)] = null;
      }
       while (!(i === last));
    this.rlc_1[this.slc_1] = 0;
    this.slc_1 = this.slc_1 - 1 | 0;
  };
  protoOf(NamespaceHolder).elf = function () {
    return this.rlc_1[this.slc_1];
  };
  protoOf(NamespaceHolder).n1 = function () {
    var tmp = this;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp.qlc_1 = fillArrayVal(Array(10), null);
    this.rlc_1 = new Int32Array(20);
    this.slc_1 = 0;
  };
  protoOf(NamespaceHolder).bld = function (ns) {
    this.yle(ns.ul6(), ns.sl6());
  };
  protoOf(NamespaceHolder).yle = function (prefix, namespaceUri) {
    var prevCounts = this.slc_1 >= 1 ? this.rlc_1[this.slc_1 - 1 | 0] : 0;
    var inductionVariable = prevCounts;
    var last = this.rlc_1[this.slc_1];
    if (inductionVariable < last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        if (equals(getPrefix(this, i), prefix) ? equals(getNamespace(this, i), namespaceUri) : false)
          return Unit_instance;
      }
       while (inductionVariable < last);
    var nextPair = this.rlc_1[this.slc_1];
    if (nsArrayPos(this, nextPair) >= this.qlc_1.length) {
      enlargeNamespaceBuffer(this);
    }
    setPrefix(this, nextPair, prefix);
    setNamespace(this, nextPair, namespaceUri);
    var tmp1_array = this.rlc_1;
    var tmp2_index0 = this.slc_1;
    tmp1_array[tmp2_index0] = tmp1_array[tmp2_index0] + 1 | 0;
  };
  protoOf(NamespaceHolder).ple = function (prefix) {
    var prefixStr = toString(prefix);
    var tmp;
    if (prefixStr === 'xml') {
      return 'http://www.w3.org/XML/1998/namespace';
    } else {
      if (prefixStr === 'xmlns') {
        return 'http://www.w3.org/2000/xmlns/';
      } else {
        var tmp$ret$1;
        $l$block: {
          // Inline function 'kotlin.collections.firstOrNull' call
          var tmp0_iterator = downTo(this.elf() - 1 | 0, 0).w();
          while (tmp0_iterator.f()) {
            var element = tmp0_iterator.e();
            // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.getNamespaceUri.<anonymous>' call
            if (getPrefix(this, element) === prefixStr) {
              tmp$ret$1 = element;
              break $l$block;
            }
          }
          tmp$ret$1 = null;
        }
        var tmp0_safe_receiver = tmp$ret$1;
        var tmp_0;
        if (tmp0_safe_receiver == null) {
          tmp_0 = null;
        } else {
          // Inline function 'kotlin.let' call
          // Inline function 'kotlin.contracts.contract' call
          // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.getNamespaceUri.<anonymous>' call
          tmp_0 = getNamespace(this, tmp0_safe_receiver);
        }
        var tmp1_elvis_lhs = tmp_0;
        var tmp_1;
        if (tmp1_elvis_lhs == null) {
          var tmp_2;
          // Inline function 'kotlin.text.isEmpty' call
          if (charSequenceLength(prefixStr) === 0) {
            tmp_2 = '';
          } else {
            tmp_2 = null;
          }
          tmp_1 = tmp_2;
        } else {
          tmp_1 = tmp1_elvis_lhs;
        }
        tmp = tmp_1;
      }
    }
    return tmp;
  };
  protoOf(NamespaceHolder).zle = function (namespaceUri) {
    var namespaceUriStr = toString(namespaceUri);
    var tmp;
    if (namespaceUriStr === 'http://www.w3.org/XML/1998/namespace') {
      tmp = 'xml';
    } else {
      if (namespaceUriStr === 'http://www.w3.org/2000/xmlns/') {
        tmp = 'xmlns';
      } else {
        if (namespaceUriStr === '') {
          var tmp_0;
          var tmp$ret$0;
          $l$block_0: {
            // Inline function 'kotlin.collections.none' call
            var this_0 = until(0, this.elf());
            var tmp_1;
            if (isInterface(this_0, Collection)) {
              tmp_1 = this_0.c1();
            } else {
              tmp_1 = false;
            }
            if (tmp_1) {
              tmp$ret$0 = true;
              break $l$block_0;
            }
            var tmp0_iterator = this_0.w();
            while (tmp0_iterator.f()) {
              var element = tmp0_iterator.e();
              // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.getPrefix.<anonymous>' call
              // Inline function 'kotlin.text.isEmpty' call
              var this_1 = getPrefix(this, element);
              if (charSequenceLength(this_1) === 0) {
                tmp$ret$0 = false;
                break $l$block_0;
              }
            }
            tmp$ret$0 = true;
          }
          if (tmp$ret$0) {
            tmp_0 = '';
          } else {
            tmp_0 = null;
          }
          tmp = tmp_0;
        } else {
          var tmp$ret$6;
          $l$block_3: {
            // Inline function 'kotlin.collections.firstOrNull' call
            var tmp0_iterator_0 = downTo(this.elf() - 1 | 0, 0).w();
            while (tmp0_iterator_0.f()) {
              var element_0 = tmp0_iterator_0.e();
              // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.getPrefix.<anonymous>' call
              var tmp_2;
              if (getNamespace(this, element_0) === namespaceUriStr) {
                var tmp$ret$3;
                $l$block_2: {
                  // Inline function 'kotlin.collections.none' call
                  var this_2 = until(element_0 + 1 | 0, this.elf());
                  var tmp_3;
                  if (isInterface(this_2, Collection)) {
                    tmp_3 = this_2.c1();
                  } else {
                    tmp_3 = false;
                  }
                  if (tmp_3) {
                    tmp$ret$3 = true;
                    break $l$block_2;
                  }
                  var tmp0_iterator_1 = this_2.w();
                  while (tmp0_iterator_1.f()) {
                    var element_1 = tmp0_iterator_1.e();
                    // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.getPrefix.<anonymous>.<anonymous>' call
                    if (getPrefix(this, element_0) === getPrefix(this, element_1)) {
                      tmp$ret$3 = false;
                      break $l$block_2;
                    }
                  }
                  tmp$ret$3 = true;
                }
                tmp_2 = tmp$ret$3;
              } else {
                tmp_2 = false;
              }
              if (tmp_2) {
                tmp$ret$6 = element_0;
                break $l$block_3;
              }
            }
            tmp$ret$6 = null;
          }
          var tmp0_safe_receiver = tmp$ret$6;
          var tmp_4;
          if (tmp0_safe_receiver == null) {
            tmp_4 = null;
          } else {
            // Inline function 'kotlin.let' call
            // Inline function 'kotlin.contracts.contract' call
            // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.getPrefix.<anonymous>' call
            tmp_4 = getPrefix(this, tmp0_safe_receiver);
          }
          tmp = tmp_4;
        }
      }
    }
    return tmp;
  };
  protoOf(NamespaceHolder).w = function () {
    return new NamespaceHolder$iterator$1(this);
  };
  protoOf(NamespaceHolder).vle = function () {
    var prefix;
    do {
      prefix = 'n' + this.plc_1;
    }
     while (!(this.ple(prefix) == null));
    return prefix;
  };
  protoOf(NamespaceHolder).xle = function (prefix) {
    var progression = namespaceIndicesAt(this, this.slc_1);
    var nestedFirst = progression.ib_1;
    var nestedLast = progression.jb_1;
    var inductionVariable = nestedFirst;
    var last = getProgressionLastElement(nestedFirst, nestedLast, 2);
    if (inductionVariable <= last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 2 | 0;
        if (this.qlc_1[prefixArrayPos(this, i)] === prefix) {
          return this.qlc_1[nsArrayPos(this, i)];
        }
      }
       while (!(i === last));
    return null;
  };
  function toIndentSequence$sbToTextEvent(sb, result) {
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(sb) > 0) {
      var text = sb.toString();
      if (!isXmlWhitespace_1(text)) {
        throw XmlException_init_$Create$_0('Indents can only be whitespace or comments: ' + text);
      }
      result.i1(new TextEvent(null, EventType_IGNORABLE_WHITESPACE_getInstance(), text));
      sb.z8();
    }
  }
  function Companion_5() {
    this.hlf_1 = '<!---->';
  }
  protoOf(Companion_5).ilf = function (_this__u8e3s4) {
    // Inline function 'kotlin.collections.mutableListOf' call
    var result = ArrayList_init_$Create$();
    var sb = StringBuilder_init_$Create$();
    var commentPos = 0;
    var inductionVariable = 0;
    var last = _this__u8e3s4.length;
    while (inductionVariable < last) {
      var ch = charSequenceGet(_this__u8e3s4, inductionVariable);
      inductionVariable = inductionVariable + 1 | 0;
      if (ch === _Char___init__impl__6a9atx(60)) {
        if (commentPos === 0) {
          commentPos = commentPos + 1 | 0;
        } else {
          sb.z5(ch);
        }
      } else if (ch === _Char___init__impl__6a9atx(33)) {
        if (commentPos === 1) {
          commentPos = commentPos + 1 | 0;
        } else {
          sb.z5(ch);
        }
      } else if (ch === _Char___init__impl__6a9atx(45)) {
        switch (commentPos) {
          case 2:
            commentPos = commentPos + 1 | 0;
            break;
          case 3:
            commentPos = commentPos + 1 | 0;
            toIndentSequence$sbToTextEvent(sb, result);
            break;
          case 4:
          case 5:
            commentPos = commentPos + 1 | 0;
            break;
          case 6:
            throw XmlException_init_$Create$_0('-- is not allowed to occur inside xml comment text');
          default:
            sb.z5(ch);
            break;
        }
      } else if (ch === _Char___init__impl__6a9atx(62)) {
        switch (commentPos) {
          case 6:
            commentPos = 0;
            result.i1(new TextEvent(null, EventType_COMMENT_getInstance(), sb.toString()));
            sb.z8();
            break;
          case 5:
            commentPos = 4;
            sb.y5('->');
            break;
          default:
            sb.z5(ch);
            break;
        }
      } else {
        switch (commentPos) {
          case 1:
          case 2:
          case 3:
            sb.s8('<!---->', 0, commentPos);
            commentPos = 0;
            sb.z5(ch);
            break;
          case 0:
          case 4:
            sb.z5(ch);
            break;
          case 5:
            commentPos = 4;
            sb.z5(_Char___init__impl__6a9atx(45)).z5(ch);
            break;
          case 6:
            throw XmlException_init_$Create$_0('-- is not allowed to occur inside xml comment text');
        }
      }
    }
    if (commentPos > 0)
      throw XmlException_init_$Create$_0('Indent can not contain unclosed comment');
    toIndentSequence$sbToTextEvent(sb, result);
    return result;
  };
  var Companion_instance_6;
  function Companion_getInstance_5() {
    return Companion_instance_6;
  }
  function PlatformXmlWriterBase$_get_indentString_$lambda_yiqku9(ev) {
    return ev.bl7().za_1 === 3 ? '<!--' + ev.cl8_1 + '-->' : ev.cl8_1;
  }
  function PlatformXmlWriterBase(indentSequence) {
    indentSequence = indentSequence === VOID ? emptyList() : indentSequence;
    this.ml7_1 = toList(indentSequence);
  }
  protoOf(PlatformXmlWriterBase).yl8 = function (value) {
    this.ml7_1 = Companion_instance_6.ilf(value);
  };
  protoOf(PlatformXmlWriterBase).zl8 = function () {
    var tmp = this.ml7_1;
    return joinToString_0(tmp, VOID, VOID, VOID, VOID, VOID, PlatformXmlWriterBase$_get_indentString_$lambda_yiqku9);
  };
  function get_WHITESPACE() {
    _init_properties_chars_kt__oshz4b();
    return WHITESPACE;
  }
  var WHITESPACE;
  function isXmlWhitespace_1(_this__u8e3s4) {
    _init_properties_chars_kt__oshz4b();
    var tmp$ret$2;
    $l$block: {
      // Inline function 'kotlin.text.all' call
      var inductionVariable = 0;
      while (inductionVariable < charSequenceLength(_this__u8e3s4)) {
        var element = charSequenceGet(_this__u8e3s4, inductionVariable);
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'nl.adaptivity.xmlutil.core.impl.isXmlWhitespace.<anonymous>' call
        // Inline function 'kotlin.code' call
        var tmp$ret$0 = Char__toInt_impl_vasixd(element);
        if (!isXmlWhitespace_2(tmp$ret$0)) {
          tmp$ret$2 = false;
          break $l$block;
        }
      }
      tmp$ret$2 = true;
    }
    return tmp$ret$2;
  }
  function isXmlWhitespace_2(_this__u8e3s4) {
    _init_properties_chars_kt__oshz4b();
    return _this__u8e3s4 >= get_WHITESPACE().length ? false : get_WHITESPACE()[_this__u8e3s4];
  }
  var properties_initialized_chars_kt_qk0z7x;
  function _init_properties_chars_kt__oshz4b() {
    if (!properties_initialized_chars_kt_qk0z7x) {
      properties_initialized_chars_kt_qk0z7x = true;
      // Inline function 'kotlin.also' call
      var this_0 = booleanArray(33);
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.core.impl.WHITESPACE.<anonymous>' call
      // Inline function 'kotlin.code' call
      var this_1 = _Char___init__impl__6a9atx(9);
      this_0[Char__toInt_impl_vasixd(this_1)] = true;
      // Inline function 'kotlin.code' call
      var this_2 = _Char___init__impl__6a9atx(10);
      this_0[Char__toInt_impl_vasixd(this_2)] = true;
      // Inline function 'kotlin.code' call
      var this_3 = _Char___init__impl__6a9atx(13);
      this_0[Char__toInt_impl_vasixd(this_3)] = true;
      // Inline function 'kotlin.code' call
      var this_4 = _Char___init__impl__6a9atx(32);
      this_0[Char__toInt_impl_vasixd(this_4)] = true;
      WHITESPACE = this_0;
    }
  }
  function iterator(_this__u8e3s4) {
    return new NamedNodeMapIterator(_this__u8e3s4);
  }
  function NamedNodeMapIterator(map) {
    this.jlf_1 = map;
    this.klf_1 = 0;
  }
  protoOf(NamedNodeMapIterator).f = function () {
    var tmp = this.klf_1;
    // Inline function 'nl.adaptivity.xmlutil.dom.getLength' call
    return tmp < this.jlf_1.length;
  };
  protoOf(NamedNodeMapIterator).e = function () {
    var tmp1 = this.klf_1;
    this.klf_1 = tmp1 + 1 | 0;
    var tmp = get(this.jlf_1, tmp1);
    return (!(tmp == null) ? !(tmp == null) : false) ? tmp : THROW_CCE();
  };
  function get(_this__u8e3s4, index) {
    var tmp = _this__u8e3s4.item(index);
    return (tmp == null ? true : !(tmp == null)) ? tmp : THROW_CCE();
  }
  function NodeConsts() {
    this.llf_1 = 1;
    this.mlf_1 = 2;
    this.nlf_1 = 3;
    this.olf_1 = 4;
    this.plf_1 = 5;
    this.qlf_1 = 6;
    this.rlf_1 = 7;
    this.slf_1 = 8;
    this.tlf_1 = 9;
    this.ulf_1 = 10;
    this.vlf_1 = 11;
    this.wlf_1 = 12;
  }
  var NodeConsts_instance;
  function NodeConsts_getInstance() {
    return NodeConsts_instance;
  }
  function iterator_0(_this__u8e3s4) {
    return new NodeListIterator(_this__u8e3s4);
  }
  function NodeListIterator(nodeList) {
    this.xlf_1 = nodeList;
    this.ylf_1 = 0;
  }
  protoOf(NodeListIterator).f = function () {
    var tmp = this.ylf_1;
    // Inline function 'nl.adaptivity.xmlutil.dom.getLength' call
    return tmp < this.xlf_1.length;
  };
  protoOf(NodeListIterator).e = function () {
    var tmp1 = this.ylf_1;
    this.ylf_1 = tmp1 + 1 | 0;
    var tmp2_elvis_lhs = this.xlf_1.item(tmp1);
    var tmp;
    if (tmp2_elvis_lhs == null) {
      throw NoSuchElementException_init_$Create$_0('No item found in the iterator');
    } else {
      tmp = tmp2_elvis_lhs;
    }
    return tmp;
  };
  function ICompactFragment() {
  }
  function removeElementChildren(_this__u8e3s4) {
    var top = _this__u8e3s4;
    var cur = top.firstChild;
    while (!(cur == null)) {
      var n = cur.nextSibling;
      if (get_isElement(cur)) {
        top.removeChild(cur);
      }
      cur = n;
    }
  }
  function createElement(_this__u8e3s4, name) {
    return _this__u8e3s4.createElementNS(name.rla(), toCName(name));
  }
  function myLookupNamespaceURI(_this__u8e3s4, prefix) {
    var tmp;
    var tmp_0 = _this__u8e3s4.nodeType;
    if (!(tmp_0 === 1)) {
      tmp = null;
    } else {
      // Inline function 'nl.adaptivity.xmlutil.util.filterTyped' call
      var this_0 = (!(_this__u8e3s4 == null) ? _this__u8e3s4 : THROW_CCE()).attributes;
      // Inline function 'kotlin.collections.mutableListOf' call
      var result = ArrayList_init_$Create$();
      // Inline function 'nl.adaptivity.xmlutil.util.forEachAttr' call
      var l = this_0.length;
      var inductionVariable = 0;
      if (inductionVariable < l)
        do {
          var idx = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          // Inline function 'nl.adaptivity.xmlutil.util.filterTyped.<anonymous>' call
          var tmp_1 = this_0.item(idx);
          var attr = (!(tmp_1 == null) ? !(tmp_1 == null) : false) ? tmp_1 : THROW_CCE();
          // Inline function 'nl.adaptivity.xmlutil.util.myLookupNamespaceURI.<anonymous>' call
          if ((prefix === '' ? attr.localName === 'xmlns' : false) ? true : attr.prefix === 'xmlns' ? attr.localName === prefix : false) {
            result.i1(attr);
          }
        }
         while (inductionVariable < l);
      var tmp0_safe_receiver = firstOrNull(result);
      var tmp2_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.value;
      var tmp_2;
      if (tmp2_elvis_lhs == null) {
        var tmp1_safe_receiver = _this__u8e3s4.parentNode;
        tmp_2 = tmp1_safe_receiver == null ? null : myLookupNamespaceURI(tmp1_safe_receiver, prefix);
      } else {
        tmp_2 = tmp2_elvis_lhs;
      }
      tmp = tmp_2;
    }
    return tmp;
  }
  function myLookupPrefix(_this__u8e3s4, namespaceUri) {
    var tmp = _this__u8e3s4.nodeType;
    if (!(tmp === 1))
      return null;
    var tmp_0 = !(_this__u8e3s4 == null) ? _this__u8e3s4 : THROW_CCE();
    // Inline function 'kotlin.collections.mutableSetOf' call
    var tmp$ret$0 = LinkedHashSet_init_$Create$();
    return myLookupPrefixImpl(tmp_0, namespaceUri, tmp$ret$0);
  }
  function get_isElement(_this__u8e3s4) {
    var tmp = _this__u8e3s4.nodeType;
    return tmp === 1;
  }
  function get_isText(_this__u8e3s4) {
    var tmp0_subject = _this__u8e3s4.nodeType;
    var tmp;
    var tmp_0;
    var tmp_1 = tmp0_subject;
    if (tmp_1 === 1) {
      tmp_0 = true;
    } else {
      var tmp_2 = tmp0_subject;
      tmp_0 = tmp_2 === 4;
    }
    if (tmp_0) {
      tmp = true;
    } else {
      tmp = false;
    }
    return tmp;
  }
  function myLookupPrefixImpl(_this__u8e3s4, namespaceUri, seenPrefixes) {
    var tmp0_safe_receiver = _this__u8e3s4.attributes;
    if (tmp0_safe_receiver == null)
      null;
    else {
      // Inline function 'nl.adaptivity.xmlutil.util.forEachAttr' call
      var l = tmp0_safe_receiver.length;
      var inductionVariable = 0;
      if (inductionVariable < l)
        do {
          var idx = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          // Inline function 'nl.adaptivity.xmlutil.util.myLookupPrefixImpl.<anonymous>' call
          var tmp = tmp0_safe_receiver.item(idx);
          var attr = (!(tmp == null) ? !(tmp == null) : false) ? tmp : THROW_CCE();
          var tmp_0 = attr.prefix;
          if (tmp_0 === 'xmlns')
            if (attr.value === namespaceUri ? !seenPrefixes.a1(attr.localName) : false) {
              return attr.localName;
            } else {
              var tmp0_elvis_lhs = attr.localName;
              seenPrefixes.i1(tmp0_elvis_lhs == null ? attr.name : tmp0_elvis_lhs);
            }
           else {
            var tmp_1;
            // Inline function 'kotlin.text.isNullOrBlank' call
            var this_0 = attr.prefix;
            // Inline function 'kotlin.contracts.contract' call
            if (this_0 == null ? true : isBlank(this_0)) {
              var tmp_2 = attr.localName;
              tmp_1 = tmp_2 === 'xmlns';
            } else {
              tmp_1 = false;
            }
            if (tmp_1)
              if (attr.value === namespaceUri ? !seenPrefixes.a1(attr.localName) : false) {
                return '';
              } else {
                seenPrefixes.i1('');
              }
          }
        }
         while (inductionVariable < l);
    }
    var tmp_3 = _this__u8e3s4.parentNode;
    var tmp1_safe_receiver = (!(tmp_3 == null) ? !(tmp_3 == null) : false) ? tmp_3 : null;
    return tmp1_safe_receiver == null ? null : myLookupPrefixImpl(tmp1_safe_receiver, namespaceUri, seenPrefixes);
  }
  function QName_init_$Init$(namespaceURI, localPart, $this) {
    QName.call($this, namespaceURI, localPart, '');
    return $this;
  }
  function QName_init_$Create$(namespaceURI, localPart) {
    return QName_init_$Init$(namespaceURI, localPart, objectCreate(protoOf(QName)));
  }
  function QName_init_$Init$_0(localPart, $this) {
    QName.call($this, '', localPart, '');
    return $this;
  }
  function QName_init_$Create$_0(localPart) {
    return QName_init_$Init$_0(localPart, objectCreate(protoOf(QName)));
  }
  function QName(namespaceURI, localPart, prefix) {
    this.ola_1 = namespaceURI;
    this.pla_1 = localPart;
    this.qla_1 = prefix;
  }
  protoOf(QName).tla = function () {
    return this.qla_1;
  };
  protoOf(QName).sla = function () {
    return this.pla_1;
  };
  protoOf(QName).rla = function () {
    return this.ola_1;
  };
  protoOf(QName).toString = function () {
    if (this.ola_1 === '')
      return this.pla_1;
    return '{' + this.ola_1 + '}' + this.pla_1;
  };
  protoOf(QName).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !(this.constructor == other.constructor))
      return false;
    if (!(other instanceof QName))
      THROW_CCE();
    if (!(this.ola_1 === other.ola_1))
      return false;
    if (!(this.pla_1 === other.pla_1))
      return false;
    return true;
  };
  protoOf(QName).hashCode = function () {
    var result = getStringHashCode(this.ola_1);
    result = imul(31, result) + getStringHashCode(this.pla_1) | 0;
    return result;
  };
  function siblingsToFragment(_this__u8e3s4) {
    var tmp0_safe_receiver = _this__u8e3s4 instanceof DomReader ? _this__u8e3s4 : null;
    var d = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.fl6_1;
    var tmp2_subject = d == null ? null : d.nodeType;
    var tmp;
    var tmp_0 = tmp2_subject == null ? null : tmp2_subject;
    if (tmp_0 === 9) {
      tmp = (!(d == null) ? !(d == null) : false) ? d : THROW_CCE();
    } else {
      if (tmp2_subject == null) {
        var tmp_1 = new Document();
        tmp = !(tmp_1 == null) ? tmp_1 : THROW_CCE();
      } else {
        var tmp4_elvis_lhs = d.ownerDocument;
        var tmp_2;
        if (tmp4_elvis_lhs == null) {
          var tmp_3 = new Document();
          tmp_2 = !(tmp_3 == null) ? tmp_3 : THROW_CCE();
        } else {
          tmp_2 = tmp4_elvis_lhs;
        }
        tmp = tmp_2;
      }
    }
    var doc = tmp;
    var frag = doc.createDocumentFragment();
    var wrapperElement = doc.createElementNS('http://wrapperns', 'SDFKLJDSF:afjlfxkls');
    frag.appendChild(wrapperElement);
    if (!_this__u8e3s4.vl6()) {
      if (_this__u8e3s4.f()) {
        _this__u8e3s4.e();
      } else {
        return CompactFragment_init_$Create$('');
      }
    }
    var startLocation = _this__u8e3s4.cl7();
    try {
      // Inline function 'kotlin.collections.mutableMapOf' call
      var missingNamespaces = LinkedHashMap_init_$Create$();
      var initialDepth = _this__u8e3s4.wl6() - (_this__u8e3s4.bl7() === EventType_START_ELEMENT_getInstance() ? 1 : 0) | 0;
      var type = _this__u8e3s4.bl7();
      while ((!(type === EventType_END_DOCUMENT_getInstance()) ? !(type === EventType_END_ELEMENT_getInstance()) : false) ? _this__u8e3s4.wl6() >= initialDepth : false) {
        var tmp5_subject = type;
        switch (tmp5_subject == null ? -1 : tmp5_subject.za_1) {
          case 1:
            var out = new DomWriter(wrapperElement, true);
            addUndeclaredNamespaces(out, _this__u8e3s4, missingNamespaces);
            writeCurrent(_this__u8e3s4, out);
            writeElementContent(out, missingNamespaces, _this__u8e3s4);
            out.n();
            break;
          case 9:
          case 4:
            wrapperElement.appendChild(ensureNotNull(wrapperElement.ownerDocument).createTextNode(_this__u8e3s4.zl6()));
            break;
          case 5:
            wrapperElement.appendChild(ensureNotNull(wrapperElement.ownerDocument).createCDATASection(_this__u8e3s4.zl6()));
            break;
          case 3:
            wrapperElement.appendChild(ensureNotNull(wrapperElement.ownerDocument).createComment(_this__u8e3s4.zl6()));
            break;
          case 8:
            throw XmlException_init_$Create$_0('Entity references are not expected here');
          case 10:
            throw AssertionError_init_$Create$('Attributes are not expected in the event stream');
          default:
            break;
        }
        type = _this__u8e3s4.f() ? _this__u8e3s4.e() : null;
      }
      if (missingNamespaces.q('') === '') {
        missingNamespaces.u2('');
      }
      var tmp_4 = asSequence_0(missingNamespaces.q2());
      var tmp_5 = filter(tmp_4, siblingsToFragment$lambda);
      var ns = toList_0(map(tmp_5, siblingsToFragment$lambda_0(wrapperElement)));
      var tmp_6 = new XMLSerializer();
      var wrappedString = tmp_6.serializeToString(wrapperElement instanceof Node ? wrapperElement : THROW_CCE());
      // Inline function 'kotlin.text.substring' call
      var startIndex = indexOf(wrappedString, _Char___init__impl__6a9atx(62), 19) + 1 | 0;
      var endIndex = (wrappedString.length - 19 | 0) - 3 | 0;
      // Inline function 'kotlin.js.asDynamic' call
      var unwrappedString = wrappedString.substring(startIndex, endIndex);
      return CompactFragment_init_$Create$_0(ns, unwrappedString);
    } catch ($p) {
      if ($p instanceof XmlException) {
        var e = $p;
        throw XmlException_init_$Create$_1('Failure to parse children into string at ' + startLocation, e);
      } else {
        if ($p instanceof RuntimeException) {
          var e_0 = $p;
          throw XmlException_init_$Create$_1('Failure to parse children into string at ' + startLocation, e_0);
        } else {
          throw $p;
        }
      }
    }
  }
  function siblingsToFragment$lambda(_name_for_destructuring_parameter_0__wldtmu) {
    // Inline function 'kotlin.collections.component1' call
    var prefix = _name_for_destructuring_parameter_0__wldtmu.s2();
    // Inline function 'kotlin.collections.component2' call
    var uri = _name_for_destructuring_parameter_0__wldtmu.t2();
    return !(prefix === '') ? true : !(uri === '');
  }
  function siblingsToFragment$lambda_0($wrapperElement) {
    return function (_name_for_destructuring_parameter_0__wldtmu) {
      // Inline function 'kotlin.collections.component1' call
      var prefix = _name_for_destructuring_parameter_0__wldtmu.s2();
      // Inline function 'kotlin.collections.component2' call
      var uri = _name_for_destructuring_parameter_0__wldtmu.t2();
      $wrapperElement.setAttributeNS('http://www.w3.org/2000/xmlns/', prefix === '' ? 'xmlns' : 'xmlns:' + prefix, uri);
      return new NamespaceImpl(prefix, uri);
    };
  }
  function XmlStreaming() {
  }
  protoOf(XmlStreaming).clg = function (input) {
    var str = toString(charSequenceGet(input, 0) === _Char___init__impl__6a9atx(65279) ? charSequenceSubSequence(input, 1, charSequenceLength(input)) : input);
    var tmp = (new DOMParser()).parseFromString(str, 'text/xml');
    return new DomReader(!(tmp == null) ? tmp : THROW_CCE());
  };
  protoOf(XmlStreaming).dlg = function (writer, repairNamespaces, xmlDeclMode) {
    return new WriterXmlWriter(writer, DomWriter_init_$Create$(xmlDeclMode));
  };
  var XmlStreaming_instance;
  function XmlStreaming_getInstance() {
    return XmlStreaming_instance;
  }
  function WriterXmlWriter(target, delegate) {
    this.elg_1 = target;
    this.flg_1 = delegate;
  }
  protoOf(WriterXmlWriter).wl6 = function () {
    return this.flg_1.vl7_1;
  };
  protoOf(WriterXmlWriter).yl8 = function (_set____db54di) {
    this.flg_1.yl8(_set____db54di);
  };
  protoOf(WriterXmlWriter).zl8 = function () {
    return this.flg_1.zl8();
  };
  protoOf(WriterXmlWriter).dl7 = function () {
    return this.flg_1.ul7_1;
  };
  protoOf(WriterXmlWriter).rl8 = function (namespace, name, prefix, value) {
    this.flg_1.rl8(namespace, name, prefix, value);
  };
  protoOf(WriterXmlWriter).pl8 = function (text) {
    this.flg_1.pl8(text);
  };
  protoOf(WriterXmlWriter).hl8 = function (text) {
    this.flg_1.hl8(text);
  };
  protoOf(WriterXmlWriter).kl8 = function (text) {
    this.flg_1.kl8(text);
  };
  protoOf(WriterXmlWriter).ul8 = function () {
    this.flg_1.ul8();
  };
  protoOf(WriterXmlWriter).vl8 = function (namespace, localName, prefix) {
    this.flg_1.vl8(namespace, localName, prefix);
  };
  protoOf(WriterXmlWriter).ql8 = function (text) {
    this.flg_1.ql8(text);
  };
  protoOf(WriterXmlWriter).wl8 = function (prefix) {
    return this.flg_1.wl8(prefix);
  };
  protoOf(WriterXmlWriter).xl8 = function (namespaceUri) {
    return this.flg_1.xl8(namespaceUri);
  };
  protoOf(WriterXmlWriter).zl7 = function (text) {
    this.flg_1.zl7(text);
  };
  protoOf(WriterXmlWriter).ml8 = function (namespacePrefix, namespaceUri) {
    this.flg_1.ml8(namespacePrefix, namespaceUri);
  };
  protoOf(WriterXmlWriter).al9 = function (namespace) {
    this.flg_1.al9(namespace);
  };
  protoOf(WriterXmlWriter).il8 = function (text) {
    this.flg_1.il8(text);
  };
  protoOf(WriterXmlWriter).jl8 = function (target, data) {
    this.flg_1.jl8(target, data);
  };
  protoOf(WriterXmlWriter).sl8 = function (version, encoding, standalone) {
    this.flg_1.sl8(version, encoding, standalone);
  };
  protoOf(WriterXmlWriter).nl8 = function (namespace, localName, prefix) {
    this.flg_1.nl8(namespace, localName, prefix);
  };
  protoOf(WriterXmlWriter).ol8 = function (text) {
    this.flg_1.ol8(text);
  };
  protoOf(WriterXmlWriter).n = function () {
    try {
      var xmls = new XMLSerializer();
      var tmp = this.flg_1.ll8();
      var domText = xmls.serializeToString(tmp instanceof Node ? tmp : THROW_CCE());
      var xmlDeclMode = this.flg_1.pl7_1;
      if (!xmlDeclMode.equals(XmlDeclMode_None_getInstance())) {
        var tmp_0;
        if (xmlDeclMode.za_1 === 3) {
          var tmp1_elvis_lhs = this.flg_1.xl7_1;
          tmp_0 = tmp1_elvis_lhs == null ? 'UTF-8' : tmp1_elvis_lhs;
        } else {
          var tmp2_safe_receiver = this.flg_1.xl7_1;
          var tmp_1;
          if (tmp2_safe_receiver == null) {
            tmp_1 = null;
          } else {
            // Inline function 'kotlin.text.lowercase' call
            // Inline function 'kotlin.js.asDynamic' call
            tmp_1 = tmp2_safe_receiver.toLowerCase();
          }
          var tmp3_safe_receiver = tmp_1;
          tmp_0 = (tmp3_safe_receiver == null ? null : startsWith(tmp3_safe_receiver, 'utf-')) === false ? this.flg_1.xl7_1 : null;
        }
        var encoding = tmp_0;
        var tmp5_elvis_lhs = this.flg_1.wl7_1;
        var xmlVersion = tmp5_elvis_lhs == null ? '1.0' : tmp5_elvis_lhs;
        this.elg_1.z4s('<?xml version="');
        this.elg_1.z4s(xmlVersion);
        this.elg_1.z4s('"');
        if (!(encoding == null)) {
          this.elg_1.z4s(' encoding="');
          this.elg_1.z4s(encoding);
          this.elg_1.z4s('"');
        }
        this.elg_1.z4s('?>');
        // Inline function 'kotlin.collections.isNotEmpty' call
        if (!this.flg_1.ml7_1.c1()) {
          this.elg_1.z4s('\n');
        }
      }
      this.elg_1.z4s(domText);
    }finally {
      this.flg_1.n();
    }
  };
  function NamespaceContextImpl() {
  }
  function IOException_init_$Init$($this) {
    Exception_init_$Init$($this);
    IOException.call($this);
    return $this;
  }
  function IOException_init_$Create$() {
    var tmp = IOException_init_$Init$(objectCreate(protoOf(IOException)));
    captureStack(tmp, IOException_init_$Create$);
    return tmp;
  }
  function IOException_init_$Init$_0(message, $this) {
    Exception_init_$Init$_0(message, $this);
    IOException.call($this);
    return $this;
  }
  function IOException_init_$Init$_1(message, cause, $this) {
    Exception_init_$Init$_1(message, cause, $this);
    IOException.call($this);
    return $this;
  }
  function IOException() {
    captureStack(this, IOException);
  }
  function StringWriter() {
    Writer.call(this);
    this.glg_1 = StringBuilder_init_$Create$();
  }
  protoOf(StringWriter).z4s = function (text) {
    this.glg_1.y5(text);
  };
  protoOf(StringWriter).toString = function () {
    return this.glg_1.toString();
  };
  protoOf(StringWriter).z5 = function (value) {
    // Inline function 'kotlin.apply' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.core.impl.multiplatform.StringWriter.append.<anonymous>' call
    this.glg_1.z5(value);
    return this;
  };
  protoOf(StringWriter).r8 = function (value) {
    // Inline function 'kotlin.apply' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.core.impl.multiplatform.StringWriter.append.<anonymous>' call
    this.glg_1.r8(value);
    return this;
  };
  function assert(value, lazyMessage) {
    if (!value) {
      console.error('Assertion failed: ' + lazyMessage());
    }
  }
  function assert_0(value) {
    if (!value) {
      console.error('Assertion failed');
    }
  }
  function get_name_0(_this__u8e3s4) {
    return get_js(_this__u8e3s4).name;
  }
  function Writer() {
  }
  function Factory() {
  }
  function CompactFragment_init_$Init$(content, $this) {
    CompactFragment_init_$Init$_0(emptyList(), content, $this);
    return $this;
  }
  function CompactFragment_init_$Create$(content) {
    return CompactFragment_init_$Init$(content, objectCreate(protoOf(CompactFragment)));
  }
  function CompactFragment_init_$Init$_0(namespaces, content, $this) {
    CompactFragment.call($this);
    $this.hlg_1 = Companion_getInstance_1().dlb(namespaces);
    $this.ilg_1 = content;
    return $this;
  }
  function CompactFragment_init_$Create$_0(namespaces, content) {
    return CompactFragment_init_$Init$_0(namespaces, content, objectCreate(protoOf(CompactFragment)));
  }
  function CompactFragment_init_$Init$_1(orig, $this) {
    CompactFragment.call($this);
    $this.hlg_1 = Companion_getInstance_1().dlb(orig.zlf());
    $this.ilg_1 = orig.alg();
    return $this;
  }
  function CompactFragment_init_$Create$_1(orig) {
    return CompactFragment_init_$Init$_1(orig, objectCreate(protoOf(CompactFragment)));
  }
  function Companion_6() {
    Companion_instance_7 = this;
    this.jlg_1 = new Factory();
  }
  var Companion_instance_7;
  function Companion_getInstance_6() {
    if (Companion_instance_7 == null)
      new Companion_6();
    return Companion_instance_7;
  }
  function CompactFragment$toString$lambda(it) {
    return '"' + it.ul6() + ' -> ' + it.sl6() + '"';
  }
  protoOf(CompactFragment).zlf = function () {
    return this.hlg_1;
  };
  protoOf(CompactFragment).alg = function () {
    return this.ilg_1;
  };
  protoOf(CompactFragment).blg = function (out) {
    // Inline function 'kotlin.let' call
    // Inline function 'kotlin.contracts.contract' call
    var reader = Companion_instance_8.mlg(this);
    serialize(out, reader);
  };
  protoOf(CompactFragment).nlg = function () {
    return Companion_instance_8.mlg(this);
  };
  protoOf(CompactFragment).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : get_prototype(this) != get_prototype(other))
      return false;
    var that = (other == null ? true : isInterface(other, ICompactFragment)) ? other : THROW_CCE();
    if (!equals(this.hlg_1, ensureNotNull(that).zlf()))
      return false;
    return this.ilg_1 === that.alg();
  };
  protoOf(CompactFragment).hashCode = function () {
    var result = hashCode(this.hlg_1);
    result = imul(31, result) + getStringHashCode(this.ilg_1) | 0;
    return result;
  };
  protoOf(CompactFragment).toString = function () {
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.util.CompactFragment.toString.<anonymous>' call
    this_0.y5('{namespaces=[');
    joinTo(this.hlg_1, this_0, VOID, VOID, VOID, VOID, VOID, CompactFragment$toString$lambda);
    this_0.y5('], content=').y5(this.ilg_1).z5(_Char___init__impl__6a9atx(125));
    return this_0.toString();
  };
  function CompactFragment() {
    Companion_getInstance_6();
  }
  function get_prototype(_this__u8e3s4) {
    // Inline function 'nl.adaptivity.xmlutil.util.<get-prototype>.prototype' call
    return _this__u8e3s4.prototype;
  }
  function FragmentNamespaceContext_init_$Init$(parent, prefixes, namespaces, $this) {
    SimpleNamespaceContext_init_$Init$_1(prefixes, namespaces, $this);
    FragmentNamespaceContext.call($this);
    $this.plg_1 = parent;
    return $this;
  }
  function FragmentNamespaceContext_init_$Create$(parent, prefixes, namespaces) {
    return FragmentNamespaceContext_init_$Init$(parent, prefixes, namespaces, objectCreate(protoOf(FragmentNamespaceContext)));
  }
  function getLocalNamespaceUri($this, prefix) {
    var inductionVariable = $this.u() - 1 | 0;
    if (0 <= inductionVariable)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + -1 | 0;
        if (prefix === $this.zla(i)) {
          return $this.alb(i);
        }
      }
       while (0 <= inductionVariable);
    return null;
  }
  function getDelegate($this, text, wrapperNamespaceContext) {
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.util.Companion.getDelegate.<anonymous>' call
    this_0.y5('<SDFKLJDSF:wrapper xmlns:SDFKLJDSF="http://wrapperns"');
    var tmp0_iterator = wrapperNamespaceContext.w();
    while (tmp0_iterator.f()) {
      var ns = tmp0_iterator.e();
      var prefix = ns.ul6();
      var uri = ns.sl6();
      if ('' === prefix) {
        this_0.y5(' xmlns');
      } else {
        this_0.y5(' xmlns:').y5(prefix);
      }
      this_0.y5('="').y5(xmlEncode(uri)).z5(_Char___init__impl__6a9atx(34));
    }
    this_0.y5(' >');
    var wrapper = this_0.toString();
    var actualInput = wrapper + text + '<\/SDFKLJDSF:wrapper>';
    var parser = new DOMParser();
    var tmp = parser.parseFromString(actualInput, 'text/xml');
    return new DomReader(!(tmp == null) ? tmp : THROW_CCE());
  }
  protoOf(FragmentNamespaceContext).ol6 = function () {
    return this;
  };
  protoOf(FragmentNamespaceContext).ml6 = function (prefix) {
    var namespaceURI = protoOf(SimpleNamespaceContext).ml6.call(this, prefix);
    var tmp0_safe_receiver = this.plg_1;
    if (tmp0_safe_receiver == null)
      null;
    else {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      return tmp0_safe_receiver.ml6(prefix);
    }
    return namespaceURI;
  };
  protoOf(FragmentNamespaceContext).nl6 = function (namespaceURI) {
    var prefix = protoOf(SimpleNamespaceContext).nl6.call(this, namespaceURI);
    if (prefix == null ? !(this.plg_1 == null) : false) {
      return this.plg_1.nl6(namespaceURI);
    }
    return prefix;
  };
  protoOf(FragmentNamespaceContext).rl6 = function (namespaceURI) {
    if (this.plg_1 == null) {
      return protoOf(SimpleNamespaceContext).rl6.call(this, namespaceURI);
    }
    var prefixes = HashSet_init_$Create$();
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    var it = protoOf(SimpleNamespaceContext).rl6.call(this, namespaceURI);
    while (it.f()) {
      prefixes.i1(it.e());
    }
    var it_0 = this.plg_1.rl6(namespaceURI);
    while (it_0.f()) {
      var prefix = it_0.e();
      var localNamespaceUri = getLocalNamespaceUri(this, prefix);
      if (localNamespaceUri == null) {
        prefixes.i1(prefix);
      }
    }
    return prefixes.w();
  };
  function FragmentNamespaceContext() {
  }
  function extendNamespace($this) {
    var namespaceDecls = $this.fx().el7();
    var nscount = namespaceDecls.u();
    var tmp = 0;
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_0 = fillArrayVal(Array(nscount), null);
    while (tmp < nscount) {
      var tmp_1 = tmp;
      tmp_0[tmp_1] = namespaceDecls.v(tmp_1).ul6();
      tmp = tmp + 1 | 0;
    }
    var prefixes = tmp_0;
    var tmp_2 = 0;
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_3 = fillArrayVal(Array(nscount), null);
    while (tmp_2 < nscount) {
      var tmp_4 = tmp_2;
      tmp_3[tmp_4] = namespaceDecls.v(tmp_4).sl6();
      tmp_2 = tmp_2 + 1 | 0;
    }
    var namespaces = tmp_3;
    $this.rlg_1 = FragmentNamespaceContext_init_$Create$($this.rlg_1, prefixes, namespaces);
  }
  function Companion_7() {
    this.klg_1 = 'SDFKLJDSF';
    this.llg_1 = 'http://wrapperns';
  }
  protoOf(Companion_7).mlg = function (fragment) {
    return new XMLFragmentStreamReader(fragment.alg(), fragment.zlf());
  };
  var Companion_instance_8;
  function Companion_getInstance_7() {
    return Companion_instance_8;
  }
  function XMLFragmentStreamReader(text, wrapperNamespaceContext) {
    XmlDelegatingReader.call(this, getDelegate(Companion_instance_8, text, wrapperNamespaceContext));
    var tmp = this;
    // Inline function 'kotlin.emptyArray' call
    var tmp_0 = [];
    // Inline function 'kotlin.emptyArray' call
    var tmp$ret$1 = [];
    tmp.rlg_1 = FragmentNamespaceContext_init_$Create$(null, tmp_0, tmp$ret$1);
    if (this.fx().bl7() === EventType_START_ELEMENT_getInstance()) {
      extendNamespace(this);
    }
  }
  protoOf(XMLFragmentStreamReader).e = function () {
    var result = this.fx().e();
    switch (result.za_1) {
      case 7:
        return result;
      case 0:
      case 11:
      case 6:
        return this.e();
      case 1:
        if ('http://wrapperns' === this.fx().sl6())
          return this.e();
        extendNamespace(this);
        break;
      case 2:
        if ('http://wrapperns' === this.fx().sl6()) {
          return this.fx().e();
        }

        var tmp = this;
        var tmp1_elvis_lhs = this.rlg_1.plg_1;
        tmp.rlg_1 = tmp1_elvis_lhs == null ? this.rlg_1 : tmp1_elvis_lhs;
        break;
      default:
        break;
    }
    return result;
  };
  protoOf(XMLFragmentStreamReader).dl7 = function () {
    return this.rlg_1;
  };
  function createDocument(rootElementName) {
    var tmp = document.implementation;
    var tmp0_elvis_lhs = rootElementName.rla();
    var tmp_0 = tmp.createDocument(tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs, toCName(rootElementName));
    return !(tmp_0 == null) ? tmp_0 : THROW_CCE();
  }
  //region block: post-declaration
  protoOf(DomReader$namespaceContext$1).ql6 = plus_0;
  protoOf(DomReader$namespaceContext$1).rl6 = getPrefixes;
  protoOf(DomReader).dc = get_name;
  protoOf(DomReader).ll7 = require_0;
  protoOf(DomWriter$namespaceContext$1).rl6 = getPrefixes;
  protoOf(PlatformXmlWriterBase).al9 = namespaceAttr;
  protoOf(PlatformXmlWriterBase).jl8 = processingInstruction;
  protoOf(PlatformXmlWriterBase).tl8 = startDocument$default;
  protoOf(SimpleNamespaceContext).rl6 = getPrefixes;
  protoOf(XmlBufferedReaderBase).dc = get_name;
  protoOf(XmlBufferedReaderBase).ll7 = require_0;
  protoOf(XmlBufferedReaderBase).mlc = require_1;
  protoOf(XmlBufferedReaderBase).nlc = getAttributeName;
  protoOf(XmlBufferedReaderBase).llc = getAttributeValue;
  protoOf(XmlBufferedReaderBase).olc = isWhitespace;
  protoOf(NamespaceHolder$namespaceContext$1).ql6 = plus_0;
  protoOf(NamespaceHolder$namespaceContext$1).rl6 = getPrefixes;
  protoOf(WriterXmlWriter).tl8 = startDocument$default;
  //endregion
  //region block: init
  Companion_instance_0 = new Companion();
  XMLConstants_instance = new XMLConstants();
  Companion_instance_3 = new Companion_2();
  Companion_instance_4 = new Companion_3();
  Companion_instance_5 = new Companion_4();
  Companion_instance_6 = new Companion_5();
  NodeConsts_instance = new NodeConsts();
  XmlStreaming_instance = new XmlStreaming();
  Companion_instance_8 = new Companion_7();
  //endregion
  //region block: exports
  _.$_$ = _.$_$ || {};
  _.$_$.a = XmlVersion_XML11_getInstance;
  _.$_$.b = EventType_CDSECT_getInstance;
  _.$_$.c = EventType_END_DOCUMENT_getInstance;
  _.$_$.d = EventType_END_ELEMENT_getInstance;
  _.$_$.e = EventType_IGNORABLE_WHITESPACE_getInstance;
  _.$_$.f = EventType_START_ELEMENT_getInstance;
  _.$_$.g = EventType_TEXT_getInstance;
  _.$_$.h = XmlDeclMode_None_getInstance;
  _.$_$.i = startDocument$default;
  _.$_$.j = CompactFragment_init_$Create$_0;
  _.$_$.k = CompactFragment_init_$Create$_1;
  _.$_$.l = CompactFragment_init_$Create$;
  _.$_$.m = QName_init_$Create$_0;
  _.$_$.n = QName_init_$Create$;
  _.$_$.o = XmlException_init_$Create$_0;
  _.$_$.p = NodeConsts_instance;
  _.$_$.q = Companion_getInstance_0;
  _.$_$.r = QNameSerializer_getInstance;
  _.$_$.s = XMLConstants_instance;
  _.$_$.t = XmlStreaming_instance;
  _.$_$.u = StringWriter;
  _.$_$.v = assert_0;
  _.$_$.w = assert;
  _.$_$.x = get_name_0;
  _.$_$.y = iterator;
  _.$_$.z = iterator_0;
  _.$_$.a1 = createDocument;
  _.$_$.b1 = CompactFragment;
  _.$_$.c1 = ICompactFragment;
  _.$_$.d1 = DomWriter;
  _.$_$.e1 = getPrefixes;
  _.$_$.f1 = NamespaceContextImpl;
  _.$_$.g1 = QName;
  _.$_$.h1 = XmlBufferedReader;
  _.$_$.i1 = EndElementEvent;
  _.$_$.j1 = NamespaceImpl;
  _.$_$.k1 = namespaceAttr;
  _.$_$.l1 = processingInstruction;
  _.$_$.m1 = XmlWriter;
  _.$_$.n1 = allConsecutiveTextContent;
  _.$_$.o1 = allText;
  _.$_$.p1 = elementContentToFragment;
  _.$_$.q1 = elementToFragment;
  _.$_$.r1 = endTag;
  _.$_$.s1 = isEquivalent;
  _.$_$.t1 = readSimpleElement;
  _.$_$.u1 = siblingsToFragment;
  _.$_$.v1 = skipPreamble;
  _.$_$.w1 = smartStartTag_0;
  _.$_$.x1 = smartStartTag;
  _.$_$.y1 = toCName;
  _.$_$.z1 = toNamespace;
  _.$_$.a2 = toQname;
  _.$_$.b2 = writeAttribute;
  _.$_$.c2 = writeElement;
  _.$_$.d2 = xmlCollapseWhitespace;
  //endregion
  return _;
}(module.exports, require('./kotlin-kotlin-stdlib.js'), require('./kotlinx-serialization-kotlinx-serialization-core.js')));

//# sourceMappingURL=xmlutil-core.js.map
